@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.
Files changed (128) hide show
  1. package/CHANGELOG.md +14 -12
  2. package/README.md +28 -7
  3. package/build/components/create-template-part-modal/index.js +2 -0
  4. package/build/components/create-template-part-modal/index.js.map +1 -1
  5. package/build/components/document-bar/index.js +11 -4
  6. package/build/components/document-bar/index.js.map +1 -1
  7. package/build/components/editor-interface/index.js +5 -3
  8. package/build/components/editor-interface/index.js.map +1 -1
  9. package/build/components/entities-saved-states/entity-record-item.js +4 -12
  10. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  11. package/build/components/global-keyboard-shortcuts/index.js +1 -1
  12. package/build/components/global-keyboard-shortcuts/index.js.map +1 -1
  13. package/build/components/global-styles-provider/index.js +6 -65
  14. package/build/components/global-styles-provider/index.js.map +1 -1
  15. package/build/components/header/index.js +6 -2
  16. package/build/components/header/index.js.map +1 -1
  17. package/build/components/index.js +10 -2
  18. package/build/components/index.js.map +1 -1
  19. package/build/components/post-actions/actions.js +321 -254
  20. package/build/components/post-actions/actions.js.map +1 -1
  21. package/build/components/post-actions/index.js +6 -1
  22. package/build/components/post-actions/index.js.map +1 -1
  23. package/build/components/post-excerpt/index.js +2 -1
  24. package/build/components/post-excerpt/index.js.map +1 -1
  25. package/build/components/post-excerpt/panel.js +2 -1
  26. package/build/components/post-excerpt/panel.js.map +1 -1
  27. package/build/components/post-slug/check.js +8 -1
  28. package/build/components/post-slug/check.js.map +1 -1
  29. package/build/components/post-slug/index.js +6 -0
  30. package/build/components/post-slug/index.js.map +1 -1
  31. package/build/components/post-status/index.js +2 -1
  32. package/build/components/post-status/index.js.map +1 -1
  33. package/build/components/post-sticky/index.js +9 -13
  34. package/build/components/post-sticky/index.js.map +1 -1
  35. package/build/components/post-template/create-new-template-modal.js +2 -0
  36. package/build/components/post-template/create-new-template-modal.js.map +1 -1
  37. package/build/components/sidebar/index.js +2 -1
  38. package/build/components/sidebar/index.js.map +1 -1
  39. package/build/components/sidebar/post-summary.js +1 -2
  40. package/build/components/sidebar/post-summary.js.map +1 -1
  41. package/build/components/template-part-content-panel/index.js +70 -0
  42. package/build/components/template-part-content-panel/index.js.map +1 -0
  43. package/build/hooks/pattern-overrides.js +1 -1
  44. package/build/hooks/pattern-overrides.js.map +1 -1
  45. package/build/lock-unlock.js +1 -1
  46. package/build/lock-unlock.js.map +1 -1
  47. package/build/store/private-actions.js +9 -5
  48. package/build/store/private-actions.js.map +1 -1
  49. package/build-module/components/create-template-part-modal/index.js +2 -0
  50. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  51. package/build-module/components/document-bar/index.js +11 -4
  52. package/build-module/components/document-bar/index.js.map +1 -1
  53. package/build-module/components/editor-interface/index.js +5 -3
  54. package/build-module/components/editor-interface/index.js.map +1 -1
  55. package/build-module/components/entities-saved-states/entity-record-item.js +6 -14
  56. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  57. package/build-module/components/global-keyboard-shortcuts/index.js +1 -1
  58. package/build-module/components/global-keyboard-shortcuts/index.js.map +1 -1
  59. package/build-module/components/global-styles-provider/index.js +7 -66
  60. package/build-module/components/global-styles-provider/index.js.map +1 -1
  61. package/build-module/components/header/index.js +6 -2
  62. package/build-module/components/header/index.js.map +1 -1
  63. package/build-module/components/index.js +11 -2
  64. package/build-module/components/index.js.map +1 -1
  65. package/build-module/components/post-actions/actions.js +322 -255
  66. package/build-module/components/post-actions/actions.js.map +1 -1
  67. package/build-module/components/post-actions/index.js +6 -1
  68. package/build-module/components/post-actions/index.js.map +1 -1
  69. package/build-module/components/post-excerpt/index.js +2 -1
  70. package/build-module/components/post-excerpt/index.js.map +1 -1
  71. package/build-module/components/post-excerpt/panel.js +2 -1
  72. package/build-module/components/post-excerpt/panel.js.map +1 -1
  73. package/build-module/components/post-slug/check.js +9 -0
  74. package/build-module/components/post-slug/check.js.map +1 -1
  75. package/build-module/components/post-slug/index.js +6 -0
  76. package/build-module/components/post-slug/index.js.map +1 -1
  77. package/build-module/components/post-status/index.js +2 -1
  78. package/build-module/components/post-status/index.js.map +1 -1
  79. package/build-module/components/post-sticky/index.js +10 -14
  80. package/build-module/components/post-sticky/index.js.map +1 -1
  81. package/build-module/components/post-template/create-new-template-modal.js +2 -0
  82. package/build-module/components/post-template/create-new-template-modal.js.map +1 -1
  83. package/build-module/components/sidebar/index.js +2 -1
  84. package/build-module/components/sidebar/index.js.map +1 -1
  85. package/build-module/components/sidebar/post-summary.js +1 -2
  86. package/build-module/components/sidebar/post-summary.js.map +1 -1
  87. package/build-module/components/template-part-content-panel/index.js +63 -0
  88. package/build-module/components/template-part-content-panel/index.js.map +1 -0
  89. package/build-module/hooks/pattern-overrides.js +1 -1
  90. package/build-module/hooks/pattern-overrides.js.map +1 -1
  91. package/build-module/lock-unlock.js +1 -1
  92. package/build-module/lock-unlock.js.map +1 -1
  93. package/build-module/store/private-actions.js +9 -5
  94. package/build-module/store/private-actions.js.map +1 -1
  95. package/build-style/style-rtl.css +11 -23
  96. package/build-style/style.css +11 -23
  97. package/package.json +35 -35
  98. package/src/components/create-template-part-modal/index.js +2 -0
  99. package/src/components/create-template-part-modal/style.scss +0 -6
  100. package/src/components/document-bar/index.js +11 -4
  101. package/src/components/editor-interface/index.js +14 -8
  102. package/src/components/entities-saved-states/entity-record-item.js +4 -14
  103. package/src/components/entities-saved-states/style.scss +0 -13
  104. package/src/components/global-keyboard-shortcuts/index.js +1 -1
  105. package/src/components/global-styles-provider/index.js +7 -90
  106. package/src/components/header/index.js +2 -1
  107. package/src/components/index.js +11 -2
  108. package/src/components/post-actions/actions.js +443 -374
  109. package/src/components/post-actions/index.js +3 -1
  110. package/src/components/post-card-panel/style.scss +1 -0
  111. package/src/components/post-excerpt/index.js +4 -1
  112. package/src/components/post-excerpt/panel.js +2 -1
  113. package/src/components/post-publish-panel/style.scss +1 -1
  114. package/src/components/post-slug/check.js +8 -0
  115. package/src/components/post-slug/index.js +5 -0
  116. package/src/components/post-status/index.js +2 -0
  117. package/src/components/post-sticky/index.js +10 -13
  118. package/src/components/post-sticky/style.scss +3 -2
  119. package/src/components/post-template/create-new-template-modal.js +2 -0
  120. package/src/components/post-url/style.scss +4 -0
  121. package/src/components/sidebar/index.js +2 -0
  122. package/src/components/sidebar/post-summary.js +0 -2
  123. package/src/components/template-part-content-panel/index.js +62 -0
  124. package/src/components/visual-editor/style.scss +2 -0
  125. package/src/hooks/pattern-overrides.js +2 -3
  126. package/src/lock-unlock.js +1 -1
  127. package/src/store/private-actions.js +54 -21
  128. 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 { useEffect, useMemo, useCallback } from '@wordpress/element';
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 || ! userConfigWithVariations ) {
143
+ if ( ! baseConfig || ! userConfig ) {
227
144
  return {};
228
145
  }
229
146
 
230
- return mergeBaseAndUserConfigs( baseConfig, userConfigWithVariations );
231
- }, [ userConfigWithVariations, baseConfig ] );
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: userConfigWithVariations,
153
+ user: userConfig,
237
154
  base: baseConfig,
238
155
  merged: mergedConfig,
239
156
  setUserConfig,
240
157
  };
241
158
  }, [
242
159
  mergedConfig,
243
- userConfigWithVariations,
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
- { ! title ? <DocumentBar /> : title }
120
+ <DocumentBar title={ title } icon={ icon } />
120
121
  </div>
121
122
  </motion.div>
122
123
  <motion.div
@@ -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
- * Component handles the global keyboard shortcuts for the Text editor.
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;