@teaui/core 1.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.dist/Buffer.d.ts +21 -0
- package/.dist/Buffer.js +140 -0
- package/.dist/Buffer.js.map +1 -0
- package/.dist/Color.d.ts +7 -0
- package/.dist/Color.js +39 -0
- package/.dist/Color.js.map +1 -0
- package/.dist/Container.d.ts +21 -0
- package/.dist/Container.js +138 -0
- package/.dist/Container.js.map +1 -0
- package/.dist/Screen.d.ts +54 -0
- package/.dist/Screen.js +278 -0
- package/.dist/Screen.js.map +1 -0
- package/.dist/Style.d.ts +46 -0
- package/.dist/Style.js +433 -0
- package/.dist/Style.js.map +1 -0
- package/.dist/System.d.ts +13 -0
- package/.dist/System.js +26 -0
- package/.dist/System.js.map +1 -0
- package/.dist/Theme.d.ts +56 -0
- package/.dist/Theme.js +157 -0
- package/.dist/Theme.js.map +1 -0
- package/.dist/UI.d.ts +2 -0
- package/.dist/UI.js +28 -0
- package/.dist/UI.js.map +1 -0
- package/.dist/View.d.ts +99 -0
- package/.dist/View.js +374 -0
- package/.dist/View.js.map +1 -0
- package/.dist/Viewport.d.ts +89 -0
- package/.dist/Viewport.js +295 -0
- package/.dist/Viewport.js.map +1 -0
- package/.dist/ansi.d.ts +31 -0
- package/.dist/ansi.js +139 -0
- package/.dist/ansi.js.map +1 -0
- package/.dist/components/Accordion.d.ts +47 -0
- package/.dist/components/Accordion.js +294 -0
- package/.dist/components/Accordion.js.map +1 -0
- package/.dist/components/Box.d.ts +67 -0
- package/.dist/components/Box.js +211 -0
- package/.dist/components/Box.js.map +1 -0
- package/.dist/components/Button.d.ts +28 -0
- package/.dist/components/Button.js +118 -0
- package/.dist/components/Button.js.map +1 -0
- package/.dist/components/Checkbox.d.ts +31 -0
- package/.dist/components/Checkbox.js +106 -0
- package/.dist/components/Checkbox.js.map +1 -0
- package/.dist/components/Collapsible.d.ts +32 -0
- package/.dist/components/Collapsible.js +109 -0
- package/.dist/components/Collapsible.js.map +1 -0
- package/.dist/components/CollapsibleText.d.ts +21 -0
- package/.dist/components/CollapsibleText.js +113 -0
- package/.dist/components/CollapsibleText.js.map +1 -0
- package/.dist/components/Digits.d.ts +20 -0
- package/.dist/components/Digits.js +843 -0
- package/.dist/components/Digits.js.map +1 -0
- package/.dist/components/Drawer.d.ts +44 -0
- package/.dist/components/Drawer.js +473 -0
- package/.dist/components/Drawer.js.map +1 -0
- package/.dist/components/Dropdown.d.ts +61 -0
- package/.dist/components/Dropdown.js +367 -0
- package/.dist/components/Dropdown.js.map +1 -0
- package/.dist/components/Header.d.ts +25 -0
- package/.dist/components/Header.js +106 -0
- package/.dist/components/Header.js.map +1 -0
- package/.dist/components/HotKey.d.ts +14 -0
- package/.dist/components/HotKey.js +31 -0
- package/.dist/components/HotKey.js.map +1 -0
- package/.dist/components/Input.d.ts +45 -0
- package/.dist/components/Input.js +1109 -0
- package/.dist/components/Input.js.map +1 -0
- package/.dist/components/Log.d.ts +16 -0
- package/.dist/components/Log.js +122 -0
- package/.dist/components/Log.js.map +1 -0
- package/.dist/components/Progress.d.ts +21 -0
- package/.dist/components/Progress.js +200 -0
- package/.dist/components/Progress.js.map +1 -0
- package/.dist/components/Scrollable.d.ts +50 -0
- package/.dist/components/Scrollable.js +226 -0
- package/.dist/components/Scrollable.js.map +1 -0
- package/.dist/components/ScrollableList.d.ts +70 -0
- package/.dist/components/ScrollableList.js +354 -0
- package/.dist/components/ScrollableList.js.map +1 -0
- package/.dist/components/Separator.d.ts +21 -0
- package/.dist/components/Separator.js +67 -0
- package/.dist/components/Separator.js.map +1 -0
- package/.dist/components/Slider.d.ts +60 -0
- package/.dist/components/Slider.js +341 -0
- package/.dist/components/Slider.js.map +1 -0
- package/.dist/components/Space.d.ts +19 -0
- package/.dist/components/Space.js +45 -0
- package/.dist/components/Space.js.map +1 -0
- package/.dist/components/Spinner.d.ts +16 -0
- package/.dist/components/Spinner.js +48 -0
- package/.dist/components/Spinner.js.map +1 -0
- package/.dist/components/Stack.d.ts +33 -0
- package/.dist/components/Stack.js +285 -0
- package/.dist/components/Stack.js.map +1 -0
- package/.dist/components/Tabs.d.ts +52 -0
- package/.dist/components/Tabs.js +312 -0
- package/.dist/components/Tabs.js.map +1 -0
- package/.dist/components/Text.d.ts +35 -0
- package/.dist/components/Text.js +242 -0
- package/.dist/components/Text.js.map +1 -0
- package/.dist/components/ToggleGroup.d.ts +26 -0
- package/.dist/components/ToggleGroup.js +279 -0
- package/.dist/components/ToggleGroup.js.map +1 -0
- package/.dist/components/Tree.d.ts +21 -0
- package/.dist/components/Tree.js +233 -0
- package/.dist/components/Tree.js.map +1 -0
- package/.dist/components/Window.d.ts +6 -0
- package/.dist/components/Window.js +17 -0
- package/.dist/components/Window.js.map +1 -0
- package/.dist/components/fonts.d.ts +2 -0
- package/.dist/components/fonts.js +39 -0
- package/.dist/components/fonts.js.map +1 -0
- package/.dist/components/index.d.ts +27 -0
- package/.dist/components/index.js +48 -0
- package/.dist/components/index.js.map +1 -0
- package/.dist/components/types.d.ts +6 -0
- package/.dist/components/types.js +20 -0
- package/.dist/components/types.js.map +1 -0
- package/.dist/components/utility/TrackMouse.d.ts +16 -0
- package/.dist/components/utility/TrackMouse.js +53 -0
- package/.dist/components/utility/TrackMouse.js.map +1 -0
- package/.dist/components/utility/index.d.ts +1 -0
- package/.dist/components/utility/index.js +6 -0
- package/.dist/components/utility/index.js.map +1 -0
- package/.dist/events/index.d.ts +12 -0
- package/.dist/events/index.js +20 -0
- package/.dist/events/index.js.map +1 -0
- package/.dist/events/key.d.ts +15 -0
- package/.dist/events/key.js +105 -0
- package/.dist/events/key.js.map +1 -0
- package/.dist/events/mouse.d.ts +65 -0
- package/.dist/events/mouse.js +68 -0
- package/.dist/events/mouse.js.map +1 -0
- package/.dist/events/window.d.ts +6 -0
- package/.dist/events/window.js +3 -0
- package/.dist/events/window.js.map +1 -0
- package/.dist/geometry.d.ts +178 -0
- package/.dist/geometry.js +315 -0
- package/.dist/geometry.js.map +1 -0
- package/.dist/iTerm2.d.ts +20 -0
- package/.dist/iTerm2.js +60 -0
- package/.dist/iTerm2.js.map +1 -0
- package/.dist/index.d.ts +18 -0
- package/.dist/index.js +37 -0
- package/.dist/index.js.map +1 -0
- package/.dist/inspect.d.ts +2 -0
- package/.dist/inspect.js +118 -0
- package/.dist/inspect.js.map +1 -0
- package/.dist/log.d.ts +12 -0
- package/.dist/log.js +56 -0
- package/.dist/log.js.map +1 -0
- package/.dist/managers/FocusManager.d.ts +28 -0
- package/.dist/managers/FocusManager.js +143 -0
- package/.dist/managers/FocusManager.js.map +1 -0
- package/.dist/managers/ModalManager.d.ts +10 -0
- package/.dist/managers/ModalManager.js +67 -0
- package/.dist/managers/ModalManager.js.map +1 -0
- package/.dist/managers/MouseManager.d.ts +21 -0
- package/.dist/managers/MouseManager.js +313 -0
- package/.dist/managers/MouseManager.js.map +1 -0
- package/.dist/managers/TickManager.d.ts +11 -0
- package/.dist/managers/TickManager.js +63 -0
- package/.dist/managers/TickManager.js.map +1 -0
- package/.dist/sys/alias.d.ts +470 -0
- package/.dist/sys/alias.js +487 -0
- package/.dist/sys/alias.js.map +1 -0
- package/.dist/sys/colors.d.ts +10 -0
- package/.dist/sys/colors.js +285 -0
- package/.dist/sys/colors.js.map +1 -0
- package/.dist/sys/gpmclient.d.ts +11 -0
- package/.dist/sys/gpmclient.js +193 -0
- package/.dist/sys/gpmclient.js.map +1 -0
- package/.dist/sys/index.d.ts +4 -0
- package/.dist/sys/index.js +41 -0
- package/.dist/sys/index.js.map +1 -0
- package/.dist/sys/keys.d.ts +4 -0
- package/.dist/sys/keys.js +531 -0
- package/.dist/sys/keys.js.map +1 -0
- package/.dist/sys/program.d.ts +356 -0
- package/.dist/sys/program.js +3739 -0
- package/.dist/sys/program.js.map +1 -0
- package/.dist/sys/tput.d.ts +297 -0
- package/.dist/sys/tput.js +2708 -0
- package/.dist/sys/tput.js.map +1 -0
- package/.dist/sys/unicode.d.ts +11 -0
- package/.dist/sys/unicode.js +619 -0
- package/.dist/sys/unicode.js.map +1 -0
- package/.dist/sys/usr/linux +0 -0
- package/.dist/sys/usr/windows-ansi +0 -0
- package/.dist/sys/usr/xterm +0 -0
- package/.dist/sys/usr/xterm-256color +0 -0
- package/.dist/sys/usr/xterm.termcap +243 -0
- package/.dist/sys/usr/xterm.terminfo +1977 -0
- package/.dist/terminal.d.ts +7 -0
- package/.dist/terminal.js +3 -0
- package/.dist/terminal.js.map +1 -0
- package/.dist/util.d.ts +22 -0
- package/.dist/util.js +79 -0
- package/.dist/util.js.map +1 -0
- package/LICENSE +24 -0
- package/package.json +49 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export { Accordion } from './Accordion';
|
|
2
|
+
export * from './Box';
|
|
3
|
+
export { Button } from './Button';
|
|
4
|
+
export * from './Collapsible';
|
|
5
|
+
export * from './CollapsibleText';
|
|
6
|
+
export * from './Checkbox';
|
|
7
|
+
export * from './Digits';
|
|
8
|
+
export * from './Drawer';
|
|
9
|
+
export { Dropdown } from './Dropdown';
|
|
10
|
+
export * from './Stack';
|
|
11
|
+
export * from './Header';
|
|
12
|
+
export * from './Input';
|
|
13
|
+
export * from './Log';
|
|
14
|
+
export * from './Progress';
|
|
15
|
+
export * from './Scrollable';
|
|
16
|
+
export * from './ScrollableList';
|
|
17
|
+
export * from './Separator';
|
|
18
|
+
export * from './Slider';
|
|
19
|
+
export * from './Space';
|
|
20
|
+
export * from './Spinner';
|
|
21
|
+
export * from './Tabs';
|
|
22
|
+
export * from './Text';
|
|
23
|
+
export * from './ToggleGroup';
|
|
24
|
+
export * from './Tree';
|
|
25
|
+
export * from './Window';
|
|
26
|
+
export * from './types';
|
|
27
|
+
export * from './utility';
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.Dropdown = exports.Button = exports.Accordion = void 0;
|
|
18
|
+
var Accordion_1 = require("./Accordion");
|
|
19
|
+
Object.defineProperty(exports, "Accordion", { enumerable: true, get: function () { return Accordion_1.Accordion; } });
|
|
20
|
+
__exportStar(require("./Box"), exports);
|
|
21
|
+
var Button_1 = require("./Button");
|
|
22
|
+
Object.defineProperty(exports, "Button", { enumerable: true, get: function () { return Button_1.Button; } });
|
|
23
|
+
__exportStar(require("./Collapsible"), exports);
|
|
24
|
+
__exportStar(require("./CollapsibleText"), exports);
|
|
25
|
+
__exportStar(require("./Checkbox"), exports);
|
|
26
|
+
__exportStar(require("./Digits"), exports);
|
|
27
|
+
__exportStar(require("./Drawer"), exports);
|
|
28
|
+
var Dropdown_1 = require("./Dropdown");
|
|
29
|
+
Object.defineProperty(exports, "Dropdown", { enumerable: true, get: function () { return Dropdown_1.Dropdown; } });
|
|
30
|
+
__exportStar(require("./Stack"), exports);
|
|
31
|
+
__exportStar(require("./Header"), exports);
|
|
32
|
+
__exportStar(require("./Input"), exports);
|
|
33
|
+
__exportStar(require("./Log"), exports);
|
|
34
|
+
__exportStar(require("./Progress"), exports);
|
|
35
|
+
__exportStar(require("./Scrollable"), exports);
|
|
36
|
+
__exportStar(require("./ScrollableList"), exports);
|
|
37
|
+
__exportStar(require("./Separator"), exports);
|
|
38
|
+
__exportStar(require("./Slider"), exports);
|
|
39
|
+
__exportStar(require("./Space"), exports);
|
|
40
|
+
__exportStar(require("./Spinner"), exports);
|
|
41
|
+
__exportStar(require("./Tabs"), exports);
|
|
42
|
+
__exportStar(require("./Text"), exports);
|
|
43
|
+
__exportStar(require("./ToggleGroup"), exports);
|
|
44
|
+
__exportStar(require("./Tree"), exports);
|
|
45
|
+
__exportStar(require("./Window"), exports);
|
|
46
|
+
__exportStar(require("./types"), exports);
|
|
47
|
+
__exportStar(require("./utility"), exports);
|
|
48
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/components/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yCAAqC;AAA7B,sGAAA,SAAS,OAAA;AACjB,wCAAqB;AACrB,mCAA+B;AAAvB,gGAAA,MAAM,OAAA;AACd,gDAA6B;AAC7B,oDAAiC;AACjC,6CAA0B;AAC1B,2CAAwB;AACxB,2CAAwB;AACxB,uCAAmC;AAA3B,oGAAA,QAAQ,OAAA;AAChB,0CAAuB;AACvB,2CAAwB;AACxB,0CAAuB;AACvB,wCAAqB;AACrB,6CAA0B;AAC1B,+CAA4B;AAC5B,mDAAgC;AAChC,8CAA2B;AAC3B,2CAAwB;AACxB,0CAAuB;AACvB,4CAAyB;AACzB,yCAAsB;AACtB,yCAAsB;AACtB,gDAA6B;AAC7B,yCAAsB;AACtB,2CAAwB;AACxB,0CAAuB;AACvB,4CAAyB"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type Alignment = 'left' | 'right' | 'center';
|
|
2
|
+
export declare const FontFamilies: readonly ["default", "serif-bold", "serif-italic", "serif-italic-bold", "sans", "sans-bold", "sans-italic", "sans-italic-bold", "monospace", "double-struck", "fraktur", "fraktur-bold", "script", "script-bold"];
|
|
3
|
+
export type FontFamily = (typeof FontFamilies)[number];
|
|
4
|
+
export type Font = Map<string, string>;
|
|
5
|
+
export type Orientation = 'horizontal' | 'vertical';
|
|
6
|
+
export type Direction = 'right' | 'left' | 'down' | 'up';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FontFamilies = void 0;
|
|
4
|
+
exports.FontFamilies = [
|
|
5
|
+
'default',
|
|
6
|
+
'serif-bold',
|
|
7
|
+
'serif-italic',
|
|
8
|
+
'serif-italic-bold',
|
|
9
|
+
'sans',
|
|
10
|
+
'sans-bold',
|
|
11
|
+
'sans-italic',
|
|
12
|
+
'sans-italic-bold',
|
|
13
|
+
'monospace',
|
|
14
|
+
'double-struck',
|
|
15
|
+
'fraktur',
|
|
16
|
+
'fraktur-bold',
|
|
17
|
+
'script',
|
|
18
|
+
'script-bold',
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../lib/components/types.ts"],"names":[],"mappings":";;;AACa,QAAA,YAAY,GAAG;IAC1B,SAAS;IACT,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,MAAM;IACN,WAAW;IACX,aAAa;IACb,kBAAkB;IAClB,WAAW;IACX,eAAe;IACf,SAAS;IACT,cAAc;IACd,QAAQ;IACR,aAAa;CACL,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Viewport } from '../../Viewport';
|
|
2
|
+
import { type Props as ViewProps, View } from '../../View';
|
|
3
|
+
import { Container } from '../../Container';
|
|
4
|
+
import { Size } from '../../geometry';
|
|
5
|
+
import type { MouseEvent } from '../../events';
|
|
6
|
+
interface Props extends ViewProps {
|
|
7
|
+
content: View;
|
|
8
|
+
}
|
|
9
|
+
export declare class TrackMouse extends Container {
|
|
10
|
+
#private;
|
|
11
|
+
constructor({ content, ...viewProps }: Props);
|
|
12
|
+
naturalSize(available: Size): Size;
|
|
13
|
+
receiveMouse(event: MouseEvent): void;
|
|
14
|
+
render(viewport: Viewport): void;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackMouse = void 0;
|
|
4
|
+
const Style_1 = require("../../Style");
|
|
5
|
+
const Container_1 = require("../../Container");
|
|
6
|
+
const geometry_1 = require("../../geometry");
|
|
7
|
+
class TrackMouse extends Container_1.Container {
|
|
8
|
+
#position;
|
|
9
|
+
constructor({ content, ...viewProps }) {
|
|
10
|
+
super(viewProps);
|
|
11
|
+
this.#position = geometry_1.Point.zero;
|
|
12
|
+
this.add(content);
|
|
13
|
+
}
|
|
14
|
+
naturalSize(available) {
|
|
15
|
+
return super.naturalSize(available.shrink(1, 1)).grow(1, 1);
|
|
16
|
+
}
|
|
17
|
+
receiveMouse(event) {
|
|
18
|
+
this.#position = event.position;
|
|
19
|
+
}
|
|
20
|
+
render(viewport) {
|
|
21
|
+
viewport.registerMouse('mouse.move');
|
|
22
|
+
const maxX = viewport.contentSize.width;
|
|
23
|
+
const maxY = viewport.contentSize.height;
|
|
24
|
+
let borderStyle = new Style_1.Style({ foreground: 'white', background: 'default' });
|
|
25
|
+
viewport.clipped(new geometry_1.Rect(new geometry_1.Point(1, 1), viewport.contentSize.shrink(1, 1)), inside => {
|
|
26
|
+
super.render(inside);
|
|
27
|
+
});
|
|
28
|
+
const highlight = new Style_1.Style({ inverse: true });
|
|
29
|
+
viewport.usingPen(borderStyle, pen => {
|
|
30
|
+
for (let x = 1; x < maxX; ++x) {
|
|
31
|
+
const cx = x - 1;
|
|
32
|
+
pen.replacePen(x === this.#position.x ? highlight : Style_1.Style.NONE);
|
|
33
|
+
const char = cx % 10 === 0
|
|
34
|
+
? (['0', '⠁', '⠉', '⠋', '⠛', '⠟', '⠿', '⡿', '⣿'][cx / 10] ?? 'X')
|
|
35
|
+
: `${cx % 10}`;
|
|
36
|
+
viewport.write(char, new geometry_1.Point(x, 0));
|
|
37
|
+
}
|
|
38
|
+
for (let y = 1; y < maxY; ++y) {
|
|
39
|
+
const cy = y - 1;
|
|
40
|
+
pen.replacePen(y === this.#position.y ? highlight : Style_1.Style.NONE);
|
|
41
|
+
const char = cy % 10 === 0
|
|
42
|
+
? (['0', '⠁', '⠉', '⠋', '⠛', '⠟', '⠿', '⡿', '⣿'][cy / 10] ?? 'X')
|
|
43
|
+
: `${cy % 10}`;
|
|
44
|
+
viewport.write(char, new geometry_1.Point(0, y));
|
|
45
|
+
}
|
|
46
|
+
pen.replacePen(Style_1.Style.NONE);
|
|
47
|
+
const pos = `${this.#position.x}, ${this.#position.y}`;
|
|
48
|
+
viewport.write(pos, new geometry_1.Point(viewport.contentSize.width - pos.length, viewport.contentSize.height - 1));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
exports.TrackMouse = TrackMouse;
|
|
53
|
+
//# sourceMappingURL=TrackMouse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TrackMouse.js","sourceRoot":"","sources":["../../../lib/components/utility/TrackMouse.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { TrackMouse } from './TrackMouse';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrackMouse = void 0;
|
|
4
|
+
var TrackMouse_1 = require("./TrackMouse");
|
|
5
|
+
Object.defineProperty(exports, "TrackMouse", { enumerable: true, get: function () { return TrackMouse_1.TrackMouse; } });
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../lib/components/utility/index.ts"],"names":[],"mappings":";;;AAAA,2CAAuC;AAA/B,wGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { MouseButton } from '../sys';
|
|
2
|
+
export type * from './mouse';
|
|
3
|
+
export * from './mouse';
|
|
4
|
+
export type * from './key';
|
|
5
|
+
export * from './key';
|
|
6
|
+
export type * from './window';
|
|
7
|
+
export * from './window';
|
|
8
|
+
import type { MouseEvent, SystemMouseEvent } from './mouse';
|
|
9
|
+
import type { KeyEvent } from './key';
|
|
10
|
+
import type { FocusEvent, ResizeEvent } from './window';
|
|
11
|
+
export type Event = MouseEvent | KeyEvent | FocusEvent | ResizeEvent;
|
|
12
|
+
export type SystemEvent = SystemMouseEvent | KeyEvent | FocusEvent | ResizeEvent;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./mouse"), exports);
|
|
18
|
+
__exportStar(require("./key"), exports);
|
|
19
|
+
__exportStar(require("./window"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../lib/events/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,0CAAuB;AAEvB,wCAAqB;AAErB,2CAAwB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { KeyEvent as TUIKeyEvent } from '../sys';
|
|
2
|
+
export type KeyEvent = TUIKeyEvent & {
|
|
3
|
+
type: 'key';
|
|
4
|
+
};
|
|
5
|
+
export type HotKeyDef = {
|
|
6
|
+
char: string;
|
|
7
|
+
ctrl?: boolean;
|
|
8
|
+
meta?: boolean;
|
|
9
|
+
shift?: boolean;
|
|
10
|
+
};
|
|
11
|
+
export type HotKey = string | HotKeyDef;
|
|
12
|
+
export declare function toHotKeyDef(hotKey: HotKey): HotKeyDef;
|
|
13
|
+
export declare function isKeyPrintable(event: KeyEvent): boolean;
|
|
14
|
+
export declare const match: (key: HotKeyDef, event: KeyEvent) => boolean;
|
|
15
|
+
export declare const styleTextForHotKey: (text: string, key_: HotKey) => string;
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.styleTextForHotKey = exports.match = void 0;
|
|
4
|
+
exports.toHotKeyDef = toHotKeyDef;
|
|
5
|
+
exports.isKeyPrintable = isKeyPrintable;
|
|
6
|
+
const ansi_1 = require("../ansi");
|
|
7
|
+
function toHotKeyDef(hotKey) {
|
|
8
|
+
if (typeof hotKey !== 'string') {
|
|
9
|
+
return hotKey;
|
|
10
|
+
}
|
|
11
|
+
// hotkey string supports:
|
|
12
|
+
// C- control
|
|
13
|
+
// M- meta
|
|
14
|
+
// S- shift
|
|
15
|
+
const ctrl = hotKey.includes('C-');
|
|
16
|
+
const meta = hotKey.includes('M-');
|
|
17
|
+
const shift = hotKey.includes('S-');
|
|
18
|
+
const char = hotKey.replace(/^([CMS]-)*/, '').toLowerCase();
|
|
19
|
+
return { char, ctrl, meta, shift };
|
|
20
|
+
}
|
|
21
|
+
function isKeyPrintable(event) {
|
|
22
|
+
switch (event.name) {
|
|
23
|
+
case 'up':
|
|
24
|
+
case 'down':
|
|
25
|
+
case 'left':
|
|
26
|
+
case 'right':
|
|
27
|
+
case 'pageup':
|
|
28
|
+
case 'pagedown':
|
|
29
|
+
case 'home':
|
|
30
|
+
case 'end':
|
|
31
|
+
case 'insert':
|
|
32
|
+
case 'clear':
|
|
33
|
+
case 'enter':
|
|
34
|
+
case 'return':
|
|
35
|
+
case 'escape':
|
|
36
|
+
case 'tab':
|
|
37
|
+
case 'delete':
|
|
38
|
+
case 'backspace':
|
|
39
|
+
case 'f1':
|
|
40
|
+
case 'f2':
|
|
41
|
+
case 'f3':
|
|
42
|
+
case 'f4':
|
|
43
|
+
case 'f1':
|
|
44
|
+
case 'f2':
|
|
45
|
+
case 'f3':
|
|
46
|
+
case 'f4':
|
|
47
|
+
case 'f1':
|
|
48
|
+
case 'f2':
|
|
49
|
+
case 'f3':
|
|
50
|
+
case 'f4':
|
|
51
|
+
case 'f5':
|
|
52
|
+
case 'f5':
|
|
53
|
+
case 'f6':
|
|
54
|
+
case 'f7':
|
|
55
|
+
case 'f8':
|
|
56
|
+
case 'f9':
|
|
57
|
+
case 'f10':
|
|
58
|
+
case 'f11':
|
|
59
|
+
case 'f12':
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
62
|
+
if ((event.char.codePointAt(0) ?? 0) < 32) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
67
|
+
const match = (key, event) => {
|
|
68
|
+
if ((key.ctrl ?? false) !== event.ctrl) {
|
|
69
|
+
return false;
|
|
70
|
+
}
|
|
71
|
+
if ((key.meta ?? false) !== event.meta) {
|
|
72
|
+
return false;
|
|
73
|
+
}
|
|
74
|
+
if ((key.shift ?? false) !== event.shift) {
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return key.char === event.name;
|
|
78
|
+
};
|
|
79
|
+
exports.match = match;
|
|
80
|
+
const styleTextForHotKey = (text, key_) => {
|
|
81
|
+
const key = toHotKeyDef(key_);
|
|
82
|
+
const alt = '⌥';
|
|
83
|
+
const shift = '⇧';
|
|
84
|
+
const ctrl = '⌃';
|
|
85
|
+
let mod = '';
|
|
86
|
+
if (key.ctrl) {
|
|
87
|
+
mod += ctrl;
|
|
88
|
+
}
|
|
89
|
+
if (key.meta) {
|
|
90
|
+
mod += alt;
|
|
91
|
+
}
|
|
92
|
+
if (key.shift) {
|
|
93
|
+
mod += shift;
|
|
94
|
+
}
|
|
95
|
+
if (!mod) {
|
|
96
|
+
return text;
|
|
97
|
+
}
|
|
98
|
+
mod = (0, ansi_1.underline)(mod + key.char);
|
|
99
|
+
if (!text) {
|
|
100
|
+
return mod;
|
|
101
|
+
}
|
|
102
|
+
return `${text} ${mod}`;
|
|
103
|
+
};
|
|
104
|
+
exports.styleTextForHotKey = styleTextForHotKey;
|
|
105
|
+
//# sourceMappingURL=key.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"key.js","sourceRoot":"","sources":["../../lib/events/key.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { MouseButton } from '../sys';
|
|
2
|
+
import { View } from '../View';
|
|
3
|
+
import { Point, Rect } from '../geometry';
|
|
4
|
+
export type MouseMove = 'enter' | 'in' | 'below' | 'exit';
|
|
5
|
+
export type MouseClick = 'down' | 'exit' | 'enter' | 'dragInside' | 'dragOutside' | 'up' | 'cancel';
|
|
6
|
+
export type MouseWheel = 'up' | 'down' | 'left' | 'right';
|
|
7
|
+
export type MouseEventListenerName = 'mouse.move' | 'mouse.button.all' | `mouse.button.${MouseButton}` | 'mouse.wheel';
|
|
8
|
+
export type SystemMouseEventName = 'mouse.move.in' | 'mouse.button.down' | 'mouse.button.up' | 'mouse.wheel.up' | 'mouse.wheel.down' | 'mouse.wheel.left' | 'mouse.wheel.right';
|
|
9
|
+
export type MouseEventName = `mouse.move.${MouseMove}` | `mouse.button.${MouseClick}` | `mouse.wheel.${MouseWheel}`;
|
|
10
|
+
export type MouseEvent = {
|
|
11
|
+
position: Point;
|
|
12
|
+
type: 'mouse';
|
|
13
|
+
name: MouseEventName;
|
|
14
|
+
ctrl: boolean;
|
|
15
|
+
meta: boolean;
|
|
16
|
+
shift: boolean;
|
|
17
|
+
button: MouseButton;
|
|
18
|
+
};
|
|
19
|
+
export type SystemMouseEvent = Omit<MouseEvent, 'name' | 'position'> & {
|
|
20
|
+
name: SystemMouseEventName;
|
|
21
|
+
x: number;
|
|
22
|
+
y: number;
|
|
23
|
+
};
|
|
24
|
+
export type MouseDownEvent = {
|
|
25
|
+
target?: MouseEventTarget & {
|
|
26
|
+
wasInside: boolean;
|
|
27
|
+
};
|
|
28
|
+
button: MouseButton;
|
|
29
|
+
};
|
|
30
|
+
export type MouseEventTarget = {
|
|
31
|
+
view: View;
|
|
32
|
+
offset: Point;
|
|
33
|
+
};
|
|
34
|
+
export type MouseEventListener = {
|
|
35
|
+
move: MouseEventTarget[];
|
|
36
|
+
buttonAll?: MouseEventTarget;
|
|
37
|
+
buttonLeft?: MouseEventTarget;
|
|
38
|
+
buttonMiddle?: MouseEventTarget;
|
|
39
|
+
buttonRight?: MouseEventTarget;
|
|
40
|
+
wheel?: MouseEventTarget;
|
|
41
|
+
};
|
|
42
|
+
export declare function isMouseClicked(event: MouseEvent, inside?: Rect): boolean;
|
|
43
|
+
/**
|
|
44
|
+
* A mouse press event is started with a 'down' event, but can also begin again
|
|
45
|
+
* after the mouse is dragged outside the component ('exit' event), and then
|
|
46
|
+
* dragged back inside ('enter').
|
|
47
|
+
*/
|
|
48
|
+
export declare function isMousePressStart(event: SystemMouseEvent | MouseEvent): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Press-exit is an uncomfortable name, it refers to either ending the press event
|
|
51
|
+
* ('up', 'cancel') or dragging the mouse outside the component ('exit'). If the
|
|
52
|
+
* component has has a 'pressed' highlight effect, `isMousePressExit` should turn
|
|
53
|
+
* that effect off.
|
|
54
|
+
*/
|
|
55
|
+
export declare function isMousePressExit(event: SystemMouseEvent | MouseEvent): boolean;
|
|
56
|
+
export declare function isMousePressEnd(event: SystemMouseEvent | MouseEvent): boolean;
|
|
57
|
+
/**
|
|
58
|
+
* Dragging events (dragInside, dragOutside), but *also* mouse.button.down
|
|
59
|
+
*/
|
|
60
|
+
export declare function isMouseDragging(event: SystemMouseEvent | MouseEvent): boolean;
|
|
61
|
+
export declare function isMouseEnter(event: MouseEvent): boolean;
|
|
62
|
+
export declare function isMouseExit(event: MouseEvent): boolean;
|
|
63
|
+
export declare function isMouseButton(event: SystemMouseEvent): boolean;
|
|
64
|
+
export declare function isMouseWheel(event: SystemMouseEvent | MouseEvent): boolean;
|
|
65
|
+
export declare function isMouseMove(event: SystemMouseEvent | MouseEvent): boolean;
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isMouseClicked = isMouseClicked;
|
|
4
|
+
exports.isMousePressStart = isMousePressStart;
|
|
5
|
+
exports.isMousePressExit = isMousePressExit;
|
|
6
|
+
exports.isMousePressEnd = isMousePressEnd;
|
|
7
|
+
exports.isMouseDragging = isMouseDragging;
|
|
8
|
+
exports.isMouseEnter = isMouseEnter;
|
|
9
|
+
exports.isMouseExit = isMouseExit;
|
|
10
|
+
exports.isMouseButton = isMouseButton;
|
|
11
|
+
exports.isMouseWheel = isMouseWheel;
|
|
12
|
+
exports.isMouseMove = isMouseMove;
|
|
13
|
+
const geometry_1 = require("../geometry");
|
|
14
|
+
function isMouseClicked(event, inside) {
|
|
15
|
+
if (event.name !== 'mouse.button.up') {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
if (inside === undefined) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
return inside.includes(new geometry_1.Point(event.position));
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* A mouse press event is started with a 'down' event, but can also begin again
|
|
25
|
+
* after the mouse is dragged outside the component ('exit' event), and then
|
|
26
|
+
* dragged back inside ('enter').
|
|
27
|
+
*/
|
|
28
|
+
function isMousePressStart(event) {
|
|
29
|
+
return (event.name.startsWith('mouse.button.') &&
|
|
30
|
+
['down', 'enter'].some(suffix => event.name.endsWith(suffix)));
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Press-exit is an uncomfortable name, it refers to either ending the press event
|
|
34
|
+
* ('up', 'cancel') or dragging the mouse outside the component ('exit'). If the
|
|
35
|
+
* component has has a 'pressed' highlight effect, `isMousePressExit` should turn
|
|
36
|
+
* that effect off.
|
|
37
|
+
*/
|
|
38
|
+
function isMousePressExit(event) {
|
|
39
|
+
return (event.name.startsWith('mouse.button.') &&
|
|
40
|
+
['up', 'exit', 'cancel'].some(suffix => event.name.endsWith(suffix)));
|
|
41
|
+
}
|
|
42
|
+
function isMousePressEnd(event) {
|
|
43
|
+
return (event.name.startsWith('mouse.button.') &&
|
|
44
|
+
['up', 'cancel'].some(suffix => event.name.endsWith(suffix)));
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Dragging events (dragInside, dragOutside), but *also* mouse.button.down
|
|
48
|
+
*/
|
|
49
|
+
function isMouseDragging(event) {
|
|
50
|
+
return (event.name.startsWith('mouse.button.') &&
|
|
51
|
+
['.up', '.cancel', '.enter', '.exit'].every(suffix => !event.name.endsWith(suffix)));
|
|
52
|
+
}
|
|
53
|
+
function isMouseEnter(event) {
|
|
54
|
+
return event.name.endsWith('.enter');
|
|
55
|
+
}
|
|
56
|
+
function isMouseExit(event) {
|
|
57
|
+
return event.name.endsWith('.exit');
|
|
58
|
+
}
|
|
59
|
+
function isMouseButton(event) {
|
|
60
|
+
return event.name.startsWith('mouse.button.');
|
|
61
|
+
}
|
|
62
|
+
function isMouseWheel(event) {
|
|
63
|
+
return event.name.startsWith('mouse.wheel.');
|
|
64
|
+
}
|
|
65
|
+
function isMouseMove(event) {
|
|
66
|
+
return event.name.startsWith('mouse.move.');
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=mouse.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mouse.js","sourceRoot":"","sources":["../../lib/events/mouse.ts"],"names":[],"mappings":";;AAoEA,wCAUC;AAOD,8CAKC;AAQD,4CAKC;AAED,0CAKC;AAKD,0CAOC;AAED,oCAEC;AAED,kCAEC;AAED,sCAEC;AAED,oCAEC;AAED,kCAEC;AA5ID,0CAAuC;AAkEvC,SAAgB,cAAc,CAAC,KAAiB,EAAE,MAAa;IAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE,CAAC;QACrC,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,gBAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAA;AACnD,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB,CAAC,KAAoC;IACpE,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC9D,CAAA;AACH,CAAC;AAED;;;;;GAKG;AACH,SAAgB,gBAAgB,CAAC,KAAoC;IACnE,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CACrE,CAAA;AACH,CAAC;AAED,SAAgB,eAAe,CAAC,KAAoC;IAClE,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAC7D,CAAA;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,eAAe,CAAC,KAAoC;IAClE,OAAO,CACL,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC;QACtC,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,KAAK,CACzC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CACvC,CACF,CAAA;AACH,CAAC;AAED,SAAgB,YAAY,CAAC,KAAiB;IAC5C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;AACtC,CAAC;AAED,SAAgB,WAAW,CAAC,KAAiB;IAC3C,OAAO,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,aAAa,CAAC,KAAuB;IACnD,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,CAAA;AAC/C,CAAC;AAED,SAAgB,YAAY,CAAC,KAAoC;IAC/D,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAA;AAC9C,CAAC;AAED,SAAgB,WAAW,CAAC,KAAoC;IAC9D,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;AAC7C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"window.js","sourceRoot":"","sources":["../../lib/events/window.ts"],"names":[],"mappings":""}
|