@hypen-space/web 0.4.980 → 0.5.3
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 +20 -13
- package/dist/canvas/accessibility.d.ts +118 -11
- package/dist/canvas/accessibility.js +470 -108
- package/dist/canvas/accessibility.js.map +1 -1
- package/dist/canvas/dispatch.d.ts +24 -0
- package/dist/canvas/dispatch.js +62 -0
- package/dist/canvas/dispatch.js.map +1 -0
- package/dist/canvas/editing.d.ts +178 -0
- package/dist/canvas/editing.js +590 -0
- package/dist/canvas/editing.js.map +1 -0
- package/dist/canvas/events.d.ts +28 -23
- package/dist/canvas/events.js +90 -103
- package/dist/canvas/events.js.map +1 -1
- package/dist/canvas/focus.d.ts +78 -0
- package/dist/canvas/focus.js +182 -0
- package/dist/canvas/focus.js.map +1 -0
- package/dist/canvas/index.d.ts +3 -2
- package/dist/canvas/index.js +3 -2
- package/dist/canvas/index.js.map +1 -1
- package/dist/canvas/layout.js +68 -98
- package/dist/canvas/layout.js.map +1 -1
- package/dist/canvas/paint.d.ts +16 -3
- package/dist/canvas/paint.js +449 -110
- package/dist/canvas/paint.js.map +1 -1
- package/dist/canvas/renderer.d.ts +28 -4
- package/dist/canvas/renderer.js +201 -81
- package/dist/canvas/renderer.js.map +1 -1
- package/dist/canvas/selection.js +31 -177
- package/dist/canvas/selection.js.map +1 -1
- package/dist/canvas/text-geometry.d.ts +72 -0
- package/dist/canvas/text-geometry.js +244 -0
- package/dist/canvas/text-geometry.js.map +1 -0
- package/dist/canvas/text.js +44 -18
- package/dist/canvas/text.js.map +1 -1
- package/dist/canvas/types.d.ts +10 -1
- package/dist/canvas/utils.d.ts +0 -23
- package/dist/canvas/utils.js +3 -67
- package/dist/canvas/utils.js.map +1 -1
- package/dist/canvas/variants.d.ts +52 -0
- package/dist/canvas/variants.js +156 -0
- package/dist/canvas/variants.js.map +1 -0
- package/dist/dom/a11y-styles.d.ts +20 -0
- package/dist/dom/a11y-styles.js +61 -0
- package/dist/dom/a11y-styles.js.map +1 -0
- package/dist/dom/applicators/aria.d.ts +19 -0
- package/dist/dom/applicators/aria.js +36 -0
- package/dist/dom/applicators/aria.js.map +1 -0
- package/dist/dom/applicators/events.d.ts +7 -0
- package/dist/dom/applicators/events.js +36 -8
- package/dist/dom/applicators/events.js.map +1 -1
- package/dist/dom/applicators/font.d.ts +11 -6
- package/dist/dom/applicators/font.js +16 -27
- package/dist/dom/applicators/font.js.map +1 -1
- package/dist/dom/applicators/index.js +51 -45
- package/dist/dom/applicators/index.js.map +1 -1
- package/dist/dom/canvas/index.js +2 -2
- package/dist/dom/canvas/index.js.map +1 -1
- package/dist/dom/components/app.js +2 -2
- package/dist/dom/components/app.js.map +1 -1
- package/dist/dom/components/audio.js +2 -2
- package/dist/dom/components/audio.js.map +1 -1
- package/dist/dom/components/avatar.js +3 -4
- package/dist/dom/components/avatar.js.map +1 -1
- package/dist/dom/components/badge.js +3 -4
- package/dist/dom/components/badge.js.map +1 -1
- package/dist/dom/components/button.js +2 -2
- package/dist/dom/components/button.js.map +1 -1
- package/dist/dom/components/card.js +2 -2
- package/dist/dom/components/card.js.map +1 -1
- package/dist/dom/components/center.js +2 -2
- package/dist/dom/components/center.js.map +1 -1
- package/dist/dom/components/checkbox.js +4 -5
- package/dist/dom/components/checkbox.js.map +1 -1
- package/dist/dom/components/column.js +2 -2
- package/dist/dom/components/column.js.map +1 -1
- package/dist/dom/components/container.js +2 -2
- package/dist/dom/components/container.js.map +1 -1
- package/dist/dom/components/divider.js +2 -2
- package/dist/dom/components/divider.js.map +1 -1
- package/dist/dom/components/grid.js +10 -10
- package/dist/dom/components/grid.js.map +1 -1
- package/dist/dom/components/heading.js +4 -6
- package/dist/dom/components/heading.js.map +1 -1
- package/dist/dom/components/hypenapp.d.ts +25 -1
- package/dist/dom/components/hypenapp.js +215 -247
- package/dist/dom/components/hypenapp.js.map +1 -1
- package/dist/dom/components/icon.js +4 -5
- package/dist/dom/components/icon.js.map +1 -1
- package/dist/dom/components/image.js +2 -2
- package/dist/dom/components/image.js.map +1 -1
- package/dist/dom/components/index.d.ts +2 -2
- package/dist/dom/components/index.js +9 -2
- package/dist/dom/components/index.js.map +1 -1
- package/dist/dom/components/input.js +2 -2
- package/dist/dom/components/input.js.map +1 -1
- package/dist/dom/components/link.js +2 -2
- package/dist/dom/components/link.js.map +1 -1
- package/dist/dom/components/list.js +2 -2
- package/dist/dom/components/list.js.map +1 -1
- package/dist/dom/components/paragraph.js +3 -4
- package/dist/dom/components/paragraph.js.map +1 -1
- package/dist/dom/components/progressbar.js +3 -3
- package/dist/dom/components/progressbar.js.map +1 -1
- package/dist/dom/components/route.js +2 -2
- package/dist/dom/components/route.js.map +1 -1
- package/dist/dom/components/router.js +2 -2
- package/dist/dom/components/router.js.map +1 -1
- package/dist/dom/components/row.js +10 -10
- package/dist/dom/components/row.js.map +1 -1
- package/dist/dom/components/select.js +3 -4
- package/dist/dom/components/select.js.map +1 -1
- package/dist/dom/components/slider.js +2 -2
- package/dist/dom/components/slider.js.map +1 -1
- package/dist/dom/components/spacer.js +2 -2
- package/dist/dom/components/spacer.js.map +1 -1
- package/dist/dom/components/spinner.js +27 -13
- package/dist/dom/components/spinner.js.map +1 -1
- package/dist/dom/components/stack.js +10 -10
- package/dist/dom/components/stack.js.map +1 -1
- package/dist/dom/components/switch.js +5 -6
- package/dist/dom/components/switch.js.map +1 -1
- package/dist/dom/components/tabs.d.ts +27 -0
- package/dist/dom/components/tabs.js +69 -0
- package/dist/dom/components/tabs.js.map +1 -0
- package/dist/dom/components/text.js +4 -7
- package/dist/dom/components/text.js.map +1 -1
- package/dist/dom/components/textarea.js +2 -2
- package/dist/dom/components/textarea.js.map +1 -1
- package/dist/dom/components/video.js +2 -2
- package/dist/dom/components/video.js.map +1 -1
- package/dist/dom/components/visuallyhidden.d.ts +9 -0
- package/dist/dom/components/visuallyhidden.js +26 -0
- package/dist/dom/components/visuallyhidden.js.map +1 -0
- package/dist/dom/debug.js +6 -8
- package/dist/dom/debug.js.map +1 -1
- package/dist/dom/index.d.ts +0 -1
- package/dist/dom/index.js +0 -1
- package/dist/dom/index.js.map +1 -1
- package/dist/dom/operability.d.ts +100 -0
- package/dist/dom/operability.js +298 -0
- package/dist/dom/operability.js.map +1 -0
- package/dist/dom/renderer.d.ts +98 -5
- package/dist/dom/renderer.js +400 -66
- package/dist/dom/renderer.js.map +1 -1
- package/dist/dom/route-focus.d.ts +42 -0
- package/dist/dom/route-focus.js +88 -0
- package/dist/dom/route-focus.js.map +1 -0
- package/dist/dom/semantics.d.ts +35 -0
- package/dist/dom/semantics.js +184 -0
- package/dist/dom/semantics.js.map +1 -0
- package/dist/variants.d.ts +90 -0
- package/dist/variants.js +206 -0
- package/dist/variants.js.map +1 -0
- package/package.json +2 -2
- package/src/canvas/QUICKSTART.md +16 -11
- package/src/canvas/README.md +63 -34
- package/src/canvas/accessibility.ts +507 -115
- package/src/canvas/dispatch.ts +78 -0
- package/src/canvas/editing.ts +697 -0
- package/src/canvas/events.ts +104 -115
- package/src/canvas/focus.ts +216 -0
- package/src/canvas/index.ts +8 -9
- package/src/canvas/layout.ts +68 -103
- package/src/canvas/paint.ts +509 -109
- package/src/canvas/renderer.ts +239 -99
- package/src/canvas/selection.ts +52 -210
- package/src/canvas/text-geometry.ts +311 -0
- package/src/canvas/text.ts +45 -18
- package/src/canvas/types.ts +28 -1
- package/src/canvas/utils.ts +3 -69
- package/src/canvas/variants.ts +172 -0
- package/src/dom/README.md +8 -7
- package/src/dom/a11y-styles.ts +65 -0
- package/src/dom/applicators/aria.ts +41 -0
- package/src/dom/applicators/events.ts +39 -7
- package/src/dom/applicators/font.ts +16 -29
- package/src/dom/applicators/index.ts +61 -46
- package/src/dom/canvas/index.ts +2 -2
- package/src/dom/components/app.ts +2 -2
- package/src/dom/components/audio.ts +2 -2
- package/src/dom/components/avatar.ts +3 -4
- package/src/dom/components/badge.ts +3 -4
- package/src/dom/components/button.ts +2 -2
- package/src/dom/components/card.ts +2 -2
- package/src/dom/components/center.ts +2 -2
- package/src/dom/components/checkbox.ts +4 -5
- package/src/dom/components/column.ts +2 -2
- package/src/dom/components/container.ts +2 -2
- package/src/dom/components/divider.ts +2 -2
- package/src/dom/components/grid.ts +10 -10
- package/src/dom/components/heading.ts +4 -6
- package/src/dom/components/hypenapp.ts +246 -274
- package/src/dom/components/icon.ts +4 -5
- package/src/dom/components/image.ts +2 -2
- package/src/dom/components/index.ts +10 -3
- package/src/dom/components/input.ts +2 -2
- package/src/dom/components/link.ts +2 -2
- package/src/dom/components/list.ts +2 -2
- package/src/dom/components/paragraph.ts +3 -4
- package/src/dom/components/progressbar.ts +3 -3
- package/src/dom/components/route.ts +2 -2
- package/src/dom/components/router.ts +2 -2
- package/src/dom/components/row.ts +10 -10
- package/src/dom/components/select.ts +3 -4
- package/src/dom/components/slider.ts +2 -2
- package/src/dom/components/spacer.ts +2 -2
- package/src/dom/components/spinner.ts +34 -16
- package/src/dom/components/stack.ts +10 -10
- package/src/dom/components/switch.ts +5 -6
- package/src/dom/components/tabs.ts +76 -0
- package/src/dom/components/text.ts +4 -7
- package/src/dom/components/textarea.ts +2 -2
- package/src/dom/components/video.ts +2 -2
- package/src/dom/components/visuallyhidden.ts +30 -0
- package/src/dom/debug.ts +6 -8
- package/src/dom/index.ts +0 -8
- package/src/dom/operability.ts +312 -0
- package/src/dom/renderer.ts +457 -66
- package/src/dom/route-focus.ts +98 -0
- package/src/dom/semantics.ts +199 -0
- package/src/variants.ts +249 -0
- package/dist/canvas/input.d.ts +0 -76
- package/dist/canvas/input.js +0 -207
- package/dist/canvas/input.js.map +0 -1
- package/dist/client.d.ts +0 -36
- package/dist/client.js +0 -47
- package/dist/client.js.map +0 -1
- package/src/canvas/input.ts +0 -251
- package/src/client.ts +0 -88
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/canvas/accessibility.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"accessibility.js","sourceRoot":"","sources":["../../src/canvas/accessibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action Dispatch
|
|
3
|
+
*
|
|
4
|
+
* Resolves a DOM-ish event on a virtual node to the engine action its
|
|
5
|
+
* props declare, and dispatches it. Shared by the canvas hit-test path
|
|
6
|
+
* (pointer events) and the accessibility-mirror path (keyboard / AT
|
|
7
|
+
* activation) so both produce identical action payloads.
|
|
8
|
+
*/
|
|
9
|
+
import type { VirtualNode } from "./types.js";
|
|
10
|
+
/** Minimal engine surface needed for dispatch. */
|
|
11
|
+
export interface DispatchEngine {
|
|
12
|
+
dispatchAction(name: string, payload?: any): void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Dispatch an event on a node to the engine action its props declare.
|
|
16
|
+
*
|
|
17
|
+
* Engine emits event applicators in camelCase (`onClick`, `onMouseEnter`).
|
|
18
|
+
* Multi-word DOM events like `mouseenter` must map to `onMouseEnter`, not
|
|
19
|
+
* the naive `onMouseenter` that `on${capitalize(eventType)}` would produce.
|
|
20
|
+
* The older flat form `onclick`/`onmouseenter` is still accepted. After
|
|
21
|
+
* prop normalisation the value is either a string (action name) or an
|
|
22
|
+
* object carrying an action name at `"0"` plus an auxiliary payload.
|
|
23
|
+
*/
|
|
24
|
+
export declare function dispatchNodeEvent(engine: DispatchEngine, node: VirtualNode, eventType: string, data: any): void;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Action Dispatch
|
|
3
|
+
*
|
|
4
|
+
* Resolves a DOM-ish event on a virtual node to the engine action its
|
|
5
|
+
* props declare, and dispatches it. Shared by the canvas hit-test path
|
|
6
|
+
* (pointer events) and the accessibility-mirror path (keyboard / AT
|
|
7
|
+
* activation) so both produce identical action payloads.
|
|
8
|
+
*/
|
|
9
|
+
import { resolveEventAction } from "./props.js";
|
|
10
|
+
// Maps a DOM event type to the applicator prop names the engine may have set
|
|
11
|
+
// on a node, in priority order. Multi-word events (`mouseenter`) need their
|
|
12
|
+
// proper camelCase form (`onMouseEnter`) since the engine emits applicator
|
|
13
|
+
// names verbatim. `mouseenter` also accepts `onHover` as an alias.
|
|
14
|
+
const CANVAS_EVENT_PROP_NAMES = {
|
|
15
|
+
mouseenter: ["onMouseEnter", "onHover", "onmouseenter", "mouseenter"],
|
|
16
|
+
mouseleave: ["onMouseLeave", "onmouseleave", "mouseleave"],
|
|
17
|
+
mousedown: ["onMouseDown", "onmousedown", "mousedown"],
|
|
18
|
+
mouseup: ["onMouseUp", "onmouseup", "mouseup"],
|
|
19
|
+
dblclick: ["onDblClick", "onDoubleClick", "ondblclick", "dblclick"],
|
|
20
|
+
contextmenu: ["onContextMenu", "oncontextmenu", "contextmenu"],
|
|
21
|
+
keydown: ["onKeyDown", "onkeydown", "keydown"],
|
|
22
|
+
keyup: ["onKeyUp", "onkeyup", "keyup"],
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Dispatch an event on a node to the engine action its props declare.
|
|
26
|
+
*
|
|
27
|
+
* Engine emits event applicators in camelCase (`onClick`, `onMouseEnter`).
|
|
28
|
+
* Multi-word DOM events like `mouseenter` must map to `onMouseEnter`, not
|
|
29
|
+
* the naive `onMouseenter` that `on${capitalize(eventType)}` would produce.
|
|
30
|
+
* The older flat form `onclick`/`onmouseenter` is still accepted. After
|
|
31
|
+
* prop normalisation the value is either a string (action name) or an
|
|
32
|
+
* object carrying an action name at `"0"` plus an auxiliary payload.
|
|
33
|
+
*/
|
|
34
|
+
export function dispatchNodeEvent(engine, node, eventType, data) {
|
|
35
|
+
const propNames = CANVAS_EVENT_PROP_NAMES[eventType] ?? [
|
|
36
|
+
`on${eventType.charAt(0).toUpperCase()}${eventType.slice(1)}`,
|
|
37
|
+
`on${eventType}`,
|
|
38
|
+
eventType,
|
|
39
|
+
];
|
|
40
|
+
let spec;
|
|
41
|
+
for (const name of propNames) {
|
|
42
|
+
if (node.props[name] != null) {
|
|
43
|
+
spec = node.props[name];
|
|
44
|
+
break;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
// Actionable components fall back to the bare `action` prop on click.
|
|
48
|
+
if (spec == null && eventType === "click") {
|
|
49
|
+
spec = node.props.action;
|
|
50
|
+
}
|
|
51
|
+
const resolved = resolveEventAction(spec);
|
|
52
|
+
if (!resolved)
|
|
53
|
+
return;
|
|
54
|
+
engine.dispatchAction(resolved.actionName, {
|
|
55
|
+
type: eventType,
|
|
56
|
+
nodeId: node.id,
|
|
57
|
+
timestamp: Date.now(),
|
|
58
|
+
...resolved.payload,
|
|
59
|
+
...data,
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dispatch.js","sourceRoot":"","sources":["../../src/canvas/dispatch.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAOhD,6EAA6E;AAC7E,4EAA4E;AAC5E,2EAA2E;AAC3E,mEAAmE;AACnE,MAAM,uBAAuB,GAA6B;IACxD,UAAU,EAAE,CAAC,cAAc,EAAE,SAAS,EAAE,cAAc,EAAE,YAAY,CAAC;IACrE,UAAU,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,YAAY,CAAC;IAC1D,SAAS,EAAE,CAAC,aAAa,EAAE,aAAa,EAAE,WAAW,CAAC;IACtD,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAC9C,QAAQ,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,YAAY,EAAE,UAAU,CAAC;IACnE,WAAW,EAAE,CAAC,eAAe,EAAE,eAAe,EAAE,aAAa,CAAC;IAC9D,OAAO,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,SAAS,CAAC;IAC9C,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC;CACvC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,MAAsB,EACtB,IAAiB,EACjB,SAAiB,EACjB,IAAS;IAET,MAAM,SAAS,GAAG,uBAAuB,CAAC,SAAS,CAAC,IAAI;QACtD,KAAK,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QAC7D,KAAK,SAAS,EAAE;QAChB,SAAS;KACV,CAAC;IAEF,IAAI,IAAa,CAAC;IAClB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YAC7B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACxB,MAAM;QACR,CAAC;IACH,CAAC;IAED,sEAAsE;IACtE,IAAI,IAAI,IAAI,IAAI,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;QAC1C,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE;QACzC,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,IAAI,CAAC,EAAE;QACf,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,GAAG,QAAQ,CAAC,OAAO;QACnB,GAAG,IAAI;KACR,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Native Canvas Text Editing
|
|
3
|
+
*
|
|
4
|
+
* Text, caret, and selection are painted on the canvas; the browser does
|
|
5
|
+
* the actual editing (typing, caret movement, word-jumps, select-all,
|
|
6
|
+
* clipboard, undo, IME composition) in a single hidden **proxy textarea**
|
|
7
|
+
* positioned at the caret — the Monaco/xterm.js approach. This controller
|
|
8
|
+
* reads `value`/`selectionStart`/`selectionEnd` from the proxy after each
|
|
9
|
+
* event and the canvas paints the result. No visible DOM overlay.
|
|
10
|
+
*
|
|
11
|
+
* Why a proxy and not the accessibility-mirror input itself: the proxy is
|
|
12
|
+
* per-session and positioned at the caret, which (a) puts the IME candidate
|
|
13
|
+
* window next to the painted text regardless of where the mirror element
|
|
14
|
+
* sits, and (b) gives screen readers a FRESH focus target per field so
|
|
15
|
+
* every field is announced (AT stays silent when focus "returns" to an
|
|
16
|
+
* element it already announced). Focus and accessibility live on the
|
|
17
|
+
* mirror; the keystroke stream lives on the proxy.
|
|
18
|
+
*
|
|
19
|
+
* Positioning the proxy at the caret makes the IME candidate window
|
|
20
|
+
* appear next to the painted text.
|
|
21
|
+
*
|
|
22
|
+
* Data flow for one keystroke:
|
|
23
|
+
* focusin on mirror input → beginEditing → proxy seeded + focused
|
|
24
|
+
* key → proxy (native edit) → "input" event
|
|
25
|
+
* → EditState {value, selStart, selEnd} read from the proxy
|
|
26
|
+
* → node.props.value = value (local echo so the next paint is current)
|
|
27
|
+
* → engine.dispatchAction("__hypen_bind", {path, value}) (two-way bind)
|
|
28
|
+
* → scheduleRedraw + caret blink reset
|
|
29
|
+
* engine echoes SetProp("value") → onEngineValueEcho → same value → no-op
|
|
30
|
+
* (a *different* echo, e.g. engine-side formatting, rewrites the proxy
|
|
31
|
+
* and clamps the selection).
|
|
32
|
+
*/
|
|
33
|
+
import type { Point, VirtualNode } from "./types.js";
|
|
34
|
+
import type { DispatchEngine } from "./dispatch.js";
|
|
35
|
+
import { type TextGeometry } from "./text-geometry.js";
|
|
36
|
+
type EditableElement = HTMLInputElement | HTMLTextAreaElement;
|
|
37
|
+
export interface EditState {
|
|
38
|
+
node: VirtualNode;
|
|
39
|
+
/** The hidden proxy textarea receiving keystrokes and IME composition. */
|
|
40
|
+
element: EditableElement;
|
|
41
|
+
/** The node's accessibility-mirror element (Tab transit target). */
|
|
42
|
+
mirrorElement: HTMLElement;
|
|
43
|
+
value: string;
|
|
44
|
+
selStart: number;
|
|
45
|
+
selEnd: number;
|
|
46
|
+
/** IME composition range (underlined in paint), null when not composing. */
|
|
47
|
+
compStart: number | null;
|
|
48
|
+
compEnd: number | null;
|
|
49
|
+
composing: boolean;
|
|
50
|
+
/** Horizontal pan for single-line inputs whose text overflows. */
|
|
51
|
+
scrollX: number;
|
|
52
|
+
/** Caret blink phase. */
|
|
53
|
+
caretVisible: boolean;
|
|
54
|
+
}
|
|
55
|
+
export interface TextEditHooks {
|
|
56
|
+
scheduleRedraw(): void;
|
|
57
|
+
/** Mark the edited node's region dirty (dirty-rect mode). */
|
|
58
|
+
markDirty(node: VirtualNode): void;
|
|
59
|
+
/**
|
|
60
|
+
* Focus left the proxy for somewhere outside the canvas — the renderer
|
|
61
|
+
* clears the focus manager so `node.focused` follows.
|
|
62
|
+
*/
|
|
63
|
+
onEditBlur(): void;
|
|
64
|
+
}
|
|
65
|
+
export declare function isEditableNode(node: VirtualNode | null): boolean;
|
|
66
|
+
export declare class TextEditController {
|
|
67
|
+
private canvas;
|
|
68
|
+
private engine;
|
|
69
|
+
private hooks;
|
|
70
|
+
private state;
|
|
71
|
+
private bindPath;
|
|
72
|
+
private proxy;
|
|
73
|
+
/** Blink period; tests may set 0 to disable the timer. */
|
|
74
|
+
blinkIntervalMs: number;
|
|
75
|
+
private blinkTimer;
|
|
76
|
+
private dragAnchor;
|
|
77
|
+
private boundInput;
|
|
78
|
+
private boundSelect;
|
|
79
|
+
private boundKeyUp;
|
|
80
|
+
private boundKeyDown;
|
|
81
|
+
private boundCompStart;
|
|
82
|
+
private boundCompUpdate;
|
|
83
|
+
private boundCompEnd;
|
|
84
|
+
private boundSelectionChange;
|
|
85
|
+
private boundBlur;
|
|
86
|
+
private boundDragMove;
|
|
87
|
+
private boundDragEnd;
|
|
88
|
+
constructor(canvas: HTMLCanvasElement, engine: DispatchEngine, hooks: TextEditHooks);
|
|
89
|
+
/**
|
|
90
|
+
* The hidden keystroke/IME target. A FRESH element per edit session:
|
|
91
|
+
* screen readers key announcements off focus moving to a *new* node — a
|
|
92
|
+
* reused proxy reads as "focus returned to the element I already
|
|
93
|
+
* announced" and stays silent, so tabbing between fields would speak the
|
|
94
|
+
* first field's label and then nothing. Kept OUT of the tab order
|
|
95
|
+
* (tabindex=-1) — Tab reaches inputs through their mirror elements;
|
|
96
|
+
* `beginEditing` hands focus here from there.
|
|
97
|
+
*/
|
|
98
|
+
private createProxy;
|
|
99
|
+
/**
|
|
100
|
+
* Start editing a node. `mirrorElement` is the node's fallback-content
|
|
101
|
+
* element (focus/AT anchor); keystrokes flow through the hidden proxy.
|
|
102
|
+
* Idempotent for the same node.
|
|
103
|
+
*/
|
|
104
|
+
beginEditing(node: VirtualNode, mirrorElement: HTMLElement): void;
|
|
105
|
+
/** Stop editing (focus left the node, Enter/Escape, teardown). */
|
|
106
|
+
endEditing(): void;
|
|
107
|
+
/**
|
|
108
|
+
* Focus left the proxy. Movement back into the mirror (Tab transit, or a
|
|
109
|
+
* click that focuses another node) is handled by the FocusManager's own
|
|
110
|
+
* focusin — only a true departure ends the session here.
|
|
111
|
+
*/
|
|
112
|
+
private onProxyBlur;
|
|
113
|
+
/** True while `element` is this controller's proxy (focus bookkeeping). */
|
|
114
|
+
isProxyElement(element: unknown): boolean;
|
|
115
|
+
/** The hidden proxy textarea (test/diagnostic access). */
|
|
116
|
+
getProxyElement(): HTMLTextAreaElement | null;
|
|
117
|
+
isActive(): boolean;
|
|
118
|
+
/** Editing state for a node, or null — read by paintInput each frame. */
|
|
119
|
+
getStateFor(node: VirtualNode): EditState | null;
|
|
120
|
+
/**
|
|
121
|
+
* End the session if the edited node is `node` or a descendant of it —
|
|
122
|
+
* called by the renderer before remove/detach unlinks a subtree (in a
|
|
123
|
+
* real browser removing a focused element blurs it, but the renderer
|
|
124
|
+
* can't rely on that in every host environment).
|
|
125
|
+
*/
|
|
126
|
+
endIfWithin(node: VirtualNode): void;
|
|
127
|
+
destroy(): void;
|
|
128
|
+
private syncFromElement;
|
|
129
|
+
private onInput;
|
|
130
|
+
private onSelectionMaybeChanged;
|
|
131
|
+
private onDocumentSelectionChange;
|
|
132
|
+
private onKeyDown;
|
|
133
|
+
private onCompositionStart;
|
|
134
|
+
private onCompositionUpdate;
|
|
135
|
+
private onCompositionEnd;
|
|
136
|
+
private dispatchBind;
|
|
137
|
+
/** Common tail for anything that edited or moved the caret. */
|
|
138
|
+
private afterEditActivity;
|
|
139
|
+
/**
|
|
140
|
+
* The engine confirmed/rewrote the value via SetProp. Our own echo
|
|
141
|
+
* round-tripping (same value) must NOT touch the element — writing
|
|
142
|
+
* `element.value` collapses the caret. A genuinely different value
|
|
143
|
+
* (engine-side formatting) rewrites the element and clamps the selection.
|
|
144
|
+
*/
|
|
145
|
+
onEngineValueEcho(node: VirtualNode): void;
|
|
146
|
+
/**
|
|
147
|
+
* Map a canvas mousedown on the edited node to a caret position, and arm
|
|
148
|
+
* drag-selection until mouseup.
|
|
149
|
+
*/
|
|
150
|
+
placeCaretFromPoint(node: VirtualNode, point: Point): void;
|
|
151
|
+
private onDragMove;
|
|
152
|
+
private onDragEnd;
|
|
153
|
+
/** Canvas-space point → character offset in the edited node's value. */
|
|
154
|
+
private offsetFromPoint;
|
|
155
|
+
/**
|
|
156
|
+
* TextGeometry for the edited value at a given content origin. Single-line
|
|
157
|
+
* inputs don't wrap and are middle-aligned; textareas wrap at content
|
|
158
|
+
* width and are top-aligned — both matching how paintInput draws them.
|
|
159
|
+
*/
|
|
160
|
+
geometry(contentX: number, contentY: number): TextGeometry;
|
|
161
|
+
/**
|
|
162
|
+
* Position the proxy at the caret in page coordinates so the IME
|
|
163
|
+
* candidate window opens next to the painted text. Called on every edit
|
|
164
|
+
* activity and by the renderer after each frame (layout/scroll changes).
|
|
165
|
+
*/
|
|
166
|
+
syncProxyPosition(): void;
|
|
167
|
+
/**
|
|
168
|
+
* Keep the caret inside the visible content box of single-line inputs by
|
|
169
|
+
* panning `scrollX` (textareas wrap instead).
|
|
170
|
+
*/
|
|
171
|
+
private ensureCaretVisible;
|
|
172
|
+
private startBlink;
|
|
173
|
+
private stopBlink;
|
|
174
|
+
private restartBlink;
|
|
175
|
+
/** Test hook: advance one blink phase without timers. */
|
|
176
|
+
tickBlink(): void;
|
|
177
|
+
}
|
|
178
|
+
export {};
|