@wordpress/keycodes 3.19.0 → 3.21.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 CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## Unreleased
4
4
 
5
+ ## 3.21.0 (2022-11-02)
6
+
7
+ ## 3.20.0 (2022-10-19)
8
+
5
9
  ## 3.19.0 (2022-10-05)
6
10
 
7
11
  ## 3.18.0 (2022-09-21)
package/build/index.js CHANGED
@@ -275,7 +275,7 @@ const displayShortcutList = (0, _lodash.mapValues)(modifiers, modifier => {
275
275
  // see: https://github.com/blakeembrey/change-case#options
276
276
 
277
277
  const capitalizedCharacter = (0, _changeCase.capitalCase)(character, {
278
- stripRegexp: /[^A-Z0-9`,\.]/gi
278
+ stripRegexp: /[^A-Z0-9`,\.\\]/gi
279
279
  });
280
280
  return [...modifierKeys, capitalizedCharacter];
281
281
  }
@@ -402,7 +402,9 @@ const isKeyboardEvent = (0, _lodash.mapValues)(modifiers, getModifiers => {
402
402
  let key = event.key.toLowerCase();
403
403
 
404
404
  if (!character) {
405
- return (0, _lodash.includes)(mods, key);
405
+ return mods.includes(
406
+ /** @type {WPModifierPart} */
407
+ key);
406
408
  }
407
409
 
408
410
  if (event.altKey && character.length === 1) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/keycodes/src/index.js"],"names":["BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","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","key","replacementKey","capitalizedCharacter","stripRegexp","displayShortcut","shortcutList","shortcutAriaLabel","map","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","modsDiff","mod","includes","eventModsDiff","length","altKey","String","fromCharCode","keyCode","shiftKey","code"],"mappings":"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","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 * External dependencies\n */\nimport { capitalCase } from 'change-case';\nimport { get, mapValues, includes } from 'lodash';\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: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\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 * 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join( '+' );\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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\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[ COMMAND ]: '⌘',\n\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t};\n\n\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t( accumulator, key ) => {\n\t\t\t\tconst replacementKey = get( replacementKeyMap, key, key );\n\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\tif ( isApple ) {\n\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t}\n\n\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t},\n\t\t\t/** @type {string[]} */ ( [] )\n\t\t);\n\n\t\t// Symbols (`,.) are removed by the default regular expression,\n\t\t// so override the rule to allow symbols used for shortcuts.\n\t\t// see: https://github.com/blakeembrey/change-case#options\n\t\tconst capitalizedCharacter = capitalCase( character, {\n\t\t\tstripRegexp: /[^A-Z0-9`,\\.]/gi,\n\t\t} );\n\n\t\treturn [ ...modifierKeys, capitalizedCharacter ];\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( 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t[ CTRL ]: 'Control',\n\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t/* translators: comma as in the character ',' */\n\t\t\t',': __( 'Comma' ),\n\t\t\t/* translators: period as in the character '.' */\n\t\t\t'.': __( 'Period' ),\n\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t'`': __( 'Backtick' ),\n\t\t};\n\n\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t.map( ( key ) => capitalCase( get( replacementKeyMap, key, key ) ) )\n\t\t\t.join( isApple ? ' ' : ' + ' );\n\t};\n} );\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {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( modifiers, ( getModifiers ) => {\n\treturn /** @type {WPEventKeyHandler} */ (\n\t\tevent,\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst mods = getModifiers( _isApple );\n\t\tconst eventMods = getEventModifiers( event );\n\n\t\tconst modsDiff = mods.filter( ( mod ) => ! eventMods.includes( mod ) );\n\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t( mod ) => ! mods.includes( mod )\n\t\t);\n\n\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet key = event.key.toLowerCase();\n\n\t\tif ( ! character ) {\n\t\t\treturn includes( mods, key );\n\t\t}\n\n\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t}\n\n\t\t// Replace some characters to match the key indicated\n\t\t// by the shortcut on Windows.\n\t\tif ( ! _isApple() ) {\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\tevent.code === 'Comma'\n\t\t\t) {\n\t\t\t\tkey = ',';\n\t\t\t}\n\t\t}\n\n\t\t// For backwards compatibility.\n\t\tif ( character === 'del' ) {\n\t\t\tcharacter = 'delete';\n\t\t}\n\n\t\treturn key === character.toLowerCase();\n\t};\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/keycodes/src/index.js"],"names":["BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","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","key","replacementKey","capitalizedCharacter","stripRegexp","displayShortcut","shortcutList","shortcutAriaLabel","map","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","modsDiff","mod","includes","eventModsDiff","length","altKey","String","fromCharCode","keyCode","shiftKey","code"],"mappings":"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","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 * External dependencies\n */\nimport { capitalCase } from 'change-case';\nimport { get, mapValues } from 'lodash';\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: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\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 * 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join( '+' );\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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\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[ COMMAND ]: '⌘',\n\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t};\n\n\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t( accumulator, key ) => {\n\t\t\t\tconst replacementKey = get( replacementKeyMap, key, key );\n\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\tif ( isApple ) {\n\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t}\n\n\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t},\n\t\t\t/** @type {string[]} */ ( [] )\n\t\t);\n\n\t\t// Symbols (`,.) are removed by the default regular expression,\n\t\t// so override the rule to allow symbols used for shortcuts.\n\t\t// see: https://github.com/blakeembrey/change-case#options\n\t\tconst capitalizedCharacter = capitalCase( character, {\n\t\t\tstripRegexp: /[^A-Z0-9`,\\.\\\\]/gi,\n\t\t} );\n\n\t\treturn [ ...modifierKeys, capitalizedCharacter ];\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( 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t[ CTRL ]: 'Control',\n\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t/* translators: comma as in the character ',' */\n\t\t\t',': __( 'Comma' ),\n\t\t\t/* translators: period as in the character '.' */\n\t\t\t'.': __( 'Period' ),\n\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t'`': __( 'Backtick' ),\n\t\t};\n\n\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t.map( ( key ) => capitalCase( get( replacementKeyMap, key, key ) ) )\n\t\t\t.join( isApple ? ' ' : ' + ' );\n\t};\n} );\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {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( modifiers, ( getModifiers ) => {\n\treturn /** @type {WPEventKeyHandler} */ (\n\t\tevent,\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst mods = getModifiers( _isApple );\n\t\tconst eventMods = getEventModifiers( event );\n\n\t\tconst modsDiff = mods.filter( ( mod ) => ! eventMods.includes( mod ) );\n\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t( mod ) => ! mods.includes( mod )\n\t\t);\n\n\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet key = event.key.toLowerCase();\n\n\t\tif ( ! character ) {\n\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t}\n\n\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t}\n\n\t\t// Replace some characters to match the key indicated\n\t\t// by the shortcut on Windows.\n\t\tif ( ! _isApple() ) {\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\tevent.code === 'Comma'\n\t\t\t) {\n\t\t\t\tkey = ',';\n\t\t\t}\n\t\t}\n\n\t\t// For backwards compatibility.\n\t\tif ( character === 'del' ) {\n\t\t\tcharacter = 'delete';\n\t\t}\n\n\t\treturn key === character.toLowerCase();\n\t};\n} );\n"]}
package/build/platform.js CHANGED
@@ -5,12 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isAppleOS = isAppleOS;
7
7
 
8
- var _lodash = require("lodash");
9
-
10
- /**
11
- * External dependencies
12
- */
13
-
14
8
  /**
15
9
  * Return true if platform is MacOS.
16
10
  *
@@ -32,6 +26,6 @@ function isAppleOS() {
32
26
  const {
33
27
  platform
34
28
  } = _window.navigator;
35
- return platform.indexOf('Mac') !== -1 || (0, _lodash.includes)(['iPad', 'iPhone'], platform);
29
+ return platform.indexOf('Mac') !== -1 || ['iPad', 'iPhone'].includes(platform);
36
30
  }
37
31
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/keycodes/src/platform.js"],"names":["isAppleOS","_window","window","platform","navigator","indexOf"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAAT,GAAqC;AAAA,MAAjBC,OAAiB,uEAAP,IAAO;;AAC3C,MAAK,CAAEA,OAAP,EAAiB;AAChB,QAAK,OAAOC,MAAP,KAAkB,WAAvB,EAAqC;AACpC,aAAO,KAAP;AACA;;AAEDD,IAAAA,OAAO,GAAGC,MAAV;AACA;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAeF,OAAO,CAACG,SAA7B;AAEA,SACCD,QAAQ,CAACE,OAAT,CAAkB,KAAlB,MAA8B,CAAC,CAA/B,IACA,sBAAU,CAAE,MAAF,EAAU,QAAV,CAAV,EAAgCF,QAAhC,CAFD;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\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\tincludes( [ 'iPad', 'iPhone' ], platform )\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/keycodes/src/platform.js"],"names":["isAppleOS","_window","window","platform","navigator","indexOf","includes"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASA,SAAT,GAAqC;AAAA,MAAjBC,OAAiB,uEAAP,IAAO;;AAC3C,MAAK,CAAEA,OAAP,EAAiB;AAChB,QAAK,OAAOC,MAAP,KAAkB,WAAvB,EAAqC;AACpC,aAAO,KAAP;AACA;;AAEDD,IAAAA,OAAO,GAAGC,MAAV;AACA;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAeF,OAAO,CAACG,SAA7B;AAEA,SACCD,QAAQ,CAACE,OAAT,CAAkB,KAAlB,MAA8B,CAAC,CAA/B,IACA,CAAE,MAAF,EAAU,QAAV,EAAqBC,QAArB,CAA+BH,QAA/B,CAFD;AAIA","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"]}
@@ -13,7 +13,7 @@
13
13
  * External dependencies
14
14
  */
15
15
  import { capitalCase } from 'change-case';
16
- import { get, mapValues, includes } from 'lodash';
16
+ import { get, mapValues } from 'lodash';
17
17
  /**
18
18
  * WordPress dependencies
19
19
  */
@@ -236,7 +236,7 @@ export const displayShortcutList = mapValues(modifiers, modifier => {
236
236
  // see: https://github.com/blakeembrey/change-case#options
237
237
 
238
238
  const capitalizedCharacter = capitalCase(character, {
239
- stripRegexp: /[^A-Z0-9`,\.]/gi
239
+ stripRegexp: /[^A-Z0-9`,\.\\]/gi
240
240
  });
241
241
  return [...modifierKeys, capitalizedCharacter];
242
242
  }
@@ -359,7 +359,9 @@ export const isKeyboardEvent = mapValues(modifiers, getModifiers => {
359
359
  let key = event.key.toLowerCase();
360
360
 
361
361
  if (!character) {
362
- return includes(mods, key);
362
+ return mods.includes(
363
+ /** @type {WPModifierPart} */
364
+ key);
363
365
  }
364
366
 
365
367
  if (event.altKey && character.length === 1) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/keycodes/src/index.js"],"names":["capitalCase","get","mapValues","includes","__","isAppleOS","BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","key","replacementKey","capitalizedCharacter","stripRegexp","displayShortcut","shortcutList","shortcutAriaLabel","map","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","modsDiff","mod","eventModsDiff","length","altKey","String","fromCharCode","keyCode","shiftKey","code"],"mappings":"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","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 * External dependencies\n */\nimport { capitalCase } from 'change-case';\nimport { get, mapValues, includes } from 'lodash';\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: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\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 * 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join( '+' );\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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\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[ COMMAND ]: '⌘',\n\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t};\n\n\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t( accumulator, key ) => {\n\t\t\t\tconst replacementKey = get( replacementKeyMap, key, key );\n\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\tif ( isApple ) {\n\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t}\n\n\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t},\n\t\t\t/** @type {string[]} */ ( [] )\n\t\t);\n\n\t\t// Symbols (`,.) are removed by the default regular expression,\n\t\t// so override the rule to allow symbols used for shortcuts.\n\t\t// see: https://github.com/blakeembrey/change-case#options\n\t\tconst capitalizedCharacter = capitalCase( character, {\n\t\t\tstripRegexp: /[^A-Z0-9`,\\.]/gi,\n\t\t} );\n\n\t\treturn [ ...modifierKeys, capitalizedCharacter ];\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( 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t[ CTRL ]: 'Control',\n\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t/* translators: comma as in the character ',' */\n\t\t\t',': __( 'Comma' ),\n\t\t\t/* translators: period as in the character '.' */\n\t\t\t'.': __( 'Period' ),\n\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t'`': __( 'Backtick' ),\n\t\t};\n\n\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t.map( ( key ) => capitalCase( get( replacementKeyMap, key, key ) ) )\n\t\t\t.join( isApple ? ' ' : ' + ' );\n\t};\n} );\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {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( modifiers, ( getModifiers ) => {\n\treturn /** @type {WPEventKeyHandler} */ (\n\t\tevent,\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst mods = getModifiers( _isApple );\n\t\tconst eventMods = getEventModifiers( event );\n\n\t\tconst modsDiff = mods.filter( ( mod ) => ! eventMods.includes( mod ) );\n\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t( mod ) => ! mods.includes( mod )\n\t\t);\n\n\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet key = event.key.toLowerCase();\n\n\t\tif ( ! character ) {\n\t\t\treturn includes( mods, key );\n\t\t}\n\n\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t}\n\n\t\t// Replace some characters to match the key indicated\n\t\t// by the shortcut on Windows.\n\t\tif ( ! _isApple() ) {\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\tevent.code === 'Comma'\n\t\t\t) {\n\t\t\t\tkey = ',';\n\t\t\t}\n\t\t}\n\n\t\t// For backwards compatibility.\n\t\tif ( character === 'del' ) {\n\t\t\tcharacter = 'delete';\n\t\t}\n\n\t\treturn key === character.toLowerCase();\n\t};\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/keycodes/src/index.js"],"names":["capitalCase","get","mapValues","__","isAppleOS","BACKSPACE","TAB","ENTER","ESCAPE","SPACE","PAGEUP","PAGEDOWN","END","HOME","LEFT","UP","RIGHT","DOWN","DELETE","F10","ALT","CTRL","COMMAND","SHIFT","ZERO","modifiers","primary","_isApple","primaryShift","primaryAlt","secondary","access","ctrl","alt","ctrlShift","shift","shiftAlt","undefined","rawShortcut","modifier","character","toLowerCase","join","displayShortcutList","isApple","replacementKeyMap","modifierKeys","reduce","accumulator","key","replacementKey","capitalizedCharacter","stripRegexp","displayShortcut","shortcutList","shortcutAriaLabel","map","getEventModifiers","event","filter","isKeyboardEvent","getModifiers","mods","eventMods","modsDiff","mod","includes","eventModsDiff","length","altKey","String","fromCharCode","keyCode","shiftKey","code"],"mappings":"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","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 * External dependencies\n */\nimport { capitalCase } from 'change-case';\nimport { get, mapValues } from 'lodash';\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: KeyboardEvent, character: string, isApple?: () => boolean) => boolean} WPEventKeyHandler */\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 * 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\treturn [ ...modifier( _isApple ), character.toLowerCase() ].join( '+' );\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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string[]>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ ALT ]: isApple ? '⌥' : 'Alt',\n\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[ COMMAND ]: '⌘',\n\t\t\t[ SHIFT ]: isApple ? '⇧' : 'Shift',\n\t\t};\n\n\t\tconst modifierKeys = modifier( _isApple ).reduce(\n\t\t\t( accumulator, key ) => {\n\t\t\t\tconst replacementKey = get( replacementKeyMap, key, key );\n\t\t\t\t// If on the Mac, adhere to platform convention and don't show plus between keys.\n\t\t\t\tif ( isApple ) {\n\t\t\t\t\treturn [ ...accumulator, replacementKey ];\n\t\t\t\t}\n\n\t\t\t\treturn [ ...accumulator, replacementKey, '+' ];\n\t\t\t},\n\t\t\t/** @type {string[]} */ ( [] )\n\t\t);\n\n\t\t// Symbols (`,.) are removed by the default regular expression,\n\t\t// so override the rule to allow symbols used for shortcuts.\n\t\t// see: https://github.com/blakeembrey/change-case#options\n\t\tconst capitalizedCharacter = capitalCase( character, {\n\t\t\tstripRegexp: /[^A-Z0-9`,\\.\\\\]/gi,\n\t\t} );\n\n\t\treturn [ ...modifierKeys, capitalizedCharacter ];\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( 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( modifiers, ( modifier ) => {\n\treturn /** @type {WPKeyHandler<string>} */ (\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst isApple = _isApple();\n\t\tconst replacementKeyMap = {\n\t\t\t[ SHIFT ]: 'Shift',\n\t\t\t[ COMMAND ]: isApple ? 'Command' : 'Control',\n\t\t\t[ CTRL ]: 'Control',\n\t\t\t[ ALT ]: isApple ? 'Option' : 'Alt',\n\t\t\t/* translators: comma as in the character ',' */\n\t\t\t',': __( 'Comma' ),\n\t\t\t/* translators: period as in the character '.' */\n\t\t\t'.': __( 'Period' ),\n\t\t\t/* translators: backtick as in the character '`' */\n\t\t\t'`': __( 'Backtick' ),\n\t\t};\n\n\t\treturn [ ...modifier( _isApple ), character ]\n\t\t\t.map( ( key ) => capitalCase( get( replacementKeyMap, key, key ) ) )\n\t\t\t.join( isApple ? ' ' : ' + ' );\n\t};\n} );\n\n/**\n * From a given KeyboardEvent, returns an array of active modifier constants for\n * the event.\n *\n * @param {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( modifiers, ( getModifiers ) => {\n\treturn /** @type {WPEventKeyHandler} */ (\n\t\tevent,\n\t\tcharacter,\n\t\t_isApple = isAppleOS\n\t) => {\n\t\tconst mods = getModifiers( _isApple );\n\t\tconst eventMods = getEventModifiers( event );\n\n\t\tconst modsDiff = mods.filter( ( mod ) => ! eventMods.includes( mod ) );\n\t\tconst eventModsDiff = eventMods.filter(\n\t\t\t( mod ) => ! mods.includes( mod )\n\t\t);\n\n\t\tif ( modsDiff.length > 0 || eventModsDiff.length > 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tlet key = event.key.toLowerCase();\n\n\t\tif ( ! character ) {\n\t\t\treturn mods.includes( /** @type {WPModifierPart} */ ( key ) );\n\t\t}\n\n\t\tif ( event.altKey && character.length === 1 ) {\n\t\t\tkey = String.fromCharCode( event.keyCode ).toLowerCase();\n\t\t}\n\n\t\t// Replace some characters to match the key indicated\n\t\t// by the shortcut on Windows.\n\t\tif ( ! _isApple() ) {\n\t\t\tif (\n\t\t\t\tevent.shiftKey &&\n\t\t\t\tcharacter.length === 1 &&\n\t\t\t\tevent.code === 'Comma'\n\t\t\t) {\n\t\t\t\tkey = ',';\n\t\t\t}\n\t\t}\n\n\t\t// For backwards compatibility.\n\t\tif ( character === 'del' ) {\n\t\t\tcharacter = 'delete';\n\t\t}\n\n\t\treturn key === character.toLowerCase();\n\t};\n} );\n"]}
@@ -1,7 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { includes } from 'lodash';
5
1
  /**
6
2
  * Return true if platform is MacOS.
7
3
  *
@@ -9,7 +5,6 @@ import { includes } from 'lodash';
9
5
  *
10
6
  * @return {boolean} True if MacOS; false otherwise.
11
7
  */
12
-
13
8
  export function isAppleOS() {
14
9
  let _window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
15
10
 
@@ -24,6 +19,6 @@ export function isAppleOS() {
24
19
  const {
25
20
  platform
26
21
  } = _window.navigator;
27
- return platform.indexOf('Mac') !== -1 || includes(['iPad', 'iPhone'], platform);
22
+ return platform.indexOf('Mac') !== -1 || ['iPad', 'iPhone'].includes(platform);
28
23
  }
29
24
  //# sourceMappingURL=platform.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/keycodes/src/platform.js"],"names":["includes","isAppleOS","_window","window","platform","navigator","indexOf"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,QAAzB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,SAAT,GAAqC;AAAA,MAAjBC,OAAiB,uEAAP,IAAO;;AAC3C,MAAK,CAAEA,OAAP,EAAiB;AAChB,QAAK,OAAOC,MAAP,KAAkB,WAAvB,EAAqC;AACpC,aAAO,KAAP;AACA;;AAEDD,IAAAA,OAAO,GAAGC,MAAV;AACA;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAeF,OAAO,CAACG,SAA7B;AAEA,SACCD,QAAQ,CAACE,OAAT,CAAkB,KAAlB,MAA8B,CAAC,CAA/B,IACAN,QAAQ,CAAE,CAAE,MAAF,EAAU,QAAV,CAAF,EAAwBI,QAAxB,CAFT;AAIA","sourcesContent":["/**\n * External dependencies\n */\nimport { includes } from 'lodash';\n\n/**\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\tincludes( [ 'iPad', 'iPhone' ], platform )\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/keycodes/src/platform.js"],"names":["isAppleOS","_window","window","platform","navigator","indexOf","includes"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,SAAT,GAAqC;AAAA,MAAjBC,OAAiB,uEAAP,IAAO;;AAC3C,MAAK,CAAEA,OAAP,EAAiB;AAChB,QAAK,OAAOC,MAAP,KAAkB,WAAvB,EAAqC;AACpC,aAAO,KAAP;AACA;;AAEDD,IAAAA,OAAO,GAAGC,MAAV;AACA;;AAED,QAAM;AAAEC,IAAAA;AAAF,MAAeF,OAAO,CAACG,SAA7B;AAEA,SACCD,QAAQ,CAACE,OAAT,CAAkB,KAAlB,MAA8B,CAAC,CAA/B,IACA,CAAE,MAAF,EAAU,QAAV,EAAqBC,QAArB,CAA+BH,QAA/B,CAFD;AAIA","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"]}
@@ -1 +1 @@
1
- {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.js"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,oCAJW,MAAM,UAEL,OAAO,CAiBlB"}
1
+ {"version":3,"file":"platform.d.ts","sourceRoot":"","sources":["../src/platform.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,oCAJW,MAAM,UAEL,OAAO,CAiBlB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/keycodes",
3
- "version": "3.19.0",
3
+ "version": "3.21.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,12 +28,12 @@
28
28
  "sideEffects": false,
29
29
  "dependencies": {
30
30
  "@babel/runtime": "^7.16.0",
31
- "@wordpress/i18n": "^4.19.0",
31
+ "@wordpress/i18n": "^4.21.0",
32
32
  "change-case": "^4.1.2",
33
33
  "lodash": "^4.17.21"
34
34
  },
35
35
  "publishConfig": {
36
36
  "access": "public"
37
37
  },
38
- "gitHead": "8d42d2febb7d0ba8372a33e560a62f5a5f6a9112"
38
+ "gitHead": "511f4cc1f0138641bc4394bc1cf36e833109c791"
39
39
  }
package/src/index.js CHANGED
@@ -13,7 +13,7 @@
13
13
  * External dependencies
14
14
  */
15
15
  import { capitalCase } from 'change-case';
16
- import { get, mapValues, includes } from 'lodash';
16
+ import { get, mapValues } from 'lodash';
17
17
 
18
18
  /**
19
19
  * WordPress dependencies
@@ -237,7 +237,7 @@ export const displayShortcutList = mapValues( modifiers, ( modifier ) => {
237
237
  // so override the rule to allow symbols used for shortcuts.
238
238
  // see: https://github.com/blakeembrey/change-case#options
239
239
  const capitalizedCharacter = capitalCase( character, {
240
- stripRegexp: /[^A-Z0-9`,\.]/gi,
240
+ stripRegexp: /[^A-Z0-9`,\.\\]/gi,
241
241
  } );
242
242
 
243
243
  return [ ...modifierKeys, capitalizedCharacter ];
@@ -365,7 +365,7 @@ export const isKeyboardEvent = mapValues( modifiers, ( getModifiers ) => {
365
365
  let key = event.key.toLowerCase();
366
366
 
367
367
  if ( ! character ) {
368
- return includes( mods, key );
368
+ return mods.includes( /** @type {WPModifierPart} */ ( key ) );
369
369
  }
370
370
 
371
371
  if ( event.altKey && character.length === 1 ) {
package/src/platform.js CHANGED
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { includes } from 'lodash';
5
-
6
1
  /**
7
2
  * Return true if platform is MacOS.
8
3
  *
@@ -23,6 +18,6 @@ export function isAppleOS( _window = null ) {
23
18
 
24
19
  return (
25
20
  platform.indexOf( 'Mac' ) !== -1 ||
26
- includes( [ 'iPad', 'iPhone' ], platform )
21
+ [ 'iPad', 'iPhone' ].includes( platform )
27
22
  );
28
23
  }
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/no-case/dist/index.d.ts","../../node_modules/pascal-case/dist/index.d.ts","../../node_modules/camel-case/dist/index.d.ts","../../node_modules/capital-case/dist/index.d.ts","../../node_modules/constant-case/dist/index.d.ts","../../node_modules/dot-case/dist/index.d.ts","../../node_modules/header-case/dist/index.d.ts","../../node_modules/param-case/dist/index.d.ts","../../node_modules/path-case/dist/index.d.ts","../../node_modules/sentence-case/dist/index.d.ts","../../node_modules/snake-case/dist/index.d.ts","../../node_modules/change-case/dist/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../i18n/build-types/sprintf.d.ts","../hooks/build-types/createaddhook.d.ts","../hooks/build-types/createremovehook.d.ts","../hooks/build-types/createhashook.d.ts","../hooks/build-types/createdoinghook.d.ts","../hooks/build-types/createdidhook.d.ts","../hooks/build-types/index.d.ts","../hooks/build-types/createhooks.d.ts","../i18n/build-types/create-i18n.d.ts","../i18n/build-types/default-i18n.d.ts","../i18n/build-types/index.d.ts","./src/platform.js","./src/index.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"b4e123af1af6049685c93073a15868b50aebdad666d422edc72fa2b585fa8a37","f86c04a744ebcede96bac376f9a2c90f2bd3c422740d91dda4ca6233199d4977","6ae1bddee5c790439bd992abd063b9b46e0cadd676c2a8562268d1869213ff60","606244fc97a6a74b877f2e924ba7e55b233bc6acb57d7bf40ba84a5be2d9adb0","4a1cabac71036b8a14f5db1b753b579f0c901c7d7b9227e6872dadf6efb104e8","062959a1d825b96639d87be35fe497cbd3f89544bf06fdad577bbfb85fcf604c","4c3672dc8f4e4fdd3d18525b22b31f1b5481f5a415db96550d3ac5163a6c3dd3","f9a69ca445010b91fe08f08c06e0f86d79c0d776905f9bdb828477cb2a1eb7fc","ad7fd0e7ee457d4884b3aaecbcbd2a80b6803407c4ce2540c296170d4c7918ef","a50ef21605f41c6acad6c3ef0307e5311b94963c846ca093c764b80cdb5318d6","74b4035dd26d09a417c44ca23ab5ee69b173f8c2f6b2e47350ab0795cf2d4a17","918f86ee2b19cc38cb8b1a4cf8f223eb228aaa39df3604c42f700fac2f0b3ea1","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"762bc52248d3fab9873c7af564caf622358312cb35de42a4393b71cc36e14621","d02ec79cefaf292fae64b3be5a4416e64b4e420a6429fd458fac6e1bb4c7950e","27abed653f600ea0d5c86e94181beb42824e0f3f16337e2f9e7e9e9c2c392edf","d7871e0e653aa7197fee88886db5678bee6d42164c1f36e4bce9421ddfa7ca49","11ed10bdb3bcc99893570507eac8fece4840add97ee1d4f5a7fbf41cbfdea0d4","429fb571d3db07d3eaa2e74d43eb4190ece3e0de832ed564aeeaf08873e598eb","406d52bf33d618d846aa0d831ee004290567e328edcd4517bbff2937cc977abf","d3060e0810fc0d0dc009e6f086ef413d3c8aeaaf07da25c8d25fd4e181646acf","c0306658efb85764bb6d8d55097007c68a70539b24d0e18fb6edd6eb1778f632","08f7e6ffa66c66a636aecc5acbeb998215d9d09ccba0c558afb7df7e218edeaf","f829eb39aea4487f0ff94a42c56a1a73bc5202bbdeb03f7a638e4ab3e290d017","75daf26e18c08e0a3c298e7f11d4c7bcbe758c7cded880114bffcd3e65b0c8f8","d71e0217d4e8cbbf2da0865ac6538ea3062f27547410720bbbcb08a36554613f"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[57,59,60,61,62,63,64,65,66,67,68,69],[57,58,60,61,62,63,64,65,66,67,68,69],[58,59,60,61,62,63,64,65,66,67,68,69],[57,58,59,61,62,63,64,65,66,67,68,69],[57,58,59,60,62,63,64,65,66,67,68,69],[57,58,59,60,61,63,64,65,66,67,68,69],[57,58,59,60,61,62,64,65,66,67,68,69],[57,58,59,60,61,62,63,65,66,67,68,69],[57,58,59,60,61,62,63,64,66,67,68,69],[57,58,59,60,61,62,63,64,65,67,68,69],[57,58,59,60,61,62,63,64,65,66,68,69],[57,58,59,60,61,62,63,64,65,66,67,69],[57,58,59,60,61,62,63,64,65,66,67,68],[46],[45],[45,46,47,48,49,50,51,52,53,54,55],[48],[50],[76],[71,72,73,74,75,76],[71,72,73,74,75,77],[76,77],[78],[70,78,79],[56,69,80,81],[69]],"referencedMap":[[58,1],[59,2],[57,3],[60,4],[61,5],[62,6],[63,7],[64,8],[65,9],[66,10],[67,11],[68,12],[69,13],[47,14],[48,15],[56,16],[49,15],[50,15],[51,17],[52,18],[46,15],[53,18],[54,15],[55,18],[71,19],[75,19],[74,19],[73,19],[77,20],[72,19],[76,21],[78,22],[79,23],[80,24],[82,25],[81,26]],"exportedModulesMap":[[58,1],[59,2],[57,3],[60,4],[61,5],[62,6],[63,7],[64,8],[65,9],[66,10],[67,11],[68,12],[69,13],[47,14],[48,15],[56,16],[49,15],[50,15],[51,17],[52,18],[46,15],[53,18],[54,15],[55,18],[71,19],[75,19],[74,19],[73,19],[77,20],[72,19],[76,21],[78,22],[79,23],[80,24],[82,25],[81,26]],"semanticDiagnosticsPerFile":[58,59,57,60,61,62,63,64,65,66,67,68,69,47,48,56,49,50,51,45,52,46,53,54,55,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,71,75,74,73,77,72,76,78,79,80,70,82,81]},"version":"4.4.2"}
1
+ {"program":{"fileNames":["../../node_modules/typescript/lib/lib.es5.d.ts","../../node_modules/typescript/lib/lib.es2015.d.ts","../../node_modules/typescript/lib/lib.es2016.d.ts","../../node_modules/typescript/lib/lib.es2017.d.ts","../../node_modules/typescript/lib/lib.es2018.d.ts","../../node_modules/typescript/lib/lib.es2019.d.ts","../../node_modules/typescript/lib/lib.es2020.d.ts","../../node_modules/typescript/lib/lib.es2021.d.ts","../../node_modules/typescript/lib/lib.esnext.d.ts","../../node_modules/typescript/lib/lib.dom.d.ts","../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../node_modules/no-case/dist/index.d.ts","../../node_modules/pascal-case/dist/index.d.ts","../../node_modules/camel-case/dist/index.d.ts","../../node_modules/capital-case/dist/index.d.ts","../../node_modules/constant-case/dist/index.d.ts","../../node_modules/dot-case/dist/index.d.ts","../../node_modules/header-case/dist/index.d.ts","../../node_modules/param-case/dist/index.d.ts","../../node_modules/path-case/dist/index.d.ts","../../node_modules/sentence-case/dist/index.d.ts","../../node_modules/snake-case/dist/index.d.ts","../../node_modules/change-case/dist/index.d.ts","../../node_modules/@types/lodash/common/common.d.ts","../../node_modules/@types/lodash/common/array.d.ts","../../node_modules/@types/lodash/common/collection.d.ts","../../node_modules/@types/lodash/common/date.d.ts","../../node_modules/@types/lodash/common/function.d.ts","../../node_modules/@types/lodash/common/lang.d.ts","../../node_modules/@types/lodash/common/math.d.ts","../../node_modules/@types/lodash/common/number.d.ts","../../node_modules/@types/lodash/common/object.d.ts","../../node_modules/@types/lodash/common/seq.d.ts","../../node_modules/@types/lodash/common/string.d.ts","../../node_modules/@types/lodash/common/util.d.ts","../../node_modules/@types/lodash/index.d.ts","../i18n/build-types/sprintf.d.ts","../hooks/build-types/createAddHook.d.ts","../hooks/build-types/createRemoveHook.d.ts","../hooks/build-types/createHasHook.d.ts","../hooks/build-types/createDoingHook.d.ts","../hooks/build-types/createDidHook.d.ts","../hooks/build-types/index.d.ts","../hooks/build-types/createHooks.d.ts","../i18n/build-types/create-i18n.d.ts","../i18n/build-types/default-i18n.d.ts","../i18n/build-types/index.d.ts","./src/platform.js","./src/index.js"],"fileInfos":[{"version":"aa9fb4c70f369237c2f45f9d969c9a59e0eae9a192962eb48581fe864aa609db","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","eb75e89d63b3b72dd9ca8b0cac801cecae5be352307c004adeaa60bc9d6df51f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"e54c8715a4954cfdc66cd69489f2b725c09ebf37492dbd91cff0a1688b1159e8","affectsGlobalScope":true},{"version":"51b8b27c21c066bf877646e320bf6a722b80d1ade65e686923cd9d4494aef1ca","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"2c8c5ee58f30e7c944e04ab1fb5506fdbb4dd507c9efa6972cf4b91cec90c503","affectsGlobalScope":true},{"version":"2bb4b3927299434052b37851a47bf5c39764f2ba88a888a107b32262e9292b7c","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"df9c8a72ca8b0ed62f5470b41208a0587f0f73f0a7db28e5a1272cf92537518e","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"93544ca2f26a48716c1b6c5091842cad63129daac422dfa4bc52460465f22bb1","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"7435b75fdf3509622e79622dbe5091cf4b09688410ee2034e4fc17d0c99d0862","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"9f1817f7c3f02f6d56e0f403b927e90bb133f371dcebc36fa7d6d208ef6899da","affectsGlobalScope":true},{"version":"cd6efb9467a8b6338ece2e2855e37765700f2cd061ca54b01b33878cf5c7677e","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"4632665b87204bb1caa8b44d165bce0c50dfab177df5b561b345a567cabacf9a","affectsGlobalScope":true},"b4e123af1af6049685c93073a15868b50aebdad666d422edc72fa2b585fa8a37","f86c04a744ebcede96bac376f9a2c90f2bd3c422740d91dda4ca6233199d4977","6ae1bddee5c790439bd992abd063b9b46e0cadd676c2a8562268d1869213ff60","606244fc97a6a74b877f2e924ba7e55b233bc6acb57d7bf40ba84a5be2d9adb0","4a1cabac71036b8a14f5db1b753b579f0c901c7d7b9227e6872dadf6efb104e8","062959a1d825b96639d87be35fe497cbd3f89544bf06fdad577bbfb85fcf604c","4c3672dc8f4e4fdd3d18525b22b31f1b5481f5a415db96550d3ac5163a6c3dd3","f9a69ca445010b91fe08f08c06e0f86d79c0d776905f9bdb828477cb2a1eb7fc","ad7fd0e7ee457d4884b3aaecbcbd2a80b6803407c4ce2540c296170d4c7918ef","a50ef21605f41c6acad6c3ef0307e5311b94963c846ca093c764b80cdb5318d6","74b4035dd26d09a417c44ca23ab5ee69b173f8c2f6b2e47350ab0795cf2d4a17","918f86ee2b19cc38cb8b1a4cf8f223eb228aaa39df3604c42f700fac2f0b3ea1","675e702f2032766a91eeadee64f51014c64688525da99dccd8178f0c599f13a8","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c24ad9be9adf28f0927e3d9d9e9cec1c677022356f241ccbbfb97bfe8fb3d1a1","0ec0998e2d085e8ea54266f547976ae152c9dd6cdb9ac4d8a520a230f5ebae84","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","82251920b05f30981c9a4109cb5f3169dce4b477effc845c6d781044a30e7672","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","3e59f00ab03c33717b3130066d4debb272da90eeded4935ff0604c2bc25a5cae","9fa6b83a35e897f340858995ca5d77e901d89fd18644cd4c9e8a4afe0b2e6363",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"762bc52248d3fab9873c7af564caf622358312cb35de42a4393b71cc36e14621","d02ec79cefaf292fae64b3be5a4416e64b4e420a6429fd458fac6e1bb4c7950e","27abed653f600ea0d5c86e94181beb42824e0f3f16337e2f9e7e9e9c2c392edf","d7871e0e653aa7197fee88886db5678bee6d42164c1f36e4bce9421ddfa7ca49","11ed10bdb3bcc99893570507eac8fece4840add97ee1d4f5a7fbf41cbfdea0d4","429fb571d3db07d3eaa2e74d43eb4190ece3e0de832ed564aeeaf08873e598eb","406d52bf33d618d846aa0d831ee004290567e328edcd4517bbff2937cc977abf","d3060e0810fc0d0dc009e6f086ef413d3c8aeaaf07da25c8d25fd4e181646acf","c0306658efb85764bb6d8d55097007c68a70539b24d0e18fb6edd6eb1778f632","08f7e6ffa66c66a636aecc5acbeb998215d9d09ccba0c558afb7df7e218edeaf","f829eb39aea4487f0ff94a42c56a1a73bc5202bbdeb03f7a638e4ab3e290d017","c813ac99663202e702fe5f635f7ec2d7b20747c57ff0a85a86af0dadac9170e2","086a47fa5528d8e602fc0c1aed0a0dc02417e19e2d81c52e7ba1fa453cc5b010"],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"declarationDir":"./build-types","declarationMap":true,"emitDeclarationOnly":true,"esModuleInterop":false,"importsNotUsedAsValues":2,"jsx":1,"module":99,"noFallthroughCasesInSwitch":true,"noImplicitReturns":true,"noUnusedLocals":true,"noUnusedParameters":true,"rootDir":"./src","strict":true,"target":99},"fileIdsList":[[57,59,60,61,62,63,64,65,66,67,68,69],[57,58,60,61,62,63,64,65,66,67,68,69],[58,59,60,61,62,63,64,65,66,67,68,69],[57,58,59,61,62,63,64,65,66,67,68,69],[57,58,59,60,62,63,64,65,66,67,68,69],[57,58,59,60,61,63,64,65,66,67,68,69],[57,58,59,60,61,62,64,65,66,67,68,69],[57,58,59,60,61,62,63,65,66,67,68,69],[57,58,59,60,61,62,63,64,66,67,68,69],[57,58,59,60,61,62,63,64,65,67,68,69],[57,58,59,60,61,62,63,64,65,66,68,69],[57,58,59,60,61,62,63,64,65,66,67,69],[57,58,59,60,61,62,63,64,65,66,67,68],[46],[45],[45,46,47,48,49,50,51,52,53,54,55],[48],[50],[76],[71,72,73,74,75,76],[71,72,73,74,75,77],[76,77],[78],[70,78,79],[56,69,80,81]],"referencedMap":[[58,1],[59,2],[57,3],[60,4],[61,5],[62,6],[63,7],[64,8],[65,9],[66,10],[67,11],[68,12],[69,13],[47,14],[48,15],[56,16],[49,15],[50,15],[51,17],[52,18],[46,15],[53,18],[54,15],[55,18],[71,19],[75,19],[74,19],[73,19],[77,20],[72,19],[76,21],[78,22],[79,23],[80,24],[82,25]],"exportedModulesMap":[[58,1],[59,2],[57,3],[60,4],[61,5],[62,6],[63,7],[64,8],[65,9],[66,10],[67,11],[68,12],[69,13],[47,14],[48,15],[56,16],[49,15],[50,15],[51,17],[52,18],[46,15],[53,18],[54,15],[55,18],[71,19],[75,19],[74,19],[73,19],[77,20],[72,19],[76,21],[78,22],[79,23],[80,24],[82,25]],"semanticDiagnosticsPerFile":[58,59,57,60,61,62,63,64,65,66,67,68,69,47,48,56,49,50,51,45,52,46,53,54,55,10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,41,42,43,1,9,44,71,75,74,73,77,72,76,78,79,80,70,82,81]},"version":"4.4.2"}