@graview/primitives 0.1.29 → 0.1.32
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 +2 -0
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +46 -9
- package/dist/app-bar.js.map +1 -1
- package/dist/app-link.d.ts.map +1 -1
- package/dist/app-link.js +5 -2
- package/dist/app-link.js.map +1 -1
- 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 +10 -0
- package/dist/arrange-bar.d.ts.map +1 -1
- package/dist/arrange-bar.js +25 -4
- package/dist/arrange-bar.js.map +1 -1
- package/dist/arrange-lists.d.ts +4 -0
- package/dist/arrange-lists.d.ts.map +1 -1
- package/dist/arrange-lists.js +30 -2
- package/dist/arrange-lists.js.map +1 -1
- package/dist/bar-panes.d.ts +1 -1
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +1 -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 +8 -6
- package/dist/chat.d.ts.map +1 -1
- package/dist/chat.js +6 -3
- package/dist/chat.js.map +1 -1
- package/dist/connections.d.ts +1 -1
- package/dist/connections.d.ts.map +1 -1
- package/dist/connections.js +39 -4
- package/dist/connections.js.map +1 -1
- package/dist/declared-lens-doors.d.ts.map +1 -1
- package/dist/declared-lens-doors.js +4 -1
- package/dist/declared-lens-doors.js.map +1 -1
- package/dist/default-views.d.ts.map +1 -1
- package/dist/default-views.js +60 -17
- package/dist/default-views.js.map +1 -1
- package/dist/draft-frame.d.ts.map +1 -1
- package/dist/draft-frame.js +29 -2
- package/dist/draft-frame.js.map +1 -1
- package/dist/editable.d.ts +8 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +58 -15
- package/dist/editable.js.map +1 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +29 -5
- package/dist/files.js.map +1 -1
- package/dist/find.d.ts.map +1 -1
- package/dist/find.js +110 -11
- 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 +265 -0
- package/dist/first-look.js.map +1 -0
- package/dist/frame.d.ts +3 -0
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +4 -0
- package/dist/frame.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/index.d.ts +19 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -2
- package/dist/index.js.map +1 -1
- package/dist/inline-ai-door.d.ts +15 -0
- package/dist/inline-ai-door.d.ts.map +1 -0
- package/dist/inline-ai-door.js +54 -0
- package/dist/inline-ai-door.js.map +1 -0
- package/dist/inline-ai-env.d.ts +29 -0
- package/dist/inline-ai-env.d.ts.map +1 -0
- package/dist/inline-ai-env.js +22 -0
- package/dist/inline-ai-env.js.map +1 -0
- package/dist/inline-ai-menu.d.ts +58 -0
- package/dist/inline-ai-menu.d.ts.map +1 -0
- package/dist/inline-ai-menu.js +297 -0
- package/dist/inline-ai-menu.js.map +1 -0
- package/dist/kind-stop.d.ts +3 -1
- package/dist/kind-stop.d.ts.map +1 -1
- package/dist/kind-stop.js +3 -2
- package/dist/kind-stop.js.map +1 -1
- package/dist/lens/arranging.d.ts.map +1 -1
- package/dist/lens/arranging.js +9 -1
- package/dist/lens/arranging.js.map +1 -1
- package/dist/lens/calendar-dates.d.ts.map +1 -1
- package/dist/lens/calendar-dates.js +12 -0
- 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 +6 -2
- package/dist/lens/calendar-drawing.js.map +1 -1
- package/dist/lens/calendar-options.d.ts +10 -1
- package/dist/lens/calendar-options.d.ts.map +1 -1
- package/dist/lens/calendar-options.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 +13 -2
- 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 +16 -2
- 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 +6 -5
- 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-keeping.js +2 -3
- package/dist/lens-keeping.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-panel.js +52 -3
- package/dist/map-panel.js.map +1 -1
- package/dist/notice-place.d.ts +2 -2
- package/dist/notice-place.js +2 -2
- package/dist/notify-door.d.ts +57 -0
- package/dist/notify-door.d.ts.map +1 -0
- package/dist/notify-door.js +136 -0
- package/dist/notify-door.js.map +1 -0
- package/dist/notify-sheet.d.ts +27 -0
- package/dist/notify-sheet.d.ts.map +1 -0
- package/dist/notify-sheet.js +102 -0
- package/dist/notify-sheet.js.map +1 -0
- package/dist/pages.d.ts +23 -4
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +24 -4
- 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.map +1 -1
- package/dist/places.js +3 -2
- package/dist/places.js.map +1 -1
- package/dist/primitives/index.d.ts +8 -0
- package/dist/primitives/index.d.ts.map +1 -1
- package/dist/primitives/index.js +67 -29
- package/dist/primitives/index.js.map +1 -1
- package/dist/primitives/measure.d.ts +10 -0
- package/dist/primitives/measure.d.ts.map +1 -1
- package/dist/primitives/measure.js +27 -7
- package/dist/primitives/measure.js.map +1 -1
- package/dist/quick-ask-desk.d.ts +38 -0
- package/dist/quick-ask-desk.d.ts.map +1 -0
- package/dist/quick-ask-desk.js +36 -0
- package/dist/quick-ask-desk.js.map +1 -0
- package/dist/quick-ask-door.d.ts +33 -0
- package/dist/quick-ask-door.d.ts.map +1 -0
- package/dist/quick-ask-door.js +70 -0
- package/dist/quick-ask-door.js.map +1 -0
- package/dist/quick-ask-setting.d.ts +9 -0
- package/dist/quick-ask-setting.d.ts.map +1 -0
- package/dist/quick-ask-setting.js +11 -0
- package/dist/quick-ask-setting.js.map +1 -0
- package/dist/quick-ask.d.ts +23 -0
- package/dist/quick-ask.d.ts.map +1 -0
- package/dist/quick-ask.js +327 -0
- package/dist/quick-ask.js.map +1 -0
- package/dist/record-interactions-door.d.ts +8 -0
- package/dist/record-interactions-door.d.ts.map +1 -0
- package/dist/record-interactions-door.js +42 -0
- package/dist/record-interactions-door.js.map +1 -0
- package/dist/record-interactions.d.ts +13 -0
- package/dist/record-interactions.d.ts.map +1 -0
- package/dist/record-interactions.js +9 -0
- package/dist/record-interactions.js.map +1 -0
- package/dist/scene-bar.d.ts.map +1 -1
- package/dist/scene-bar.js +5 -2
- package/dist/scene-bar.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +79 -8
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-way-back-door.d.ts.map +1 -1
- package/dist/scene-way-back-door.js +9 -0
- package/dist/scene-way-back-door.js.map +1 -1
- package/dist/scene.d.ts +11 -2
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +10 -1
- package/dist/scene.js.map +1 -1
- package/dist/shell.d.ts +23 -24
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +9 -3
- package/dist/shell.js.map +1 -1
- package/dist/spec-css.d.ts.map +1 -1
- package/dist/spec-css.js +22 -2
- package/dist/spec-css.js.map +1 -1
- package/dist/spec-views.d.ts +6 -1
- package/dist/spec-views.d.ts.map +1 -1
- package/dist/spec-views.js +82 -16
- package/dist/spec-views.js.map +1 -1
- package/dist/stretched-link.d.ts +18 -0
- package/dist/stretched-link.d.ts.map +1 -0
- package/dist/stretched-link.js +47 -0
- package/dist/stretched-link.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/theme.d.ts.map +1 -1
- package/dist/theme.js +25 -28
- 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 +150 -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/when-input-door.d.ts +8 -0
- package/dist/when-input-door.d.ts.map +1 -0
- package/dist/when-input-door.js +19 -0
- package/dist/when-input-door.js.map +1 -0
- package/dist/when-input.d.ts +34 -0
- package/dist/when-input.d.ts.map +1 -0
- package/dist/when-input.js +122 -0
- package/dist/when-input.js.map +1 -0
- package/dist/when-picker-door.d.ts +6 -0
- package/dist/when-picker-door.d.ts.map +1 -0
- package/dist/when-picker-door.js +15 -0
- package/dist/when-picker-door.js.map +1 -0
- package/dist/when-picker.d.ts +16 -0
- package/dist/when-picker.d.ts.map +1 -0
- package/dist/when-picker.js +108 -0
- package/dist/when-picker.js.map +1 -0
- package/dist/workbench/activity.d.ts +24 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +159 -33
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/agent-seat.d.ts.map +1 -1
- package/dist/workbench/agent-seat.js +5 -2
- package/dist/workbench/agent-seat.js.map +1 -1
- package/dist/workbench/ai-entries.d.ts +22 -0
- package/dist/workbench/ai-entries.d.ts.map +1 -0
- package/dist/workbench/ai-entries.js +75 -0
- package/dist/workbench/ai-entries.js.map +1 -0
- package/dist/workbench/ai-feed.d.ts +12 -0
- package/dist/workbench/ai-feed.d.ts.map +1 -0
- package/dist/workbench/ai-feed.js +14 -0
- package/dist/workbench/ai-feed.js.map +1 -0
- package/dist/workbench/answer-args.d.ts.map +1 -1
- package/dist/workbench/answer-args.js +87 -10
- 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 +7 -2
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/inspector-door.d.ts +3 -1
- package/dist/workbench/inspector-door.d.ts.map +1 -1
- package/dist/workbench/inspector-door.js +7 -6
- package/dist/workbench/inspector-door.js.map +1 -1
- package/dist/workbench/inspector.d.ts +2 -1
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +94 -17
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/trail.d.ts.map +1 -1
- package/dist/workbench/trail.js +10 -2
- package/dist/workbench/trail.js.map +1 -1
- package/package.json +6 -6
- package/dist/seat-field.d.ts +0 -58
- package/dist/seat-field.d.ts.map +0 -1
- package/dist/seat-field.js +0 -183
- package/dist/seat-field.js.map +0 -1
- package/dist/seat-panel.d.ts +0 -38
- package/dist/seat-panel.d.ts.map +0 -1
- package/dist/seat-panel.js +0 -212
- package/dist/seat-panel.js.map +0 -1
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { retryingImport } from "@graview/core/retry";
|
|
3
|
+
import { isAggregateId, kindOfCard, kindsOfAggregate } from "@graview/layout/view";
|
|
4
|
+
import { MenuSections } from "@graview/react/drawing";
|
|
5
|
+
import { lazyModule, useGraview, useGraviewIfAny } from "@graview/react/provider";
|
|
6
|
+
import { Suspense, useEffect, useId, useMemo, useState, useSyncExternalStore } from "react";
|
|
7
|
+
const ASKED = new WeakMap();
|
|
8
|
+
const askedOf = (subscriptions) => {
|
|
9
|
+
let held = ASKED.get(subscriptions);
|
|
10
|
+
if (!held)
|
|
11
|
+
ASKED.set(subscriptions, (held = { ask: null, doors: [], listeners: new Set() }));
|
|
12
|
+
return held;
|
|
13
|
+
};
|
|
14
|
+
const told = (asked) => {
|
|
15
|
+
for (const listener of asked.listeners)
|
|
16
|
+
listener();
|
|
17
|
+
};
|
|
18
|
+
/** Open the sheet, filled in with these choices. */
|
|
19
|
+
export function askToNotify(subscriptions, ask) {
|
|
20
|
+
const asked = askedOf(subscriptions);
|
|
21
|
+
asked.ask = ask;
|
|
22
|
+
told(asked);
|
|
23
|
+
}
|
|
24
|
+
const sheetModule = /* @__PURE__ */ lazyModule(retryingImport(() => import("./notify-sheet.js")));
|
|
25
|
+
const Sheet = /* @__PURE__ */ sheetModule.part((module, props) => {
|
|
26
|
+
const Drawn = module.NotifySheet;
|
|
27
|
+
return _jsx(Drawn, { ...props });
|
|
28
|
+
}, { what: "Notify me" });
|
|
29
|
+
const List = /* @__PURE__ */ sheetModule.part((module, props) => {
|
|
30
|
+
const Drawn = module.NotifiedList;
|
|
31
|
+
return _jsx(Drawn, { ...props });
|
|
32
|
+
}, { quiet: true });
|
|
33
|
+
/** Whether a reader is somebody the app can tell: one it knows by id. */
|
|
34
|
+
export const canBeTold = (principal) => (principal.onBehalfOf ?? principal).id !== undefined;
|
|
35
|
+
/** The choices a menu opened on this offers, or none. */
|
|
36
|
+
export function choicesAt(target, kindOf, schema) {
|
|
37
|
+
const noun = (kind) => schema.tryDefinition(kind)?.noun ?? kind.replace(/[-_]+/g, " ");
|
|
38
|
+
const record = target.on !== undefined ? target.on : target.about.length === 1 ? target.about[0] : undefined;
|
|
39
|
+
if (target.act !== undefined) {
|
|
40
|
+
const on = record !== undefined && kindOf(record) !== undefined ? record : undefined;
|
|
41
|
+
return { label: "Notify me when someone does this…", choices: [{ on: "act", act: target.act, ...(on !== undefined ? { record: on } : {}) }, ...(on !== undefined ? [{ on: "act", act: target.act }] : [])] };
|
|
42
|
+
}
|
|
43
|
+
if (record === undefined)
|
|
44
|
+
return null;
|
|
45
|
+
const kind = kindOf(record);
|
|
46
|
+
if (kind !== undefined)
|
|
47
|
+
return { label: "Notify me when this changes…", choices: [{ on: "changed", record }, { on: "act", record }, { on: "reaches", kind, condition: "", record }] };
|
|
48
|
+
const kinds = kindOfCard(record) !== null ? [kindOfCard(record)] : isAggregateId(record) ? kindsOfAggregate(record) : [];
|
|
49
|
+
if (kinds.length !== 1 || !schema.kinds.includes(kinds[0]))
|
|
50
|
+
return null;
|
|
51
|
+
const listed = kinds[0];
|
|
52
|
+
const word = noun(listed);
|
|
53
|
+
return { label: `Notify me when ${/^[aeiou]/i.test(word) ? "an" : "a"} ${word} is added…`, choices: [{ on: "created", kind: listed }, { on: "changed", kind: listed }, { on: "reaches", kind: listed, condition: "" }] };
|
|
54
|
+
}
|
|
55
|
+
/** "Notify me…" on the context menu, or nothing where there is nobody to tell or nothing to be told of. */
|
|
56
|
+
export function useNotifySection() {
|
|
57
|
+
const { store, principal, subscriptions } = useGraview();
|
|
58
|
+
const able = canBeTold(principal);
|
|
59
|
+
return useMemo(() => able
|
|
60
|
+
? (target) => {
|
|
61
|
+
const offered = choicesAt(target, (id) => store.graph.getNode(id)?.kind, store.schema);
|
|
62
|
+
if (!offered)
|
|
63
|
+
return null;
|
|
64
|
+
const item = { id: "notify-me", label: offered.label, run: () => askToNotify(subscriptions, { choices: offered.choices, returnTo: target.element ?? null }) };
|
|
65
|
+
return { id: "notify", items: [item] };
|
|
66
|
+
}
|
|
67
|
+
: null, [able, store, subscriptions]);
|
|
68
|
+
}
|
|
69
|
+
const NONE = [];
|
|
70
|
+
/** The context menu drawn inside, with "Notify me…" in it where there is somebody to tell. */
|
|
71
|
+
export function NotifySections({ children }) {
|
|
72
|
+
const section = useNotifySection();
|
|
73
|
+
const sections = useMemo(() => (section ? [section] : NONE), [section]);
|
|
74
|
+
return _jsx(MenuSections, { sections: sections, children: children });
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* WHERE THE SHEET IS DRAWN: once per provider, by the first door drawn — a
|
|
78
|
+
* routed face inside a scene's shell draws it once, not twice.
|
|
79
|
+
*/
|
|
80
|
+
export function NotifyDoor() {
|
|
81
|
+
const { subscriptions } = useGraview();
|
|
82
|
+
const id = useId();
|
|
83
|
+
const asked = askedOf(subscriptions);
|
|
84
|
+
useEffect(() => {
|
|
85
|
+
asked.doors.push(id);
|
|
86
|
+
told(asked);
|
|
87
|
+
return () => {
|
|
88
|
+
asked.doors.splice(asked.doors.indexOf(id), 1);
|
|
89
|
+
told(asked);
|
|
90
|
+
};
|
|
91
|
+
}, [asked, id]);
|
|
92
|
+
const subscribe = useMemo(() => (listener) => {
|
|
93
|
+
asked.listeners.add(listener);
|
|
94
|
+
return () => void asked.listeners.delete(listener);
|
|
95
|
+
}, [asked]);
|
|
96
|
+
const ask = useSyncExternalStore(subscribe, () => asked.ask, () => null);
|
|
97
|
+
const mine = useSyncExternalStore(subscribe, () => asked.doors[0] === id, () => false);
|
|
98
|
+
if (!ask || !mine)
|
|
99
|
+
return null;
|
|
100
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(Sheet, { ask: ask, close: () => askToNotify(subscriptions, null) }) }));
|
|
101
|
+
}
|
|
102
|
+
/** A "Notify me" press of a face's own — on a record's page, after an act — opening the sheet on these choices. */
|
|
103
|
+
export function NotifyButton({ choices, label = "Notify me", style, className, testId = "notify-me" }) {
|
|
104
|
+
const { principal, subscriptions } = useGraview();
|
|
105
|
+
if (!canBeTold(principal))
|
|
106
|
+
return null;
|
|
107
|
+
return (_jsx("button", { type: "button", "data-testid": testId, className: className, onClick: (event) => askToNotify(subscriptions, { choices, returnTo: event.currentTarget }), style: style, children: label }));
|
|
108
|
+
}
|
|
109
|
+
/** How many subscriptions the reader has, followed as they change: 0 until the store has answered. */
|
|
110
|
+
export function useNotifiedCount() {
|
|
111
|
+
// Asked where there may be no provider (a routed face drawn alone): then nobody is told of anything.
|
|
112
|
+
const here = useGraviewIfAny();
|
|
113
|
+
const subscriptions = here?.subscriptions;
|
|
114
|
+
const who = here ? (here.principal.onBehalfOf ?? here.principal).id : undefined;
|
|
115
|
+
const [count, setCount] = useState(0);
|
|
116
|
+
useEffect(() => {
|
|
117
|
+
if (who === undefined || !subscriptions)
|
|
118
|
+
return;
|
|
119
|
+
let live = true;
|
|
120
|
+
const read = () => void Promise.resolve(subscriptions.list(who)).then((all) => live && setCount(all.length), () => live && setCount(0));
|
|
121
|
+
read();
|
|
122
|
+
const off = subscriptions.onChange?.(read);
|
|
123
|
+
return () => {
|
|
124
|
+
live = false;
|
|
125
|
+
off?.();
|
|
126
|
+
};
|
|
127
|
+
}, [subscriptions, who]);
|
|
128
|
+
return count;
|
|
129
|
+
}
|
|
130
|
+
/** What the reader is told of, each with its one-press "Stop": Activity's part, fetched when there is any. */
|
|
131
|
+
export function NotifiedDoor({ style }) {
|
|
132
|
+
if (useNotifiedCount() === 0)
|
|
133
|
+
return null;
|
|
134
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(List, { ...(style ? { style } : {}) }) }));
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=notify-door.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify-door.js","sourceRoot":"","sources":["../src/notify-door.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type CSSProperties } from "react";
|
|
2
|
+
import type { NotifyAsk } from "./notify-door.js";
|
|
3
|
+
import "./frame.js";
|
|
4
|
+
/**
|
|
5
|
+
* "NOTIFY ME", AS THE FACES DRAW IT (Roadmap f-notify-subscriptions) —
|
|
6
|
+
* fetched with the first sheet or list (`notify-door.tsx`).
|
|
7
|
+
*
|
|
8
|
+
* THE SHEET is one step, already filled in with what it was opened on:
|
|
9
|
+
* its first button keeps it, so a person subscribes from the context menu
|
|
10
|
+
* in two presses. The other choices stand beside it — "when anything is
|
|
11
|
+
* done to it", "when it reaches …" — and "Only when someone else does it"
|
|
12
|
+
* is ticked. A condition is written in the app's own rule language, and a
|
|
13
|
+
* subscription that could never be told anything is said, not kept.
|
|
14
|
+
*
|
|
15
|
+
* THE LIST is Activity's: what the reader is told of, each with one press
|
|
16
|
+
* to stop.
|
|
17
|
+
*/
|
|
18
|
+
export interface NotifySheetProps {
|
|
19
|
+
readonly ask: NotifyAsk;
|
|
20
|
+
readonly close: () => void;
|
|
21
|
+
}
|
|
22
|
+
export declare function NotifySheet({ ask, close }: NotifySheetProps): import("react").JSX.Element;
|
|
23
|
+
/** What the reader is told of, each with "Stop": Activity's part. */
|
|
24
|
+
export declare function NotifiedList({ style }: {
|
|
25
|
+
readonly style?: CSSProperties;
|
|
26
|
+
}): import("react").JSX.Element | null;
|
|
27
|
+
//# sourceMappingURL=notify-sheet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify-sheet.d.ts","sourceRoot":"","sources":["../src/notify-sheet.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAsC,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,YAAY,CAAC;AAEpB;;;;;;;;;;;;;GAaG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,SAAS,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;CAC5B;AAYD,wBAAgB,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,gBAAgB,+BA+G3D;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAA;CAAE,sCA8CzE"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { subscriberOf } from "@graview/core";
|
|
3
|
+
import { subscriptionProblem, subscriptionWords } from "@graview/core/subscriptions";
|
|
4
|
+
import { useGraview } from "@graview/react/provider";
|
|
5
|
+
import { useEffect, useId, useRef, useState } from "react";
|
|
6
|
+
import "./frame.js"; // A door: tied to what the page drew first (TIED DOORS, packages/primitives/src/frame.ts).
|
|
7
|
+
/** A first guess at a condition for a kind: its first field that is false on a record of it, as true. */
|
|
8
|
+
function guessCondition(records) {
|
|
9
|
+
for (const record of records) {
|
|
10
|
+
for (const [field, value] of Object.entries(record))
|
|
11
|
+
if (value === false)
|
|
12
|
+
return `${field} == true`;
|
|
13
|
+
}
|
|
14
|
+
return "";
|
|
15
|
+
}
|
|
16
|
+
const QUIET = { margin: 0, fontSize: "0.8125rem", color: "var(--graview-ink-muted)" };
|
|
17
|
+
export function NotifySheet({ ask, close }) {
|
|
18
|
+
const { store, principal, subscriptions, app } = useGraview();
|
|
19
|
+
const dialog = useRef(null);
|
|
20
|
+
const heading = useId();
|
|
21
|
+
const [chosen, setChosen] = useState(0);
|
|
22
|
+
const [othersOnly, setOthersOnly] = useState(true);
|
|
23
|
+
const [condition, setCondition] = useState(() => {
|
|
24
|
+
const reaches = ask.choices.find((one) => one.on === "reaches");
|
|
25
|
+
if (!reaches)
|
|
26
|
+
return "";
|
|
27
|
+
const node = reaches.record !== undefined ? store.graph.getNode(reaches.record) : undefined;
|
|
28
|
+
return guessCondition(node ? [node] : store.graph.nodesOfKind(reaches.kind).slice(0, 5));
|
|
29
|
+
});
|
|
30
|
+
const [problem, setProblem] = useState(null);
|
|
31
|
+
const [keeping, setKeeping] = useState(false);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
const shown = dialog.current;
|
|
34
|
+
if (shown && !shown.open)
|
|
35
|
+
shown.showModal();
|
|
36
|
+
}, []);
|
|
37
|
+
/** Gone, and the keyboard back where the sheet was asked from — or where the page's title is. */
|
|
38
|
+
const done = () => {
|
|
39
|
+
const back = ask.returnTo;
|
|
40
|
+
close();
|
|
41
|
+
requestAnimationFrame(() => {
|
|
42
|
+
if (back?.isConnected)
|
|
43
|
+
back.focus();
|
|
44
|
+
else
|
|
45
|
+
document.querySelector("[data-graview-page-title], main h1, [data-testid='activity-button']")?.focus();
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
const whenOf = (choice) => (choice.on === "reaches" ? { ...choice, condition } : choice);
|
|
49
|
+
const words = (choice) => subscriptionWords(store, { when: whenOf(choice), alsoMine: !othersOnly });
|
|
50
|
+
const keep = async () => {
|
|
51
|
+
const when = whenOf(ask.choices[chosen]);
|
|
52
|
+
const wrong = subscriptionProblem(store, when);
|
|
53
|
+
if (wrong) {
|
|
54
|
+
setProblem(wrong);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
setKeeping(true);
|
|
58
|
+
try {
|
|
59
|
+
await subscriptions.add({ who: subscriberOf(principal), app: app?.name ?? "app", when, ...(othersOnly ? {} : { alsoMine: true }) });
|
|
60
|
+
done();
|
|
61
|
+
}
|
|
62
|
+
catch (error) {
|
|
63
|
+
setKeeping(false);
|
|
64
|
+
setProblem(error instanceof Error ? error.message : String(error));
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
return (_jsx("dialog", { ref: dialog, "aria-labelledby": heading, "data-testid": "notify-sheet", onClose: done, onClick: (event) => {
|
|
68
|
+
// A press on the dimmed page around the sheet puts it away.
|
|
69
|
+
if (event.target === event.currentTarget)
|
|
70
|
+
event.currentTarget.close();
|
|
71
|
+
}, style: { width: "min(92vw, 420px)", padding: 0, border: "1px solid var(--graview-edge)", borderRadius: "var(--graview-radius, 12px)", background: "var(--graview-panel)", color: "var(--graview-ink)", boxShadow: "var(--graview-lift-high)" }, children: _jsxs("form", { method: "dialog", onSubmit: (event) => {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
void keep();
|
|
74
|
+
}, style: { display: "grid", gap: 12, padding: 18 }, children: [_jsx("h2", { id: heading, style: { margin: 0, fontSize: "1.0625rem" }, children: "Notify me" }), _jsxs("fieldset", { style: { margin: 0, padding: 0, border: 0, display: "grid", gap: 6 }, children: [_jsx("legend", { style: { ...QUIET, marginBottom: 6 }, children: "Tell me" }), ask.choices.map((choice, at) => (_jsxs("label", { style: { display: "flex", gap: 8, alignItems: "baseline", cursor: "pointer" }, children: [_jsx("input", { type: "radio", name: `${heading}-when`, checked: chosen === at, onChange: () => setChosen(at), "data-notify-choice": choice.on }), _jsx("span", { children: choice.on === "reaches" ? `When ${choice.record !== undefined ? "it" : "one"} reaches a condition` : words(choice) })] }, at)))] }), ask.choices[chosen]?.on === "reaches" ? (_jsxs("label", { style: { display: "grid", gap: 4 }, children: [_jsx("span", { style: QUIET, children: "The condition, in the app's own words (done == true, amount > 100)" }), _jsx("input", { value: condition, onChange: (event) => setCondition(event.target.value), "data-testid": "notify-condition", autoComplete: "off", spellCheck: false })] })) : null, _jsxs("label", { style: { display: "flex", gap: 8, alignItems: "center" }, children: [_jsx("input", { type: "checkbox", checked: othersOnly, onChange: (event) => setOthersOnly(event.target.checked), "data-testid": "notify-others-only" }), "Only when someone else does it"] }), _jsxs("p", { style: QUIET, "data-testid": "notify-said", children: [words(ask.choices[chosen]), "."] }), problem ? (_jsx("p", { role: "alert", style: { margin: 0, color: "var(--graview-danger, var(--graview-ink))" }, children: problem })) : null, _jsxs("div", { style: { display: "flex", gap: 8, justifyContent: "flex-end" }, children: [_jsx("button", { type: "button", onClick: () => dialog.current?.close(), children: "Cancel" }), _jsx("button", { type: "submit", autoFocus: true, disabled: keeping, "data-testid": "notify-keep", style: { borderColor: "var(--graview-accent)", color: "var(--graview-accent)" }, children: "Notify me" })] })] }) }));
|
|
75
|
+
}
|
|
76
|
+
/** What the reader is told of, each with "Stop": Activity's part. */
|
|
77
|
+
export function NotifiedList({ style }) {
|
|
78
|
+
const { store, principal, subscriptions, app } = useGraview();
|
|
79
|
+
const who = (principal.onBehalfOf ?? principal).id;
|
|
80
|
+
const [mine, setMine] = useState([]);
|
|
81
|
+
useEffect(() => {
|
|
82
|
+
if (who === undefined)
|
|
83
|
+
return;
|
|
84
|
+
let live = true;
|
|
85
|
+
const read = () => void Promise.resolve(subscriptions.list(who)).then((all) => live && setMine(all.filter((one) => one.app === (app?.name ?? "app"))), () => live && setMine([]));
|
|
86
|
+
read();
|
|
87
|
+
const off = subscriptions.onChange?.(read);
|
|
88
|
+
return () => {
|
|
89
|
+
live = false;
|
|
90
|
+
off?.();
|
|
91
|
+
};
|
|
92
|
+
}, [subscriptions, who, app]);
|
|
93
|
+
if (mine.length === 0)
|
|
94
|
+
return null;
|
|
95
|
+
return (_jsxs("section", { "aria-label": "What you are told of", "data-testid": "notified", style: { display: "grid", gap: 6, ...style }, children: [_jsx("span", { style: { fontSize: "0.75rem", letterSpacing: "0.14em", textTransform: "uppercase", color: "var(--graview-ink-faint)" }, children: "You are told" }), _jsx("ul", { style: { margin: 0, padding: 0, listStyle: "none", display: "grid", gap: 4 }, children: mine.map((one) => (_jsxs("li", { style: { display: "flex", gap: 8, alignItems: "baseline", justifyContent: "space-between" }, "data-subscription": one.id, children: [_jsx("span", { style: { fontSize: "0.8125rem" }, children: subscriptionWords(store, one) }), _jsx("button", { type: "button", "data-testid": "notify-stop", "aria-label": `Stop: ${subscriptionWords(store, one)}`, onClick: (event) => {
|
|
96
|
+
// The keyboard stays in the list: on the next Stop, else Activity's own button.
|
|
97
|
+
const item = event.currentTarget.closest("li");
|
|
98
|
+
const next = (item?.nextElementSibling ?? item?.previousElementSibling)?.querySelector("button");
|
|
99
|
+
void Promise.resolve(subscriptions.remove(one.id)).then(() => (next ?? document.querySelector("[data-testid='activity-button']"))?.focus());
|
|
100
|
+
}, style: { padding: "1px 8px", fontSize: "0.8125rem" }, children: "Stop" })] }, one.id))) })] }));
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=notify-sheet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"notify-sheet.js","sourceRoot":"","sources":["../src/notify-sheet.tsx"],"names":[],"mappings":"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"}
|
package/dist/pages.d.ts
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Everything here is also exported from `@graview/primitives`. It is its
|
|
6
6
|
* own entry because a bundler splits a page by which files a chunk can
|
|
7
|
-
* reach, and `@graview/primitives` reaches the
|
|
7
|
+
* reach, and `@graview/primitives` reaches the workbench, the inspector
|
|
8
8
|
* and the scene they stand on: the pages face, importing a mark from it,
|
|
9
9
|
* fetched the whole map to draw a list. `@graview/pages` imports from here,
|
|
10
|
-
* and the
|
|
10
|
+
* and the quick ask's bar when it is first opened. Nothing in this
|
|
11
11
|
* module's files may import a barrel.
|
|
12
12
|
*/
|
|
13
13
|
export { ArrangeBar, arrangementCaption, arrangementOf, withArrangement } from "./arrange-bar.js";
|
|
@@ -18,19 +18,25 @@ export { Files } from "./files-door.js";
|
|
|
18
18
|
export type { FilesProps } from "./files-door.js";
|
|
19
19
|
export { AppLink } from "./app-link-door.js";
|
|
20
20
|
export type { AppLinkProps } from "./app-link-door.js";
|
|
21
|
+
export { LinkedPicker, LinkedRecordView } from "./linked-record-door.js";
|
|
22
|
+
export type { LinkedPickerProps, LinkedRecordViewProps } from "./linked-record-door.js";
|
|
21
23
|
export { RepeatEditor, RepeatPicker } from "./repeat-picker-door.js";
|
|
22
24
|
export type { RepeatPickerProps } from "./repeat-picker-door.js";
|
|
25
|
+
export { prefetchWhenInput, WhenInput } from "./when-input-door.js";
|
|
26
|
+
export type { WhenInputProps } from "./when-input-door.js";
|
|
23
27
|
export { hasShape, TextBody, textBlocks, type TextBlock } from "./text-body.js";
|
|
24
28
|
export { KindFigure } from "./figure.js";
|
|
25
29
|
export { ownSentence, problemLine, problemTitle, RuleLineView, RuleParts, useLined, useRuleLines } from "./rule-line.js";
|
|
26
30
|
export { useMarkup } from "./markup.js";
|
|
27
31
|
export { AppMark, AppTitle, useFavicon } from "./app-title.js";
|
|
28
32
|
export { BarActivity } from "./bar-activity.js";
|
|
33
|
+
export { BarSuggested } from "./bar-suggested.js";
|
|
29
34
|
export { AppBar, BarFindContext, barPlaceAt, barPlaces, BAR_HEIGHT, BAR_PHONE, HOME_KEY, HOME_PATH, TOOL, toolStyle, useBarFind } from "./app-bar.js";
|
|
30
35
|
export type { BarFace, BarFaces, BarFind, BarGo, BarPlace, BarPlaceGroup, BarSwitch } from "./app-bar.js";
|
|
31
36
|
export { RelationMark } from "./relation-key.js";
|
|
32
37
|
export { registerDefaultViews } from "./default-views.js";
|
|
33
38
|
export { HeadingsUnder, HomeLine, pageSays, registerViewSpecs, SpecLinks } from "./spec-views.js";
|
|
39
|
+
export { useEndsAboveItsList } from "./stretched-link.js";
|
|
34
40
|
export { StandingDot, standingWords } from "./workbench/standing.js";
|
|
35
41
|
export { useViewportHeight } from "./primitives/measure.js";
|
|
36
42
|
export { Profile } from "./profile.js";
|
|
@@ -38,13 +44,26 @@ export { viewsCss } from "./views-css.js";
|
|
|
38
44
|
export { FOOT_MOVED, FOOT_OBSTACLES, NARROW_PICTURE, placeAtTheFoot, placeAtTheTop } from "./notice-place.js";
|
|
39
45
|
export { freshChangeOf, isTakeBackKey, lastChangeOf, takeBackLast, takeBackWords, WAY_BACK_MS } from "./way-back.js";
|
|
40
46
|
export type { LastChange } from "./way-back.js";
|
|
41
|
-
export {
|
|
47
|
+
export { QuickAskDoor } from "./quick-ask-door.js";
|
|
48
|
+
export { openQuickAsk, useQuickAskDrawn } from "./quick-ask-desk.js";
|
|
49
|
+
export type { QuickAskDoorProps } from "./quick-ask-door.js";
|
|
50
|
+
export type { QuickAskOpening } from "./quick-ask-desk.js";
|
|
51
|
+
export { quickAskOf } from "./quick-ask-setting.js";
|
|
42
52
|
export { DraftDoor } from "./draft-door.js";
|
|
43
53
|
export { appKeyOf } from "./reader-lenses.js";
|
|
44
54
|
export { registerReaderLenses } from "./declared-lens-doors.js";
|
|
45
|
-
export
|
|
55
|
+
export { Inspector } from "./workbench/inspector-door.js";
|
|
56
|
+
export { GhostDoor, InlineAiSections, useInlineAiSection } from "./inline-ai-door.js";
|
|
57
|
+
export type { GhostDoorProps } from "./inline-ai-door.js";
|
|
58
|
+
export { askToNotify, NotifiedDoor, NotifyButton, NotifyDoor, NotifySections, useNotifiedCount, useNotifySection } from "./notify-door.js";
|
|
59
|
+
export type { NotifyAsk } from "./notify-door.js";
|
|
60
|
+
export { RecordInteractionsDoor } from "./record-interactions-door.js";
|
|
46
61
|
export { CHOOSING_CSS, LONG_PRESS_MS, useChoosing } from "./choosing.js";
|
|
47
62
|
export type { Choosing } from "./choosing.js";
|
|
48
63
|
export { prefetchSeveral, SeveralBarDoor } from "./several-door.js";
|
|
49
64
|
export type { SeveralBarProps } from "./several-door.js";
|
|
65
|
+
export { PastBar, prefetchTimeline } from "./past-bar.js";
|
|
66
|
+
export type { TimelineFace } from "./past-bar.js";
|
|
67
|
+
export { FIRST_LOOK_ANCHORS, FirstLookDoor, firstLookKey } from "./first-look-door.js";
|
|
68
|
+
export type { FirstLook, FirstLookAnchor, FirstLookDoorProps, FirstLookEnd, FirstLookOptions, FirstLookStep } from "./first-look-door.js";
|
|
50
69
|
//# sourceMappingURL=pages.d.ts.map
|
package/dist/pages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAClG,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEpE,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"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"}
|
package/dist/pages.js
CHANGED
|
@@ -4,10 +4,10 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Everything here is also exported from `@graview/primitives`. It is its
|
|
6
6
|
* own entry because a bundler splits a page by which files a chunk can
|
|
7
|
-
* reach, and `@graview/primitives` reaches the
|
|
7
|
+
* reach, and `@graview/primitives` reaches the workbench, the inspector
|
|
8
8
|
* and the scene they stand on: the pages face, importing a mark from it,
|
|
9
9
|
* fetched the whole map to draw a list. `@graview/pages` imports from here,
|
|
10
|
-
* and the
|
|
10
|
+
* and the quick ask's bar when it is first opened. Nothing in this
|
|
11
11
|
* module's files may import a barrel.
|
|
12
12
|
*/
|
|
13
13
|
export { ArrangeBar, arrangementCaption, arrangementOf, withArrangement } from "./arrange-bar.js";
|
|
@@ -18,19 +18,25 @@ export { EditableValue, FieldLink, LongValue } from "./editable.js";
|
|
|
18
18
|
export { Files } from "./files-door.js";
|
|
19
19
|
// Another app on a record, as the host names it (FR-171), fetched with the first one drawn.
|
|
20
20
|
export { AppLink } from "./app-link-door.js";
|
|
21
|
+
export { LinkedPicker, LinkedRecordView } from "./linked-record-door.js";
|
|
21
22
|
// How a date repeats: asked for in a form and changed beside a record's date, fetched with the first one drawn.
|
|
22
23
|
export { RepeatEditor, RepeatPicker } from "./repeat-picker-door.js";
|
|
24
|
+
// A day or a moment, typed as people say it ("tomorrow 3pm") or picked from a month: every date a person gives, fetched when first asked for (Roadmap f-date-inputs).
|
|
25
|
+
export { prefetchWhenInput, WhenInput } from "./when-input-door.js";
|
|
23
26
|
export { hasShape, TextBody, textBlocks } from "./text-body.js";
|
|
24
27
|
export { KindFigure } from "./figure.js";
|
|
25
28
|
export { ownSentence, problemLine, problemTitle, RuleLineView, RuleParts, useLined, useRuleLines } from "./rule-line.js";
|
|
26
29
|
export { useMarkup } from "./markup.js";
|
|
27
30
|
export { AppMark, AppTitle, useFavicon } from "./app-title.js";
|
|
28
31
|
export { BarActivity } from "./bar-activity.js";
|
|
32
|
+
// What tidying suggests, beside Activity on the routed face's bar, fetched only while something waits.
|
|
33
|
+
export { BarSuggested } from "./bar-suggested.js";
|
|
29
34
|
export { AppBar, BarFindContext, barPlaceAt, barPlaces, BAR_HEIGHT, BAR_PHONE, HOME_KEY, HOME_PATH, TOOL, toolStyle, useBarFind } from "./app-bar.js";
|
|
30
35
|
export { RelationMark } from "./relation-key.js";
|
|
31
36
|
// The framework's own views and the declaration's specs, for a routed face that registers them outright (`@graview/embed/pages`) without reaching every lens through the package's main entry.
|
|
32
37
|
export { registerDefaultViews } from "./default-views.js";
|
|
33
38
|
export { HeadingsUnder, HomeLine, pageSays, registerViewSpecs, SpecLinks } from "./spec-views.js";
|
|
39
|
+
export { useEndsAboveItsList } from "./stretched-link.js";
|
|
34
40
|
export { StandingDot, standingWords } from "./workbench/standing.js";
|
|
35
41
|
export { useViewportHeight } from "./primitives/measure.js";
|
|
36
42
|
export { Profile } from "./profile.js";
|
|
@@ -39,12 +45,26 @@ export { viewsCss } from "./views-css.js";
|
|
|
39
45
|
export { FOOT_MOVED, FOOT_OBSTACLES, NARROW_PICTURE, placeAtTheFoot, placeAtTheTop } from "./notice-place.js";
|
|
40
46
|
// The way back after an act, judged and timed alike on both faces (FR-152).
|
|
41
47
|
export { freshChangeOf, isTakeBackKey, lastChangeOf, takeBackLast, takeBackWords, WAY_BACK_MS } from "./way-back.js";
|
|
42
|
-
// The
|
|
43
|
-
export {
|
|
48
|
+
// The quick ask (Roadmap f-quick-ask-framework): ⌘K's bar beside what the page is about, and its answer cards, fetched when first opened.
|
|
49
|
+
export { QuickAskDoor } from "./quick-ask-door.js";
|
|
50
|
+
export { openQuickAsk, useQuickAskDrawn } from "./quick-ask-desk.js";
|
|
51
|
+
export { quickAskOf } from "./quick-ask-setting.js";
|
|
44
52
|
export { DraftDoor } from "./draft-door.js";
|
|
45
53
|
export { appKeyOf } from "./reader-lenses.js";
|
|
46
54
|
export { registerReaderLenses } from "./declared-lens-doors.js";
|
|
55
|
+
// The context menu (FR-77's `acts`): the acts at the pointer, its pane and the tools fetched when it is first opened.
|
|
56
|
+
export { Inspector } from "./workbench/inspector-door.js";
|
|
57
|
+
// The inline AI (Roadmap f-ai-candidate-catalog): its part of the context menu and the ghost of what it proposed, fetched when first drawn.
|
|
58
|
+
export { GhostDoor, InlineAiSections, useInlineAiSection } from "./inline-ai-door.js";
|
|
59
|
+
// Notify me (Roadmap f-notify-subscriptions): its part of the context menu, the sheet, a face's own press and Activity's list, the sheet and list fetched when first drawn.
|
|
60
|
+
export { askToNotify, NotifiedDoor, NotifyButton, NotifyDoor, NotifySections, useNotifiedCount, useNotifySection } from "./notify-door.js";
|
|
61
|
+
// What AI did on a record, on its page (Roadmap f-activity-ai-entries), fetched with the first entry.
|
|
62
|
+
export { RecordInteractionsDoor } from "./record-interactions-door.js";
|
|
47
63
|
// Choosing several records on a list, and the bar that acts on them all at once — fetched with the first one chosen.
|
|
48
64
|
export { CHOOSING_CSS, LONG_PRESS_MS, useChoosing } from "./choosing.js";
|
|
49
65
|
export { prefetchSeveral, SeveralBarDoor } from "./several-door.js";
|
|
66
|
+
// The app as it was (Roadmap f-playback): the timeline, fetched when somebody first looks back.
|
|
67
|
+
export { PastBar, prefetchTimeline } from "./past-bar.js";
|
|
68
|
+
// A first look that points at the app's own controls, once (its hints fetched as they are first shown).
|
|
69
|
+
export { FIRST_LOOK_ANCHORS, FirstLookDoor, firstLookKey } from "./first-look-door.js";
|
|
50
70
|
//# sourceMappingURL=pages.js.map
|
package/dist/pages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAElG,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,gHAAgH;AAChH,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACpE,6GAA6G;AAC7G,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,4FAA4F;AAC5F,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,gHAAgH;AAChH,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAkB,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAEtJ,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,+LAA+L;AAC/L,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,sHAAsH;AACtH,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC9G,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAErH,
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../src/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** Which face the timeline is drawn on: over the scene's picture, or at the head of the routed face's page. */
|
|
2
|
+
export type TimelineFace = "scene" | "pages";
|
|
3
|
+
/** Fetch the timeline before it is asked for: a pointer over "Show the app as it was here". */
|
|
4
|
+
export declare const prefetchTimeline: () => void;
|
|
5
|
+
/**
|
|
6
|
+
* THE APP AS IT WAS, AND THE WAY THROUGH IT: drawn while the timeline is
|
|
7
|
+
* open — an "as of" banner, a scrubber with a tick per change, play and
|
|
8
|
+
* its speed, the way back to now — and nothing otherwise.
|
|
9
|
+
*/
|
|
10
|
+
export declare function PastBar({ face }: {
|
|
11
|
+
readonly face: TimelineFace;
|
|
12
|
+
}): import("react").JSX.Element | null;
|
|
13
|
+
//# sourceMappingURL=past-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"past-bar.d.ts","sourceRoot":"","sources":["../src/past-bar.tsx"],"names":[],"mappings":"AAYA,+GAA+G;AAC/G,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,OAAO,CAAC;AAI7C,+FAA+F;AAC/F,eAAO,MAAM,gBAAgB,QAAO,IAA2B,CAAC;AAEhE;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,EAAE,IAAI,EAAE,EAAE;IAAE,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAA;CAAE,sCAQhE"}
|
package/dist/past-bar.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { retryingImport } from "@graview/core/retry";
|
|
3
|
+
import { lazyModule, usePlayback } from "@graview/react/provider";
|
|
4
|
+
import { Suspense } from "react";
|
|
5
|
+
/*
|
|
6
|
+
* THE TIMELINE'S DOOR (Roadmap f-playback). Nothing of playback is in a
|
|
7
|
+
* page's first load: the timeline — its ticks, its player, the sentences
|
|
8
|
+
* it reads from `@graview/core/history` — is fetched when somebody first
|
|
9
|
+
* asks to see the app as it was, and drawn on whichever face they are on.
|
|
10
|
+
*/
|
|
11
|
+
const TIMELINE = /* @__PURE__ */ lazyModule(retryingImport(() => import("./timeline.js")));
|
|
12
|
+
const Timeline = TIMELINE.part((module, props) => _jsx(module.Timeline, { ...props }), { what: "The timeline" });
|
|
13
|
+
/** Fetch the timeline before it is asked for: a pointer over "Show the app as it was here". */
|
|
14
|
+
export const prefetchTimeline = () => TIMELINE.prefetch();
|
|
15
|
+
/**
|
|
16
|
+
* THE APP AS IT WAS, AND THE WAY THROUGH IT: drawn while the timeline is
|
|
17
|
+
* open — an "as of" banner, a scrubber with a tick per change, play and
|
|
18
|
+
* its speed, the way back to now — and nothing otherwise.
|
|
19
|
+
*/
|
|
20
|
+
export function PastBar({ face }) {
|
|
21
|
+
const playback = usePlayback();
|
|
22
|
+
if (!playback?.open)
|
|
23
|
+
return null;
|
|
24
|
+
return (_jsx(Suspense, { fallback: null, children: _jsx(Timeline, { face: face }) }));
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=past-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"past-bar.js","sourceRoot":"","sources":["../src/past-bar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,eAAe,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;AAK3F,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAsC,EAAE,KAAsC,EAAE,EAAE,CAAC,KAAC,MAAM,CAAC,QAAQ,OAAK,KAAK,GAAI,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;AAE7K,+FAA+F;AAC/F,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAS,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;AAEhE;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI,EAAmC;IAC/D,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,IAAI;QAAE,OAAO,IAAI,CAAC;IACjC,OAAO,CACL,KAAC,QAAQ,IAAC,QAAQ,EAAE,IAAI,YACtB,KAAC,QAAQ,IAAC,IAAI,EAAE,IAAI,GAAI,GACf,CACZ,CAAC;AACJ,CAAC"}
|
package/dist/places.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"places.d.ts","sourceRoot":"","sources":["../src/places.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,SAAS,EAAc,MAAM,eAAe,CAAC;AAmCnG,wBAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,
|
|
1
|
+
{"version":3,"file":"places.d.ts","sourceRoot":"","sources":["../src/places.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,SAAS,EAAc,MAAM,eAAe,CAAC;AAmCnG,wBAAgB,MAAM,CAAC,CAAC,SAAS,SAAS,EAAE,EAAE,OAAe,EAAE,GAAE;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAO,sCA8I1F"}
|
package/dist/places.js
CHANGED
|
@@ -46,8 +46,8 @@ export function Places({ compact = false } = {}) {
|
|
|
46
46
|
* once, for the scene and the shelf; the bar reads the same answer.
|
|
47
47
|
*/
|
|
48
48
|
const all = views.places().filter((place) => !hiddenKinds.has(place.kind));
|
|
49
|
-
// A picture over several kinds is one tab, pressed from either kind's district.
|
|
50
|
-
const
|
|
49
|
+
// A picture over several kinds is one tab, pressed from either kind's district; one kept off the lists (`hidden`) only while it is the one shown.
|
|
50
|
+
const listed = onePerPicture(all);
|
|
51
51
|
/*
|
|
52
52
|
* Which picture a group draws when the address names none: the LAST
|
|
53
53
|
* registration for the cell, because that is what the registry resolves
|
|
@@ -57,6 +57,7 @@ export function Places({ compact = false } = {}) {
|
|
|
57
57
|
const showing = view.within?.["view"];
|
|
58
58
|
const isHereOn = (place) => !view.overview && view.focusId === aggregateId(place.kind) && (showing === undefined ? isDefault(all, place) : showing === place.as);
|
|
59
59
|
const isHere = (place) => all.some((one) => samePicture(one, place) && isHereOn(one));
|
|
60
|
+
const places = listed.filter((place) => !place.hidden || isHere(place));
|
|
60
61
|
const here = places.find(isHere);
|
|
61
62
|
const row = useRef(null);
|
|
62
63
|
/* The place you are on, in view: a row that scrolls never hides the tab that says where you are. */
|
package/dist/places.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"places.js","sourceRoot":"","sources":["../src/places.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,WAAW,EAA8B,MAAM,eAAe,CAAC;AACnG,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAmB,MAAM,OAAO,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,aAAa,GAAG;;;8FAGwE,CAAC;AAE/F,MAAM,UAAU,MAAM,CAAsB,EAAE,OAAO,GAAG,KAAK,KAA4B,EAAE;IACzF,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,UAAU,EAAK,CAAC;IACtD,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,aAAa,EAAE,CAAC;IACrC;;;;;;;;;OASG;IACH,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3E,
|
|
1
|
+
{"version":3,"file":"places.js","sourceRoot":"","sources":["../src/places.tsx"],"names":[],"mappings":"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"}
|
|
@@ -71,6 +71,14 @@ export declare const FAINT_TEXT: CSSProperties;
|
|
|
71
71
|
* the count beside it, to the frame.
|
|
72
72
|
*/
|
|
73
73
|
export declare const NamedAbove: import("react").Context<string | null>;
|
|
74
|
+
/**
|
|
75
|
+
* THE NAME THE ITEM'S LINK SAYS. A listed card is a link stretched over its
|
|
76
|
+
* picture, named by the record; the picture's own title, drawn in the same
|
|
77
|
+
* words, is said once — by the link, first — and not again among the
|
|
78
|
+
* card's details. A reader heard "Themes without a build, Considering,
|
|
79
|
+
* Framework, Themes without a build, link" on every card of a board.
|
|
80
|
+
*/
|
|
81
|
+
export declare const NamedByItsLink: import("react").Context<string | null>;
|
|
74
82
|
export declare function Panel({ title, subtitle, meta, selected, tone, children, style, fit, variant, heading, }: PanelProps): import("react").JSX.Element;
|
|
75
83
|
/**
|
|
76
84
|
* A PARAGRAPH WHOSE LINKS ARE TARGETS TOO.
|