2018-12-14 05:41:57 +01:00
this [ "wp" ] = this [ "wp" ] || { } ; this [ "wp" ] [ "keycodes" ] =
/******/ ( function ( modules ) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = { } ;
/******/
/******/ // The require function
/******/ function _ _webpack _require _ _ ( moduleId ) {
/******/
/******/ // Check if module is in cache
/******/ if ( installedModules [ moduleId ] ) {
/******/ return installedModules [ moduleId ] . exports ;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules [ moduleId ] = {
/******/ i : moduleId ,
/******/ l : false ,
/******/ exports : { }
/******/ } ;
/******/
/******/ // Execute the module function
/******/ modules [ moduleId ] . call ( module . exports , module , module . exports , _ _webpack _require _ _ ) ;
/******/
/******/ // Flag the module as loaded
/******/ module . l = true ;
/******/
/******/ // Return the exports of the module
/******/ return module . exports ;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ _ _webpack _require _ _ . m = modules ;
/******/
/******/ // expose the module cache
/******/ _ _webpack _require _ _ . c = installedModules ;
/******/
/******/ // define getter function for harmony exports
/******/ _ _webpack _require _ _ . d = function ( exports , name , getter ) {
/******/ if ( ! _ _webpack _require _ _ . o ( exports , name ) ) {
/******/ Object . defineProperty ( exports , name , { enumerable : true , get : getter } ) ;
/******/ }
/******/ } ;
/******/
/******/ // define __esModule on exports
/******/ _ _webpack _require _ _ . r = function ( exports ) {
/******/ if ( typeof Symbol !== 'undefined' && Symbol . toStringTag ) {
/******/ Object . defineProperty ( exports , Symbol . toStringTag , { value : 'Module' } ) ;
/******/ }
/******/ Object . defineProperty ( exports , '__esModule' , { value : true } ) ;
/******/ } ;
/******/
/******/ // create a fake namespace object
/******/ // mode & 1: value is a module id, require it
/******/ // mode & 2: merge all properties of value into the ns
/******/ // mode & 4: return value when already ns object
/******/ // mode & 8|1: behave like require
/******/ _ _webpack _require _ _ . t = function ( value , mode ) {
/******/ if ( mode & 1 ) value = _ _webpack _require _ _ ( value ) ;
/******/ if ( mode & 8 ) return value ;
/******/ if ( ( mode & 4 ) && typeof value === 'object' && value && value . _ _esModule ) return value ;
/******/ var ns = Object . create ( null ) ;
/******/ _ _webpack _require _ _ . r ( ns ) ;
/******/ Object . defineProperty ( ns , 'default' , { enumerable : true , value : value } ) ;
/******/ if ( mode & 2 && typeof value != 'string' ) for ( var key in value ) _ _webpack _require _ _ . d ( ns , key , function ( key ) { return value [ key ] ; } . bind ( null , key ) ) ;
/******/ return ns ;
/******/ } ;
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ _ _webpack _require _ _ . n = function ( module ) {
/******/ var getter = module && module . _ _esModule ?
/******/ function getDefault ( ) { return module [ 'default' ] ; } :
/******/ function getModuleExports ( ) { return module ; } ;
/******/ _ _webpack _require _ _ . d ( getter , 'a' , getter ) ;
/******/ return getter ;
/******/ } ;
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ _ _webpack _require _ _ . o = function ( object , property ) { return Object . prototype . hasOwnProperty . call ( object , property ) ; } ;
/******/
/******/ // __webpack_public_path__
/******/ _ _webpack _require _ _ . p = "" ;
/******/
/******/
/******/ // Load entry module and return exports
2021-01-28 03:04:13 +01:00
/******/ return _ _webpack _require _ _ ( _ _webpack _require _ _ . s = 473 ) ;
2018-12-14 05:41:57 +01:00
/******/ } )
/************************************************************************/
/******/ ( {
2018-12-18 04:14:52 +01:00
/***/ 1 :
/***/ ( function ( module , exports ) {
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
( function ( ) { module . exports = window [ "wp" ] [ "i18n" ] ; } ( ) ) ;
2018-12-14 05:41:57 +01:00
/***/ } ) ,
2021-01-28 03:04:13 +01:00
/***/ 15 :
2018-12-14 05:41:57 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-29 13:50:29 +02:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return /* binding */ _toConsumableArray ; } ) ;
2020-03-24 00:40:19 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
2021-01-28 03:04:13 +01:00
var arrayLikeToArray = _ _webpack _require _ _ ( 24 ) ;
2020-03-24 00:40:19 +01:00
2018-12-18 04:14:52 +01:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
2018-12-14 05:41:57 +01:00
2020-03-24 00:40:19 +01:00
function _arrayWithoutHoles ( arr ) {
if ( Array . isArray ( arr ) ) return Object ( arrayLikeToArray [ "a" /* default */ ] ) ( arr ) ;
2018-12-18 04:14:52 +01:00
}
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
2020-10-13 15:10:30 +02:00
var iterableToArray = _ _webpack _require _ _ ( 37 ) ;
2020-03-24 00:40:19 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
2021-01-28 03:04:13 +01:00
var unsupportedIterableToArray = _ _webpack _require _ _ ( 32 ) ;
2018-12-14 05:41:57 +01:00
2018-12-18 04:14:52 +01:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
2018-12-14 05:41:57 +01:00
function _nonIterableSpread ( ) {
2020-03-24 00:40:19 +01:00
throw new TypeError ( "Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method." ) ;
2018-12-14 05:41:57 +01:00
}
2018-12-18 04:14:52 +01:00
// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
2020-03-24 00:40:19 +01:00
2018-12-18 04:14:52 +01:00
function _toConsumableArray ( arr ) {
2020-03-24 00:40:19 +01:00
return _arrayWithoutHoles ( arr ) || Object ( iterableToArray [ "a" /* default */ ] ) ( arr ) || Object ( unsupportedIterableToArray [ "a" /* default */ ] ) ( arr ) || _nonIterableSpread ( ) ;
2018-12-18 04:14:52 +01:00
}
2018-12-14 05:41:57 +01:00
/***/ } ) ,
2018-12-18 04:14:52 +01:00
/***/ 2 :
/***/ ( function ( module , exports ) {
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
( function ( ) { module . exports = window [ "lodash" ] ; } ( ) ) ;
2018-12-14 05:41:57 +01:00
2018-12-18 04:14:52 +01:00
/***/ } ) ,
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
/***/ 24 :
2020-03-24 00:40:19 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _arrayLikeToArray ; } ) ;
function _arrayLikeToArray ( arr , len ) {
if ( len == null || len > arr . length ) len = arr . length ;
for ( var i = 0 , arr2 = new Array ( len ) ; i < len ; i ++ ) {
arr2 [ i ] = arr [ i ] ;
}
return arr2 ;
}
/***/ } ) ,
2021-01-28 03:04:13 +01:00
/***/ 32 :
2020-03-24 00:40:19 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _unsupportedIterableToArray ; } ) ;
2021-01-28 03:04:13 +01:00
/* harmony import */ var _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ = _ _webpack _require _ _ ( 24 ) ;
2020-03-24 00:40:19 +01:00
function _unsupportedIterableToArray ( o , minLen ) {
if ( ! o ) return ;
2021-01-28 03:04:13 +01:00
if ( typeof o === "string" ) return Object ( _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( o , minLen ) ;
2020-03-24 00:40:19 +01:00
var n = Object . prototype . toString . call ( o ) . slice ( 8 , - 1 ) ;
if ( n === "Object" && o . constructor ) n = o . constructor . name ;
2020-06-26 15:33:47 +02:00
if ( n === "Map" || n === "Set" ) return Array . from ( o ) ;
2021-01-28 03:04:13 +01:00
if ( n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/ . test ( n ) ) return Object ( _babel _runtime _helpers _esm _arrayLikeToArray _ _WEBPACK _IMPORTED _MODULE _0 _ _ [ /* default */ "a" ] ) ( o , minLen ) ;
2020-03-24 00:40:19 +01:00
}
/***/ } ) ,
2020-10-13 15:10:30 +02:00
/***/ 37 :
2019-03-21 13:48:00 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _iterableToArray ; } ) ;
function _iterableToArray ( iter ) {
2020-03-24 00:40:19 +01:00
if ( typeof Symbol !== "undefined" && Symbol . iterator in Object ( iter ) ) return Array . from ( iter ) ;
2019-03-21 13:48:00 +01:00
}
/***/ } ) ,
2021-01-28 03:04:13 +01:00
/***/ 473 :
2018-12-14 05:41:57 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
2020-06-29 13:50:29 +02:00
// ESM COMPAT FLAG
2018-12-14 05:41:57 +01:00
_ _webpack _require _ _ . r ( _ _webpack _exports _ _ ) ;
2018-12-18 04:14:52 +01:00
2020-06-29 13:50:29 +02:00
// EXPORTS
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "BACKSPACE" , function ( ) { return /* binding */ BACKSPACE ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "TAB" , function ( ) { return /* binding */ TAB ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "ENTER" , function ( ) { return /* binding */ ENTER ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "ESCAPE" , function ( ) { return /* binding */ ESCAPE ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "SPACE" , function ( ) { return /* binding */ SPACE ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "LEFT" , function ( ) { return /* binding */ LEFT ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "UP" , function ( ) { return /* binding */ UP ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "RIGHT" , function ( ) { return /* binding */ RIGHT ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "DOWN" , function ( ) { return /* binding */ DOWN ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "DELETE" , function ( ) { return /* binding */ DELETE ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "F10" , function ( ) { return /* binding */ F10 ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "ALT" , function ( ) { return /* binding */ ALT ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "CTRL" , function ( ) { return /* binding */ CTRL ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "COMMAND" , function ( ) { return /* binding */ COMMAND ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "SHIFT" , function ( ) { return /* binding */ SHIFT ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "ZERO" , function ( ) { return /* binding */ ZERO ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "modifiers" , function ( ) { return /* binding */ modifiers ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "rawShortcut" , function ( ) { return /* binding */ rawShortcut ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "displayShortcutList" , function ( ) { return /* binding */ displayShortcutList ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "displayShortcut" , function ( ) { return /* binding */ displayShortcut ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "shortcutAriaLabel" , function ( ) { return /* binding */ shortcutAriaLabel ; } ) ;
_ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "isKeyboardEvent" , function ( ) { return /* binding */ isKeyboardEvent ; } ) ;
2018-12-18 04:14:52 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
2020-02-06 22:03:31 +01:00
var defineProperty = _ _webpack _require _ _ ( 5 ) ;
2018-12-18 04:14:52 +01:00
// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules
2021-01-28 03:04:13 +01:00
var toConsumableArray = _ _webpack _require _ _ ( 15 ) ;
2018-12-18 04:14:52 +01:00
2021-01-28 03:04:13 +01:00
// EXTERNAL MODULE: external "lodash"
var external _lodash _ = _ _webpack _require _ _ ( 2 ) ;
2018-12-18 04:14:52 +01:00
2021-01-28 03:04:13 +01:00
// EXTERNAL MODULE: external ["wp","i18n"]
var external _wp _i18n _ = _ _webpack _require _ _ ( 1 ) ;
2018-12-18 04:14:52 +01:00
// CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/platform.js
/ * *
* External dependencies
* /
/ * *
* Return true if platform is MacOS .
*
2021-01-28 03:04:13 +01:00
* @ param { Window } _window window object by default ; used for DI testing .
2018-12-18 04:14:52 +01:00
*
2021-01-28 03:04:13 +01:00
* @ return { boolean } True if MacOS ; false otherwise .
2018-12-18 04:14:52 +01:00
* /
function isAppleOS ( ) {
var _window = arguments . length > 0 && arguments [ 0 ] !== undefined ? arguments [ 0 ] : window ;
var platform = _window . navigator . platform ;
2021-01-28 03:04:13 +01:00
return platform . indexOf ( 'Mac' ) !== - 1 || Object ( external _lodash _ [ "includes" ] ) ( [ 'iPad' , 'iPhone' ] , platform ) ;
2018-12-18 04:14:52 +01:00
}
// CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js
2018-12-14 05:41:57 +01:00
/ * *
* Note : The order of the modifier keys in many of the [ foo ] Shortcut ( )
* functions in this file are intentional and should not be changed . They ' re
* designed to fit with the standard menu keyboard shortcuts shown in the
* user ' s platform .
*
* For example , on MacOS menu shortcuts will place Shift before Command , but
* on Windows Control will usually come first . So don ' t provide your own
* shortcut combos directly to keyboardShortcut ( ) .
* /
/ * *
* External dependencies
* /
/ * *
* WordPress dependencies
* /
/ * *
* Internal dependencies
* /
2021-01-28 03:04:13 +01:00
/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */
/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt'} WPKeycodeModifier */
2020-01-22 23:06:21 +01:00
/ * *
* An object of handler functions for each of the possible modifier
* combinations . A handler will return a value for a given key .
*
2021-01-28 03:04:13 +01:00
* @ template T
*
* @ typedef { Record < WPKeycodeModifier , T > } WPModifierHandler
* /
/* eslint-disable jsdoc/valid-types */
/ * *
* @ template T
*
* @ typedef { ( character : string , isApple ? : ( ) => boolean ) => T } WPKeyHandler
2020-01-22 23:06:21 +01:00
* /
2021-01-28 03:04:13 +01:00
/** @typedef {(event: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */
/* eslint-enable jsdoc/valid-types */
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for BACKSPACE key .
* /
2018-12-14 05:41:57 +01:00
var BACKSPACE = 8 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for TAB key .
* /
2018-12-14 05:41:57 +01:00
var TAB = 9 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for ENTER key .
* /
2018-12-14 05:41:57 +01:00
var ENTER = 13 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for ESCAPE key .
* /
2018-12-14 05:41:57 +01:00
var ESCAPE = 27 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for SPACE key .
* /
2018-12-14 05:41:57 +01:00
var SPACE = 32 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for LEFT key .
* /
2018-12-14 05:41:57 +01:00
var LEFT = 37 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for UP key .
* /
2018-12-14 05:41:57 +01:00
var UP = 38 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for RIGHT key .
* /
2018-12-14 05:41:57 +01:00
var RIGHT = 39 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for DOWN key .
* /
2018-12-14 05:41:57 +01:00
var DOWN = 40 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for DELETE key .
* /
2018-12-14 05:41:57 +01:00
var DELETE = 46 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for F10 key .
* /
2018-12-14 05:41:57 +01:00
var F10 = 121 ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for ALT key .
* /
2018-12-14 05:41:57 +01:00
var ALT = 'alt' ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for CTRL key .
* /
2019-03-07 10:09:59 +01:00
var CTRL = 'ctrl' ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for COMMAND / META key .
* /
2018-12-14 05:41:57 +01:00
var COMMAND = 'meta' ;
2019-03-21 13:48:00 +01:00
/ * *
* Keycode for SHIFT key .
* /
2018-12-14 05:41:57 +01:00
var SHIFT = 'shift' ;
2020-06-26 15:33:47 +02:00
/ * *
* Keycode for ZERO key .
* /
var ZERO = 48 ;
2019-03-21 13:48:00 +01:00
/ * *
* Object that contains functions that return the available modifier
* depending on platform .
*
2021-01-28 03:04:13 +01:00
* @ type { WPModifierHandler < ( isApple : ( ) => boolean ) => WPModifierPart [ ] > }
2019-03-21 13:48:00 +01:00
* /
2018-12-14 05:41:57 +01:00
var modifiers = {
primary : function primary ( _isApple ) {
return _isApple ( ) ? [ COMMAND ] : [ CTRL ] ;
} ,
primaryShift : function primaryShift ( _isApple ) {
return _isApple ( ) ? [ SHIFT , COMMAND ] : [ CTRL , SHIFT ] ;
} ,
primaryAlt : function primaryAlt ( _isApple ) {
return _isApple ( ) ? [ ALT , COMMAND ] : [ CTRL , ALT ] ;
} ,
secondary : function secondary ( _isApple ) {
return _isApple ( ) ? [ SHIFT , ALT , COMMAND ] : [ CTRL , SHIFT , ALT ] ;
} ,
access : function access ( _isApple ) {
return _isApple ( ) ? [ CTRL , ALT ] : [ SHIFT , ALT ] ;
} ,
ctrl : function ctrl ( ) {
return [ CTRL ] ;
} ,
2018-12-15 12:00:40 +01:00
alt : function alt ( ) {
return [ ALT ] ;
} ,
2018-12-14 05:41:57 +01:00
ctrlShift : function ctrlShift ( ) {
return [ CTRL , SHIFT ] ;
} ,
shift : function shift ( ) {
return [ SHIFT ] ;
} ,
shiftAlt : function shiftAlt ( ) {
return [ SHIFT , ALT ] ;
}
} ;
/ * *
* An object that contains functions to get raw shortcuts .
*
2021-01-28 03:04:13 +01:00
* These are intended for user with the KeyboardShortcuts .
*
* @ example
* ` ` ` js
* // Assuming macOS:
* rawShortcut . primary ( 'm' )
* // "meta+m""
* ` ` `
*
* @ type { WPModifierHandler < WPKeyHandler < string >> } Keyed map of functions to raw
* shortcuts .
2018-12-14 05:41:57 +01:00
* /
2021-01-28 03:04:13 +01:00
var rawShortcut = Object ( external _lodash _ [ "mapValues" ] ) ( modifiers , function ( modifier ) {
return (
/** @type {WPKeyHandler<string>} */
function ( character ) {
var _isApple = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : isAppleOS ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( modifier ( _isApple ) ) , [ character . toLowerCase ( ) ] ) . join ( '+' ) ;
}
) ;
2018-12-14 05:41:57 +01:00
} ) ;
/ * *
2021-01-28 03:04:13 +01:00
* Return an array of the parts of a keyboard shortcut chord for display .
2018-12-14 05:41:57 +01:00
*
2021-01-28 03:04:13 +01:00
* @ example
* ` ` ` js
* // Assuming macOS:
* displayShortcutList . primary ( 'm' ) ;
* // [ "⌘", "M" ]
* ` ` `
*
* @ type { WPModifierHandler < WPKeyHandler < string [ ] >> } Keyed map of functions to
* shortcut sequences .
2018-12-14 05:41:57 +01:00
* /
2021-01-28 03:04:13 +01:00
var displayShortcutList = Object ( external _lodash _ [ "mapValues" ] ) ( modifiers , function ( modifier ) {
return (
/** @type {WPKeyHandler<string[]>} */
function ( character ) {
var _replacementKeyMap ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var _isApple = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : isAppleOS ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var isApple = _isApple ( ) ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var replacementKeyMap = ( _replacementKeyMap = { } , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap , ALT , isApple ? '⌥' : 'Alt' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap , CTRL , isApple ? '⌃' : 'Ctrl' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap , COMMAND , '⌘' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap , SHIFT , isApple ? '⇧' : 'Shift' ) , _replacementKeyMap ) ;
var modifierKeys = modifier ( _isApple ) . reduce ( function ( accumulator , key ) {
var replacementKey = Object ( external _lodash _ [ "get" ] ) ( replacementKeyMap , key , key ) ; // If on the Mac, adhere to platform convention and don't show plus between keys.
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
if ( isApple ) {
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( accumulator ) , [ replacementKey ] ) ;
}
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( accumulator ) , [ replacementKey , '+' ] ) ;
} ,
/** @type {string[]} */
[ ] ) ;
var capitalizedCharacter = Object ( external _lodash _ [ "capitalize" ] ) ( character ) ;
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( modifierKeys ) , [ capitalizedCharacter ] ) ;
}
) ;
2018-12-14 05:41:57 +01:00
} ) ;
/ * *
* An object that contains functions to display shortcuts .
*
2021-01-28 03:04:13 +01:00
* @ example
* ` ` ` js
* // Assuming macOS:
* displayShortcut . primary ( 'm' ) ;
* // "⌘M"
* ` ` `
*
* @ type { WPModifierHandler < WPKeyHandler < string >> } Keyed map of functions to
* display shortcuts .
2018-12-14 05:41:57 +01:00
* /
2021-01-28 03:04:13 +01:00
var displayShortcut = Object ( external _lodash _ [ "mapValues" ] ) ( displayShortcutList , function ( shortcutList ) {
return (
/** @type {WPKeyHandler<string>} */
function ( character ) {
var _isApple = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : isAppleOS ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
return shortcutList ( character , _isApple ) . join ( '' ) ;
}
) ;
2018-12-14 05:41:57 +01:00
} ) ;
/ * *
2021-01-28 03:04:13 +01:00
* An object that contains functions to return an aria label for a keyboard
* shortcut .
*
* @ example
* ` ` ` js
* // Assuming macOS:
* shortcutAriaLabel . primary ( '.' ) ;
* // "Command + Period"
* ` ` `
2020-01-22 23:06:21 +01:00
*
2021-01-28 03:04:13 +01:00
* @ type { WPModifierHandler < WPKeyHandler < string >> } Keyed map of functions to
* shortcut ARIA labels .
2018-12-14 05:41:57 +01:00
* /
2021-01-28 03:04:13 +01:00
var shortcutAriaLabel = Object ( external _lodash _ [ "mapValues" ] ) ( modifiers , function ( modifier ) {
return (
/** @type {WPKeyHandler<string>} */
function ( character ) {
var _replacementKeyMap2 ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var _isApple = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : isAppleOS ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var isApple = _isApple ( ) ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var replacementKeyMap = ( _replacementKeyMap2 = { } , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , SHIFT , 'Shift' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , COMMAND , isApple ? 'Command' : 'Control' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , CTRL , 'Control' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , ALT , isApple ? 'Option' : 'Alt' ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , ',' , Object ( external _wp _i18n _ [ "__" ] ) ( 'Comma' ) ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , '.' , Object ( external _wp _i18n _ [ "__" ] ) ( 'Period' ) ) , Object ( defineProperty [ "a" /* default */ ] ) ( _replacementKeyMap2 , '`' , Object ( external _wp _i18n _ [ "__" ] ) ( 'Backtick' ) ) , _replacementKeyMap2 ) ;
return [ ] . concat ( Object ( toConsumableArray [ "a" /* default */ ] ) ( modifier ( _isApple ) ) , [ character ] ) . map ( function ( key ) {
return Object ( external _lodash _ [ "capitalize" ] ) ( Object ( external _lodash _ [ "get" ] ) ( replacementKeyMap , key , key ) ) ;
} ) . join ( isApple ? ' ' : ' + ' ) ;
}
) ;
2018-12-14 05:41:57 +01:00
} ) ;
2020-06-26 15:33:47 +02:00
/ * *
* From a given KeyboardEvent , returns an array of active modifier constants for
* the event .
*
* @ param { KeyboardEvent } event Keyboard event .
*
2021-01-28 03:04:13 +01:00
* @ return { Array < WPModifierPart > } Active modifier constants .
2020-06-26 15:33:47 +02:00
* /
function getEventModifiers ( event ) {
2021-01-28 03:04:13 +01:00
return (
/** @type {WPModifierPart[]} */
[ ALT , CTRL , COMMAND , SHIFT ] . filter ( function ( key ) {
return event [
/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */
"" . concat ( key , "Key" ) ] ;
} )
) ;
2020-06-26 15:33:47 +02:00
}
2018-12-14 05:41:57 +01:00
/ * *
* An object that contains functions to check if a keyboard event matches a
* predefined shortcut combination .
*
2021-01-28 03:04:13 +01:00
* @ example
* ` ` ` js
* // Assuming an event for ⌘M key press:
* isKeyboardEvent . primary ( event , 'm' ) ;
* // true
* ` ` `
*
* @ type { WPModifierHandler < WPEventKeyHandler > } Keyed map of functions
* to match events .
2018-12-14 05:41:57 +01:00
* /
2020-06-26 15:33:47 +02:00
2021-01-28 03:04:13 +01:00
var isKeyboardEvent = Object ( external _lodash _ [ "mapValues" ] ) ( modifiers , function ( getModifiers ) {
return (
/** @type {WPEventKeyHandler} */
function ( event , character ) {
var _isApple = arguments . length > 2 && arguments [ 2 ] !== undefined ? arguments [ 2 ] : isAppleOS ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
var mods = getModifiers ( _isApple ) ;
var eventMods = getEventModifiers ( event ) ;
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
if ( Object ( external _lodash _ [ "xor" ] ) ( mods , eventMods ) . length ) {
return false ;
}
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
if ( ! character ) {
return Object ( external _lodash _ [ "includes" ] ) ( mods , event . key . toLowerCase ( ) ) ;
}
2018-12-14 05:41:57 +01:00
2021-01-28 03:04:13 +01:00
return event . key === character ;
}
) ;
2018-12-14 05:41:57 +01:00
} ) ;
2020-01-08 12:57:23 +01:00
/***/ } ) ,
2020-02-06 22:03:31 +01:00
/***/ 5 :
2020-01-08 12:57:23 +01:00
/***/ ( function ( module , _ _webpack _exports _ _ , _ _webpack _require _ _ ) {
"use strict" ;
/* harmony export (binding) */ _ _webpack _require _ _ . d ( _ _webpack _exports _ _ , "a" , function ( ) { return _defineProperty ; } ) ;
function _defineProperty ( obj , key , value ) {
if ( key in obj ) {
Object . defineProperty ( obj , key , {
value : value ,
enumerable : true ,
configurable : true ,
writable : true
} ) ;
} else {
obj [ key ] = value ;
}
return obj ;
}
2018-12-14 05:41:57 +01:00
/***/ } )
2018-12-18 04:14:52 +01:00
/******/ } ) ;