@opendaw/lib-dom 0.0.65 → 0.0.67
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/keyboard.d.ts
CHANGED
|
@@ -3,9 +3,6 @@ export declare namespace Keyboard {
|
|
|
3
3
|
ctrlKey: boolean;
|
|
4
4
|
metaKey: boolean;
|
|
5
5
|
}) => boolean;
|
|
6
|
-
const isCopyKey: ({ altKey }: {
|
|
7
|
-
altKey: boolean;
|
|
8
|
-
}) => boolean;
|
|
9
6
|
const isDelete: (event: KeyboardEvent) => boolean;
|
|
10
7
|
const isSelectAll: (event: KeyboardEvent) => boolean;
|
|
11
8
|
const isDeselectAll: (event: KeyboardEvent) => boolean;
|
package/dist/keyboard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAEA,yBAAiB,QAAQ,CAAC;IACf,MAAM,YAAY,GAAI,sBAAoB;QAC7C,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAA;KACnB,YAA0C,CAAA;IACpC,MAAM,
|
|
1
|
+
{"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../src/keyboard.ts"],"names":[],"mappings":"AAEA,yBAAiB,QAAQ,CAAC;IACf,MAAM,YAAY,GAAI,sBAAoB;QAC7C,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,EAAE,OAAO,CAAA;KACnB,YAA0C,CAAA;IACpC,MAAM,QAAQ,GAAI,OAAO,aAAa,YAA0D,CAAA;IAChG,MAAM,WAAW,GAAI,OAAO,aAAa,YAAoE,CAAA;IAC7G,MAAM,aAAa,GAAI,OAAO,aAAa,YAAmE,CAAA;CACxH"}
|
package/dist/keyboard.js
CHANGED
|
@@ -2,7 +2,6 @@ import { Browser } from "./browser";
|
|
|
2
2
|
export var Keyboard;
|
|
3
3
|
(function (Keyboard) {
|
|
4
4
|
Keyboard.isControlKey = ({ ctrlKey, metaKey }) => Browser.isMacOS() ? metaKey : ctrlKey;
|
|
5
|
-
Keyboard.isCopyKey = ({ altKey }) => altKey;
|
|
6
5
|
Keyboard.isDelete = (event) => event.code === "Delete" || event.code === "Backspace";
|
|
7
6
|
Keyboard.isSelectAll = (event) => Keyboard.isControlKey(event) && !event.shiftKey && event.code === "KeyA";
|
|
8
7
|
Keyboard.isDeselectAll = (event) => Keyboard.isControlKey(event) && event.shiftKey && event.code === "KeyA";
|
|
@@ -57,5 +57,11 @@ type ShortcutEntry = {
|
|
|
57
57
|
readonly consume: Provider<Maybe<boolean> | unknown>;
|
|
58
58
|
readonly options: ShortcutOptions;
|
|
59
59
|
};
|
|
60
|
+
export declare namespace ReservedShortcuts {
|
|
61
|
+
const Copy: Shortcut;
|
|
62
|
+
const Cut: Shortcut;
|
|
63
|
+
const Paste: Shortcut;
|
|
64
|
+
const isReserved: (shortcut: Shortcut) => boolean;
|
|
65
|
+
}
|
|
60
66
|
export {};
|
|
61
67
|
//# sourceMappingURL=shortcut-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shortcut-manager.d.ts","sourceRoot":"","sources":["../src/shortcut-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAGH,GAAG,EAEH,SAAS,EAET,KAAK,EAGL,QAAQ,EACR,MAAM,EACN,SAAS,EAET,QAAQ,EACR,YAAY,EACZ,UAAU,EAEb,MAAM,kBAAkB,CAAA;AAMzB,qBAAa,eAAe;;IAExB,MAAM,CAAC,GAAG,IAAI,eAAe;IAE7B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAA;IAIhC,OAAO;IAKP,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,eAAe;IAanG,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO;IAIxC,WAAW,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI;CAoB1C;AAED,qBAAa,eAAgB,YAAW,UAAU;;gBAOlC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG;IAMlE,IAAI,MAAM,IAAI,OAAO,CAA0B;IAC/C,IAAI,IAAI,IAAI,MAAM,CAAoB;IACtC,IAAI,QAAQ,IAAI,GAAG,CAAwB;IAC3C,IAAI,OAAO,IAAI,aAAa,CAAC,aAAa,CAAC,CAAuB;IAElE,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,eAAe,GAAG,YAAY;
|
|
1
|
+
{"version":3,"file":"shortcut-manager.d.ts","sourceRoot":"","sources":["../src/shortcut-manager.ts"],"names":[],"mappings":"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"}
|
package/dist/shortcut-manager.js
CHANGED
|
@@ -84,6 +84,10 @@ export class ShortcutContext {
|
|
|
84
84
|
get priority() { return this.#priority; }
|
|
85
85
|
get entries() { return this.#entries; }
|
|
86
86
|
register(shortcut, consume, options) {
|
|
87
|
+
if (ReservedShortcuts.isReserved(shortcut)) {
|
|
88
|
+
console.warn(`Shortcut ${shortcut.format().join("")} is reserved and cannot be overridden`);
|
|
89
|
+
return Terminable.Empty;
|
|
90
|
+
}
|
|
87
91
|
const entry = { shortcut, consume, options: options ?? ShortcutOptions.Default };
|
|
88
92
|
const index = BinarySearch.leftMostMapped(this.#entries, entry.options.priority ?? 0, NumberComparator, ({ options: { priority } }) => priority ?? 0);
|
|
89
93
|
this.#entries.splice(index, 0, entry);
|
|
@@ -132,7 +136,11 @@ export class Shortcut {
|
|
|
132
136
|
const effectiveCode = code.startsWith("Key")
|
|
133
137
|
? `Key${event.key.toUpperCase()}`
|
|
134
138
|
: code;
|
|
135
|
-
|
|
139
|
+
const shortcut = new Shortcut(effectiveCode, Keyboard.isControlKey(event), event.shiftKey, event.altKey);
|
|
140
|
+
if (ReservedShortcuts.isReserved(shortcut)) {
|
|
141
|
+
return Option.None;
|
|
142
|
+
}
|
|
143
|
+
return Option.wrap(shortcut);
|
|
136
144
|
}
|
|
137
145
|
static #keyNames = {
|
|
138
146
|
[Key.Escape]: ["⎋", "Esc"],
|
|
@@ -264,3 +272,11 @@ export var ShortcutOptions;
|
|
|
264
272
|
priority: 0
|
|
265
273
|
};
|
|
266
274
|
})(ShortcutOptions || (ShortcutOptions = {}));
|
|
275
|
+
export var ReservedShortcuts;
|
|
276
|
+
(function (ReservedShortcuts) {
|
|
277
|
+
ReservedShortcuts.Copy = Shortcut.of(Key.KeyC, { ctrl: true });
|
|
278
|
+
ReservedShortcuts.Cut = Shortcut.of(Key.KeyX, { ctrl: true });
|
|
279
|
+
ReservedShortcuts.Paste = Shortcut.of(Key.KeyV, { ctrl: true });
|
|
280
|
+
const all = [ReservedShortcuts.Copy, ReservedShortcuts.Cut, ReservedShortcuts.Paste];
|
|
281
|
+
ReservedShortcuts.isReserved = (shortcut) => all.some(reserved => reserved.equals(shortcut));
|
|
282
|
+
})(ReservedShortcuts || (ReservedShortcuts = {}));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opendaw/lib-dom",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.67",
|
|
4
4
|
"sideEffects": false,
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -23,13 +23,13 @@
|
|
|
23
23
|
"test": "vitest run"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@opendaw/lib-runtime": "^0.0.
|
|
27
|
-
"@opendaw/lib-std": "^0.0.
|
|
26
|
+
"@opendaw/lib-runtime": "^0.0.65",
|
|
27
|
+
"@opendaw/lib-std": "^0.0.65",
|
|
28
28
|
"@types/wicg-file-system-access": "^2023.10.6"
|
|
29
29
|
},
|
|
30
30
|
"devDependencies": {
|
|
31
31
|
"@opendaw/eslint-config": "^0.0.27",
|
|
32
32
|
"@opendaw/typescript-config": "^0.0.28"
|
|
33
33
|
},
|
|
34
|
-
"gitHead": "
|
|
34
|
+
"gitHead": "63d82cef8935683a8419bd146ba8da05c6034c08"
|
|
35
35
|
}
|