From a129f8e229f16292d65ffd9dcf9f8a585aa3fe8a Mon Sep 17 00:00:00 2001
From: Teddy Wing
Date: Sun, 21 Mar 2021 17:23:11 +0100
Subject: Remove Bower-included Mousetrap
Now that we've added Mousetrap via NPM, we can remove the one we
installed via Bower and Bower files.
Didn't really need to switch to NPM, but I wanted to get a Mousetrap
dependency that included its LICENSE file so I could include it in my
build.
---
lib/mousetrap/plugins/README.md | 24 ---
lib/mousetrap/plugins/bind-dictionary/README.md | 16 --
.../bind-dictionary/mousetrap-bind-dictionary.js | 39 ----
.../mousetrap-bind-dictionary.min.js | 1 -
lib/mousetrap/plugins/global-bind/README.md | 15 --
.../plugins/global-bind/mousetrap-global-bind.js | 43 -----
.../global-bind/mousetrap-global-bind.min.js | 1 -
lib/mousetrap/plugins/pause/README.md | 13 --
lib/mousetrap/plugins/pause/mousetrap-pause.js | 31 ----
lib/mousetrap/plugins/pause/mousetrap-pause.min.js | 1 -
lib/mousetrap/plugins/record/README.md | 16 --
lib/mousetrap/plugins/record/mousetrap-record.js | 205 ---------------------
.../plugins/record/mousetrap-record.min.js | 2 -
lib/mousetrap/plugins/record/tests/index.html | 29 ---
lib/mousetrap/plugins/record/tests/jelly.css | 18 --
lib/mousetrap/plugins/record/tests/jelly.js | 53 ------
16 files changed, 507 deletions(-)
delete mode 100644 lib/mousetrap/plugins/README.md
delete mode 100644 lib/mousetrap/plugins/bind-dictionary/README.md
delete mode 100644 lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
delete mode 100644 lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.min.js
delete mode 100644 lib/mousetrap/plugins/global-bind/README.md
delete mode 100644 lib/mousetrap/plugins/global-bind/mousetrap-global-bind.js
delete mode 100644 lib/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js
delete mode 100644 lib/mousetrap/plugins/pause/README.md
delete mode 100644 lib/mousetrap/plugins/pause/mousetrap-pause.js
delete mode 100644 lib/mousetrap/plugins/pause/mousetrap-pause.min.js
delete mode 100644 lib/mousetrap/plugins/record/README.md
delete mode 100644 lib/mousetrap/plugins/record/mousetrap-record.js
delete mode 100644 lib/mousetrap/plugins/record/mousetrap-record.min.js
delete mode 100644 lib/mousetrap/plugins/record/tests/index.html
delete mode 100644 lib/mousetrap/plugins/record/tests/jelly.css
delete mode 100644 lib/mousetrap/plugins/record/tests/jelly.js
(limited to 'lib/mousetrap/plugins')
diff --git a/lib/mousetrap/plugins/README.md b/lib/mousetrap/plugins/README.md
deleted file mode 100644
index 704cf04..0000000
--- a/lib/mousetrap/plugins/README.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# Plugins
-
-Plugins extend the functionality of Mousetrap. To use a plugin just include the plugin after mousetrap.
-
-```html
-
-
-```
-
-## Bind dictionary
-
-Allows you to make multiple bindings in a single ``Mousetrap.bind`` call.
-
-## Global bind
-
-Allows you to set global bindings that work even inside of input fields.
-
-## Pause/unpause
-
-Allows you to temporarily prevent Mousetrap events from firing.
-
-## Record
-
-Allows you to capture a keyboard shortcut or sequence defined by a user.
diff --git a/lib/mousetrap/plugins/bind-dictionary/README.md b/lib/mousetrap/plugins/bind-dictionary/README.md
deleted file mode 100644
index 6f956b6..0000000
--- a/lib/mousetrap/plugins/bind-dictionary/README.md
+++ /dev/null
@@ -1,16 +0,0 @@
-# Bind Dictionary
-
-This extension overwrites the default bind behavior and allows you to bind multiple combinations in a single bind call.
-
-Usage looks like:
-
-```javascript
-Mousetrap.bind({
- 'a': function() { console.log('a'); },
- 'b': function() { console.log('b'); }
-});
-```
-
-You can optionally pass in ``keypress``, ``keydown`` or ``keyup`` as a second argument.
-
-Other bind calls work the same way as they do by default.
diff --git a/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js b/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
deleted file mode 100644
index 523fc86..0000000
--- a/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.js
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * Overwrites default Mousetrap.bind method to optionally accept
- * an object to bind multiple key events in a single call
- *
- * You can pass it in like:
- *
- * Mousetrap.bind({
- * 'a': function() { console.log('a'); },
- * 'b': function() { console.log('b'); }
- * });
- *
- * And can optionally pass in 'keypress', 'keydown', or 'keyup'
- * as a second argument
- *
- */
-/* global Mousetrap:true */
-(function(Mousetrap) {
- var _oldBind = Mousetrap.prototype.bind;
- var args;
-
- Mousetrap.prototype.bind = function() {
- var self = this;
- args = arguments;
-
- // normal call
- if (typeof args[0] == 'string' || args[0] instanceof Array) {
- return _oldBind.call(self, args[0], args[1], args[2]);
- }
-
- // object passed in
- for (var key in args[0]) {
- if (args[0].hasOwnProperty(key)) {
- _oldBind.call(self, key, args[0][key], args[1]);
- }
- }
- };
-
- Mousetrap.init();
-}) (Mousetrap);
diff --git a/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.min.js b/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.min.js
deleted file mode 100644
index bf9d8d0..0000000
--- a/lib/mousetrap/plugins/bind-dictionary/mousetrap-bind-dictionary.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(b){var c=b.prototype.bind,a;b.prototype.bind=function(){a=arguments;if("string"==typeof a[0]||a[0]instanceof Array)return c.call(this,a[0],a[1],a[2]);for(var b in a[0])a[0].hasOwnProperty(b)&&c.call(this,b,a[0][b],a[1])};b.init()})(Mousetrap);
diff --git a/lib/mousetrap/plugins/global-bind/README.md b/lib/mousetrap/plugins/global-bind/README.md
deleted file mode 100644
index a37a219..0000000
--- a/lib/mousetrap/plugins/global-bind/README.md
+++ /dev/null
@@ -1,15 +0,0 @@
-# Global Bind
-
-This extension allows you to specify keyboard events that will work anywhere including inside textarea/input fields.
-
-Usage looks like:
-
-```javascript
-Mousetrap.bindGlobal('ctrl+s', function() {
- _save();
-});
-```
-
-This means that a keyboard event bound using ``Mousetrap.bind`` will only work outside of form input fields, but using ``Moustrap.bindGlobal`` will work in both places.
-
-If you wanted to create keyboard shortcuts that only work when you are inside a specific textarea you can do that too by creating your own extension.
diff --git a/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.js b/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.js
deleted file mode 100644
index 1c4ac14..0000000
--- a/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * adds a bindGlobal method to Mousetrap that allows you to
- * bind specific keyboard shortcuts that will still work
- * inside a text input field
- *
- * usage:
- * Mousetrap.bindGlobal('ctrl+s', _saveChanges);
- */
-/* global Mousetrap:true */
-(function(Mousetrap) {
- var _globalCallbacks = {};
- var _originalStopCallback = Mousetrap.prototype.stopCallback;
-
- Mousetrap.prototype.stopCallback = function(e, element, combo, sequence) {
- var self = this;
-
- if (self.paused) {
- return true;
- }
-
- if (_globalCallbacks[combo] || _globalCallbacks[sequence]) {
- return false;
- }
-
- return _originalStopCallback.call(self, e, element, combo);
- };
-
- Mousetrap.prototype.bindGlobal = function(keys, callback, action) {
- var self = this;
- self.bind(keys, callback, action);
-
- if (keys instanceof Array) {
- for (var i = 0; i < keys.length; i++) {
- _globalCallbacks[keys[i]] = true;
- }
- return;
- }
-
- _globalCallbacks[keys] = true;
- };
-
- Mousetrap.init();
-}) (Mousetrap);
diff --git a/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js b/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js
deleted file mode 100644
index 073ce67..0000000
--- a/lib/mousetrap/plugins/global-bind/mousetrap-global-bind.min.js
+++ /dev/null
@@ -1 +0,0 @@
-(function(a){var c={},d=a.prototype.stopCallback;a.prototype.stopCallback=function(e,b,a,f){return this.paused?!0:c[a]||c[f]?!1:d.call(this,e,b,a)};a.prototype.bindGlobal=function(a,b,d){this.bind(a,b,d);if(a instanceof Array)for(b=0;bRecord
-
-
-```
diff --git a/lib/mousetrap/plugins/record/mousetrap-record.js b/lib/mousetrap/plugins/record/mousetrap-record.js
deleted file mode 100644
index b7d364d..0000000
--- a/lib/mousetrap/plugins/record/mousetrap-record.js
+++ /dev/null
@@ -1,205 +0,0 @@
-/**
- * This extension allows you to record a sequence using Mousetrap.
- *
- * @author Dan Tao
- */
-(function(Mousetrap) {
- /**
- * the sequence currently being recorded
- *
- * @type {Array}
- */
- var _recordedSequence = [],
-
- /**
- * a callback to invoke after recording a sequence
- *
- * @type {Function|null}
- */
- _recordedSequenceCallback = null,
-
- /**
- * a list of all of the keys currently held down
- *
- * @type {Array}
- */
- _currentRecordedKeys = [],
-
- /**
- * temporary state where we remember if we've already captured a
- * character key in the current combo
- *
- * @type {boolean}
- */
- _recordedCharacterKey = false,
-
- /**
- * a handle for the timer of the current recording
- *
- * @type {null|number}
- */
- _recordTimer = null,
-
- /**
- * the original handleKey method to override when Mousetrap.record() is
- * called
- *
- * @type {Function}
- */
- _origHandleKey = Mousetrap.prototype.handleKey;
-
- /**
- * handles a character key event
- *
- * @param {string} character
- * @param {Array} modifiers
- * @param {Event} e
- * @returns void
- */
- function _handleKey(character, modifiers, e) {
- var self = this;
-
- if (!self.recording) {
- _origHandleKey.apply(self, arguments);
- return;
- }
-
- // remember this character if we're currently recording a sequence
- if (e.type == 'keydown') {
- if (character.length === 1 && _recordedCharacterKey) {
- _recordCurrentCombo();
- }
-
- for (i = 0; i < modifiers.length; ++i) {
- _recordKey(modifiers[i]);
- }
- _recordKey(character);
-
- // once a key is released, all keys that were held down at the time
- // count as a keypress
- } else if (e.type == 'keyup' && _currentRecordedKeys.length > 0) {
- _recordCurrentCombo();
- }
- }
-
- /**
- * marks a character key as held down while recording a sequence
- *
- * @param {string} key
- * @returns void
- */
- function _recordKey(key) {
- var i;
-
- // one-off implementation of Array.indexOf, since IE6-9 don't support it
- for (i = 0; i < _currentRecordedKeys.length; ++i) {
- if (_currentRecordedKeys[i] === key) {
- return;
- }
- }
-
- _currentRecordedKeys.push(key);
-
- if (key.length === 1) {
- _recordedCharacterKey = true;
- }
- }
-
- /**
- * marks whatever key combination that's been recorded so far as finished
- * and gets ready for the next combo
- *
- * @returns void
- */
- function _recordCurrentCombo() {
- _recordedSequence.push(_currentRecordedKeys);
- _currentRecordedKeys = [];
- _recordedCharacterKey = false;
- _restartRecordTimer();
- }
-
- /**
- * ensures each combo in a sequence is in a predictable order and formats
- * key combos to be '+'-delimited
- *
- * modifies the sequence in-place
- *
- * @param {Array} sequence
- * @returns void
- */
- function _normalizeSequence(sequence) {
- var i;
-
- for (i = 0; i < sequence.length; ++i) {
- sequence[i].sort(function(x, y) {
- // modifier keys always come first, in alphabetical order
- if (x.length > 1 && y.length === 1) {
- return -1;
- } else if (x.length === 1 && y.length > 1) {
- return 1;
- }
-
- // character keys come next (list should contain no duplicates,
- // so no need for equality check)
- return x > y ? 1 : -1;
- });
-
- sequence[i] = sequence[i].join('+');
- }
- }
-
- /**
- * finishes the current recording, passes the recorded sequence to the stored
- * callback, and sets Mousetrap.handleKey back to its original function
- *
- * @returns void
- */
- function _finishRecording() {
- if (_recordedSequenceCallback) {
- _normalizeSequence(_recordedSequence);
- _recordedSequenceCallback(_recordedSequence);
- }
-
- // reset all recorded state
- _recordedSequence = [];
- _recordedSequenceCallback = null;
- _currentRecordedKeys = [];
- }
-
- /**
- * called to set a 1 second timeout on the current recording
- *
- * this is so after each key press in the sequence the recording will wait for
- * 1 more second before executing the callback
- *
- * @returns void
- */
- function _restartRecordTimer() {
- clearTimeout(_recordTimer);
- _recordTimer = setTimeout(_finishRecording, 1000);
- }
-
- /**
- * records the next sequence and passes it to a callback once it's
- * completed
- *
- * @param {Function} callback
- * @returns void
- */
- Mousetrap.prototype.record = function(callback) {
- var self = this;
- self.recording = true;
- _recordedSequenceCallback = function() {
- self.recording = false;
- callback.apply(self, arguments);
- };
- };
-
- Mousetrap.prototype.handleKey = function() {
- var self = this;
- _handleKey.apply(self, arguments);
- };
-
- Mousetrap.init();
-
-})(Mousetrap);
diff --git a/lib/mousetrap/plugins/record/mousetrap-record.min.js b/lib/mousetrap/plugins/record/mousetrap-record.min.js
deleted file mode 100644
index 25f3e71..0000000
--- a/lib/mousetrap/plugins/record/mousetrap-record.min.js
+++ /dev/null
@@ -1,2 +0,0 @@
-(function(d){function n(b,a,h){if(this.recording)if("keydown"==h.type){1===b.length&&g&&k();for(i=0;ib?1:-1}),b[a]=
-b[a].join("+")}function q(){f&&(r(e),f(e));e=[];f=null;c=[]}var e=[],f=null,c=[],g=!1,m=null,p=d.prototype.handleKey;d.prototype.record=function(b){var a=this;a.recording=!0;f=function(){a.recording=!1;b.apply(a,arguments)}};d.prototype.handleKey=function(){n.apply(this,arguments)};d.init()})(Mousetrap);
diff --git a/lib/mousetrap/plugins/record/tests/index.html b/lib/mousetrap/plugins/record/tests/index.html
deleted file mode 100644
index 5608f09..0000000
--- a/lib/mousetrap/plugins/record/tests/index.html
+++ /dev/null
@@ -1,29 +0,0 @@
-
-
-
-
- Jelly
-
-
-
-
-
-