@wordpress/editor 14.1.0 → 14.2.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 +14 -12
- package/README.md +28 -7
- package/build/components/create-template-part-modal/index.js +2 -0
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/document-bar/index.js +11 -4
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/editor-interface/index.js +5 -3
- package/build/components/editor-interface/index.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +4 -12
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/global-keyboard-shortcuts/index.js +1 -1
- package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build/components/global-styles-provider/index.js +6 -65
- package/build/components/global-styles-provider/index.js.map +1 -1
- package/build/components/header/index.js +6 -2
- package/build/components/header/index.js.map +1 -1
- package/build/components/index.js +10 -2
- package/build/components/index.js.map +1 -1
- package/build/components/post-actions/actions.js +321 -254
- package/build/components/post-actions/actions.js.map +1 -1
- package/build/components/post-actions/index.js +6 -1
- package/build/components/post-actions/index.js.map +1 -1
- package/build/components/post-excerpt/index.js +2 -1
- package/build/components/post-excerpt/index.js.map +1 -1
- package/build/components/post-excerpt/panel.js +2 -1
- package/build/components/post-excerpt/panel.js.map +1 -1
- package/build/components/post-slug/check.js +8 -1
- package/build/components/post-slug/check.js.map +1 -1
- package/build/components/post-slug/index.js +6 -0
- package/build/components/post-slug/index.js.map +1 -1
- package/build/components/post-status/index.js +2 -1
- package/build/components/post-status/index.js.map +1 -1
- package/build/components/post-sticky/index.js +9 -13
- package/build/components/post-sticky/index.js.map +1 -1
- package/build/components/post-template/create-new-template-modal.js +2 -0
- package/build/components/post-template/create-new-template-modal.js.map +1 -1
- package/build/components/sidebar/index.js +2 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar/post-summary.js +1 -2
- package/build/components/sidebar/post-summary.js.map +1 -1
- package/build/components/template-part-content-panel/index.js +70 -0
- package/build/components/template-part-content-panel/index.js.map +1 -0
- package/build/hooks/pattern-overrides.js +1 -1
- package/build/hooks/pattern-overrides.js.map +1 -1
- package/build/lock-unlock.js +1 -1
- package/build/lock-unlock.js.map +1 -1
- package/build/store/private-actions.js +9 -5
- package/build/store/private-actions.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +2 -0
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/document-bar/index.js +11 -4
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/editor-interface/index.js +5 -3
- package/build-module/components/editor-interface/index.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +6 -14
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js +1 -1
- package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/global-styles-provider/index.js +7 -66
- package/build-module/components/global-styles-provider/index.js.map +1 -1
- package/build-module/components/header/index.js +6 -2
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/index.js +11 -2
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/post-actions/actions.js +322 -255
- package/build-module/components/post-actions/actions.js.map +1 -1
- package/build-module/components/post-actions/index.js +6 -1
- package/build-module/components/post-actions/index.js.map +1 -1
- package/build-module/components/post-excerpt/index.js +2 -1
- package/build-module/components/post-excerpt/index.js.map +1 -1
- package/build-module/components/post-excerpt/panel.js +2 -1
- package/build-module/components/post-excerpt/panel.js.map +1 -1
- package/build-module/components/post-slug/check.js +9 -0
- package/build-module/components/post-slug/check.js.map +1 -1
- package/build-module/components/post-slug/index.js +6 -0
- package/build-module/components/post-slug/index.js.map +1 -1
- package/build-module/components/post-status/index.js +2 -1
- package/build-module/components/post-status/index.js.map +1 -1
- package/build-module/components/post-sticky/index.js +10 -14
- package/build-module/components/post-sticky/index.js.map +1 -1
- package/build-module/components/post-template/create-new-template-modal.js +2 -0
- package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
- package/build-module/components/sidebar/index.js +2 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/post-summary.js +1 -2
- package/build-module/components/sidebar/post-summary.js.map +1 -1
- package/build-module/components/template-part-content-panel/index.js +63 -0
- package/build-module/components/template-part-content-panel/index.js.map +1 -0
- package/build-module/hooks/pattern-overrides.js +1 -1
- package/build-module/hooks/pattern-overrides.js.map +1 -1
- package/build-module/lock-unlock.js +1 -1
- package/build-module/lock-unlock.js.map +1 -1
- package/build-module/store/private-actions.js +9 -5
- package/build-module/store/private-actions.js.map +1 -1
- package/build-style/style-rtl.css +11 -23
- package/build-style/style.css +11 -23
- package/package.json +35 -35
- package/src/components/create-template-part-modal/index.js +2 -0
- package/src/components/create-template-part-modal/style.scss +0 -6
- package/src/components/document-bar/index.js +11 -4
- package/src/components/editor-interface/index.js +14 -8
- package/src/components/entities-saved-states/entity-record-item.js +4 -14
- package/src/components/entities-saved-states/style.scss +0 -13
- package/src/components/global-keyboard-shortcuts/index.js +1 -1
- package/src/components/global-styles-provider/index.js +7 -90
- package/src/components/header/index.js +2 -1
- package/src/components/index.js +11 -2
- package/src/components/post-actions/actions.js +443 -374
- package/src/components/post-actions/index.js +3 -1
- package/src/components/post-card-panel/style.scss +1 -0
- package/src/components/post-excerpt/index.js +4 -1
- package/src/components/post-excerpt/panel.js +2 -1
- package/src/components/post-publish-panel/style.scss +1 -1
- package/src/components/post-slug/check.js +8 -0
- package/src/components/post-slug/index.js +5 -0
- package/src/components/post-status/index.js +2 -0
- package/src/components/post-sticky/index.js +10 -13
- package/src/components/post-sticky/style.scss +3 -2
- package/src/components/post-template/create-new-template-modal.js +2 -0
- package/src/components/post-url/style.scss +4 -0
- package/src/components/sidebar/index.js +2 -0
- package/src/components/sidebar/post-summary.js +0 -2
- package/src/components/template-part-content-panel/index.js +62 -0
- package/src/components/visual-editor/style.scss +2 -0
- package/src/hooks/pattern-overrides.js +2 -3
- package/src/lock-unlock.js +1 -1
- package/src/store/private-actions.js +54 -21
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -7,17 +7,15 @@ import { isPlainObject } from 'is-plain-object';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { registerBlockStyle, store as blocksStore } from '@wordpress/blocks';
|
|
11
10
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
12
11
|
import { store as coreStore } from '@wordpress/core-data';
|
|
13
12
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
14
|
-
import {
|
|
13
|
+
import { useMemo, useCallback } from '@wordpress/element';
|
|
15
14
|
|
|
16
15
|
/**
|
|
17
16
|
* Internal dependencies
|
|
18
17
|
*/
|
|
19
18
|
import { unlock } from '../../lock-unlock';
|
|
20
|
-
import setNestedValue from '../../utils/set-nested-value';
|
|
21
19
|
|
|
22
20
|
const { GlobalStylesContext, cleanEmptyObject } = unlock(
|
|
23
21
|
blockEditorPrivateApis
|
|
@@ -32,85 +30,6 @@ export function mergeBaseAndUserConfigs( base, user ) {
|
|
|
32
30
|
} );
|
|
33
31
|
}
|
|
34
32
|
|
|
35
|
-
/**
|
|
36
|
-
* Resolves shared block style variation definitions from the user origin
|
|
37
|
-
* under their respective block types and registers the block style if required.
|
|
38
|
-
*
|
|
39
|
-
* @param {Object} userConfig Current user origin global styles data.
|
|
40
|
-
* @return {Object} Updated global styles data.
|
|
41
|
-
*/
|
|
42
|
-
function useResolvedBlockStyleVariationsConfig( userConfig ) {
|
|
43
|
-
const { getBlockStyles } = useSelect( blocksStore );
|
|
44
|
-
const sharedVariations = userConfig?.styles?.blocks?.variations;
|
|
45
|
-
|
|
46
|
-
// Collect block style variation definitions to merge and unregistered
|
|
47
|
-
// block styles for automatic registration.
|
|
48
|
-
const [ userConfigToMerge, unregisteredStyles ] = useMemo( () => {
|
|
49
|
-
if ( ! sharedVariations ) {
|
|
50
|
-
return [];
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
const variationsConfigToMerge = {};
|
|
54
|
-
const unregisteredBlockStyles = [];
|
|
55
|
-
|
|
56
|
-
Object.entries( sharedVariations ).forEach(
|
|
57
|
-
( [ variationName, variation ] ) => {
|
|
58
|
-
if ( ! variation?.blockTypes?.length ) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
variation.blockTypes.forEach( ( blockName ) => {
|
|
63
|
-
const blockStyles = getBlockStyles( blockName );
|
|
64
|
-
const registeredBlockStyle = blockStyles.find(
|
|
65
|
-
( { name } ) => name === variationName
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
if ( ! registeredBlockStyle ) {
|
|
69
|
-
unregisteredBlockStyles.push( [
|
|
70
|
-
blockName,
|
|
71
|
-
{
|
|
72
|
-
name: variationName,
|
|
73
|
-
label: variationName,
|
|
74
|
-
},
|
|
75
|
-
] );
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
const path = [
|
|
79
|
-
'styles',
|
|
80
|
-
'blocks',
|
|
81
|
-
blockName,
|
|
82
|
-
'variations',
|
|
83
|
-
variationName,
|
|
84
|
-
];
|
|
85
|
-
setNestedValue( variationsConfigToMerge, path, variation );
|
|
86
|
-
} );
|
|
87
|
-
}
|
|
88
|
-
);
|
|
89
|
-
|
|
90
|
-
return [ variationsConfigToMerge, unregisteredBlockStyles ];
|
|
91
|
-
}, [ sharedVariations, getBlockStyles ] );
|
|
92
|
-
|
|
93
|
-
// Automatically register missing block styles from variations.
|
|
94
|
-
useEffect(
|
|
95
|
-
() =>
|
|
96
|
-
unregisteredStyles?.forEach( ( unregisteredStyle ) =>
|
|
97
|
-
registerBlockStyle( ...unregisteredStyle )
|
|
98
|
-
),
|
|
99
|
-
[ unregisteredStyles ]
|
|
100
|
-
);
|
|
101
|
-
|
|
102
|
-
// Merge shared block style variation definitions into overall user config.
|
|
103
|
-
const updatedConfig = useMemo( () => {
|
|
104
|
-
if ( ! userConfigToMerge ) {
|
|
105
|
-
return userConfig;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
return deepmerge( userConfigToMerge, userConfig );
|
|
109
|
-
}, [ userConfigToMerge, userConfig ] );
|
|
110
|
-
|
|
111
|
-
return updatedConfig;
|
|
112
|
-
}
|
|
113
|
-
|
|
114
33
|
function useGlobalStylesUserConfig() {
|
|
115
34
|
const { globalStylesId, isReady, settings, styles, _links } = useSelect(
|
|
116
35
|
( select ) => {
|
|
@@ -199,7 +118,7 @@ function useGlobalStylesUserConfig() {
|
|
|
199
118
|
options
|
|
200
119
|
);
|
|
201
120
|
},
|
|
202
|
-
[ globalStylesId ]
|
|
121
|
+
[ globalStylesId, editEntityRecord, getEditedEntityRecord ]
|
|
203
122
|
);
|
|
204
123
|
|
|
205
124
|
return [ isReady, config, setConfig ];
|
|
@@ -219,28 +138,26 @@ export function useGlobalStylesContext() {
|
|
|
219
138
|
const [ isUserConfigReady, userConfig, setUserConfig ] =
|
|
220
139
|
useGlobalStylesUserConfig();
|
|
221
140
|
const [ isBaseConfigReady, baseConfig ] = useGlobalStylesBaseConfig();
|
|
222
|
-
const userConfigWithVariations =
|
|
223
|
-
useResolvedBlockStyleVariationsConfig( userConfig );
|
|
224
141
|
|
|
225
142
|
const mergedConfig = useMemo( () => {
|
|
226
|
-
if ( ! baseConfig || !
|
|
143
|
+
if ( ! baseConfig || ! userConfig ) {
|
|
227
144
|
return {};
|
|
228
145
|
}
|
|
229
146
|
|
|
230
|
-
return mergeBaseAndUserConfigs( baseConfig,
|
|
231
|
-
}, [
|
|
147
|
+
return mergeBaseAndUserConfigs( baseConfig, userConfig );
|
|
148
|
+
}, [ userConfig, baseConfig ] );
|
|
232
149
|
|
|
233
150
|
const context = useMemo( () => {
|
|
234
151
|
return {
|
|
235
152
|
isReady: isUserConfigReady && isBaseConfigReady,
|
|
236
|
-
user:
|
|
153
|
+
user: userConfig,
|
|
237
154
|
base: baseConfig,
|
|
238
155
|
merged: mergedConfig,
|
|
239
156
|
setUserConfig,
|
|
240
157
|
};
|
|
241
158
|
}, [
|
|
242
159
|
mergedConfig,
|
|
243
|
-
|
|
160
|
+
userConfig,
|
|
244
161
|
baseConfig,
|
|
245
162
|
setUserConfig,
|
|
246
163
|
isUserConfigReady,
|
|
@@ -51,6 +51,7 @@ function Header( {
|
|
|
51
51
|
forceDisableBlockTools,
|
|
52
52
|
setEntitiesSavedStatesCallback,
|
|
53
53
|
title,
|
|
54
|
+
icon,
|
|
54
55
|
} ) {
|
|
55
56
|
const isWideViewport = useViewportMatch( 'large' );
|
|
56
57
|
const isLargeViewport = useViewportMatch( 'medium' );
|
|
@@ -116,7 +117,7 @@ function Header( {
|
|
|
116
117
|
! isBlockToolsCollapsed && hasTopToolbar,
|
|
117
118
|
} ) }
|
|
118
119
|
>
|
|
119
|
-
{
|
|
120
|
+
<DocumentBar title={ title } icon={ icon } />
|
|
120
121
|
</div>
|
|
121
122
|
</motion.div>
|
|
122
123
|
<motion.div
|
package/src/components/index.js
CHANGED
|
@@ -105,12 +105,21 @@ export { default as CharacterCount } from './character-count';
|
|
|
105
105
|
export { default as EditorProvider } from './provider';
|
|
106
106
|
|
|
107
107
|
export * from './deprecated';
|
|
108
|
+
|
|
109
|
+
/**
|
|
110
|
+
* Handles the keyboard shortcuts for the editor.
|
|
111
|
+
*
|
|
112
|
+
* It provides functionality for various keyboard shortcuts such as toggling editor mode,
|
|
113
|
+
* toggling distraction-free mode, undo/redo, saving the post, toggling list view,
|
|
114
|
+
* and toggling the sidebar.
|
|
115
|
+
*/
|
|
108
116
|
export const VisualEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;
|
|
109
117
|
|
|
110
118
|
/**
|
|
111
|
-
*
|
|
119
|
+
* Handles the keyboard shortcuts for the editor.
|
|
112
120
|
*
|
|
113
121
|
* It provides functionality for various keyboard shortcuts such as toggling editor mode,
|
|
114
|
-
* toggling distraction-free mode, undo/redo
|
|
122
|
+
* toggling distraction-free mode, undo/redo, saving the post, toggling list view,
|
|
123
|
+
* and toggling the sidebar.
|
|
115
124
|
*/
|
|
116
125
|
export const TextEditorGlobalKeyboardShortcuts = EditorKeyboardShortcuts;
|