diff -r 34716fd837a4 -r be944660c56a wp/wp-includes/js/dist/keycodes.js --- a/wp/wp-includes/js/dist/keycodes.js Tue Dec 15 15:52:01 2020 +0100 +++ b/wp/wp-includes/js/dist/keycodes.js Wed Sep 21 18:19:35 2022 +0200 @@ -82,109 +82,26 @@ /******/ /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 466); +/******/ return __webpack_require__(__webpack_require__.s = "z7pY"); /******/ }) /************************************************************************/ /******/ ({ -/***/ 1: +/***/ "YLtl": /***/ (function(module, exports) { -(function() { module.exports = this["wp"]["i18n"]; }()); - -/***/ }), - -/***/ 18: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; - -// EXPORTS -__webpack_require__.d(__webpack_exports__, "a", function() { return /* binding */ _toConsumableArray; }); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js -var arrayLikeToArray = __webpack_require__(26); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js - -function _arrayWithoutHoles(arr) { - if (Array.isArray(arr)) return Object(arrayLikeToArray["a" /* default */])(arr); -} -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js -var iterableToArray = __webpack_require__(35); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js -var unsupportedIterableToArray = __webpack_require__(29); - -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js -function _nonIterableSpread() { - throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); -} -// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js - - - - -function _toConsumableArray(arr) { - return _arrayWithoutHoles(arr) || Object(iterableToArray["a" /* default */])(arr) || Object(unsupportedIterableToArray["a" /* default */])(arr) || _nonIterableSpread(); -} +(function() { module.exports = window["lodash"]; }()); /***/ }), -/***/ 2: +/***/ "l3Sj": /***/ (function(module, exports) { -(function() { module.exports = this["lodash"]; }()); - -/***/ }), - -/***/ 26: -/***/ (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; -} +(function() { module.exports = window["wp"]["i18n"]; }()); /***/ }), -/***/ 29: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _unsupportedIterableToArray; }); -/* harmony import */ var _arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(26); - -function _unsupportedIterableToArray(o, minLen) { - if (!o) return; - if (typeof o === "string") return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); - var n = Object.prototype.toString.call(o).slice(8, -1); - if (n === "Object" && o.constructor) n = o.constructor.name; - if (n === "Map" || n === "Set") return Array.from(o); - if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Object(_arrayLikeToArray__WEBPACK_IMPORTED_MODULE_0__[/* default */ "a"])(o, minLen); -} - -/***/ }), - -/***/ 35: -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return _iterableToArray; }); -function _iterableToArray(iter) { - if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); -} - -/***/ }), - -/***/ 466: +/***/ "z7pY": /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -215,17 +132,11 @@ __webpack_require__.d(__webpack_exports__, "shortcutAriaLabel", function() { return /* binding */ shortcutAriaLabel; }); __webpack_require__.d(__webpack_exports__, "isKeyboardEvent", function() { return /* binding */ isKeyboardEvent; }); -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js -var defineProperty = __webpack_require__(5); - -// EXTERNAL MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js + 2 modules -var toConsumableArray = __webpack_require__(18); +// EXTERNAL MODULE: external "lodash" +var external_lodash_ = __webpack_require__("YLtl"); -// EXTERNAL MODULE: external {"this":"lodash"} -var external_this_lodash_ = __webpack_require__(2); - -// EXTERNAL MODULE: external {"this":["wp","i18n"]} -var external_this_wp_i18n_ = __webpack_require__(1); +// EXTERNAL MODULE: external ["wp","i18n"] +var external_wp_i18n_ = __webpack_require__("l3Sj"); // CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/platform.js /** @@ -235,22 +146,27 @@ /** * Return true if platform is MacOS. * - * @param {Object} _window window object by default; used for DI testing. + * @param {Window?} _window window object by default; used for DI testing. * - * @return {boolean} True if MacOS; false otherwise. + * @return {boolean} True if MacOS; false otherwise. */ -function isAppleOS() { - var _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : window; +function isAppleOS(_window = null) { + if (!_window) { + if (typeof window === 'undefined') { + return false; + } - var platform = _window.navigator.platform; - return platform.indexOf('Mac') !== -1 || Object(external_this_lodash_["includes"])(['iPad', 'iPhone'], platform); + _window = window; + } + + const { + platform + } = _window.navigator; + return platform.indexOf('Mac') !== -1 || Object(external_lodash_["includes"])(['iPad', 'iPhone'], platform); } // CONCATENATED MODULE: ./node_modules/@wordpress/keycodes/build-module/index.js - - - /** * 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 @@ -276,226 +192,252 @@ */ -/** - * @typedef {'primary'|'primaryShift'|'primaryAlt'|'secondary'|'access'|'ctrl'|'alt'|'ctrlShift'|'shift'|'shiftAlt'} WPKeycodeModifier - */ +/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */ + +/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt'} WPKeycodeModifier */ /** * An object of handler functions for each of the possible modifier * combinations. A handler will return a value for a given key. * - * @typedef {Recordany>} WPKeycodeHandlerByModifier + * @template T + * + * @typedef {Record} WPModifierHandler */ /** + * @template T + * + * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler + */ + +/** @typedef {(event: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */ + +/** * Keycode for BACKSPACE key. */ -var BACKSPACE = 8; +const BACKSPACE = 8; /** * Keycode for TAB key. */ -var TAB = 9; +const TAB = 9; /** * Keycode for ENTER key. */ -var ENTER = 13; +const ENTER = 13; /** * Keycode for ESCAPE key. */ -var ESCAPE = 27; +const ESCAPE = 27; /** * Keycode for SPACE key. */ -var SPACE = 32; +const SPACE = 32; /** * Keycode for LEFT key. */ -var LEFT = 37; +const LEFT = 37; /** * Keycode for UP key. */ -var UP = 38; +const UP = 38; /** * Keycode for RIGHT key. */ -var RIGHT = 39; +const RIGHT = 39; /** * Keycode for DOWN key. */ -var DOWN = 40; +const DOWN = 40; /** * Keycode for DELETE key. */ -var DELETE = 46; +const DELETE = 46; /** * Keycode for F10 key. */ -var F10 = 121; +const F10 = 121; /** * Keycode for ALT key. */ -var ALT = 'alt'; +const ALT = 'alt'; /** * Keycode for CTRL key. */ -var CTRL = 'ctrl'; +const CTRL = 'ctrl'; /** * Keycode for COMMAND/META key. */ -var COMMAND = 'meta'; +const COMMAND = 'meta'; /** * Keycode for SHIFT key. */ -var SHIFT = 'shift'; +const SHIFT = 'shift'; /** * Keycode for ZERO key. */ -var ZERO = 48; +const ZERO = 48; /** * Object that contains functions that return the available modifier * depending on platform. * - * - `primary`: takes a isApple function as a parameter. - * - `primaryShift`: takes a isApple function as a parameter. - * - `primaryAlt`: takes a isApple function as a parameter. - * - `secondary`: takes a isApple function as a parameter. - * - `access`: takes a isApple function as a parameter. - * - `ctrl` - * - `alt` - * - `ctrlShift` - * - `shift` - * - `shiftAlt` + * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>} */ -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]; - }, - alt: function alt() { - return [ALT]; - }, - ctrlShift: function ctrlShift() { - return [CTRL, SHIFT]; - }, - shift: function shift() { - return [SHIFT]; - }, - shiftAlt: function shiftAlt() { - return [SHIFT, ALT]; - } +const modifiers = { + primary: _isApple => _isApple() ? [COMMAND] : [CTRL], + primaryShift: _isApple => _isApple() ? [SHIFT, COMMAND] : [CTRL, SHIFT], + primaryAlt: _isApple => _isApple() ? [ALT, COMMAND] : [CTRL, ALT], + secondary: _isApple => _isApple() ? [SHIFT, ALT, COMMAND] : [CTRL, SHIFT, ALT], + access: _isApple => _isApple() ? [CTRL, ALT] : [SHIFT, ALT], + ctrl: () => [CTRL], + alt: () => [ALT], + ctrlShift: () => [CTRL, SHIFT], + shift: () => [SHIFT], + shiftAlt: () => [SHIFT, ALT] }; /** * An object that contains functions to get raw shortcuts. - * E.g. rawShortcut.primary( 'm' ) will return 'meta+m' on Mac. - * These are intended for user with the KeyboardShortcuts component or TinyMCE. + * + * These are intended for user with the KeyboardShortcuts. * - * @type {WPKeycodeHandlerByModifier} Keyed map of functions to raw shortcuts. - */ - -var rawShortcut = Object(external_this_lodash_["mapValues"])(modifiers, function (modifier) { - return function (character) { - var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS; - - return [].concat(Object(toConsumableArray["a" /* default */])(modifier(_isApple)), [character.toLowerCase()]).join('+'); - }; -}); -/** - * Return an array of the parts of a keyboard shortcut chord for display - * E.g displayShortcutList.primary( 'm' ) will return [ '⌘', 'M' ] on Mac. + * @example + * ```js + * // Assuming macOS: + * rawShortcut.primary( 'm' ) + * // "meta+m"" + * ``` * - * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut - * sequences. + * @type {WPModifierHandler>} Keyed map of functions to raw + * shortcuts. */ -var displayShortcutList = Object(external_this_lodash_["mapValues"])(modifiers, function (modifier) { - return function (character) { - var _replacementKeyMap; - - var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS; - - var isApple = _isApple(); +const rawShortcut = Object(external_lodash_["mapValues"])(modifiers, modifier => { + return ( + /** @type {WPKeyHandler} */ + (character, _isApple = isAppleOS) => { + return [...modifier(_isApple), character.toLowerCase()].join('+'); + } + ); +}); +/** + * Return an array of the parts of a keyboard shortcut chord for display. + * + * @example + * ```js + * // Assuming macOS: + * displayShortcutList.primary( 'm' ); + * // [ "⌘", "M" ] + * ``` + * + * @type {WPModifierHandler>} Keyed map of functions to + * shortcut sequences. + */ - 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_this_lodash_["get"])(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys. +const displayShortcutList = Object(external_lodash_["mapValues"])(modifiers, modifier => { + return ( + /** @type {WPKeyHandler} */ + (character, _isApple = isAppleOS) => { + const isApple = _isApple(); - if (isApple) { - return [].concat(Object(toConsumableArray["a" /* default */])(accumulator), [replacementKey]); - } + const replacementKeyMap = { + [ALT]: isApple ? '⌥' : 'Alt', + [CTRL]: isApple ? '⌃' : 'Ctrl', + // Make sure ⌃ is the U+2303 UP ARROWHEAD unicode character and not the caret character. + [COMMAND]: '⌘', + [SHIFT]: isApple ? '⇧' : 'Shift' + }; + const modifierKeys = modifier(_isApple).reduce((accumulator, key) => { + const replacementKey = Object(external_lodash_["get"])(replacementKeyMap, key, key); // If on the Mac, adhere to platform convention and don't show plus between keys. - return [].concat(Object(toConsumableArray["a" /* default */])(accumulator), [replacementKey, '+']); - }, []); - var capitalizedCharacter = Object(external_this_lodash_["capitalize"])(character); - return [].concat(Object(toConsumableArray["a" /* default */])(modifierKeys), [capitalizedCharacter]); - }; + if (isApple) { + return [...accumulator, replacementKey]; + } + + return [...accumulator, replacementKey, '+']; + }, + /** @type {string[]} */ + []); + const capitalizedCharacter = Object(external_lodash_["capitalize"])(character); + return [...modifierKeys, capitalizedCharacter]; + } + ); }); /** * An object that contains functions to display shortcuts. - * E.g. displayShortcut.primary( 'm' ) will return '⌘M' on Mac. * - * @type {WPKeycodeHandlerByModifier} Keyed map of functions to display - * shortcuts. + * @example + * ```js + * // Assuming macOS: + * displayShortcut.primary( 'm' ); + * // "⌘M" + * ``` + * + * @type {WPModifierHandler>} Keyed map of functions to + * display shortcuts. */ -var displayShortcut = Object(external_this_lodash_["mapValues"])(displayShortcutList, function (shortcutList) { - return function (character) { - var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS; - - return shortcutList(character, _isApple).join(''); - }; +const displayShortcut = Object(external_lodash_["mapValues"])(displayShortcutList, shortcutList => { + return ( + /** @type {WPKeyHandler} */ + (character, _isApple = isAppleOS) => shortcutList(character, _isApple).join('') + ); }); /** - * An object that contains functions to return an aria label for a keyboard shortcut. - * E.g. shortcutAriaLabel.primary( '.' ) will return 'Command + Period' on Mac. + * An object that contains functions to return an aria label for a keyboard + * shortcut. * - * @type {WPKeycodeHandlerByModifier} Keyed map of functions to shortcut ARIA - * labels. + * @example + * ```js + * // Assuming macOS: + * shortcutAriaLabel.primary( '.' ); + * // "Command + Period" + * ``` + * + * @type {WPModifierHandler>} Keyed map of functions to + * shortcut ARIA labels. */ -var shortcutAriaLabel = Object(external_this_lodash_["mapValues"])(modifiers, function (modifier) { - return function (character) { - var _replacementKeyMap2; +const shortcutAriaLabel = Object(external_lodash_["mapValues"])(modifiers, modifier => { + return ( + /** @type {WPKeyHandler} */ + (character, _isApple = isAppleOS) => { + const isApple = _isApple(); - var _isApple = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : isAppleOS; + const replacementKeyMap = { + [SHIFT]: 'Shift', + [COMMAND]: isApple ? 'Command' : 'Control', + [CTRL]: 'Control', + [ALT]: isApple ? 'Option' : 'Alt', - var isApple = _isApple(); + /* translators: comma as in the character ',' */ + ',': Object(external_wp_i18n_["__"])('Comma'), + + /* translators: period as in the character '.' */ + '.': Object(external_wp_i18n_["__"])('Period'), - 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_this_wp_i18n_["__"])('Comma')), Object(defineProperty["a" /* default */])(_replacementKeyMap2, '.', Object(external_this_wp_i18n_["__"])('Period')), Object(defineProperty["a" /* default */])(_replacementKeyMap2, '`', Object(external_this_wp_i18n_["__"])('Backtick')), _replacementKeyMap2); - return [].concat(Object(toConsumableArray["a" /* default */])(modifier(_isApple)), [character]).map(function (key) { - return Object(external_this_lodash_["capitalize"])(Object(external_this_lodash_["get"])(replacementKeyMap, key, key)); - }).join(isApple ? ' ' : ' + '); - }; + /* translators: backtick as in the character '`' */ + '`': Object(external_wp_i18n_["__"])('Backtick') + }; + return [...modifier(_isApple), character].map(key => Object(external_lodash_["capitalize"])(Object(external_lodash_["get"])(replacementKeyMap, key, key))).join(isApple ? ' ' : ' + '); + } + ); }); /** * From a given KeyboardEvent, returns an array of active modifier constants for @@ -503,66 +445,54 @@ * * @param {KeyboardEvent} event Keyboard event. * - * @return {Array} Active modifier constants. + * @return {Array} Active modifier constants. */ function getEventModifiers(event) { - return [ALT, CTRL, COMMAND, SHIFT].filter(function (key) { - return event["".concat(key, "Key")]; - }); + return ( + /** @type {WPModifierPart[]} */ + [ALT, CTRL, COMMAND, SHIFT].filter(key => event[ + /** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */ + `${key}Key`]) + ); } /** * An object that contains functions to check if a keyboard event matches a * predefined shortcut combination. - * E.g. isKeyboardEvent.primary( event, 'm' ) will return true if the event - * signals pressing ⌘M. * - * @type {WPKeycodeHandlerByModifier} Keyed map of functions to match events. + * @example + * ```js + * // Assuming an event for ⌘M key press: + * isKeyboardEvent.primary( event, 'm' ); + * // true + * ``` + * + * @type {WPModifierHandler} Keyed map of functions + * to match events. */ -var isKeyboardEvent = Object(external_this_lodash_["mapValues"])(modifiers, function (getModifiers) { - return function (event, character) { - var _isApple = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : isAppleOS; - - var mods = getModifiers(_isApple); - var eventMods = getEventModifiers(event); +const isKeyboardEvent = Object(external_lodash_["mapValues"])(modifiers, getModifiers => { + return ( + /** @type {WPEventKeyHandler} */ + (event, character, _isApple = isAppleOS) => { + const mods = getModifiers(_isApple); + const eventMods = getEventModifiers(event); - if (Object(external_this_lodash_["xor"])(mods, eventMods).length) { - return false; - } + if (Object(external_lodash_["xor"])(mods, eventMods).length) { + return false; + } - if (!character) { - return Object(external_this_lodash_["includes"])(mods, event.key.toLowerCase()); + if (!character) { + return Object(external_lodash_["includes"])(mods, event.key.toLowerCase()); + } + + return event.key === character; } - - return event.key === character; - }; + ); }); -/***/ }), - -/***/ 5: -/***/ (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; -} - /***/ }) /******/ }); \ No newline at end of file