Priority File Manager
📁 public_html
Base Directory:
/home/ecedu/public_html
/home/ecedu/public_html/wp-content/plugins
/home/ecedu/public_html/wp-content
/home/ecedu
/var/www
/var/www/cgi-bin
/var/www/html
public_html
/
wp-includes
/
js
/
dist
/home/ecedu/public_html/wp-includes/js/dist
Name
Type
Size
Actions
📁
..
Folder
-
Delete
Rename
📄
a11y.js
File
8570
Delete
Rename
Edit
Download
📄
a11y.min.js
File
2358
Delete
Rename
Edit
Download
📄
annotations.js
File
23335
Delete
Rename
Edit
Download
📄
annotations.min.js
File
5521
Delete
Rename
Edit
Download
📄
api-fetch.js
File
23874
Delete
Rename
Edit
Download
📄
api-fetch.min.js
File
5838
Delete
Rename
Edit
Download
📄
autop.js
File
15982
Delete
Rename
Edit
Download
📄
autop.min.js
File
5614
Delete
Rename
Edit
Download
📄
blob.js
File
4622
Delete
Rename
Edit
Download
📄
blob.min.js
File
1108
Delete
Rename
Edit
Download
📄
block-directory.js
File
80526
Delete
Rename
Edit
Download
📄
block-directory.min.js
File
20734
Delete
Rename
Edit
Download
📄
block-editor.js
File
2724345
Delete
Rename
Edit
Download
📄
block-editor.min.js
File
865941
Delete
Rename
Edit
Download
📄
block-library.js
File
2232874
Delete
Rename
Edit
Download
📄
block-library.min.js
File
876704
Delete
Rename
Edit
Download
📄
block-serialization-default-parser.js
File
15228
Delete
Rename
Edit
Download
📄
block-serialization-default-parser.min.js
File
2400
Delete
Rename
Edit
Download
📄
blocks.js
File
567313
Delete
Rename
Edit
Download
📄
blocks.min.js
File
173562
Delete
Rename
Edit
Download
📄
commands.js
File
182724
Delete
Rename
Edit
Download
📄
commands.min.js
File
49429
Delete
Rename
Edit
Download
📄
components.js
File
2357667
Delete
Rename
Edit
Download
📄
components.min.js
File
719028
Delete
Rename
Edit
Download
📄
compose.js
File
200300
Delete
Rename
Edit
Download
📄
compose.min.js
File
36853
Delete
Rename
Edit
Download
📄
core-commands.js
File
24398
Delete
Rename
Edit
Download
📄
core-commands.min.js
File
9416
Delete
Rename
Edit
Download
📄
core-data.js
File
267493
Delete
Rename
Edit
Download
📄
core-data.min.js
File
65783
Delete
Rename
Edit
Download
📄
customize-widgets.js
File
97615
Delete
Rename
Edit
Download
📄
customize-widgets.min.js
File
34999
Delete
Rename
Edit
Download
📄
data-controls.js
File
7243
Delete
Rename
Edit
Download
📄
data-controls.min.js
File
1472
Delete
Rename
Edit
Download
📄
data.js
File
144947
Delete
Rename
Edit
Download
📄
data.min.js
File
25596
Delete
Rename
Edit
Download
📄
date.js
File
817573
Delete
Rename
Edit
Download
📄
date.min.js
File
783424
Delete
Rename
Edit
Download
📄
deprecated.js
File
4694
Delete
Rename
Edit
Download
📄
deprecated.min.js
File
684
Delete
Rename
Edit
Download
📁
development
Folder
-
Delete
Rename
📄
dom-ready.js
File
2464
Delete
Rename
Edit
Download
📄
dom-ready.min.js
File
457
Delete
Rename
Edit
Download
📄
dom.js
File
62127
Delete
Rename
Edit
Download
📄
dom.min.js
File
12547
Delete
Rename
Edit
Download
📄
edit-post.js
File
123321
Delete
Rename
Edit
Download
📄
edit-post.min.js
File
42263
Delete
Rename
Edit
Download
📄
edit-site.js
File
1640694
Delete
Rename
Edit
Download
📄
edit-site.min.js
File
641138
Delete
Rename
Edit
Download
📄
edit-widgets.js
File
175604
Delete
Rename
Edit
Download
📄
edit-widgets.min.js
File
58605
Delete
Rename
Edit
Download
📄
editor.js
File
1212327
Delete
Rename
Edit
Download
📄
editor.min.js
File
396996
Delete
Rename
Edit
Download
📄
element.js
File
68130
Delete
Rename
Edit
Download
📄
element.min.js
File
11968
Delete
Rename
Edit
Download
📄
escape-html.js
File
6003
Delete
Rename
Edit
Download
📄
escape-html.min.js
File
1000
Delete
Rename
Edit
Download
📄
format-library.js
File
68467
Delete
Rename
Edit
Download
📄
format-library.min.js
File
22769
Delete
Rename
Edit
Download
📄
hooks.js
File
20687
Delete
Rename
Edit
Download
📄
hooks.min.js
File
4776
Delete
Rename
Edit
Download
📄
html-entities.js
File
3706
Delete
Rename
Edit
Download
📄
html-entities.min.js
File
788
Delete
Rename
Edit
Download
📄
i18n.js
File
49627
Delete
Rename
Edit
Download
📄
i18n.min.js
File
9141
Delete
Rename
Edit
Download
📄
is-shallow-equal.js
File
4287
Delete
Rename
Edit
Download
📄
is-shallow-equal.min.js
File
1018
Delete
Rename
Edit
Download
📄
keyboard-shortcuts.js
File
24479
Delete
Rename
Edit
Download
📄
keyboard-shortcuts.min.js
File
3017
Delete
Rename
Edit
Download
📄
keycodes.js
File
14113
Delete
Rename
Edit
Download
📄
keycodes.min.js
File
2642
Delete
Rename
Edit
Download
📄
list-reusable-blocks.js
File
31355
Delete
Rename
Edit
Download
📄
list-reusable-blocks.min.js
File
4737
Delete
Rename
Edit
Download
📄
media-utils.js
File
31462
Delete
Rename
Edit
Download
📄
media-utils.min.js
File
9968
Delete
Rename
Edit
Download
📄
notices.js
File
21989
Delete
Rename
Edit
Download
📄
notices.min.js
File
2070
Delete
Rename
Edit
Download
📄
nux.js
File
13295
Delete
Rename
Edit
Download
📄
nux.min.js
File
3509
Delete
Rename
Edit
Download
📄
patterns.js
File
64049
Delete
Rename
Edit
Download
📄
patterns.min.js
File
21454
Delete
Rename
Edit
Download
📄
plugins.js
File
18277
Delete
Rename
Edit
Download
📄
plugins.min.js
File
4284
Delete
Rename
Edit
Download
📄
preferences-persistence.js
File
30015
Delete
Rename
Edit
Download
📄
preferences-persistence.min.js
File
5625
Delete
Rename
Edit
Download
📄
preferences.js
File
25641
Delete
Rename
Edit
Download
📄
preferences.min.js
File
7012
Delete
Rename
Edit
Download
📄
primitives.js
File
6720
Delete
Rename
Edit
Download
📄
primitives.min.js
File
1655
Delete
Rename
Edit
Download
📄
priority-queue.js
File
14208
Delete
Rename
Edit
Download
📄
priority-queue.min.js
File
3378
Delete
Rename
Edit
Download
📄
private-apis.js
File
8503
Delete
Rename
Edit
Download
📄
private-apis.min.js
File
2815
Delete
Rename
Edit
Download
📄
redux-routine.js
File
23734
Delete
Rename
Edit
Download
📄
redux-routine.min.js
File
8889
Delete
Rename
Edit
Download
📄
reusable-blocks.js
File
20432
Delete
Rename
Edit
Download
📄
reusable-blocks.min.js
File
6112
Delete
Rename
Edit
Download
📄
rich-text.js
File
120684
Delete
Rename
Edit
Download
📄
rich-text.min.js
File
31005
Delete
Rename
Edit
Download
📄
router.js
File
53261
Delete
Rename
Edit
Download
📄
router.min.js
File
13532
Delete
Rename
Edit
Download
📁
script-modules
Folder
-
Delete
Rename
📄
server-side-render.js
File
14599
Delete
Rename
Edit
Download
📄
server-side-render.min.js
File
4368
Delete
Rename
Edit
Download
📄
shortcode.js
File
14578
Delete
Rename
Edit
Download
📄
shortcode.min.js
File
2900
Delete
Rename
Edit
Download
📄
style-engine.js
File
40004
Delete
Rename
Edit
Download
📄
style-engine.min.js
File
6050
Delete
Rename
Edit
Download
📄
token-list.js
File
6049
Delete
Rename
Edit
Download
📄
token-list.min.js
File
1271
Delete
Rename
Edit
Download
📄
url.js
File
34824
Delete
Rename
Edit
Download
📄
url.min.js
File
8523
Delete
Rename
Edit
Download
📁
vendor
Folder
-
Delete
Rename
📄
viewport.js
File
10465
Delete
Rename
Edit
Download
📄
viewport.min.js
File
1868
Delete
Rename
Edit
Download
📄
warning.js
File
2444
Delete
Rename
Edit
Download
📄
warning.min.js
File
311
Delete
Rename
Edit
Download
📄
widgets.js
File
53737
Delete
Rename
Edit
Download
📄
widgets.min.js
File
20034
Delete
Rename
Edit
Download
📄
wordcount.js
File
14748
Delete
Rename
Edit
Download
📄
wordcount.min.js
File
2480
Delete
Rename
Edit
Download
Upload
Create Folder
📝 Editing:
keyboard-shortcuts.js
Size: 24,479 bytes
Lines: 796
Type: .js
💾 Save
Cancel
✕
/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ // The require scope /******/ var __webpack_require__ = {}; /******/ /************************************************************************/ /******/ /* webpack/runtime/define property getters */ /******/ (() => { /******/ // define getter functions for harmony exports /******/ __webpack_require__.d = (exports, definition) => { /******/ for(var key in definition) { /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); /******/ } /******/ } /******/ }; /******/ })(); /******/ /******/ /* webpack/runtime/hasOwnProperty shorthand */ /******/ (() => { /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop)) /******/ })(); /******/ /******/ /* webpack/runtime/make namespace object */ /******/ (() => { /******/ // define __esModule on exports /******/ __webpack_require__.r = (exports) => { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ })(); /******/ /************************************************************************/ var __webpack_exports__ = {}; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { ShortcutProvider: () => (/* reexport */ ShortcutProvider), __unstableUseShortcutEventMatch: () => (/* reexport */ useShortcutEventMatch), store: () => (/* reexport */ store), useShortcut: () => (/* reexport */ useShortcut) }); // NAMESPACE OBJECT: ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/actions.js var actions_namespaceObject = {}; __webpack_require__.r(actions_namespaceObject); __webpack_require__.d(actions_namespaceObject, { registerShortcut: () => (registerShortcut), unregisterShortcut: () => (unregisterShortcut) }); // NAMESPACE OBJECT: ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/selectors.js var selectors_namespaceObject = {}; __webpack_require__.r(selectors_namespaceObject); __webpack_require__.d(selectors_namespaceObject, { getAllShortcutKeyCombinations: () => (getAllShortcutKeyCombinations), getAllShortcutRawKeyCombinations: () => (getAllShortcutRawKeyCombinations), getCategoryShortcuts: () => (getCategoryShortcuts), getShortcutAliases: () => (getShortcutAliases), getShortcutDescription: () => (getShortcutDescription), getShortcutKeyCombination: () => (getShortcutKeyCombination), getShortcutRepresentation: () => (getShortcutRepresentation) }); ;// external ["wp","data"] const external_wp_data_namespaceObject = window["wp"]["data"]; ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/reducer.js /** * Reducer returning the registered shortcuts * * @param {Object} state Current state. * @param {Object} action Dispatched action. * * @return {Object} Updated state. */ function reducer(state = {}, action) { switch (action.type) { case 'REGISTER_SHORTCUT': return { ...state, [action.name]: { category: action.category, keyCombination: action.keyCombination, aliases: action.aliases, description: action.description } }; case 'UNREGISTER_SHORTCUT': const { [action.name]: actionName, ...remainingState } = state; return remainingState; } return state; } /* harmony default export */ const store_reducer = (reducer); ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/actions.js /** @typedef {import('@wordpress/keycodes').WPKeycodeModifier} WPKeycodeModifier */ /** * Keyboard key combination. * * @typedef {Object} WPShortcutKeyCombination * * @property {string} character Character. * @property {WPKeycodeModifier|undefined} modifier Modifier. */ /** * Configuration of a registered keyboard shortcut. * * @typedef {Object} WPShortcutConfig * * @property {string} name Shortcut name. * @property {string} category Shortcut category. * @property {string} description Shortcut description. * @property {WPShortcutKeyCombination} keyCombination Shortcut key combination. * @property {WPShortcutKeyCombination[]} [aliases] Shortcut aliases. */ /** * Returns an action object used to register a new keyboard shortcut. * * @param {WPShortcutConfig} config Shortcut config. * * @example * *```js * import { useEffect } from 'react'; * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect, useDispatch } from '@wordpress/data'; * import { __ } from '@wordpress/i18n'; * * const ExampleComponent = () => { * const { registerShortcut } = useDispatch( keyboardShortcutsStore ); * * useEffect( () => { * registerShortcut( { * name: 'custom/my-custom-shortcut', * category: 'my-category', * description: __( 'My custom shortcut' ), * keyCombination: { * modifier: 'primary', * character: 'j', * }, * } ); * }, [] ); * * const shortcut = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getShortcutKeyCombination( * 'custom/my-custom-shortcut' * ), * [] * ); * * return shortcut ? ( * <p>{ __( 'Shortcut is registered.' ) }</p> * ) : ( * <p>{ __( 'Shortcut is not registered.' ) }</p> * ); * }; *``` * @return {Object} action. */ function registerShortcut({ name, category, description, keyCombination, aliases }) { return { type: 'REGISTER_SHORTCUT', name, category, keyCombination, aliases, description }; } /** * Returns an action object used to unregister a keyboard shortcut. * * @param {string} name Shortcut name. * * @example * *```js * import { useEffect } from 'react'; * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect, useDispatch } from '@wordpress/data'; * import { __ } from '@wordpress/i18n'; * * const ExampleComponent = () => { * const { unregisterShortcut } = useDispatch( keyboardShortcutsStore ); * * useEffect( () => { * unregisterShortcut( 'core/editor/next-region' ); * }, [] ); * * const shortcut = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getShortcutKeyCombination( * 'core/editor/next-region' * ), * [] * ); * * return shortcut ? ( * <p>{ __( 'Shortcut is not unregistered.' ) }</p> * ) : ( * <p>{ __( 'Shortcut is unregistered.' ) }</p> * ); * }; *``` * @return {Object} action. */ function unregisterShortcut(name) { return { type: 'UNREGISTER_SHORTCUT', name }; } ;// external ["wp","keycodes"] const external_wp_keycodes_namespaceObject = window["wp"]["keycodes"]; ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/selectors.js /** * WordPress dependencies */ /** @typedef {import('./actions').WPShortcutKeyCombination} WPShortcutKeyCombination */ /** @typedef {import('@wordpress/keycodes').WPKeycodeHandlerByModifier} WPKeycodeHandlerByModifier */ /** * Shared reference to an empty array for cases where it is important to avoid * returning a new array reference on every invocation. * * @type {Array<any>} */ const EMPTY_ARRAY = []; /** * Shortcut formatting methods. * * @property {WPKeycodeHandlerByModifier} display Display formatting. * @property {WPKeycodeHandlerByModifier} rawShortcut Raw shortcut formatting. * @property {WPKeycodeHandlerByModifier} ariaLabel ARIA label formatting. */ const FORMATTING_METHODS = { display: external_wp_keycodes_namespaceObject.displayShortcut, raw: external_wp_keycodes_namespaceObject.rawShortcut, ariaLabel: external_wp_keycodes_namespaceObject.shortcutAriaLabel }; /** * Returns a string representing the key combination. * * @param {?WPShortcutKeyCombination} shortcut Key combination. * @param {keyof FORMATTING_METHODS} representation Type of representation * (display, raw, ariaLabel). * * @return {?string} Shortcut representation. */ function getKeyCombinationRepresentation(shortcut, representation) { if (!shortcut) { return null; } return shortcut.modifier ? FORMATTING_METHODS[representation][shortcut.modifier](shortcut.character) : shortcut.character; } /** * Returns the main key combination for a given shortcut name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { createInterpolateElement } from '@wordpress/element'; * import { sprintf } from '@wordpress/i18n'; * const ExampleComponent = () => { * const {character, modifier} = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getShortcutKeyCombination( * 'core/editor/next-region' * ), * [] * ); * * return ( * <div> * { createInterpolateElement( * sprintf( * 'Character: <code>%s</code> / Modifier: <code>%s</code>', * character, * modifier * ), * { * code: <code />, * } * ) } * </div> * ); * }; *``` * * @return {WPShortcutKeyCombination?} Key combination. */ function getShortcutKeyCombination(state, name) { return state[name] ? state[name].keyCombination : null; } /** * Returns a string representing the main key combination for a given shortcut name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * @param {keyof FORMATTING_METHODS} representation Type of representation * (display, raw, ariaLabel). * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { sprintf } from '@wordpress/i18n'; * * const ExampleComponent = () => { * const {display, raw, ariaLabel} = useSelect( * ( select ) =>{ * return { * display: select( keyboardShortcutsStore ).getShortcutRepresentation('core/editor/next-region' ), * raw: select( keyboardShortcutsStore ).getShortcutRepresentation('core/editor/next-region','raw' ), * ariaLabel: select( keyboardShortcutsStore ).getShortcutRepresentation('core/editor/next-region', 'ariaLabel') * } * }, * [] * ); * * return ( * <ul> * <li>{ sprintf( 'display string: %s', display ) }</li> * <li>{ sprintf( 'raw string: %s', raw ) }</li> * <li>{ sprintf( 'ariaLabel string: %s', ariaLabel ) }</li> * </ul> * ); * }; *``` * * @return {?string} Shortcut representation. */ function getShortcutRepresentation(state, name, representation = 'display') { const shortcut = getShortcutKeyCombination(state, name); return getKeyCombinationRepresentation(shortcut, representation); } /** * Returns the shortcut description given its name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { __ } from '@wordpress/i18n'; * const ExampleComponent = () => { * const shortcutDescription = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getShortcutDescription( 'core/editor/next-region' ), * [] * ); * * return shortcutDescription ? ( * <div>{ shortcutDescription }</div> * ) : ( * <div>{ __( 'No description.' ) }</div> * ); * }; *``` * @return {?string} Shortcut description. */ function getShortcutDescription(state, name) { return state[name] ? state[name].description : null; } /** * Returns the aliases for a given shortcut name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { createInterpolateElement } from '@wordpress/element'; * import { sprintf } from '@wordpress/i18n'; * const ExampleComponent = () => { * const shortcutAliases = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getShortcutAliases( * 'core/editor/next-region' * ), * [] * ); * * return ( * shortcutAliases.length > 0 && ( * <ul> * { shortcutAliases.map( ( { character, modifier }, index ) => ( * <li key={ index }> * { createInterpolateElement( * sprintf( * 'Character: <code>%s</code> / Modifier: <code>%s</code>', * character, * modifier * ), * { * code: <code />, * } * ) } * </li> * ) ) } * </ul> * ) * ); * }; *``` * * @return {WPShortcutKeyCombination[]} Key combinations. */ function getShortcutAliases(state, name) { return state[name] && state[name].aliases ? state[name].aliases : EMPTY_ARRAY; } /** * Returns the shortcuts that include aliases for a given shortcut name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { createInterpolateElement } from '@wordpress/element'; * import { sprintf } from '@wordpress/i18n'; * * const ExampleComponent = () => { * const allShortcutKeyCombinations = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getAllShortcutKeyCombinations( * 'core/editor/next-region' * ), * [] * ); * * return ( * allShortcutKeyCombinations.length > 0 && ( * <ul> * { allShortcutKeyCombinations.map( * ( { character, modifier }, index ) => ( * <li key={ index }> * { createInterpolateElement( * sprintf( * 'Character: <code>%s</code> / Modifier: <code>%s</code>', * character, * modifier * ), * { * code: <code />, * } * ) } * </li> * ) * ) } * </ul> * ) * ); * }; *``` * * @return {WPShortcutKeyCombination[]} Key combinations. */ const getAllShortcutKeyCombinations = (0,external_wp_data_namespaceObject.createSelector)((state, name) => { return [getShortcutKeyCombination(state, name), ...getShortcutAliases(state, name)].filter(Boolean); }, (state, name) => [state[name]]); /** * Returns the raw representation of all the keyboard combinations of a given shortcut name. * * @param {Object} state Global state. * @param {string} name Shortcut name. * * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * import { createInterpolateElement } from '@wordpress/element'; * import { sprintf } from '@wordpress/i18n'; * * const ExampleComponent = () => { * const allShortcutRawKeyCombinations = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getAllShortcutRawKeyCombinations( * 'core/editor/next-region' * ), * [] * ); * * return ( * allShortcutRawKeyCombinations.length > 0 && ( * <ul> * { allShortcutRawKeyCombinations.map( * ( shortcutRawKeyCombination, index ) => ( * <li key={ index }> * { createInterpolateElement( * sprintf( * ' <code>%s</code>', * shortcutRawKeyCombination * ), * { * code: <code />, * } * ) } * </li> * ) * ) } * </ul> * ) * ); * }; *``` * * @return {string[]} Shortcuts. */ const getAllShortcutRawKeyCombinations = (0,external_wp_data_namespaceObject.createSelector)((state, name) => { return getAllShortcutKeyCombinations(state, name).map(combination => getKeyCombinationRepresentation(combination, 'raw')); }, (state, name) => [state[name]]); /** * Returns the shortcut names list for a given category name. * * @param {Object} state Global state. * @param {string} name Category name. * @example * *```js * import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts'; * import { useSelect } from '@wordpress/data'; * * const ExampleComponent = () => { * const categoryShortcuts = useSelect( * ( select ) => * select( keyboardShortcutsStore ).getCategoryShortcuts( * 'block' * ), * [] * ); * * return ( * categoryShortcuts.length > 0 && ( * <ul> * { categoryShortcuts.map( ( categoryShortcut ) => ( * <li key={ categoryShortcut }>{ categoryShortcut }</li> * ) ) } * </ul> * ) * ); * }; *``` * @return {string[]} Shortcut names. */ const getCategoryShortcuts = (0,external_wp_data_namespaceObject.createSelector)((state, categoryName) => { return Object.entries(state).filter(([, shortcut]) => shortcut.category === categoryName).map(([name]) => name); }, state => [state]); ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/store/index.js /** * WordPress dependencies */ /** * Internal dependencies */ const STORE_NAME = 'core/keyboard-shortcuts'; /** * Store definition for the keyboard shortcuts namespace. * * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/data/README.md#createReduxStore * * @type {Object} */ const store = (0,external_wp_data_namespaceObject.createReduxStore)(STORE_NAME, { reducer: store_reducer, actions: actions_namespaceObject, selectors: selectors_namespaceObject }); (0,external_wp_data_namespaceObject.register)(store); ;// external ["wp","element"] const external_wp_element_namespaceObject = window["wp"]["element"]; ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/hooks/use-shortcut-event-match.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Returns a function to check if a keyboard event matches a shortcut name. * * @return {Function} A function to check if a keyboard event matches a * predefined shortcut combination. */ function useShortcutEventMatch() { const { getAllShortcutKeyCombinations } = (0,external_wp_data_namespaceObject.useSelect)(store); /** * A function to check if a keyboard event matches a predefined shortcut * combination. * * @param {string} name Shortcut name. * @param {KeyboardEvent} event Event to check. * * @return {boolean} True if the event matches any shortcuts, false if not. */ function isMatch(name, event) { return getAllShortcutKeyCombinations(name).some(({ modifier, character }) => { return external_wp_keycodes_namespaceObject.isKeyboardEvent[modifier](event, character); }); } return isMatch; } ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/context.js /** * WordPress dependencies */ const globalShortcuts = new Set(); const globalListener = event => { for (const keyboardShortcut of globalShortcuts) { keyboardShortcut(event); } }; const context = (0,external_wp_element_namespaceObject.createContext)({ add: shortcut => { if (globalShortcuts.size === 0) { document.addEventListener('keydown', globalListener); } globalShortcuts.add(shortcut); }, delete: shortcut => { globalShortcuts.delete(shortcut); if (globalShortcuts.size === 0) { document.removeEventListener('keydown', globalListener); } } }); ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/hooks/use-shortcut.js /** * WordPress dependencies */ /** * Internal dependencies */ /** * Attach a keyboard shortcut handler. * * @param {string} name Shortcut name. * @param {Function} callback Shortcut callback. * @param {Object} options Shortcut options. * @param {boolean} options.isDisabled Whether to disable to shortut. */ function useShortcut(name, callback, { isDisabled = false } = {}) { const shortcuts = (0,external_wp_element_namespaceObject.useContext)(context); const isMatch = useShortcutEventMatch(); const callbackRef = (0,external_wp_element_namespaceObject.useRef)(); (0,external_wp_element_namespaceObject.useEffect)(() => { callbackRef.current = callback; }, [callback]); (0,external_wp_element_namespaceObject.useEffect)(() => { if (isDisabled) { return; } function _callback(event) { if (isMatch(name, event)) { callbackRef.current(event); } } shortcuts.add(_callback); return () => { shortcuts.delete(_callback); }; }, [name, isDisabled, shortcuts]); } ;// external "ReactJSXRuntime" const external_ReactJSXRuntime_namespaceObject = window["ReactJSXRuntime"]; ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/components/shortcut-provider.js /** * WordPress dependencies */ /** * Internal dependencies */ const { Provider } = context; /** * Handles callbacks added to context by `useShortcut`. * Adding a provider allows to register contextual shortcuts * that are only active when a certain part of the UI is focused. * * @param {Object} props Props to pass to `div`. * * @return {Element} Component. */ function ShortcutProvider(props) { const [keyboardShortcuts] = (0,external_wp_element_namespaceObject.useState)(() => new Set()); function onKeyDown(event) { if (props.onKeyDown) { props.onKeyDown(event); } for (const keyboardShortcut of keyboardShortcuts) { keyboardShortcut(event); } } /* eslint-disable jsx-a11y/no-static-element-interactions */ return /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)(Provider, { value: keyboardShortcuts, children: /*#__PURE__*/(0,external_ReactJSXRuntime_namespaceObject.jsx)("div", { ...props, onKeyDown: onKeyDown }) }); /* eslint-enable jsx-a11y/no-static-element-interactions */ } ;// ./node_modules/@wordpress/keyboard-shortcuts/build-module/index.js (window.wp = window.wp || {}).keyboardShortcuts = __webpack_exports__; /******/ })() ;
✅ File saved successfully!