@wordpress/editor 13.28.2 → 13.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/commands/index.js +201 -0
- package/build/components/commands/index.js.map +1 -0
- package/build/components/commands/index.native.js +9 -0
- package/build/components/commands/index.native.js.map +1 -0
- package/build/components/document-bar/index.js +78 -67
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-tools/index.js +4 -2
- package/build/components/document-tools/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +20 -2
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build/components/mode-switcher/index.js +86 -0
- package/build/components/mode-switcher/index.js.map +1 -0
- package/build/components/post-title/index.js +0 -5
- package/build/components/post-title/index.js.map +1 -1
- package/build/components/provider/index.js +6 -0
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/index.native.js +4 -9
- package/build/components/provider/index.native.js.map +1 -1
- package/build/components/provider/use-block-editor-settings.js +4 -8
- package/build/components/provider/use-block-editor-settings.js.map +1 -1
- package/build/components/provider/use-hide-blocks-from-inserter.js +53 -0
- package/build/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +69 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +13 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/commands/index.js +194 -0
- package/build-module/components/commands/index.js.map +1 -0
- package/build-module/components/commands/index.native.js +3 -0
- package/build-module/components/commands/index.native.js.map +1 -0
- package/build-module/components/document-bar/index.js +81 -70
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-tools/index.js +4 -2
- package/build-module/components/document-tools/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +20 -2
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +18 -0
- package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
- package/build-module/components/mode-switcher/index.js +80 -0
- package/build-module/components/mode-switcher/index.js.map +1 -0
- package/build-module/components/post-title/index.js +0 -5
- package/build-module/components/post-title/index.js.map +1 -1
- package/build-module/components/provider/index.js +6 -0
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/index.native.js +4 -10
- package/build-module/components/provider/index.native.js.map +1 -1
- package/build-module/components/provider/use-block-editor-settings.js +5 -9
- package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
- package/build-module/components/provider/use-hide-blocks-from-inserter.js +47 -0
- package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +1 -0
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +66 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +12 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +4 -47
- package/build-style/style.css +4 -47
- package/package.json +32 -32
- package/src/components/commands/index.js +202 -0
- package/src/components/commands/index.native.js +2 -0
- package/src/components/document-bar/index.js +115 -94
- package/src/components/document-bar/style.scss +4 -37
- package/src/components/document-tools/index.js +22 -16
- package/src/components/global-keyboard-shortcuts/index.js +35 -4
- package/src/components/global-keyboard-shortcuts/register-shortcuts.js +20 -0
- package/src/components/mode-switcher/index.js +90 -0
- package/src/components/post-title/index.js +0 -3
- package/src/components/provider/index.js +7 -0
- package/src/components/provider/index.native.js +7 -6
- package/src/components/provider/use-block-editor-settings.js +6 -15
- package/src/components/provider/use-hide-blocks-from-inserter.js +81 -0
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +95 -0
- package/src/store/selectors.js +12 -0
- package/src/store/test/actions.js +82 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","__","code","listView","external","useCommandLoader","store","preferencesStore","noticesStore","blockEditorStore","coreStore","editorStore","useEditorCommandLoader","editorMode","isListViewOpen","showBlockBreadcrumbs","isDistractionFree","isTopToolbar","isFocusMode","isPreviewMode","isViewable","select","_get","_getPostType$viewable","get","isListViewOpened","getCurrentPostType","getSettings","getPostType","__unstableIsPreviewMode","viewable","toggle","createInfoNotice","__unstableSaveForPreview","setIsListViewOpened","switchEditorMode","toggleDistractionFree","getCurrentPostId","commands","isLoading","push","name","label","callback","close","id","type","actions","onClick","icon","postId","link","window","open","useCommands","hook"],"sources":["@wordpress/editor/src/components/commands/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { code, listView, external } from '@wordpress/icons';\nimport { useCommandLoader } from '@wordpress/commands';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction useEditorCommandLoader() {\n\tconst {\n\t\teditorMode,\n\t\tisListViewOpen,\n\t\tshowBlockBreadcrumbs,\n\t\tisDistractionFree,\n\t\tisTopToolbar,\n\t\tisFocusMode,\n\t\tisPreviewMode,\n\t\tisViewable,\n\t} = useSelect( ( select ) => {\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isListViewOpened, getCurrentPostType } = select( editorStore );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getPostType } = select( coreStore );\n\n\t\treturn {\n\t\t\teditorMode: get( 'core', 'editorMode' ) ?? 'visual',\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tshowBlockBreadcrumbs: get( 'core', 'showBlockBreadcrumbs' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t\tisFocusMode: get( 'core', 'focusMode' ),\n\t\t\tisTopToolbar: get( 'core', 'fixedToolbar' ),\n\t\t\tisPreviewMode: getSettings().__unstableIsPreviewMode,\n\t\t\tisViewable: getPostType( getCurrentPostType() )?.viewable ?? false,\n\t\t};\n\t}, [] );\n\tconst { toggle } = useDispatch( preferencesStore );\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\tconst {\n\t\t__unstableSaveForPreview,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editorStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\n\tif ( isPreviewMode ) {\n\t\treturn { commands: [], isLoading: false };\n\t}\n\n\tconst commands = [];\n\n\tcommands.push( {\n\t\tname: 'core/toggle-distraction-free',\n\t\tlabel: isDistractionFree\n\t\t\t? __( 'Exit Distraction Free' )\n\t\t\t: __( 'Enter Distraction Free ' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggleDistractionFree();\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-spotlight-mode',\n\t\tlabel: __( 'Toggle spotlight' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisFocusMode ? __( 'Spotlight off.' ) : __( 'Spotlight on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/editor/toggle-spotlight-mode/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'focusMode' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-list-view',\n\t\tlabel: isListViewOpen\n\t\t\t? __( 'Close List View' )\n\t\t\t: __( 'Open List View' ),\n\t\ticon: listView,\n\t\tcallback: ( { close } ) => {\n\t\t\tsetIsListViewOpened( ! isListViewOpen );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisListViewOpen ? __( 'List View off.' ) : __( 'List View on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/editor/toggle-list-view/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-top-toolbar',\n\t\tlabel: __( 'Toggle top toolbar' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\tif ( isDistractionFree ) {\n\t\t\t\ttoggleDistractionFree();\n\t\t\t}\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tisTopToolbar\n\t\t\t\t\t? __( 'Top toolbar off.' )\n\t\t\t\t\t: __( 'Top toolbar on.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/editor/toggle-top-toolbar/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Undo' ),\n\t\t\t\t\t\t\tonClick: () => {\n\t\t\t\t\t\t\t\ttoggle( 'core', 'fixedToolbar' );\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-code-editor',\n\t\tlabel:\n\t\t\teditorMode === 'visual'\n\t\t\t\t? __( 'Open code editor' )\n\t\t\t\t: __( 'Exit code editor' ),\n\t\ticon: code,\n\t\tcallback: ( { close } ) => {\n\t\t\tswitchEditorMode( editorMode === 'visual' ? 'text' : 'visual' );\n\t\t\tclose();\n\t\t},\n\t} );\n\n\tcommands.push( {\n\t\tname: 'core/toggle-breadcrumbs',\n\t\tlabel: showBlockBreadcrumbs\n\t\t\t? __( 'Hide block breadcrumbs' )\n\t\t\t: __( 'Show block breadcrumbs' ),\n\t\tcallback: ( { close } ) => {\n\t\t\ttoggle( 'core', 'showBlockBreadcrumbs' );\n\t\t\tclose();\n\t\t\tcreateInfoNotice(\n\t\t\t\tshowBlockBreadcrumbs\n\t\t\t\t\t? __( 'Breadcrumbs hidden.' )\n\t\t\t\t\t: __( 'Breadcrumbs visible.' ),\n\t\t\t\t{\n\t\t\t\t\tid: 'core/editor/toggle-breadcrumbs/notice',\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t},\n\t} );\n\n\tif ( isViewable ) {\n\t\tcommands.push( {\n\t\t\tname: 'core/preview-link',\n\t\t\tlabel: __( 'Preview in a new tab' ),\n\t\t\ticon: external,\n\t\t\tcallback: async ( { close } ) => {\n\t\t\t\tclose();\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst link = await __unstableSaveForPreview();\n\t\t\t\twindow.open( link, `wp-preview-${ postId }` );\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn {\n\t\tcommands,\n\t\tisLoading: false,\n\t};\n}\n\nexport default function useCommands() {\n\tuseCommandLoader( {\n\t\tname: 'core/editor/edit-ui',\n\t\thook: useEditorCommandLoader,\n\t} );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useCommands"],"sources":["@wordpress/editor/src/components/commands/index.native.js"],"sourcesContent":["// Commands are disabled in the mobile native version.\nexport default function useCommands() {}\n"],"mappings":"AAAA;AACA,eAAe,SAASA,WAAWA,CAAA,EAAG,CAAC"}
|
|
@@ -9,19 +9,20 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
import { __, isRTL, sprintf } from '@wordpress/i18n';
|
|
11
11
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
|
-
import { Button, __experimentalText as Text,
|
|
12
|
+
import { Button, __experimentalText as Text, __unstableMotion as motion, __unstableAnimatePresence as AnimatePresence } from '@wordpress/components';
|
|
13
13
|
import { BlockIcon } from '@wordpress/block-editor';
|
|
14
14
|
import { chevronLeftSmall, chevronRightSmall, page as pageIcon, navigation as navigationIcon, symbol } from '@wordpress/icons';
|
|
15
15
|
import { displayShortcut } from '@wordpress/keycodes';
|
|
16
|
-
import {
|
|
16
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
17
17
|
import { store as commandsStore } from '@wordpress/commands';
|
|
18
|
-
import {
|
|
18
|
+
import { useRef, useEffect } from '@wordpress/element';
|
|
19
|
+
import { useReducedMotion } from '@wordpress/compose';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Internal dependencies
|
|
22
23
|
*/
|
|
23
24
|
import { store as editorStore } from '../../store';
|
|
24
|
-
const
|
|
25
|
+
const TYPE_LABELS = {
|
|
25
26
|
// translators: 1: Pattern title.
|
|
26
27
|
wp_pattern: __('Editing pattern: %s'),
|
|
27
28
|
// translators: 1: Navigation menu title.
|
|
@@ -31,108 +32,118 @@ const typeLabels = {
|
|
|
31
32
|
// translators: 1: Template part title.
|
|
32
33
|
wp_template_part: __('Editing template part: %s')
|
|
33
34
|
};
|
|
34
|
-
const
|
|
35
|
+
const ICONS = {
|
|
35
36
|
wp_block: symbol,
|
|
36
37
|
wp_navigation: navigationIcon
|
|
37
38
|
};
|
|
39
|
+
const TEMPLATE_POST_TYPES = ['wp_template', 'wp_template_part'];
|
|
40
|
+
const GLOBAL_POST_TYPES = [...TEMPLATE_POST_TYPES, 'wp_block', 'wp_navigation'];
|
|
41
|
+
const MotionButton = motion(Button);
|
|
38
42
|
export default function DocumentBar() {
|
|
43
|
+
var _ICONS$postType;
|
|
39
44
|
const {
|
|
40
45
|
postType,
|
|
41
|
-
|
|
46
|
+
document,
|
|
47
|
+
isResolving,
|
|
48
|
+
templateIcon,
|
|
49
|
+
templateTitle,
|
|
42
50
|
onNavigateToPreviousEntityRecord
|
|
43
51
|
} = useSelect(select => {
|
|
44
52
|
const {
|
|
45
|
-
getCurrentPostId,
|
|
46
53
|
getCurrentPostType,
|
|
47
|
-
|
|
54
|
+
getCurrentPostId,
|
|
55
|
+
getEditorSettings,
|
|
56
|
+
__experimentalGetTemplateInfo: getTemplateInfo
|
|
48
57
|
} = select(editorStore);
|
|
58
|
+
const {
|
|
59
|
+
getEditedEntityRecord,
|
|
60
|
+
getIsResolving
|
|
61
|
+
} = select(coreStore);
|
|
62
|
+
const _postType = getCurrentPostType();
|
|
63
|
+
const _postId = getCurrentPostId();
|
|
64
|
+
const _document = getEditedEntityRecord('postType', _postType, _postId);
|
|
65
|
+
const _templateInfo = getTemplateInfo(_document);
|
|
49
66
|
return {
|
|
50
|
-
postType:
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
67
|
+
postType: _postType,
|
|
68
|
+
document: _document,
|
|
69
|
+
isResolving: getIsResolving('getEditedEntityRecord', 'postType', _postType, _postId),
|
|
70
|
+
templateIcon: _templateInfo.icon,
|
|
71
|
+
templateTitle: _templateInfo.title,
|
|
72
|
+
onNavigateToPreviousEntityRecord: getEditorSettings().onNavigateToPreviousEntityRecord
|
|
54
73
|
};
|
|
55
74
|
}, []);
|
|
56
|
-
const handleOnBack = () => {
|
|
57
|
-
if (onNavigateToPreviousEntityRecord) {
|
|
58
|
-
onNavigateToPreviousEntityRecord();
|
|
59
|
-
}
|
|
60
|
-
};
|
|
61
|
-
return createElement(BaseDocumentActions, {
|
|
62
|
-
postType: postType,
|
|
63
|
-
postId: postId,
|
|
64
|
-
onBack: onNavigateToPreviousEntityRecord ? handleOnBack : undefined
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
function BaseDocumentActions({
|
|
68
|
-
postType,
|
|
69
|
-
postId,
|
|
70
|
-
onBack
|
|
71
|
-
}) {
|
|
72
|
-
var _icons$postType;
|
|
73
75
|
const {
|
|
74
76
|
open: openCommandCenter
|
|
75
77
|
} = useDispatch(commandsStore);
|
|
76
|
-
const
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
const {
|
|
85
|
-
__experimentalGetTemplateInfo: getTemplateInfo
|
|
86
|
-
} = select(editorStore);
|
|
87
|
-
const templateInfo = getTemplateInfo(doc);
|
|
88
|
-
return {
|
|
89
|
-
templateIcon: templateInfo.icon,
|
|
90
|
-
templateTitle: templateInfo.title
|
|
91
|
-
};
|
|
92
|
-
});
|
|
93
|
-
const isNotFound = !doc && !isResolving;
|
|
94
|
-
const icon = (_icons$postType = icons[postType]) !== null && _icons$postType !== void 0 ? _icons$postType : pageIcon;
|
|
95
|
-
const [isAnimated, setIsAnimated] = useState(false);
|
|
96
|
-
const isMounting = useRef(true);
|
|
97
|
-
const isTemplate = ['wp_template', 'wp_template_part'].includes(postType);
|
|
98
|
-
const isGlobalEntity = ['wp_template', 'wp_navigation', 'wp_template_part', 'wp_block'].includes(postType);
|
|
78
|
+
const isReducedMotion = useReducedMotion();
|
|
79
|
+
const isNotFound = !document && !isResolving;
|
|
80
|
+
const icon = (_ICONS$postType = ICONS[postType]) !== null && _ICONS$postType !== void 0 ? _ICONS$postType : pageIcon;
|
|
81
|
+
const isTemplate = TEMPLATE_POST_TYPES.includes(postType);
|
|
82
|
+
const isGlobalEntity = GLOBAL_POST_TYPES.includes(postType);
|
|
83
|
+
const hasBackButton = !!onNavigateToPreviousEntityRecord;
|
|
84
|
+
const title = isTemplate ? templateTitle : document.title;
|
|
85
|
+
const mounted = useRef(false);
|
|
99
86
|
useEffect(() => {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
isMounting.current = false;
|
|
104
|
-
}, [postType, postId]);
|
|
105
|
-
const title = isTemplate ? templateTitle : doc.title;
|
|
87
|
+
mounted.current = true;
|
|
88
|
+
}, []);
|
|
106
89
|
return createElement("div", {
|
|
107
90
|
className: classnames('editor-document-bar', {
|
|
108
|
-
'has-back-button':
|
|
109
|
-
'is-animated': isAnimated,
|
|
91
|
+
'has-back-button': hasBackButton,
|
|
110
92
|
'is-global': isGlobalEntity
|
|
111
93
|
})
|
|
112
|
-
},
|
|
94
|
+
}, createElement(AnimatePresence, null, hasBackButton && createElement(MotionButton, {
|
|
113
95
|
className: "editor-document-bar__back",
|
|
114
96
|
icon: isRTL() ? chevronRightSmall : chevronLeftSmall,
|
|
115
97
|
onClick: event => {
|
|
116
98
|
event.stopPropagation();
|
|
117
|
-
|
|
99
|
+
onNavigateToPreviousEntityRecord();
|
|
118
100
|
},
|
|
119
|
-
size: "compact"
|
|
120
|
-
|
|
101
|
+
size: "compact",
|
|
102
|
+
initial: mounted.current ? {
|
|
103
|
+
opacity: 0,
|
|
104
|
+
transform: 'translateX(15%)'
|
|
105
|
+
} : false // Don't show entry animation when DocumentBar mounts.
|
|
106
|
+
,
|
|
107
|
+
animate: {
|
|
108
|
+
opacity: 1,
|
|
109
|
+
transform: 'translateX(0%)'
|
|
110
|
+
},
|
|
111
|
+
exit: {
|
|
112
|
+
opacity: 0,
|
|
113
|
+
transform: 'translateX(15%)'
|
|
114
|
+
},
|
|
115
|
+
transition: isReducedMotion ? {
|
|
116
|
+
duration: 0
|
|
117
|
+
} : undefined
|
|
118
|
+
}, __('Back'))), isNotFound ? createElement(Text, null, __('Document not found')) : createElement(Button, {
|
|
121
119
|
className: "editor-document-bar__command",
|
|
122
120
|
onClick: () => openCommandCenter(),
|
|
123
121
|
size: "compact"
|
|
124
|
-
}, createElement(
|
|
125
|
-
className: "editor-document-bar__title"
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
}, createElement(motion.div, {
|
|
123
|
+
className: "editor-document-bar__title"
|
|
124
|
+
// Force entry animation when the back button is added or removed.
|
|
125
|
+
,
|
|
126
|
+
key: hasBackButton,
|
|
127
|
+
initial: mounted.current ? {
|
|
128
|
+
opacity: 0,
|
|
129
|
+
transform: hasBackButton ? 'translateX(15%)' : 'translateX(-15%)'
|
|
130
|
+
} : false // Don't show entry animation when DocumentBar mounts.
|
|
131
|
+
,
|
|
132
|
+
animate: {
|
|
133
|
+
opacity: 1,
|
|
134
|
+
transform: 'translateX(0%)'
|
|
135
|
+
},
|
|
136
|
+
transition: isReducedMotion ? {
|
|
137
|
+
duration: 0
|
|
138
|
+
} : undefined
|
|
128
139
|
}, createElement(BlockIcon, {
|
|
129
140
|
icon: isTemplate ? templateIcon : icon
|
|
130
141
|
}), createElement(Text, {
|
|
131
142
|
size: "body",
|
|
132
143
|
as: "h1",
|
|
133
|
-
"aria-label":
|
|
144
|
+
"aria-label": TYPE_LABELS[postType] ?
|
|
134
145
|
// eslint-disable-next-line @wordpress/valid-sprintf
|
|
135
|
-
sprintf(
|
|
146
|
+
sprintf(TYPE_LABELS[postType], title) : undefined
|
|
136
147
|
}, title)), createElement("span", {
|
|
137
148
|
className: "editor-document-bar__shortcut"
|
|
138
149
|
}, displayShortcut.primary('k'))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","isRTL","sprintf","useSelect","useDispatch","Button","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","useEntityRecord","store","commandsStore","useState","useEffect","useRef","editorStore","typeLabels","wp_pattern","wp_navigation","wp_template","wp_template_part","icons","wp_block","DocumentBar","postType","postId","onNavigateToPreviousEntityRecord","select","getCurrentPostId","getCurrentPostType","getEditorSettings","getSettings","handleOnBack","createElement","BaseDocumentActions","onBack","undefined","_icons$postType","open","openCommandCenter","editedRecord","doc","isResolving","templateIcon","templateTitle","__experimentalGetTemplateInfo","getTemplateInfo","templateInfo","icon","title","isNotFound","isAnimated","setIsAnimated","isMounting","isTemplate","includes","isGlobalEntity","current","className","onClick","event","stopPropagation","size","spacing","justify","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useEntityRecord } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useState, useEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nconst typeLabels = {\n\t// translators: 1: Pattern title.\n\twp_pattern: __( 'Editing pattern: %s' ),\n\t// translators: 1: Navigation menu title.\n\twp_navigation: __( 'Editing navigation menu: %s' ),\n\t// translators: 1: Template title.\n\twp_template: __( 'Editing template: %s' ),\n\t// translators: 1: Template part title.\n\twp_template_part: __( 'Editing template part: %s' ),\n};\n\nconst icons = {\n\twp_block: symbol,\n\twp_navigation: navigationIcon,\n};\n\nexport default function DocumentBar() {\n\tconst { postType, postId, onNavigateToPreviousEntityRecord } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetCurrentPostId,\n\t\t\t\tgetCurrentPostType,\n\t\t\t\tgetEditorSettings: getSettings,\n\t\t\t} = select( editorStore );\n\t\t\treturn {\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t\tpostId: getCurrentPostId(),\n\t\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToPreviousEntityRecord,\n\t\t\t\tgetEditorSettings: getSettings,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst handleOnBack = () => {\n\t\tif ( onNavigateToPreviousEntityRecord ) {\n\t\t\tonNavigateToPreviousEntityRecord();\n\t\t}\n\t};\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t\tonBack={\n\t\t\t\tonNavigateToPreviousEntityRecord ? handleOnBack : undefined\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction BaseDocumentActions( { postType, postId, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst { editedRecord: doc, isResolving } = useEntityRecord(\n\t\t'postType',\n\t\tpostType,\n\t\tpostId\n\t);\n\tconst { templateIcon, templateTitle } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetTemplateInfo: getTemplateInfo } =\n\t\t\tselect( editorStore );\n\t\tconst templateInfo = getTemplateInfo( doc );\n\t\treturn {\n\t\t\ttemplateIcon: templateInfo.icon,\n\t\t\ttemplateTitle: templateInfo.title,\n\t\t};\n\t} );\n\tconst isNotFound = ! doc && ! isResolving;\n\tconst icon = icons[ postType ] ?? pageIcon;\n\tconst [ isAnimated, setIsAnimated ] = useState( false );\n\tconst isMounting = useRef( true );\n\tconst isTemplate = [ 'wp_template', 'wp_template_part' ].includes(\n\t\tpostType\n\t);\n\tconst isGlobalEntity = [\n\t\t'wp_template',\n\t\t'wp_navigation',\n\t\t'wp_template_part',\n\t\t'wp_block',\n\t].includes( postType );\n\n\tuseEffect( () => {\n\t\tif ( ! isMounting.current ) {\n\t\t\tsetIsAnimated( true );\n\t\t}\n\t\tisMounting.current = false;\n\t}, [ postType, postId ] );\n\n\tconst title = isTemplate ? templateTitle : doc.title;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'editor-document-bar', {\n\t\t\t\t'has-back-button': !! onBack,\n\t\t\t\t'is-animated': isAnimated,\n\t\t\t\t'is-global': isGlobalEntity,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t{ isNotFound && <Text>{ __( 'Document not found' ) }</Text> }\n\t\t\t{ ! isNotFound && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockIcon icon={ isTemplate ? templateIcon : icon } />\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\ttypeLabels[ postType ]\n\t\t\t\t\t\t\t\t\t? // eslint-disable-next-line @wordpress/valid-sprintf\n\t\t\t\t\t\t\t\t\t sprintf( typeLabels[ postType ], title )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","isRTL","sprintf","useSelect","useDispatch","Button","__experimentalText","Text","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","BlockIcon","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","store","coreStore","commandsStore","useRef","useEffect","useReducedMotion","editorStore","TYPE_LABELS","wp_pattern","wp_navigation","wp_template","wp_template_part","ICONS","wp_block","TEMPLATE_POST_TYPES","GLOBAL_POST_TYPES","MotionButton","DocumentBar","_ICONS$postType","postType","document","isResolving","templateIcon","templateTitle","onNavigateToPreviousEntityRecord","select","getCurrentPostType","getCurrentPostId","getEditorSettings","__experimentalGetTemplateInfo","getTemplateInfo","getEditedEntityRecord","getIsResolving","_postType","_postId","_document","_templateInfo","icon","title","open","openCommandCenter","isReducedMotion","isNotFound","isTemplate","includes","isGlobalEntity","hasBackButton","mounted","current","createElement","className","onClick","event","stopPropagation","size","initial","opacity","transform","animate","exit","transition","duration","undefined","div","key","as","primary"],"sources":["@wordpress/editor/src/components/document-bar/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\t__experimentalText as Text,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as commandsStore } from '@wordpress/commands';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { useReducedMotion } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nconst TYPE_LABELS = {\n\t// translators: 1: Pattern title.\n\twp_pattern: __( 'Editing pattern: %s' ),\n\t// translators: 1: Navigation menu title.\n\twp_navigation: __( 'Editing navigation menu: %s' ),\n\t// translators: 1: Template title.\n\twp_template: __( 'Editing template: %s' ),\n\t// translators: 1: Template part title.\n\twp_template_part: __( 'Editing template part: %s' ),\n};\n\nconst ICONS = {\n\twp_block: symbol,\n\twp_navigation: navigationIcon,\n};\n\nconst TEMPLATE_POST_TYPES = [ 'wp_template', 'wp_template_part' ];\n\nconst GLOBAL_POST_TYPES = [\n\t...TEMPLATE_POST_TYPES,\n\t'wp_block',\n\t'wp_navigation',\n];\n\nconst MotionButton = motion( Button );\n\nexport default function DocumentBar() {\n\tconst {\n\t\tpostType,\n\t\tdocument,\n\t\tisResolving,\n\t\ttemplateIcon,\n\t\ttemplateTitle,\n\t\tonNavigateToPreviousEntityRecord,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetCurrentPostType,\n\t\t\tgetCurrentPostId,\n\t\t\tgetEditorSettings,\n\t\t\t__experimentalGetTemplateInfo: getTemplateInfo,\n\t\t} = select( editorStore );\n\t\tconst { getEditedEntityRecord, getIsResolving } = select( coreStore );\n\t\tconst _postType = getCurrentPostType();\n\t\tconst _postId = getCurrentPostId();\n\t\tconst _document = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\t_postType,\n\t\t\t_postId\n\t\t);\n\t\tconst _templateInfo = getTemplateInfo( _document );\n\t\treturn {\n\t\t\tpostType: _postType,\n\t\t\tdocument: _document,\n\t\t\tisResolving: getIsResolving(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\t_postId\n\t\t\t),\n\t\t\ttemplateIcon: _templateInfo.icon,\n\t\t\ttemplateTitle: _templateInfo.title,\n\t\t\tonNavigateToPreviousEntityRecord:\n\t\t\t\tgetEditorSettings().onNavigateToPreviousEntityRecord,\n\t\t};\n\t}, [] );\n\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\tconst isReducedMotion = useReducedMotion();\n\n\tconst isNotFound = ! document && ! isResolving;\n\tconst icon = ICONS[ postType ] ?? pageIcon;\n\tconst isTemplate = TEMPLATE_POST_TYPES.includes( postType );\n\tconst isGlobalEntity = GLOBAL_POST_TYPES.includes( postType );\n\tconst hasBackButton = !! onNavigateToPreviousEntityRecord;\n\tconst title = isTemplate ? templateTitle : document.title;\n\n\tconst mounted = useRef( false );\n\tuseEffect( () => {\n\t\tmounted.current = true;\n\t}, [] );\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'editor-document-bar', {\n\t\t\t\t'has-back-button': hasBackButton,\n\t\t\t\t'is-global': isGlobalEntity,\n\t\t\t} ) }\n\t\t>\n\t\t\t<AnimatePresence>\n\t\t\t\t{ hasBackButton && (\n\t\t\t\t\t<MotionButton\n\t\t\t\t\t\tclassName=\"editor-document-bar__back\"\n\t\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\tonNavigateToPreviousEntityRecord();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? { opacity: 0, transform: 'translateX(15%)' }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ { opacity: 1, transform: 'translateX(0%)' } }\n\t\t\t\t\t\texit={ { opacity: 0, transform: 'translateX(15%)' } }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t\t</MotionButton>\n\t\t\t\t) }\n\t\t\t</AnimatePresence>\n\t\t\t{ isNotFound ? (\n\t\t\t\t<Text>{ __( 'Document not found' ) }</Text>\n\t\t\t) : (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"editor-document-bar__command\"\n\t\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t>\n\t\t\t\t\t<motion.div\n\t\t\t\t\t\tclassName=\"editor-document-bar__title\"\n\t\t\t\t\t\t// Force entry animation when the back button is added or removed.\n\t\t\t\t\t\tkey={ hasBackButton }\n\t\t\t\t\t\tinitial={\n\t\t\t\t\t\t\tmounted.current\n\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\topacity: 0,\n\t\t\t\t\t\t\t\t\t\ttransform: hasBackButton\n\t\t\t\t\t\t\t\t\t\t\t? 'translateX(15%)'\n\t\t\t\t\t\t\t\t\t\t\t: 'translateX(-15%)',\n\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t: false // Don't show entry animation when DocumentBar mounts.\n\t\t\t\t\t\t}\n\t\t\t\t\t\tanimate={ {\n\t\t\t\t\t\t\topacity: 1,\n\t\t\t\t\t\t\ttransform: 'translateX(0%)',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={\n\t\t\t\t\t\t\tisReducedMotion ? { duration: 0 } : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<BlockIcon icon={ isTemplate ? templateIcon : icon } />\n\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\tsize=\"body\"\n\t\t\t\t\t\t\tas=\"h1\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\tTYPE_LABELS[ postType ]\n\t\t\t\t\t\t\t\t\t? // eslint-disable-next-line @wordpress/valid-sprintf\n\t\t\t\t\t\t\t\t\t sprintf( TYPE_LABELS[ postType ], title )\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t</motion.div>\n\t\t\t\t\t<span className=\"editor-document-bar__shortcut\">\n\t\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t</span>\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -43,6 +43,7 @@ function DocumentTools({
|
|
|
43
43
|
setIsListViewOpened
|
|
44
44
|
} = useDispatch(editorStore);
|
|
45
45
|
const {
|
|
46
|
+
isDistractionFree,
|
|
46
47
|
isInserterOpened,
|
|
47
48
|
isListViewOpen,
|
|
48
49
|
listViewShortcut,
|
|
@@ -69,7 +70,8 @@ function DocumentTools({
|
|
|
69
70
|
listViewShortcut: getShortcutRepresentation('core/editor/toggle-list-view'),
|
|
70
71
|
listViewToggleRef: getListViewToggleRef(),
|
|
71
72
|
hasFixedToolbar: getSettings().hasFixedToolbar,
|
|
72
|
-
showIconLabels: get('core', 'showIconLabels')
|
|
73
|
+
showIconLabels: get('core', 'showIconLabels'),
|
|
74
|
+
isDistractionFree: get('core', 'distractionFree')
|
|
73
75
|
};
|
|
74
76
|
}, []);
|
|
75
77
|
const isLargeViewport = useViewportMatch('medium');
|
|
@@ -135,7 +137,7 @@ function DocumentTools({
|
|
|
135
137
|
showTooltip: !showIconLabels,
|
|
136
138
|
variant: showIconLabels ? 'tertiary' : undefined,
|
|
137
139
|
size: "compact"
|
|
138
|
-
}), createElement(ToolbarItem, {
|
|
140
|
+
}), !isDistractionFree && createElement(ToolbarItem, {
|
|
139
141
|
as: Button,
|
|
140
142
|
className: "editor-document-tools__document-overview-toggle",
|
|
141
143
|
icon: listView,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","privateApis","blockEditorPrivateApis","Button","ToolbarItem","listView","plus","useRef","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","useCanBlockToolbarBeFocused","preventDefault","event","DocumentTools","className","disableBlockTools","children","listViewLabel","inserterButton","setIsInserterOpened","setIsListViewOpened","isInserterOpened","isListViewOpen","listViewShortcut","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getListViewToggleRef","getShortcutRepresentation","isLargeViewport","isWideViewport","blockToolbarCanBeFocused","toolbarAriaLabel","toggleListView","toggleInserter","current","focus","longLabel","shortLabel","createElement","shouldUseKeyboardFocusShortcut","variant","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","size","shortcut"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst { useCanBlockToolbarBeFocused } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( {\n\tclassName,\n\tdisableBlockTools = false,\n\tchildren,\n\t// This is a temporary prop until the list view is fully unified between post and site editors.\n\tlistViewLabel = __( 'Document Overview' ),\n} ) {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isListViewOpened, getListViewToggleRef } = unlock(\n\t\t\tselect( editorStore )\n\t\t);\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\tconst blockToolbarCanBeFocused = useCanBlockToolbarBeFocused();\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ classnames(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tshouldUseKeyboardFocusShortcut={ ! blockToolbarCanBeFocused }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\tlabel={ listViewLabel }\n\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useViewportMatch","useSelect","useDispatch","__","_x","NavigableToolbar","ToolSelector","store","blockEditorStore","privateApis","blockEditorPrivateApis","Button","ToolbarItem","listView","plus","useRef","useCallback","keyboardShortcutsStore","preferencesStore","unlock","editorStore","EditorHistoryRedo","EditorHistoryUndo","useCanBlockToolbarBeFocused","preventDefault","event","DocumentTools","className","disableBlockTools","children","listViewLabel","inserterButton","setIsInserterOpened","setIsListViewOpened","isDistractionFree","isInserterOpened","isListViewOpen","listViewShortcut","listViewToggleRef","hasFixedToolbar","showIconLabels","select","getSettings","get","isListViewOpened","getListViewToggleRef","getShortcutRepresentation","isLargeViewport","isWideViewport","blockToolbarCanBeFocused","toolbarAriaLabel","toggleListView","toggleInserter","current","focus","longLabel","shortLabel","createElement","shouldUseKeyboardFocusShortcut","variant","ref","as","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","size","shortcut"],"sources":["@wordpress/editor/src/components/document-tools/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tNavigableToolbar,\n\tToolSelector,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ToolbarItem } from '@wordpress/components';\nimport { listView, plus } from '@wordpress/icons';\nimport { useRef, useCallback } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\nimport EditorHistoryRedo from '../editor-history/redo';\nimport EditorHistoryUndo from '../editor-history/undo';\n\nconst { useCanBlockToolbarBeFocused } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nfunction DocumentTools( {\n\tclassName,\n\tdisableBlockTools = false,\n\tchildren,\n\t// This is a temporary prop until the list view is fully unified between post and site editors.\n\tlistViewLabel = __( 'Document Overview' ),\n} ) {\n\tconst inserterButton = useRef();\n\tconst { setIsInserterOpened, setIsListViewOpened } =\n\t\tuseDispatch( editorStore );\n\tconst {\n\t\tisDistractionFree,\n\t\tisInserterOpened,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tlistViewToggleRef,\n\t\thasFixedToolbar,\n\t\tshowIconLabels,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { get } = select( preferencesStore );\n\t\tconst { isListViewOpened, getListViewToggleRef } = unlock(\n\t\t\tselect( editorStore )\n\t\t);\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\n\t\treturn {\n\t\t\tisInserterOpened: select( editorStore ).isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/editor/toggle-list-view'\n\t\t\t),\n\t\t\tlistViewToggleRef: getListViewToggleRef(),\n\t\t\thasFixedToolbar: getSettings().hasFixedToolbar,\n\t\t\tshowIconLabels: get( 'core', 'showIconLabels' ),\n\t\t\tisDistractionFree: get( 'core', 'distractionFree' ),\n\t\t};\n\t}, [] );\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideViewport = useViewportMatch( 'wide' );\n\tconst blockToolbarCanBeFocused = useCanBlockToolbarBeFocused();\n\n\t/* translators: accessibility text for the editor toolbar */\n\tconst toolbarAriaLabel = __( 'Document tools' );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpened ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpened, setIsInserterOpened ] );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpened ? __( 'Add' ) : __( 'Close' );\n\n\treturn (\n\t\t// Some plugins expect and use the `edit-post-header-toolbar` CSS class to\n\t\t// find the toolbar and inject UI elements into it. This is not officially\n\t\t// supported, but we're keeping it in the list of class names for backwards\n\t\t// compatibility.\n\t\t<NavigableToolbar\n\t\t\tclassName={ classnames(\n\t\t\t\t'editor-document-tools',\n\t\t\t\t'edit-post-header-toolbar',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\taria-label={ toolbarAriaLabel }\n\t\t\tshouldUseKeyboardFocusShortcut={ ! blockToolbarCanBeFocused }\n\t\t\tvariant=\"unstyled\"\n\t\t>\n\t\t\t<div className=\"editor-document-tools__left\">\n\t\t\t\t<ToolbarItem\n\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tclassName=\"editor-document-tools__inserter-toggle\"\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tisPressed={ isInserterOpened }\n\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\ticon={ plus }\n\t\t\t\t\tlabel={ showIconLabels ? shortLabel : longLabel }\n\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\taria-expanded={ isInserterOpened }\n\t\t\t\t/>\n\t\t\t\t{ ( isWideViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ isLargeViewport && ! hasFixedToolbar && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryUndo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\tas={ EditorHistoryRedo }\n\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\tvariant={ showIconLabels ? 'tertiary' : undefined }\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"editor-document-tools__document-overview-toggle\"\n\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\tdisabled={ disableBlockTools }\n\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\tlabel={ listViewLabel }\n\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\n\t\t\t\t\t\t\t\tref={ listViewToggleRef }\n\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ children }\n\t\t\t</div>\n\t\t</NavigableToolbar>\n\t);\n}\n\nexport default DocumentTools;\n"],"mappings":"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"}
|
|
@@ -9,17 +9,35 @@ import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
9
9
|
*/
|
|
10
10
|
import { store as editorStore } from '../../store';
|
|
11
11
|
export default function EditorKeyboardShortcuts() {
|
|
12
|
+
const isModeToggleDisabled = useSelect(select => {
|
|
13
|
+
const {
|
|
14
|
+
richEditingEnabled,
|
|
15
|
+
codeEditingEnabled
|
|
16
|
+
} = select(editorStore).getEditorSettings();
|
|
17
|
+
return !richEditingEnabled || !codeEditingEnabled;
|
|
18
|
+
}, []);
|
|
12
19
|
const {
|
|
13
20
|
redo,
|
|
14
21
|
undo,
|
|
15
22
|
savePost,
|
|
16
|
-
setIsListViewOpened
|
|
23
|
+
setIsListViewOpened,
|
|
24
|
+
switchEditorMode,
|
|
25
|
+
toggleDistractionFree
|
|
17
26
|
} = useDispatch(editorStore);
|
|
18
27
|
const {
|
|
19
28
|
isEditedPostDirty,
|
|
20
29
|
isPostSavingLocked,
|
|
21
|
-
isListViewOpened
|
|
30
|
+
isListViewOpened,
|
|
31
|
+
getEditorMode
|
|
22
32
|
} = useSelect(editorStore);
|
|
33
|
+
useShortcut('core/editor/toggle-mode', () => {
|
|
34
|
+
switchEditorMode(getEditorMode() === 'visual' ? 'text' : 'visual');
|
|
35
|
+
}, {
|
|
36
|
+
isDisabled: isModeToggleDisabled
|
|
37
|
+
});
|
|
38
|
+
useShortcut('core/editor/toggle-distraction-free', () => {
|
|
39
|
+
toggleDistractionFree();
|
|
40
|
+
});
|
|
23
41
|
useShortcut('core/editor/undo', event => {
|
|
24
42
|
undo();
|
|
25
43
|
event.preventDefault();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useShortcut","useDispatch","useSelect","store","editorStore","EditorKeyboardShortcuts","redo","undo","savePost","setIsListViewOpened","isEditedPostDirty","isPostSavingLocked","isListViewOpened","event","preventDefault"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function EditorKeyboardShortcuts() {\n\tconst {
|
|
1
|
+
{"version":3,"names":["useShortcut","useDispatch","useSelect","store","editorStore","EditorKeyboardShortcuts","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","redo","undo","savePost","setIsListViewOpened","switchEditorMode","toggleDistractionFree","isEditedPostDirty","isPostSavingLocked","isListViewOpened","getEditorMode","isDisabled","event","preventDefault"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nexport default function EditorKeyboardShortcuts() {\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\tconst {\n\t\tredo,\n\t\tundo,\n\t\tsavePost,\n\t\tsetIsListViewOpened,\n\t\tswitchEditorMode,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editorStore );\n\tconst {\n\t\tisEditedPostDirty,\n\t\tisPostSavingLocked,\n\t\tisListViewOpened,\n\t\tgetEditorMode,\n\t} = useSelect( editorStore );\n\n\tuseShortcut(\n\t\t'core/editor/toggle-mode',\n\t\t() => {\n\t\t\tswitchEditorMode(\n\t\t\t\tgetEditorMode() === 'visual' ? 'text' : 'visual'\n\t\t\t);\n\t\t},\n\t\t{\n\t\t\tisDisabled: isModeToggleDisabled,\n\t\t}\n\t);\n\n\tuseShortcut( 'core/editor/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/editor/undo', ( event ) => {\n\t\tundo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/redo', ( event ) => {\n\t\tredo();\n\t\tevent.preventDefault();\n\t} );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/editor/toggle-list-view', ( event ) => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tevent.preventDefault();\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\treturn null;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,+BAA+B;AAC3D,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;;AAExD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAElD,eAAe,SAASC,uBAAuBA,CAAA,EAAG;EACjD,MAAMC,oBAAoB,GAAGJ,SAAS,CAAIK,MAAM,IAAM;IACrD,MAAM;MAAEC,kBAAkB;MAAEC;IAAmB,CAAC,GAC/CF,MAAM,CAAEH,WAAY,CAAC,CAACM,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAEF,kBAAkB,IAAI,CAAEC,kBAAkB;EACpD,CAAC,EAAE,EAAG,CAAC;EACP,MAAM;IACLE,IAAI;IACJC,IAAI;IACJC,QAAQ;IACRC,mBAAmB;IACnBC,gBAAgB;IAChBC;EACD,CAAC,GAAGf,WAAW,CAAEG,WAAY,CAAC;EAC9B,MAAM;IACLa,iBAAiB;IACjBC,kBAAkB;IAClBC,gBAAgB;IAChBC;EACD,CAAC,GAAGlB,SAAS,CAAEE,WAAY,CAAC;EAE5BJ,WAAW,CACV,yBAAyB,EACzB,MAAM;IACLe,gBAAgB,CACfK,aAAa,CAAC,CAAC,KAAK,QAAQ,GAAG,MAAM,GAAG,QACzC,CAAC;EACF,CAAC,EACD;IACCC,UAAU,EAAEf;EACb,CACD,CAAC;EAEDN,WAAW,CAAE,qCAAqC,EAAE,MAAM;IACzDgB,qBAAqB,CAAC,CAAC;EACxB,CAAE,CAAC;EAEHhB,WAAW,CAAE,kBAAkB,EAAIsB,KAAK,IAAM;IAC7CV,IAAI,CAAC,CAAC;IACNU,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHvB,WAAW,CAAE,kBAAkB,EAAIsB,KAAK,IAAM;IAC7CX,IAAI,CAAC,CAAC;IACNW,KAAK,CAACC,cAAc,CAAC,CAAC;EACvB,CAAE,CAAC;EAEHvB,WAAW,CAAE,kBAAkB,EAAIsB,KAAK,IAAM;IAC7CA,KAAK,CAACC,cAAc,CAAC,CAAC;;IAEtB;AACF;AACA;IACE,IAAKL,kBAAkB,CAAC,CAAC,EAAG;MAC3B;IACD;;IAEA;IACA;IACA;IACA;IACA;IACA,IAAK,CAAED,iBAAiB,CAAC,CAAC,EAAG;MAC5B;IACD;IAEAJ,QAAQ,CAAC,CAAC;EACX,CAAE,CAAC;;EAEH;EACAb,WAAW,CAAE,8BAA8B,EAAIsB,KAAK,IAAM;IACzD,IAAK,CAAEH,gBAAgB,CAAC,CAAC,EAAG;MAC3BG,KAAK,CAACC,cAAc,CAAC,CAAC;MACtBT,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ"}
|
|
@@ -14,6 +14,15 @@ function EditorKeyboardShortcutsRegister() {
|
|
|
14
14
|
registerShortcut
|
|
15
15
|
} = useDispatch(keyboardShortcutsStore);
|
|
16
16
|
useEffect(() => {
|
|
17
|
+
registerShortcut({
|
|
18
|
+
name: 'core/editor/toggle-mode',
|
|
19
|
+
category: 'global',
|
|
20
|
+
description: __('Switch between visual editor and code editor.'),
|
|
21
|
+
keyCombination: {
|
|
22
|
+
modifier: 'secondary',
|
|
23
|
+
character: 'm'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
17
26
|
registerShortcut({
|
|
18
27
|
name: 'core/editor/save',
|
|
19
28
|
category: 'global',
|
|
@@ -58,6 +67,15 @@ function EditorKeyboardShortcutsRegister() {
|
|
|
58
67
|
character: 'o'
|
|
59
68
|
}
|
|
60
69
|
});
|
|
70
|
+
registerShortcut({
|
|
71
|
+
name: 'core/editor/toggle-distraction-free',
|
|
72
|
+
category: 'global',
|
|
73
|
+
description: __('Toggle distraction free mode.'),
|
|
74
|
+
keyCombination: {
|
|
75
|
+
modifier: 'primaryShift',
|
|
76
|
+
character: '\\'
|
|
77
|
+
}
|
|
78
|
+
});
|
|
61
79
|
}, [registerShortcut]);
|
|
62
80
|
return createElement(BlockEditorKeyboardShortcuts.Register, null);
|
|
63
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useDispatch","__","BlockEditorKeyboardShortcuts","store","keyboardShortcutsStore","isAppleOS","EditorKeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","createElement","Register"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,4BAA4B,QAAQ,yBAAyB;AACtE,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAGP,WAAW,CAAEI,sBAAuB,CAAC;EAClEL,SAAS,CAAE,MAAM;IAChBQ,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,oBAAqB,CAAC;MACvCU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,yBAA0B,CAAC;MAC5CU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,sBAAuB,CAAC;MACzCU,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAET,SAAS,CAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCO,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,2BAA4B,CAAC;MAC9CU,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEN,gBAAgB,CAAG,CAAC;EAEzB,OAAOQ,aAAA,CAACb,4BAA4B,CAACc,QAAQ,MAAE,CAAC;AACjD;AAEA,eAAeV,+BAA+B"}
|
|
1
|
+
{"version":3,"names":["useEffect","useDispatch","__","BlockEditorKeyboardShortcuts","store","keyboardShortcutsStore","isAppleOS","EditorKeyboardShortcutsRegister","registerShortcut","name","category","description","keyCombination","modifier","character","aliases","createElement","Register"],"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/register-shortcuts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { BlockEditorKeyboardShortcuts } from '@wordpress/block-editor';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { isAppleOS } from '@wordpress/keycodes';\n\nfunction EditorKeyboardShortcutsRegister() {\n\t// Registering the shortcuts.\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-mode',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Switch between visual editor and code editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'm',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/save',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Save your changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 's',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/undo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Undo your last changes.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primary',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/redo',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Redo your last undo.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: 'z',\n\t\t\t},\n\t\t\t// Disable on Apple OS because it conflicts with the browser's\n\t\t\t// history shortcut. It's a fine alias for both Windows and Linux.\n\t\t\t// Since there's no conflict for Ctrl+Shift+Z on both Windows and\n\t\t\t// Linux, we keep it as the default for consistency.\n\t\t\taliases: isAppleOS()\n\t\t\t\t? []\n\t\t\t\t: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tmodifier: 'primary',\n\t\t\t\t\t\t\tcharacter: 'y',\n\t\t\t\t\t\t},\n\t\t\t\t ],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-list-view',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Open the block list view.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'o',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/editor/toggle-distraction-free',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle distraction free mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: '\\\\',\n\t\t\t},\n\t\t} );\n\t}, [ registerShortcut ] );\n\n\treturn <BlockEditorKeyboardShortcuts.Register />;\n}\n\nexport default EditorKeyboardShortcutsRegister;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,4BAA4B,QAAQ,yBAAyB;AACtE,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;AAC/E,SAASC,SAAS,QAAQ,qBAAqB;AAE/C,SAASC,+BAA+BA,CAAA,EAAG;EAC1C;EACA,MAAM;IAAEC;EAAiB,CAAC,GAAGP,WAAW,CAAEI,sBAAuB,CAAC;EAClEL,SAAS,CAAE,MAAM;IAChBQ,gBAAgB,CAAE;MACjBC,IAAI,EAAE,yBAAyB;MAC/BC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,+CAAgD,CAAC;MAClEU,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,oBAAqB,CAAC;MACvCU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,yBAA0B,CAAC;MAC5CU,cAAc,EAAE;QACfC,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,kBAAkB;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,sBAAuB,CAAC;MACzCU,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ,CAAC;MACD;MACA;MACA;MACA;MACAC,OAAO,EAAET,SAAS,CAAC,CAAC,GACjB,EAAE,GACF,CACA;QACCO,QAAQ,EAAE,SAAS;QACnBC,SAAS,EAAE;MACZ,CAAC;IAEL,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,8BAA8B;MACpCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,2BAA4B,CAAC;MAC9CU,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHN,gBAAgB,CAAE;MACjBC,IAAI,EAAE,qCAAqC;MAC3CC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAET,EAAE,CAAE,+BAAgC,CAAC;MAClDU,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEN,gBAAgB,CAAG,CAAC;EAEzB,OAAOQ,aAAA,CAACb,4BAA4B,CAACc,QAAQ,MAAE,CAAC;AACjD;AAEA,eAAeV,+BAA+B"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { createElement } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { MenuItemsChoice, MenuGroup } from '@wordpress/components';
|
|
7
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
8
|
+
import { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import { store as editorStore } from '../../store';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Set of available mode options.
|
|
17
|
+
*
|
|
18
|
+
* @type {Array}
|
|
19
|
+
*/
|
|
20
|
+
const MODES = [{
|
|
21
|
+
value: 'visual',
|
|
22
|
+
label: __('Visual editor')
|
|
23
|
+
}, {
|
|
24
|
+
value: 'text',
|
|
25
|
+
label: __('Code editor')
|
|
26
|
+
}];
|
|
27
|
+
function ModeSwitcher() {
|
|
28
|
+
const {
|
|
29
|
+
shortcut,
|
|
30
|
+
isRichEditingEnabled,
|
|
31
|
+
isCodeEditingEnabled,
|
|
32
|
+
mode
|
|
33
|
+
} = useSelect(select => ({
|
|
34
|
+
shortcut: select(keyboardShortcutsStore).getShortcutRepresentation('core/editor/toggle-mode'),
|
|
35
|
+
isRichEditingEnabled: select(editorStore).getEditorSettings().richEditingEnabled,
|
|
36
|
+
isCodeEditingEnabled: select(editorStore).getEditorSettings().codeEditingEnabled,
|
|
37
|
+
mode: select(editorStore).getEditorMode()
|
|
38
|
+
}), []);
|
|
39
|
+
const {
|
|
40
|
+
switchEditorMode
|
|
41
|
+
} = useDispatch(editorStore);
|
|
42
|
+
let selectedMode = mode;
|
|
43
|
+
if (!isRichEditingEnabled && mode === 'visual') {
|
|
44
|
+
selectedMode = 'text';
|
|
45
|
+
}
|
|
46
|
+
if (!isCodeEditingEnabled && mode === 'text') {
|
|
47
|
+
selectedMode = 'visual';
|
|
48
|
+
}
|
|
49
|
+
const choices = MODES.map(choice => {
|
|
50
|
+
if (!isCodeEditingEnabled && choice.value === 'text') {
|
|
51
|
+
choice = {
|
|
52
|
+
...choice,
|
|
53
|
+
disabled: true
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
if (!isRichEditingEnabled && choice.value === 'visual') {
|
|
57
|
+
choice = {
|
|
58
|
+
...choice,
|
|
59
|
+
disabled: true,
|
|
60
|
+
info: __('You can enable the visual editor in your profile settings.')
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
if (choice.value !== selectedMode && !choice.disabled) {
|
|
64
|
+
return {
|
|
65
|
+
...choice,
|
|
66
|
+
shortcut
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
return choice;
|
|
70
|
+
});
|
|
71
|
+
return createElement(MenuGroup, {
|
|
72
|
+
label: __('Editor')
|
|
73
|
+
}, createElement(MenuItemsChoice, {
|
|
74
|
+
choices: choices,
|
|
75
|
+
value: selectedMode,
|
|
76
|
+
onSelect: switchEditorMode
|
|
77
|
+
}));
|
|
78
|
+
}
|
|
79
|
+
export default ModeSwitcher;
|
|
80
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editorStore","MODES","value","label","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","mode","select","getShortcutRepresentation","getEditorSettings","richEditingEnabled","codeEditingEnabled","getEditorMode","switchEditorMode","selectedMode","choices","map","choice","disabled","info","createElement","onSelect"],"sources":["@wordpress/editor/src/components/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst { shortcut, isRichEditingEnabled, isCodeEditingEnabled, mode } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tshortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getShortcutRepresentation( 'core/editor/toggle-mode' ),\n\t\t\t\tisRichEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.richEditingEnabled,\n\t\t\t\tisCodeEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.codeEditingEnabled,\n\t\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\tconst { switchEditorMode } = useDispatch( editorStore );\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;;AAE/E;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AACA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEV,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCS,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEV,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASW,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,QAAQ;IAAEC,oBAAoB;IAAEC,oBAAoB;IAAEC;EAAK,CAAC,GACnEZ,SAAS,CACNa,MAAM,KAAQ;IACfJ,QAAQ,EAAEI,MAAM,CACfV,sBACD,CAAC,CAACW,yBAAyB,CAAE,yBAA0B,CAAC;IACxDJ,oBAAoB,EACnBG,MAAM,CAAET,WAAY,CAAC,CAACW,iBAAiB,CAAC,CAAC,CACvCC,kBAAkB;IACrBL,oBAAoB,EACnBE,MAAM,CAAET,WAAY,CAAC,CAACW,iBAAiB,CAAC,CAAC,CACvCE,kBAAkB;IACrBL,IAAI,EAAEC,MAAM,CAAET,WAAY,CAAC,CAACc,aAAa,CAAC;EAC3C,CAAC,CAAE,EACH,EACD,CAAC;EACF,MAAM;IAAEC;EAAiB,CAAC,GAAGlB,WAAW,CAAEG,WAAY,CAAC;EAEvD,IAAIgB,YAAY,GAAGR,IAAI;EACvB,IAAK,CAAEF,oBAAoB,IAAIE,IAAI,KAAK,QAAQ,EAAG;IAClDQ,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAET,oBAAoB,IAAIC,IAAI,KAAK,MAAM,EAAG;IAChDQ,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGhB,KAAK,CAACiB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEZ,oBAAoB,IAAIY,MAAM,CAACjB,KAAK,KAAK,MAAM,EAAG;MACxDiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAEd,oBAAoB,IAAIa,MAAM,CAACjB,KAAK,KAAK,QAAQ,EAAG;MAC1DiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE5B,EAAE,CACP,4DACD;MACD,CAAC;IACF;IACA,IAAK0B,MAAM,CAACjB,KAAK,KAAKc,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAEd;MAAS,CAAC;IAC/B;IACA,OAAOc,MAAM;EACd,CAAE,CAAC;EAEH,OACCG,aAAA,CAAC3B,SAAS;IAACQ,KAAK,EAAGV,EAAE,CAAE,QAAS;EAAG,GAClC6B,aAAA,CAAC5B,eAAe;IACfuB,OAAO,EAAGA,OAAS;IACnBf,KAAK,EAAGc,YAAc;IACtBO,QAAQ,EAAGR;EAAkB,CAC7B,CACS,CAAC;AAEd;AAEA,eAAeX,YAAY"}
|