: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
module.exports.TinyEmitter = E;
/************************************************************************/
/******/ // The module cache
/******/ var __webpack_module_cache__ = {};
/******/ // The require function
/******/ function __nested_webpack_require_24495__(moduleId) {
/******/ // Check if module is in cache
/******/ if(__webpack_module_cache__[moduleId]) {
/******/ return __webpack_module_cache__[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = __webpack_module_cache__[moduleId] = {
/******/ // no module.id needed
/******/ // no module.loaded needed
/******/ // Execute the module function
/******/ __webpack_modules__[moduleId](module, module.exports, __nested_webpack_require_24495__);
/******/ // Return the exports of the module
/******/ return module.exports;
/************************************************************************/
/******/ /* webpack/runtime/compat get default export */
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __nested_webpack_require_24495__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function() { return module['default']; } :
/******/ function() { return module; };
/******/ __nested_webpack_require_24495__.d(getter, { a: getter });
/******/ /* webpack/runtime/define property getters */
/******/ // define getter functions for harmony exports
/******/ __nested_webpack_require_24495__.d = function(exports, definition) {
/******/ for(var key in definition) {
/******/ if(__nested_webpack_require_24495__.o(definition, key) && !__nested_webpack_require_24495__.o(exports, key)) {
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
/******/ /* webpack/runtime/hasOwnProperty shorthand */
/******/ __nested_webpack_require_24495__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
/************************************************************************/
/******/ // module exports must be returned from runtime so entry inlining is disabled
/******/ // Load entry module and return exports
/******/ return __nested_webpack_require_24495__(686);
/***/ ((module, exports, __webpack_require__) => {
var __WEBPACK_AMD_DEFINE_RESULT__;/*global define:false */
* Copyright 2012-2017 Craig Campbell
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
* Mousetrap is a simple keyboard shortcut library for Javascript with
* no external dependencies
* @url craig.is/killing/mice
(function(window, document, undefined) {
// Check if mousetrap is used inside browser, if not, return
* mapping of special keycodes to their corresponding keys
* everything in this dictionary cannot use keypress events
* so it has to be here to map to the correct keycodes for
* mapping for special characters so they can support
* this dictionary is only used incase you want to bind a
* keyup or keydown event to one of these keys
* this is a mapping of keys that require shift on a US keypad
* back to the non shift equivelents
* this is so you can use keyup events with these keys
* note that this will only work reliably on US keyboards
* this is a list of special strings you can use to map
* to modifier keys when you specify your keyboard shortcuts
'mod': /Mac|iPod|iPhone|iPad/.test(navigator.platform) ? 'meta' : 'ctrl'
* variable to store the flipped version of _MAP from above
* needed to check if we should use keypress or not when no action
* @type {Object|undefined}
* loop through the f keys, f1 to f19 and add them to the map
for (var i = 1; i < 20; ++i) {
* loop through to map numbers on the numeric keypad
for (i = 0; i <= 9; ++i) {
// This needs to use a string cause otherwise since 0 is falsey
// mousetrap will never fire for numpad 0 pressed as part of a keydown
// @see https://github.com/ccampbell/mousetrap/pull/258
_MAP[i + 96] = i.toString();
* cross browser add event method
* @param {Element|HTMLDocument} object
* @param {Function} callback
function _addEvent(object, type, callback) {
if (object.addEventListener) {
object.addEventListener(type, callback, false);
object.attachEvent('on' + type, callback);
* takes the event and returns the key character
function _characterFromEvent(e) {
// for keypress events we should return the character as is
if (e.type == 'keypress') {
var character = String.fromCharCode(e.which);
// if the shift key is not pressed then it is safe to assume
// that we want the character to be lowercase. this means if
// you accidentally have caps lock on then your key bindings
// the only side effect that might not be desired is if you
// bind something like 'A' cause you want to trigger an
// event when capital A is pressed caps lock will no longer
// trigger the event. shift+a will though.
character = character.toLowerCase();
// for non keypress events the special maps are needed
if (_KEYCODE_MAP[e.which]) {
return _KEYCODE_MAP[e.which];
// if it is not in the special map
// with keydown and keyup events the character seems to always
// come in as an uppercase character whether you are pressing shift
// or not. we should make sure it is always lowercase for comparisons
return String.fromCharCode(e.which).toLowerCase();
* checks if two arrays are equal
* @param {Array} modifiers1
* @param {Array} modifiers2
function _modifiersMatch(modifiers1, modifiers2) {
return modifiers1.sort().join(',') === modifiers2.sort().join(',');
* takes a key event and figures out what the modifiers are
function _eventModifiers(e) {
* prevents default for this event
function _preventDefault(e) {
* stops propogation for this event
function _stopPropagation(e) {
* determines if the keycode specified is a modifier key or not
function _isModifier(key) {
return key == 'shift' || key == 'ctrl' || key == 'alt' || key == 'meta';
* reverses the map lookup so that we can look for specific keys
* to see what can and can't use keypress
function _getReverseMap() {
// pull out the numeric keypad from here cause keypress should
// be able to detect the keys from the character
if (key > 95 && key < 112) {
if (_MAP.hasOwnProperty(key)) {
_REVERSE_MAP[_MAP[key]] = key;
* picks the best action based on the key combination
* @param {string} key - character for key
* @param {Array} modifiers
* @param {string=} action passed in
function _pickBestAction(key, modifiers, action) {
// if no action was picked in we should try to pick the one
// that we think would work best for this key
action = _getReverseMap()[key] ? 'keydown' : 'keypress';
// modifier keys don't work as expected with keypress,
if (action == 'keypress' && modifiers.length) {
* Converts from a string key combination to an array
* @param {string} combination like "command+shift+l"
function _keysFromString(combination) {
if (combination === '+') {
combination = combination.replace(/\+{2}/g, '+plus');
return combination.split('+');
* Gets info for a specific key combination
* @param {string} combination key combination ("command+s" or "a" or "*")
* @param {string=} action
function _getKeyInfo(combination, action) {
// take the keys from this pattern and figure out what the actual
keys = _keysFromString(combination);
for (i = 0; i < keys.length; ++i) {
if (_SPECIAL_ALIASES[key]) {
key = _SPECIAL_ALIASES[key];
// if this is not a keypress event then we should
// be smart about using shift keys
// this will only work for US keyboards however
if (action && action != 'keypress' && _SHIFT_MAP[key]) {
// if this key is a modifier then add it to the list of modifiers
// depending on what the key combination is
// we will try to pick the best event for it
action = _pickBestAction(key, modifiers, action);