@graview/primitives 0.1.64 → 0.1.66
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/README.md +1 -1
- package/dist/app-bar.d.ts +88 -15
- package/dist/app-bar.d.ts.map +1 -1
- package/dist/app-bar.js +177 -131
- package/dist/app-bar.js.map +1 -1
- package/dist/app-menu.d.ts +9 -0
- package/dist/app-menu.d.ts.map +1 -0
- package/dist/app-menu.js +60 -0
- package/dist/app-menu.js.map +1 -0
- package/dist/bar-activity.d.ts +5 -9
- package/dist/bar-activity.d.ts.map +1 -1
- package/dist/bar-activity.js +24 -7
- package/dist/bar-activity.js.map +1 -1
- package/dist/bar-panes.d.ts +5 -5
- package/dist/bar-panes.d.ts.map +1 -1
- package/dist/bar-panes.js +9 -5
- package/dist/bar-panes.js.map +1 -1
- package/dist/bar-suggested.d.ts +9 -1
- package/dist/bar-suggested.d.ts.map +1 -1
- package/dist/bar-suggested.js +11 -17
- package/dist/bar-suggested.js.map +1 -1
- package/dist/better-bar.d.ts +65 -0
- package/dist/better-bar.d.ts.map +1 -0
- package/dist/better-bar.js +252 -0
- package/dist/better-bar.js.map +1 -0
- package/dist/better-panel.d.ts +50 -0
- package/dist/better-panel.d.ts.map +1 -0
- package/dist/better-panel.js +151 -0
- package/dist/better-panel.js.map +1 -0
- package/dist/chat.js +1 -1
- package/dist/chat.js.map +1 -1
- package/dist/editable.d.ts +8 -1
- package/dist/editable.d.ts.map +1 -1
- package/dist/editable.js +140 -16
- package/dist/editable.js.map +1 -1
- package/dist/find.js +3 -3
- package/dist/find.js.map +1 -1
- package/dist/first-look-door.d.ts +2 -2
- package/dist/first-look-door.js +2 -2
- package/dist/first-look.d.ts.map +1 -1
- package/dist/first-look.js +10 -8
- package/dist/first-look.js.map +1 -1
- package/dist/frame.d.ts +2 -2
- package/dist/frame.d.ts.map +1 -1
- package/dist/frame.js +1 -1
- package/dist/frame.js.map +1 -1
- package/dist/here.d.ts +1 -1
- package/dist/here.js +2 -2
- package/dist/here.js.map +1 -1
- package/dist/inbox-pane.d.ts +31 -0
- package/dist/inbox-pane.d.ts.map +1 -0
- package/dist/inbox-pane.js +89 -0
- package/dist/inbox-pane.js.map +1 -0
- package/dist/inbox.d.ts +17 -0
- package/dist/inbox.d.ts.map +1 -0
- package/dist/inbox.js +84 -0
- package/dist/inbox.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/inline-ai-menu.d.ts +4 -2
- package/dist/inline-ai-menu.d.ts.map +1 -1
- package/dist/inline-ai-menu.js +34 -8
- package/dist/inline-ai-menu.js.map +1 -1
- package/dist/kind-stop.d.ts.map +1 -1
- package/dist/kind-stop.js +204 -21
- package/dist/kind-stop.js.map +1 -1
- package/dist/lines-key.d.ts.map +1 -1
- package/dist/lines-key.js +22 -2
- package/dist/lines-key.js.map +1 -1
- package/dist/map-panel.js +98 -6
- package/dist/map-panel.js.map +1 -1
- package/dist/menu-rank.d.ts +25 -0
- package/dist/menu-rank.d.ts.map +1 -0
- package/dist/menu-rank.js +56 -0
- package/dist/menu-rank.js.map +1 -0
- package/dist/menu-suggested.d.ts +54 -0
- package/dist/menu-suggested.d.ts.map +1 -0
- package/dist/menu-suggested.js +140 -0
- package/dist/menu-suggested.js.map +1 -0
- package/dist/menu-told-door.d.ts +17 -0
- package/dist/menu-told-door.d.ts.map +1 -0
- package/dist/menu-told-door.js +49 -0
- package/dist/menu-told-door.js.map +1 -0
- package/dist/menu-told.d.ts +44 -0
- package/dist/menu-told.d.ts.map +1 -0
- package/dist/menu-told.js +90 -0
- package/dist/menu-told.js.map +1 -0
- package/dist/menu-words.d.ts +15 -0
- package/dist/menu-words.d.ts.map +1 -0
- package/dist/menu-words.js +28 -0
- package/dist/menu-words.js.map +1 -0
- package/dist/notify-sheet.js +2 -2
- package/dist/notify-sheet.js.map +1 -1
- package/dist/page-better.d.ts +13 -0
- package/dist/page-better.d.ts.map +1 -0
- package/dist/page-better.js +714 -0
- package/dist/page-better.js.map +1 -0
- package/dist/page-parts.d.ts +41 -0
- package/dist/page-parts.d.ts.map +1 -0
- package/dist/page-parts.js +100 -0
- package/dist/page-parts.js.map +1 -0
- package/dist/pages.d.ts +4 -3
- package/dist/pages.d.ts.map +1 -1
- package/dist/pages.js +4 -3
- package/dist/pages.js.map +1 -1
- package/dist/profile.d.ts +1 -10
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +2 -3
- package/dist/profile.js.map +1 -1
- package/dist/quick-ask-desk.d.ts +16 -0
- package/dist/quick-ask-desk.d.ts.map +1 -1
- package/dist/quick-ask-desk.js +20 -0
- package/dist/quick-ask-desk.js.map +1 -1
- package/dist/quick-ask-door.d.ts.map +1 -1
- package/dist/quick-ask-door.js +5 -0
- package/dist/quick-ask-door.js.map +1 -1
- package/dist/quick-ask-plan.d.ts +52 -0
- package/dist/quick-ask-plan.d.ts.map +1 -0
- package/dist/quick-ask-plan.js +112 -0
- package/dist/quick-ask-plan.js.map +1 -0
- package/dist/quick-ask.d.ts.map +1 -1
- package/dist/quick-ask.js +341 -19
- package/dist/quick-ask.js.map +1 -1
- package/dist/scene-bar.d.ts +1 -1
- package/dist/scene-bar.d.ts.map +1 -1
- package/dist/scene-bar.js +4 -7
- package/dist/scene-bar.js.map +1 -1
- package/dist/scene-css.d.ts.map +1 -1
- package/dist/scene-css.js +16 -6
- package/dist/scene-css.js.map +1 -1
- package/dist/scene-places.d.ts +3 -2
- package/dist/scene-places.d.ts.map +1 -1
- package/dist/scene-places.js +47 -8
- package/dist/scene-places.js.map +1 -1
- package/dist/scene.d.ts +2 -0
- package/dist/scene.d.ts.map +1 -1
- package/dist/scene.js +2 -0
- package/dist/scene.js.map +1 -1
- package/dist/section-better.d.ts +76 -0
- package/dist/section-better.d.ts.map +1 -0
- package/dist/section-better.js +529 -0
- package/dist/section-better.js.map +1 -0
- package/dist/section-door.d.ts +39 -0
- package/dist/section-door.d.ts.map +1 -0
- package/dist/section-door.js +66 -0
- package/dist/section-door.js.map +1 -0
- package/dist/section-menu.d.ts +32 -0
- package/dist/section-menu.d.ts.map +1 -0
- package/dist/section-menu.js +229 -0
- package/dist/section-menu.js.map +1 -0
- package/dist/section-outline.d.ts +8 -0
- package/dist/section-outline.d.ts.map +1 -0
- package/dist/section-outline.js +48 -0
- package/dist/section-outline.js.map +1 -0
- package/dist/section-words.d.ts +32 -0
- package/dist/section-words.d.ts.map +1 -0
- package/dist/section-words.js +116 -0
- package/dist/section-words.js.map +1 -0
- package/dist/shell.d.ts +5 -1
- package/dist/shell.d.ts.map +1 -1
- package/dist/shell.js +5 -2
- package/dist/shell.js.map +1 -1
- package/dist/subject.js +2 -2
- package/dist/subject.js.map +1 -1
- package/dist/suggested.d.ts +21 -10
- package/dist/suggested.d.ts.map +1 -1
- package/dist/suggested.js +43 -64
- package/dist/suggested.js.map +1 -1
- package/dist/told-card.d.ts +66 -0
- package/dist/told-card.d.ts.map +1 -0
- package/dist/told-card.js +197 -0
- package/dist/told-card.js.map +1 -0
- package/dist/told-listed.d.ts +14 -0
- package/dist/told-listed.d.ts.map +1 -0
- package/dist/told-listed.js +46 -0
- package/dist/told-listed.js.map +1 -0
- package/dist/told-panel-door.d.ts +17 -0
- package/dist/told-panel-door.d.ts.map +1 -0
- package/dist/told-panel-door.js +6 -0
- package/dist/told-panel-door.js.map +1 -0
- package/dist/told-panel.d.ts +19 -0
- package/dist/told-panel.d.ts.map +1 -0
- package/dist/told-panel.js +83 -0
- package/dist/told-panel.js.map +1 -0
- package/dist/told-ui.d.ts +5 -0
- package/dist/told-ui.d.ts.map +1 -0
- package/dist/told-ui.js +12 -0
- package/dist/told-ui.js.map +1 -0
- package/dist/when-words.d.ts +21 -0
- package/dist/when-words.d.ts.map +1 -0
- package/dist/when-words.js +43 -0
- package/dist/when-words.js.map +1 -0
- package/dist/workbench/activity.d.ts +44 -0
- package/dist/workbench/activity.d.ts.map +1 -1
- package/dist/workbench/activity.js +74 -59
- package/dist/workbench/activity.js.map +1 -1
- package/dist/workbench/ai-entries.d.ts.map +1 -1
- package/dist/workbench/ai-entries.js +23 -2
- package/dist/workbench/ai-entries.js.map +1 -1
- package/dist/workbench/back-out.js +1 -1
- package/dist/workbench/back-out.js.map +1 -1
- package/dist/workbench/inspector.d.ts.map +1 -1
- package/dist/workbench/inspector.js +366 -27
- package/dist/workbench/inspector.js.map +1 -1
- package/dist/workbench/standing.d.ts.map +1 -1
- package/dist/workbench/standing.js +1 -1
- package/dist/workbench/standing.js.map +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { AnySchema, Principal, Store } from "@graview/core";
|
|
2
|
+
import type { HostAi } from "@graview/tools";
|
|
3
|
+
import type { ToldSuggestion } from "./menu-told.js";
|
|
4
|
+
export type { ToldSuggestion } from "./menu-told.js";
|
|
5
|
+
/**
|
|
6
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
7
|
+
* f-menu-learns) — the door. The menu filters on its own words at the first
|
|
8
|
+
* key, whatever else is here; the suggestions (`menu-told.ts`, with
|
|
9
|
+
* `@graview/core/told`) are fetched apart, on the first key typed or when
|
|
10
|
+
* the page is idle with a menu open, and only where the host keeps
|
|
11
|
+
* tellings (`HostAi.told`). Until they are here the menu offers none.
|
|
12
|
+
*/
|
|
13
|
+
/** How many the menu offers. */
|
|
14
|
+
export declare const TOLD_SUGGESTED_MOST = 2;
|
|
15
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
16
|
+
export declare function useToldSuggestions(ai: HostAi | undefined, store: Store<AnySchema>, principal: Principal, words: string, on: string | undefined, opened: unknown, most?: number): readonly ToldSuggestion[];
|
|
17
|
+
//# sourceMappingURL=menu-told-door.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told-door.d.ts","sourceRoot":"","sources":["../src/menu-told-door.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEjE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD;;;;;;;GAOG;AAEH,gCAAgC;AAChC,eAAO,MAAM,mBAAmB,IAAI,CAAC;AAMrC,oIAAoI;AACpI,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,SAAI,GAAG,SAAS,cAAc,EAAE,CA6BrM"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { useEffect, useMemo, useState } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
4
|
+
* f-menu-learns) — the door. The menu filters on its own words at the first
|
|
5
|
+
* key, whatever else is here; the suggestions (`menu-told.ts`, with
|
|
6
|
+
* `@graview/core/told`) are fetched apart, on the first key typed or when
|
|
7
|
+
* the page is idle with a menu open, and only where the host keeps
|
|
8
|
+
* tellings (`HostAi.told`). Until they are here the menu offers none.
|
|
9
|
+
*/
|
|
10
|
+
/** How many the menu offers. */
|
|
11
|
+
export const TOLD_SUGGESTED_MOST = 2;
|
|
12
|
+
let fetched;
|
|
13
|
+
const fetchMenuTold = () => (fetched ??= import("./told-ui.js").catch((error) => ((fetched = undefined), Promise.reject(error))));
|
|
14
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
15
|
+
export function useToldSuggestions(ai, store, principal, words, on, opened, most = 4) {
|
|
16
|
+
const told = ai && !ai.off ? ai.told : undefined;
|
|
17
|
+
const typing = words.trim() !== "";
|
|
18
|
+
const [read, setRead] = useState(null);
|
|
19
|
+
// Each menu reads them again: what was told since the last one is suggested in the next.
|
|
20
|
+
useEffect(() => setRead(null), [opened]);
|
|
21
|
+
/* Fetched on the first key, or when the page is idle with a menu open: never before the menu filters. */
|
|
22
|
+
const [wanted, setWanted] = useState(false);
|
|
23
|
+
useEffect(() => {
|
|
24
|
+
if (!told || opened === null || opened === undefined)
|
|
25
|
+
return;
|
|
26
|
+
const idle = globalThis;
|
|
27
|
+
if (!idle.requestIdleCallback)
|
|
28
|
+
return;
|
|
29
|
+
const asked = idle.requestIdleCallback(() => setWanted(true), { timeout: 3000 });
|
|
30
|
+
return () => idle.cancelIdleCallback?.(asked);
|
|
31
|
+
}, [told, opened]);
|
|
32
|
+
useEffect(() => {
|
|
33
|
+
if (!told || read || !(typing || wanted))
|
|
34
|
+
return;
|
|
35
|
+
let live = true;
|
|
36
|
+
void fetchMenuTold()
|
|
37
|
+
.then(async (module) => {
|
|
38
|
+
const tellings = await module.readToldHere(told, store, principal);
|
|
39
|
+
if (live)
|
|
40
|
+
setRead({ tellings, module });
|
|
41
|
+
})
|
|
42
|
+
.catch(() => undefined);
|
|
43
|
+
return () => {
|
|
44
|
+
live = false;
|
|
45
|
+
};
|
|
46
|
+
}, [told, typing, wanted, read, store, principal]);
|
|
47
|
+
return useMemo(() => (read ? (typing ? read.module.toldSuggestionsFrom(read.tellings, store, principal, words, on, most) : read.module.toldForHere(read.tellings, store, principal, on, 3)) : []), [read, typing, words, store, principal, on, most]);
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=menu-told-door.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told-door.js","sourceRoot":"","sources":["../src/menu-told-door.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type AnySchema, type Principal, type Store } from "@graview/core";
|
|
2
|
+
import { type Telling, type ToldStore } from "@graview/core/told";
|
|
3
|
+
/**
|
|
4
|
+
* WHAT WORKED BEFORE, OFFERED AS THE MENU IS TYPED IN (Roadmap
|
|
5
|
+
* f-menu-learns): up to two of this app's kept tellings (`HostAi.told`)
|
|
6
|
+
* like the words typed on this kind, that were accepted or 👍 and not
|
|
7
|
+
* excluded — another person's only once enough people's agree
|
|
8
|
+
* (`similarTellings`) — each said as what it did, re-aimed at what the
|
|
9
|
+
* menu is on, as the plain act and nothing else: "Finish the 6 tasks in
|
|
10
|
+
* This week" — never where it came from, which the Studio says. The
|
|
11
|
+
* Fast slot re-ranks them with the menu's rows in the same Choice, at the
|
|
12
|
+
* same rest (`useFastRank`). Chosen, the words are asked on the quick
|
|
13
|
+
* ask's card and previewed like any plan: nothing is applied from here.
|
|
14
|
+
*
|
|
15
|
+
* Retrieval is local and cheap: the tellings are read once a menu is typed
|
|
16
|
+
* in (and kept a few seconds), and compared by words, kind and act. The
|
|
17
|
+
* comparing is `@graview/core/told`'s, fetched with the first typing.
|
|
18
|
+
*/
|
|
19
|
+
export interface ToldSuggestion {
|
|
20
|
+
/** The row's key, as the menu ranks it: `told:<id>`. */
|
|
21
|
+
readonly key: string;
|
|
22
|
+
readonly telling: Telling;
|
|
23
|
+
/** What it would do here, in words. */
|
|
24
|
+
readonly label: string;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* THE TELLING RE-AIMED AT WHAT THE MENU IS ON: its act's title over the
|
|
28
|
+
* records here, as it was over the records there — the record itself, or
|
|
29
|
+
* the records of its kind it holds; a plan in its own words. Nothing when
|
|
30
|
+
* it cannot be aimed here (no record of the kind it acted on).
|
|
31
|
+
*/
|
|
32
|
+
export declare function reaimed(store: Store<AnySchema>, telling: Telling, on: string | undefined): string | undefined;
|
|
33
|
+
/** What the menu has read: the tellings this reader may be offered. */
|
|
34
|
+
export declare function readToldHere(told: ToldStore, store: Store<AnySchema>, principal: Principal): Promise<readonly Telling[]>;
|
|
35
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
36
|
+
export declare function toldSuggestionsFrom(tellings: readonly Telling[], store: Store<AnySchema>, principal: Principal, words: string, on: string | undefined, most?: number): readonly ToldSuggestion[];
|
|
37
|
+
/**
|
|
38
|
+
* WHAT WORKED HERE BEFORE, WITH NOTHING TYPED (Roadmap f-make-any-page-better):
|
|
39
|
+
* tellings rated up or kept, about this kind of thing, re-aimed at what the
|
|
40
|
+
* menu is on — the menu's Suggested picks from them. The act alone, never
|
|
41
|
+
* "like last time".
|
|
42
|
+
*/
|
|
43
|
+
export declare function toldForHere(tellings: readonly Telling[], store: Store<AnySchema>, principal: Principal, on: string | undefined, most?: number): readonly ToldSuggestion[];
|
|
44
|
+
//# sourceMappingURL=menu-told.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told.d.ts","sourceRoot":"","sources":["../src/menu-told.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,KAAK,KAAK,EAAE,MAAM,eAAe,CAAC;AAC9F,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/F;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,cAAc;IAC7B,wDAAwD;IACxD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,uCAAuC;IACvC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAcD;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAyB7G;AAED,uEAAuE;AACvE,wBAAsB,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAE9H;AAED,oIAAoI;AACpI,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,SAAI,GAAG,SAAS,cAAc,EAAE,CAO3L;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,SAAI,GAAG,SAAS,cAAc,EAAE,CAapK"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { labelOf, pluralOf } from "@graview/core";
|
|
2
|
+
import { similarTellings, toldSeenBy } from "@graview/core/told";
|
|
3
|
+
import { seenOnThisPage, toldListed } from "./told-listed.js";
|
|
4
|
+
const capital = (words) => words.charAt(0).toUpperCase() + words.slice(1);
|
|
5
|
+
/** The kind of what the menu is on: a record's, or a district's (`kind:task`, `aggregate:task`). */
|
|
6
|
+
function kindOn(store, on) {
|
|
7
|
+
if (!on)
|
|
8
|
+
return undefined;
|
|
9
|
+
const node = store.graph.getNode(on);
|
|
10
|
+
if (node)
|
|
11
|
+
return node.kind;
|
|
12
|
+
const district = /^(?:kind|aggregate):(.+)$/.exec(on)?.[1];
|
|
13
|
+
return district && store.schema.tryDefinition(district) ? district : undefined;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* THE TELLING RE-AIMED AT WHAT THE MENU IS ON: its act's title over the
|
|
17
|
+
* records here, as it was over the records there — the record itself, or
|
|
18
|
+
* the records of its kind it holds; a plan in its own words. Nothing when
|
|
19
|
+
* it cannot be aimed here (no record of the kind it acted on).
|
|
20
|
+
*/
|
|
21
|
+
export function reaimed(store, telling, on) {
|
|
22
|
+
const schema = store.schema;
|
|
23
|
+
if (telling.decided.type === "plan")
|
|
24
|
+
return capital(telling.words);
|
|
25
|
+
if (telling.decided.type !== "act")
|
|
26
|
+
return undefined;
|
|
27
|
+
const actName = telling.decided.act;
|
|
28
|
+
const mutation = store.allMutations().find((one) => one.name === actName);
|
|
29
|
+
if (!mutation)
|
|
30
|
+
return undefined;
|
|
31
|
+
const title = mutation.title ?? mutation.name;
|
|
32
|
+
/* "Mark it done" over the records here: "Mark the 6 tasks in This week done" — the act's own words, its object put in. */
|
|
33
|
+
const said = (object) => (/\b(?:it|this|them)\b/i.test(title) ? title.replace(/\b(?:it|this|them)\b/i, object) : `${title} ${object}`);
|
|
34
|
+
const node = on ? store.graph.getNode(on) : undefined;
|
|
35
|
+
const name = node ? labelOf(schema.tryDefinition(node.kind), node) : undefined;
|
|
36
|
+
const kind = telling.reading?.kind ?? telling.target.kind;
|
|
37
|
+
if (!kind || !schema.tryDefinition(kind))
|
|
38
|
+
return undefined;
|
|
39
|
+
if (telling.reading?.which === "itself" || (!telling.reading && node?.kind === kind)) {
|
|
40
|
+
return node && node.kind === kind && name ? capital(said(name)) : undefined;
|
|
41
|
+
}
|
|
42
|
+
const held = node
|
|
43
|
+
? new Set([...store.graph.in(node.id), ...store.graph.out(node.id)].filter((one) => one.kind === kind).map((one) => one.id)).size
|
|
44
|
+
: kindOn(store, on) === kind
|
|
45
|
+
? store.graph.allNodes().filter((one) => one.kind === kind).length
|
|
46
|
+
: 0;
|
|
47
|
+
if (held === 0)
|
|
48
|
+
return undefined;
|
|
49
|
+
const noun = held === 1 ? (schema.tryDefinition(kind)?.noun ?? kind).toLowerCase() : pluralOf(schema, kind).toLowerCase();
|
|
50
|
+
return capital(said(`the ${held} ${noun}${name ? ` in ${name}` : ""}`));
|
|
51
|
+
}
|
|
52
|
+
/** What the menu has read: the tellings this reader may be offered. */
|
|
53
|
+
export async function readToldHere(told, store, principal) {
|
|
54
|
+
return toldSeenBy(await toldListed(told), seenOnThisPage(store, principal));
|
|
55
|
+
}
|
|
56
|
+
/** The tellings like the words typed in the menu that worked, re-aimed here: at most `most`, before the Fast slot re-ranks them. */
|
|
57
|
+
export function toldSuggestionsFrom(tellings, store, principal, words, on, most = 4) {
|
|
58
|
+
if (words.trim() === "")
|
|
59
|
+
return [];
|
|
60
|
+
const kind = kindOn(store, on);
|
|
61
|
+
return similarTellings(tellings, { words, ...(kind ? { kind } : {}) }, { reader: principal, most }).flatMap(({ telling }) => {
|
|
62
|
+
const label = reaimed(store, telling, on);
|
|
63
|
+
return label ? [{ key: `told:${telling.id}`, telling, label }] : [];
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* WHAT WORKED HERE BEFORE, WITH NOTHING TYPED (Roadmap f-make-any-page-better):
|
|
68
|
+
* tellings rated up or kept, about this kind of thing, re-aimed at what the
|
|
69
|
+
* menu is on — the menu's Suggested picks from them. The act alone, never
|
|
70
|
+
* "like last time".
|
|
71
|
+
*/
|
|
72
|
+
export function toldForHere(tellings, store, principal, on, most = 3) {
|
|
73
|
+
const seen = new Set();
|
|
74
|
+
const out = [];
|
|
75
|
+
for (const telling of [...tellings].reverse()) {
|
|
76
|
+
if (out.length >= most)
|
|
77
|
+
break;
|
|
78
|
+
if (!(telling.rating === "up" || telling.outcome === "accepted"))
|
|
79
|
+
continue;
|
|
80
|
+
if (telling.by !== undefined && principal.id !== undefined && telling.by.id !== undefined && telling.by.id !== principal.id)
|
|
81
|
+
continue;
|
|
82
|
+
const label = reaimed(store, telling, on);
|
|
83
|
+
if (!label || seen.has(label.toLowerCase()))
|
|
84
|
+
continue;
|
|
85
|
+
seen.add(label.toLowerCase());
|
|
86
|
+
out.push({ key: `told:${telling.id}`, telling, label });
|
|
87
|
+
}
|
|
88
|
+
return out;
|
|
89
|
+
}
|
|
90
|
+
//# sourceMappingURL=menu-told.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-told.js","sourceRoot":"","sources":["../src/menu-told.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT A WORD TYPED IN THE MENU FINDS (Roadmap f-menu-type-anything): every
|
|
3
|
+
* row whose words begin with what was typed. Each word typed must be the
|
|
4
|
+
* start of one of the row's words, in any order — "copy l" finds "Copy
|
|
5
|
+
* link", "fin" finds "Finish it", "it fin" finds it too — read without case
|
|
6
|
+
* or accents. A plain word-start match, not Find's matcher
|
|
7
|
+
* (`@graview/core/search`): the menu's rows are a dozen sentences already
|
|
8
|
+
* drawn, not records to rank, and the match must be the same on every row
|
|
9
|
+
* — an act, Go, Show, Copy link — whoever drew it.
|
|
10
|
+
*/
|
|
11
|
+
/** A row's words, or the words typed, folded: lower case, no accents, split at anything not a letter or a digit. */
|
|
12
|
+
export declare function menuWords(text: string): readonly string[];
|
|
13
|
+
/** Whether every word typed begins one of the row's words. Nothing typed matches every row. */
|
|
14
|
+
export declare function menuMatches(label: string, typed: string): boolean;
|
|
15
|
+
//# sourceMappingURL=menu-words.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-words.d.ts","sourceRoot":"","sources":["../src/menu-words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,oHAAoH;AACpH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAOzD;AAED,+FAA+F;AAC/F,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAKjE"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WHAT A WORD TYPED IN THE MENU FINDS (Roadmap f-menu-type-anything): every
|
|
3
|
+
* row whose words begin with what was typed. Each word typed must be the
|
|
4
|
+
* start of one of the row's words, in any order — "copy l" finds "Copy
|
|
5
|
+
* link", "fin" finds "Finish it", "it fin" finds it too — read without case
|
|
6
|
+
* or accents. A plain word-start match, not Find's matcher
|
|
7
|
+
* (`@graview/core/search`): the menu's rows are a dozen sentences already
|
|
8
|
+
* drawn, not records to rank, and the match must be the same on every row
|
|
9
|
+
* — an act, Go, Show, Copy link — whoever drew it.
|
|
10
|
+
*/
|
|
11
|
+
/** A row's words, or the words typed, folded: lower case, no accents, split at anything not a letter or a digit. */
|
|
12
|
+
export function menuWords(text) {
|
|
13
|
+
return text
|
|
14
|
+
.toLowerCase()
|
|
15
|
+
.normalize("NFKD")
|
|
16
|
+
.replace(/[̀-ͯ]/g, "")
|
|
17
|
+
.split(/[^\p{L}\p{N}]+/u)
|
|
18
|
+
.filter(Boolean);
|
|
19
|
+
}
|
|
20
|
+
/** Whether every word typed begins one of the row's words. Nothing typed matches every row. */
|
|
21
|
+
export function menuMatches(label, typed) {
|
|
22
|
+
const wanted = menuWords(typed);
|
|
23
|
+
if (wanted.length === 0)
|
|
24
|
+
return true;
|
|
25
|
+
const words = menuWords(label);
|
|
26
|
+
return wanted.every((word) => words.some((one) => one.startsWith(word)));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=menu-words.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"menu-words.js","sourceRoot":"","sources":["../src/menu-words.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,oHAAoH;AACpH,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,IAAI;SACR,WAAW,EAAE;SACb,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,iBAAiB,CAAC;SACxB,MAAM,CAAC,OAAO,CAAC,CAAC;AACrB,CAAC;AAED,+FAA+F;AAC/F,MAAM,UAAU,WAAW,CAAC,KAAa,EAAE,KAAa;IACtD,MAAM,MAAM,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAChC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAC3E,CAAC"}
|
package/dist/notify-sheet.js
CHANGED
|
@@ -42,7 +42,7 @@ export function NotifySheet({ ask, close }) {
|
|
|
42
42
|
if (back?.isConnected)
|
|
43
43
|
back.focus();
|
|
44
44
|
else
|
|
45
|
-
document.querySelector("[data-graview-page-title], main h1, [data-testid='
|
|
45
|
+
document.querySelector("[data-graview-page-title], main h1, [data-testid='inbox-button']")?.focus();
|
|
46
46
|
});
|
|
47
47
|
};
|
|
48
48
|
const whenOf = (choice) => (choice.on === "reaches" ? { ...choice, condition } : choice);
|
|
@@ -96,7 +96,7 @@ export function NotifiedList({ style }) {
|
|
|
96
96
|
// The keyboard stays in the list: on the next Stop, else Activity's own button.
|
|
97
97
|
const item = event.currentTarget.closest("li");
|
|
98
98
|
const next = (item?.nextElementSibling ?? item?.previousElementSibling)?.querySelector("button");
|
|
99
|
-
void Promise.resolve(subscriptions.remove(one.id)).then(() => (next ?? document.querySelector("[data-testid='
|
|
99
|
+
void Promise.resolve(subscriptions.remove(one.id)).then(() => (next ?? document.querySelector("[data-testid='inbox-button']"))?.focus());
|
|
100
100
|
}, style: { padding: "1px 8px", fontSize: "0.8125rem" }, children: "Stop" })] }, one.id))) })] }));
|
|
101
101
|
}
|
|
102
102
|
//# sourceMappingURL=notify-sheet.js.map
|
package/dist/notify-sheet.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify-sheet.js","sourceRoot":"","sources":["../src/notify-sheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAA+E,MAAM,eAAe,CAAC;AAC1H,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAC/E,OAAO,YAAY,CAAC,CAAC,2FAA2F;AA8BhH,yGAAyG;AACzG,SAAS,cAAc,CAAC,OAAgC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,GAAG,KAAK,UAAU,CAAC;IACtG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;AAErG,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAoB;IAC1D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,UAAU,EAAa,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAuD,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrH,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iGAAiG;IACjG,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,KAAK,EAAE,CAAC;QACR,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,EAAE,WAAW;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;gBAC/B,QAAQ,CAAC,aAAa,CAAc,
|
|
1
|
+
{"version":3,"file":"notify-sheet.js","sourceRoot":"","sources":["../src/notify-sheet.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAA+E,MAAM,eAAe,CAAC;AAC1H,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAC/E,OAAO,YAAY,CAAC,CAAC,2FAA2F;AA8BhH,yGAAyG;AACzG,SAAS,cAAc,CAAC,OAAgC;IACtD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,IAAI,KAAK,KAAK,KAAK;gBAAE,OAAO,GAAG,KAAK,UAAU,CAAC;IACtG,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,KAAK,GAAkB,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,CAAC;AAErG,MAAM,UAAU,WAAW,CAAC,EAAE,GAAG,EAAE,KAAK,EAAoB;IAC1D,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,UAAU,EAAa,CAAC;IACzE,MAAM,MAAM,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,KAAK,EAAE,CAAC;IACxB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACxC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,EAAuD,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;QACrH,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC5F,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAoB,CAAC,CAAC,CAAC,CAAE,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAoB,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC5D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC;QAC7B,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,KAAK,CAAC,SAAS,EAAE,CAAC;IAC9C,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,iGAAiG;IACjG,MAAM,IAAI,GAAG,GAAG,EAAE;QAChB,MAAM,IAAI,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC1B,KAAK,EAAE,CAAC;QACR,qBAAqB,CAAC,GAAG,EAAE;YACzB,IAAI,IAAI,EAAE,WAAW;gBAAE,IAAI,CAAC,KAAK,EAAE,CAAC;;gBAC/B,QAAQ,CAAC,aAAa,CAAc,kEAAkE,CAAC,EAAE,KAAK,EAAE,CAAC;QACxH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,CAAC,MAAwB,EAAoB,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC7H,MAAM,KAAK,GAAG,CAAC,MAAwB,EAAE,EAAE,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,CAAC,CAAC;IAEtH,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACtB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,CAAC;QAC1C,MAAM,KAAK,GAAG,mBAAmB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,OAAO;QACT,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;YACpI,IAAI,EAAE,CAAC;QACT,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,CAAC,CAAC;YAClB,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,iBACE,GAAG,EAAE,MAAM,qBACM,OAAO,iBACZ,cAAc,EAC1B,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;YACjB,4DAA4D;YAC5D,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,aAAa;gBAAE,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QACxE,CAAC,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,+BAA+B,EAAE,YAAY,EAAE,6BAA6B,EAAE,UAAU,EAAE,sBAAsB,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,0BAA0B,EAAE,YAE9O,gBACE,MAAM,EAAC,QAAQ,EACf,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAClB,KAAK,CAAC,cAAc,EAAE,CAAC;gBACvB,KAAK,IAAI,EAAE,CAAC;YACd,CAAC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,aAEhD,aAAI,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,0BAEvD,EACL,oBAAU,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aAC5E,iBAAQ,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,wBAAkB,EAC7D,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,CAAC,CAC/B,iBAAgB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,aAC3F,gBAAO,IAAI,EAAC,OAAO,EAAC,IAAI,EAAE,GAAG,OAAO,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,wBAAsB,MAAM,CAAC,EAAE,GAAI,EACrI,yBAAO,MAAM,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,GAAQ,KAFvH,EAAE,CAGN,CACT,CAAC,IACO,EACV,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,CACvC,iBAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,aACvC,eAAM,KAAK,EAAE,KAAK,mFAA8E,EAChG,gBAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAc,kBAAkB,EAAC,YAAY,EAAC,KAAK,EAAC,UAAU,EAAE,KAAK,GAAI,IACjJ,CACT,CAAC,CAAC,CAAC,IAAI,EACR,iBAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,aAC7D,gBAAO,IAAI,EAAC,UAAU,EAAC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAc,oBAAoB,GAAG,sCAEnI,EACR,aAAG,KAAK,EAAE,KAAK,iBAAc,aAAa,aACvC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,SAC1B,EACH,OAAO,CAAC,CAAC,CAAC,CACT,YAAG,IAAI,EAAC,OAAO,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,2CAA2C,EAAE,YACrF,OAAO,GACN,CACL,CAAC,CAAC,CAAC,IAAI,EACR,eAAK,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,cAAc,EAAE,UAAU,EAAE,aACjE,iBAAQ,IAAI,EAAC,QAAQ,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,uBAEnD,EACT,iBAAQ,IAAI,EAAC,QAAQ,EAAC,SAAS,QAAC,QAAQ,EAAE,OAAO,iBAAc,aAAa,EAAC,KAAK,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE,KAAK,EAAE,uBAAuB,EAAE,0BAEnJ,IACL,IACD,GACA,CACV,CAAC;AACJ,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,EAAE,KAAK,EAAsC;IACxE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,GAAG,EAAE,GAAG,UAAU,EAAa,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,CAAC,EAAE,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAA0B,EAAE,CAAC,CAAC;IAC9D,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAC9B,IAAI,IAAI,GAAG,IAAI,CAAC;QAChB,MAAM,IAAI,GAAG,GAAG,EAAE,CAChB,KAAK,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAChD,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,EAC/E,GAAG,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,EAAE,CAAC,CAC1B,CAAC;QACJ,IAAI,EAAE,CAAC;QACP,MAAM,GAAG,GAAG,aAAa,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE;YACV,IAAI,GAAG,KAAK,CAAC;YACb,GAAG,EAAE,EAAE,CAAC;QACV,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,aAAa,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,OAAO,CACL,iCAAoB,sBAAsB,iBAAa,UAAU,EAAC,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,KAAK,EAAE,aAC5G,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,EAAE,0BAA0B,EAAE,6BAAqB,EACjJ,aAAI,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,YAC7E,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACjB,cAAiB,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,eAAe,EAAE,uBAAqB,GAAG,CAAC,EAAE,aACrI,eAAM,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAG,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,GAAQ,EAC9E,iBACE,IAAI,EAAC,QAAQ,iBACD,aAAa,gBACb,SAAS,iBAAiB,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EACpD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gCACjB,gFAAgF;gCAChF,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gCAC/C,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,kBAAkB,IAAI,IAAI,EAAE,sBAAsB,CAAC,EAAE,aAAa,CAAc,QAAQ,CAAC,CAAC;gCAC9G,KAAK,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAc,8BAA8B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;4BACxJ,CAAC,EACD,KAAK,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,WAAW,EAAE,qBAG7C,KAfF,GAAG,CAAC,EAAE,CAgBV,CACN,CAAC,GACC,IACG,CACX,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { SectionAsk } from "./section-menu.js";
|
|
2
|
+
import "./frame.js";
|
|
3
|
+
/** What a page shows, as a fingerprint: its words and its shape. A draft that leaves it the same changed nothing drawn here. */
|
|
4
|
+
export declare function drawnSignature(main: Element | null): string;
|
|
5
|
+
/** The page as it stands, a line each: its headings, its rows and cards, its facts — what a view of it is seeded from. */
|
|
6
|
+
export declare function outlineOf(main: Element | null, most?: number): string;
|
|
7
|
+
export declare function PageCard({ ask, close }: {
|
|
8
|
+
readonly ask: Extract<SectionAsk, {
|
|
9
|
+
part: object;
|
|
10
|
+
}>;
|
|
11
|
+
readonly close: () => void;
|
|
12
|
+
}): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=page-better.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"page-better.d.ts","sourceRoot":"","sources":["../src/page-better.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,YAAY,CAAC;AAsDpB,gIAAgI;AAChI,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,GAAG,MAAM,CAI3D;AAED,0HAA0H;AAC1H,wBAAgB,SAAS,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,EAAE,IAAI,SAAK,GAAG,MAAM,CAoBjE;AAwHD,wBAAgB,QAAQ,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,IAAI,CAAA;CAAE,+BAue3H"}
|