@wordpress/keycodes 4.9.0 → 4.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/index.js +7 -7
- package/build/index.js.map +1 -1
- package/build-module/index.js +7 -7
- package/build-module/index.js.map +1 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
package/build/index.js
CHANGED
|
@@ -211,7 +211,7 @@ const modifiers = exports.modifiers = {
|
|
|
211
211
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw
|
|
212
212
|
* shortcuts.
|
|
213
213
|
*/
|
|
214
|
-
const rawShortcut = exports.rawShortcut = mapValues(modifiers, (
|
|
214
|
+
const rawShortcut = exports.rawShortcut = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
215
215
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = _platform.isAppleOS) => {
|
|
216
216
|
return [...modifier(_isApple), character.toLowerCase()].join('+');
|
|
217
217
|
};
|
|
@@ -230,7 +230,7 @@ const rawShortcut = exports.rawShortcut = mapValues(modifiers, ( /** @type {WPMo
|
|
|
230
230
|
* @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to
|
|
231
231
|
* shortcut sequences.
|
|
232
232
|
*/
|
|
233
|
-
const displayShortcutList = exports.displayShortcutList = mapValues(modifiers, (
|
|
233
|
+
const displayShortcutList = exports.displayShortcutList = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
234
234
|
return /** @type {WPKeyHandler<string[]>} */(character, _isApple = _platform.isAppleOS) => {
|
|
235
235
|
const isApple = _isApple();
|
|
236
236
|
const replacementKeyMap = {
|
|
@@ -266,7 +266,7 @@ const displayShortcutList = exports.displayShortcutList = mapValues(modifiers, (
|
|
|
266
266
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
|
|
267
267
|
* display shortcuts.
|
|
268
268
|
*/
|
|
269
|
-
const displayShortcut = exports.displayShortcut = mapValues(displayShortcutList, (
|
|
269
|
+
const displayShortcut = exports.displayShortcut = mapValues(displayShortcutList, (/** @type {WPKeyHandler<string[]>} */shortcutList) => {
|
|
270
270
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = _platform.isAppleOS) => shortcutList(character, _isApple).join('');
|
|
271
271
|
});
|
|
272
272
|
|
|
@@ -284,7 +284,7 @@ const displayShortcut = exports.displayShortcut = mapValues(displayShortcutList,
|
|
|
284
284
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
|
|
285
285
|
* shortcut ARIA labels.
|
|
286
286
|
*/
|
|
287
|
-
const shortcutAriaLabel = exports.shortcutAriaLabel = mapValues(modifiers, (
|
|
287
|
+
const shortcutAriaLabel = exports.shortcutAriaLabel = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
288
288
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = _platform.isAppleOS) => {
|
|
289
289
|
const isApple = _isApple();
|
|
290
290
|
/** @type {Record<string,string>} */
|
|
@@ -318,7 +318,7 @@ const shortcutAriaLabel = exports.shortcutAriaLabel = mapValues(modifiers, ( /**
|
|
|
318
318
|
* @return {Array<WPModifierPart>} Active modifier constants.
|
|
319
319
|
*/
|
|
320
320
|
function getEventModifiers(event) {
|
|
321
|
-
return /** @type {WPModifierPart[]} */[ALT, CTRL, COMMAND, SHIFT].filter(key => event[(
|
|
321
|
+
return /** @type {WPModifierPart[]} */[ALT, CTRL, COMMAND, SHIFT].filter(key => event[(/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */
|
|
322
322
|
`${key}Key`)]);
|
|
323
323
|
}
|
|
324
324
|
|
|
@@ -336,7 +336,7 @@ function getEventModifiers(event) {
|
|
|
336
336
|
* @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions
|
|
337
337
|
* to match events.
|
|
338
338
|
*/
|
|
339
|
-
const isKeyboardEvent = exports.isKeyboardEvent = mapValues(modifiers, (
|
|
339
|
+
const isKeyboardEvent = exports.isKeyboardEvent = mapValues(modifiers, (/** @type {WPModifier} */getModifiers) => {
|
|
340
340
|
return /** @type {WPEventKeyHandler} */(event, character, _isApple = _platform.isAppleOS) => {
|
|
341
341
|
const mods = getModifiers(_isApple);
|
|
342
342
|
const eventMods = getEventModifiers(event);
|
|
@@ -355,7 +355,7 @@ const isKeyboardEvent = exports.isKeyboardEvent = mapValues(modifiers, ( /** @ty
|
|
|
355
355
|
}
|
|
356
356
|
let key = event.key.toLowerCase();
|
|
357
357
|
if (!character) {
|
|
358
|
-
return mods.includes(
|
|
358
|
+
return mods.includes(/** @type {WPModifierPart} */key);
|
|
359
359
|
}
|
|
360
360
|
if (event.altKey && character.length === 1) {
|
|
361
361
|
key = String.fromCharCode(event.keyCode).toLowerCase();
|
package/build/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_platform","BACKSPACE","exports","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","capitaliseFirstCharacter","string","length","toUpperCase","charAt","slice","mapValues","object","mapFn","Object","fromEntries","entries","map","key","value","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","isAppleOS","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","_replacementKeyMap$ke","replacementKey","displayShortcut","shortcutList","shortcutAriaLabel","__","_replacementKeyMap$ke2","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","replacementWithShiftKeyMap","Comma","Backslash","IntlRo","IntlYen","modsDiff","mod","includes","eventModsDiff","altKey","String","fromCharCode","keyCode","shiftKey","code"],"sources":["@wordpress/keycodes/src/index.js"],"sourcesContent":["/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isAppleOS } from './platform';\n\n/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */\n\n/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined'} WPKeycodeModifier */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @template T\n *\n * @typedef {Record<WPKeycodeModifier, T>} WPModifierHandler\n */\n\n/**\n * @template T\n *\n * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler\n */\n/** @typedef {(event: import('react').KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\n\n/** @typedef {( isApple: () => boolean ) => WPModifierPart[]} WPModifier */\n\n/**\n * Keycode for BACKSPACE key.\n */\nexport const BACKSPACE = 8;\n\n/**\n * Keycode for TAB key.\n */\nexport const TAB = 9;\n\n/**\n * Keycode for ENTER key.\n */\nexport const ENTER = 13;\n\n/**\n * Keycode for ESCAPE key.\n */\nexport const ESCAPE = 27;\n\n/**\n * Keycode for SPACE key.\n */\nexport const SPACE = 32;\n\n/**\n * Keycode for PAGEUP key.\n */\nexport const PAGEUP = 33;\n\n/**\n * Keycode for PAGEDOWN key.\n */\nexport const PAGEDOWN = 34;\n\n/**\n * Keycode for END key.\n */\nexport const END = 35;\n\n/**\n * Keycode for HOME key.\n */\nexport const HOME = 36;\n\n/**\n * Keycode for LEFT key.\n */\nexport const LEFT = 37;\n\n/**\n * Keycode for UP key.\n */\nexport const UP = 38;\n\n/**\n * Keycode for RIGHT key.\n */\nexport const RIGHT = 39;\n\n/**\n * Keycode for DOWN key.\n */\nexport const DOWN = 40;\n\n/**\n * Keycode for DELETE key.\n */\nexport const DELETE = 46;\n\n/**\n * Keycode for F10 key.\n */\nexport const F10 = 121;\n\n/**\n * Keycode for ALT key.\n */\nexport const ALT = 'alt';\n\n/**\n * Keycode for CTRL key.\n */\nexport const CTRL = 'ctrl';\n\n/**\n * Keycode for COMMAND/META key.\n */\nexport const COMMAND = 'meta';\n\n/**\n * Keycode for SHIFT key.\n */\nexport const SHIFT = 'shift';\n\n/**\n * Keycode for ZERO key.\n */\nexport const ZERO = 48;\n\nexport { isAppleOS };\n\n/**\n * Capitalise the first character of a string.\n * @param {string} string String to capitalise.\n * @return {string} Capitalised string.\n */\nfunction capitaliseFirstCharacter( string ) {\n\treturn string.length < 2\n\t\t? string.toUpperCase()\n\t\t: string.charAt( 0 ).toUpperCase() + string.slice( 1 );\n}\n\n/**\n * Map the values of an object with a specified callback and return the result object.\n *\n * @template {{ [s: string]: any; } | ArrayLike<any>} T\n *\n * @param {T} object Object to map values of.\n * @param {( value: any ) => any} mapFn Mapping function\n *\n * @return {any} Active modifier constants.\n */\nfunction mapValues( object, mapFn ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tmapFn( value ),\n\t\t] )\n\t);\n}\n\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>}\n */\nexport const modifiers = {\n\tprimary: ( _isApple ) => ( _isApple() ? [ COMMAND ] : [ CTRL ] ),\n\tprimaryShift: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, COMMAND ] : [ CTRL, SHIFT ],\n\tprimaryAlt: ( _isApple ) =>\n\t\t_isApple() ? [ ALT, COMMAND ] : [ CTRL, ALT ],\n\tsecondary: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, ALT, COMMAND ] : [ CTRL, SHIFT, ALT ],\n\taccess: ( _isApple ) => ( _isApple() ? [ CTRL, ALT ] : [ SHIFT, ALT ] ),\n\tctrl: () => [ CTRL ],\n\talt: () => [ ALT ],\n\tctrlShift: () => [ CTRL, SHIFT ],\n\tshift: () => [ SHIFT ],\n\tshiftAlt: () => [ SHIFT, ALT ],\n\tundefined: () => [],\n};\n\n/**\n * An object that contains functions to get raw shortcuts.\n *\n * These are intended for user with the KeyboardShortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * rawShortcut.primary( 'm' )\n * // \"meta+m\"\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw\n * shortcuts.\n */\nexport const rawShortcut = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join(\n\t\t\t\t'+'\n\t\t\t);\n\t\t};\n\t}\n);\n\n/**\n * Return an array of the parts of a keyboard shortcut chord for display.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcutList.primary( 'm' );\n * // [ \"⌘\", \"M\" ]\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to\n * shortcut sequences.\n */\nexport const displayShortcutList = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\t\t\t\t[ CTRL ]: isApple ? '⌃' : 'Ctrl', // Make sure ⌃ is the U+2303 UP ARROWHEAD unicode character and not the caret character.\n\t\t\t\t[ COMMAND ]: '⌘',\n\t\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t\t};\n\n\t\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t\t( accumulator, key ) => {\n\t\t\t\t\tconst replacementKey = replacementKeyMap[ key ] ?? key;\n\t\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\t\tif ( isApple ) {\n\t\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t\t},\n\t\t\t\t/** @type {string[]} */ ( [] )\n\t\t\t);\n\n\t\t\treturn [ ...modifierKeys, capitaliseFirstCharacter( character ) ];\n\t\t};\n\t}\n);\n\n/**\n * An object that contains functions to display shortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcut.primary( 'm' );\n * // \"⌘M\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * display shortcuts.\n */\nexport const displayShortcut = mapValues(\n\tdisplayShortcutList,\n\t( /** @type {WPKeyHandler<string[]>} */ shortcutList ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => shortcutList( character, _isApple ).join( '' );\n\t}\n);\n\n/**\n * An object that contains functions to return an aria label for a keyboard\n * shortcut.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * shortcutAriaLabel.primary( '.' );\n * // \"Command + Period\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * shortcut ARIA labels.\n */\nexport const shortcutAriaLabel = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t\t[ CTRL ]: 'Control',\n\t\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t\t/* translators: comma as in the character ',' */\n\t\t\t\t',': __( 'Comma' ),\n\t\t\t\t/* translators: period as in the character '.' */\n\t\t\t\t'.': __( 'Period' ),\n\t\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t\t'`': __( 'Backtick' ),\n\t\t\t\t/* translators: tilde as in the character '~' */\n\t\t\t\t'~': __( 'Tilde' ),\n\t\t\t};\n\n\t\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t\t.map( ( key ) =>\n\t\t\t\t\tcapitaliseFirstCharacter( replacementKeyMap[ key ] ?? key )\n\t\t\t\t)\n\t\t\t\t.join( isApple ? ' ' : ' + ' );\n\t\t};\n\t}\n);\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {import('react').KeyboardEvent<HTMLElement> | KeyboardEvent} event Keyboard event.\n *\n * @return {Array<WPModifierPart>} Active modifier constants.\n */\nfunction getEventModifiers( event ) {\n\treturn /** @type {WPModifierPart[]} */ ( [\n\t\tALT,\n\t\tCTRL,\n\t\tCOMMAND,\n\t\tSHIFT,\n\t] ).filter(\n\t\t( key ) =>\n\t\t\tevent[\n\t\t\t\t/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */ (\n\t\t\t\t\t`${ key }Key`\n\t\t\t\t)\n\t\t\t]\n\t);\n}\n\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n *\n * @example\n * ```js\n * // Assuming an event for ⌘M key press:\n * isKeyboardEvent.primary( event, 'm' );\n * // true\n * ```\n *\n * @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions\n * to match events.\n */\nexport const isKeyboardEvent = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ getModifiers ) => {\n\t\treturn /** @type {WPEventKeyHandler} */ (\n\t\t\tevent,\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst mods = getModifiers( _isApple );\n\t\t\tconst eventMods = getEventModifiers( event );\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementWithShiftKeyMap = {\n\t\t\t\tComma: ',',\n\t\t\t\tBackslash: '\\\\',\n\t\t\t\t// Windows returns `\\` for both IntlRo and IntlYen.\n\t\t\t\tIntlRo: '\\\\',\n\t\t\t\tIntlYen: '\\\\',\n\t\t\t};\n\n\t\t\tconst modsDiff = mods.filter(\n\t\t\t\t( mod ) => ! eventMods.includes( mod )\n\t\t\t);\n\t\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t\t( mod ) => ! mods.includes( mod )\n\t\t\t);\n\n\t\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key = event.key.toLowerCase();\n\n\t\t\tif ( ! character ) {\n\t\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t\t}\n\n\t\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t\t}\n\n\t\t\t// `event.key` returns the value of the key pressed, taking into the state of\n\t\t\t// modifier keys such as `Shift`. If the shift key is pressed, a different\n\t\t\t// value may be returned depending on the keyboard layout. It is necessary to\n\t\t\t// convert to the physical key value that don't take into account keyboard\n\t\t\t// layout or modifier key state.\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\treplacementWithShiftKeyMap[ event.code ]\n\t\t\t) {\n\t\t\t\tkey = replacementWithShiftKeyMap[ event.code ];\n\t\t\t}\n\n\t\t\t// For backwards compatibility.\n\t\t\tif ( character === 'del' ) {\n\t\t\t\tcharacter = 'delete';\n\t\t\t}\n\n\t\t\treturn key === character.toLowerCase();\n\t\t};\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_platform","BACKSPACE","exports","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","capitaliseFirstCharacter","string","length","toUpperCase","charAt","slice","mapValues","object","mapFn","Object","fromEntries","entries","map","key","value","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","isAppleOS","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","_replacementKeyMap$ke","replacementKey","displayShortcut","shortcutList","shortcutAriaLabel","__","_replacementKeyMap$ke2","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","replacementWithShiftKeyMap","Comma","Backslash","IntlRo","IntlYen","modsDiff","mod","includes","eventModsDiff","altKey","String","fromCharCode","keyCode","shiftKey","code"],"sources":["@wordpress/keycodes/src/index.js"],"sourcesContent":["/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isAppleOS } from './platform';\n\n/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */\n\n/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined'} WPKeycodeModifier */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @template T\n *\n * @typedef {Record<WPKeycodeModifier, T>} WPModifierHandler\n */\n\n/**\n * @template T\n *\n * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler\n */\n/** @typedef {(event: import('react').KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\n\n/** @typedef {( isApple: () => boolean ) => WPModifierPart[]} WPModifier */\n\n/**\n * Keycode for BACKSPACE key.\n */\nexport const BACKSPACE = 8;\n\n/**\n * Keycode for TAB key.\n */\nexport const TAB = 9;\n\n/**\n * Keycode for ENTER key.\n */\nexport const ENTER = 13;\n\n/**\n * Keycode for ESCAPE key.\n */\nexport const ESCAPE = 27;\n\n/**\n * Keycode for SPACE key.\n */\nexport const SPACE = 32;\n\n/**\n * Keycode for PAGEUP key.\n */\nexport const PAGEUP = 33;\n\n/**\n * Keycode for PAGEDOWN key.\n */\nexport const PAGEDOWN = 34;\n\n/**\n * Keycode for END key.\n */\nexport const END = 35;\n\n/**\n * Keycode for HOME key.\n */\nexport const HOME = 36;\n\n/**\n * Keycode for LEFT key.\n */\nexport const LEFT = 37;\n\n/**\n * Keycode for UP key.\n */\nexport const UP = 38;\n\n/**\n * Keycode for RIGHT key.\n */\nexport const RIGHT = 39;\n\n/**\n * Keycode for DOWN key.\n */\nexport const DOWN = 40;\n\n/**\n * Keycode for DELETE key.\n */\nexport const DELETE = 46;\n\n/**\n * Keycode for F10 key.\n */\nexport const F10 = 121;\n\n/**\n * Keycode for ALT key.\n */\nexport const ALT = 'alt';\n\n/**\n * Keycode for CTRL key.\n */\nexport const CTRL = 'ctrl';\n\n/**\n * Keycode for COMMAND/META key.\n */\nexport const COMMAND = 'meta';\n\n/**\n * Keycode for SHIFT key.\n */\nexport const SHIFT = 'shift';\n\n/**\n * Keycode for ZERO key.\n */\nexport const ZERO = 48;\n\nexport { isAppleOS };\n\n/**\n * Capitalise the first character of a string.\n * @param {string} string String to capitalise.\n * @return {string} Capitalised string.\n */\nfunction capitaliseFirstCharacter( string ) {\n\treturn string.length < 2\n\t\t? string.toUpperCase()\n\t\t: string.charAt( 0 ).toUpperCase() + string.slice( 1 );\n}\n\n/**\n * Map the values of an object with a specified callback and return the result object.\n *\n * @template {{ [s: string]: any; } | ArrayLike<any>} T\n *\n * @param {T} object Object to map values of.\n * @param {( value: any ) => any} mapFn Mapping function\n *\n * @return {any} Active modifier constants.\n */\nfunction mapValues( object, mapFn ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tmapFn( value ),\n\t\t] )\n\t);\n}\n\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>}\n */\nexport const modifiers = {\n\tprimary: ( _isApple ) => ( _isApple() ? [ COMMAND ] : [ CTRL ] ),\n\tprimaryShift: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, COMMAND ] : [ CTRL, SHIFT ],\n\tprimaryAlt: ( _isApple ) =>\n\t\t_isApple() ? [ ALT, COMMAND ] : [ CTRL, ALT ],\n\tsecondary: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, ALT, COMMAND ] : [ CTRL, SHIFT, ALT ],\n\taccess: ( _isApple ) => ( _isApple() ? [ CTRL, ALT ] : [ SHIFT, ALT ] ),\n\tctrl: () => [ CTRL ],\n\talt: () => [ ALT ],\n\tctrlShift: () => [ CTRL, SHIFT ],\n\tshift: () => [ SHIFT ],\n\tshiftAlt: () => [ SHIFT, ALT ],\n\tundefined: () => [],\n};\n\n/**\n * An object that contains functions to get raw shortcuts.\n *\n * These are intended for user with the KeyboardShortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * rawShortcut.primary( 'm' )\n * // \"meta+m\"\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw\n * shortcuts.\n */\nexport const rawShortcut = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join(\n\t\t\t\t'+'\n\t\t\t);\n\t\t};\n\t}\n);\n\n/**\n * Return an array of the parts of a keyboard shortcut chord for display.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcutList.primary( 'm' );\n * // [ \"⌘\", \"M\" ]\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to\n * shortcut sequences.\n */\nexport const displayShortcutList = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\t\t\t\t[ CTRL ]: isApple ? '⌃' : 'Ctrl', // Make sure ⌃ is the U+2303 UP ARROWHEAD unicode character and not the caret character.\n\t\t\t\t[ COMMAND ]: '⌘',\n\t\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t\t};\n\n\t\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t\t( accumulator, key ) => {\n\t\t\t\t\tconst replacementKey = replacementKeyMap[ key ] ?? key;\n\t\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\t\tif ( isApple ) {\n\t\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t\t},\n\t\t\t\t/** @type {string[]} */ ( [] )\n\t\t\t);\n\n\t\t\treturn [ ...modifierKeys, capitaliseFirstCharacter( character ) ];\n\t\t};\n\t}\n);\n\n/**\n * An object that contains functions to display shortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcut.primary( 'm' );\n * // \"⌘M\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * display shortcuts.\n */\nexport const displayShortcut = mapValues(\n\tdisplayShortcutList,\n\t( /** @type {WPKeyHandler<string[]>} */ shortcutList ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => shortcutList( character, _isApple ).join( '' );\n\t}\n);\n\n/**\n * An object that contains functions to return an aria label for a keyboard\n * shortcut.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * shortcutAriaLabel.primary( '.' );\n * // \"Command + Period\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * shortcut ARIA labels.\n */\nexport const shortcutAriaLabel = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t\t[ CTRL ]: 'Control',\n\t\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t\t/* translators: comma as in the character ',' */\n\t\t\t\t',': __( 'Comma' ),\n\t\t\t\t/* translators: period as in the character '.' */\n\t\t\t\t'.': __( 'Period' ),\n\t\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t\t'`': __( 'Backtick' ),\n\t\t\t\t/* translators: tilde as in the character '~' */\n\t\t\t\t'~': __( 'Tilde' ),\n\t\t\t};\n\n\t\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t\t.map( ( key ) =>\n\t\t\t\t\tcapitaliseFirstCharacter( replacementKeyMap[ key ] ?? key )\n\t\t\t\t)\n\t\t\t\t.join( isApple ? ' ' : ' + ' );\n\t\t};\n\t}\n);\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {import('react').KeyboardEvent<HTMLElement> | KeyboardEvent} event Keyboard event.\n *\n * @return {Array<WPModifierPart>} Active modifier constants.\n */\nfunction getEventModifiers( event ) {\n\treturn /** @type {WPModifierPart[]} */ ( [\n\t\tALT,\n\t\tCTRL,\n\t\tCOMMAND,\n\t\tSHIFT,\n\t] ).filter(\n\t\t( key ) =>\n\t\t\tevent[\n\t\t\t\t/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */ (\n\t\t\t\t\t`${ key }Key`\n\t\t\t\t)\n\t\t\t]\n\t);\n}\n\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n *\n * @example\n * ```js\n * // Assuming an event for ⌘M key press:\n * isKeyboardEvent.primary( event, 'm' );\n * // true\n * ```\n *\n * @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions\n * to match events.\n */\nexport const isKeyboardEvent = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ getModifiers ) => {\n\t\treturn /** @type {WPEventKeyHandler} */ (\n\t\t\tevent,\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst mods = getModifiers( _isApple );\n\t\t\tconst eventMods = getEventModifiers( event );\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementWithShiftKeyMap = {\n\t\t\t\tComma: ',',\n\t\t\t\tBackslash: '\\\\',\n\t\t\t\t// Windows returns `\\` for both IntlRo and IntlYen.\n\t\t\t\tIntlRo: '\\\\',\n\t\t\t\tIntlYen: '\\\\',\n\t\t\t};\n\n\t\t\tconst modsDiff = mods.filter(\n\t\t\t\t( mod ) => ! eventMods.includes( mod )\n\t\t\t);\n\t\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t\t( mod ) => ! mods.includes( mod )\n\t\t\t);\n\n\t\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key = event.key.toLowerCase();\n\n\t\t\tif ( ! character ) {\n\t\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t\t}\n\n\t\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t\t}\n\n\t\t\t// `event.key` returns the value of the key pressed, taking into the state of\n\t\t\t// modifier keys such as `Shift`. If the shift key is pressed, a different\n\t\t\t// value may be returned depending on the keyboard layout. It is necessary to\n\t\t\t// convert to the physical key value that don't take into account keyboard\n\t\t\t// layout or modifier key state.\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\treplacementWithShiftKeyMap[ event.code ]\n\t\t\t) {\n\t\t\t\tkey = replacementWithShiftKeyMap[ event.code ];\n\t\t\t}\n\n\t\t\t// For backwards compatibility.\n\t\t\tif ( character === 'del' ) {\n\t\t\t\tcharacter = 'delete';\n\t\t\t}\n\n\t\t\treturn key === character.toLowerCase();\n\t\t};\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
|
package/build-module/index.js
CHANGED
|
@@ -200,7 +200,7 @@ export const modifiers = {
|
|
|
200
200
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw
|
|
201
201
|
* shortcuts.
|
|
202
202
|
*/
|
|
203
|
-
export const rawShortcut = mapValues(modifiers, (
|
|
203
|
+
export const rawShortcut = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
204
204
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = isAppleOS) => {
|
|
205
205
|
return [...modifier(_isApple), character.toLowerCase()].join('+');
|
|
206
206
|
};
|
|
@@ -219,7 +219,7 @@ export const rawShortcut = mapValues(modifiers, ( /** @type {WPModifier} */modif
|
|
|
219
219
|
* @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to
|
|
220
220
|
* shortcut sequences.
|
|
221
221
|
*/
|
|
222
|
-
export const displayShortcutList = mapValues(modifiers, (
|
|
222
|
+
export const displayShortcutList = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
223
223
|
return /** @type {WPKeyHandler<string[]>} */(character, _isApple = isAppleOS) => {
|
|
224
224
|
const isApple = _isApple();
|
|
225
225
|
const replacementKeyMap = {
|
|
@@ -255,7 +255,7 @@ export const displayShortcutList = mapValues(modifiers, ( /** @type {WPModifier}
|
|
|
255
255
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
|
|
256
256
|
* display shortcuts.
|
|
257
257
|
*/
|
|
258
|
-
export const displayShortcut = mapValues(displayShortcutList, (
|
|
258
|
+
export const displayShortcut = mapValues(displayShortcutList, (/** @type {WPKeyHandler<string[]>} */shortcutList) => {
|
|
259
259
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = isAppleOS) => shortcutList(character, _isApple).join('');
|
|
260
260
|
});
|
|
261
261
|
|
|
@@ -273,7 +273,7 @@ export const displayShortcut = mapValues(displayShortcutList, ( /** @type {WPKey
|
|
|
273
273
|
* @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
|
|
274
274
|
* shortcut ARIA labels.
|
|
275
275
|
*/
|
|
276
|
-
export const shortcutAriaLabel = mapValues(modifiers, (
|
|
276
|
+
export const shortcutAriaLabel = mapValues(modifiers, (/** @type {WPModifier} */modifier) => {
|
|
277
277
|
return /** @type {WPKeyHandler<string>} */(character, _isApple = isAppleOS) => {
|
|
278
278
|
const isApple = _isApple();
|
|
279
279
|
/** @type {Record<string,string>} */
|
|
@@ -307,7 +307,7 @@ export const shortcutAriaLabel = mapValues(modifiers, ( /** @type {WPModifier} *
|
|
|
307
307
|
* @return {Array<WPModifierPart>} Active modifier constants.
|
|
308
308
|
*/
|
|
309
309
|
function getEventModifiers(event) {
|
|
310
|
-
return /** @type {WPModifierPart[]} */[ALT, CTRL, COMMAND, SHIFT].filter(key => event[(
|
|
310
|
+
return /** @type {WPModifierPart[]} */[ALT, CTRL, COMMAND, SHIFT].filter(key => event[(/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */
|
|
311
311
|
`${key}Key`)]);
|
|
312
312
|
}
|
|
313
313
|
|
|
@@ -325,7 +325,7 @@ function getEventModifiers(event) {
|
|
|
325
325
|
* @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions
|
|
326
326
|
* to match events.
|
|
327
327
|
*/
|
|
328
|
-
export const isKeyboardEvent = mapValues(modifiers, (
|
|
328
|
+
export const isKeyboardEvent = mapValues(modifiers, (/** @type {WPModifier} */getModifiers) => {
|
|
329
329
|
return /** @type {WPEventKeyHandler} */(event, character, _isApple = isAppleOS) => {
|
|
330
330
|
const mods = getModifiers(_isApple);
|
|
331
331
|
const eventMods = getEventModifiers(event);
|
|
@@ -344,7 +344,7 @@ export const isKeyboardEvent = mapValues(modifiers, ( /** @type {WPModifier} */g
|
|
|
344
344
|
}
|
|
345
345
|
let key = event.key.toLowerCase();
|
|
346
346
|
if (!character) {
|
|
347
|
-
return mods.includes(
|
|
347
|
+
return mods.includes(/** @type {WPModifierPart} */key);
|
|
348
348
|
}
|
|
349
349
|
if (event.altKey && character.length === 1) {
|
|
350
350
|
key = String.fromCharCode(event.keyCode).toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","isAppleOS","BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","capitaliseFirstCharacter","string","length","toUpperCase","charAt","slice","mapValues","object","mapFn","Object","fromEntries","entries","map","key","value","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","_replacementKeyMap$ke","replacementKey","displayShortcut","shortcutList","shortcutAriaLabel","_replacementKeyMap$ke2","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","replacementWithShiftKeyMap","Comma","Backslash","IntlRo","IntlYen","modsDiff","mod","includes","eventModsDiff","altKey","String","fromCharCode","keyCode","shiftKey","code"],"sources":["@wordpress/keycodes/src/index.js"],"sourcesContent":["/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isAppleOS } from './platform';\n\n/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */\n\n/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined'} WPKeycodeModifier */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @template T\n *\n * @typedef {Record<WPKeycodeModifier, T>} WPModifierHandler\n */\n\n/**\n * @template T\n *\n * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler\n */\n/** @typedef {(event: import('react').KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\n\n/** @typedef {( isApple: () => boolean ) => WPModifierPart[]} WPModifier */\n\n/**\n * Keycode for BACKSPACE key.\n */\nexport const BACKSPACE = 8;\n\n/**\n * Keycode for TAB key.\n */\nexport const TAB = 9;\n\n/**\n * Keycode for ENTER key.\n */\nexport const ENTER = 13;\n\n/**\n * Keycode for ESCAPE key.\n */\nexport const ESCAPE = 27;\n\n/**\n * Keycode for SPACE key.\n */\nexport const SPACE = 32;\n\n/**\n * Keycode for PAGEUP key.\n */\nexport const PAGEUP = 33;\n\n/**\n * Keycode for PAGEDOWN key.\n */\nexport const PAGEDOWN = 34;\n\n/**\n * Keycode for END key.\n */\nexport const END = 35;\n\n/**\n * Keycode for HOME key.\n */\nexport const HOME = 36;\n\n/**\n * Keycode for LEFT key.\n */\nexport const LEFT = 37;\n\n/**\n * Keycode for UP key.\n */\nexport const UP = 38;\n\n/**\n * Keycode for RIGHT key.\n */\nexport const RIGHT = 39;\n\n/**\n * Keycode for DOWN key.\n */\nexport const DOWN = 40;\n\n/**\n * Keycode for DELETE key.\n */\nexport const DELETE = 46;\n\n/**\n * Keycode for F10 key.\n */\nexport const F10 = 121;\n\n/**\n * Keycode for ALT key.\n */\nexport const ALT = 'alt';\n\n/**\n * Keycode for CTRL key.\n */\nexport const CTRL = 'ctrl';\n\n/**\n * Keycode for COMMAND/META key.\n */\nexport const COMMAND = 'meta';\n\n/**\n * Keycode for SHIFT key.\n */\nexport const SHIFT = 'shift';\n\n/**\n * Keycode for ZERO key.\n */\nexport const ZERO = 48;\n\nexport { isAppleOS };\n\n/**\n * Capitalise the first character of a string.\n * @param {string} string String to capitalise.\n * @return {string} Capitalised string.\n */\nfunction capitaliseFirstCharacter( string ) {\n\treturn string.length < 2\n\t\t? string.toUpperCase()\n\t\t: string.charAt( 0 ).toUpperCase() + string.slice( 1 );\n}\n\n/**\n * Map the values of an object with a specified callback and return the result object.\n *\n * @template {{ [s: string]: any; } | ArrayLike<any>} T\n *\n * @param {T} object Object to map values of.\n * @param {( value: any ) => any} mapFn Mapping function\n *\n * @return {any} Active modifier constants.\n */\nfunction mapValues( object, mapFn ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tmapFn( value ),\n\t\t] )\n\t);\n}\n\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>}\n */\nexport const modifiers = {\n\tprimary: ( _isApple ) => ( _isApple() ? [ COMMAND ] : [ CTRL ] ),\n\tprimaryShift: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, COMMAND ] : [ CTRL, SHIFT ],\n\tprimaryAlt: ( _isApple ) =>\n\t\t_isApple() ? [ ALT, COMMAND ] : [ CTRL, ALT ],\n\tsecondary: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, ALT, COMMAND ] : [ CTRL, SHIFT, ALT ],\n\taccess: ( _isApple ) => ( _isApple() ? [ CTRL, ALT ] : [ SHIFT, ALT ] ),\n\tctrl: () => [ CTRL ],\n\talt: () => [ ALT ],\n\tctrlShift: () => [ CTRL, SHIFT ],\n\tshift: () => [ SHIFT ],\n\tshiftAlt: () => [ SHIFT, ALT ],\n\tundefined: () => [],\n};\n\n/**\n * An object that contains functions to get raw shortcuts.\n *\n * These are intended for user with the KeyboardShortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * rawShortcut.primary( 'm' )\n * // \"meta+m\"\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw\n * shortcuts.\n */\nexport const rawShortcut = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join(\n\t\t\t\t'+'\n\t\t\t);\n\t\t};\n\t}\n);\n\n/**\n * Return an array of the parts of a keyboard shortcut chord for display.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcutList.primary( 'm' );\n * // [ \"⌘\", \"M\" ]\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to\n * shortcut sequences.\n */\nexport const displayShortcutList = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\t\t\t\t[ CTRL ]: isApple ? '⌃' : 'Ctrl', // Make sure ⌃ is the U+2303 UP ARROWHEAD unicode character and not the caret character.\n\t\t\t\t[ COMMAND ]: '⌘',\n\t\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t\t};\n\n\t\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t\t( accumulator, key ) => {\n\t\t\t\t\tconst replacementKey = replacementKeyMap[ key ] ?? key;\n\t\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\t\tif ( isApple ) {\n\t\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t\t},\n\t\t\t\t/** @type {string[]} */ ( [] )\n\t\t\t);\n\n\t\t\treturn [ ...modifierKeys, capitaliseFirstCharacter( character ) ];\n\t\t};\n\t}\n);\n\n/**\n * An object that contains functions to display shortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcut.primary( 'm' );\n * // \"⌘M\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * display shortcuts.\n */\nexport const displayShortcut = mapValues(\n\tdisplayShortcutList,\n\t( /** @type {WPKeyHandler<string[]>} */ shortcutList ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => shortcutList( character, _isApple ).join( '' );\n\t}\n);\n\n/**\n * An object that contains functions to return an aria label for a keyboard\n * shortcut.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * shortcutAriaLabel.primary( '.' );\n * // \"Command + Period\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * shortcut ARIA labels.\n */\nexport const shortcutAriaLabel = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t\t[ CTRL ]: 'Control',\n\t\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t\t/* translators: comma as in the character ',' */\n\t\t\t\t',': __( 'Comma' ),\n\t\t\t\t/* translators: period as in the character '.' */\n\t\t\t\t'.': __( 'Period' ),\n\t\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t\t'`': __( 'Backtick' ),\n\t\t\t\t/* translators: tilde as in the character '~' */\n\t\t\t\t'~': __( 'Tilde' ),\n\t\t\t};\n\n\t\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t\t.map( ( key ) =>\n\t\t\t\t\tcapitaliseFirstCharacter( replacementKeyMap[ key ] ?? key )\n\t\t\t\t)\n\t\t\t\t.join( isApple ? ' ' : ' + ' );\n\t\t};\n\t}\n);\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {import('react').KeyboardEvent<HTMLElement> | KeyboardEvent} event Keyboard event.\n *\n * @return {Array<WPModifierPart>} Active modifier constants.\n */\nfunction getEventModifiers( event ) {\n\treturn /** @type {WPModifierPart[]} */ ( [\n\t\tALT,\n\t\tCTRL,\n\t\tCOMMAND,\n\t\tSHIFT,\n\t] ).filter(\n\t\t( key ) =>\n\t\t\tevent[\n\t\t\t\t/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */ (\n\t\t\t\t\t`${ key }Key`\n\t\t\t\t)\n\t\t\t]\n\t);\n}\n\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n *\n * @example\n * ```js\n * // Assuming an event for ⌘M key press:\n * isKeyboardEvent.primary( event, 'm' );\n * // true\n * ```\n *\n * @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions\n * to match events.\n */\nexport const isKeyboardEvent = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ getModifiers ) => {\n\t\treturn /** @type {WPEventKeyHandler} */ (\n\t\t\tevent,\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst mods = getModifiers( _isApple );\n\t\t\tconst eventMods = getEventModifiers( event );\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementWithShiftKeyMap = {\n\t\t\t\tComma: ',',\n\t\t\t\tBackslash: '\\\\',\n\t\t\t\t// Windows returns `\\` for both IntlRo and IntlYen.\n\t\t\t\tIntlRo: '\\\\',\n\t\t\t\tIntlYen: '\\\\',\n\t\t\t};\n\n\t\t\tconst modsDiff = mods.filter(\n\t\t\t\t( mod ) => ! eventMods.includes( mod )\n\t\t\t);\n\t\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t\t( mod ) => ! mods.includes( mod )\n\t\t\t);\n\n\t\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key = event.key.toLowerCase();\n\n\t\t\tif ( ! character ) {\n\t\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t\t}\n\n\t\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t\t}\n\n\t\t\t// `event.key` returns the value of the key pressed, taking into the state of\n\t\t\t// modifier keys such as `Shift`. If the shift key is pressed, a different\n\t\t\t// value may be returned depending on the keyboard layout. It is necessary to\n\t\t\t// convert to the physical key value that don't take into account keyboard\n\t\t\t// layout or modifier key state.\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\treplacementWithShiftKeyMap[ event.code ]\n\t\t\t) {\n\t\t\t\tkey = replacementWithShiftKeyMap[ event.code ];\n\t\t\t}\n\n\t\t\t// For backwards compatibility.\n\t\t\tif ( character === 'del' ) {\n\t\t\t\tcharacter = 'delete';\n\t\t\t}\n\n\t\t\treturn key === character.toLowerCase();\n\t\t};\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","isAppleOS","BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","capitaliseFirstCharacter","string","length","toUpperCase","charAt","slice","mapValues","object","mapFn","Object","fromEntries","entries","map","key","value","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","_replacementKeyMap$ke","replacementKey","displayShortcut","shortcutList","shortcutAriaLabel","_replacementKeyMap$ke2","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","replacementWithShiftKeyMap","Comma","Backslash","IntlRo","IntlYen","modsDiff","mod","includes","eventModsDiff","altKey","String","fromCharCode","keyCode","shiftKey","code"],"sources":["@wordpress/keycodes/src/index.js"],"sourcesContent":["/**\n * Note: The order of the modifier keys in many of the [foo]Shortcut()\n * functions in this file are intentional and should not be changed. They're\n * designed to fit with the standard menu keyboard shortcuts shown in the\n * user's platform.\n *\n * For example, on MacOS menu shortcuts will place Shift before Command, but\n * on Windows Control will usually come first. So don't provide your own\n * shortcut combos directly to keyboardShortcut().\n */\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { isAppleOS } from './platform';\n\n/** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */\n\n/** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined'} WPKeycodeModifier */\n\n/**\n * An object of handler functions for each of the possible modifier\n * combinations. A handler will return a value for a given key.\n *\n * @template T\n *\n * @typedef {Record<WPKeycodeModifier, T>} WPModifierHandler\n */\n\n/**\n * @template T\n *\n * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler\n */\n/** @typedef {(event: import('react').KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\n\n/** @typedef {( isApple: () => boolean ) => WPModifierPart[]} WPModifier */\n\n/**\n * Keycode for BACKSPACE key.\n */\nexport const BACKSPACE = 8;\n\n/**\n * Keycode for TAB key.\n */\nexport const TAB = 9;\n\n/**\n * Keycode for ENTER key.\n */\nexport const ENTER = 13;\n\n/**\n * Keycode for ESCAPE key.\n */\nexport const ESCAPE = 27;\n\n/**\n * Keycode for SPACE key.\n */\nexport const SPACE = 32;\n\n/**\n * Keycode for PAGEUP key.\n */\nexport const PAGEUP = 33;\n\n/**\n * Keycode for PAGEDOWN key.\n */\nexport const PAGEDOWN = 34;\n\n/**\n * Keycode for END key.\n */\nexport const END = 35;\n\n/**\n * Keycode for HOME key.\n */\nexport const HOME = 36;\n\n/**\n * Keycode for LEFT key.\n */\nexport const LEFT = 37;\n\n/**\n * Keycode for UP key.\n */\nexport const UP = 38;\n\n/**\n * Keycode for RIGHT key.\n */\nexport const RIGHT = 39;\n\n/**\n * Keycode for DOWN key.\n */\nexport const DOWN = 40;\n\n/**\n * Keycode for DELETE key.\n */\nexport const DELETE = 46;\n\n/**\n * Keycode for F10 key.\n */\nexport const F10 = 121;\n\n/**\n * Keycode for ALT key.\n */\nexport const ALT = 'alt';\n\n/**\n * Keycode for CTRL key.\n */\nexport const CTRL = 'ctrl';\n\n/**\n * Keycode for COMMAND/META key.\n */\nexport const COMMAND = 'meta';\n\n/**\n * Keycode for SHIFT key.\n */\nexport const SHIFT = 'shift';\n\n/**\n * Keycode for ZERO key.\n */\nexport const ZERO = 48;\n\nexport { isAppleOS };\n\n/**\n * Capitalise the first character of a string.\n * @param {string} string String to capitalise.\n * @return {string} Capitalised string.\n */\nfunction capitaliseFirstCharacter( string ) {\n\treturn string.length < 2\n\t\t? string.toUpperCase()\n\t\t: string.charAt( 0 ).toUpperCase() + string.slice( 1 );\n}\n\n/**\n * Map the values of an object with a specified callback and return the result object.\n *\n * @template {{ [s: string]: any; } | ArrayLike<any>} T\n *\n * @param {T} object Object to map values of.\n * @param {( value: any ) => any} mapFn Mapping function\n *\n * @return {any} Active modifier constants.\n */\nfunction mapValues( object, mapFn ) {\n\treturn Object.fromEntries(\n\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\tkey,\n\t\t\tmapFn( value ),\n\t\t] )\n\t);\n}\n\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n *\n * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>}\n */\nexport const modifiers = {\n\tprimary: ( _isApple ) => ( _isApple() ? [ COMMAND ] : [ CTRL ] ),\n\tprimaryShift: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, COMMAND ] : [ CTRL, SHIFT ],\n\tprimaryAlt: ( _isApple ) =>\n\t\t_isApple() ? [ ALT, COMMAND ] : [ CTRL, ALT ],\n\tsecondary: ( _isApple ) =>\n\t\t_isApple() ? [ SHIFT, ALT, COMMAND ] : [ CTRL, SHIFT, ALT ],\n\taccess: ( _isApple ) => ( _isApple() ? [ CTRL, ALT ] : [ SHIFT, ALT ] ),\n\tctrl: () => [ CTRL ],\n\talt: () => [ ALT ],\n\tctrlShift: () => [ CTRL, SHIFT ],\n\tshift: () => [ SHIFT ],\n\tshiftAlt: () => [ SHIFT, ALT ],\n\tundefined: () => [],\n};\n\n/**\n * An object that contains functions to get raw shortcuts.\n *\n * These are intended for user with the KeyboardShortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * rawShortcut.primary( 'm' )\n * // \"meta+m\"\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw\n * shortcuts.\n */\nexport const rawShortcut = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join(\n\t\t\t\t'+'\n\t\t\t);\n\t\t};\n\t}\n);\n\n/**\n * Return an array of the parts of a keyboard shortcut chord for display.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcutList.primary( 'm' );\n * // [ \"⌘\", \"M\" ]\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to\n * shortcut sequences.\n */\nexport const displayShortcutList = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\t\t\t\t[ CTRL ]: isApple ? '⌃' : 'Ctrl', // Make sure ⌃ is the U+2303 UP ARROWHEAD unicode character and not the caret character.\n\t\t\t\t[ COMMAND ]: '⌘',\n\t\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t\t};\n\n\t\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t\t( accumulator, key ) => {\n\t\t\t\t\tconst replacementKey = replacementKeyMap[ key ] ?? key;\n\t\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\t\tif ( isApple ) {\n\t\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t\t}\n\n\t\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t\t},\n\t\t\t\t/** @type {string[]} */ ( [] )\n\t\t\t);\n\n\t\t\treturn [ ...modifierKeys, capitaliseFirstCharacter( character ) ];\n\t\t};\n\t}\n);\n\n/**\n * An object that contains functions to display shortcuts.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * displayShortcut.primary( 'm' );\n * // \"⌘M\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * display shortcuts.\n */\nexport const displayShortcut = mapValues(\n\tdisplayShortcutList,\n\t( /** @type {WPKeyHandler<string[]>} */ shortcutList ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => shortcutList( character, _isApple ).join( '' );\n\t}\n);\n\n/**\n * An object that contains functions to return an aria label for a keyboard\n * shortcut.\n *\n * @example\n * ```js\n * // Assuming macOS:\n * shortcutAriaLabel.primary( '.' );\n * // \"Command + Period\"\n * ```\n *\n * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to\n * shortcut ARIA labels.\n */\nexport const shortcutAriaLabel = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ modifier ) => {\n\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst isApple = _isApple();\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementKeyMap = {\n\t\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t\t[ CTRL ]: 'Control',\n\t\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t\t/* translators: comma as in the character ',' */\n\t\t\t\t',': __( 'Comma' ),\n\t\t\t\t/* translators: period as in the character '.' */\n\t\t\t\t'.': __( 'Period' ),\n\t\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t\t'`': __( 'Backtick' ),\n\t\t\t\t/* translators: tilde as in the character '~' */\n\t\t\t\t'~': __( 'Tilde' ),\n\t\t\t};\n\n\t\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t\t.map( ( key ) =>\n\t\t\t\t\tcapitaliseFirstCharacter( replacementKeyMap[ key ] ?? key )\n\t\t\t\t)\n\t\t\t\t.join( isApple ? ' ' : ' + ' );\n\t\t};\n\t}\n);\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {import('react').KeyboardEvent<HTMLElement> | KeyboardEvent} event Keyboard event.\n *\n * @return {Array<WPModifierPart>} Active modifier constants.\n */\nfunction getEventModifiers( event ) {\n\treturn /** @type {WPModifierPart[]} */ ( [\n\t\tALT,\n\t\tCTRL,\n\t\tCOMMAND,\n\t\tSHIFT,\n\t] ).filter(\n\t\t( key ) =>\n\t\t\tevent[\n\t\t\t\t/** @type {'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'} */ (\n\t\t\t\t\t`${ key }Key`\n\t\t\t\t)\n\t\t\t]\n\t);\n}\n\n/**\n * An object that contains functions to check if a keyboard event matches a\n * predefined shortcut combination.\n *\n * @example\n * ```js\n * // Assuming an event for ⌘M key press:\n * isKeyboardEvent.primary( event, 'm' );\n * // true\n * ```\n *\n * @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions\n * to match events.\n */\nexport const isKeyboardEvent = mapValues(\n\tmodifiers,\n\t( /** @type {WPModifier} */ getModifiers ) => {\n\t\treturn /** @type {WPEventKeyHandler} */ (\n\t\t\tevent,\n\t\t\tcharacter,\n\t\t\t_isApple = isAppleOS\n\t\t) => {\n\t\t\tconst mods = getModifiers( _isApple );\n\t\t\tconst eventMods = getEventModifiers( event );\n\t\t\t/** @type {Record<string,string>} */\n\t\t\tconst replacementWithShiftKeyMap = {\n\t\t\t\tComma: ',',\n\t\t\t\tBackslash: '\\\\',\n\t\t\t\t// Windows returns `\\` for both IntlRo and IntlYen.\n\t\t\t\tIntlRo: '\\\\',\n\t\t\t\tIntlYen: '\\\\',\n\t\t\t};\n\n\t\t\tconst modsDiff = mods.filter(\n\t\t\t\t( mod ) => ! eventMods.includes( mod )\n\t\t\t);\n\t\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t\t( mod ) => ! mods.includes( mod )\n\t\t\t);\n\n\t\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tlet key = event.key.toLowerCase();\n\n\t\t\tif ( ! character ) {\n\t\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t\t}\n\n\t\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t\t}\n\n\t\t\t// `event.key` returns the value of the key pressed, taking into the state of\n\t\t\t// modifier keys such as `Shift`. If the shift key is pressed, a different\n\t\t\t// value may be returned depending on the keyboard layout. It is necessary to\n\t\t\t// convert to the physical key value that don't take into account keyboard\n\t\t\t// layout or modifier key state.\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\treplacementWithShiftKeyMap[ event.code ]\n\t\t\t) {\n\t\t\t\tkey = replacementWithShiftKeyMap[ event.code ];\n\t\t\t}\n\n\t\t\t// For backwards compatibility.\n\t\t\tif ( character === 'del' ) {\n\t\t\t\tcharacter = 'delete';\n\t\t\t}\n\n\t\t\treturn key === character.toLowerCase();\n\t\t};\n\t}\n);\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/keycodes",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.10.0",
|
|
4
4
|
"description": "Keycodes utilities for WordPress. Used to check for keyboard events across browsers/operating systems.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -28,11 +28,11 @@
|
|
|
28
28
|
"types": "build-types",
|
|
29
29
|
"sideEffects": false,
|
|
30
30
|
"dependencies": {
|
|
31
|
-
"@babel/runtime": "
|
|
32
|
-
"@wordpress/i18n": "^5.
|
|
31
|
+
"@babel/runtime": "7.25.7",
|
|
32
|
+
"@wordpress/i18n": "^5.10.0"
|
|
33
33
|
},
|
|
34
34
|
"publishConfig": {
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "ab34a7ac935fd1478eac63b596242d83270897ee"
|
|
38
38
|
}
|