@pinecall/dot 0.11.24 → 0.11.26
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 +135 -59
- package/dist/agent/index.d.ts +3 -2
- package/dist/agent/index.d.ts.map +1 -1
- package/dist/agent/index.js +2 -1
- package/dist/agent/index.js.map +1 -1
- package/dist/agent/tutor.d.ts +8 -10
- package/dist/agent/tutor.d.ts.map +1 -1
- package/dist/agent/tutor.js +71 -74
- package/dist/agent/tutor.js.map +1 -1
- package/dist/agent/walks.d.ts +19 -0
- package/dist/agent/walks.d.ts.map +1 -0
- package/dist/agent/walks.js +89 -0
- package/dist/agent/walks.js.map +1 -0
- package/dist/page/page.d.ts +2 -2
- package/dist/page/page.d.ts.map +1 -1
- package/dist/page/page.js +5 -5
- package/dist/page/page.js.map +1 -1
- package/dist/page/roles.d.ts +2 -0
- package/dist/page/roles.d.ts.map +1 -1
- package/dist/page/roles.js +21 -2
- package/dist/page/roles.js.map +1 -1
- package/dist/pointer/asking.d.ts +25 -0
- package/dist/pointer/asking.d.ts.map +1 -0
- package/dist/pointer/asking.js +82 -0
- package/dist/pointer/asking.js.map +1 -0
- package/dist/pointer/flight.d.ts +28 -0
- package/dist/pointer/flight.d.ts.map +1 -1
- package/dist/pointer/flight.js +93 -7
- package/dist/pointer/flight.js.map +1 -1
- package/dist/pointer/frames.d.ts +28 -0
- package/dist/pointer/frames.d.ts.map +1 -0
- package/dist/pointer/frames.js +66 -0
- package/dist/pointer/frames.js.map +1 -0
- package/dist/pointer/icons.d.ts +8 -0
- package/dist/pointer/icons.d.ts.map +1 -0
- package/dist/pointer/icons.js +15 -0
- package/dist/pointer/icons.js.map +1 -0
- package/dist/pointer/menu.d.ts +3 -0
- package/dist/pointer/menu.d.ts.map +1 -1
- package/dist/pointer/menu.js +26 -6
- package/dist/pointer/menu.js.map +1 -1
- package/dist/pointer/person.d.ts +13 -2
- package/dist/pointer/person.d.ts.map +1 -1
- package/dist/pointer/person.js +47 -41
- package/dist/pointer/person.js.map +1 -1
- package/dist/pointer/pressing.d.ts +6 -0
- package/dist/pointer/pressing.d.ts.map +1 -0
- package/dist/pointer/pressing.js +32 -0
- package/dist/pointer/pressing.js.map +1 -0
- package/dist/pointer/typing.d.ts +5 -3
- package/dist/pointer/typing.d.ts.map +1 -1
- package/dist/pointer/typing.js +46 -15
- package/dist/pointer/typing.js.map +1 -1
- package/dist/server/index.d.ts +34 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +108 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/questions.d.ts +30 -0
- package/dist/server/questions.d.ts.map +1 -0
- package/dist/server/questions.js +136 -0
- package/dist/server/questions.js.map +1 -0
- package/dist/server/saying.d.ts +31 -0
- package/dist/server/saying.d.ts.map +1 -0
- package/dist/server/saying.js +124 -0
- package/dist/server/saying.js.map +1 -0
- package/dist/tutor/acting.d.ts +42 -0
- package/dist/tutor/acting.d.ts.map +1 -0
- package/dist/tutor/acting.js +180 -0
- package/dist/tutor/acting.js.map +1 -0
- package/dist/tutor/aloud.d.ts +50 -0
- package/dist/tutor/aloud.d.ts.map +1 -0
- package/dist/tutor/aloud.js +288 -0
- package/dist/tutor/aloud.js.map +1 -0
- package/dist/tutor/ask.d.ts +49 -0
- package/dist/tutor/ask.d.ts.map +1 -0
- package/dist/tutor/ask.js +47 -0
- package/dist/tutor/ask.js.map +1 -0
- package/dist/tutor/listening.d.ts +17 -0
- package/dist/tutor/listening.d.ts.map +1 -0
- package/dist/tutor/listening.js +66 -0
- package/dist/tutor/listening.js.map +1 -0
- package/dist/tutor/options.d.ts +37 -1
- package/dist/tutor/options.d.ts.map +1 -1
- package/dist/tutor/options.js +1 -1
- package/dist/tutor/options.js.map +1 -1
- package/dist/tutor/reading.d.ts +58 -0
- package/dist/tutor/reading.d.ts.map +1 -0
- package/dist/tutor/reading.js +193 -0
- package/dist/tutor/reading.js.map +1 -0
- package/dist/tutor/text.d.ts +16 -0
- package/dist/tutor/text.d.ts.map +1 -0
- package/dist/tutor/text.js +119 -0
- package/dist/tutor/text.js.map +1 -0
- package/dist/tutor/tutor.d.ts +2 -9
- package/dist/tutor/tutor.d.ts.map +1 -1
- package/dist/tutor/tutor.js +109 -87
- package/dist/tutor/tutor.js.map +1 -1
- package/dist/tutor/walking.d.ts +20 -6
- package/dist/tutor/walking.d.ts.map +1 -1
- package/dist/tutor/walking.js +125 -25
- package/dist/tutor/walking.js.map +1 -1
- package/dist/tutor/walks.d.ts +33 -0
- package/dist/tutor/walks.d.ts.map +1 -1
- package/dist/tutor/walks.js +116 -10
- package/dist/tutor/walks.js.map +1 -1
- package/dist/wire/acts.d.ts +60 -0
- package/dist/wire/acts.d.ts.map +1 -0
- package/dist/wire/acts.js +120 -0
- package/dist/wire/acts.js.map +1 -0
- package/dist/wire/ask.d.ts +132 -0
- package/dist/wire/ask.d.ts.map +1 -0
- package/dist/wire/ask.js +102 -0
- package/dist/wire/ask.js.map +1 -0
- package/dist/wire/index.d.ts +26 -8
- package/dist/wire/index.d.ts.map +1 -1
- package/dist/wire/index.js +62 -11
- package/dist/wire/index.js.map +1 -1
- package/docs/macros.md +53 -3
- package/docs/write-a-tutor.md +26 -2
- package/package.json +8 -4
package/dist/pointer/flight.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/** How the pointer moves: where it aims on an element, the path it flies, and the page scrolled like a hand scrolls it. */
|
|
2
2
|
//
|
|
3
3
|
// The path is the screen recorder's: minimum jerk, timed by the distance, with a slight arc off the
|
|
4
|
-
// straight line, the way a hand moves a mouse.
|
|
4
|
+
// straight line, the way a hand moves a mouse. Every box is the top page's, an element in a frame of the
|
|
5
|
+
// site's own too (`frames.ts`).
|
|
6
|
+
import { boxOf, frameOf, onTop, originOf } from "./frames.js";
|
|
5
7
|
/** Minimum jerk: 0 to 1, starting and ending still. */
|
|
6
8
|
export function minJerk(u) {
|
|
7
9
|
return u * u * u * (10 + u * (-15 + 6 * u));
|
|
@@ -39,14 +41,26 @@ export function aimOf(element) {
|
|
|
39
41
|
if (text !== null) {
|
|
40
42
|
const range = document.createRange();
|
|
41
43
|
range.selectNodeContents(text);
|
|
42
|
-
const words = range.getClientRects()[0] ?? range.getBoundingClientRect();
|
|
44
|
+
const words = onTop(range.getClientRects()[0] ?? range.getBoundingClientRect(), document);
|
|
43
45
|
if (words.width > 0)
|
|
44
46
|
return { x: words.left + Math.min(words.width / 2, 60), y: words.bottom + UNDER };
|
|
45
47
|
}
|
|
46
48
|
}
|
|
47
|
-
const box = element
|
|
49
|
+
const box = boxOf(element);
|
|
48
50
|
return { x: box.left + box.width / 2, y: box.top + Math.min(box.height / 2, 60) };
|
|
49
51
|
}
|
|
52
|
+
/** How much room the face needs at a block's left to stand beside it, in px. */
|
|
53
|
+
const BESIDE = 72;
|
|
54
|
+
/**
|
|
55
|
+
* Where the pointer stands to show a block being read without covering it: its tip at the block's first
|
|
56
|
+
* line, the face to its left, in the margin (`west`); above the block where the left has no room.
|
|
57
|
+
*/
|
|
58
|
+
export function besideOf(element) {
|
|
59
|
+
const box = boxOf(element);
|
|
60
|
+
if (box.left >= BESIDE)
|
|
61
|
+
return { aim: { x: box.left - 2, y: box.top + Math.min(10, box.height / 2) }, side: { west: true, up: false } };
|
|
62
|
+
return { aim: { x: box.left + 16, y: box.top - 4 }, side: { west: false, up: true } };
|
|
63
|
+
}
|
|
50
64
|
/** Run `step(u)` from 0 to 1 over `ms`, once a frame; resolves at 1. */
|
|
51
65
|
export function animate(ms, step) {
|
|
52
66
|
const start = performance.now();
|
|
@@ -116,13 +130,85 @@ export async function scrollOnto(element, where, still) {
|
|
|
116
130
|
const view = element.ownerDocument.defaultView;
|
|
117
131
|
if (view === null)
|
|
118
132
|
return;
|
|
133
|
+
// The innermost box first, then each one it stands in, then the page: a line of an output that scrolls is
|
|
134
|
+
// brought into the output, and the output into the page. In a frame, its page, then the frame in the one around it.
|
|
135
|
+
let scroller = scrollerOf(element);
|
|
136
|
+
for (;;) {
|
|
137
|
+
await scrollWithin(element, scroller, where, still, view);
|
|
138
|
+
if (scroller === null)
|
|
139
|
+
break;
|
|
140
|
+
scroller = scrollerOf(scroller);
|
|
141
|
+
}
|
|
142
|
+
const frame = frameOf(element.ownerDocument);
|
|
143
|
+
if (frame !== null)
|
|
144
|
+
await scrollOnto(frame, where, still);
|
|
145
|
+
}
|
|
146
|
+
/** What a box that scrolls keeps clear at its top, in px: its own `scroll-padding-top` (a bar stuck inside it). */
|
|
147
|
+
export function paddingOf(scroller) {
|
|
148
|
+
const padding = Number.parseFloat(scroller.ownerDocument.defaultView?.getComputedStyle(scroller).scrollPaddingTop ?? "");
|
|
149
|
+
return Number.isFinite(padding) ? Math.max(0, padding) : 0;
|
|
150
|
+
}
|
|
151
|
+
/** `element` scrolled into view within one box: `scroller`, or the page when null. */
|
|
152
|
+
async function scrollWithin(element, scroller, where, still, view) {
|
|
119
153
|
const box = element.getBoundingClientRect();
|
|
120
|
-
const
|
|
121
|
-
const
|
|
154
|
+
const frame = scroller === null ? { top: 0, height: view.innerHeight } : scroller.getBoundingClientRect();
|
|
155
|
+
const covered = Math.max(0, coveredTop(element.ownerDocument) - frame.top, scroller === null ? 0 : paddingOf(scroller));
|
|
156
|
+
const from = scroller === null ? view.scrollY : scroller.scrollTop;
|
|
157
|
+
const total = scroller === null ? element.ownerDocument.documentElement.scrollHeight : scroller.scrollHeight;
|
|
158
|
+
const height = scroller === null ? view.innerHeight : scroller.clientHeight;
|
|
159
|
+
const goal = scrollGoal({ top: box.top - frame.top, height: box.height }, from, height, total, where, covered);
|
|
122
160
|
const dy = goal - from;
|
|
123
161
|
if (Math.abs(dy) < 8)
|
|
124
162
|
return;
|
|
125
|
-
const ms = still ? 0 : Math.round(520 + 680 * Math.min(1, Math.abs(dy) / (
|
|
126
|
-
await animate(ms, (u) => view.scrollTo(0, from + dy * minJerk(u)));
|
|
163
|
+
const ms = still ? 0 : Math.round(520 + 680 * Math.min(1, Math.abs(dy) / (height * 2)));
|
|
164
|
+
await animate(ms, (u) => (scroller === null ? view.scrollTo(0, from + dy * minJerk(u)) : scroller.scrollTo(0, from + dy * minJerk(u))));
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* What can be seen where `element` stands, on the top page's screen: the screen under the site's header, cut down
|
|
168
|
+
* by every box the element scrolls in, and in a frame, by the frame's screen and every box the frame scrolls in.
|
|
169
|
+
*/
|
|
170
|
+
export function seenOf(element) {
|
|
171
|
+
let top = -Infinity;
|
|
172
|
+
let bottom = Infinity;
|
|
173
|
+
for (let node = element; node !== null; node = frameOf(node.ownerDocument)) {
|
|
174
|
+
const page = node.ownerDocument;
|
|
175
|
+
const view = page.defaultView;
|
|
176
|
+
if (view === null)
|
|
177
|
+
break;
|
|
178
|
+
const at = originOf(page).y;
|
|
179
|
+
top = Math.max(top, at + (frameOf(page) === null ? coveredTop(page) : 0));
|
|
180
|
+
bottom = Math.min(bottom, at + view.innerHeight);
|
|
181
|
+
for (let scroller = scrollerOf(node); scroller !== null; scroller = scrollerOf(scroller)) {
|
|
182
|
+
const frame = scroller.getBoundingClientRect();
|
|
183
|
+
top = Math.max(top, at + frame.top + paddingOf(scroller));
|
|
184
|
+
bottom = Math.min(bottom, at + frame.bottom);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { top, bottom };
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Whether `element` is shown whole in the part of the screen it scrolls in that the site leaves free (its
|
|
191
|
+
* scrolling box, under the site's header); one taller than that part, from its start, near the top.
|
|
192
|
+
*/
|
|
193
|
+
export function shownWhole(element) {
|
|
194
|
+
if (element.ownerDocument.defaultView === null)
|
|
195
|
+
return true;
|
|
196
|
+
const seen = seenOf(element);
|
|
197
|
+
const top = seen.top + MARGIN / 2;
|
|
198
|
+
const bottom = seen.bottom - MARGIN / 2;
|
|
199
|
+
const box = boxOf(element);
|
|
200
|
+
if (box.height > bottom - top)
|
|
201
|
+
return box.top >= top && box.top <= top + (bottom - top) * 0.3;
|
|
202
|
+
return box.top >= top && box.bottom <= bottom;
|
|
203
|
+
}
|
|
204
|
+
/** The box that scrolls `element` up and down: its nearest ancestor that does, or null when it is the page itself. */
|
|
205
|
+
export function scrollerOf(element) {
|
|
206
|
+
const view = element.ownerDocument.defaultView;
|
|
207
|
+
for (let node = element.parentElement; node !== null && node !== element.ownerDocument.body && node !== element.ownerDocument.documentElement; node = node.parentElement) {
|
|
208
|
+
const overflow = view?.getComputedStyle(node).overflowY ?? "";
|
|
209
|
+
if ((overflow === "auto" || overflow === "scroll") && node.scrollHeight > node.clientHeight)
|
|
210
|
+
return node;
|
|
211
|
+
}
|
|
212
|
+
return null;
|
|
127
213
|
}
|
|
128
214
|
//# sourceMappingURL=flight.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flight.js","sourceRoot":"","sources":["../../src/pointer/flight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** A frame of the site's own (same origin) as the pointer sees it: where its elements stand on the page's screen, and the documents it holds. */
|
|
2
|
+
/** A box on the top page's screen. */
|
|
3
|
+
export interface Box {
|
|
4
|
+
left: number;
|
|
5
|
+
top: number;
|
|
6
|
+
right: number;
|
|
7
|
+
bottom: number;
|
|
8
|
+
width: number;
|
|
9
|
+
height: number;
|
|
10
|
+
}
|
|
11
|
+
/** The frame `document` is shown in, or null for the top page (or a frame whose page is closed to this one). */
|
|
12
|
+
export declare function frameOf(document: Document): Element | null;
|
|
13
|
+
/** The page a frame shows, when it is the site's own and loaded; null for another origin's, or none yet. */
|
|
14
|
+
export declare function pageOf(frame: Element): Document | null;
|
|
15
|
+
/** Where `document`'s screen starts on the top page's. */
|
|
16
|
+
export declare function originOf(document: Document): {
|
|
17
|
+
x: number;
|
|
18
|
+
y: number;
|
|
19
|
+
};
|
|
20
|
+
/** A box of `document`'s screen, on the top page's. */
|
|
21
|
+
export declare function onTop(box: Box, document: Document): Box;
|
|
22
|
+
/** `element`'s box on the top page's screen. */
|
|
23
|
+
export declare function boxOf(element: Element): Box;
|
|
24
|
+
/** The pages of the site's own frames inside `root`, in order; a frame of another origin, or not loaded, is left out. */
|
|
25
|
+
export declare function framesIn(root: ParentNode): Document[];
|
|
26
|
+
/** Whether `node` is an element, in any window. */
|
|
27
|
+
export declare function isElement(node: Node | null | undefined): node is Element;
|
|
28
|
+
//# sourceMappingURL=frames.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frames.d.ts","sourceRoot":"","sources":["../../src/pointer/frames.ts"],"names":[],"mappings":"AAAA,iJAAiJ;AAQjJ,sCAAsC;AACtC,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,gHAAgH;AAChH,wBAAgB,OAAO,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,IAAI,CAW1D;AAED,4GAA4G;AAC5G,wBAAgB,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,IAAI,CAOtD;AAED,0DAA0D;AAC1D,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,EAAE,MAAM,CAAA;CAAE,CASrE;AAED,uDAAuD;AACvD,wBAAgB,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,QAAQ,GAAG,GAAG,CAGvD;AAED,gDAAgD;AAChD,wBAAgB,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,GAAG,CAE3C;AAED,yHAAyH;AACzH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,EAAE,CAKrD;AAED,mDAAmD;AACnD,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,IAAI,OAAO,CAExE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/** A frame of the site's own (same origin) as the pointer sees it: where its elements stand on the page's screen, and the documents it holds. */
|
|
2
|
+
//
|
|
3
|
+
// The pointer lives on the top page. An element in a frame the site serves itself (a chat, a widget) is
|
|
4
|
+
// measured on the frame's own screen; its box is moved by every frame it stands in, so the pointer flies to
|
|
5
|
+
// it, the light falls on it and the page scrolls to it as to any other. A frame of another origin is closed
|
|
6
|
+
// to the page, and so to the pointer. An element of a frame is of the frame's window, not the page's, so
|
|
7
|
+
// it is told by its tag, never by `instanceof`.
|
|
8
|
+
/** The frame `document` is shown in, or null for the top page (or a frame whose page is closed to this one). */
|
|
9
|
+
export function frameOf(document) {
|
|
10
|
+
const view = document.defaultView;
|
|
11
|
+
if (view === null)
|
|
12
|
+
return null;
|
|
13
|
+
try {
|
|
14
|
+
if (view.frameElement != null)
|
|
15
|
+
return view.frameElement;
|
|
16
|
+
// A window that does not say (a test's): the frame, on the page around it, whose page this is.
|
|
17
|
+
if (view.parent === view)
|
|
18
|
+
return null;
|
|
19
|
+
return [...view.parent.document.querySelectorAll("iframe")].find((frame) => pageOf(frame) === document) ?? null;
|
|
20
|
+
}
|
|
21
|
+
catch {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** The page a frame shows, when it is the site's own and loaded; null for another origin's, or none yet. */
|
|
26
|
+
export function pageOf(frame) {
|
|
27
|
+
try {
|
|
28
|
+
const page = frame.contentDocument;
|
|
29
|
+
return page?.body != null ? page : null;
|
|
30
|
+
}
|
|
31
|
+
catch {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/** Where `document`'s screen starts on the top page's. */
|
|
36
|
+
export function originOf(document) {
|
|
37
|
+
let x = 0;
|
|
38
|
+
let y = 0;
|
|
39
|
+
for (let frame = frameOf(document); frame !== null; frame = frameOf(frame.ownerDocument)) {
|
|
40
|
+
const box = frame.getBoundingClientRect();
|
|
41
|
+
x += box.left + frame.clientLeft;
|
|
42
|
+
y += box.top + frame.clientTop;
|
|
43
|
+
}
|
|
44
|
+
return { x, y };
|
|
45
|
+
}
|
|
46
|
+
/** A box of `document`'s screen, on the top page's. */
|
|
47
|
+
export function onTop(box, document) {
|
|
48
|
+
const { x, y } = originOf(document);
|
|
49
|
+
return { left: box.left + x, top: box.top + y, right: box.right + x, bottom: box.bottom + y, width: box.width, height: box.height };
|
|
50
|
+
}
|
|
51
|
+
/** `element`'s box on the top page's screen. */
|
|
52
|
+
export function boxOf(element) {
|
|
53
|
+
return onTop(element.getBoundingClientRect(), element.ownerDocument);
|
|
54
|
+
}
|
|
55
|
+
/** The pages of the site's own frames inside `root`, in order; a frame of another origin, or not loaded, is left out. */
|
|
56
|
+
export function framesIn(root) {
|
|
57
|
+
return [...root.querySelectorAll("iframe")].flatMap((frame) => {
|
|
58
|
+
const page = pageOf(frame);
|
|
59
|
+
return page === null ? [] : [page];
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
/** Whether `node` is an element, in any window. */
|
|
63
|
+
export function isElement(node) {
|
|
64
|
+
return node != null && node.nodeType === 1;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=frames.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"frames.js","sourceRoot":"","sources":["../../src/pointer/frames.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/** The person's drawings: its pointer (arrow, hand, I-beam) and the icons of the corner's buttons. */
|
|
2
|
+
export declare const CAPTIONS: (size: number) => string;
|
|
3
|
+
export declare const PAUSE = "<svg viewBox=\"0 0 24 24\" width=\"12\" height=\"12\" aria-hidden=\"true\"><path class=\"pc-hold\" d=\"M8.5 6v12M15.5 6v12\" stroke-width=\"3\"/><path class=\"pc-go\" d=\"M8 5.5v13l10-6.5Z\"/></svg>";
|
|
4
|
+
export declare const STOP = "<svg viewBox=\"0 0 24 24\" width=\"10\" height=\"10\" aria-hidden=\"true\"><rect x=\"5\" y=\"5\" width=\"14\" height=\"14\" rx=\"2.5\"/></svg>";
|
|
5
|
+
export declare const ARROW = "<svg class=\"pc-arrow\" viewBox=\"0 0 26 26\" data-kind=\"arrow\" aria-hidden=\"true\">\n<path class=\"pc-kind-arrow\" d=\"M3 2 L3 21 L8 16.5 L11.4 24 L14.6 22.6 L11.3 15.3 L18 15.3 Z\" fill=\"var(--pc-face, #1f6b55)\" stroke=\"#fff\" stroke-width=\"1.6\" stroke-linejoin=\"round\"/>\n<path class=\"pc-kind-hand\" d=\"M8 3.5c0-1.1 1.8-1.1 1.8 0V11h.6V9.2c0-1.1 1.8-1.1 1.8 0V11h.6V9.8c0-1.1 1.8-1.1 1.8 0V11.4h.6v-.8c0-1.1 1.8-1.1 1.8 0V16c0 3.6-2.2 6.5-5.6 6.5-2.5 0-3.8-1.2-5-3.2l-2.6-4.4c-.6-1 .7-2 1.6-1.2L8 15.4Z\" fill=\"var(--pc-face, #1f6b55)\" stroke=\"#fff\" stroke-width=\"1.4\" stroke-linejoin=\"round\"/>\n<path class=\"pc-kind-ibeam\" d=\"M9 3h5M9 23h5M11.5 3v20\" fill=\"none\" stroke=\"var(--pc-face, #1f6b55)\" stroke-width=\"2.4\" stroke-linecap=\"round\"/>\n</svg>";
|
|
6
|
+
export declare const BACK = "<svg viewBox=\"0 0 24 24\" width=\"11\" height=\"11\" aria-hidden=\"true\"><path d=\"M6.5 6v12\" stroke-width=\"2.6\"/><path d=\"M18 6.5v11L9 12Z\" fill=\"currentColor\" stroke=\"none\"/></svg>";
|
|
7
|
+
export declare const NEXT = "<svg viewBox=\"0 0 24 24\" width=\"11\" height=\"11\" aria-hidden=\"true\"><path d=\"M17.5 6v12\" stroke-width=\"2.6\"/><path d=\"M6 6.5v11l9-5.5Z\" fill=\"currentColor\" stroke=\"none\"/></svg>";
|
|
8
|
+
//# sourceMappingURL=icons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/pointer/icons.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAGtG,eAAO,MAAM,QAAQ,SAAU,MAAM,KAAG,MAC2L,CAAC;AACpO,eAAO,MAAM,KAAK,2MAAyL,CAAC;AAC5M,eAAO,MAAM,IAAI,mJAAiI,CAAC;AAGnJ,eAAO,MAAM,KAAK,oxBAIX,CAAC;AAGR,eAAO,MAAM,IAAI,sMAAoL,CAAC;AACtM,eAAO,MAAM,IAAI,uMAAqL,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** The person's drawings: its pointer (arrow, hand, I-beam) and the icons of the corner's buttons. */
|
|
2
|
+
// Captions: lines of words in a frame, struck through while off. Pause: two bars, a triangle while held. Stop: a square.
|
|
3
|
+
export const CAPTIONS = (size) => `<svg viewBox="0 0 24 24" width="${size}" height="${size}" aria-hidden="true"><rect x="3" y="5.5" width="18" height="13" rx="3"/><path d="M7 10.5h4M13.5 10.5h3.5M7 14h6.5M16 14h1"/><path class="pc-off" d="M4 4l16 16"/></svg>`;
|
|
4
|
+
export const PAUSE = `<svg viewBox="0 0 24 24" width="12" height="12" aria-hidden="true"><path class="pc-hold" d="M8.5 6v12M15.5 6v12" stroke-width="3"/><path class="pc-go" d="M8 5.5v13l10-6.5Z"/></svg>`;
|
|
5
|
+
export const STOP = `<svg viewBox="0 0 24 24" width="10" height="10" aria-hidden="true"><rect x="5" y="5" width="14" height="14" rx="2.5"/></svg>`;
|
|
6
|
+
// The arrow is the screen recorder's (~/ss/screen-demo/build.mjs), in the face's colour; the hand and the I-beam are drawn to match.
|
|
7
|
+
export const ARROW = `<svg class="pc-arrow" viewBox="0 0 26 26" data-kind="arrow" aria-hidden="true">
|
|
8
|
+
<path class="pc-kind-arrow" d="M3 2 L3 21 L8 16.5 L11.4 24 L14.6 22.6 L11.3 15.3 L18 15.3 Z" fill="var(--pc-face, #1f6b55)" stroke="#fff" stroke-width="1.6" stroke-linejoin="round"/>
|
|
9
|
+
<path class="pc-kind-hand" d="M8 3.5c0-1.1 1.8-1.1 1.8 0V11h.6V9.2c0-1.1 1.8-1.1 1.8 0V11h.6V9.8c0-1.1 1.8-1.1 1.8 0V11.4h.6v-.8c0-1.1 1.8-1.1 1.8 0V16c0 3.6-2.2 6.5-5.6 6.5-2.5 0-3.8-1.2-5-3.2l-2.6-4.4c-.6-1 .7-2 1.6-1.2L8 15.4Z" fill="var(--pc-face, #1f6b55)" stroke="#fff" stroke-width="1.4" stroke-linejoin="round"/>
|
|
10
|
+
<path class="pc-kind-ibeam" d="M9 3h5M9 23h5M11.5 3v20" fill="none" stroke="var(--pc-face, #1f6b55)" stroke-width="2.4" stroke-linecap="round"/>
|
|
11
|
+
</svg>`;
|
|
12
|
+
// Back and next: a bar and a triangle toward it, a sentence before or after.
|
|
13
|
+
export const BACK = `<svg viewBox="0 0 24 24" width="11" height="11" aria-hidden="true"><path d="M6.5 6v12" stroke-width="2.6"/><path d="M18 6.5v11L9 12Z" fill="currentColor" stroke="none"/></svg>`;
|
|
14
|
+
export const NEXT = `<svg viewBox="0 0 24 24" width="11" height="11" aria-hidden="true"><path d="M17.5 6v12" stroke-width="2.6"/><path d="M6 6.5v11l9-5.5Z" fill="currentColor" stroke="none"/></svg>`;
|
|
15
|
+
//# sourceMappingURL=icons.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icons.js","sourceRoot":"","sources":["../../src/pointer/icons.ts"],"names":[],"mappings":"AAAA,sGAAsG;AAEtG,yHAAyH;AACzH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE,CAC/C,mCAAmC,IAAI,aAAa,IAAI,yKAAyK,CAAC;AACpO,MAAM,CAAC,MAAM,KAAK,GAAG,sLAAsL,CAAC;AAC5M,MAAM,CAAC,MAAM,IAAI,GAAG,8HAA8H,CAAC;AAEnJ,qIAAqI;AACrI,MAAM,CAAC,MAAM,KAAK,GAAG;;;;OAId,CAAC;AAER,6EAA6E;AAC7E,MAAM,CAAC,MAAM,IAAI,GAAG,iLAAiL,CAAC;AACtM,MAAM,CAAC,MAAM,IAAI,GAAG,kLAAkL,CAAC"}
|
package/dist/pointer/menu.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** The walks a visitor may play with no call: a small button beside the resting face, its pills fanned in an arc round it. */
|
|
2
|
+
import type { Asking } from "./asking.js";
|
|
2
3
|
import type { Point } from "./flight.js";
|
|
3
4
|
/** One walk as its pill shows it. */
|
|
4
5
|
export interface MenuItem {
|
|
@@ -20,6 +21,8 @@ export interface MenuOptions {
|
|
|
20
21
|
current: () => number;
|
|
21
22
|
/** What the button that shows the next pills is called for a screen reader: "More walks". */
|
|
22
23
|
more: string;
|
|
24
|
+
/** The field for what the visitor wants shown, above the pills while the menu is open; the menu then opens with no walks too. */
|
|
25
|
+
ask?: Asking | undefined;
|
|
23
26
|
}
|
|
24
27
|
/** How many pills show at once; the rest come a page at a time, from a small button under them. */
|
|
25
28
|
export declare const PAGE = 4;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAS9H,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCzC,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,MAAM;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+CAA+C;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8FAA8F;IAC9F,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"menu.d.ts","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"AAAA,8HAA8H;AAS9H,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAgCzC,qCAAqC;AACrC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,8DAA8D;IAC9D,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,IAAI,EAAE,MAAM;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,+CAA+C;IAC/C,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC,8FAA8F;IAC9F,OAAO,EAAE,MAAM,MAAM,CAAC;IACtB,6FAA6F;IAC7F,IAAI,EAAE,MAAM,CAAC;IACb,iIAAiI;IACjI,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC1B;AAED,mGAAmG;AACnG,eAAO,MAAM,IAAI,IAAI,CAAC;AAEtB,oGAAoG;AACpG,eAAO,MAAM,IAAI,QAAW,CAAC;AAM7B;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,GAAG,KAAK,EAAE,CAOhG;AAED,qBAAa,IAAI;;IAmCf,YAAY,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,EAAE,OAAO,EAAE,WAAW,EAsCrF;IAED,iDAAiD;IACjD,KAAK,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAsB7B;IAED,kFAAkF;IAClF,SAAS,CAAC,EAAE,EAAE,OAAO,GAAG,IAAI,CAI3B;IAED,4CAA4C;IAC5C,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAW1B;IA8BD,IAAI,IAAI,IAAI,OAAO,CAElB;IAoCD,KAAK,IAAI,IAAI,CASZ;CACF"}
|
package/dist/pointer/menu.js
CHANGED
|
@@ -67,7 +67,8 @@ export class Menu {
|
|
|
67
67
|
#page = 0;
|
|
68
68
|
#outside = (event) => {
|
|
69
69
|
const target = event.target instanceof Node ? event.target : null;
|
|
70
|
-
|
|
70
|
+
const parts = [this.#button, this.#more, ...this.#pills, ...(this.#options.ask ? [this.#options.ask.element] : [])];
|
|
71
|
+
if (target !== null && parts.some((part) => part.contains(target)))
|
|
71
72
|
return;
|
|
72
73
|
this.toggle(false);
|
|
73
74
|
};
|
|
@@ -106,7 +107,13 @@ export class Menu {
|
|
|
106
107
|
this.#button.setAttribute("aria-label", options.label);
|
|
107
108
|
this.#button.setAttribute("aria-expanded", "false");
|
|
108
109
|
this.#button.title = options.label;
|
|
109
|
-
|
|
110
|
+
// A single walk and nothing to type: the button plays it, with no menu to open first.
|
|
111
|
+
this.#button.addEventListener("click", () => {
|
|
112
|
+
if (this.#pills.length === 1 && this.#options.ask === undefined)
|
|
113
|
+
this.#options.onPick(0);
|
|
114
|
+
else
|
|
115
|
+
this.toggle(!this.#open);
|
|
116
|
+
});
|
|
110
117
|
host(this.#button);
|
|
111
118
|
this.#more = document.createElement("button");
|
|
112
119
|
this.#more.type = "button";
|
|
@@ -140,7 +147,8 @@ export class Menu {
|
|
|
140
147
|
tri.className = "pc-tri";
|
|
141
148
|
const long = this.#document.createElement("span");
|
|
142
149
|
long.className = "pc-long";
|
|
143
|
-
|
|
150
|
+
// A walk whose length is not known before it plays (a page read aloud) shows none.
|
|
151
|
+
long.textContent = item.ms > 0 ? clock(item.ms) : "";
|
|
144
152
|
pill.append(tri, this.#document.createTextNode(item.title), long);
|
|
145
153
|
pill.addEventListener("click", () => {
|
|
146
154
|
this.toggle(false);
|
|
@@ -149,11 +157,11 @@ export class Menu {
|
|
|
149
157
|
this.#host(pill);
|
|
150
158
|
return pill;
|
|
151
159
|
});
|
|
152
|
-
this.#button.hidden = items.length === 0;
|
|
160
|
+
this.#button.hidden = items.length === 0 && this.#options.ask === undefined;
|
|
153
161
|
}
|
|
154
162
|
/** Whether the button may show now: not during a call, nor while a walk plays. */
|
|
155
163
|
available(on) {
|
|
156
|
-
this.#button.hidden = !on || this.#pills.length === 0;
|
|
164
|
+
this.#button.hidden = !on || (this.#pills.length === 0 && this.#options.ask === undefined);
|
|
157
165
|
if (!on)
|
|
158
166
|
this.toggle(false);
|
|
159
167
|
if (on)
|
|
@@ -168,7 +176,11 @@ export class Menu {
|
|
|
168
176
|
this.#mark(here);
|
|
169
177
|
this.#button.setAttribute("aria-expanded", String(this.#open));
|
|
170
178
|
this.#show();
|
|
171
|
-
if (this.#open)
|
|
179
|
+
if (!this.#open)
|
|
180
|
+
return;
|
|
181
|
+
if (this.#options.ask)
|
|
182
|
+
this.#options.ask.focus();
|
|
183
|
+
else
|
|
172
184
|
this.#shown()[0]?.focus();
|
|
173
185
|
}
|
|
174
186
|
#mark(here) {
|
|
@@ -194,6 +206,7 @@ export class Menu {
|
|
|
194
206
|
setTimeout(() => pill.classList.add("pc-shown"), 30 * index);
|
|
195
207
|
});
|
|
196
208
|
this.#more.hidden = !this.#open || this.#pills.length <= PAGE;
|
|
209
|
+
this.#options.ask?.show(this.#open);
|
|
197
210
|
this.#more.classList.toggle("pc-last", (this.#page + 1) * PAGE >= this.#pills.length);
|
|
198
211
|
}
|
|
199
212
|
get open() {
|
|
@@ -221,6 +234,13 @@ export class Menu {
|
|
|
221
234
|
const paged = this.#pills.length > PAGE;
|
|
222
235
|
const slots = fanned(shown.length + (paged ? 1 : 0), at, radius, this.#options.dock);
|
|
223
236
|
shown.forEach((pill, index) => stand(pill, slots[slots.length - 1 - index] ?? at));
|
|
237
|
+
// The field stands above the highest pill, or beside the face when there is none.
|
|
238
|
+
const [beside] = fanned(1, at, radius, this.#options.dock);
|
|
239
|
+
const highest = slots[slots.length - 1] ?? beside;
|
|
240
|
+
if (this.#options.ask && highest !== undefined) {
|
|
241
|
+
const bottom = (view?.innerHeight ?? 0) - highest.y + (slots.length > 0 ? PILL / 2 + 8 : -PILL / 2);
|
|
242
|
+
this.#options.ask.place(bottom, right ? (view?.innerWidth ?? 0) - highest.x : highest.x, right);
|
|
243
|
+
}
|
|
224
244
|
const [under] = slots;
|
|
225
245
|
if (paged && under !== undefined) {
|
|
226
246
|
Object.assign(this.#more.style, { left: `${right ? under.x - PILL : under.x}px`, top: `${under.y - PILL / 2}px` });
|
package/dist/pointer/menu.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"menu.js","sourceRoot":"","sources":["../../src/pointer/menu.ts"],"names":[],"mappings":"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"}
|
package/dist/pointer/person.d.ts
CHANGED
|
@@ -6,6 +6,8 @@ export interface Side {
|
|
|
6
6
|
west: boolean;
|
|
7
7
|
up: boolean;
|
|
8
8
|
}
|
|
9
|
+
/** Whether the face and its words on `side` of the tip stay on a screen `width` by `height`. */
|
|
10
|
+
export declare function fitsOn(tip: Point, side: Side, width: number, height: number): boolean;
|
|
9
11
|
/** The first side whose reach fits the screen and covers nothing of `avoid`; else the first that fits; else below and right. */
|
|
10
12
|
export declare function sideOf(tip: Point, avoid: DOMRect | null, width: number, height: number): Side;
|
|
11
13
|
export interface PersonOptions {
|
|
@@ -32,6 +34,15 @@ export interface PersonOptions {
|
|
|
32
34
|
label: string;
|
|
33
35
|
onClick: () => void;
|
|
34
36
|
};
|
|
37
|
+
/** The buttons that take a walk a sentence back, and on to the next. */
|
|
38
|
+
back: {
|
|
39
|
+
label: string;
|
|
40
|
+
onClick: () => void;
|
|
41
|
+
};
|
|
42
|
+
next: {
|
|
43
|
+
label: string;
|
|
44
|
+
onClick: () => void;
|
|
45
|
+
};
|
|
35
46
|
/** The captions button, when the site lets the visitor choose: its name, and its click. */
|
|
36
47
|
captions: {
|
|
37
48
|
label: string;
|
|
@@ -66,8 +77,8 @@ export declare class Person {
|
|
|
66
77
|
/** What the visitor is saying, in the corner; null hides it. */
|
|
67
78
|
heard(text: string | null): void;
|
|
68
79
|
/**
|
|
69
|
-
* The corner's buttons: captions and hang-up while a call is on,
|
|
70
|
-
* walk plays; captions pressed while they show, pause while the walk is held. Called every frame, so
|
|
80
|
+
* The corner's buttons: captions and hang-up while a call is on, back, pause, next, stop and captions
|
|
81
|
+
* while a walk plays; captions pressed while they show, pause while the walk is held. Called every frame, so
|
|
71
82
|
* it writes only what changed.
|
|
72
83
|
*/
|
|
73
84
|
buttons(call: boolean, walk: boolean, captioned: boolean, paused?: boolean): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../src/pointer/person.ts"],"names":[],"mappings":"AAAA,6HAA6H;
|
|
1
|
+
{"version":3,"file":"person.d.ts","sourceRoot":"","sources":["../../src/pointer/person.ts"],"names":[],"mappings":"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"}
|