fix
This commit is contained in:
23
static/node_modules/hotkeys-js/LICENSE
generated
vendored
Normal file
23
static/node_modules/hotkeys-js/LICENSE
generated
vendored
Normal file
@ -0,0 +1,23 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2015-present, Kenny Wong.
|
||||
|
||||
Copyright (c) 2011-2013 Thomas Fuchs (https://github.com/madrobby/keymaster)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
441
static/node_modules/hotkeys-js/README.md
generated
vendored
Normal file
441
static/node_modules/hotkeys-js/README.md
generated
vendored
Normal file
@ -0,0 +1,441 @@
|
||||
# Hotkeys
|
||||
|
||||
<!--dividing-->
|
||||
|
||||
[](https://jaywcjlove.github.io/#/sponsor)
|
||||
[](https://www.npmjs.com/package/hotkeys-js)
|
||||
[](https://github.com/jaywcjlove/hotkeys/stargazers)
|
||||

|
||||
[](https://github.com/jaywcjlove/hotkeys-js/actions/workflows/ci.yml)
|
||||
[](https://coveralls.io/github/jaywcjlove/hotkeys?branch=master)
|
||||
[](https://github.com/jaywcjlove/hotkeys-js/blob/master/README-zh.md)
|
||||
[](https://gitee.com/jaywcjlove/hotkeys)
|
||||
|
||||
HotKeys.js is an input capture library with some very special features, it is easy to pick up and use, has a reasonable footprint ([~6kB](https://bundlephobia.com/result?p=hotkeys-js)) (gzipped: **`2.8kB`**), and has no dependencies. It should not interfere with any JavaScript libraries or frameworks. Official document [demo preview](https://jaywcjlove.github.io/hotkeys-js). [More examples](https://github.com/jaywcjlove/hotkeys-js/issues?q=label%3ADemo+).
|
||||
|
||||
```bash
|
||||
╭┈┈╮ ╭┈┈╮ ╭┈┈╮
|
||||
┆ ├┈┈..┈┈┈┈┈.┆ └┈╮┆ ├┈┈..┈┈┈┈┈..┈┈.┈┈..┈┈┈┈┈.
|
||||
┆ ┆┆ □ ┆┆ ┈┤┆ < ┆ -__┘┆ ┆ ┆┆__ ┈┈┤
|
||||
╰┈┈┴┈┈╯╰┈┈┈┈┈╯╰┈┈┈┈╯╰┈┈┴┈┈╯╰┈┈┈┈┈╯╰┈┈┈ ┆╰┈┈┈┈┈╯
|
||||
╰┈┈┈┈┈╯
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
||||
You will need `Node.js` installed on your system.
|
||||
|
||||
```bash
|
||||
npm install hotkeys-js --save
|
||||
```
|
||||
|
||||
```js
|
||||
import hotkeys from 'hotkeys-js';
|
||||
|
||||
hotkeys('f5', function(event, handler){
|
||||
// Prevent the default refresh event under WINDOWS system
|
||||
event.preventDefault()
|
||||
alert('you pressed F5!')
|
||||
});
|
||||
```
|
||||
|
||||
Or manually download and link **hotkeys.js** in your HTML, It can also be downloaded via [UNPKG](https://unpkg.com/hotkeys-js/dist/):
|
||||
|
||||
CDN: [UNPKG](https://unpkg.com/hotkeys-js/dist/) | [jsDelivr](https://cdn.jsdelivr.net/npm/hotkeys-js@3.7.3/) | [Githack](https://raw.githack.com/jaywcjlove/hotkeys/master/dist/hotkeys.min.js) | [Statically](https://cdn.statically.io/gh/jaywcjlove/hotkeys/master/dist/hotkeys.min.js) | [bundle.run](https://bundle.run/hotkeys-js@3.7.3)
|
||||
|
||||
```html
|
||||
<script src="https://unpkg.com/hotkeys-js/dist/hotkeys.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
hotkeys('ctrl+a,ctrl+b,r,f', function (event, handler){
|
||||
switch (handler.key) {
|
||||
case 'ctrl+a': alert('you pressed ctrl+a!');
|
||||
break;
|
||||
case 'ctrl+b': alert('you pressed ctrl+b!');
|
||||
break;
|
||||
case 'r': alert('you pressed r!');
|
||||
break;
|
||||
case 'f': alert('you pressed f!');
|
||||
break;
|
||||
default: alert(event);
|
||||
}
|
||||
});
|
||||
</script>
|
||||
```
|
||||
|
||||
### Used in React
|
||||
|
||||
[react-hotkeys](https://github.com/jaywcjlove/react-hotkeys) is the React component that listen to keydown and keyup keyboard events, defining and dispatching keyboard shortcuts. Detailed use method please see its documentation [react-hotkeys](https://github.com/jaywcjlove/react-hotkeys).
|
||||
|
||||
[react-hotkeys-hook](https://github.com/JohannesKlauss/react-hotkeys-hook) - React hook for using keyboard shortcuts in components. Make sure that you have at least version 16.8 of react and react-dom installed, or otherwise hooks won't work for you.
|
||||
|
||||
## Browser Support
|
||||
|
||||
Hotkeys.js has been tested and should work in.
|
||||
|
||||
```shell
|
||||
Internet Explorer 6+
|
||||
Safari
|
||||
Firefox
|
||||
Chrome
|
||||
```
|
||||
|
||||
## Supported Keys
|
||||
|
||||
HotKeys understands the following modifiers: `⇧`, `shift`, `option`, `⌥`, `alt`, `ctrl`, `control`, `command`, and `⌘`.
|
||||
|
||||
The following special keys can be used for shortcuts: backspace, tab, clear, enter, return, esc, escape, space, up, down, left, right, home, end, pageup, pagedown, del, delete, f1 through f19, num_0 through num_9, num_multiply, num_add, num_enter, num_subtract, num_decimal, num_divide.
|
||||
|
||||
`⌘` Command()
|
||||
`⌃` Control
|
||||
`⌥` Option(alt)
|
||||
`⇧` Shift
|
||||
`⇪` Caps Lock(Capital)
|
||||
~~`fn` Does not support fn~~
|
||||
`↩︎` return/Enter space
|
||||
|
||||
## Defining Shortcuts
|
||||
|
||||
One global method is exposed, key which defines shortcuts when called directly.
|
||||
|
||||
```js
|
||||
hotkeys([keys:<String>], [option:[string|object|function]], [callback:<function>])
|
||||
```
|
||||
|
||||
|
||||
```js
|
||||
hotkeys('f5', function(event, handler) {
|
||||
// Prevent the default refresh event under WINDOWS system
|
||||
event.preventDefault();
|
||||
alert('you pressed F5!');
|
||||
});
|
||||
|
||||
// Returning false stops the event and prevents default browser events
|
||||
// Mac OS system defines `command + r` as a refresh shortcut
|
||||
hotkeys('ctrl+r, command+r', function() {
|
||||
alert('stopped reload!');
|
||||
return false;
|
||||
});
|
||||
|
||||
// Single key
|
||||
hotkeys('a', function(event,handler){
|
||||
//event.srcElement: input
|
||||
//event.target: input
|
||||
if(event.target === "input"){
|
||||
alert('you pressed a!')
|
||||
}
|
||||
alert('you pressed a!')
|
||||
});
|
||||
|
||||
// Key Combination
|
||||
hotkeys('ctrl+a,ctrl+b,r,f', function (event, handler){
|
||||
switch (handler.key) {
|
||||
case 'ctrl+a': alert('you pressed ctrl+a!');
|
||||
break;
|
||||
case 'ctrl+b': alert('you pressed ctrl+b!');
|
||||
break;
|
||||
case 'r': alert('you pressed r!');
|
||||
break;
|
||||
case 'f': alert('you pressed f!');
|
||||
break;
|
||||
default: alert(event);
|
||||
}
|
||||
});
|
||||
|
||||
hotkeys('ctrl+a+s', function() {
|
||||
alert('you pressed ctrl+a+s!');
|
||||
});
|
||||
|
||||
// Using a scope
|
||||
hotkeys('*','wcj', function(event){
|
||||
console.log('do something', event);
|
||||
});
|
||||
```
|
||||
|
||||
#### option
|
||||
|
||||
- `scope<String>`
|
||||
- `element<HTMLElement>`
|
||||
- `keyup<Boolean>`
|
||||
- `keydown<Boolean>`
|
||||
- `splitKey<string>` (default is `+`)
|
||||
- `capture<Boolean>`
|
||||
- `single<Boolean>`
|
||||
|
||||
```js
|
||||
hotkeys('o, enter', {
|
||||
scope: 'wcj',
|
||||
element: document.getElementById('wrapper'),
|
||||
}, function() {
|
||||
console.log('do something else');
|
||||
});
|
||||
|
||||
hotkeys('ctrl-+', { splitKey: '-' }, function(e) {
|
||||
console.log('you pressed ctrl and +');
|
||||
});
|
||||
|
||||
hotkeys('+', { splitKey: '-' }, function(e){
|
||||
console.log('you pressed +');
|
||||
})
|
||||
```
|
||||
|
||||
**keyup**
|
||||
|
||||
**key down** and **key up** both perform callback events.
|
||||
|
||||
```js
|
||||
hotkeys('ctrl+a,alt+a+s', {keyup: true}, function(event, handler) {
|
||||
if (event.type === 'keydown') {
|
||||
console.log('keydown:', event.type, handler, handler.key);
|
||||
}
|
||||
|
||||
if (event.type === 'keyup') {
|
||||
console.log('keyup:', event.type, handler, handler.key);
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
## API REFERENCE
|
||||
|
||||
Asterisk "*"
|
||||
|
||||
Modifier key judgments
|
||||
|
||||
```js
|
||||
hotkeys('*', function() {
|
||||
if (hotkeys.shift) {
|
||||
console.log('shift is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.ctrl) {
|
||||
console.log('ctrl is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.alt) {
|
||||
console.log('alt is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.option) {
|
||||
console.log('option is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.control) {
|
||||
console.log('control is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.cmd) {
|
||||
console.log('cmd is pressed!');
|
||||
}
|
||||
|
||||
if (hotkeys.command) {
|
||||
console.log('command is pressed!');
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
### setScope
|
||||
|
||||
Use the `hotkeys.setScope` method to set scope. There can only be one active scope besides 'all'. By default 'all' is always active.
|
||||
|
||||
```js
|
||||
// Define shortcuts with a scope
|
||||
hotkeys('ctrl+o, ctrl+alt+enter', 'issues', function() {
|
||||
console.log('do something');
|
||||
});
|
||||
hotkeys('o, enter', 'files', function() {
|
||||
console.log('do something else');
|
||||
});
|
||||
|
||||
// Set the scope (only 'all' and 'issues' shortcuts will be honored)
|
||||
hotkeys.setScope('issues'); // default scope is 'all'
|
||||
```
|
||||
|
||||
### getScope
|
||||
|
||||
Use the `hotkeys.getScope` method to get scope.
|
||||
|
||||
```js
|
||||
hotkeys.getScope();
|
||||
```
|
||||
|
||||
### deleteScope
|
||||
|
||||
Use the `hotkeys.deleteScope` method to delete a scope. This will also remove all associated hotkeys with it.
|
||||
|
||||
```js
|
||||
hotkeys.deleteScope('issues');
|
||||
```
|
||||
You can use second argument, if need set new scope after deleting.
|
||||
|
||||
```js
|
||||
hotkeys.deleteScope('issues', 'newScopeName');
|
||||
```
|
||||
|
||||
### unbind
|
||||
|
||||
Similar to defining shortcuts, they can be unbound using `hotkeys.unbind`.
|
||||
|
||||
```js
|
||||
// unbind 'a' handler
|
||||
hotkeys.unbind('a');
|
||||
|
||||
// Unbind a hotkeys only for a single scope
|
||||
// If no scope is specified it defaults to the current scope (hotkeys.getScope())
|
||||
hotkeys.unbind('o, enter', 'issues');
|
||||
hotkeys.unbind('o, enter', 'files');
|
||||
```
|
||||
|
||||
Unbind events through functions.
|
||||
|
||||
```js
|
||||
function example() {
|
||||
hotkeys('a', example);
|
||||
hotkeys.unbind('a', example);
|
||||
|
||||
hotkeys('a', 'issues', example);
|
||||
hotkeys.unbind('a', 'issues', example);
|
||||
}
|
||||
```
|
||||
|
||||
To unbind everything.
|
||||
|
||||
```js
|
||||
hotkeys.unbind();
|
||||
```
|
||||
|
||||
### isPressed
|
||||
|
||||
For example, `hotkeys.isPressed(77)` is true if the `M` key is currently pressed.
|
||||
|
||||
```js
|
||||
hotkeys('a', function() {
|
||||
console.log(hotkeys.isPressed('a')); //=> true
|
||||
console.log(hotkeys.isPressed('A')); //=> true
|
||||
console.log(hotkeys.isPressed(65)); //=> true
|
||||
});
|
||||
```
|
||||
|
||||
### trigger
|
||||
|
||||
trigger shortcut key event
|
||||
|
||||
```js
|
||||
hotkeys.trigger('ctrl+o');
|
||||
hotkeys.trigger('ctrl+o', 'scope2');
|
||||
```
|
||||
|
||||
### getPressedKeyCodes
|
||||
|
||||
Returns an array of key codes currently pressed.
|
||||
|
||||
```js
|
||||
hotkeys('command+ctrl+shift+a,f', function() {
|
||||
console.log(hotkeys.getPressedKeyCodes()); //=> [17, 65] or [70]
|
||||
})
|
||||
```
|
||||
|
||||
### getPressedKeyString
|
||||
|
||||
Returns an array of key codes currently pressed.
|
||||
|
||||
```js
|
||||
hotkeys('command+ctrl+shift+a,f', function() {
|
||||
console.log(hotkeys.getPressedKeyString()); //=> ['⌘', '⌃', '⇧', 'A', 'F']
|
||||
})
|
||||
```
|
||||
|
||||
### getAllKeyCodes
|
||||
|
||||
Get a list of all registration codes.
|
||||
|
||||
```js
|
||||
hotkeys('command+ctrl+shift+a,f', function() {
|
||||
console.log(hotkeys.getAllKeyCodes());
|
||||
// [
|
||||
// { scope: 'all', shortcut: 'command+ctrl+shift+a', mods: [91, 17, 16], keys: [91, 17, 16, 65] },
|
||||
// { scope: 'all', shortcut: 'f', mods: [], keys: [42] }
|
||||
// ]
|
||||
})
|
||||
```
|
||||
|
||||
### filter
|
||||
|
||||
By default hotkeys are not enabled for `INPUT` `SELECT` `TEXTAREA` elements. `Hotkeys.filter` to return to the `true` shortcut keys set to play a role, `false` shortcut keys set up failure.
|
||||
|
||||
```js
|
||||
hotkeys.filter = function(event){
|
||||
return true;
|
||||
}
|
||||
//How to add the filter to edit labels. <div contentEditable="true"></div>
|
||||
//"contentEditable" Older browsers that do not support drops
|
||||
hotkeys.filter = function(event) {
|
||||
var target = event.target || event.srcElement;
|
||||
var tagName = target.tagName;
|
||||
return !(target.isContentEditable || tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA');
|
||||
}
|
||||
|
||||
hotkeys.filter = function(event){
|
||||
var tagName = (event.target || event.srcElement).tagName;
|
||||
hotkeys.setScope(/^(INPUT|TEXTAREA|SELECT)$/.test(tagName) ? 'input' : 'other');
|
||||
return true;
|
||||
}
|
||||
```
|
||||
|
||||
### noConflict
|
||||
|
||||
Relinquish HotKeys’s control of the `hotkeys` variable.
|
||||
|
||||
```js
|
||||
var k = hotkeys.noConflict();
|
||||
k('a', function() {
|
||||
console.log("do something")
|
||||
});
|
||||
|
||||
hotkeys()
|
||||
// -->Uncaught TypeError: hotkeys is not a function(anonymous function)
|
||||
// @ VM2170:2InjectedScript._evaluateOn
|
||||
// @ VM2165:883InjectedScript._evaluateAndWrap
|
||||
// @ VM2165:816InjectedScript.evaluate @ VM2165:682
|
||||
```
|
||||
|
||||
## Development
|
||||
|
||||
To develop, Install dependencies, Get the code:
|
||||
|
||||
```shell
|
||||
$ git https://github.com/jaywcjlove/hotkeys.git
|
||||
$ cd hotkeys # Into the directory
|
||||
$ npm install # or yarn install
|
||||
```
|
||||
|
||||
To develop, run the self-reloading build:
|
||||
|
||||
```shell
|
||||
$ npm run watch
|
||||
```
|
||||
|
||||
Run Document Website Environment.
|
||||
|
||||
```shell
|
||||
$ npm run doc
|
||||
```
|
||||
|
||||
To contribute, please fork Hotkeys.js, add your patch and tests for it (in the `test/` folder) and submit a pull request.
|
||||
|
||||
```shell
|
||||
$ npm run test
|
||||
$ npm run test:watch # Development model
|
||||
```
|
||||
|
||||
## Contributors
|
||||
|
||||
As always, thanks to our amazing contributors!
|
||||
|
||||
<a href="https://github.com/jaywcjlove/hotkeys-js/graphs/contributors">
|
||||
<img src="https://jaywcjlove.github.io/hotkeys-js/CONTRIBUTORS.svg" />
|
||||
</a>
|
||||
|
||||
Made with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors).
|
||||
|
||||
## License
|
||||
|
||||
[MIT © Kenny Wong](./LICENSE)
|
181
static/node_modules/hotkeys-js/index.d.ts
generated
vendored
Normal file
181
static/node_modules/hotkeys-js/index.d.ts
generated
vendored
Normal file
@ -0,0 +1,181 @@
|
||||
export interface HotkeysEvent {
|
||||
key: string;
|
||||
keys: number[];
|
||||
method: KeyHandler;
|
||||
mods: number[];
|
||||
scope: string;
|
||||
shortcut: string;
|
||||
}
|
||||
|
||||
export interface KeyHandler {
|
||||
(keyboardEvent: KeyboardEvent, hotkeysEvent: HotkeysEvent): void | boolean;
|
||||
}
|
||||
|
||||
type Options = {
|
||||
scope?: string;
|
||||
element?: HTMLElement | null;
|
||||
keyup?: boolean | null;
|
||||
keydown?: boolean | null;
|
||||
capture?: boolean
|
||||
splitKey?: string;
|
||||
single?: boolean;
|
||||
}
|
||||
|
||||
export interface Hotkeys {
|
||||
(key: string, method: KeyHandler): void;
|
||||
(key: string, scope: string, method: KeyHandler): void;
|
||||
(key: string, options: Options, method: KeyHandler): void;
|
||||
|
||||
shift: boolean;
|
||||
ctrl: boolean;
|
||||
alt: boolean;
|
||||
option: boolean;
|
||||
control: boolean;
|
||||
cmd: boolean;
|
||||
command: boolean;
|
||||
|
||||
keyMap: Record<string, number>;
|
||||
modifier: Record<string, number>;
|
||||
modifierMap: Record<string, number | string>;
|
||||
|
||||
/**
|
||||
* Use the `hotkeys.setScope` method to set scope. There can only be one active scope besides 'all'. By default 'all' is always active.
|
||||
*
|
||||
* ```js
|
||||
* // Define shortcuts with a scope
|
||||
* hotkeys('ctrl+o, ctrl+alt+enter', 'issues', function() {
|
||||
* console.log('do something');
|
||||
* });
|
||||
* hotkeys('o, enter', 'files', function() {
|
||||
* console.log('do something else');
|
||||
* });
|
||||
*
|
||||
* // Set the scope (only 'all' and 'issues' shortcuts will be honored)
|
||||
* hotkeys.setScope('issues'); // default scope is 'all'
|
||||
* ```
|
||||
*/
|
||||
setScope(scopeName: string): void;
|
||||
/**
|
||||
* Use the `hotkeys.getScope` method to get scope.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys.getScope();
|
||||
* ```
|
||||
*/
|
||||
getScope(): string;
|
||||
/**
|
||||
* Use the `hotkeys.deleteScope` method to delete a scope. This will also remove all associated hotkeys with it.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys.deleteScope('issues');
|
||||
* ```
|
||||
* You can use second argument, if need set new scope after deleting.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys.deleteScope('issues', 'newScopeName');
|
||||
* ```
|
||||
*/
|
||||
deleteScope(scopeName: string, newScopeName?: string): void;
|
||||
|
||||
/**
|
||||
* Relinquish HotKeys’s control of the `hotkeys` variable.
|
||||
*
|
||||
* ```js
|
||||
* var k = hotkeys.noConflict();
|
||||
* k('a', function() {
|
||||
* console.log("do something")
|
||||
* });
|
||||
*
|
||||
* hotkeys()
|
||||
* // -->Uncaught TypeError: hotkeys is not a function(anonymous function)
|
||||
* // @ VM2170:2InjectedScript._evaluateOn
|
||||
* // @ VM2165:883InjectedScript._evaluateAndWrap
|
||||
* // @ VM2165:816InjectedScript.evaluate @ VM2165:682
|
||||
* ```
|
||||
*/
|
||||
noConflict(): Hotkeys;
|
||||
|
||||
/**
|
||||
* trigger shortcut key event
|
||||
*
|
||||
* ```js
|
||||
* hotkeys.trigger('ctrl+o');
|
||||
* hotkeys.trigger('ctrl+o', 'scope2');
|
||||
* ```
|
||||
*/
|
||||
trigger(shortcut: string, scope?: string): void;
|
||||
|
||||
unbind(key?: string): void;
|
||||
unbind(key: string, scopeName: string): void;
|
||||
unbind(key: string, scopeName: string, method: KeyHandler): void;
|
||||
unbind(key: string, method: KeyHandler): void;
|
||||
|
||||
/** For example, `hotkeys.isPressed(77)` is true if the `M` key is currently pressed. */
|
||||
isPressed(keyCode: number): boolean;
|
||||
/** For example, `hotkeys.isPressed('m')` is true if the `M` key is currently pressed. */
|
||||
isPressed(keyCode: string): boolean;
|
||||
/**
|
||||
* Returns an array of key codes currently pressed.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys('command+ctrl+shift+a,f', function() {
|
||||
* console.log(hotkeys.getPressedKeyCodes()); //=> [17, 65] or [70]
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
getPressedKeyCodes(): number[];
|
||||
/**
|
||||
* Returns an array of key codes currently pressed.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys('command+ctrl+shift+a,f', function() {
|
||||
* console.log(hotkeys.getPressedKeyString()); //=> ['⌘', '⌃', '⇧', 'A', 'F']
|
||||
* })
|
||||
* ```
|
||||
*/
|
||||
getPressedKeyString(): string[];
|
||||
/**
|
||||
* Get a list of all registration codes.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys('command+ctrl+shift+a,f', function() {
|
||||
* console.log(hotkeys.getAllKeyCodes());
|
||||
* // [
|
||||
* // { scope: 'all', shortcut: 'command+ctrl+shift+a', mods: [91, 17, 16], keys: [91, 17, 16, 65] },
|
||||
* // { scope: 'all', shortcut: 'f', mods: [], keys: [42] }
|
||||
* // ]
|
||||
* })
|
||||
* ```
|
||||
*
|
||||
*/
|
||||
getAllKeyCodes(): Omit<HotkeysEvent, 'method' | 'key'>[];
|
||||
|
||||
/**
|
||||
* By default hotkeys are not enabled for `INPUT` `SELECT` `TEXTAREA` elements.
|
||||
* `Hotkeys.filter` to return to the `true` shortcut keys set to play a role,
|
||||
* `false` shortcut keys set up failure.
|
||||
*
|
||||
* ```js
|
||||
* hotkeys.filter = function(event){
|
||||
* return true;
|
||||
* }
|
||||
* //How to add the filter to edit labels. <div contentEditable="true"></div>
|
||||
* //"contentEditable" Older browsers that do not support drops
|
||||
* hotkeys.filter = function(event) {
|
||||
* var target = event.target || event.srcElement;
|
||||
* var tagName = target.tagName;
|
||||
* return !(target.isContentEditable || tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA');
|
||||
* }
|
||||
*
|
||||
* hotkeys.filter = function(event){
|
||||
* var tagName = (event.target || event.srcElement).tagName;
|
||||
* hotkeys.setScope(/^(INPUT|TEXTAREA|SELECT)$/.test(tagName) ? 'input' : 'other');
|
||||
* return true;
|
||||
* }
|
||||
* ```
|
||||
*/
|
||||
filter(event: KeyboardEvent): boolean;
|
||||
}
|
||||
// https://github.com/eiriklv/react-masonry-component/issues/57
|
||||
declare var hotkeys: Hotkeys;
|
||||
export default hotkeys;
|
7
static/node_modules/hotkeys-js/index.js
generated
vendored
Normal file
7
static/node_modules/hotkeys-js/index.js
generated
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
if (process.env.NODE_ENV === 'production') {
|
||||
// eslint-disable-next-line global-require
|
||||
module.exports = require('./dist/hotkeys.common.min.js');
|
||||
} else {
|
||||
// eslint-disable-next-line global-require
|
||||
module.exports = require('./dist/hotkeys.common.js');
|
||||
}
|
32
static/node_modules/hotkeys-js/package.json
generated
vendored
Normal file
32
static/node_modules/hotkeys-js/package.json
generated
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
{
|
||||
"name": "hotkeys-js",
|
||||
"description": "A simple micro-library for defining and dispatching keyboard shortcuts. It has no dependencies.",
|
||||
"version": "3.13.7",
|
||||
"main": "index.js",
|
||||
"types": "index.d.ts",
|
||||
"module": "dist/hotkeys.esm.js",
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"dist",
|
||||
"doc"
|
||||
],
|
||||
"keywords": [
|
||||
"hotkey",
|
||||
"hotkeys",
|
||||
"hotkeys-js",
|
||||
"hotkeysjs",
|
||||
"key",
|
||||
"keys",
|
||||
"keyboard",
|
||||
"shortcuts",
|
||||
"keypress"
|
||||
],
|
||||
"author": "kenny wong <wowohoo@qq.com>",
|
||||
"license": "MIT",
|
||||
"homepage": "https://jaywcjlove.github.io/hotkeys-js",
|
||||
"funding": "https://jaywcjlove.github.io/#/sponsor",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/jaywcjlove/hotkeys-js.git"
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user