@wordpress/edit-post 5.0.2 → 5.0.6
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/README.md +1 -1
- package/build/components/header/fullscreen-mode-close/index.js +19 -3
- package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
- package/build/components/header/header-toolbar/index.native.js +10 -3
- package/build/components/header/header-toolbar/index.native.js.map +1 -1
- package/build/components/header/template-title/index.js +1 -1
- package/build/components/header/template-title/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
- package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +1 -8
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +1 -3
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/index.native.js +5 -1
- package/build/components/layout/index.native.js.map +1 -1
- package/build/components/meta-boxes/index.js +1 -4
- package/build/components/meta-boxes/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +54 -16
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +1 -0
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build/components/sidebar/template/actions.js +6 -1
- package/build/components/sidebar/template/actions.js.map +1 -1
- package/build/components/sidebar/template/index.js +5 -2
- package/build/components/sidebar/template/index.js.map +1 -1
- package/build/components/sidebar/template-summary/index.js +2 -1
- package/build/components/sidebar/template-summary/index.js.map +1 -1
- package/build/editor.js +16 -6
- package/build/editor.js.map +1 -1
- package/build/hooks/validate-multiple-use/index.js +1 -1
- package/build/hooks/validate-multiple-use/index.js.map +1 -1
- package/build/index.js +6 -0
- package/build/index.js.map +1 -1
- package/build/store/selectors.js +5 -3
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/header/fullscreen-mode-close/index.js +19 -4
- package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
- package/build-module/components/header/header-toolbar/index.native.js +11 -4
- package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
- package/build-module/components/header/template-title/index.js +1 -1
- package/build-module/components/header/template-title/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -3
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +1 -8
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +2 -4
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/index.native.js +5 -1
- package/build-module/components/layout/index.native.js.map +1 -1
- package/build-module/components/meta-boxes/index.js +1 -4
- package/build-module/components/meta-boxes/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +55 -18
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -0
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/template/actions.js +6 -1
- package/build-module/components/sidebar/template/actions.js.map +1 -1
- package/build-module/components/sidebar/template/index.js +5 -2
- package/build-module/components/sidebar/template/index.js.map +1 -1
- package/build-module/components/sidebar/template-summary/index.js +2 -1
- package/build-module/components/sidebar/template-summary/index.js.map +1 -1
- package/build-module/editor.js +15 -6
- package/build-module/editor.js.map +1 -1
- package/build-module/hooks/validate-multiple-use/index.js +1 -1
- package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
- package/build-module/index.js +5 -0
- package/build-module/index.js.map +1 -1
- package/build-module/store/selectors.js +5 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +30 -53
- package/build-style/style.css +30 -53
- package/package.json +27 -27
- package/src/components/header/fullscreen-mode-close/index.js +37 -15
- package/src/components/header/header-toolbar/index.native.js +8 -2
- package/src/components/header/template-title/index.js +3 -1
- package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +15 -12
- package/src/components/keyboard-shortcut-help-modal/index.js +1 -3
- package/src/components/keyboard-shortcuts/index.js +19 -32
- package/src/components/layout/index.js +2 -6
- package/src/components/layout/index.native.js +7 -1
- package/src/components/meta-boxes/index.js +2 -9
- package/src/components/preferences-modal/index.js +91 -26
- package/src/components/preferences-modal/style.scss +6 -56
- package/src/components/preferences-modal/test/__snapshots__/index.js.snap +330 -130
- package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
- package/src/components/secondary-sidebar/list-view-sidebar.js +1 -0
- package/src/components/sidebar/plugin-sidebar/index.js +1 -1
- package/src/components/sidebar/template/actions.js +6 -1
- package/src/components/sidebar/template/index.js +5 -3
- package/src/components/sidebar/template-summary/index.js +1 -1
- package/src/components/sidebar/template-summary/style.scss +2 -1
- package/src/components/visual-editor/style.scss +4 -5
- package/src/components/welcome-guide/style.scss +5 -0
- package/src/editor.js +98 -78
- package/src/hooks/validate-multiple-use/index.js +1 -1
- package/src/index.js +3 -0
- package/src/store/selectors.js +7 -3
package/src/editor.js
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
import { StrictMode, useMemo } from '@wordpress/element';
|
|
18
18
|
import { KeyboardShortcuts, SlotFillProvider } from '@wordpress/components';
|
|
19
19
|
import { store as coreStore } from '@wordpress/core-data';
|
|
20
|
+
import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
|
|
20
21
|
|
|
21
22
|
/**
|
|
22
23
|
* Internal dependencies
|
|
@@ -48,60 +49,64 @@ function Editor( {
|
|
|
48
49
|
keepCaretInsideBlock,
|
|
49
50
|
isTemplateMode,
|
|
50
51
|
template,
|
|
51
|
-
} = useSelect(
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
52
|
+
} = useSelect(
|
|
53
|
+
( select ) => {
|
|
54
|
+
const {
|
|
55
|
+
isFeatureActive,
|
|
56
|
+
getPreference,
|
|
57
|
+
__experimentalGetPreviewDeviceType,
|
|
58
|
+
isEditingTemplate,
|
|
59
|
+
getEditedPostTemplate,
|
|
60
|
+
} = select( editPostStore );
|
|
61
|
+
const { getEntityRecord, getPostType, getEntityRecords } = select(
|
|
62
|
+
coreStore
|
|
63
|
+
);
|
|
64
|
+
const { getEditorSettings } = select( editorStore );
|
|
65
|
+
const { getBlockTypes } = select( blocksStore );
|
|
66
|
+
const isTemplate = [ 'wp_template', 'wp_template_part' ].includes(
|
|
67
|
+
postType
|
|
68
|
+
);
|
|
69
|
+
// Ideally the initializeEditor function should be called using the ID of the REST endpoint.
|
|
70
|
+
// to avoid the special case.
|
|
71
|
+
let postObject;
|
|
72
|
+
if ( isTemplate ) {
|
|
73
|
+
const posts = getEntityRecords( 'postType', postType, {
|
|
74
|
+
wp_id: postId,
|
|
75
|
+
} );
|
|
76
|
+
postObject = posts?.[ 0 ];
|
|
77
|
+
} else {
|
|
78
|
+
postObject = getEntityRecord( 'postType', postType, postId );
|
|
79
|
+
}
|
|
80
|
+
const supportsTemplateMode = getEditorSettings()
|
|
81
|
+
.supportsTemplateMode;
|
|
82
|
+
const isViewable = getPostType( postType )?.viewable ?? false;
|
|
80
83
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
84
|
+
return {
|
|
85
|
+
hasFixedToolbar:
|
|
86
|
+
isFeatureActive( 'fixedToolbar' ) ||
|
|
87
|
+
__experimentalGetPreviewDeviceType() !== 'Desktop',
|
|
88
|
+
focusMode: isFeatureActive( 'focusMode' ),
|
|
89
|
+
hasReducedUI: isFeatureActive( 'reducedUI' ),
|
|
90
|
+
hasThemeStyles: isFeatureActive( 'themeStyles' ),
|
|
91
|
+
preferredStyleVariations: getPreference(
|
|
92
|
+
'preferredStyleVariations'
|
|
93
|
+
),
|
|
94
|
+
hiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),
|
|
95
|
+
blockTypes: getBlockTypes(),
|
|
96
|
+
__experimentalLocalAutosaveInterval: getPreference(
|
|
97
|
+
'localAutosaveInterval'
|
|
98
|
+
),
|
|
99
|
+
keepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),
|
|
100
|
+
isTemplateMode: isEditingTemplate(),
|
|
101
|
+
template:
|
|
102
|
+
supportsTemplateMode && isViewable
|
|
103
|
+
? getEditedPostTemplate()
|
|
104
|
+
: null,
|
|
105
|
+
post: postObject,
|
|
106
|
+
};
|
|
107
|
+
},
|
|
108
|
+
[ postType, postId ]
|
|
109
|
+
);
|
|
105
110
|
|
|
106
111
|
const { updatePreferredStyleVariations, setIsInserterOpened } = useDispatch(
|
|
107
112
|
editPostStore
|
|
@@ -156,9 +161,22 @@ function Editor( {
|
|
|
156
161
|
] );
|
|
157
162
|
|
|
158
163
|
const styles = useMemo( () => {
|
|
159
|
-
|
|
164
|
+
const themeStyles = [];
|
|
165
|
+
const presetStyles = [];
|
|
166
|
+
settings.styles.forEach( ( style ) => {
|
|
167
|
+
if ( ! style.__unstableType || style.__unstableType === 'theme' ) {
|
|
168
|
+
themeStyles.push( style );
|
|
169
|
+
} else {
|
|
170
|
+
presetStyles.push( style );
|
|
171
|
+
}
|
|
172
|
+
} );
|
|
173
|
+
const defaultEditorStyles = [
|
|
174
|
+
...settings.defaultEditorStyles,
|
|
175
|
+
...presetStyles,
|
|
176
|
+
];
|
|
177
|
+
return hasThemeStyles && themeStyles.length
|
|
160
178
|
? settings.styles
|
|
161
|
-
:
|
|
179
|
+
: defaultEditorStyles;
|
|
162
180
|
}, [ settings, hasThemeStyles ] );
|
|
163
181
|
|
|
164
182
|
if ( ! post ) {
|
|
@@ -167,29 +185,31 @@ function Editor( {
|
|
|
167
185
|
|
|
168
186
|
return (
|
|
169
187
|
<StrictMode>
|
|
170
|
-
<
|
|
171
|
-
<
|
|
172
|
-
<
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
<
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
188
|
+
<ShortcutProvider>
|
|
189
|
+
<EditPostSettings.Provider value={ settings }>
|
|
190
|
+
<SlotFillProvider>
|
|
191
|
+
<EditorProvider
|
|
192
|
+
settings={ editorSettings }
|
|
193
|
+
post={ post }
|
|
194
|
+
initialEdits={ initialEdits }
|
|
195
|
+
useSubRegistry={ false }
|
|
196
|
+
__unstableTemplate={
|
|
197
|
+
isTemplateMode ? template : undefined
|
|
198
|
+
}
|
|
199
|
+
{ ...props }
|
|
200
|
+
>
|
|
201
|
+
<ErrorBoundary onError={ onError }>
|
|
202
|
+
<EditorInitialization postId={ postId } />
|
|
203
|
+
<Layout styles={ styles } />
|
|
204
|
+
<KeyboardShortcuts
|
|
205
|
+
shortcuts={ preventEventDiscovery }
|
|
206
|
+
/>
|
|
207
|
+
</ErrorBoundary>
|
|
208
|
+
<PostLockedModal />
|
|
209
|
+
</EditorProvider>
|
|
210
|
+
</SlotFillProvider>
|
|
211
|
+
</EditPostSettings.Provider>
|
|
212
|
+
</ShortcutProvider>
|
|
193
213
|
</StrictMode>
|
|
194
214
|
);
|
|
195
215
|
}
|
|
@@ -108,7 +108,7 @@ const withMultipleValidation = createHigherOrderComponent( ( BlockEdit ) => {
|
|
|
108
108
|
),
|
|
109
109
|
] }
|
|
110
110
|
>
|
|
111
|
-
<strong>{ blockType
|
|
111
|
+
<strong>{ blockType?.title }: </strong>
|
|
112
112
|
{ __( 'This block can only be used once.' ) }
|
|
113
113
|
</Warning>,
|
|
114
114
|
];
|
package/src/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
+
import { store as blocksStore } from '@wordpress/blocks';
|
|
4
5
|
import {
|
|
5
6
|
registerCoreBlocks,
|
|
6
7
|
__experimentalRegisterExperimentalCoreBlocks,
|
|
@@ -90,6 +91,7 @@ export function initializeEditor(
|
|
|
90
91
|
dispatch( interfaceStore ).setFeatureDefaults( 'core/edit-post', {
|
|
91
92
|
fixedToolbar: false,
|
|
92
93
|
welcomeGuide: true,
|
|
94
|
+
mobileGalleryWarning: true,
|
|
93
95
|
fullscreenMode: true,
|
|
94
96
|
showIconLabels: false,
|
|
95
97
|
themeStyles: true,
|
|
@@ -97,6 +99,7 @@ export function initializeEditor(
|
|
|
97
99
|
welcomeGuideTemplate: true,
|
|
98
100
|
} );
|
|
99
101
|
|
|
102
|
+
dispatch( blocksStore ).__experimentalReapplyBlockTypeFilters();
|
|
100
103
|
registerCoreBlocks();
|
|
101
104
|
if ( process.env.GUTENBERG_PHASE === 2 ) {
|
|
102
105
|
__experimentalRegisterExperimentalCoreBlocks( {
|
package/src/store/selectors.js
CHANGED
|
@@ -338,11 +338,15 @@ export function isInserterOpened( state ) {
|
|
|
338
338
|
*
|
|
339
339
|
* @param {Object} state Global application state.
|
|
340
340
|
*
|
|
341
|
-
* @return {Object} The root client ID
|
|
341
|
+
* @return {Object} The root client ID, index to insert at and starting filter value.
|
|
342
342
|
*/
|
|
343
343
|
export function __experimentalGetInsertionPoint( state ) {
|
|
344
|
-
const {
|
|
345
|
-
|
|
344
|
+
const {
|
|
345
|
+
rootClientId,
|
|
346
|
+
insertionIndex,
|
|
347
|
+
filterValue,
|
|
348
|
+
} = state.blockInserterPanel;
|
|
349
|
+
return { rootClientId, insertionIndex, filterValue };
|
|
346
350
|
}
|
|
347
351
|
|
|
348
352
|
/**
|