@wordpress/keycodes 4.27.1-next.46f643fa0.0 → 4.28.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.
@@ -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 =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( /** @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 * 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 =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( /** @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 * 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 =\n\t/* @__PURE__ */\n\tmapValues(\n\t\tdisplayShortcutList,\n\t\t( /** @type {WPKeyHandler<string[]>} */ shortcutList ) => {\n\t\t\treturn /** @type {WPKeyHandler<string>} */ (\n\t\t\t\tcharacter,\n\t\t\t\t_isApple = isAppleOS\n\t\t\t) => shortcutList( character, _isApple ).join( '' );\n\t\t}\n\t);\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 =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( /** @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 * 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 =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( /** @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"],"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.ts"],"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/**\n * External dependencies\n */\nimport type { KeyboardEvent as ReactKeyboardEvent } from 'react';\n\nexport type WPModifierPart =\n\t| typeof ALT\n\t| typeof CTRL\n\t| typeof COMMAND\n\t| typeof SHIFT;\n\nexport type WPKeycodeModifier =\n\t| 'primary'\n\t| 'primaryShift'\n\t| 'primaryAlt'\n\t| 'secondary'\n\t| 'access'\n\t| 'ctrl'\n\t| 'alt'\n\t| 'ctrlShift'\n\t| 'shift'\n\t| 'shiftAlt'\n\t| 'undefined';\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 */\nexport type WPModifierHandler< T > = Record< WPKeycodeModifier, T >;\n\nexport type WPKeyHandler< T > = (\n\tcharacter: string,\n\tisApple?: () => boolean\n) => T;\n\nexport type WPEventKeyHandler = (\n\tevent: ReactKeyboardEvent< HTMLElement > | KeyboardEvent,\n\tcharacter: string,\n\tisApple?: () => boolean\n) => boolean;\n\nexport type WPModifier = ( isApple: () => boolean ) => WPModifierPart[];\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 to capitalise.\n * @return Capitalised string.\n */\nfunction capitaliseFirstCharacter( string: string ): 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 T The object type\n * @template R The return type of the mapping function\n *\n * @param object Object to map values of.\n * @param mapFn Mapping function to apply to each value.\n * @return Object with the same keys and transformed values.\n */\nfunction mapValues< T extends Record< string, any >, R >(\n\tobject: T,\n\tmapFn: ( value: T[ keyof T ] ) => R\n): Record< keyof T, R > {\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) as Record< keyof T, R >;\n}\n\n/**\n * Object that contains functions that return the available modifier\n * depending on platform.\n */\nexport const modifiers: WPModifierHandler< WPModifier > = {\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 */\nexport const rawShortcut: WPModifierHandler< WPKeyHandler< string > > =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( modifier: WPModifier ) => {\n\t\treturn ( character: string, _isApple = isAppleOS ) => {\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 * 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 * Keyed map of functions to shortcut sequences.\n */\nexport const displayShortcutList: WPModifierHandler<\n\tWPKeyHandler< string[] >\n> =\n\t/* @__PURE__ */\n\tmapValues(\n\t\tmodifiers,\n\t\t( modifier: WPModifier ): WPKeyHandler< string[] > => {\n\t\t\treturn ( character: string, _isApple = isAppleOS ) => {\n\t\t\t\tconst isApple = _isApple();\n\t\t\t\tconst replacementKeyMap = {\n\t\t\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\t\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\t[ COMMAND ]: '⌘',\n\t\t\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t\t\t};\n\n\t\t\t\tconst modifierKeys = modifier( _isApple ).reduce< string[] >(\n\t\t\t\t\t( accumulator, key ) => {\n\t\t\t\t\t\tconst replacementKey = replacementKeyMap[ key ] ?? key;\n\t\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\t\tif ( isApple ) {\n\t\t\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t\t\t},\n\t\t\t\t\t[]\n\t\t\t\t);\n\n\t\t\t\treturn [\n\t\t\t\t\t...modifierKeys,\n\t\t\t\t\tcapitaliseFirstCharacter( character ),\n\t\t\t\t];\n\t\t\t};\n\t\t}\n\t);\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 * Keyed map of functions to display shortcuts.\n */\nexport const displayShortcut: WPModifierHandler< WPKeyHandler< string > > =\n\t/* @__PURE__ */\n\tmapValues(\n\t\tdisplayShortcutList,\n\t\t( shortcutList: WPKeyHandler< string[] > ): WPKeyHandler< string > => {\n\t\t\treturn ( character: string, _isApple = isAppleOS ) =>\n\t\t\t\tshortcutList( character, _isApple ).join( '' );\n\t\t}\n\t);\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 * Keyed map of functions to shortcut ARIA labels.\n */\nexport const shortcutAriaLabel: WPModifierHandler< WPKeyHandler< string > > =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( modifier: WPModifier ): WPKeyHandler< string > => {\n\t\treturn ( character: string, _isApple = isAppleOS ) => {\n\t\t\tconst isApple = _isApple();\n\t\t\tconst replacementKeyMap: Record< string, string > = {\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 * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param event Keyboard event.\n *\n * @return Active modifier constants.\n */\nfunction getEventModifiers(\n\tevent: ReactKeyboardEvent< HTMLElement > | KeyboardEvent\n): WPModifierPart[] {\n\treturn ( [ ALT, CTRL, COMMAND, SHIFT ] as const ).filter(\n\t\t( key ) =>\n\t\t\t( event as KeyboardEvent )[\n\t\t\t\t`${ key }Key` as 'altKey' | 'ctrlKey' | 'metaKey' | 'shiftKey'\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 * Keyed map of functions to match events.\n */\nexport const isKeyboardEvent: WPModifierHandler< WPEventKeyHandler > =\n\t/* @__PURE__ */\n\tmapValues( modifiers, ( getModifiers: WPModifier ): WPEventKeyHandler => {\n\t\treturn ( event, character, _isApple = isAppleOS ) => {\n\t\t\tconst mods = getModifiers( _isApple );\n\t\t\tconst eventMods = getEventModifiers( event );\n\n\t\t\tconst replacementWithShiftKeyMap: Record< string, string > = {\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( key as WPModifierPart );\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"],"mappings":"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","ignoreList":[]}
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Return true if platform is MacOS.
3
3
  *
4
- * @param {Window?} _window window object by default; used for DI testing.
4
+ * @param _window window object by default; used for DI testing.
5
5
  *
6
- * @return {boolean} True if MacOS; false otherwise.
6
+ * @return True if MacOS; false otherwise.
7
7
  */
8
- export function isAppleOS(_window = null) {
8
+ export function isAppleOS(_window) {
9
9
  if (!_window) {
10
10
  if (typeof window === 'undefined') {
11
11
  return false;
@@ -1 +1 @@
1
- {"version":3,"names":["isAppleOS","_window","window","platform","navigator","indexOf","includes"],"sources":["@wordpress/keycodes/src/platform.js"],"sourcesContent":["/**\n * Return true if platform is MacOS.\n *\n * @param {Window?} _window window object by default; used for DI testing.\n *\n * @return {boolean} True if MacOS; false otherwise.\n */\nexport function isAppleOS( _window = null ) {\n\tif ( ! _window ) {\n\t\tif ( typeof window === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t_window = window;\n\t}\n\n\tconst { platform } = _window.navigator;\n\n\treturn (\n\t\tplatform.indexOf( 'Mac' ) !== -1 ||\n\t\t[ 'iPad', 'iPhone' ].includes( platform )\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAAEC,OAAO,GAAG,IAAI,EAAG;EAC3C,IAAK,CAAEA,OAAO,EAAG;IAChB,IAAK,OAAOC,MAAM,KAAK,WAAW,EAAG;MACpC,OAAO,KAAK;IACb;IAEAD,OAAO,GAAGC,MAAM;EACjB;EAEA,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAACG,SAAS;EAEtC,OACCD,QAAQ,CAACE,OAAO,CAAE,KAAM,CAAC,KAAK,CAAC,CAAC,IAChC,CAAE,MAAM,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAAEH,QAAS,CAAC;AAE3C","ignoreList":[]}
1
+ {"version":3,"names":["isAppleOS","_window","window","platform","navigator","indexOf","includes"],"sources":["@wordpress/keycodes/src/platform.ts"],"sourcesContent":["/**\n * Return true if platform is MacOS.\n *\n * @param _window window object by default; used for DI testing.\n *\n * @return True if MacOS; false otherwise.\n */\nexport function isAppleOS( _window?: Window ): boolean {\n\tif ( ! _window ) {\n\t\tif ( typeof window === 'undefined' ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t_window = window;\n\t}\n\n\tconst { platform } = _window.navigator;\n\n\treturn (\n\t\tplatform.indexOf( 'Mac' ) !== -1 ||\n\t\t[ 'iPad', 'iPhone' ].includes( platform )\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAASA,CAAEC,OAAgB,EAAY;EACtD,IAAK,CAAEA,OAAO,EAAG;IAChB,IAAK,OAAOC,MAAM,KAAK,WAAW,EAAG;MACpC,OAAO,KAAK;IACb;IAEAD,OAAO,GAAGC,MAAM;EACjB;EAEA,MAAM;IAAEC;EAAS,CAAC,GAAGF,OAAO,CAACG,SAAS;EAEtC,OACCD,QAAQ,CAACE,OAAO,CAAE,KAAM,CAAC,KAAK,CAAC,CAAC,IAChC,CAAE,MAAM,EAAE,QAAQ,CAAE,CAACC,QAAQ,CAAEH,QAAS,CAAC;AAE3C","ignoreList":[]}
@@ -1,108 +1,117 @@
1
- /** @typedef {typeof ALT | CTRL | COMMAND | SHIFT } WPModifierPart */
2
- /** @typedef {'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined'} WPKeycodeModifier */
3
1
  /**
4
- * An object of handler functions for each of the possible modifier
5
- * combinations. A handler will return a value for a given key.
6
- *
7
- * @template T
2
+ * Note: The order of the modifier keys in many of the [foo]Shortcut()
3
+ * functions in this file are intentional and should not be changed. They're
4
+ * designed to fit with the standard menu keyboard shortcuts shown in the
5
+ * user's platform.
8
6
  *
9
- * @typedef {Record<WPKeycodeModifier, T>} WPModifierHandler
7
+ * For example, on MacOS menu shortcuts will place Shift before Command, but
8
+ * on Windows Control will usually come first. So don't provide your own
9
+ * shortcut combos directly to keyboardShortcut().
10
10
  */
11
11
  /**
12
- * @template T
13
- *
14
- * @typedef {(character: string, isApple?: () => boolean) => T} WPKeyHandler
12
+ * Internal dependencies
13
+ */
14
+ import { isAppleOS } from './platform';
15
+ /**
16
+ * External dependencies
17
+ */
18
+ import type { KeyboardEvent as ReactKeyboardEvent } from 'react';
19
+ export type WPModifierPart = typeof ALT | typeof CTRL | typeof COMMAND | typeof SHIFT;
20
+ export type WPKeycodeModifier = 'primary' | 'primaryShift' | 'primaryAlt' | 'secondary' | 'access' | 'ctrl' | 'alt' | 'ctrlShift' | 'shift' | 'shiftAlt' | 'undefined';
21
+ /**
22
+ * An object of handler functions for each of the possible modifier
23
+ * combinations. A handler will return a value for a given key.
15
24
  */
16
- /** @typedef {(event: import('react').KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */
17
- /** @typedef {( isApple: () => boolean ) => WPModifierPart[]} WPModifier */
25
+ export type WPModifierHandler<T> = Record<WPKeycodeModifier, T>;
26
+ export type WPKeyHandler<T> = (character: string, isApple?: () => boolean) => T;
27
+ export type WPEventKeyHandler = (event: ReactKeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean;
28
+ export type WPModifier = (isApple: () => boolean) => WPModifierPart[];
18
29
  /**
19
30
  * Keycode for BACKSPACE key.
20
31
  */
21
- export const BACKSPACE: 8;
32
+ export declare const BACKSPACE = 8;
22
33
  /**
23
34
  * Keycode for TAB key.
24
35
  */
25
- export const TAB: 9;
36
+ export declare const TAB = 9;
26
37
  /**
27
38
  * Keycode for ENTER key.
28
39
  */
29
- export const ENTER: 13;
40
+ export declare const ENTER = 13;
30
41
  /**
31
42
  * Keycode for ESCAPE key.
32
43
  */
33
- export const ESCAPE: 27;
44
+ export declare const ESCAPE = 27;
34
45
  /**
35
46
  * Keycode for SPACE key.
36
47
  */
37
- export const SPACE: 32;
48
+ export declare const SPACE = 32;
38
49
  /**
39
50
  * Keycode for PAGEUP key.
40
51
  */
41
- export const PAGEUP: 33;
52
+ export declare const PAGEUP = 33;
42
53
  /**
43
54
  * Keycode for PAGEDOWN key.
44
55
  */
45
- export const PAGEDOWN: 34;
56
+ export declare const PAGEDOWN = 34;
46
57
  /**
47
58
  * Keycode for END key.
48
59
  */
49
- export const END: 35;
60
+ export declare const END = 35;
50
61
  /**
51
62
  * Keycode for HOME key.
52
63
  */
53
- export const HOME: 36;
64
+ export declare const HOME = 36;
54
65
  /**
55
66
  * Keycode for LEFT key.
56
67
  */
57
- export const LEFT: 37;
68
+ export declare const LEFT = 37;
58
69
  /**
59
70
  * Keycode for UP key.
60
71
  */
61
- export const UP: 38;
72
+ export declare const UP = 38;
62
73
  /**
63
74
  * Keycode for RIGHT key.
64
75
  */
65
- export const RIGHT: 39;
76
+ export declare const RIGHT = 39;
66
77
  /**
67
78
  * Keycode for DOWN key.
68
79
  */
69
- export const DOWN: 40;
80
+ export declare const DOWN = 40;
70
81
  /**
71
82
  * Keycode for DELETE key.
72
83
  */
73
- export const DELETE: 46;
84
+ export declare const DELETE = 46;
74
85
  /**
75
86
  * Keycode for F10 key.
76
87
  */
77
- export const F10: 121;
88
+ export declare const F10 = 121;
78
89
  /**
79
90
  * Keycode for ALT key.
80
91
  */
81
- export const ALT: "alt";
92
+ export declare const ALT = "alt";
82
93
  /**
83
94
  * Keycode for CTRL key.
84
95
  */
85
- export const CTRL: "ctrl";
96
+ export declare const CTRL = "ctrl";
86
97
  /**
87
98
  * Keycode for COMMAND/META key.
88
99
  */
89
- export const COMMAND: "meta";
100
+ export declare const COMMAND = "meta";
90
101
  /**
91
102
  * Keycode for SHIFT key.
92
103
  */
93
- export const SHIFT: "shift";
104
+ export declare const SHIFT = "shift";
94
105
  /**
95
106
  * Keycode for ZERO key.
96
107
  */
97
- export const ZERO: 48;
108
+ export declare const ZERO = 48;
98
109
  export { isAppleOS };
99
110
  /**
100
111
  * Object that contains functions that return the available modifier
101
112
  * depending on platform.
102
- *
103
- * @type {WPModifierHandler< ( isApple: () => boolean ) => WPModifierPart[]>}
104
113
  */
105
- export const modifiers: WPModifierHandler<(isApple: () => boolean) => WPModifierPart[]>;
114
+ export declare const modifiers: WPModifierHandler<WPModifier>;
106
115
  /**
107
116
  * An object that contains functions to get raw shortcuts.
108
117
  *
@@ -114,11 +123,8 @@ export const modifiers: WPModifierHandler<(isApple: () => boolean) => WPModifier
114
123
  * rawShortcut.primary( 'm' )
115
124
  * // "meta+m""
116
125
  * ```
117
- *
118
- * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to raw
119
- * shortcuts.
120
126
  */
121
- export const rawShortcut: WPModifierHandler<WPKeyHandler<string>>;
127
+ export declare const rawShortcut: WPModifierHandler<WPKeyHandler<string>>;
122
128
  /**
123
129
  * Return an array of the parts of a keyboard shortcut chord for display.
124
130
  *
@@ -129,10 +135,9 @@ export const rawShortcut: WPModifierHandler<WPKeyHandler<string>>;
129
135
  * // [ "⌘", "M" ]
130
136
  * ```
131
137
  *
132
- * @type {WPModifierHandler<WPKeyHandler<string[]>>} Keyed map of functions to
133
- * shortcut sequences.
138
+ * Keyed map of functions to shortcut sequences.
134
139
  */
135
- export const displayShortcutList: WPModifierHandler<WPKeyHandler<string[]>>;
140
+ export declare const displayShortcutList: WPModifierHandler<WPKeyHandler<string[]>>;
136
141
  /**
137
142
  * An object that contains functions to display shortcuts.
138
143
  *
@@ -143,10 +148,9 @@ export const displayShortcutList: WPModifierHandler<WPKeyHandler<string[]>>;
143
148
  * // "⌘M"
144
149
  * ```
145
150
  *
146
- * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
147
- * display shortcuts.
151
+ * Keyed map of functions to display shortcuts.
148
152
  */
149
- export const displayShortcut: WPModifierHandler<WPKeyHandler<string>>;
153
+ export declare const displayShortcut: WPModifierHandler<WPKeyHandler<string>>;
150
154
  /**
151
155
  * An object that contains functions to return an aria label for a keyboard
152
156
  * shortcut.
@@ -158,10 +162,9 @@ export const displayShortcut: WPModifierHandler<WPKeyHandler<string>>;
158
162
  * // "Command + Period"
159
163
  * ```
160
164
  *
161
- * @type {WPModifierHandler<WPKeyHandler<string>>} Keyed map of functions to
162
- * shortcut ARIA labels.
165
+ * Keyed map of functions to shortcut ARIA labels.
163
166
  */
164
- export const shortcutAriaLabel: WPModifierHandler<WPKeyHandler<string>>;
167
+ export declare const shortcutAriaLabel: WPModifierHandler<WPKeyHandler<string>>;
165
168
  /**
166
169
  * An object that contains functions to check if a keyboard event matches a
167
170
  * predefined shortcut combination.
@@ -173,19 +176,7 @@ export const shortcutAriaLabel: WPModifierHandler<WPKeyHandler<string>>;
173
176
  * // true
174
177
  * ```
175
178
  *
176
- * @type {WPModifierHandler<WPEventKeyHandler>} Keyed map of functions
177
- * to match events.
178
- */
179
- export const isKeyboardEvent: WPModifierHandler<WPEventKeyHandler>;
180
- export type WPModifierPart = typeof ALT | "ctrl" | "meta" | "shift";
181
- export type WPKeycodeModifier = "primary" | "primaryShift" | "primaryAlt" | "secondary" | "access" | "ctrl" | "alt" | "ctrlShift" | "shift" | "shiftAlt" | "undefined";
182
- /**
183
- * An object of handler functions for each of the possible modifier
184
- * combinations. A handler will return a value for a given key.
179
+ * Keyed map of functions to match events.
185
180
  */
186
- export type WPModifierHandler<T> = Record<WPKeycodeModifier, T>;
187
- export type WPKeyHandler<T> = (character: string, isApple?: () => boolean) => T;
188
- export type WPEventKeyHandler = (event: import("react").KeyboardEvent<HTMLElement> | KeyboardEvent, character: string, isApple?: () => boolean) => boolean;
189
- export type WPModifier = (isApple: () => boolean) => WPModifierPart[];
190
- import { isAppleOS } from './platform';
181
+ export declare const isKeyboardEvent: WPModifierHandler<WPEventKeyHandler>;
191
182
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.js"],"names":[],"mappings":"AAqBA,qEAAqE;AAErE,0KAA0K;AAE1K;;;;;;;GAOG;AAEH;;;;GAIG;AACH,8JAA8J;AAE9J,2EAA2E;AAE3E;;GAEG;AACH,wBAAyB,CAAC,CAAC;AAE3B;;GAEG;AACH,kBAAmB,CAAC,CAAC;AAErB;;GAEG;AACH,oBAAqB,EAAE,CAAC;AAExB;;GAEG;AACH,qBAAsB,EAAE,CAAC;AAEzB;;GAEG;AACH,oBAAqB,EAAE,CAAC;AAExB;;GAEG;AACH,qBAAsB,EAAE,CAAC;AAEzB;;GAEG;AACH,uBAAwB,EAAE,CAAC;AAE3B;;GAEG;AACH,kBAAmB,EAAE,CAAC;AAEtB;;GAEG;AACH,mBAAoB,EAAE,CAAC;AAEvB;;GAEG;AACH,mBAAoB,EAAE,CAAC;AAEvB;;GAEG;AACH,iBAAkB,EAAE,CAAC;AAErB;;GAEG;AACH,oBAAqB,EAAE,CAAC;AAExB;;GAEG;AACH,mBAAoB,EAAE,CAAC;AAEvB;;GAEG;AACH,qBAAsB,EAAE,CAAC;AAEzB;;GAEG;AACH,kBAAmB,GAAG,CAAC;AAEvB;;GAEG;AACH,kBAAmB,KAAK,CAAC;AAEzB;;GAEG;AACH,mBAAoB,MAAM,CAAC;AAE3B;;GAEG;AACH,sBAAuB,MAAM,CAAC;AAE9B;;GAEG;AACH,oBAAqB,OAAO,CAAC;AAE7B;;GAEG;AACH,mBAAoB,EAAE,CAAC;;AAkCvB;;;;;GAKG;AACH,wBAFU,iBAAiB,CAAE,CAAE,OAAO,EAAE,MAAM,OAAO,KAAM,cAAc,EAAE,CAAC,CAiB1E;AAEF;;;;;;;;;;;;;;GAcG;AACH,0BAHU,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAc5C;AAEL;;;;;;;;;;;;GAYG;AACH,kCAHU,iBAAiB,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAiC9C;AAEL;;;;;;;;;;;;GAYG;AACH,8BAHU,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAa9C;AAEH;;;;;;;;;;;;;GAaG;AACH,gCAHU,iBAAiB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAiC5C;AA0BL;;;;;;;;;;;;;GAaG;AACH,8BAHU,iBAAiB,CAAC,iBAAiB,CAAC,CA+DzC;6BAnaS,OAAO,GAAG,4BAAyB;gCAEnC,SAAS,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,WAAW;;;;;8BAMvI,CAAC,IAED,MAAM,CAAC,iBAAiB,EAAE,CAAC,CAAC;yBAI5B,CAAC,IAED,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;gCAEhD,CAAC,KAAK,EAAE,OAAO,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,OAAO,KAAK,OAAO;yBAE1H,CAAE,OAAO,EAAE,MAAM,OAAO,KAAM,cAAc,EAAE;0BAtBlC,YAAY"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Return true if platform is MacOS.
3
3
  *
4
- * @param {Window?} _window window object by default; used for DI testing.
4
+ * @param _window window object by default; used for DI testing.
5
5
  *
6
- * @return {boolean} True if MacOS; false otherwise.
6
+ * @return True if MacOS; false otherwise.
7
7
  */
8
- export function isAppleOS(_window?: Window | null): boolean;
8
+ export declare function isAppleOS(_window?: Window): boolean;
9
9
  //# sourceMappingURL=platform.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oCAJW,MAAM,OAAC,GAEN,OAAO,CAiBlB"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAE,OAAO,CAAC,EAAE,MAAM,GAAI,OAAO,CAerD"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/keycodes",
3
- "version": "4.27.1-next.46f643fa0.0",
3
+ "version": "4.28.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",
@@ -30,10 +30,10 @@
30
30
  "sideEffects": false,
31
31
  "dependencies": {
32
32
  "@babel/runtime": "7.25.7",
33
- "@wordpress/i18n": "^6.0.1-next.46f643fa0.0"
33
+ "@wordpress/i18n": "^6.1.0"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "17e600e091675c5e3d809adfea23ac456bbeae19"
38
+ "gitHead": "28cc2098f5ee28f89096b638533796538f495f72"
39
39
  }