@wordpress/edit-post 7.18.0 → 7.19.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/header/index.js +6 -0
- package/build/components/header/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +4 -23
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +9 -3
- package/build/components/layout/index.js.map +1 -1
- package/build/components/start-page-options/index.js +2 -3
- package/build/components/start-page-options/index.js.map +1 -1
- package/build/components/visual-editor/index.js +34 -44
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/editor.js +2 -3
- package/build/editor.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +10 -4
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/store/actions.js +53 -7
- package/build/store/actions.js.map +1 -1
- package/build-module/components/header/index.js +6 -0
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +4 -23
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +9 -3
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/start-page-options/index.js +2 -3
- package/build-module/components/start-page-options/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +35 -45
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/editor.js +2 -3
- package/build-module/editor.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +10 -4
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/store/actions.js +50 -5
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +94 -8
- package/build-style/style.css +94 -8
- package/package.json +32 -32
- package/src/components/header/index.js +2 -0
- package/src/components/keyboard-shortcut-help-modal/test/index.js +4 -5
- package/src/components/keyboard-shortcuts/index.js +5 -31
- package/src/components/layout/index.js +9 -2
- package/src/components/preferences-modal/test/index.js +35 -8
- package/src/components/start-page-options/index.js +4 -5
- package/src/components/visual-editor/index.js +49 -55
- package/src/components/visual-editor/style.scss +89 -0
- package/src/editor.js +17 -20
- package/src/hooks/commands/use-common-commands.js +10 -1
- package/src/store/actions.js +74 -7
- package/src/store/test/actions.js +75 -0
- package/src/store/test/reducer.js +21 -9
- package/src/style.scss +0 -9
- package/src/components/preferences-modal/test/__snapshots__/index.js.snap +0 -942
|
@@ -24,6 +24,9 @@ const slideY = {
|
|
|
24
24
|
hidden: {
|
|
25
25
|
y: '-50px'
|
|
26
26
|
},
|
|
27
|
+
distractionFreeInactive: {
|
|
28
|
+
y: 0
|
|
29
|
+
},
|
|
27
30
|
hover: {
|
|
28
31
|
y: 0,
|
|
29
32
|
transition: {
|
|
@@ -36,6 +39,9 @@ const slideX = {
|
|
|
36
39
|
hidden: {
|
|
37
40
|
x: '-100%'
|
|
38
41
|
},
|
|
42
|
+
distractionFreeInactive: {
|
|
43
|
+
x: 0
|
|
44
|
+
},
|
|
39
45
|
hover: {
|
|
40
46
|
x: 0,
|
|
41
47
|
transition: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PostSavedState","PostPreviewButton","useSelect","PinnedItems","useViewportMatch","__unstableMotion","motion","FullscreenModeClose","HeaderToolbar","MoreMenu","PostPublishButtonOrToggle","default","DevicePreview","ViewLink","MainDashboardButton","store","editPostStore","DocumentActions","slideY","hidden","y","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","isLargeViewport","hasActiveMetaboxes","isPublishSidebarOpened","showIconLabels","select","hasMetaBoxes","isFeatureActive","createElement","className","Slot","div","variants","showTooltip","forceIsDirty","forceIsAutosaveable","Fragment","scope"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PostSavedState, PostPreviewButton } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { __unstableMotion as motion } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport HeaderToolbar from './header-toolbar';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport { default as DevicePreview } from '../device-preview';\nimport ViewLink from '../view-link';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport DocumentActions from './document-actions';\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { hasActiveMetaboxes, isPublishSidebarOpened, showIconLabels } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\tisPublishSidebarOpened:\n\t\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\t\tshowIconLabels:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<HeaderToolbar />\n\t\t\t\t<div className=\"edit-post-header__center\">\n\t\t\t\t\t<DocumentActions />\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<DevicePreview />\n\t\t\t\t<PostPreviewButton forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<ViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isLargeViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,EAAEC,iBAAiB,QAAQ,mBAAmB;AACrE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SAASC,gBAAgB,QAAQ,oBAAoB;AACrD,SAASC,gBAAgB,IAAIC,MAAM,QAAQ,uBAAuB;;AAElE;AACA;AACA;AACA,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,OAAOC,aAAa,MAAM,kBAAkB;AAC5C,OAAOC,QAAQ,MAAM,aAAa;AAClC,OAAOC,yBAAyB,MAAM,iCAAiC;AACvE,SAASC,OAAO,IAAIC,aAAa,QAAQ,mBAAmB;AAC5D,OAAOC,QAAQ,MAAM,cAAc;AACnC,OAAOC,mBAAmB,MAAM,yBAAyB;AACzD,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,OAAOC,eAAe,MAAM,oBAAoB;AAEhD,MAAMC,MAAM,GAAG;EACdC,MAAM,EAAE;IAAEC,CAAC,EAAE;EAAQ,CAAC;EACtBC,
|
|
1
|
+
{"version":3,"names":["PostSavedState","PostPreviewButton","useSelect","PinnedItems","useViewportMatch","__unstableMotion","motion","FullscreenModeClose","HeaderToolbar","MoreMenu","PostPublishButtonOrToggle","default","DevicePreview","ViewLink","MainDashboardButton","store","editPostStore","DocumentActions","slideY","hidden","y","distractionFreeInactive","hover","transition","type","delay","slideX","x","Header","setEntitiesSavedStatesCallback","isLargeViewport","hasActiveMetaboxes","isPublishSidebarOpened","showIconLabels","select","hasMetaBoxes","isFeatureActive","createElement","className","Slot","div","variants","showTooltip","forceIsDirty","forceIsAutosaveable","Fragment","scope"],"sources":["@wordpress/edit-post/src/components/header/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PostSavedState, PostPreviewButton } from '@wordpress/editor';\nimport { useSelect } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { __unstableMotion as motion } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport FullscreenModeClose from './fullscreen-mode-close';\nimport HeaderToolbar from './header-toolbar';\nimport MoreMenu from './more-menu';\nimport PostPublishButtonOrToggle from './post-publish-button-or-toggle';\nimport { default as DevicePreview } from '../device-preview';\nimport ViewLink from '../view-link';\nimport MainDashboardButton from './main-dashboard-button';\nimport { store as editPostStore } from '../../store';\nimport DocumentActions from './document-actions';\n\nconst slideY = {\n\thidden: { y: '-50px' },\n\tdistractionFreeInactive: { y: 0 },\n\thover: { y: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nconst slideX = {\n\thidden: { x: '-100%' },\n\tdistractionFreeInactive: { x: 0 },\n\thover: { x: 0, transition: { type: 'tween', delay: 0.2 } },\n};\n\nfunction Header( { setEntitiesSavedStatesCallback } ) {\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { hasActiveMetaboxes, isPublishSidebarOpened, showIconLabels } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\t\tisPublishSidebarOpened:\n\t\t\t\t\tselect( editPostStore ).isPublishSidebarOpened(),\n\t\t\t\tshowIconLabels:\n\t\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\treturn (\n\t\t<div className=\"edit-post-header\">\n\t\t\t<MainDashboardButton.Slot>\n\t\t\t\t<motion.div\n\t\t\t\t\tvariants={ slideX }\n\t\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\t>\n\t\t\t\t\t<FullscreenModeClose showTooltip />\n\t\t\t\t</motion.div>\n\t\t\t</MainDashboardButton.Slot>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__toolbar\"\n\t\t\t>\n\t\t\t\t<HeaderToolbar />\n\t\t\t\t<div className=\"edit-post-header__center\">\n\t\t\t\t\t<DocumentActions />\n\t\t\t\t</div>\n\t\t\t</motion.div>\n\t\t\t<motion.div\n\t\t\t\tvariants={ slideY }\n\t\t\t\ttransition={ { type: 'tween', delay: 0.8 } }\n\t\t\t\tclassName=\"edit-post-header__settings\"\n\t\t\t>\n\t\t\t\t{ ! isPublishSidebarOpened && (\n\t\t\t\t\t// This button isn't completely hidden by the publish sidebar.\n\t\t\t\t\t// We can't hide the whole toolbar when the publish sidebar is open because\n\t\t\t\t\t// we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.\n\t\t\t\t\t// We track that DOM node to return focus to the PostPublishButtonOrToggle\n\t\t\t\t\t// when the publish sidebar has been closed.\n\t\t\t\t\t<PostSavedState\n\t\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\t\tshowIconLabels={ showIconLabels }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<DevicePreview />\n\t\t\t\t<PostPreviewButton forceIsAutosaveable={ hasActiveMetaboxes } />\n\t\t\t\t<ViewLink />\n\t\t\t\t<PostPublishButtonOrToggle\n\t\t\t\t\tforceIsDirty={ hasActiveMetaboxes }\n\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ ( isLargeViewport || ! showIconLabels ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ showIconLabels && ! isLargeViewport && (\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t) }\n\t\t\t</motion.div>\n\t\t</div>\n\t);\n}\n\nexport default Header;\n"],"mappings":"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"}
|
|
@@ -7,8 +7,6 @@ import { useShortcut, store as keyboardShortcutsStore } from '@wordpress/keyboar
|
|
|
7
7
|
import { __ } from '@wordpress/i18n';
|
|
8
8
|
import { store as editorStore } from '@wordpress/editor';
|
|
9
9
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
10
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
11
|
-
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
10
|
import { createBlock } from '@wordpress/blocks';
|
|
13
11
|
|
|
14
12
|
/**
|
|
@@ -22,8 +20,7 @@ function KeyboardShortcuts() {
|
|
|
22
20
|
const {
|
|
23
21
|
getEditorMode,
|
|
24
22
|
isEditorSidebarOpened,
|
|
25
|
-
isListViewOpened
|
|
26
|
-
isFeatureActive
|
|
23
|
+
isListViewOpened
|
|
27
24
|
} = useSelect(editPostStore);
|
|
28
25
|
const isModeToggleDisabled = useSelect(select => {
|
|
29
26
|
const {
|
|
@@ -32,29 +29,17 @@ function KeyboardShortcuts() {
|
|
|
32
29
|
} = select(editorStore).getEditorSettings();
|
|
33
30
|
return !richEditingEnabled || !codeEditingEnabled;
|
|
34
31
|
}, []);
|
|
35
|
-
const {
|
|
36
|
-
createInfoNotice
|
|
37
|
-
} = useDispatch(noticesStore);
|
|
38
32
|
const {
|
|
39
33
|
switchEditorMode,
|
|
40
34
|
openGeneralSidebar,
|
|
41
35
|
closeGeneralSidebar,
|
|
42
36
|
toggleFeature,
|
|
43
37
|
setIsListViewOpened,
|
|
44
|
-
|
|
38
|
+
toggleDistractionFree
|
|
45
39
|
} = useDispatch(editPostStore);
|
|
46
40
|
const {
|
|
47
41
|
registerShortcut
|
|
48
42
|
} = useDispatch(keyboardShortcutsStore);
|
|
49
|
-
const {
|
|
50
|
-
set: setPreference
|
|
51
|
-
} = useDispatch(preferencesStore);
|
|
52
|
-
const toggleDistractionFree = () => {
|
|
53
|
-
setPreference('core/edit-post', 'fixedToolbar', false);
|
|
54
|
-
setIsInserterOpened(false);
|
|
55
|
-
setIsListViewOpened(false);
|
|
56
|
-
closeGeneralSidebar();
|
|
57
|
-
};
|
|
58
43
|
const {
|
|
59
44
|
replaceBlocks
|
|
60
45
|
} = useDispatch(blockEditorStore);
|
|
@@ -200,11 +185,6 @@ function KeyboardShortcuts() {
|
|
|
200
185
|
});
|
|
201
186
|
useShortcut('core/edit-post/toggle-distraction-free', () => {
|
|
202
187
|
toggleDistractionFree();
|
|
203
|
-
toggleFeature('distractionFree');
|
|
204
|
-
createInfoNotice(isFeatureActive('distractionFree') ? __('Distraction free on.') : __('Distraction free off.'), {
|
|
205
|
-
id: 'core/edit-post/distraction-free-mode/notice',
|
|
206
|
-
type: 'snackbar'
|
|
207
|
-
});
|
|
208
188
|
});
|
|
209
189
|
useShortcut('core/edit-post/toggle-sidebar', event => {
|
|
210
190
|
// This shortcut has no known clashes, but use preventDefault to prevent any
|
|
@@ -219,8 +199,9 @@ function KeyboardShortcuts() {
|
|
|
219
199
|
});
|
|
220
200
|
|
|
221
201
|
// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.
|
|
222
|
-
useShortcut('core/edit-post/toggle-list-view',
|
|
202
|
+
useShortcut('core/edit-post/toggle-list-view', event => {
|
|
223
203
|
if (!isListViewOpened()) {
|
|
204
|
+
event.preventDefault();
|
|
224
205
|
setIsListViewOpened(true);
|
|
225
206
|
}
|
|
226
207
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editorStore","blockEditorStore","noticesStore","preferencesStore","createBlock","editPostStore","KeyboardShortcuts","getBlockSelectionStart","getEditorMode","isEditorSidebarOpened","isListViewOpened","isFeatureActive","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","createInfoNotice","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","setIsInserterOpened","registerShortcut","set","setPreference","toggleDistractionFree","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","name","category","description","keyCombination","modifier","character","aliases","forEach","isDisabled","id","type","sidebarToOpen"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst {\n\t\tgetEditorMode,\n\t\tisEditorSidebarOpened,\n\t\tisListViewOpened,\n\t\tisFeatureActive,\n\t} = useSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst { createInfoNotice } = useDispatch( noticesStore );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\tsetIsInserterOpened,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\tconst toggleDistractionFree = () => {\n\t\tsetPreference( 'core/edit-post', 'fixedToolbar', false );\n\t\tsetIsInserterOpened( false );\n\t\tsetIsListViewOpened( false );\n\t\tcloseGeneralSidebar();\n\t};\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/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/edit-post/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\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/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/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/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/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t\ttoggleFeature( 'distractionFree' );\n\t\tcreateInfoNotice(\n\t\t\tisFeatureActive( 'distractionFree' )\n\t\t\t\t? __( 'Distraction free on.' )\n\t\t\t\t: __( 'Distraction free off.' ),\n\t\t\t{\n\t\t\t\tid: 'core/edit-post/distraction-free-mode/notice',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/toggle-list-view', () => {\n\t\tif ( ! isListViewOpened() ) {\n\t\t\tsetIsListViewOpened( true );\n\t\t}\n\t} );\n\n\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SACCC,WAAW,EACXC,KAAK,IAAIC,sBAAsB,QACzB,+BAA+B;AACtC,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASF,KAAK,IAAIG,WAAW,QAAQ,mBAAmB;AACxD,SAASH,KAAK,IAAII,gBAAgB,QAAQ,yBAAyB;AACnE,SAASJ,KAAK,IAAIK,YAAY,QAAQ,oBAAoB;AAC1D,SAASL,KAAK,IAAIM,gBAAgB,QAAQ,wBAAwB;AAClE,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA,SAASP,KAAK,IAAIQ,aAAa,QAAQ,aAAa;AAEpD,SAASC,iBAAiBA,CAAA,EAAG;EAC5B,MAAM;IAAEC;EAAuB,CAAC,GAAGb,SAAS,CAAEO,gBAAiB,CAAC;EAChE,MAAM;IACLO,aAAa;IACbC,qBAAqB;IACrBC,gBAAgB;IAChBC;EACD,CAAC,GAAGjB,SAAS,CAAEW,aAAc,CAAC;EAC9B,MAAMO,oBAAoB,GAAGlB,SAAS,CAAImB,MAAM,IAAM;IACrD,MAAM;MAAEC,kBAAkB;MAAEC;IAAmB,CAAC,GAC/CF,MAAM,CAAEb,WAAY,CAAC,CAACgB,iBAAiB,CAAC,CAAC;IAC1C,OAAO,CAAEF,kBAAkB,IAAI,CAAEC,kBAAkB;EACpD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAiB,CAAC,GAAGtB,WAAW,CAAEO,YAAa,CAAC;EAExD,MAAM;IACLgB,gBAAgB;IAChBC,kBAAkB;IAClBC,mBAAmB;IACnBC,aAAa;IACbC,mBAAmB;IACnBC;EACD,CAAC,GAAG5B,WAAW,CAAEU,aAAc,CAAC;EAChC,MAAM;IAAEmB;EAAiB,CAAC,GAAG7B,WAAW,CAAEG,sBAAuB,CAAC;EAElE,MAAM;IAAE2B,GAAG,EAAEC;EAAc,CAAC,GAAG/B,WAAW,CAAEQ,gBAAiB,CAAC;EAE9D,MAAMwB,qBAAqB,GAAGA,CAAA,KAAM;IACnCD,aAAa,CAAE,gBAAgB,EAAE,cAAc,EAAE,KAAM,CAAC;IACxDH,mBAAmB,CAAE,KAAM,CAAC;IAC5BD,mBAAmB,CAAE,KAAM,CAAC;IAC5BF,mBAAmB,CAAC,CAAC;EACtB,CAAC;EAED,MAAM;IAAEQ;EAAc,CAAC,GAAGjC,WAAW,CAAEM,gBAAiB,CAAC;EACzD,MAAM;IAAE4B,YAAY;IAAEC,wBAAwB;IAAEC;EAAmB,CAAC,GACnErC,SAAS,CAAEO,gBAAiB,CAAC;EAE9B,MAAM+B,uBAAuB,GAAGA,CAAEC,KAAK,EAAEC,KAAK,KAAM;IACnDD,KAAK,CAACE,cAAc,CAAC,CAAC;IACtB,MAAMC,oBAAoB,GACzBF,KAAK,KAAK,CAAC,GAAG,gBAAgB,GAAG,cAAc;IAChD,MAAMG,eAAe,GAAGP,wBAAwB,CAAC,CAAC;IAClD,IAAKO,eAAe,KAAK,IAAI,EAAG;MAC/B;IACD;IACA,MAAMC,SAAS,GAAGT,YAAY,CAAEQ,eAAgB,CAAC;IACjD,IAAKC,SAAS,KAAK,gBAAgB,IAAIA,SAAS,KAAK,cAAc,EAAG;MACrE;IACD;IACA,MAAMC,UAAU,GAAGR,kBAAkB,CAAEM,eAAgB,CAAC;IACxD,MAAMG,SAAS,GACdF,SAAS,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW;IACvD,MAAMG,oBAAoB,GACzBL,oBAAoB,KAAK,gBAAgB,GAAG,OAAO,GAAG,WAAW;IAElER,aAAa,CACZS,eAAe,EACfjC,WAAW,CAAEgC,oBAAoB,EAAE;MAClCF,KAAK;MACLQ,OAAO,EAAEH,UAAU,CAACG,OAAO;MAC3B,GAAG;QAAE,CAAED,oBAAoB,GAAIF,UAAU,CAAEC,SAAS;MAAG;IACxD,CAAE,CACH,CAAC;EACF,CAAC;EAED/C,SAAS,CAAE,MAAM;IAChB+B,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,4BAA4B;MAClCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,+CAAgD,CAAC;MAClE+C,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,wCAAwC;MAC9CC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,+BAAgC,CAAC;MAClD+C,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,kCAAkC;MACxCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,yBAA0B,CAAC;MAC5C+C,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,iCAAiC;MACvCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,2BAA4B,CAAC;MAC9C+C,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,+BAA+B;MACrCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,oCAAqC,CAAC;MACvD+C,cAAc,EAAE;QACfC,QAAQ,EAAE,cAAc;QACxBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,4BAA4B;MAClCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,0CAA2C,CAAC;MAC7D+C,cAAc,EAAE;QACfC,QAAQ,EAAE,MAAM;QAChBC,SAAS,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE,CACR;QACCF,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ,CAAC;IAEH,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,gCAAgC;MACtCC,QAAQ,EAAE,QAAQ;MAClBC,WAAW,EAAE9C,EAAE,CAAE,8CAA+C,CAAC;MACjE+C,cAAc,EAAE;QACfC,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ,CAAC;MACDC,OAAO,EAAE,CACR;QACCF,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ,CAAC,EACD;QACCD,QAAQ,EAAE,WAAW;QACrBC,SAAS,EAAE;MACZ,CAAC;IAEH,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,mCAAmC;MACzCC,QAAQ,EAAE,MAAM;MAChBC,WAAW,EAAE9C,EAAE,CAAE,mCAAoC,CAAC;MACtD+C,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAE;MACZ;IACD,CAAE,CAAC;IAEHxB,gBAAgB,CAAE;MACjBmB,IAAI,EAAE,+CAA+C;MACrDC,QAAQ,EAAE,eAAe;MACzBC,WAAW,EAAE9C,EAAE,CAAE,iCAAkC,CAAC;MACpD+C,cAAc,EAAE;QACfC,QAAQ,EAAE,QAAQ;QAClBC,SAAS,EAAG;MACb;IACD,CAAE,CAAC;IAEH,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAACE,OAAO,CAAIhB,KAAK,IAAM;MAC1CV,gBAAgB,CAAE;QACjBmB,IAAI,EAAG,iDAAiDT,KAAO,EAAC;QAChEU,QAAQ,EAAE,eAAe;QACzBC,WAAW,EAAE9C,EAAE,CAAE,iCAAkC,CAAC;QACpD+C,cAAc,EAAE;UACfC,QAAQ,EAAE,QAAQ;UAClBC,SAAS,EAAG,GAAGd,KAAO;QACvB;MACD,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ,CAAC,EAAE,EAAG,CAAC;EAEPtC,WAAW,CACV,4BAA4B,EAC5B,MAAM;IACLsB,gBAAgB,CACfV,aAAa,CAAC,CAAC,KAAK,QAAQ,GAAG,MAAM,GAAG,QACzC,CAAC;EACF,CAAC,EACD;IACC2C,UAAU,EAAEvC;EACb,CACD,CAAC;EAEDhB,WAAW,CAAE,kCAAkC,EAAE,MAAM;IACtDyB,aAAa,CAAE,gBAAiB,CAAC;EAClC,CAAE,CAAC;EAEHzB,WAAW,CAAE,wCAAwC,EAAE,MAAM;IAC5D+B,qBAAqB,CAAC,CAAC;IACvBN,aAAa,CAAE,iBAAkB,CAAC;IAClCJ,gBAAgB,CACfN,eAAe,CAAE,iBAAkB,CAAC,GACjCZ,EAAE,CAAE,sBAAuB,CAAC,GAC5BA,EAAE,CAAE,uBAAwB,CAAC,EAChC;MACCqD,EAAE,EAAE,6CAA6C;MACjDC,IAAI,EAAE;IACP,CACD,CAAC;EACF,CAAE,CAAC;EAEHzD,WAAW,CAAE,+BAA+B,EAAIqC,KAAK,IAAM;IAC1D;IACA;IACAA,KAAK,CAACE,cAAc,CAAC,CAAC;IAEtB,IAAK1B,qBAAqB,CAAC,CAAC,EAAG;MAC9BW,mBAAmB,CAAC,CAAC;IACtB,CAAC,MAAM;MACN,MAAMkC,aAAa,GAAG/C,sBAAsB,CAAC,CAAC,GAC3C,iBAAiB,GACjB,oBAAoB;MACvBY,kBAAkB,CAAEmC,aAAc,CAAC;IACpC;EACD,CAAE,CAAC;;EAEH;EACA1D,WAAW,CAAE,iCAAiC,EAAE,MAAM;IACrD,IAAK,CAAEc,gBAAgB,CAAC,CAAC,EAAG;MAC3BY,mBAAmB,CAAE,IAAK,CAAC;IAC5B;EACD,CAAE,CAAC;EAEH1B,WAAW,CAAE,+CAA+C,EAAIqC,KAAK,IACpED,uBAAuB,CAAEC,KAAK,EAAE,CAAE,CACnC,CAAC;EAED,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAACiB,OAAO,CAAIhB,KAAK,IAAM;IAC1C;IACA;IACA;IACAtC,WAAW,CACT,iDAAiDsC,KAAO,EAAC,EACxDD,KAAK,IAAMD,uBAAuB,CAAEC,KAAK,EAAEC,KAAM,CACpD,CAAC;EACF,CAAE,CAAC;EAEH,OAAO,IAAI;AACZ;AAEA,eAAe5B,iBAAiB"}
|
|
1
|
+
{"version":3,"names":["useEffect","useSelect","useDispatch","useShortcut","store","keyboardShortcutsStore","__","editorStore","blockEditorStore","createBlock","editPostStore","KeyboardShortcuts","getBlockSelectionStart","getEditorMode","isEditorSidebarOpened","isListViewOpened","isModeToggleDisabled","select","richEditingEnabled","codeEditingEnabled","getEditorSettings","switchEditorMode","openGeneralSidebar","closeGeneralSidebar","toggleFeature","setIsListViewOpened","toggleDistractionFree","registerShortcut","replaceBlocks","getBlockName","getSelectedBlockClientId","getBlockAttributes","handleTextLevelShortcut","event","level","preventDefault","destinationBlockName","currentClientId","blockName","attributes","textAlign","destinationTextAlign","content","name","category","description","keyCombination","modifier","character","aliases","forEach","isDisabled","sidebarToOpen"],"sources":["@wordpress/edit-post/src/components/keyboard-shortcuts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { __ } from '@wordpress/i18n';\nimport { store as editorStore } from '@wordpress/editor';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction KeyboardShortcuts() {\n\tconst { getBlockSelectionStart } = useSelect( blockEditorStore );\n\tconst { getEditorMode, isEditorSidebarOpened, isListViewOpened } =\n\t\tuseSelect( editPostStore );\n\tconst isModeToggleDisabled = useSelect( ( select ) => {\n\t\tconst { richEditingEnabled, codeEditingEnabled } =\n\t\t\tselect( editorStore ).getEditorSettings();\n\t\treturn ! richEditingEnabled || ! codeEditingEnabled;\n\t}, [] );\n\n\tconst {\n\t\tswitchEditorMode,\n\t\topenGeneralSidebar,\n\t\tcloseGeneralSidebar,\n\t\ttoggleFeature,\n\t\tsetIsListViewOpened,\n\t\ttoggleDistractionFree,\n\t} = useDispatch( editPostStore );\n\tconst { registerShortcut } = useDispatch( keyboardShortcutsStore );\n\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst { getBlockName, getSelectedBlockClientId, getBlockAttributes } =\n\t\tuseSelect( blockEditorStore );\n\n\tconst handleTextLevelShortcut = ( event, level ) => {\n\t\tevent.preventDefault();\n\t\tconst destinationBlockName =\n\t\t\tlevel === 0 ? 'core/paragraph' : 'core/heading';\n\t\tconst currentClientId = getSelectedBlockClientId();\n\t\tif ( currentClientId === null ) {\n\t\t\treturn;\n\t\t}\n\t\tconst blockName = getBlockName( currentClientId );\n\t\tif ( blockName !== 'core/paragraph' && blockName !== 'core/heading' ) {\n\t\t\treturn;\n\t\t}\n\t\tconst attributes = getBlockAttributes( currentClientId );\n\t\tconst textAlign =\n\t\t\tblockName === 'core/paragraph' ? 'align' : 'textAlign';\n\t\tconst destinationTextAlign =\n\t\t\tdestinationBlockName === 'core/paragraph' ? 'align' : 'textAlign';\n\n\t\treplaceBlocks(\n\t\t\tcurrentClientId,\n\t\t\tcreateBlock( destinationBlockName, {\n\t\t\t\tlevel,\n\t\t\t\tcontent: attributes.content,\n\t\t\t\t...{ [ destinationTextAlign ]: attributes[ textAlign ] },\n\t\t\t} )\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/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/edit-post/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\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/toggle-fullscreen',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Toggle fullscreen mode.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'secondary',\n\t\t\t\tcharacter: 'f',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/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/edit-post/toggle-sidebar',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Show or hide the Settings sidebar.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'primaryShift',\n\t\t\t\tcharacter: ',',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/next-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the next part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrl',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'n',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/previous-region',\n\t\t\tcategory: 'global',\n\t\t\tdescription: __( 'Navigate to the previous part of the editor.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\tcharacter: '`',\n\t\t\t},\n\t\t\taliases: [\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: 'p',\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tmodifier: 'ctrlShift',\n\t\t\t\t\tcharacter: '~',\n\t\t\t\t},\n\t\t\t],\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/keyboard-shortcuts',\n\t\t\tcategory: 'main',\n\t\t\tdescription: __( 'Display these keyboard shortcuts.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: 'h',\n\t\t\t},\n\t\t} );\n\n\t\tregisterShortcut( {\n\t\t\tname: 'core/edit-post/transform-heading-to-paragraph',\n\t\t\tcategory: 'block-library',\n\t\t\tdescription: __( 'Transform heading to paragraph.' ),\n\t\t\tkeyCombination: {\n\t\t\t\tmodifier: 'access',\n\t\t\t\tcharacter: `0`,\n\t\t\t},\n\t\t} );\n\n\t\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t\tregisterShortcut( {\n\t\t\t\tname: `core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t\tcategory: 'block-library',\n\t\t\t\tdescription: __( 'Transform paragraph to heading.' ),\n\t\t\t\tkeyCombination: {\n\t\t\t\t\tmodifier: 'access',\n\t\t\t\t\tcharacter: `${ level }`,\n\t\t\t\t},\n\t\t\t} );\n\t\t} );\n\t}, [] );\n\n\tuseShortcut(\n\t\t'core/edit-post/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/edit-post/toggle-fullscreen', () => {\n\t\ttoggleFeature( 'fullscreenMode' );\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-distraction-free', () => {\n\t\ttoggleDistractionFree();\n\t} );\n\n\tuseShortcut( 'core/edit-post/toggle-sidebar', ( event ) => {\n\t\t// This shortcut has no known clashes, but use preventDefault to prevent any\n\t\t// obscure shortcuts from triggering.\n\t\tevent.preventDefault();\n\n\t\tif ( isEditorSidebarOpened() ) {\n\t\t\tcloseGeneralSidebar();\n\t\t} else {\n\t\t\tconst sidebarToOpen = getBlockSelectionStart()\n\t\t\t\t? 'edit-post/block'\n\t\t\t\t: 'edit-post/document';\n\t\t\topenGeneralSidebar( sidebarToOpen );\n\t\t}\n\t} );\n\n\t// Only opens the list view. Other functionality for this shortcut happens in the rendered sidebar.\n\tuseShortcut( 'core/edit-post/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\tuseShortcut( 'core/edit-post/transform-heading-to-paragraph', ( event ) =>\n\t\thandleTextLevelShortcut( event, 0 )\n\t);\n\n\t[ 1, 2, 3, 4, 5, 6 ].forEach( ( level ) => {\n\t\t//the loop is based off on a constant therefore\n\t\t//the hook will execute the same way every time\n\t\t//eslint-disable-next-line react-hooks/rules-of-hooks\n\t\tuseShortcut(\n\t\t\t`core/edit-post/transform-paragraph-to-heading-${ level }`,\n\t\t\t( event ) => handleTextLevelShortcut( event, level )\n\t\t);\n\t} );\n\n\treturn null;\n}\n\nexport default KeyboardShortcuts;\n"],"mappings":"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"}
|
|
@@ -167,11 +167,17 @@ function Layout() {
|
|
|
167
167
|
}
|
|
168
168
|
setEntitiesSavedStatesCallback(false);
|
|
169
169
|
}, [entitiesSavedStatesCallback]);
|
|
170
|
+
|
|
171
|
+
// We need to add the show-icon-labels class to the body element so it is applied to modals.
|
|
172
|
+
if (showIconLabels) {
|
|
173
|
+
document.body.classList.add('show-icon-labels');
|
|
174
|
+
} else {
|
|
175
|
+
document.body.classList.remove('show-icon-labels');
|
|
176
|
+
}
|
|
170
177
|
const className = classnames('edit-post-layout', 'is-mode-' + mode, {
|
|
171
178
|
'is-sidebar-opened': sidebarIsOpened,
|
|
172
179
|
'has-fixed-toolbar': hasFixedToolbar,
|
|
173
180
|
'has-metaboxes': hasActiveMetaboxes,
|
|
174
|
-
'show-icon-labels': showIconLabels,
|
|
175
181
|
'is-distraction-free': isDistractionFree && isLargeViewport,
|
|
176
182
|
'is-entity-save-view-open': !!entitiesSavedStatesCallback
|
|
177
183
|
});
|
|
@@ -191,7 +197,7 @@ function Layout() {
|
|
|
191
197
|
}
|
|
192
198
|
return createElement(Fragment, null, createElement(FullscreenMode, {
|
|
193
199
|
isActive: isFullscreenActive
|
|
194
|
-
}), createElement(BrowserURL, null), createElement(UnsavedChangesWarning, null), createElement(AutosaveMonitor, null), createElement(LocalAutosaveMonitor, null), createElement(EditPostKeyboardShortcuts, null), createElement(EditorKeyboardShortcutsRegister, null), createElement(EditorKeyboardShortcuts, null), createElement(
|
|
200
|
+
}), createElement(BrowserURL, null), createElement(UnsavedChangesWarning, null), createElement(AutosaveMonitor, null), createElement(LocalAutosaveMonitor, null), createElement(EditPostKeyboardShortcuts, null), createElement(EditorKeyboardShortcutsRegister, null), createElement(EditorKeyboardShortcuts, null), createElement(InterfaceSkeleton, {
|
|
195
201
|
isDistractionFree: isDistractionFree && isLargeViewport,
|
|
196
202
|
className: className,
|
|
197
203
|
labels: {
|
|
@@ -239,7 +245,7 @@ function Layout() {
|
|
|
239
245
|
}
|
|
240
246
|
}), createElement(EditPostPreferencesModal, null), createElement(KeyboardShortcutHelpModal, null), createElement(WelcomeGuide, null), createElement(PostSyncStatusModal, null), createElement(StartPageOptions, null), createElement(PluginArea, {
|
|
241
247
|
onError: onPluginAreaError
|
|
242
|
-
}));
|
|
248
|
+
}), createElement(SettingsSidebar, null));
|
|
243
249
|
}
|
|
244
250
|
export default Layout;
|
|
245
251
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorSnackbars","PostSyncStatusModal","store","editorStore","useSelect","useDispatch","useBlockCommands","BlockBreadcrumb","privateApis","blockEditorPrivateApis","Button","ScrollLock","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","useMemo","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","getLayoutStyles","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","className","secondarySidebarLabel","secondarySidebar","createElement","onPluginAreaError","Fragment","isActive","labels","editorNotices","variant","onClick","Slot","scope","notices","content","location","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","onError"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tuseBlockCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'show-icon-labels': showIconLabels,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<EditorKeyboardShortcuts />\n\t\t\t<SettingsSidebar />\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","AutosaveMonitor","LocalAutosaveMonitor","UnsavedChangesWarning","EditorNotices","EditorKeyboardShortcutsRegister","EditorKeyboardShortcuts","EditorSnackbars","PostSyncStatusModal","store","editorStore","useSelect","useDispatch","useBlockCommands","BlockBreadcrumb","privateApis","blockEditorPrivateApis","Button","ScrollLock","useViewportMatch","PluginArea","__","_x","sprintf","ComplementaryArea","FullscreenMode","InterfaceSkeleton","interfaceStore","useState","useEffect","useCallback","useMemo","keyboardShortcutsStore","noticesStore","TextEditor","VisualEditor","EditPostKeyboardShortcuts","KeyboardShortcutHelpModal","EditPostPreferencesModal","BrowserURL","Header","InserterSidebar","ListViewSidebar","SettingsSidebar","MetaBoxes","WelcomeGuide","ActionsPanel","StartPageOptions","editPostStore","unlock","getLayoutStyles","interfaceLabels","header","body","sidebar","actions","footer","useEditorStyles","hasThemeStyleSupport","editorSettings","select","isFeatureActive","getEditorSettings","_editorSettings$style","_editorSettings$style2","presetStyles","styles","filter","style","__unstableType","defaultEditorStyles","hasThemeStyles","length","disableLayoutStyles","push","css","selector","hasBlockGapSupport","hasFallbackGapSupport","fallbackGapValue","Layout","isMobileViewport","isHugeViewport","isLargeViewport","openGeneralSidebar","closeGeneralSidebar","setIsInserterOpened","createErrorNotice","mode","isFullscreenActive","isRichEditingEnabled","sidebarIsOpened","hasActiveMetaboxes","hasFixedToolbar","previousShortcut","nextShortcut","hasBlockSelected","isInserterOpened","isListViewOpened","showIconLabels","isDistractionFree","showBlockBreadcrumbs","isTemplateMode","documentLabel","getPostTypeLabel","postTypeLabel","isEditingTemplate","getActiveComplementaryArea","name","isPublishSidebarOpened","getEditorMode","richEditingEnabled","hasMetaBoxes","getAllShortcutKeyCombinations","openSidebarPanel","entitiesSavedStatesCallback","setEntitiesSavedStatesCallback","closeEntitiesSavedStates","arg","document","classList","add","remove","className","secondarySidebarLabel","secondarySidebar","createElement","onPluginAreaError","Fragment","isActive","labels","editorNotices","variant","onClick","Slot","scope","notices","content","location","rootLabelText","isEntitiesSavedStatesOpen","shortcuts","previous","next","onError"],"sources":["@wordpress/edit-post/src/components/layout/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAutosaveMonitor,\n\tLocalAutosaveMonitor,\n\tUnsavedChangesWarning,\n\tEditorNotices,\n\tEditorKeyboardShortcutsRegister,\n\tEditorKeyboardShortcuts,\n\tEditorSnackbars,\n\tPostSyncStatusModal,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseBlockCommands,\n\tBlockBreadcrumb,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Button, ScrollLock } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { PluginArea } from '@wordpress/plugins';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport {\n\tComplementaryArea,\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useState, useEffect, useCallback, useMemo } from '@wordpress/element';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport TextEditor from '../text-editor';\nimport VisualEditor from '../visual-editor';\nimport EditPostKeyboardShortcuts from '../keyboard-shortcuts';\nimport KeyboardShortcutHelpModal from '../keyboard-shortcut-help-modal';\nimport EditPostPreferencesModal from '../preferences-modal';\nimport BrowserURL from '../browser-url';\nimport Header from '../header';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport SettingsSidebar from '../sidebar/settings-sidebar';\nimport MetaBoxes from '../meta-boxes';\nimport WelcomeGuide from '../welcome-guide';\nimport ActionsPanel from './actions-panel';\nimport StartPageOptions from '../start-page-options';\nimport { store as editPostStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { getLayoutStyles } = unlock( blockEditorPrivateApis );\n\nconst interfaceLabels = {\n\t/* translators: accessibility text for the editor top bar landmark region. */\n\theader: __( 'Editor top bar' ),\n\t/* translators: accessibility text for the editor content landmark region. */\n\tbody: __( 'Editor content' ),\n\t/* translators: accessibility text for the editor settings landmark region. */\n\tsidebar: __( 'Editor settings' ),\n\t/* translators: accessibility text for the editor publish landmark region. */\n\tactions: __( 'Editor publish' ),\n\t/* translators: accessibility text for the editor footer landmark region. */\n\tfooter: __( 'Editor footer' ),\n};\n\nfunction useEditorStyles() {\n\tconst { hasThemeStyleSupport, editorSettings } = useSelect(\n\t\t( select ) => ( {\n\t\t\thasThemeStyleSupport:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'themeStyles' ),\n\t\t\teditorSettings: select( editorStore ).getEditorSettings(),\n\t\t} ),\n\t\t[]\n\t);\n\n\t// Compute the default styles.\n\treturn useMemo( () => {\n\t\tconst presetStyles =\n\t\t\teditorSettings.styles?.filter(\n\t\t\t\t( style ) =>\n\t\t\t\t\tstyle.__unstableType && style.__unstableType !== 'theme'\n\t\t\t) ?? [];\n\n\t\tconst defaultEditorStyles = [\n\t\t\t...editorSettings.defaultEditorStyles,\n\t\t\t...presetStyles,\n\t\t];\n\n\t\t// Has theme styles if the theme supports them and if some styles were not preset styles (in which case they're theme styles).\n\t\tconst hasThemeStyles =\n\t\t\thasThemeStyleSupport &&\n\t\t\tpresetStyles.length !== ( editorSettings.styles?.length ?? 0 );\n\n\t\t// If theme styles are not present or displayed, ensure that\n\t\t// base layout styles are still present in the editor.\n\t\tif ( ! editorSettings.disableLayoutStyles && ! hasThemeStyles ) {\n\t\t\tdefaultEditorStyles.push( {\n\t\t\t\tcss: getLayoutStyles( {\n\t\t\t\t\tstyle: {},\n\t\t\t\t\tselector: 'body',\n\t\t\t\t\thasBlockGapSupport: false,\n\t\t\t\t\thasFallbackGapSupport: true,\n\t\t\t\t\tfallbackGapValue: '0.5em',\n\t\t\t\t} ),\n\t\t\t} );\n\t\t}\n\n\t\treturn hasThemeStyles ? editorSettings.styles : defaultEditorStyles;\n\t}, [\n\t\teditorSettings.defaultEditorStyles,\n\t\teditorSettings.disableLayoutStyles,\n\t\teditorSettings.styles,\n\t\thasThemeStyleSupport,\n\t] );\n}\n\nfunction Layout() {\n\tuseBlockCommands();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst isHugeViewport = useViewportMatch( 'huge', '>=' );\n\tconst isLargeViewport = useViewportMatch( 'large' );\n\tconst { openGeneralSidebar, closeGeneralSidebar, setIsInserterOpened } =\n\t\tuseDispatch( editPostStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tmode,\n\t\tisFullscreenActive,\n\t\tisRichEditingEnabled,\n\t\tsidebarIsOpened,\n\t\thasActiveMetaboxes,\n\t\thasFixedToolbar,\n\t\tpreviousShortcut,\n\t\tnextShortcut,\n\t\thasBlockSelected,\n\t\tisInserterOpened,\n\t\tisListViewOpened,\n\t\tshowIconLabels,\n\t\tisDistractionFree,\n\t\tshowBlockBreadcrumbs,\n\t\tisTemplateMode,\n\t\tdocumentLabel,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditorSettings, getPostTypeLabel } = select( editorStore );\n\t\tconst editorSettings = getEditorSettings();\n\t\tconst postTypeLabel = getPostTypeLabel();\n\n\t\treturn {\n\t\t\tisTemplateMode: select( editPostStore ).isEditingTemplate(),\n\t\t\thasFixedToolbar:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fixedToolbar' ),\n\t\t\tsidebarIsOpened: !! (\n\t\t\t\tselect( interfaceStore ).getActiveComplementaryArea(\n\t\t\t\t\teditPostStore.name\n\t\t\t\t) || select( editPostStore ).isPublishSidebarOpened()\n\t\t\t),\n\t\t\tisFullscreenActive:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'fullscreenMode' ),\n\t\t\tisInserterOpened: select( editPostStore ).isInserterOpened(),\n\t\t\tisListViewOpened: select( editPostStore ).isListViewOpened(),\n\t\t\tmode: select( editPostStore ).getEditorMode(),\n\t\t\tisRichEditingEnabled: editorSettings.richEditingEnabled,\n\t\t\thasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),\n\t\t\tpreviousShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/previous-region' ),\n\t\t\tnextShortcut: select(\n\t\t\t\tkeyboardShortcutsStore\n\t\t\t).getAllShortcutKeyCombinations( 'core/edit-post/next-region' ),\n\t\t\tshowIconLabels:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'showIconLabels' ),\n\t\t\tisDistractionFree:\n\t\t\t\tselect( editPostStore ).isFeatureActive( 'distractionFree' ),\n\t\t\tshowBlockBreadcrumbs: select( editPostStore ).isFeatureActive(\n\t\t\t\t'showBlockBreadcrumbs'\n\t\t\t),\n\t\t\t// translators: Default label for the Document in the Block Breadcrumb.\n\t\t\tdocumentLabel: postTypeLabel || _x( 'Document', 'noun' ),\n\t\t};\n\t}, [] );\n\n\tconst styles = useEditorStyles();\n\n\tconst openSidebarPanel = () =>\n\t\topenGeneralSidebar(\n\t\t\thasBlockSelected ? 'edit-post/block' : 'edit-post/document'\n\t\t);\n\n\t// Inserter and Sidebars are mutually exclusive\n\tuseEffect( () => {\n\t\tif ( sidebarIsOpened && ! isHugeViewport ) {\n\t\t\tsetIsInserterOpened( false );\n\t\t}\n\t}, [ sidebarIsOpened, isHugeViewport ] );\n\tuseEffect( () => {\n\t\tif ( isInserterOpened && ! isHugeViewport ) {\n\t\t\tcloseGeneralSidebar();\n\t\t}\n\t}, [ isInserterOpened, isHugeViewport ] );\n\n\t// Local state for save panel.\n\t// Note 'truthy' callback implies an open panel.\n\tconst [ entitiesSavedStatesCallback, setEntitiesSavedStatesCallback ] =\n\t\tuseState( false );\n\tconst closeEntitiesSavedStates = useCallback(\n\t\t( arg ) => {\n\t\t\tif ( typeof entitiesSavedStatesCallback === 'function' ) {\n\t\t\t\tentitiesSavedStatesCallback( arg );\n\t\t\t}\n\t\t\tsetEntitiesSavedStatesCallback( false );\n\t\t},\n\t\t[ entitiesSavedStatesCallback ]\n\t);\n\n\t// We need to add the show-icon-labels class to the body element so it is applied to modals.\n\tif ( showIconLabels ) {\n\t\tdocument.body.classList.add( 'show-icon-labels' );\n\t} else {\n\t\tdocument.body.classList.remove( 'show-icon-labels' );\n\t}\n\n\tconst className = classnames( 'edit-post-layout', 'is-mode-' + mode, {\n\t\t'is-sidebar-opened': sidebarIsOpened,\n\t\t'has-fixed-toolbar': hasFixedToolbar,\n\t\t'has-metaboxes': hasActiveMetaboxes,\n\t\t'is-distraction-free': isDistractionFree && isLargeViewport,\n\t\t'is-entity-save-view-open': !! entitiesSavedStatesCallback,\n\t} );\n\n\tconst secondarySidebarLabel = isListViewOpened\n\t\t? __( 'Document Overview' )\n\t\t: __( 'Block Library' );\n\n\tconst secondarySidebar = () => {\n\t\tif ( mode === 'visual' && isInserterOpened ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( mode === 'visual' && isListViewOpened ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\n\t\treturn null;\n\t};\n\n\tfunction onPluginAreaError( name ) {\n\t\tcreateErrorNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: plugin name */\n\t\t\t\t__(\n\t\t\t\t\t'The \"%s\" plugin has encountered an error and cannot be rendered.'\n\t\t\t\t),\n\t\t\t\tname\n\t\t\t)\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<FullscreenMode isActive={ isFullscreenActive } />\n\t\t\t<BrowserURL />\n\t\t\t<UnsavedChangesWarning />\n\t\t\t<AutosaveMonitor />\n\t\t\t<LocalAutosaveMonitor />\n\t\t\t<EditPostKeyboardShortcuts />\n\t\t\t<EditorKeyboardShortcutsRegister />\n\t\t\t<EditorKeyboardShortcuts />\n\n\t\t\t<InterfaceSkeleton\n\t\t\t\tisDistractionFree={ isDistractionFree && isLargeViewport }\n\t\t\t\tclassName={ className }\n\t\t\t\tlabels={ {\n\t\t\t\t\t...interfaceLabels,\n\t\t\t\t\tsecondarySidebar: secondarySidebarLabel,\n\t\t\t\t} }\n\t\t\t\theader={\n\t\t\t\t\t<Header\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\teditorNotices={ <EditorNotices /> }\n\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\tsidebar={\n\t\t\t\t\t( ! isMobileViewport || sidebarIsOpened ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isMobileViewport && ! sidebarIsOpened && (\n\t\t\t\t\t\t\t\t<div className=\"edit-post-layout__toggle-sidebar-panel\">\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-post-layout__toggle-sidebar-panel-button\"\n\t\t\t\t\t\t\t\t\t\tonClick={ openSidebarPanel }\n\t\t\t\t\t\t\t\t\t\taria-expanded={ false }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ hasBlockSelected\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Open block settings' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Open document settings' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-post\" />\n\t\t\t\t\t\t</>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\tcontent={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ ! isDistractionFree && <EditorNotices /> }\n\t\t\t\t\t\t{ ( mode === 'text' || ! isRichEditingEnabled ) && (\n\t\t\t\t\t\t\t<TextEditor />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isRichEditingEnabled && mode === 'visual' && (\n\t\t\t\t\t\t\t<VisualEditor styles={ styles } />\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isDistractionFree && ! isTemplateMode && (\n\t\t\t\t\t\t\t<div className=\"edit-post-layout__metaboxes\">\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"normal\" />\n\t\t\t\t\t\t\t\t<MetaBoxes location=\"advanced\" />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isMobileViewport && sidebarIsOpened && (\n\t\t\t\t\t\t\t<ScrollLock />\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t\tfooter={\n\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t! isMobileViewport &&\n\t\t\t\t\tshowBlockBreadcrumbs &&\n\t\t\t\t\tisRichEditingEnabled &&\n\t\t\t\t\tmode === 'visual' && (\n\t\t\t\t\t\t<div className=\"edit-post-layout__footer\">\n\t\t\t\t\t\t\t<BlockBreadcrumb rootLabelText={ documentLabel } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tactions={\n\t\t\t\t\t<ActionsPanel\n\t\t\t\t\t\tcloseEntitiesSavedStates={ closeEntitiesSavedStates }\n\t\t\t\t\t\tisEntitiesSavedStatesOpen={\n\t\t\t\t\t\t\tentitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t\tsetEntitiesSavedStatesCallback={\n\t\t\t\t\t\t\tsetEntitiesSavedStatesCallback\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tshortcuts={ {\n\t\t\t\t\tprevious: previousShortcut,\n\t\t\t\t\tnext: nextShortcut,\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<EditPostPreferencesModal />\n\t\t\t<KeyboardShortcutHelpModal />\n\t\t\t<WelcomeGuide />\n\t\t\t<PostSyncStatusModal />\n\t\t\t<StartPageOptions />\n\t\t\t<PluginArea onError={ onPluginAreaError } />\n\t\t\t<SettingsSidebar />\n\t\t</>\n\t);\n}\n\nexport default Layout;\n"],"mappings":"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"}
|
|
@@ -86,14 +86,13 @@ function StartPageOptionsModal() {
|
|
|
86
86
|
export default function StartPageOptions() {
|
|
87
87
|
const shouldEnableModal = useSelect(select => {
|
|
88
88
|
const {
|
|
89
|
-
|
|
90
|
-
isEditedPostSaveable
|
|
89
|
+
isCleanNewPost
|
|
91
90
|
} = select(editorStore);
|
|
92
91
|
const {
|
|
93
92
|
isEditingTemplate,
|
|
94
93
|
isFeatureActive
|
|
95
94
|
} = select(editPostStore);
|
|
96
|
-
return !
|
|
95
|
+
return !isEditingTemplate() && !isFeatureActive('welcomeGuide') && isCleanNewPost();
|
|
97
96
|
}, []);
|
|
98
97
|
if (!shouldEnableModal) {
|
|
99
98
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","__","useState","useEffect","useMemo","store","blockEditorStore","__experimentalBlockPatternsList","BlockPatternsList","useSelect","useDispatch","useAsyncList","editorStore","editPostStore","useStartPatterns","blockPatternsWithPostContentBlockType","postType","select","getPatternsByBlockTypes","getCurrentPostType","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","resetEditorBlocks","createElement","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","modalState","setModalState","startPatterns","hasStartPattern","length","shouldOpenModal","className","title","isFullScreen","onRequestClose","StartPageOptions","shouldEnableModal","
|
|
1
|
+
{"version":3,"names":["Modal","__","useState","useEffect","useMemo","store","blockEditorStore","__experimentalBlockPatternsList","BlockPatternsList","useSelect","useDispatch","useAsyncList","editorStore","editPostStore","useStartPatterns","blockPatternsWithPostContentBlockType","postType","select","getPatternsByBlockTypes","getCurrentPostType","filter","pattern","postTypes","Array","isArray","includes","PatternSelection","blockPatterns","onChoosePattern","shownBlockPatterns","resetEditorBlocks","createElement","shownPatterns","onClickPattern","_pattern","blocks","StartPageOptionsModal","modalState","setModalState","startPatterns","hasStartPattern","length","shouldOpenModal","className","title","isFullScreen","onRequestClose","StartPageOptions","shouldEnableModal","isCleanNewPost","isEditingTemplate","isFeatureActive"],"sources":["@wordpress/edit-post/src/components/start-page-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternsList as BlockPatternsList,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport { store as editPostStore } from '../../store';\n\nfunction useStartPatterns() {\n\t// A pattern is a start pattern if it includes 'core/post-content' in its blockTypes,\n\t// and it has no postTypes declared and the current post type is page or if\n\t// the current post type is part of the postTypes declared.\n\tconst { blockPatternsWithPostContentBlockType, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPatternsByBlockTypes } = select( blockEditorStore );\n\t\t\tconst { getCurrentPostType } = select( editorStore );\n\t\t\treturn {\n\t\t\t\tblockPatternsWithPostContentBlockType:\n\t\t\t\t\tgetPatternsByBlockTypes( 'core/post-content' ),\n\t\t\t\tpostType: getCurrentPostType(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\treturn useMemo( () => {\n\t\t// filter patterns without postTypes declared if the current postType is page\n\t\t// or patterns that declare the current postType in its post type array.\n\t\treturn blockPatternsWithPostContentBlockType.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t( postType === 'page' && ! pattern.postTypes ) ||\n\t\t\t\t( Array.isArray( pattern.postTypes ) &&\n\t\t\t\t\tpattern.postTypes.includes( postType ) )\n\t\t\t);\n\t\t} );\n\t}, [ postType, blockPatternsWithPostContentBlockType ] );\n}\n\nfunction PatternSelection( { blockPatterns, onChoosePattern } ) {\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\tconst { resetEditorBlocks } = useDispatch( editorStore );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( _pattern, blocks ) => {\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartPageOptionsModal() {\n\tconst [ modalState, setModalState ] = useState( 'initial' );\n\tconst startPatterns = useStartPatterns();\n\tconst hasStartPattern = startPatterns.length > 0;\n\tconst shouldOpenModal = hasStartPattern && modalState === 'initial';\n\n\tuseEffect( () => {\n\t\tif ( shouldOpenModal ) {\n\t\t\tsetModalState( 'open' );\n\t\t}\n\t}, [ shouldOpenModal ] );\n\n\tif ( modalState !== 'open' ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-start-page-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tisFullScreen\n\t\t\tonRequestClose={ () => setModalState( 'closed' ) }\n\t\t>\n\t\t\t<div className=\"edit-post-start-page-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tblockPatterns={ startPatterns }\n\t\t\t\t\tonChoosePattern={ () => setModalState( 'closed' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</Modal>\n\t);\n}\n\nexport default function StartPageOptions() {\n\tconst shouldEnableModal = useSelect( ( select ) => {\n\t\tconst { isCleanNewPost } = select( editorStore );\n\t\tconst { isEditingTemplate, isFeatureActive } = select( editPostStore );\n\n\t\treturn (\n\t\t\t! isEditingTemplate() &&\n\t\t\t! isFeatureActive( 'welcomeGuide' ) &&\n\t\t\tisCleanNewPost()\n\t\t);\n\t}, [] );\n\n\tif ( ! shouldEnableModal ) {\n\t\treturn null;\n\t}\n\n\treturn <StartPageOptionsModal />;\n}\n"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
import { PostTitle, store as editorStore } from '@wordpress/editor';
|
|
11
|
-
import {
|
|
11
|
+
import { BlockList, BlockTools, store as blockEditorStore, __unstableUseTypewriter as useTypewriter, __unstableUseTypingObserver as useTypingObserver, __experimentalUseResizeCanvas as useResizeCanvas, useSetting, __experimentalRecursionProvider as RecursionProvider, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
12
12
|
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
13
13
|
import { __unstableMotion as motion } from '@wordpress/components';
|
|
14
14
|
import { useSelect } from '@wordpress/data';
|
|
@@ -24,43 +24,10 @@ import { unlock } from '../../lock-unlock';
|
|
|
24
24
|
const {
|
|
25
25
|
LayoutStyle,
|
|
26
26
|
useLayoutClasses,
|
|
27
|
-
useLayoutStyles
|
|
27
|
+
useLayoutStyles,
|
|
28
|
+
ExperimentalBlockCanvas: BlockCanvas
|
|
28
29
|
} = unlock(blockEditorPrivateApis);
|
|
29
30
|
const isGutenbergPlugin = process.env.IS_GUTENBERG_PLUGIN ? true : false;
|
|
30
|
-
function MaybeIframe({
|
|
31
|
-
children,
|
|
32
|
-
contentRef,
|
|
33
|
-
shouldIframe,
|
|
34
|
-
styles,
|
|
35
|
-
style
|
|
36
|
-
}) {
|
|
37
|
-
const ref = useMouseMoveTypingReset();
|
|
38
|
-
if (!shouldIframe) {
|
|
39
|
-
return createElement(Fragment, null, createElement(EditorStyles, {
|
|
40
|
-
styles: styles
|
|
41
|
-
}), createElement(WritingFlow, {
|
|
42
|
-
ref: contentRef,
|
|
43
|
-
className: "editor-styles-wrapper",
|
|
44
|
-
style: {
|
|
45
|
-
flex: '1',
|
|
46
|
-
...style
|
|
47
|
-
},
|
|
48
|
-
tabIndex: -1
|
|
49
|
-
}, children));
|
|
50
|
-
}
|
|
51
|
-
return createElement(Iframe, {
|
|
52
|
-
ref: ref,
|
|
53
|
-
contentRef: contentRef,
|
|
54
|
-
style: {
|
|
55
|
-
width: '100%',
|
|
56
|
-
height: '100%',
|
|
57
|
-
display: 'block'
|
|
58
|
-
},
|
|
59
|
-
name: "editor-canvas"
|
|
60
|
-
}, createElement(EditorStyles, {
|
|
61
|
-
styles: styles
|
|
62
|
-
}), children);
|
|
63
|
-
}
|
|
64
31
|
|
|
65
32
|
/**
|
|
66
33
|
* Given an array of nested blocks, find the first Post Content
|
|
@@ -84,6 +51,14 @@ function getPostContentAttributes(blocks) {
|
|
|
84
51
|
}
|
|
85
52
|
}
|
|
86
53
|
}
|
|
54
|
+
function checkForPostContentAtRootLevel(blocks) {
|
|
55
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
56
|
+
if (blocks[i].name === 'core/post-content') {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
}
|
|
87
62
|
export default function VisualEditor({
|
|
88
63
|
styles
|
|
89
64
|
}) {
|
|
@@ -113,14 +88,16 @@ export default function VisualEditor({
|
|
|
113
88
|
getBlockTypes
|
|
114
89
|
} = select(blocksStore);
|
|
115
90
|
const _isTemplateMode = isEditingTemplate();
|
|
91
|
+
const postTypeSlug = getCurrentPostType();
|
|
116
92
|
let _wrapperBlockName;
|
|
117
|
-
if (
|
|
93
|
+
if (postTypeSlug === 'wp_block') {
|
|
118
94
|
_wrapperBlockName = 'core/block';
|
|
119
95
|
} else if (!_isTemplateMode) {
|
|
120
96
|
_wrapperBlockName = 'core/post-content';
|
|
121
97
|
}
|
|
122
98
|
const editorSettings = getEditorSettings();
|
|
123
99
|
const supportsTemplateMode = editorSettings.supportsTemplateMode;
|
|
100
|
+
const postType = select(coreStore).getPostType(postTypeSlug);
|
|
124
101
|
const canEditTemplate = select(coreStore).canUser('create', 'templates');
|
|
125
102
|
return {
|
|
126
103
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
@@ -129,7 +106,7 @@ export default function VisualEditor({
|
|
|
129
106
|
postContentAttributes: getEditorSettings().postContentAttributes,
|
|
130
107
|
// Post template fetch returns a 404 on classic themes, which
|
|
131
108
|
// messes with e2e tests, so check it's a block theme first.
|
|
132
|
-
editedPostTemplate: supportsTemplateMode && canEditTemplate ? getEditedPostTemplate() : undefined,
|
|
109
|
+
editedPostTemplate: postType?.viewable && supportsTemplateMode && canEditTemplate ? getEditedPostTemplate() : undefined,
|
|
133
110
|
wrapperBlockName: _wrapperBlockName,
|
|
134
111
|
wrapperUniqueId: getCurrentPostId(),
|
|
135
112
|
isBlockBasedTheme: editorSettings.__unstableIsBlockBasedTheme,
|
|
@@ -188,8 +165,7 @@ export default function VisualEditor({
|
|
|
188
165
|
paddingBottom = '40vh';
|
|
189
166
|
}
|
|
190
167
|
const ref = useRef();
|
|
191
|
-
const contentRef = useMergeRefs([ref,
|
|
192
|
-
const blockSelectionClearerRef = useBlockSelectionClearer();
|
|
168
|
+
const contentRef = useMergeRefs([ref, useTypewriter()]);
|
|
193
169
|
|
|
194
170
|
// fallbackLayout is used if there is no Post Content,
|
|
195
171
|
// and for Post Title.
|
|
@@ -225,6 +201,19 @@ export default function VisualEditor({
|
|
|
225
201
|
const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
|
|
226
202
|
return getPostContentAttributes(parse(parseableContent)) || {};
|
|
227
203
|
}, [editedPostTemplate?.content, editedPostTemplate?.blocks, postContentAttributes]);
|
|
204
|
+
const hasPostContentAtRootLevel = useMemo(() => {
|
|
205
|
+
if (!editedPostTemplate?.content && !editedPostTemplate?.blocks) {
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
// When in template editing mode, we can access the blocks directly.
|
|
209
|
+
if (editedPostTemplate?.blocks) {
|
|
210
|
+
return checkForPostContentAtRootLevel(editedPostTemplate?.blocks);
|
|
211
|
+
}
|
|
212
|
+
// If there are no blocks, we have to parse the content string.
|
|
213
|
+
// Best double-check it's a string otherwise the parse function gets unhappy.
|
|
214
|
+
const parseableContent = typeof editedPostTemplate?.content === 'string' ? editedPostTemplate?.content : '';
|
|
215
|
+
return checkForPostContentAtRootLevel(parse(parseableContent)) || false;
|
|
216
|
+
}, [editedPostTemplate?.content, editedPostTemplate?.blocks]);
|
|
228
217
|
const {
|
|
229
218
|
layout = {},
|
|
230
219
|
align = ''
|
|
@@ -251,6 +240,7 @@ export default function VisualEditor({
|
|
|
251
240
|
// If there is a Post Content block we use its layout for the block list;
|
|
252
241
|
// if not, this must be a classic theme, in which case we use the fallback layout.
|
|
253
242
|
const blockListLayout = postContentAttributes ? postContentLayout : fallbackLayout;
|
|
243
|
+
const postEditorLayout = blockListLayout?.type === 'default' && !hasPostContentAtRootLevel ? fallbackLayout : blockListLayout;
|
|
254
244
|
const observeTypingRef = useTypingObserver();
|
|
255
245
|
const titleRef = useRef();
|
|
256
246
|
useEffect(() => {
|
|
@@ -280,22 +270,22 @@ export default function VisualEditor({
|
|
|
280
270
|
className: "edit-post-visual-editor__content-area",
|
|
281
271
|
animate: {
|
|
282
272
|
padding: isTemplateMode ? '48px 48px 0' : 0
|
|
283
|
-
}
|
|
284
|
-
ref: blockSelectionClearerRef
|
|
273
|
+
}
|
|
285
274
|
}, createElement(motion.div, {
|
|
286
275
|
animate: animatedStyles,
|
|
287
276
|
initial: desktopCanvasStyles,
|
|
288
277
|
className: previewMode
|
|
289
|
-
}, createElement(
|
|
278
|
+
}, createElement(BlockCanvas, {
|
|
290
279
|
shouldIframe: isToBeIframed,
|
|
291
280
|
contentRef: contentRef,
|
|
292
|
-
styles: styles
|
|
281
|
+
styles: styles,
|
|
282
|
+
height: "100%"
|
|
293
283
|
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(Fragment, null, createElement(LayoutStyle, {
|
|
294
284
|
selector: ".edit-post-visual-editor__post-title-wrapper",
|
|
295
285
|
layout: fallbackLayout
|
|
296
286
|
}), createElement(LayoutStyle, {
|
|
297
287
|
selector: ".block-editor-block-list__layout.is-root-container",
|
|
298
|
-
layout:
|
|
288
|
+
layout: postEditorLayout
|
|
299
289
|
}), align && createElement(LayoutStyle, {
|
|
300
290
|
css: alignCSS
|
|
301
291
|
}), postContentLayoutStyles && createElement(LayoutStyle, {
|