@wordpress/edit-post 6.14.2 → 6.15.1-next.4d3b314fd5.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/keyboard-shortcut-help-modal/index.js +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/visual-editor/index.js +89 -16
- package/build/components/visual-editor/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +89 -17
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/package.json +27 -27
- package/src/components/keyboard-shortcut-help-modal/index.js +1 -1
- package/src/components/keyboard-shortcut-help-modal/test/__snapshots__/index.js.snap +823 -101
- package/src/components/keyboard-shortcut-help-modal/test/index.js +31 -14
- package/src/components/visual-editor/index.js +130 -26
package/CHANGELOG.md
CHANGED
|
@@ -112,7 +112,7 @@ function KeyboardShortcutHelpModal(_ref4) {
|
|
|
112
112
|
return (0, _element.createElement)(_components.Modal, {
|
|
113
113
|
className: "edit-post-keyboard-shortcut-help-modal",
|
|
114
114
|
title: (0, _i18n.__)('Keyboard shortcuts'),
|
|
115
|
-
|
|
115
|
+
closeButtonLabel: (0, _i18n.__)('Close'),
|
|
116
116
|
onRequestClose: toggleModal
|
|
117
117
|
}, (0, _element.createElement)(ShortcutSection, {
|
|
118
118
|
className: "edit-post-keyboard-shortcut-help-modal__main-shortcuts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"names":["MODAL_NAME","ShortcutList","shortcuts","map","shortcut","index","ShortcutSection","title","className","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","keyboardShortcutsStore","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","keyCombination","character","description","ariaLabel","textFormattingShortcuts","editPostStore","dispatch","openModal","closeModal"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAIA;;AACA;;AAKA;;AACA;;AACA;;AACA;;AAvBA;AACA;AACA;;AAGA;AACA;AACA;;AAUA;AACA;AACA;AAMA,MAAMA,UAAU,GAAG,kCAAnB;;AAEA,MAAMC,YAAY,GAAG;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA;AACpB;AACD;AACA;AACA;;AACC;AACA;AACC,MAAA,SAAS,EAAC,uDADX;AAEC,MAAA,IAAI,EAAC;AAFN,OAIGA,SAAS,CAACC,GAAV,CAAe,CAAEC,QAAF,EAAYC,KAAZ,KAChB;AACC,MAAA,SAAS,EAAC,kDADX;AAEC,MAAA,GAAG,EAAGA;AAFP,OAIG,OAAOD,QAAP,KAAoB,QAApB,GACD,4BAAC,wBAAD;AAAiB,MAAA,IAAI,EAAGA;AAAxB,MADC,GAGD,4BAAC,iBAAD,EAAeA,QAAf,CAPF,CADC,CAJH;AAiBA;;AAvBoB;AAAA,CAArB;;AA0BA,MAAME,eAAe,GAAG;AAAA,MAAE;AAAEC,IAAAA,KAAF;AAASL,IAAAA,SAAT;AAAoBM,IAAAA;AAApB,GAAF;AAAA,SACvB;AACC,IAAA,SAAS,EAAG,yBACX,iDADW,EAEXA,SAFW;AADb,KAMG,CAAC,CAAED,KAAH,IACD;AAAI,IAAA,SAAS,EAAC;AAAd,KACGA,KADH,CAPF,EAWC,4BAAC,YAAD;AAAc,IAAA,SAAS,EAAGL;AAA1B,IAXD,CADuB;AAAA,CAAxB;;AAgBA,MAAMO,uBAAuB,GAAG,SAIzB;AAAA,MAJ2B;AACjCF,IAAAA,KADiC;AAEjCG,IAAAA,YAFiC;AAGjCC,IAAAA,mBAAmB,GAAG;AAHW,GAI3B;AACN,QAAMC,iBAAiB,GAAG,qBACvBC,MAAF,IAAc;AACb,WAAOA,MAAM,CAAEC,wBAAF,CAAN,CAAiCC,oBAAjC,CACNL,YADM,CAAP;AAGA,GALwB,EAMzB,CAAEA,YAAF,CANyB,CAA1B;AASA,SACC,4BAAC,eAAD;AACC,IAAA,KAAK,EAAGH,KADT;AAEC,IAAA,SAAS,EAAGK,iBAAiB,CAACI,MAAlB,CAA0BL,mBAA1B;AAFb,IADD;AAMA,CApBD;;AAsBO,SAASM,yBAAT,QAAqE;AAAA,MAAjC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAiC;AAC3E,sCAAa,mCAAb,EAAkDA,WAAlD;;AAEA,MAAK,CAAED,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,SACC,4BAAC,iBAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAG,cAAI,oBAAJ,CAFT;AAGC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"names":["MODAL_NAME","ShortcutList","shortcuts","map","shortcut","index","ShortcutSection","title","className","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","keyboardShortcutsStore","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","keyCombination","character","description","ariaLabel","textFormattingShortcuts","editPostStore","dispatch","openModal","closeModal"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { withSelect, withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\nimport { store as editPostStore } from '../../store';\n\nconst MODAL_NAME = 'edit-post/keyboard-shortcut-help';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-post-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-post-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport function KeyboardShortcutHelpModal( { isModalActive, toggleModal } ) {\n\tuseShortcut( 'core/edit-post/keyboard-shortcuts', toggleModal );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tcloseButtonLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-post/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( editPostStore ).isModalActive( MODAL_NAME ),\n\t} ) ),\n\twithDispatch( ( dispatch, { isModalActive } ) => {\n\t\tconst { openModal, closeModal } = dispatch( editPostStore );\n\n\t\treturn {\n\t\t\ttoggleModal: () =>\n\t\t\t\tisModalActive ? closeModal() : openModal( MODAL_NAME ),\n\t\t};\n\t} ),\n] )( KeyboardShortcutHelpModal );\n"]}
|
|
@@ -25,6 +25,8 @@ var _icons = require("@wordpress/icons");
|
|
|
25
25
|
|
|
26
26
|
var _i18n = require("@wordpress/i18n");
|
|
27
27
|
|
|
28
|
+
var _blocks = require("@wordpress/blocks");
|
|
29
|
+
|
|
28
30
|
var _blockInspectorButton = _interopRequireDefault(require("./block-inspector-button"));
|
|
29
31
|
|
|
30
32
|
var _store = require("../../store");
|
|
@@ -80,8 +82,35 @@ function MaybeIframe(_ref) {
|
|
|
80
82
|
name: "editor-canvas"
|
|
81
83
|
}, children);
|
|
82
84
|
}
|
|
85
|
+
/**
|
|
86
|
+
* Given an array of nested blocks, find the first Post Content
|
|
87
|
+
* block inside it, recursing through any nesting levels.
|
|
88
|
+
*
|
|
89
|
+
* @param {Array} blocks A list of blocks.
|
|
90
|
+
*
|
|
91
|
+
* @return {Object} The Post Content block.
|
|
92
|
+
*/
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
function findPostContent(blocks) {
|
|
96
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
97
|
+
if (blocks[i].name === 'core/post-content') {
|
|
98
|
+
return blocks[i];
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (blocks[i].innerBlocks.length) {
|
|
102
|
+
const nestedPostContent = findPostContent(blocks[i].innerBlocks);
|
|
103
|
+
|
|
104
|
+
if (nestedPostContent) {
|
|
105
|
+
return nestedPostContent;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
83
110
|
|
|
84
111
|
function VisualEditor(_ref2) {
|
|
112
|
+
var _postContentBlock$att;
|
|
113
|
+
|
|
85
114
|
let {
|
|
86
115
|
styles
|
|
87
116
|
} = _ref2;
|
|
@@ -89,17 +118,20 @@ function VisualEditor(_ref2) {
|
|
|
89
118
|
deviceType,
|
|
90
119
|
isWelcomeGuideVisible,
|
|
91
120
|
isTemplateMode,
|
|
121
|
+
editedPostTemplate = {},
|
|
92
122
|
wrapperBlockName,
|
|
93
123
|
wrapperUniqueId
|
|
94
124
|
} = (0, _data.useSelect)(select => {
|
|
95
125
|
const {
|
|
96
126
|
isFeatureActive,
|
|
97
127
|
isEditingTemplate,
|
|
98
|
-
__experimentalGetPreviewDeviceType
|
|
128
|
+
__experimentalGetPreviewDeviceType,
|
|
129
|
+
getEditedPostTemplate
|
|
99
130
|
} = select(_store.store);
|
|
100
131
|
const {
|
|
101
132
|
getCurrentPostId,
|
|
102
|
-
getCurrentPostType
|
|
133
|
+
getCurrentPostType,
|
|
134
|
+
getEditorSettings
|
|
103
135
|
} = select(_editor.store);
|
|
104
136
|
|
|
105
137
|
const _isTemplateMode = isEditingTemplate();
|
|
@@ -112,10 +144,14 @@ function VisualEditor(_ref2) {
|
|
|
112
144
|
_wrapperBlockName = 'core/post-content';
|
|
113
145
|
}
|
|
114
146
|
|
|
147
|
+
const supportsTemplateMode = getEditorSettings().supportsTemplateMode;
|
|
115
148
|
return {
|
|
116
149
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
117
150
|
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
118
151
|
isTemplateMode: _isTemplateMode,
|
|
152
|
+
// Post template fetch returns a 404 on classic themes, which
|
|
153
|
+
// messes with e2e tests, so we check it's a block theme first.
|
|
154
|
+
editedPostTemplate: supportsTemplateMode ? getEditedPostTemplate() : {},
|
|
119
155
|
wrapperBlockName: _wrapperBlockName,
|
|
120
156
|
wrapperUniqueId: getCurrentPostId()
|
|
121
157
|
};
|
|
@@ -127,14 +163,16 @@ function VisualEditor(_ref2) {
|
|
|
127
163
|
const {
|
|
128
164
|
themeHasDisabledLayoutStyles,
|
|
129
165
|
themeSupportsLayout,
|
|
130
|
-
assets
|
|
166
|
+
assets,
|
|
167
|
+
isFocusMode
|
|
131
168
|
} = (0, _data.useSelect)(select => {
|
|
132
169
|
const _settings = select(_blockEditor.store).getSettings();
|
|
133
170
|
|
|
134
171
|
return {
|
|
135
172
|
themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
|
|
136
173
|
themeSupportsLayout: _settings.supportsLayout,
|
|
137
|
-
assets: _settings.__unstableResolvedAssets
|
|
174
|
+
assets: _settings.__unstableResolvedAssets,
|
|
175
|
+
isFocusMode: _settings.focusMode
|
|
138
176
|
};
|
|
139
177
|
}, []);
|
|
140
178
|
const {
|
|
@@ -159,7 +197,7 @@ function VisualEditor(_ref2) {
|
|
|
159
197
|
borderBottom: 0
|
|
160
198
|
};
|
|
161
199
|
const resizedCanvasStyles = (0, _blockEditor.__experimentalUseResizeCanvas)(deviceType, isTemplateMode);
|
|
162
|
-
const
|
|
200
|
+
const globalLayoutSettings = (0, _blockEditor.useSetting)('layout');
|
|
163
201
|
const previewMode = 'is-' + deviceType.toLowerCase() + '-preview';
|
|
164
202
|
let animatedStyles = isTemplateMode ? templateModeStyles : desktopCanvasStyles;
|
|
165
203
|
|
|
@@ -176,8 +214,10 @@ function VisualEditor(_ref2) {
|
|
|
176
214
|
|
|
177
215
|
const ref = (0, _element.useRef)();
|
|
178
216
|
const contentRef = (0, _compose.useMergeRefs)([ref, (0, _blockEditor.__unstableUseClipboardHandler)(), (0, _blockEditor.__unstableUseTypewriter)(), (0, _blockEditor.__unstableUseTypingObserver)(), (0, _blockEditor.__unstableUseBlockSelectionClearer)()]);
|
|
179
|
-
const blockSelectionClearerRef = (0, _blockEditor.__unstableUseBlockSelectionClearer)();
|
|
180
|
-
|
|
217
|
+
const blockSelectionClearerRef = (0, _blockEditor.__unstableUseBlockSelectionClearer)(); // fallbackLayout is used if there is no Post Content,
|
|
218
|
+
// and for Post Title.
|
|
219
|
+
|
|
220
|
+
const fallbackLayout = (0, _element.useMemo)(() => {
|
|
181
221
|
if (isTemplateMode) {
|
|
182
222
|
return {
|
|
183
223
|
type: 'default'
|
|
@@ -187,7 +227,7 @@ function VisualEditor(_ref2) {
|
|
|
187
227
|
if (themeSupportsLayout) {
|
|
188
228
|
// We need to ensure support for wide and full alignments,
|
|
189
229
|
// so we add the constrained type.
|
|
190
|
-
return { ...
|
|
230
|
+
return { ...globalLayoutSettings,
|
|
191
231
|
type: 'constrained'
|
|
192
232
|
};
|
|
193
233
|
} // Set default layout for classic themes so all alignments are supported.
|
|
@@ -196,8 +236,35 @@ function VisualEditor(_ref2) {
|
|
|
196
236
|
return {
|
|
197
237
|
type: 'default'
|
|
198
238
|
};
|
|
199
|
-
}, [isTemplateMode, themeSupportsLayout,
|
|
200
|
-
const
|
|
239
|
+
}, [isTemplateMode, themeSupportsLayout, globalLayoutSettings]);
|
|
240
|
+
const postContentBlock = (0, _element.useMemo)(() => {
|
|
241
|
+
// When in template editing mode, we can access the blocks directly.
|
|
242
|
+
if (editedPostTemplate !== null && editedPostTemplate !== void 0 && editedPostTemplate.blocks) {
|
|
243
|
+
return findPostContent(editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks);
|
|
244
|
+
} // If there are no blocks, we have to parse the content string.
|
|
245
|
+
// Best double-check it's a string otherwise the parse function gets unhappy.
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
const parseableContent = typeof (editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content) === 'string' ? editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content : '';
|
|
249
|
+
return findPostContent((0, _blocks.parse)(parseableContent)) || {};
|
|
250
|
+
}, [editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content, editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks]);
|
|
251
|
+
const postContentLayoutClasses = (0, _blockEditor.__experimentaluseLayoutClasses)(postContentBlock);
|
|
252
|
+
const blockListLayoutClass = (0, _classnames.default)({
|
|
253
|
+
'is-layout-flow': !themeSupportsLayout
|
|
254
|
+
}, themeSupportsLayout && postContentLayoutClasses);
|
|
255
|
+
const postContentLayoutStyles = (0, _blockEditor.__experimentaluseLayoutStyles)(postContentBlock, '.block-editor-block-list__layout.is-root-container');
|
|
256
|
+
const layout = (postContentBlock === null || postContentBlock === void 0 ? void 0 : (_postContentBlock$att = postContentBlock.attributes) === null || _postContentBlock$att === void 0 ? void 0 : _postContentBlock$att.layout) || {}; // Update type for blocks using legacy layouts.
|
|
257
|
+
|
|
258
|
+
const postContentLayout = layout && ((layout === null || layout === void 0 ? void 0 : layout.type) === 'constrained' || layout !== null && layout !== void 0 && layout.inherit || layout !== null && layout !== void 0 && layout.contentSize || layout !== null && layout !== void 0 && layout.wideSize) ? { ...globalLayoutSettings,
|
|
259
|
+
...layout,
|
|
260
|
+
type: 'constrained'
|
|
261
|
+
} : { ...globalLayoutSettings,
|
|
262
|
+
...layout,
|
|
263
|
+
type: 'default'
|
|
264
|
+
}; // If there is a Post Content block we use its layout for the block list;
|
|
265
|
+
// if not, this must be a classic theme, in which case we use the fallback layout.
|
|
266
|
+
|
|
267
|
+
const blockListLayout = postContentBlock ? postContentLayout : fallbackLayout;
|
|
201
268
|
const titleRef = (0, _element.useRef)();
|
|
202
269
|
(0, _element.useEffect)(() => {
|
|
203
270
|
var _titleRef$current;
|
|
@@ -238,12 +305,18 @@ function VisualEditor(_ref2) {
|
|
|
238
305
|
style: {
|
|
239
306
|
paddingBottom
|
|
240
307
|
}
|
|
241
|
-
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
|
|
308
|
+
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
|
|
242
309
|
selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
|
|
243
|
-
layout:
|
|
244
|
-
layoutDefinitions:
|
|
245
|
-
}),
|
|
246
|
-
|
|
310
|
+
layout: fallbackLayout,
|
|
311
|
+
layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
|
|
312
|
+
}), postContentLayoutStyles && (0, _element.createElement)(_blockEditor.__experimentalLayoutStyle, {
|
|
313
|
+
layout: postContentLayout,
|
|
314
|
+
css: postContentLayoutStyles,
|
|
315
|
+
layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
|
|
316
|
+
})), !isTemplateMode && (0, _element.createElement)("div", {
|
|
317
|
+
className: (0, _classnames.default)('edit-post-visual-editor__post-title-wrapper', {
|
|
318
|
+
'is-focus-mode': isFocusMode
|
|
319
|
+
}),
|
|
247
320
|
contentEditable: false
|
|
248
321
|
}, (0, _element.createElement)(_editor.PostTitle, {
|
|
249
322
|
ref: titleRef
|
|
@@ -253,7 +326,7 @@ function VisualEditor(_ref2) {
|
|
|
253
326
|
}, (0, _element.createElement)(_blockEditor.BlockList, {
|
|
254
327
|
className: isTemplateMode ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
|
|
255
328
|
,
|
|
256
|
-
__experimentalLayout:
|
|
329
|
+
__experimentalLayout: blockListLayout
|
|
257
330
|
}))))), (0, _element.createElement)(_blockEditor.__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
|
|
258
331
|
let {
|
|
259
332
|
onClose
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","editPostStore","getCurrentPostId","getCurrentPostType","editorStore","_isTemplateMode","_wrapperBlockName","isCleanNewPost","hasMetaBoxes","themeHasDisabledLayoutStyles","themeSupportsLayout","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","__unstableResolvedAssets","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","defaultLayout","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","layout","type","blockListLayoutClass","titleRef","current","focus","padding","arrowLeft","definitions","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType } = select( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst { themeHasDisabledLayoutStyles, themeSupportsLayout, assets } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t\t};\n\t\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst defaultLayout = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\tconst layout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...defaultLayout, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, defaultLayout ] );\n\n\tconst blockListLayoutClass = themeSupportsLayout\n\t\t? 'is-layout-constrained'\n\t\t: 'is-layout-flow';\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\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</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\tdefaultLayout?.definitions\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"edit-post-visual-editor__post-title-wrapper\"\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ layout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/visual-editor/index.js"],"names":["MaybeIframe","children","contentRef","shouldIframe","styles","assets","style","ref","flex","width","height","display","findPostContent","blocks","i","length","name","innerBlocks","nestedPostContent","VisualEditor","deviceType","isWelcomeGuideVisible","isTemplateMode","editedPostTemplate","wrapperBlockName","wrapperUniqueId","select","isFeatureActive","isEditingTemplate","__experimentalGetPreviewDeviceType","getEditedPostTemplate","editPostStore","getCurrentPostId","getCurrentPostType","getEditorSettings","editorStore","_isTemplateMode","_wrapperBlockName","supportsTemplateMode","isCleanNewPost","hasMetaBoxes","themeHasDisabledLayoutStyles","themeSupportsLayout","isFocusMode","_settings","blockEditorStore","getSettings","disableLayoutStyles","supportsLayout","__unstableResolvedAssets","focusMode","clearSelectedBlock","setIsEditingTemplate","desktopCanvasStyles","margin","flexFlow","background","templateModeStyles","borderRadius","border","borderBottom","resizedCanvasStyles","globalLayoutSettings","previewMode","toLowerCase","animatedStyles","paddingBottom","blockSelectionClearerRef","fallbackLayout","type","postContentBlock","parseableContent","content","postContentLayoutClasses","blockListLayoutClass","postContentLayoutStyles","layout","attributes","postContentLayout","inherit","contentSize","wideSize","blockListLayout","titleRef","current","focus","padding","arrowLeft","definitions","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tVisualEditorGlobalKeyboardShortcuts,\n\tPostTitle,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport {\n\tWritingFlow,\n\tBlockList,\n\tBlockTools,\n\tstore as blockEditorStore,\n\t__unstableUseBlockSelectionClearer as useBlockSelectionClearer,\n\t__unstableUseTypewriter as useTypewriter,\n\t__unstableUseClipboardHandler as useClipboardHandler,\n\t__unstableUseTypingObserver as useTypingObserver,\n\t__unstableBlockSettingsMenuFirstItem,\n\t__experimentalUseResizeCanvas as useResizeCanvas,\n\t__unstableEditorStyles as EditorStyles,\n\tuseSetting,\n\t__experimentalLayoutStyle as LayoutStyle,\n\t__unstableUseMouseMoveTypingReset as useMouseMoveTypingReset,\n\t__unstableIframe as Iframe,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentaluseLayoutClasses as useLayoutClasses,\n\t__experimentaluseLayoutStyles as useLayoutStyles,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useMemo } from '@wordpress/element';\nimport { Button, __unstableMotion as motion } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport { arrowLeft } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport BlockInspectorButton from './block-inspector-button';\nimport { store as editPostStore } from '../../store';\n\nfunction MaybeIframe( {\n\tchildren,\n\tcontentRef,\n\tshouldIframe,\n\tstyles,\n\tassets,\n\tstyle,\n} ) {\n\tconst ref = useMouseMoveTypingReset();\n\n\tif ( ! shouldIframe ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<EditorStyles styles={ styles } />\n\t\t\t\t<WritingFlow\n\t\t\t\t\tref={ contentRef }\n\t\t\t\t\tclassName=\"editor-styles-wrapper\"\n\t\t\t\t\tstyle={ { flex: '1', ...style } }\n\t\t\t\t\ttabIndex={ -1 }\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</WritingFlow>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<Iframe\n\t\t\thead={ <EditorStyles styles={ styles } /> }\n\t\t\tassets={ assets }\n\t\t\tref={ ref }\n\t\t\tcontentRef={ contentRef }\n\t\t\tstyle={ { width: '100%', height: '100%', display: 'block' } }\n\t\t\tname=\"editor-canvas\"\n\t\t>\n\t\t\t{ children }\n\t\t</Iframe>\n\t);\n}\n\n/**\n * Given an array of nested blocks, find the first Post Content\n * block inside it, recursing through any nesting levels.\n *\n * @param {Array} blocks A list of blocks.\n *\n * @return {Object} The Post Content block.\n */\nfunction findPostContent( blocks ) {\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\tif ( blocks[ i ].name === 'core/post-content' ) {\n\t\t\treturn blocks[ i ];\n\t\t}\n\t\tif ( blocks[ i ].innerBlocks.length ) {\n\t\t\tconst nestedPostContent = findPostContent(\n\t\t\t\tblocks[ i ].innerBlocks\n\t\t\t);\n\n\t\t\tif ( nestedPostContent ) {\n\t\t\t\treturn nestedPostContent;\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport default function VisualEditor( { styles } ) {\n\tconst {\n\t\tdeviceType,\n\t\tisWelcomeGuideVisible,\n\t\tisTemplateMode,\n\t\teditedPostTemplate = {},\n\t\twrapperBlockName,\n\t\twrapperUniqueId,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisFeatureActive,\n\t\t\tisEditingTemplate,\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostTemplate,\n\t\t} = select( editPostStore );\n\t\tconst { getCurrentPostId, getCurrentPostType, getEditorSettings } =\n\t\t\tselect( editorStore );\n\t\tconst _isTemplateMode = isEditingTemplate();\n\t\tlet _wrapperBlockName;\n\n\t\tif ( getCurrentPostType() === 'wp_block' ) {\n\t\t\t_wrapperBlockName = 'core/block';\n\t\t} else if ( ! _isTemplateMode ) {\n\t\t\t_wrapperBlockName = 'core/post-content';\n\t\t}\n\n\t\tconst supportsTemplateMode = getEditorSettings().supportsTemplateMode;\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\tisWelcomeGuideVisible: isFeatureActive( 'welcomeGuide' ),\n\t\t\tisTemplateMode: _isTemplateMode,\n\t\t\t// Post template fetch returns a 404 on classic themes, which\n\t\t\t// messes with e2e tests, so we check it's a block theme first.\n\t\t\teditedPostTemplate: supportsTemplateMode\n\t\t\t\t? getEditedPostTemplate()\n\t\t\t\t: {},\n\t\t\twrapperBlockName: _wrapperBlockName,\n\t\t\twrapperUniqueId: getCurrentPostId(),\n\t\t};\n\t}, [] );\n\tconst { isCleanNewPost } = useSelect( editorStore );\n\tconst hasMetaBoxes = useSelect(\n\t\t( select ) => select( editPostStore ).hasMetaBoxes(),\n\t\t[]\n\t);\n\tconst {\n\t\tthemeHasDisabledLayoutStyles,\n\t\tthemeSupportsLayout,\n\t\tassets,\n\t\tisFocusMode,\n\t} = useSelect( ( select ) => {\n\t\tconst _settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tthemeHasDisabledLayoutStyles: _settings.disableLayoutStyles,\n\t\t\tthemeSupportsLayout: _settings.supportsLayout,\n\t\t\tassets: _settings.__unstableResolvedAssets,\n\t\t\tisFocusMode: _settings.focusMode,\n\t\t};\n\t}, [] );\n\tconst { clearSelectedBlock } = useDispatch( blockEditorStore );\n\tconst { setIsEditingTemplate } = useDispatch( editPostStore );\n\tconst desktopCanvasStyles = {\n\t\theight: '100%',\n\t\twidth: '100%',\n\t\tmargin: 0,\n\t\tdisplay: 'flex',\n\t\tflexFlow: 'column',\n\t\t// Default background color so that grey\n\t\t// .edit-post-editor-regions__content color doesn't show through.\n\t\tbackground: 'white',\n\t};\n\tconst templateModeStyles = {\n\t\t...desktopCanvasStyles,\n\t\tborderRadius: '2px 2px 0 0',\n\t\tborder: '1px solid #ddd',\n\t\tborderBottom: 0,\n\t};\n\tconst resizedCanvasStyles = useResizeCanvas( deviceType, isTemplateMode );\n\tconst globalLayoutSettings = useSetting( 'layout' );\n\tconst previewMode = 'is-' + deviceType.toLowerCase() + '-preview';\n\n\tlet animatedStyles = isTemplateMode\n\t\t? templateModeStyles\n\t\t: desktopCanvasStyles;\n\tif ( resizedCanvasStyles ) {\n\t\tanimatedStyles = resizedCanvasStyles;\n\t}\n\n\tlet paddingBottom;\n\n\t// Add a constant padding for the typewritter effect. When typing at the\n\t// bottom, there needs to be room to scroll up.\n\tif ( ! hasMetaBoxes && ! resizedCanvasStyles && ! isTemplateMode ) {\n\t\tpaddingBottom = '40vh';\n\t}\n\n\tconst ref = useRef();\n\tconst contentRef = useMergeRefs( [\n\t\tref,\n\t\tuseClipboardHandler(),\n\t\tuseTypewriter(),\n\t\tuseTypingObserver(),\n\t\tuseBlockSelectionClearer(),\n\t] );\n\n\tconst blockSelectionClearerRef = useBlockSelectionClearer();\n\n\t// fallbackLayout is used if there is no Post Content,\n\t// and for Post Title.\n\tconst fallbackLayout = useMemo( () => {\n\t\tif ( isTemplateMode ) {\n\t\t\treturn { type: 'default' };\n\t\t}\n\n\t\tif ( themeSupportsLayout ) {\n\t\t\t// We need to ensure support for wide and full alignments,\n\t\t\t// so we add the constrained type.\n\t\t\treturn { ...globalLayoutSettings, type: 'constrained' };\n\t\t}\n\t\t// Set default layout for classic themes so all alignments are supported.\n\t\treturn { type: 'default' };\n\t}, [ isTemplateMode, themeSupportsLayout, globalLayoutSettings ] );\n\n\tconst postContentBlock = useMemo( () => {\n\t\t// When in template editing mode, we can access the blocks directly.\n\t\tif ( editedPostTemplate?.blocks ) {\n\t\t\treturn findPostContent( editedPostTemplate?.blocks );\n\t\t}\n\t\t// If there are no blocks, we have to parse the content string.\n\t\t// Best double-check it's a string otherwise the parse function gets unhappy.\n\t\tconst parseableContent =\n\t\t\ttypeof editedPostTemplate?.content === 'string'\n\t\t\t\t? editedPostTemplate?.content\n\t\t\t\t: '';\n\n\t\treturn findPostContent( parse( parseableContent ) ) || {};\n\t}, [ editedPostTemplate?.content, editedPostTemplate?.blocks ] );\n\n\tconst postContentLayoutClasses = useLayoutClasses( postContentBlock );\n\n\tconst blockListLayoutClass = classnames(\n\t\t{\n\t\t\t'is-layout-flow': ! themeSupportsLayout,\n\t\t},\n\t\tthemeSupportsLayout && postContentLayoutClasses\n\t);\n\n\tconst postContentLayoutStyles = useLayoutStyles(\n\t\tpostContentBlock,\n\t\t'.block-editor-block-list__layout.is-root-container'\n\t);\n\n\tconst layout = postContentBlock?.attributes?.layout || {};\n\n\t// Update type for blocks using legacy layouts.\n\tconst postContentLayout =\n\t\tlayout &&\n\t\t( layout?.type === 'constrained' ||\n\t\t\tlayout?.inherit ||\n\t\t\tlayout?.contentSize ||\n\t\t\tlayout?.wideSize )\n\t\t\t? { ...globalLayoutSettings, ...layout, type: 'constrained' }\n\t\t\t: { ...globalLayoutSettings, ...layout, type: 'default' };\n\n\t// If there is a Post Content block we use its layout for the block list;\n\t// if not, this must be a classic theme, in which case we use the fallback layout.\n\tconst blockListLayout = postContentBlock\n\t\t? postContentLayout\n\t\t: fallbackLayout;\n\n\tconst titleRef = useRef();\n\tuseEffect( () => {\n\t\tif ( isWelcomeGuideVisible || ! isCleanNewPost() ) {\n\t\t\treturn;\n\t\t}\n\t\ttitleRef?.current?.focus();\n\t}, [ isWelcomeGuideVisible, isCleanNewPost ] );\n\n\treturn (\n\t\t<BlockTools\n\t\t\t__unstableContentRef={ ref }\n\t\t\tclassName={ classnames( 'edit-post-visual-editor', {\n\t\t\t\t'is-template-mode': isTemplateMode,\n\t\t\t} ) }\n\t\t>\n\t\t\t<VisualEditorGlobalKeyboardShortcuts />\n\t\t\t<motion.div\n\t\t\t\tclassName=\"edit-post-visual-editor__content-area\"\n\t\t\t\tanimate={ {\n\t\t\t\t\tpadding: isTemplateMode ? '48px 48px 0' : '0',\n\t\t\t\t} }\n\t\t\t\tref={ blockSelectionClearerRef }\n\t\t\t>\n\t\t\t\t{ isTemplateMode && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-post-visual-editor__exit-template-mode\"\n\t\t\t\t\t\ticon={ arrowLeft }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tclearSelectedBlock();\n\t\t\t\t\t\t\tsetIsEditingTemplate( false );\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</Button>\n\t\t\t\t) }\n\t\t\t\t<motion.div\n\t\t\t\t\tanimate={ animatedStyles }\n\t\t\t\t\tinitial={ desktopCanvasStyles }\n\t\t\t\t\tclassName={ previewMode }\n\t\t\t\t>\n\t\t\t\t\t<MaybeIframe\n\t\t\t\t\t\tshouldIframe={\n\t\t\t\t\t\t\tisTemplateMode ||\n\t\t\t\t\t\t\tdeviceType === 'Tablet' ||\n\t\t\t\t\t\t\tdeviceType === 'Mobile'\n\t\t\t\t\t\t}\n\t\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t\t\tstyles={ styles }\n\t\t\t\t\t\tassets={ assets }\n\t\t\t\t\t\tstyle={ { paddingBottom } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ themeSupportsLayout &&\n\t\t\t\t\t\t\t! themeHasDisabledLayoutStyles &&\n\t\t\t\t\t\t\t! isTemplateMode && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\tselector=\".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container\"\n\t\t\t\t\t\t\t\t\t\tlayout={ fallbackLayout }\n\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ postContentLayoutStyles && (\n\t\t\t\t\t\t\t\t\t\t<LayoutStyle\n\t\t\t\t\t\t\t\t\t\t\tlayout={ postContentLayout }\n\t\t\t\t\t\t\t\t\t\t\tcss={ postContentLayoutStyles }\n\t\t\t\t\t\t\t\t\t\t\tlayoutDefinitions={\n\t\t\t\t\t\t\t\t\t\t\t\tglobalLayoutSettings?.definitions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! isTemplateMode && (\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t'edit-post-visual-editor__post-title-wrapper',\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t'is-focus-mode': isFocusMode,\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tcontentEditable={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<PostTitle ref={ titleRef } />\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<RecursionProvider\n\t\t\t\t\t\t\tblockName={ wrapperBlockName }\n\t\t\t\t\t\t\tuniqueId={ wrapperUniqueId }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockList\n\t\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\t\tisTemplateMode\n\t\t\t\t\t\t\t\t\t\t? 'wp-site-blocks'\n\t\t\t\t\t\t\t\t\t\t: `${ blockListLayoutClass } wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t__experimentalLayout={ blockListLayout }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</RecursionProvider>\n\t\t\t\t\t</MaybeIframe>\n\t\t\t\t</motion.div>\n\t\t\t</motion.div>\n\t\t\t<__unstableBlockSettingsMenuFirstItem>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<BlockInspectorButton onClick={ onClose } />\n\t\t\t\t) }\n\t\t\t</__unstableBlockSettingsMenuFirstItem>\n\t\t</BlockTools>\n\t);\n}\n"]}
|
|
@@ -92,7 +92,7 @@ export function KeyboardShortcutHelpModal(_ref4) {
|
|
|
92
92
|
return createElement(Modal, {
|
|
93
93
|
className: "edit-post-keyboard-shortcut-help-modal",
|
|
94
94
|
title: __('Keyboard shortcuts'),
|
|
95
|
-
|
|
95
|
+
closeButtonLabel: __('Close'),
|
|
96
96
|
onRequestClose: toggleModal
|
|
97
97
|
}, createElement(ShortcutSection, {
|
|
98
98
|
className: "edit-post-keyboard-shortcut-help-modal__main-shortcuts",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"names":["classnames","Modal","__","useShortcut","store","keyboardShortcutsStore","withSelect","withDispatch","useSelect","compose","textFormattingShortcuts","Shortcut","DynamicShortcut","editPostStore","MODAL_NAME","ShortcutList","shortcuts","map","shortcut","index","ShortcutSection","title","className","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","keyCombination","character","description","ariaLabel","dispatch","openModal","closeModal"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAT,QAAsB,uBAAtB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SACCC,WADD,EAECC,KAAK,IAAIC,sBAFV,QAGO,+BAHP;AAIA,SAASC,UAAT,EAAqBC,YAArB,EAAmCC,SAAnC,QAAoD,iBAApD;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,uBAAT,QAAwC,UAAxC;AACA,OAAOC,QAAP,MAAqB,YAArB;AACA,OAAOC,eAAP,MAA4B,oBAA5B;AACA,SAASR,KAAK,IAAIS,aAAlB,QAAuC,aAAvC;AAEA,MAAMC,UAAU,GAAG,kCAAnB;;AAEA,MAAMC,YAAY,GAAG;AAAA,MAAE;AAAEC,IAAAA;AAAF,GAAF;AAAA;AACpB;AACD;AACA;AACA;;AACC;AACA;AACC,MAAA,SAAS,EAAC,uDADX;AAEC,MAAA,IAAI,EAAC;AAFN,OAIGA,SAAS,CAACC,GAAV,CAAe,CAAEC,QAAF,EAAYC,KAAZ,KAChB;AACC,MAAA,SAAS,EAAC,kDADX;AAEC,MAAA,GAAG,EAAGA;AAFP,OAIG,OAAOD,QAAP,KAAoB,QAApB,GACD,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAGA;AAAxB,MADC,GAGD,cAAC,QAAD,EAAeA,QAAf,CAPF,CADC,CAJH;AAiBA;;AAvBoB;AAAA,CAArB;;AA0BA,MAAME,eAAe,GAAG;AAAA,MAAE;AAAEC,IAAAA,KAAF;AAASL,IAAAA,SAAT;AAAoBM,IAAAA;AAApB,GAAF;AAAA,SACvB;AACC,IAAA,SAAS,EAAGtB,UAAU,CACrB,iDADqB,EAErBsB,SAFqB;AADvB,KAMG,CAAC,CAAED,KAAH,IACD;AAAI,IAAA,SAAS,EAAC;AAAd,KACGA,KADH,CAPF,EAWC,cAAC,YAAD;AAAc,IAAA,SAAS,EAAGL;AAA1B,IAXD,CADuB;AAAA,CAAxB;;AAgBA,MAAMO,uBAAuB,GAAG,SAIzB;AAAA,MAJ2B;AACjCF,IAAAA,KADiC;AAEjCG,IAAAA,YAFiC;AAGjCC,IAAAA,mBAAmB,GAAG;AAHW,GAI3B;AACN,QAAMC,iBAAiB,GAAGlB,SAAS,CAChCmB,MAAF,IAAc;AACb,WAAOA,MAAM,CAAEtB,sBAAF,CAAN,CAAiCuB,oBAAjC,CACNJ,YADM,CAAP;AAGA,GALiC,EAMlC,CAAEA,YAAF,CANkC,CAAnC;AASA,SACC,cAAC,eAAD;AACC,IAAA,KAAK,EAAGH,KADT;AAEC,IAAA,SAAS,EAAGK,iBAAiB,CAACG,MAAlB,CAA0BJ,mBAA1B;AAFb,IADD;AAMA,CApBD;;AAsBA,OAAO,SAASK,yBAAT,QAAqE;AAAA,MAAjC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAAiC;AAC3E7B,EAAAA,WAAW,CAAE,mCAAF,EAAuC6B,WAAvC,CAAX;;AAEA,MAAK,CAAED,aAAP,EAAuB;AACtB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,KAAD;AACC,IAAA,SAAS,EAAC,wCADX;AAEC,IAAA,KAAK,EAAG7B,EAAE,CAAE,oBAAF,CAFX;AAGC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-post/src/components/keyboard-shortcut-help-modal/index.js"],"names":["classnames","Modal","__","useShortcut","store","keyboardShortcutsStore","withSelect","withDispatch","useSelect","compose","textFormattingShortcuts","Shortcut","DynamicShortcut","editPostStore","MODAL_NAME","ShortcutList","shortcuts","map","shortcut","index","ShortcutSection","title","className","ShortcutCategorySection","categoryName","additionalShortcuts","categoryShortcuts","select","getCategoryShortcuts","concat","KeyboardShortcutHelpModal","isModalActive","toggleModal","keyCombination","character","description","ariaLabel","dispatch","openModal","closeModal"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseShortcut,\n\tstore as keyboardShortcutsStore,\n} from '@wordpress/keyboard-shortcuts';\nimport { withSelect, withDispatch, useSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { textFormattingShortcuts } from './config';\nimport Shortcut from './shortcut';\nimport DynamicShortcut from './dynamic-shortcut';\nimport { store as editPostStore } from '../../store';\n\nconst MODAL_NAME = 'edit-post/keyboard-shortcut-help';\n\nconst ShortcutList = ( { shortcuts } ) => (\n\t/*\n\t * Disable reason: The `list` ARIA role is redundant but\n\t * Safari+VoiceOver won't announce the list otherwise.\n\t */\n\t/* eslint-disable jsx-a11y/no-redundant-roles */\n\t<ul\n\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut-list\"\n\t\trole=\"list\"\n\t>\n\t\t{ shortcuts.map( ( shortcut, index ) => (\n\t\t\t<li\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__shortcut\"\n\t\t\t\tkey={ index }\n\t\t\t>\n\t\t\t\t{ typeof shortcut === 'string' ? (\n\t\t\t\t\t<DynamicShortcut name={ shortcut } />\n\t\t\t\t) : (\n\t\t\t\t\t<Shortcut { ...shortcut } />\n\t\t\t\t) }\n\t\t\t</li>\n\t\t) ) }\n\t</ul>\n\t/* eslint-enable jsx-a11y/no-redundant-roles */\n);\n\nconst ShortcutSection = ( { title, shortcuts, className } ) => (\n\t<section\n\t\tclassName={ classnames(\n\t\t\t'edit-post-keyboard-shortcut-help-modal__section',\n\t\t\tclassName\n\t\t) }\n\t>\n\t\t{ !! title && (\n\t\t\t<h2 className=\"edit-post-keyboard-shortcut-help-modal__section-title\">\n\t\t\t\t{ title }\n\t\t\t</h2>\n\t\t) }\n\t\t<ShortcutList shortcuts={ shortcuts } />\n\t</section>\n);\n\nconst ShortcutCategorySection = ( {\n\ttitle,\n\tcategoryName,\n\tadditionalShortcuts = [],\n} ) => {\n\tconst categoryShortcuts = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( keyboardShortcutsStore ).getCategoryShortcuts(\n\t\t\t\tcategoryName\n\t\t\t);\n\t\t},\n\t\t[ categoryName ]\n\t);\n\n\treturn (\n\t\t<ShortcutSection\n\t\t\ttitle={ title }\n\t\t\tshortcuts={ categoryShortcuts.concat( additionalShortcuts ) }\n\t\t/>\n\t);\n};\n\nexport function KeyboardShortcutHelpModal( { isModalActive, toggleModal } ) {\n\tuseShortcut( 'core/edit-post/keyboard-shortcuts', toggleModal );\n\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal\"\n\t\t\ttitle={ __( 'Keyboard shortcuts' ) }\n\t\t\tcloseButtonLabel={ __( 'Close' ) }\n\t\t\tonRequestClose={ toggleModal }\n\t\t>\n\t\t\t<ShortcutSection\n\t\t\t\tclassName=\"edit-post-keyboard-shortcut-help-modal__main-shortcuts\"\n\t\t\t\tshortcuts={ [ 'core/edit-post/keyboard-shortcuts' ] }\n\t\t\t/>\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Global shortcuts' ) }\n\t\t\t\tcategoryName=\"global\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Selection shortcuts' ) }\n\t\t\t\tcategoryName=\"selection\"\n\t\t\t/>\n\n\t\t\t<ShortcutCategorySection\n\t\t\t\ttitle={ __( 'Block shortcuts' ) }\n\t\t\t\tcategoryName=\"block\"\n\t\t\t\tadditionalShortcuts={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tkeyCombination: { character: '/' },\n\t\t\t\t\t\tdescription: __(\n\t\t\t\t\t\t\t'Change the block type after adding a new paragraph.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t/* translators: The forward-slash character. e.g. '/'. */\n\t\t\t\t\t\tariaLabel: __( 'Forward-slash' ),\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t\t<ShortcutSection\n\t\t\t\ttitle={ __( 'Text formatting' ) }\n\t\t\t\tshortcuts={ textFormattingShortcuts }\n\t\t\t/>\n\t\t</Modal>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => ( {\n\t\tisModalActive: select( editPostStore ).isModalActive( MODAL_NAME ),\n\t} ) ),\n\twithDispatch( ( dispatch, { isModalActive } ) => {\n\t\tconst { openModal, closeModal } = dispatch( editPostStore );\n\n\t\treturn {\n\t\t\ttoggleModal: () =>\n\t\t\t\tisModalActive ? closeModal() : openModal( MODAL_NAME ),\n\t\t};\n\t} ),\n] )( KeyboardShortcutHelpModal );\n"]}
|
|
@@ -9,13 +9,14 @@ import classnames from 'classnames';
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import { VisualEditorGlobalKeyboardShortcuts, PostTitle, store as editorStore } from '@wordpress/editor';
|
|
12
|
-
import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __unstableBlockSettingsMenuFirstItem, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __experimentalLayoutStyle as LayoutStyle, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalRecursionProvider as RecursionProvider } from '@wordpress/block-editor';
|
|
12
|
+
import { WritingFlow, BlockList, BlockTools, store as blockEditorStore, __unstableUseBlockSelectionClearer as useBlockSelectionClearer, __unstableUseTypewriter as useTypewriter, __unstableUseClipboardHandler as useClipboardHandler, __unstableUseTypingObserver as useTypingObserver, __unstableBlockSettingsMenuFirstItem, __experimentalUseResizeCanvas as useResizeCanvas, __unstableEditorStyles as EditorStyles, useSetting, __experimentalLayoutStyle as LayoutStyle, __unstableUseMouseMoveTypingReset as useMouseMoveTypingReset, __unstableIframe as Iframe, __experimentalRecursionProvider as RecursionProvider, __experimentaluseLayoutClasses as useLayoutClasses, __experimentaluseLayoutStyles as useLayoutStyles } from '@wordpress/block-editor';
|
|
13
13
|
import { useEffect, useRef, useMemo } from '@wordpress/element';
|
|
14
14
|
import { Button, __unstableMotion as motion } from '@wordpress/components';
|
|
15
15
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
16
16
|
import { useMergeRefs } from '@wordpress/compose';
|
|
17
17
|
import { arrowLeft } from '@wordpress/icons';
|
|
18
18
|
import { __ } from '@wordpress/i18n';
|
|
19
|
+
import { parse } from '@wordpress/blocks';
|
|
19
20
|
/**
|
|
20
21
|
* Internal dependencies
|
|
21
22
|
*/
|
|
@@ -63,8 +64,35 @@ function MaybeIframe(_ref) {
|
|
|
63
64
|
name: "editor-canvas"
|
|
64
65
|
}, children);
|
|
65
66
|
}
|
|
67
|
+
/**
|
|
68
|
+
* Given an array of nested blocks, find the first Post Content
|
|
69
|
+
* block inside it, recursing through any nesting levels.
|
|
70
|
+
*
|
|
71
|
+
* @param {Array} blocks A list of blocks.
|
|
72
|
+
*
|
|
73
|
+
* @return {Object} The Post Content block.
|
|
74
|
+
*/
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
function findPostContent(blocks) {
|
|
78
|
+
for (let i = 0; i < blocks.length; i++) {
|
|
79
|
+
if (blocks[i].name === 'core/post-content') {
|
|
80
|
+
return blocks[i];
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if (blocks[i].innerBlocks.length) {
|
|
84
|
+
const nestedPostContent = findPostContent(blocks[i].innerBlocks);
|
|
85
|
+
|
|
86
|
+
if (nestedPostContent) {
|
|
87
|
+
return nestedPostContent;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
66
92
|
|
|
67
93
|
export default function VisualEditor(_ref2) {
|
|
94
|
+
var _postContentBlock$att;
|
|
95
|
+
|
|
68
96
|
let {
|
|
69
97
|
styles
|
|
70
98
|
} = _ref2;
|
|
@@ -72,17 +100,20 @@ export default function VisualEditor(_ref2) {
|
|
|
72
100
|
deviceType,
|
|
73
101
|
isWelcomeGuideVisible,
|
|
74
102
|
isTemplateMode,
|
|
103
|
+
editedPostTemplate = {},
|
|
75
104
|
wrapperBlockName,
|
|
76
105
|
wrapperUniqueId
|
|
77
106
|
} = useSelect(select => {
|
|
78
107
|
const {
|
|
79
108
|
isFeatureActive,
|
|
80
109
|
isEditingTemplate,
|
|
81
|
-
__experimentalGetPreviewDeviceType
|
|
110
|
+
__experimentalGetPreviewDeviceType,
|
|
111
|
+
getEditedPostTemplate
|
|
82
112
|
} = select(editPostStore);
|
|
83
113
|
const {
|
|
84
114
|
getCurrentPostId,
|
|
85
|
-
getCurrentPostType
|
|
115
|
+
getCurrentPostType,
|
|
116
|
+
getEditorSettings
|
|
86
117
|
} = select(editorStore);
|
|
87
118
|
|
|
88
119
|
const _isTemplateMode = isEditingTemplate();
|
|
@@ -95,10 +126,14 @@ export default function VisualEditor(_ref2) {
|
|
|
95
126
|
_wrapperBlockName = 'core/post-content';
|
|
96
127
|
}
|
|
97
128
|
|
|
129
|
+
const supportsTemplateMode = getEditorSettings().supportsTemplateMode;
|
|
98
130
|
return {
|
|
99
131
|
deviceType: __experimentalGetPreviewDeviceType(),
|
|
100
132
|
isWelcomeGuideVisible: isFeatureActive('welcomeGuide'),
|
|
101
133
|
isTemplateMode: _isTemplateMode,
|
|
134
|
+
// Post template fetch returns a 404 on classic themes, which
|
|
135
|
+
// messes with e2e tests, so we check it's a block theme first.
|
|
136
|
+
editedPostTemplate: supportsTemplateMode ? getEditedPostTemplate() : {},
|
|
102
137
|
wrapperBlockName: _wrapperBlockName,
|
|
103
138
|
wrapperUniqueId: getCurrentPostId()
|
|
104
139
|
};
|
|
@@ -110,14 +145,16 @@ export default function VisualEditor(_ref2) {
|
|
|
110
145
|
const {
|
|
111
146
|
themeHasDisabledLayoutStyles,
|
|
112
147
|
themeSupportsLayout,
|
|
113
|
-
assets
|
|
148
|
+
assets,
|
|
149
|
+
isFocusMode
|
|
114
150
|
} = useSelect(select => {
|
|
115
151
|
const _settings = select(blockEditorStore).getSettings();
|
|
116
152
|
|
|
117
153
|
return {
|
|
118
154
|
themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
|
|
119
155
|
themeSupportsLayout: _settings.supportsLayout,
|
|
120
|
-
assets: _settings.__unstableResolvedAssets
|
|
156
|
+
assets: _settings.__unstableResolvedAssets,
|
|
157
|
+
isFocusMode: _settings.focusMode
|
|
121
158
|
};
|
|
122
159
|
}, []);
|
|
123
160
|
const {
|
|
@@ -142,7 +179,7 @@ export default function VisualEditor(_ref2) {
|
|
|
142
179
|
borderBottom: 0
|
|
143
180
|
};
|
|
144
181
|
const resizedCanvasStyles = useResizeCanvas(deviceType, isTemplateMode);
|
|
145
|
-
const
|
|
182
|
+
const globalLayoutSettings = useSetting('layout');
|
|
146
183
|
const previewMode = 'is-' + deviceType.toLowerCase() + '-preview';
|
|
147
184
|
let animatedStyles = isTemplateMode ? templateModeStyles : desktopCanvasStyles;
|
|
148
185
|
|
|
@@ -159,8 +196,10 @@ export default function VisualEditor(_ref2) {
|
|
|
159
196
|
|
|
160
197
|
const ref = useRef();
|
|
161
198
|
const contentRef = useMergeRefs([ref, useClipboardHandler(), useTypewriter(), useTypingObserver(), useBlockSelectionClearer()]);
|
|
162
|
-
const blockSelectionClearerRef = useBlockSelectionClearer();
|
|
163
|
-
|
|
199
|
+
const blockSelectionClearerRef = useBlockSelectionClearer(); // fallbackLayout is used if there is no Post Content,
|
|
200
|
+
// and for Post Title.
|
|
201
|
+
|
|
202
|
+
const fallbackLayout = useMemo(() => {
|
|
164
203
|
if (isTemplateMode) {
|
|
165
204
|
return {
|
|
166
205
|
type: 'default'
|
|
@@ -170,7 +209,7 @@ export default function VisualEditor(_ref2) {
|
|
|
170
209
|
if (themeSupportsLayout) {
|
|
171
210
|
// We need to ensure support for wide and full alignments,
|
|
172
211
|
// so we add the constrained type.
|
|
173
|
-
return { ...
|
|
212
|
+
return { ...globalLayoutSettings,
|
|
174
213
|
type: 'constrained'
|
|
175
214
|
};
|
|
176
215
|
} // Set default layout for classic themes so all alignments are supported.
|
|
@@ -179,8 +218,35 @@ export default function VisualEditor(_ref2) {
|
|
|
179
218
|
return {
|
|
180
219
|
type: 'default'
|
|
181
220
|
};
|
|
182
|
-
}, [isTemplateMode, themeSupportsLayout,
|
|
183
|
-
const
|
|
221
|
+
}, [isTemplateMode, themeSupportsLayout, globalLayoutSettings]);
|
|
222
|
+
const postContentBlock = useMemo(() => {
|
|
223
|
+
// When in template editing mode, we can access the blocks directly.
|
|
224
|
+
if (editedPostTemplate !== null && editedPostTemplate !== void 0 && editedPostTemplate.blocks) {
|
|
225
|
+
return findPostContent(editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks);
|
|
226
|
+
} // If there are no blocks, we have to parse the content string.
|
|
227
|
+
// Best double-check it's a string otherwise the parse function gets unhappy.
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
const parseableContent = typeof (editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content) === 'string' ? editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content : '';
|
|
231
|
+
return findPostContent(parse(parseableContent)) || {};
|
|
232
|
+
}, [editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.content, editedPostTemplate === null || editedPostTemplate === void 0 ? void 0 : editedPostTemplate.blocks]);
|
|
233
|
+
const postContentLayoutClasses = useLayoutClasses(postContentBlock);
|
|
234
|
+
const blockListLayoutClass = classnames({
|
|
235
|
+
'is-layout-flow': !themeSupportsLayout
|
|
236
|
+
}, themeSupportsLayout && postContentLayoutClasses);
|
|
237
|
+
const postContentLayoutStyles = useLayoutStyles(postContentBlock, '.block-editor-block-list__layout.is-root-container');
|
|
238
|
+
const layout = (postContentBlock === null || postContentBlock === void 0 ? void 0 : (_postContentBlock$att = postContentBlock.attributes) === null || _postContentBlock$att === void 0 ? void 0 : _postContentBlock$att.layout) || {}; // Update type for blocks using legacy layouts.
|
|
239
|
+
|
|
240
|
+
const postContentLayout = layout && ((layout === null || layout === void 0 ? void 0 : layout.type) === 'constrained' || layout !== null && layout !== void 0 && layout.inherit || layout !== null && layout !== void 0 && layout.contentSize || layout !== null && layout !== void 0 && layout.wideSize) ? { ...globalLayoutSettings,
|
|
241
|
+
...layout,
|
|
242
|
+
type: 'constrained'
|
|
243
|
+
} : { ...globalLayoutSettings,
|
|
244
|
+
...layout,
|
|
245
|
+
type: 'default'
|
|
246
|
+
}; // If there is a Post Content block we use its layout for the block list;
|
|
247
|
+
// if not, this must be a classic theme, in which case we use the fallback layout.
|
|
248
|
+
|
|
249
|
+
const blockListLayout = postContentBlock ? postContentLayout : fallbackLayout;
|
|
184
250
|
const titleRef = useRef();
|
|
185
251
|
useEffect(() => {
|
|
186
252
|
var _titleRef$current;
|
|
@@ -221,12 +287,18 @@ export default function VisualEditor(_ref2) {
|
|
|
221
287
|
style: {
|
|
222
288
|
paddingBottom
|
|
223
289
|
}
|
|
224
|
-
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(LayoutStyle, {
|
|
290
|
+
}, themeSupportsLayout && !themeHasDisabledLayoutStyles && !isTemplateMode && createElement(Fragment, null, createElement(LayoutStyle, {
|
|
225
291
|
selector: ".edit-post-visual-editor__post-title-wrapper, .block-editor-block-list__layout.is-root-container",
|
|
226
|
-
layout:
|
|
227
|
-
layoutDefinitions:
|
|
228
|
-
}),
|
|
229
|
-
|
|
292
|
+
layout: fallbackLayout,
|
|
293
|
+
layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
|
|
294
|
+
}), postContentLayoutStyles && createElement(LayoutStyle, {
|
|
295
|
+
layout: postContentLayout,
|
|
296
|
+
css: postContentLayoutStyles,
|
|
297
|
+
layoutDefinitions: globalLayoutSettings === null || globalLayoutSettings === void 0 ? void 0 : globalLayoutSettings.definitions
|
|
298
|
+
})), !isTemplateMode && createElement("div", {
|
|
299
|
+
className: classnames('edit-post-visual-editor__post-title-wrapper', {
|
|
300
|
+
'is-focus-mode': isFocusMode
|
|
301
|
+
}),
|
|
230
302
|
contentEditable: false
|
|
231
303
|
}, createElement(PostTitle, {
|
|
232
304
|
ref: titleRef
|
|
@@ -236,7 +308,7 @@ export default function VisualEditor(_ref2) {
|
|
|
236
308
|
}, createElement(BlockList, {
|
|
237
309
|
className: isTemplateMode ? 'wp-site-blocks' : `${blockListLayoutClass} wp-block-post-content` // Ensure root level blocks receive default/flow blockGap styling rules.
|
|
238
310
|
,
|
|
239
|
-
__experimentalLayout:
|
|
311
|
+
__experimentalLayout: blockListLayout
|
|
240
312
|
}))))), createElement(__unstableBlockSettingsMenuFirstItem, null, _ref3 => {
|
|
241
313
|
let {
|
|
242
314
|
onClose
|