@graview/primitives 0.1.28 → 0.1.30
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/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +44 -14
- package/dist/app-bar.js.map +1 -1
- package/dist/app-link-door.d.ts +3 -0
- package/dist/app-link-door.d.ts.map +1 -0
- package/dist/app-link-door.js +11 -0
- package/dist/app-link-door.js.map +1 -0
- package/dist/app-link.d.ts +20 -0
- package/dist/app-link.d.ts.map +1 -0
- package/dist/app-link.js +134 -0
- package/dist/app-link.js.map +1 -0
- package/dist/app-title.d.ts +1 -1
- package/dist/app-title.d.ts.map +1 -1
- package/dist/app-title.js +7 -3
- package/dist/app-title.js.map +1 -1
- package/dist/arrange-bar.d.ts +57 -4
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +96 -13
- package/dist/arrange-bar.js.map +1 -1
- package/dist/arrange-lists.d.ts +62 -1
- package/dist/arrange-lists.d.ts.map +1 -1
- package/dist/arrange-lists.js +180 -23
- package/dist/arrange-lists.js.map +1 -1
- package/dist/arrangement.d.ts.map +1 -1
- package/dist/arrangement.js +3 -1
- package/dist/arrangement.js.map +1 -1
- package/dist/bar-panes.d.ts +2 -1
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +2 -1
- package/dist/bar-panes.js.map +1 -1
- package/dist/bar-suggested.d.ts +2 -0
- package/dist/bar-suggested.d.ts.map +1 -0
- package/dist/bar-suggested.js +22 -0
- package/dist/bar-suggested.js.map +1 -0
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +3 -1
- package/dist/chat.js.map +1 -1
- package/dist/choosing.d.ts +36 -0
- package/dist/choosing.d.ts.map +1 -0
- package/dist/choosing.js +224 -0
- package/dist/choosing.js.map +1 -0
- package/dist/connections.d.ts +1 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +41 -5
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +8 -1
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/declared-lenses.d.ts +3 -2
- package/dist/declared-lenses.d.ts.map +1 -1
- package/dist/declared-lenses.js +5 -4
- package/dist/declared-lenses.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +107 -28
- package/dist/default-views.js.map +1 -1
- package/dist/draft-frame.d.ts +1 -0
- package/dist/draft-frame.d.ts.map +1 -1
- package/dist/draft-frame.js +1 -0
- package/dist/draft-frame.js.map +1 -1
- package/dist/editable.d.ts +27 -2
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +77 -39
- package/dist/editable.js.map +1 -1
- package/dist/files.d.ts +1 -0
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +30 -5
- package/dist/files.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +115 -10
- package/dist/find.js.map +1 -1
- package/dist/first-look-door.d.ts +71 -0
- package/dist/first-look-door.d.ts.map +1 -0
- package/dist/first-look-door.js +95 -0
- package/dist/first-look-door.js.map +1 -0
- package/dist/first-look.d.ts +12 -0
- package/dist/first-look.d.ts.map +1 -0
- package/dist/first-look.js +262 -0
- package/dist/first-look.js.map +1 -0
- package/dist/frame.d.ts +3 -2
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +21 -2
- package/dist/frame.js.map +1 -1
- package/dist/framework-views.d.ts +1 -0
- package/dist/framework-views.d.ts.map +1 -1
- package/dist/framework-views.js +1 -0
- package/dist/framework-views.js.map +1 -1
- package/dist/here.d.ts +24 -1
- package/dist/here.d.ts.map +1 -1
- package/dist/here.js +36 -1
- package/dist/here.js.map +1 -1
- package/dist/home-view.d.ts +1 -0
- package/dist/home-view.d.ts.map +1 -1
- package/dist/home-view.js +1 -0
- package/dist/home-view.js.map +1 -1
- package/dist/index.d.ts +20 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +17 -4
- package/dist/index.js.map +1 -1
- package/dist/installation.js +1 -1
- package/dist/installation.js.map +1 -1
- package/dist/kind-shape.d.ts +130 -0
- package/dist/kind-shape.d.ts.map +1 -0
- package/dist/kind-shape.js +299 -0
- package/dist/kind-shape.js.map +1 -0
- package/dist/kind-stop.d.ts +18 -0
- package/dist/kind-stop.d.ts.map +1 -0
- package/dist/kind-stop.js +378 -0
- package/dist/kind-stop.js.map +1 -0
- package/dist/lens/arranging.d.ts.map +1 -1
- package/dist/lens/arranging.js +22 -5
- package/dist/lens/arranging.js.map +1 -1
- package/dist/lens/calendar-dates.d.ts +4 -3
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +12 -5
- package/dist/lens/calendar-dates.js.map +1 -1
- package/dist/lens/calendar-drawing.d.ts.map +1 -1
- package/dist/lens/calendar-drawing.js +14 -10
- package/dist/lens/calendar-drawing.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +11 -0
- package/dist/lens/calendar-options.d.ts.map +1 -1
- package/dist/lens/calendar-options.js.map +1 -1
- package/dist/lens/calendar-placing.d.ts +13 -0
- package/dist/lens/calendar-placing.d.ts.map +1 -1
- package/dist/lens/calendar-placing.js +23 -2
- package/dist/lens/calendar-placing.js.map +1 -1
- package/dist/lens/calendar-spans.d.ts +5 -0
- package/dist/lens/calendar-spans.d.ts.map +1 -1
- package/dist/lens/calendar-spans.js +18 -6
- package/dist/lens/calendar-spans.js.map +1 -1
- package/dist/lens/calendar-view.d.ts.map +1 -1
- package/dist/lens/calendar-view.js +24 -6
- package/dist/lens/calendar-view.js.map +1 -1
- package/dist/lens/columns.d.ts +3 -1
- package/dist/lens/columns.d.ts.map +1 -1
- package/dist/lens/columns.js +40 -11
- package/dist/lens/columns.js.map +1 -1
- package/dist/lens/coverage.d.ts +8 -2
- package/dist/lens/coverage.d.ts.map +1 -1
- package/dist/lens/coverage.js +36 -10
- package/dist/lens/coverage.js.map +1 -1
- package/dist/lens/timeline.d.ts +1 -1
- package/dist/lens/timeline.d.ts.map +1 -1
- package/dist/lens/timeline.js +126 -16
- package/dist/lens/timeline.js.map +1 -1
- package/dist/lines-key.d.ts.map +1 -1
- package/dist/lines-key.js +11 -5
- package/dist/lines-key.js.map +1 -1
- package/dist/linked-record-door.d.ts +4 -0
- package/dist/linked-record-door.d.ts.map +1 -0
- package/dist/linked-record-door.js +12 -0
- package/dist/linked-record-door.js.map +1 -0
- package/dist/linked-record.d.ts +34 -0
- package/dist/linked-record.d.ts.map +1 -0
- package/dist/linked-record.js +142 -0
- package/dist/linked-record.js.map +1 -0
- package/dist/map-asks.d.ts +10 -0
- package/dist/map-asks.d.ts.map +1 -0
- package/dist/map-asks.js +17 -0
- package/dist/map-asks.js.map +1 -0
- package/dist/map-key.d.ts +3 -0
- package/dist/map-key.d.ts.map +1 -0
- package/dist/map-key.js +35 -0
- package/dist/map-key.js.map +1 -0
- package/dist/map-panel-door.d.ts +26 -0
- package/dist/map-panel-door.d.ts.map +1 -0
- package/dist/map-panel-door.js +42 -0
- package/dist/map-panel-door.js.map +1 -0
- package/dist/map-panel.d.ts +8 -0
- package/dist/map-panel.d.ts.map +1 -0
- package/dist/map-panel.js +351 -0
- package/dist/map-panel.js.map +1 -0
- package/dist/markdown-body.d.ts +11 -0
- package/dist/markdown-body.d.ts.map +1 -0
- package/dist/markdown-body.js +89 -0
- package/dist/markdown-body.js.map +1 -0
- package/dist/notice-stacks.d.ts +13 -0
- package/dist/notice-stacks.d.ts.map +1 -0
- package/dist/notice-stacks.js +141 -0
- package/dist/notice-stacks.js.map +1 -0
- package/dist/notices.d.ts +2 -0
- package/dist/notices.d.ts.map +1 -1
- package/dist/notices.js +30 -132
- package/dist/notices.js.map +1 -1
- package/dist/pages.d.ts +17 -1
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +17 -1
- package/dist/pages.js.map +1 -1
- package/dist/past-bar.d.ts +13 -0
- package/dist/past-bar.d.ts.map +1 -0
- package/dist/past-bar.js +26 -0
- package/dist/past-bar.js.map +1 -0
- package/dist/places.d.ts +1 -1
- package/dist/places.d.ts.map +1 -1
- package/dist/places.js +10 -5
- package/dist/places.js.map +1 -1
- package/dist/primitives/index.d.ts +19 -1
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +82 -33
- package/dist/primitives/index.js.map +1 -1
- package/dist/problem-count.d.ts +18 -0
- package/dist/problem-count.d.ts.map +1 -0
- package/dist/problem-count.js +46 -0
- package/dist/problem-count.js.map +1 -0
- package/dist/prose-editor.d.ts +4 -1
- package/dist/prose-editor.d.ts.map +1 -1
- package/dist/prose-editor.js +13 -6
- package/dist/prose-editor.js.map +1 -1
- package/dist/relation-key.d.ts +3 -1
- package/dist/relation-key.d.ts.map +1 -1
- package/dist/relation-key.js +23 -6
- package/dist/relation-key.js.map +1 -1
- package/dist/repeat-picker-door.d.ts +10 -0
- package/dist/repeat-picker-door.d.ts.map +1 -0
- package/dist/repeat-picker-door.js +13 -0
- package/dist/repeat-picker-door.js.map +1 -0
- package/dist/repeat-picker.d.ts +29 -0
- package/dist/repeat-picker.d.ts.map +1 -0
- package/dist/repeat-picker.js +64 -0
- package/dist/repeat-picker.js.map +1 -0
- package/dist/resolve-app-context.d.ts +3 -0
- package/dist/resolve-app-context.d.ts.map +1 -0
- package/dist/resolve-app-context.js +10 -0
- package/dist/resolve-app-context.js.map +1 -0
- package/dist/rule-line.d.ts.map +1 -1
- package/dist/rule-line.js +2 -1
- package/dist/rule-line.js.map +1 -1
- package/dist/scene-bar.d.ts.map +1 -1
- package/dist/scene-bar.js +7 -4
- package/dist/scene-bar.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +261 -213
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +6 -0
- package/dist/scene-places.d.ts.map +1 -1
- package/dist/scene-places.js +14 -14
- package/dist/scene-places.js.map +1 -1
- package/dist/scene-way-back-door.d.ts +1 -0
- package/dist/scene-way-back-door.d.ts.map +1 -1
- package/dist/scene-way-back-door.js +10 -0
- package/dist/scene-way-back-door.js.map +1 -1
- package/dist/scene.d.ts +5 -1
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +5 -1
- package/dist/scene.js.map +1 -1
- package/dist/seat-field.d.ts.map +1 -1
- package/dist/seat-field.js +6 -4
- package/dist/seat-field.js.map +1 -1
- package/dist/seat-panel.d.ts +1 -0
- package/dist/seat-panel.d.ts.map +1 -1
- package/dist/seat-panel.js +5 -2
- package/dist/seat-panel.js.map +1 -1
- package/dist/seeding.d.ts.map +1 -1
- package/dist/seeding.js +2 -1
- package/dist/seeding.js.map +1 -1
- package/dist/several-bar.d.ts +23 -0
- package/dist/several-bar.d.ts.map +1 -0
- package/dist/several-bar.js +158 -0
- package/dist/several-bar.js.map +1 -0
- package/dist/several-door.d.ts +7 -0
- package/dist/several-door.d.ts.map +1 -0
- package/dist/several-door.js +20 -0
- package/dist/several-door.js.map +1 -0
- package/dist/shell.d.ts +20 -2
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +19 -12
- package/dist/shell.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +90 -55
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts +14 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +91 -17
- package/dist/spec-views.js.map +1 -1
- package/dist/states-bar.d.ts +15 -0
- package/dist/states-bar.d.ts.map +1 -0
- package/dist/states-bar.js +36 -0
- package/dist/states-bar.js.map +1 -0
- package/dist/suggested.d.ts +13 -0
- package/dist/suggested.d.ts.map +1 -0
- package/dist/suggested.js +82 -0
- package/dist/suggested.js.map +1 -0
- package/dist/text-body.d.ts +7 -3
- package/dist/text-body.d.ts.map +1 -1
- package/dist/text-body.js +10 -2
- package/dist/text-body.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +36 -32
- package/dist/theme.js.map +1 -1
- package/dist/timeline.d.ts +6 -0
- package/dist/timeline.d.ts.map +1 -0
- package/dist/timeline.js +129 -0
- package/dist/timeline.js.map +1 -0
- package/dist/way-back.d.ts.map +1 -1
- package/dist/way-back.js +3 -0
- package/dist/way-back.js.map +1 -1
- package/dist/workbench/activity.d.ts +22 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +126 -26
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/agent-seat.d.ts.map +1 -1
- package/dist/workbench/agent-seat.js +3 -2
- package/dist/workbench/agent-seat.js.map +1 -1
- package/dist/workbench/answer-args.d.ts +3 -1
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +84 -14
- package/dist/workbench/answer-args.js.map +1 -1
- package/dist/workbench/back-out.d.ts.map +1 -1
- package/dist/workbench/back-out.js +19 -6
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/index.d.ts +1 -1
- package/dist/workbench/index.d.ts.map +1 -1
- package/dist/workbench/index.js +1 -1
- package/dist/workbench/index.js.map +1 -1
- package/dist/workbench/inspector-door.d.ts +36 -0
- package/dist/workbench/inspector-door.d.ts.map +1 -0
- package/dist/workbench/inspector-door.js +97 -0
- package/dist/workbench/inspector-door.js.map +1 -0
- package/dist/workbench/inspector.d.ts +9 -27
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +106 -42
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/trail.d.ts.map +1 -1
- package/dist/workbench/trail.js +12 -3
- package/dist/workbench/trail.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { POPOVER_STYLE, useTopLayer } from "@graview/react/provider";
|
|
3
|
+
import { useCallback, useEffect, useId, useLayoutEffect, useMemo, useRef, useState } from "react";
|
|
4
|
+
/**
|
|
5
|
+
* THE FIRST LOOK'S HINTS (`first-look-door.tsx`), fetched as they are
|
|
6
|
+
* first shown: one at a time, beside the control each names — under it, or
|
|
7
|
+
* over it where there is more room above, never on it — in the top layer
|
|
8
|
+
* with the other popovers, the keyboard on its Next.
|
|
9
|
+
*/
|
|
10
|
+
/** Where each named control is drawn: the framework's own test ids, on every face's bar and the seat. */
|
|
11
|
+
const FOUND = {
|
|
12
|
+
faces: '[data-testid="app-faces"]',
|
|
13
|
+
problems: '[data-testid="standing"], [data-testid="standing-link"]',
|
|
14
|
+
activity: '[data-testid="activity-button"]',
|
|
15
|
+
ask: '[data-testid="seat-field"]',
|
|
16
|
+
find: '[data-testid="app-find"], [data-testid="app-find-open"]',
|
|
17
|
+
profile: '[data-testid="profile-button"]',
|
|
18
|
+
home: '[data-testid="app-home"]',
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* WHETHER A CONTROL IS DRAWN: in the page, in nothing hidden, laid out and
|
|
22
|
+
* more than the one clipped pixel a word that gave way to a mark keeps for
|
|
23
|
+
* its name. Where nothing is laid out at all (a test's document), what is
|
|
24
|
+
* in the page is drawn.
|
|
25
|
+
*/
|
|
26
|
+
function drawn(element) {
|
|
27
|
+
if (!element.isConnected || element.closest("[hidden], [inert], [aria-hidden='true']"))
|
|
28
|
+
return false;
|
|
29
|
+
if (typeof element.checkVisibility !== "function")
|
|
30
|
+
return true;
|
|
31
|
+
if (!element.checkVisibility({ visibilityProperty: true }))
|
|
32
|
+
return false;
|
|
33
|
+
const box = element.getBoundingClientRect();
|
|
34
|
+
return box.width > 1 && box.height > 1;
|
|
35
|
+
}
|
|
36
|
+
/** The control a hint points at, as it is drawn now; null when it is not. */
|
|
37
|
+
export function firstLookAnchor(root, anchor) {
|
|
38
|
+
if (!root)
|
|
39
|
+
return null;
|
|
40
|
+
for (const element of root.querySelectorAll(FOUND[anchor]))
|
|
41
|
+
if (drawn(element))
|
|
42
|
+
return element;
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
/** The framework's own hints, in the words of the app they are drawn in. */
|
|
46
|
+
function frameworkSteps(root) {
|
|
47
|
+
const said = (selector, attribute, otherwise) => root.querySelector(selector)?.getAttribute(attribute)?.trim() || otherwise;
|
|
48
|
+
const scene = said('[data-testid="app-face-scene"]', "title", "Scene");
|
|
49
|
+
const pages = said('[data-testid="app-face-pages"]', "title", "Pages");
|
|
50
|
+
return [
|
|
51
|
+
{ anchor: "faces", title: `${scene} or ${pages}`, words: `One app, two ways to see it: ${scene} draws every record as one picture, ${pages} as lists and pages to read and change.` },
|
|
52
|
+
{ anchor: "problems", title: "Whether all is in order", words: "The dot is green while every rule holds. When one is broken it counts what is wrong, and pressing it shows each one and where." },
|
|
53
|
+
{ anchor: "activity", title: "Activity", words: "What has happened here and who did it, each change with its way back." },
|
|
54
|
+
{ anchor: "ask", title: said('[data-testid="seat-field"]', "aria-label", "Ask"), words: "Ask in your own words: where something is, what it means, or to make a change for you." },
|
|
55
|
+
];
|
|
56
|
+
}
|
|
57
|
+
/** How long the page is left to settle before the first hint, and the longest it is waited for. */
|
|
58
|
+
const QUIET_MS = 300;
|
|
59
|
+
const SETTLE_MS = 1200;
|
|
60
|
+
const GIVE_UP_MS = 15000;
|
|
61
|
+
export function FirstLookHints({ root, steps, onEnd }) {
|
|
62
|
+
const [run, setRun] = useState(null);
|
|
63
|
+
const returnTo = useRef(null);
|
|
64
|
+
const ended = useRef(false);
|
|
65
|
+
const told = useRef(onEnd);
|
|
66
|
+
told.current = onEnd;
|
|
67
|
+
/*
|
|
68
|
+
* WAITING FOR THE APP TO DRAW: its bar, then a moment with nothing new
|
|
69
|
+
* arriving — a face is fetched as it is drawn, and the Ask box with it —
|
|
70
|
+
* and then the hints whose controls are drawn, in order.
|
|
71
|
+
*/
|
|
72
|
+
useEffect(() => {
|
|
73
|
+
const begun = Date.now();
|
|
74
|
+
let quiet = Date.now();
|
|
75
|
+
let barSeen = null;
|
|
76
|
+
let timer;
|
|
77
|
+
const watch = new MutationObserver(() => (quiet = Date.now()));
|
|
78
|
+
watch.observe(document.body, { childList: true, subtree: true });
|
|
79
|
+
const look = () => {
|
|
80
|
+
const at = root();
|
|
81
|
+
const now = Date.now();
|
|
82
|
+
if (at?.querySelector('[data-testid="app-bar"]')) {
|
|
83
|
+
barSeen ??= now;
|
|
84
|
+
if (now - quiet >= QUIET_MS || now - barSeen >= SETTLE_MS) {
|
|
85
|
+
const list = [...frameworkSteps(at), ...steps].filter((step) => firstLookAnchor(at, step.anchor) !== null);
|
|
86
|
+
if (list.length === 0) {
|
|
87
|
+
ended.current = true;
|
|
88
|
+
told.current(null);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
returnTo.current = document.activeElement;
|
|
92
|
+
setRun({ list, at: 0 });
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
else if (now - begun >= GIVE_UP_MS) {
|
|
97
|
+
ended.current = true;
|
|
98
|
+
told.current(null);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
timer = setTimeout(look, 100);
|
|
102
|
+
};
|
|
103
|
+
timer = setTimeout(look, 100);
|
|
104
|
+
return () => {
|
|
105
|
+
clearTimeout(timer);
|
|
106
|
+
watch.disconnect();
|
|
107
|
+
};
|
|
108
|
+
// Begun once: the app is waited for as it first draws.
|
|
109
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
110
|
+
}, []);
|
|
111
|
+
/** The keyboard back where it was before the first hint, or on the app's name when it was nowhere. */
|
|
112
|
+
const giveBack = useCallback(() => {
|
|
113
|
+
const was = returnTo.current;
|
|
114
|
+
const back = was instanceof HTMLElement && was !== document.body && was.isConnected ? was : root()?.querySelector('[data-testid="app-home"]');
|
|
115
|
+
back?.focus({ preventScroll: true });
|
|
116
|
+
}, [root]);
|
|
117
|
+
const end = useCallback((how, back) => {
|
|
118
|
+
if (ended.current)
|
|
119
|
+
return;
|
|
120
|
+
ended.current = true;
|
|
121
|
+
const pane = document.querySelector("[data-testid='first-look']");
|
|
122
|
+
const active = document.activeElement;
|
|
123
|
+
const lost = active === null || active === document.body || (pane !== null && pane.contains(active));
|
|
124
|
+
setRun(null);
|
|
125
|
+
told.current(how);
|
|
126
|
+
if (!back && !lost)
|
|
127
|
+
return;
|
|
128
|
+
giveBack();
|
|
129
|
+
// WebKit can hand the keyboard to <body> as a pane leaves the top layer: asked again a frame later.
|
|
130
|
+
requestAnimationFrame(() => {
|
|
131
|
+
const now = document.activeElement;
|
|
132
|
+
if (now === null || now === document.body)
|
|
133
|
+
giveBack();
|
|
134
|
+
});
|
|
135
|
+
}, [giveBack]);
|
|
136
|
+
/** The next hint whose control is drawn, from `from`; -1 for none. */
|
|
137
|
+
const nextDrawn = useCallback((list, from) => {
|
|
138
|
+
const at = root();
|
|
139
|
+
for (let index = from; index < list.length; index++)
|
|
140
|
+
if (firstLookAnchor(at, list[index].anchor))
|
|
141
|
+
return index;
|
|
142
|
+
return -1;
|
|
143
|
+
}, [root]);
|
|
144
|
+
const next = useCallback(() => {
|
|
145
|
+
if (!run)
|
|
146
|
+
return;
|
|
147
|
+
const index = nextDrawn(run.list, run.at + 1);
|
|
148
|
+
if (index < 0)
|
|
149
|
+
end("finished", true);
|
|
150
|
+
else
|
|
151
|
+
setRun({ list: run.list, at: index });
|
|
152
|
+
}, [run, nextDrawn, end]);
|
|
153
|
+
/* A hint whose control went — a face changed under it — gives way to the next one drawn. */
|
|
154
|
+
useEffect(() => {
|
|
155
|
+
if (!run)
|
|
156
|
+
return;
|
|
157
|
+
const at = root();
|
|
158
|
+
if (!at)
|
|
159
|
+
return;
|
|
160
|
+
let frame = 0;
|
|
161
|
+
const check = () => {
|
|
162
|
+
cancelAnimationFrame(frame);
|
|
163
|
+
frame = requestAnimationFrame(() => {
|
|
164
|
+
if (!firstLookAnchor(root(), run.list[run.at].anchor))
|
|
165
|
+
next();
|
|
166
|
+
});
|
|
167
|
+
};
|
|
168
|
+
const watch = new MutationObserver(check);
|
|
169
|
+
watch.observe(at, { childList: true, subtree: true, attributes: true, attributeFilter: ["hidden", "class", "data-switch-drawn"] });
|
|
170
|
+
return () => {
|
|
171
|
+
cancelAnimationFrame(frame);
|
|
172
|
+
watch.disconnect();
|
|
173
|
+
};
|
|
174
|
+
}, [run, root, next]);
|
|
175
|
+
if (!run)
|
|
176
|
+
return null;
|
|
177
|
+
const step = run.list[run.at];
|
|
178
|
+
const last = nextDrawn(run.list, run.at + 1) < 0;
|
|
179
|
+
return (_jsx(Hint, { root: root, step: step, position: run.at + 1, total: run.list.length, last: last, onNext: next, onEnd: end }, run.at));
|
|
180
|
+
}
|
|
181
|
+
const paneStyle = {
|
|
182
|
+
...POPOVER_STYLE,
|
|
183
|
+
width: "min(320px, calc(100vw - 24px))",
|
|
184
|
+
maxHeight: "min(70vh, 420px)",
|
|
185
|
+
overflow: "auto",
|
|
186
|
+
padding: "12px 14px",
|
|
187
|
+
borderRadius: 10,
|
|
188
|
+
border: "1px solid var(--graview-edge)",
|
|
189
|
+
background: "var(--graview-float)",
|
|
190
|
+
boxShadow: "var(--graview-lift-high)",
|
|
191
|
+
color: "var(--graview-ink)",
|
|
192
|
+
fontFamily: "var(--graview-font-body, system-ui)",
|
|
193
|
+
fontSize: "0.875rem",
|
|
194
|
+
lineHeight: 1.45,
|
|
195
|
+
overflowWrap: "anywhere",
|
|
196
|
+
};
|
|
197
|
+
const buttonStyle = {
|
|
198
|
+
minHeight: 32,
|
|
199
|
+
padding: "0 12px",
|
|
200
|
+
borderRadius: 8,
|
|
201
|
+
font: "inherit",
|
|
202
|
+
fontWeight: 600,
|
|
203
|
+
cursor: "pointer",
|
|
204
|
+
};
|
|
205
|
+
/**
|
|
206
|
+
* ONE HINT: a non-modal dialog named by its control, said as the keyboard
|
|
207
|
+
* goes in; Next (Done on the last), Skip, Escape. A press anywhere else
|
|
208
|
+
* ends the look: the person has gone to use the app.
|
|
209
|
+
*/
|
|
210
|
+
function Hint({ root, step, position, total, last, onNext, onEnd, }) {
|
|
211
|
+
const pane = useRef(null);
|
|
212
|
+
const primary = useRef(null);
|
|
213
|
+
const id = useId().replace(/:/g, "");
|
|
214
|
+
// The control as it is drawn whenever the hint is placed: a bar drawn again has a new one.
|
|
215
|
+
const anchor = useMemo(() => ({ get current() { return firstLookAnchor(root(), step.anchor); } }), [root, step.anchor]);
|
|
216
|
+
// Hung from the control's nearer edge, so it stays beside it.
|
|
217
|
+
const [align] = useState(() => {
|
|
218
|
+
const box = anchor.current?.getBoundingClientRect();
|
|
219
|
+
const width = typeof document === "undefined" ? 0 : document.documentElement.clientWidth || innerWidth;
|
|
220
|
+
return box && box.left + box.width / 2 < width / 2 ? "start" : "end";
|
|
221
|
+
});
|
|
222
|
+
useTopLayer(pane, true, anchor, { align });
|
|
223
|
+
useLayoutEffect(() => {
|
|
224
|
+
primary.current?.focus({ preventScroll: true });
|
|
225
|
+
}, []);
|
|
226
|
+
const latest = useRef(onEnd);
|
|
227
|
+
latest.current = onEnd;
|
|
228
|
+
useEffect(() => {
|
|
229
|
+
const away = (event) => {
|
|
230
|
+
if (event.target instanceof Node && pane.current?.contains(event.target))
|
|
231
|
+
return;
|
|
232
|
+
latest.current("dismissed", false);
|
|
233
|
+
};
|
|
234
|
+
// Escape where the keyboard is not in the hint, nor in a field or another open popover, ends it too.
|
|
235
|
+
const key = (event) => {
|
|
236
|
+
if (event.key !== "Escape" || event.defaultPrevented)
|
|
237
|
+
return;
|
|
238
|
+
const target = event.target;
|
|
239
|
+
if (target instanceof Node && pane.current?.contains(target))
|
|
240
|
+
return;
|
|
241
|
+
if (target instanceof HTMLInputElement || target instanceof HTMLTextAreaElement)
|
|
242
|
+
return;
|
|
243
|
+
if ([...document.querySelectorAll("[data-graview-overlay]:not([hidden])")].some((open) => open !== pane.current))
|
|
244
|
+
return;
|
|
245
|
+
latest.current("dismissed", true);
|
|
246
|
+
};
|
|
247
|
+
document.addEventListener("pointerdown", away, true);
|
|
248
|
+
document.addEventListener("keydown", key);
|
|
249
|
+
return () => {
|
|
250
|
+
document.removeEventListener("pointerdown", away, true);
|
|
251
|
+
document.removeEventListener("keydown", key);
|
|
252
|
+
};
|
|
253
|
+
}, []);
|
|
254
|
+
return (_jsxs("div", { ref: pane, popover: "manual", role: "dialog", "aria-modal": "false", "aria-labelledby": `${id}-title`, "aria-describedby": `${id}-words`, tabIndex: -1, "data-testid": "first-look", "data-first-look-anchor": step.anchor, "data-graview-overlay": "", onKeyDown: (event) => {
|
|
255
|
+
if (event.key !== "Escape")
|
|
256
|
+
return;
|
|
257
|
+
event.preventDefault();
|
|
258
|
+
event.stopPropagation();
|
|
259
|
+
onEnd("dismissed", true);
|
|
260
|
+
}, style: paneStyle, children: [_jsxs("p", { style: { margin: 0, fontSize: "0.75rem", color: "var(--graview-ink-muted)" }, "data-testid": "first-look-count", children: [position, " of ", total] }), _jsx("p", { id: `${id}-title`, style: { margin: "2px 0 4px", fontWeight: 600, fontSize: "0.9375rem" }, "data-testid": "first-look-title", children: step.title }), _jsx("p", { id: `${id}-words`, style: { margin: 0 }, "data-testid": "first-look-words", children: step.words }), _jsxs("div", { style: { display: "flex", flexWrap: "wrap", justifyContent: "flex-end", gap: 8, marginTop: 12 }, children: [last ? null : (_jsx("button", { type: "button", "data-testid": "first-look-skip", onClick: () => onEnd("dismissed", true), style: { ...buttonStyle, fontWeight: 500, border: "1px solid transparent", background: "none", color: "var(--graview-ink-muted)" }, children: "Skip" })), _jsx("button", { ref: primary, type: "button", "data-testid": last ? "first-look-done" : "first-look-next", onClick: () => (last ? onEnd("finished", true) : onNext()), style: { ...buttonStyle, border: "1px solid var(--graview-accent)", background: "var(--graview-accent)", color: "var(--graview-accent-ink)" }, children: last ? "Done" : "Next" })] })] }));
|
|
261
|
+
}
|
|
262
|
+
//# sourceMappingURL=first-look.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"first-look.js","sourceRoot":"","sources":["../src/first-look.tsx"],"names":[],"mappings":"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"}
|
package/dist/frame.d.ts
CHANGED
|
@@ -20,13 +20,14 @@ export { AppBar, BarFindContext, barPlaceAt, barPlaces, BAR_HEIGHT, BAR_PHONE, F
|
|
|
20
20
|
export { scenePlacesOf, useScenePlaces, WHOLE_KEY, WHOLE_LABEL, type ScenePlaces } from "./scene-places.js";
|
|
21
21
|
export type { BarFace, BarFaces, BarFind, BarGo, BarPlace, BarPlaceGroup, BarSwitch } from "./app-bar.js";
|
|
22
22
|
export type { HostAction } from "./profile.js";
|
|
23
|
-
export { createNoticeBoard, NoticeBoardContext, Notices, TOAST_MS } from "./notices.js";
|
|
23
|
+
export { createNoticeBoard, fetchNotices, NoticeBoardContext, Notices, TOAST_MS } from "./notices.js";
|
|
24
24
|
export { appKeyOf, readerLenses } from "./reader-lenses.js";
|
|
25
|
-
export { FOOT_MOVED, FOOT_OBSTACLES, NARROW_PICTURE, placeAtTheFoot, placeAtTheTop } from "./notice-place.js";
|
|
26
25
|
export type { HeldNotice, Notice, NoticeAction, NoticeBoard, NoticeHandle, NoticeTone } from "./notices.js";
|
|
27
26
|
export { Standing, StandingDot, standingWords } from "./workbench/standing.js";
|
|
28
27
|
export { descentTarget } from "./workbench/descent.js";
|
|
29
28
|
export { fetchFrameworkViews, frameworkViewDoors, registerFrameworkViews } from "./view-doors.js";
|
|
30
29
|
export { useViewportHeight, useWidth, VISUALLY_HIDDEN } from "./primitives/measure.js";
|
|
31
30
|
export { fetchDeclaredLenses, fetchHomeView, registerDeclaredLenses, registerReaderLenses } from "./declared-lens-doors.js";
|
|
31
|
+
export { FIRST_LOOK_ANCHORS, FirstLookDoor, firstLookKey } from "./first-look-door.js";
|
|
32
|
+
export type { FirstLook, FirstLookAnchor, FirstLookDoorProps, FirstLookEnd, FirstLookOptions, FirstLookStep } from "./first-look-door.js";
|
|
32
33
|
//# sourceMappingURL=frame.d.ts.map
|
package/dist/frame.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;
|
|
1
|
+
{"version":3,"file":"frame.d.ts","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoBH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC/F,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9E,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnM,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC5G,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1G,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,YAAY,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC5G,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAE5H,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACvF,YAAY,EAAE,SAAS,EAAE,eAAe,EAAE,kBAAkB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/frame.js
CHANGED
|
@@ -12,18 +12,37 @@
|
|
|
12
12
|
* Nothing in this module's files may import a barrel: not this package's,
|
|
13
13
|
* and not `@graview/react` (`@graview/react/provider` instead).
|
|
14
14
|
*/
|
|
15
|
+
/*
|
|
16
|
+
* TIED DOORS (the headroom after 0.1.29). A bundler splits what a page loads
|
|
17
|
+
* first by WHICH of its doors (each part fetched with `import()`) reach each
|
|
18
|
+
* file: the frame's files reached by the inspector and the seat's panel went
|
|
19
|
+
* in one chunk, those reached by the inspector alone in another, and a page
|
|
20
|
+
* fetched twenty-three chunks before it drew — each with its own list of
|
|
21
|
+
* names in and out, each compressed alone. A door is fetched by a page that
|
|
22
|
+
* has already drawn its frame, so each door imports the barrel the page drew
|
|
23
|
+
* first — this one, `@graview/react/provider` or `@graview/core` — for
|
|
24
|
+
* nothing but that: the files every door reaches are then one set, and a
|
|
25
|
+
* hosted page loads thirteen chunks before it draws, about 4 KB gzipped
|
|
26
|
+
* less. The import costs a door nothing at run time (what it names is
|
|
27
|
+
* already there). Only a barrel every page that fetches the door has drawn
|
|
28
|
+
* first: the embed's faces and a guest's host are fetched by pages that
|
|
29
|
+
* never load `@graview/embed`'s or `@graview/guest/host`'s whole barrel, and
|
|
30
|
+
* a door tied to one of those carried it in.
|
|
31
|
+
* `a-hosted-page-keeps-to-its-budget` counts the chunks.
|
|
32
|
+
*/
|
|
15
33
|
/* The sheet without the scene's own rules: the scene face draws those (`sceneCss`, from `./scene`) — FR-104. */
|
|
16
34
|
export { DARK, GRAVIEW_BRAND, LIGHT, SCHEMES, themeBaseCss, themeVariables } from "./theme.js";
|
|
17
35
|
export { Profile } from "./profile.js";
|
|
18
36
|
export { AppMark, AppTitle, useFavicon } from "./app-title.js";
|
|
19
37
|
export { AppBar, BarFindContext, barPlaceAt, barPlaces, BAR_HEIGHT, BAR_PHONE, FEWEST_STANDING, HOME_KEY, HOME_PATH, PLACE_GAP, placesThatStand, TOOL, toolStyle, useBarFind } from "./app-bar.js";
|
|
20
38
|
export { scenePlacesOf, useScenePlaces, WHOLE_KEY, WHOLE_LABEL } from "./scene-places.js";
|
|
21
|
-
export { createNoticeBoard, NoticeBoardContext, Notices, TOAST_MS } from "./notices.js";
|
|
39
|
+
export { createNoticeBoard, fetchNotices, NoticeBoardContext, Notices, TOAST_MS } from "./notices.js";
|
|
22
40
|
export { appKeyOf, readerLenses } from "./reader-lenses.js";
|
|
23
|
-
export { FOOT_MOVED, FOOT_OBSTACLES, NARROW_PICTURE, placeAtTheFoot, placeAtTheTop } from "./notice-place.js";
|
|
24
41
|
export { Standing, StandingDot, standingWords } from "./workbench/standing.js";
|
|
25
42
|
export { descentTarget } from "./workbench/descent.js";
|
|
26
43
|
export { fetchFrameworkViews, frameworkViewDoors, registerFrameworkViews } from "./view-doors.js";
|
|
27
44
|
export { useViewportHeight, useWidth, VISUALLY_HIDDEN } from "./primitives/measure.js";
|
|
28
45
|
export { fetchDeclaredLenses, fetchHomeView, registerDeclaredLenses, registerReaderLenses } from "./declared-lens-doors.js";
|
|
46
|
+
// A first look that points at the app's own controls, once (its hints fetched as they are first shown).
|
|
47
|
+
export { FIRST_LOOK_ANCHORS, FirstLookDoor, firstLookKey } from "./first-look-door.js";
|
|
29
48
|
//# sourceMappingURL=frame.js.map
|
package/dist/frame.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,gHAAgH;AAChH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnM,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAG5G,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"frame.js","sourceRoot":"","sources":["../src/frame.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH;;;;;;;;;;;;;;;;;GAiBG;AACH,gHAAgH;AAChH,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE/F,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AACnM,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,SAAS,EAAE,WAAW,EAAoB,MAAM,mBAAmB,CAAC;AAG5G,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,kBAAkB,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACtG,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE5D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,aAAa,EAAE,sBAAsB,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAC5H,wGAAwG;AACxG,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { AnySchema } from "@graview/core";
|
|
2
2
|
import type { ViewSpecsByKind } from "@graview/core/document";
|
|
3
3
|
import { type ReactViewRegistry } from "@graview/react/provider";
|
|
4
|
+
import "./frame.js";
|
|
4
5
|
export declare function frameworkViews<S extends AnySchema>(schema: S, specs: ViewSpecsByKind | undefined): ReactViewRegistry<S>;
|
|
5
6
|
//# sourceMappingURL=framework-views.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-views.d.ts","sourceRoot":"","sources":["../src/framework-views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"framework-views.d.ts","sourceRoot":"","sources":["../src/framework-views.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAe,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG9E,OAAO,YAAY,CAAC;AAUpB,wBAAgB,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,eAAe,GAAG,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAMvH"}
|
package/dist/framework-views.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { createViews } from "@graview/react/provider";
|
|
2
2
|
import { registerDefaultViews } from "./default-views.js";
|
|
3
3
|
import { registerViewSpecs } from "./spec-views.js";
|
|
4
|
+
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
4
5
|
/*
|
|
5
6
|
* THE FRAMEWORK'S OWN VIEWS FOR A SCHEMA: its default view for every cell,
|
|
6
7
|
* and the declaration's view specs over them (FR-03), made once per schema
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"framework-views.js","sourceRoot":"","sources":["../src/framework-views.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA0B,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"framework-views.js","sourceRoot":"","sources":["../src/framework-views.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAA0B,MAAM,yBAAyB,CAAC;AAC9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,YAAY,CAAC,CAAC,2FAA2F;AAEhH;;;;;GAKG;AACH,MAAM,IAAI,GAAG,IAAI,OAAO,EAA0E,CAAC;AAEnG,MAAM,UAAU,cAAc,CAAsB,MAAS,EAAE,KAAkC;IAC/F,IAAI,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO;QAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;IACtD,IAAI,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,GAAG,iBAAiB,CAAC,oBAAoB,CAAC,MAAmB,EAAE,WAAW,CAAC,MAAmB,CAAC,CAAC,EAAE,MAAmB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACnK,OAAO,IAAuC,CAAC;AACjD,CAAC"}
|
package/dist/here.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnySchema, type Presence, type Principal, type Store } from "@graview/core";
|
|
1
|
+
import { type AnySchema, type Operation, type Person, type Presence, type Principal, type Store } from "@graview/core";
|
|
2
2
|
/**
|
|
3
3
|
* The others, as the bar says them: everybody here but this reader, in any
|
|
4
4
|
* tab of theirs, each person once however many tabs they have open — the
|
|
@@ -27,6 +27,29 @@ export declare function whereSaid(stop: string, input: {
|
|
|
27
27
|
readonly title: string;
|
|
28
28
|
}[];
|
|
29
29
|
}): string | null;
|
|
30
|
+
/**
|
|
31
|
+
* WHAT SOMEBODY ELSE JUST CHANGED, IN A SENTENCE: "Ben Okafor: Changed the
|
|
32
|
+
* stage of Billing across apps to Shipped". Their ops, never this
|
|
33
|
+
* reader's own or an agent's acting for them (the seat says its own), and
|
|
34
|
+
* never one withheld from this seat; one sentence for the ops that landed
|
|
35
|
+
* together. Null when nothing in them is somebody else's.
|
|
36
|
+
*/
|
|
37
|
+
export declare function changeSaid(ops: readonly Operation[], input: {
|
|
38
|
+
readonly store: Store<AnySchema>;
|
|
39
|
+
readonly principal: Principal;
|
|
40
|
+
readonly seats?: readonly {
|
|
41
|
+
readonly label: string;
|
|
42
|
+
readonly principal: Principal;
|
|
43
|
+
}[];
|
|
44
|
+
readonly people?: readonly Person[];
|
|
45
|
+
}): string | null;
|
|
46
|
+
/**
|
|
47
|
+
* SAID ALOUD AS IT LANDS, into the bar's polite region (`TheirChanges` in
|
|
48
|
+
* app-bar.tsx), which is there whether or not anybody is shown here (Roadmap
|
|
49
|
+
* f-changes-heard-without-presence): once for the ops that landed together,
|
|
50
|
+
* emptied a beat before so the same words said twice are heard twice.
|
|
51
|
+
*/
|
|
52
|
+
export declare function sayTheirChange(ops: readonly Operation[], input: Parameters<typeof changeSaid>[1], say: (words: string) => void): void;
|
|
30
53
|
/**
|
|
31
54
|
* THE OTHERS, ON THE BAR (FR-155): their marks — three, two on a phone's
|
|
32
55
|
* bar — the rest counted, and the list a press opens. On the scene
|
package/dist/here.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"here.d.ts","sourceRoot":"","sources":["../src/here.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"here.d.ts","sourceRoot":"","sources":["../src/here.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,MAAM,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAsCvK;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,SAAS,QAAQ,EAAE,CAYxG;AAWD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,CAK5D;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAgB7Q;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,SAAS,SAAS,EAAE,EACzB,KAAK,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;KAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GACrM,MAAM,GAAG,IAAI,CAaf;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,SAAS,SAAS,EAAE,EAAE,KAAK,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,IAAI,CAKrI;AAED;;;;;GAKG;AACH,wBAAgB,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,sCAkF9F"}
|
package/dist/here.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { labelOf, pluralLabel } from "@graview/core";
|
|
2
|
+
import { isWithheld, labelOf, nameOfAuthor, pluralLabel } from "@graview/core";
|
|
3
3
|
import { fromUrl, kindsOfAggregate } from "@graview/layout/view";
|
|
4
4
|
import { POPOVER_STYLE, useGraview, usePopover } from "@graview/react/provider";
|
|
5
5
|
import { useEffect, useState } from "react";
|
|
@@ -97,6 +97,41 @@ export function whereSaid(stop, input) {
|
|
|
97
97
|
const node = store.graph.getNode(view.focusId);
|
|
98
98
|
return node && may(node.kind) ? labelOf(store.schema.tryDefinition(node.kind), node) : null;
|
|
99
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* WHAT SOMEBODY ELSE JUST CHANGED, IN A SENTENCE: "Ben Okafor: Changed the
|
|
102
|
+
* stage of Billing across apps to Shipped". Their ops, never this
|
|
103
|
+
* reader's own or an agent's acting for them (the seat says its own), and
|
|
104
|
+
* never one withheld from this seat; one sentence for the ops that landed
|
|
105
|
+
* together. Null when nothing in them is somebody else's.
|
|
106
|
+
*/
|
|
107
|
+
export function changeSaid(ops, input) {
|
|
108
|
+
const mine = (author) => author.id !== undefined && (author.id === input.principal.id || author.onBehalfOf?.id === input.principal.id);
|
|
109
|
+
const theirs = ops.filter((op) => !isWithheld(op) && op.author.kind !== "system" && !mine(op.author));
|
|
110
|
+
const first = theirs[0];
|
|
111
|
+
if (!first)
|
|
112
|
+
return null;
|
|
113
|
+
const by = nameOfAuthor(first.author, {
|
|
114
|
+
graph: input.store.graph,
|
|
115
|
+
schema: input.store.schema,
|
|
116
|
+
...(input.seats ? { seats: input.seats } : {}),
|
|
117
|
+
...(input.people ? { people: input.people } : {}),
|
|
118
|
+
});
|
|
119
|
+
const what = [...new Set(theirs.map((op) => op.intent))].join("; ");
|
|
120
|
+
return `${by}: ${what}`;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* SAID ALOUD AS IT LANDS, into the bar's polite region (`TheirChanges` in
|
|
124
|
+
* app-bar.tsx), which is there whether or not anybody is shown here (Roadmap
|
|
125
|
+
* f-changes-heard-without-presence): once for the ops that landed together,
|
|
126
|
+
* emptied a beat before so the same words said twice are heard twice.
|
|
127
|
+
*/
|
|
128
|
+
export function sayTheirChange(ops, input, say) {
|
|
129
|
+
const sentence = changeSaid(ops, input);
|
|
130
|
+
if (!sentence)
|
|
131
|
+
return;
|
|
132
|
+
say("");
|
|
133
|
+
setTimeout(() => say(sentence), 50);
|
|
134
|
+
}
|
|
100
135
|
/**
|
|
101
136
|
* THE OTHERS, ON THE BAR (FR-155): their marks — three, two on a phone's
|
|
102
137
|
* bar — the rest counted, and the list a press opens. On the scene
|
package/dist/here.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"here.js","sourceRoot":"","sources":["../src/here.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"here.js","sourceRoot":"","sources":["../src/here.tsx"],"names":[],"mappings":"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"}
|
package/dist/home-view.d.ts
CHANGED
package/dist/home-view.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-view.d.ts","sourceRoot":"","sources":["../src/home-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"home-view.d.ts","sourceRoot":"","sources":["../src/home-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAa,MAAM,yBAAyB,CAAC;AAExE,OAAO,YAAY,CAAC;AAUpB,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,OAAO,EAAE,GAAG,aAAa,CAAC,SAAS,CAAC,CAS7E"}
|
package/dist/home-view.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { compileBlocks, SpecPlace } from "./spec-views.js";
|
|
3
|
+
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
3
4
|
/**
|
|
4
5
|
* THE HOME'S OWN VIEW (FR-81): the declaration's home blocks, about no one
|
|
5
6
|
* record. On the routed face it is the page, so its first headline is the
|
package/dist/home-view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"home-view.js","sourceRoot":"","sources":["../src/home-view.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"home-view.js","sourceRoot":"","sources":["../src/home-view.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,YAAY,CAAC,CAAC,2FAA2F;AAEhH;;;;;GAKG;AACH,MAAM,IAAI,GAAG,IAAI,OAAO,EAAgD,CAAC;AAEzE,MAAM,UAAU,QAAQ,CAAC,MAA0B;IACjD,IAAI,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,QAAQ,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,IAAI,GAAG,CAAC,KAA2B,EAAE,EAAE,CACrC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAI,CAAC,CAAC,CAAC,KAAC,SAAS,IAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAC,MAAM,EAAC,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,GAAI,CAAC;QACpL,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,18 +1,28 @@
|
|
|
1
1
|
export { BOARD_REQUIRED_ROLES, BoardBindingError, BoardView, buildBoard, createBoardLens, } from "./lens/board.js";
|
|
2
2
|
export type { BoardLens, BoardOptions, BoardSlot, BoardState, BoardViewProps } from "./lens/board.js";
|
|
3
|
-
export { ActivityRail, StartFresh, AgentSeat, AnswerArgs, BackOut, Inspector, nameOf, OverviewButton, descentTarget, Standing, Trail, UndoTurn, useRecentChanges, } from "./workbench/index.js";
|
|
3
|
+
export { ActivityRail, StartFresh, AgentSeat, AnswerArgs, BackOut, fetchInspector, Inspector, nameOf, OverviewButton, descentTarget, Standing, Trail, UndoTurn, useRecentChanges, } from "./workbench/index.js";
|
|
4
4
|
export type { AgentSeatProps, Change } from "./workbench/index.js";
|
|
5
5
|
export { buildCoverage, capCoverage, CoverageBindingError, COVERAGE_MAX_COLUMNS, COVERAGE_MAX_ROWS, COVERAGE_REQUIRED_ROLES, CoverageView, createCoverageLens, } from "./lens/coverage.js";
|
|
6
6
|
export type { CappedCoverage, CoverageCell, CoverageGrid, CoverageLens, CoverageOptions, CoverageRoles, CoverageViewProps, } from "./lens/coverage.js";
|
|
7
|
-
export { ARRANGE_NARROW, ArrangeBar, arrangementCaption, arrangementOf, directionWords, preloadArrangeLists, sayCondition, withArrangement } from "./arrange-bar.js";
|
|
7
|
+
export { ARRANGE_NARROW, ArrangeBar, arrangementCaption, arrangementOf, CHIP_FIELDS, chipOffers, directionWords, farCount, farCounts, MANY_AT_THE_FAR_END, offeredFilters, preloadArrangeLists, sayCondition, TYPED_FROM, withArrangement } from "./arrange-bar.js";
|
|
8
8
|
export { useArranging } from "./lens/arranging.js";
|
|
9
9
|
export type { Arranging, ArrangingOptions } from "./lens/arranging.js";
|
|
10
10
|
export type { ArrangeBarProps } from "./arrange-bar.js";
|
|
11
11
|
export { Connections } from "./connections.js";
|
|
12
12
|
export type { ConnectionsProps } from "./connections.js";
|
|
13
|
-
export { EditableTitle, EditableValue, Fields, humanize, LongValue } from "./editable.js";
|
|
13
|
+
export { EditableTitle, EditableValue, FieldLink, Fields, humanize, LongValue } from "./editable.js";
|
|
14
14
|
export { Files } from "./files-door.js";
|
|
15
15
|
export type { FilesProps } from "./files-door.js";
|
|
16
|
+
export { CHOOSING_CSS, LONG_PRESS_MS, useChoosing } from "./choosing.js";
|
|
17
|
+
export type { Choosing } from "./choosing.js";
|
|
18
|
+
export { prefetchSeveral, SeveralBarDoor } from "./several-door.js";
|
|
19
|
+
export type { SeveralBarProps } from "./several-door.js";
|
|
20
|
+
export { AppLink } from "./app-link-door.js";
|
|
21
|
+
export type { AppLinkProps } from "./app-link-door.js";
|
|
22
|
+
export { LinkedPicker, LinkedRecordView } from "./linked-record-door.js";
|
|
23
|
+
export type { LinkedPickerProps, LinkedRecordViewProps } from "./linked-record-door.js";
|
|
24
|
+
export { RepeatEditor, RepeatPicker } from "./repeat-picker-door.js";
|
|
25
|
+
export type { RepeatPickerProps } from "./repeat-picker-door.js";
|
|
16
26
|
export { hasShape, TextBody, textBlocks, type TextBlock } from "./text-body.js";
|
|
17
27
|
export { SEAT_PHONE_BELOW, SEAT_WIDTH, SeatField } from "./seat-field.js";
|
|
18
28
|
export { DraftDoor } from "./draft-door.js";
|
|
@@ -22,6 +32,8 @@ export { registerLensPlaces, registerReaderLenses } from "./declared-lens-doors.
|
|
|
22
32
|
export { NoticeBoardContext } from "./notices.js";
|
|
23
33
|
export type { SeatFieldProps, SeatStart } from "./seat-field.js";
|
|
24
34
|
export { LinesKey } from "./lines-key.js";
|
|
35
|
+
export { MapPanel, mapPanelShows } from "./map-panel-door.js";
|
|
36
|
+
export type { MapPanelShowing } from "./map-panel-door.js";
|
|
25
37
|
export { useSubject } from "./subject.js";
|
|
26
38
|
export type { Subject } from "./subject.js";
|
|
27
39
|
export { RelationKey, RelationMark, relationWords } from "./relation-key.js";
|
|
@@ -48,7 +60,7 @@ export { ShowInstallation } from "./installation.js";
|
|
|
48
60
|
export { Seats } from "./seats.js";
|
|
49
61
|
export { Profile } from "./profile.js";
|
|
50
62
|
export type { HostAction } from "./profile.js";
|
|
51
|
-
export { createNoticeBoard, Notices, TOAST_MS } from "./notices.js";
|
|
63
|
+
export { createNoticeBoard, fetchNotices, Notices, TOAST_MS } from "./notices.js";
|
|
52
64
|
export { FOOT_MOVED, FOOT_OBSTACLES, NARROW_PICTURE, placeAtTheFoot, placeAtTheTop } from "./notice-place.js";
|
|
53
65
|
export type { HeldNotice, Notice, NoticeAction, NoticeBoard, NoticeHandle, NoticeTone } from "./notices.js";
|
|
54
66
|
export { buildReach, ReachView, reachLens } from "./lens/reach.js";
|
|
@@ -84,4 +96,8 @@ export { withNaturalTime } from "./lens/natural-time.js";
|
|
|
84
96
|
export { fetchFrameworkViews, frameworkViewDoors, registerFrameworkViews } from "./view-doors.js";
|
|
85
97
|
export { fetchDeclaredLenses, fetchHomeView, registerDeclaredLenses } from "./declared-lens-doors.js";
|
|
86
98
|
export { declaredViews } from "./declared-views.js";
|
|
99
|
+
export { PastBar, prefetchTimeline } from "./past-bar.js";
|
|
100
|
+
export type { TimelineFace } from "./past-bar.js";
|
|
101
|
+
export { FIRST_LOOK_ANCHORS, FirstLookDoor, firstLookKey } from "./first-look-door.js";
|
|
102
|
+
export type { FirstLook, FirstLookAnchor, FirstLookDoorProps, FirstLookEnd, FirstLookOptions, FirstLookStep } from "./first-look-door.js";
|
|
87
103
|
//# sourceMappingURL=index.d.ts.map
|