@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.
Files changed (109) hide show
  1. package/README.md +1 -1
  2. package/build/components/header/fullscreen-mode-close/index.js +19 -3
  3. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  4. package/build/components/header/header-toolbar/index.native.js +10 -3
  5. package/build/components/header/header-toolbar/index.native.js.map +1 -1
  6. package/build/components/header/template-title/index.js +1 -1
  7. package/build/components/header/template-title/index.js.map +1 -1
  8. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  9. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  10. package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
  11. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  12. package/build/components/keyboard-shortcuts/index.js +1 -8
  13. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  14. package/build/components/layout/index.js +1 -3
  15. package/build/components/layout/index.js.map +1 -1
  16. package/build/components/layout/index.native.js +5 -1
  17. package/build/components/layout/index.native.js.map +1 -1
  18. package/build/components/meta-boxes/index.js +1 -4
  19. package/build/components/meta-boxes/index.js.map +1 -1
  20. package/build/components/preferences-modal/index.js +54 -16
  21. package/build/components/preferences-modal/index.js.map +1 -1
  22. package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
  23. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  24. package/build/components/secondary-sidebar/list-view-sidebar.js +1 -0
  25. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  26. package/build/components/sidebar/plugin-sidebar/index.js +1 -1
  27. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -1
  28. package/build/components/sidebar/template/actions.js +6 -1
  29. package/build/components/sidebar/template/actions.js.map +1 -1
  30. package/build/components/sidebar/template/index.js +5 -2
  31. package/build/components/sidebar/template/index.js.map +1 -1
  32. package/build/components/sidebar/template-summary/index.js +2 -1
  33. package/build/components/sidebar/template-summary/index.js.map +1 -1
  34. package/build/editor.js +16 -6
  35. package/build/editor.js.map +1 -1
  36. package/build/hooks/validate-multiple-use/index.js +1 -1
  37. package/build/hooks/validate-multiple-use/index.js.map +1 -1
  38. package/build/index.js +6 -0
  39. package/build/index.js.map +1 -1
  40. package/build/store/selectors.js +5 -3
  41. package/build/store/selectors.js.map +1 -1
  42. package/build-module/components/header/fullscreen-mode-close/index.js +19 -4
  43. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  44. package/build-module/components/header/header-toolbar/index.native.js +11 -4
  45. package/build-module/components/header/header-toolbar/index.native.js.map +1 -1
  46. package/build-module/components/header/template-title/index.js +1 -1
  47. package/build-module/components/header/template-title/index.js.map +1 -1
  48. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +1 -1
  49. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +1 -1
  50. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -3
  51. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  52. package/build-module/components/keyboard-shortcuts/index.js +1 -8
  53. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  54. package/build-module/components/layout/index.js +2 -4
  55. package/build-module/components/layout/index.js.map +1 -1
  56. package/build-module/components/layout/index.native.js +5 -1
  57. package/build-module/components/layout/index.native.js.map +1 -1
  58. package/build-module/components/meta-boxes/index.js +1 -4
  59. package/build-module/components/meta-boxes/index.js.map +1 -1
  60. package/build-module/components/preferences-modal/index.js +55 -18
  61. package/build-module/components/preferences-modal/index.js.map +1 -1
  62. package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
  63. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  64. package/build-module/components/secondary-sidebar/list-view-sidebar.js +1 -0
  65. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  66. package/build-module/components/sidebar/plugin-sidebar/index.js +1 -1
  67. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -1
  68. package/build-module/components/sidebar/template/actions.js +6 -1
  69. package/build-module/components/sidebar/template/actions.js.map +1 -1
  70. package/build-module/components/sidebar/template/index.js +5 -2
  71. package/build-module/components/sidebar/template/index.js.map +1 -1
  72. package/build-module/components/sidebar/template-summary/index.js +2 -1
  73. package/build-module/components/sidebar/template-summary/index.js.map +1 -1
  74. package/build-module/editor.js +15 -6
  75. package/build-module/editor.js.map +1 -1
  76. package/build-module/hooks/validate-multiple-use/index.js +1 -1
  77. package/build-module/hooks/validate-multiple-use/index.js.map +1 -1
  78. package/build-module/index.js +5 -0
  79. package/build-module/index.js.map +1 -1
  80. package/build-module/store/selectors.js +5 -3
  81. package/build-module/store/selectors.js.map +1 -1
  82. package/build-style/style-rtl.css +30 -53
  83. package/build-style/style.css +30 -53
  84. package/package.json +27 -27
  85. package/src/components/header/fullscreen-mode-close/index.js +37 -15
  86. package/src/components/header/header-toolbar/index.native.js +8 -2
  87. package/src/components/header/template-title/index.js +3 -1
  88. package/src/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +15 -12
  89. package/src/components/keyboard-shortcut-help-modal/index.js +1 -3
  90. package/src/components/keyboard-shortcuts/index.js +19 -32
  91. package/src/components/layout/index.js +2 -6
  92. package/src/components/layout/index.native.js +7 -1
  93. package/src/components/meta-boxes/index.js +2 -9
  94. package/src/components/preferences-modal/index.js +91 -26
  95. package/src/components/preferences-modal/style.scss +6 -56
  96. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +330 -130
  97. package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
  98. package/src/components/secondary-sidebar/list-view-sidebar.js +1 -0
  99. package/src/components/sidebar/plugin-sidebar/index.js +1 -1
  100. package/src/components/sidebar/template/actions.js +6 -1
  101. package/src/components/sidebar/template/index.js +5 -3
  102. package/src/components/sidebar/template-summary/index.js +1 -1
  103. package/src/components/sidebar/template-summary/style.scss +2 -1
  104. package/src/components/visual-editor/style.scss +4 -5
  105. package/src/components/welcome-guide/style.scss +5 -0
  106. package/src/editor.js +98 -78
  107. package/src/hooks/validate-multiple-use/index.js +1 -1
  108. package/src/index.js +3 -0
  109. 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( ( select ) => {
52
- const {
53
- isFeatureActive,
54
- getPreference,
55
- __experimentalGetPreviewDeviceType,
56
- isEditingTemplate,
57
- getEditedPostTemplate,
58
- } = select( editPostStore );
59
- const { getEntityRecord, getPostType, getEntityRecords } = select(
60
- coreStore
61
- );
62
- const { getEditorSettings } = select( editorStore );
63
- const { getBlockTypes } = select( blocksStore );
64
- const isTemplate = [ 'wp_template', 'wp_template_part' ].includes(
65
- postType
66
- );
67
- // Ideally the initializeEditor function should be called using the ID of the REST endpoint.
68
- // to avoid the special case.
69
- let postObject;
70
- if ( isTemplate ) {
71
- const posts = getEntityRecords( 'postType', postType, {
72
- wp_id: postId,
73
- } );
74
- postObject = posts?.[ 0 ];
75
- } else {
76
- postObject = getEntityRecord( 'postType', postType, postId );
77
- }
78
- const supportsTemplateMode = getEditorSettings().supportsTemplateMode;
79
- const isViewable = getPostType( postType )?.viewable ?? false;
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
- return {
82
- hasFixedToolbar:
83
- isFeatureActive( 'fixedToolbar' ) ||
84
- __experimentalGetPreviewDeviceType() !== 'Desktop',
85
- focusMode: isFeatureActive( 'focusMode' ),
86
- hasReducedUI: isFeatureActive( 'reducedUI' ),
87
- hasThemeStyles: isFeatureActive( 'themeStyles' ),
88
- preferredStyleVariations: getPreference(
89
- 'preferredStyleVariations'
90
- ),
91
- hiddenBlockTypes: getPreference( 'hiddenBlockTypes' ),
92
- blockTypes: getBlockTypes(),
93
- __experimentalLocalAutosaveInterval: getPreference(
94
- 'localAutosaveInterval'
95
- ),
96
- keepCaretInsideBlock: isFeatureActive( 'keepCaretInsideBlock' ),
97
- isTemplateMode: isEditingTemplate(),
98
- template:
99
- supportsTemplateMode && isViewable
100
- ? getEditedPostTemplate()
101
- : null,
102
- post: postObject,
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
- return hasThemeStyles && settings.styles?.length
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
- : settings.defaultEditorStyles;
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
- <EditPostSettings.Provider value={ settings }>
171
- <SlotFillProvider>
172
- <EditorProvider
173
- settings={ editorSettings }
174
- post={ post }
175
- initialEdits={ initialEdits }
176
- useSubRegistry={ false }
177
- __unstableTemplate={
178
- isTemplateMode ? template : undefined
179
- }
180
- { ...props }
181
- >
182
- <ErrorBoundary onError={ onError }>
183
- <EditorInitialization postId={ postId } />
184
- <Layout styles={ styles } />
185
- <KeyboardShortcuts
186
- shortcuts={ preventEventDiscovery }
187
- />
188
- </ErrorBoundary>
189
- <PostLockedModal />
190
- </EditorProvider>
191
- </SlotFillProvider>
192
- </EditPostSettings.Provider>
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.title }: </strong>
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( {
@@ -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 and index to insert at.
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 { rootClientId, insertionIndex } = state.blockInserterPanel;
345
- return { rootClientId, insertionIndex };
344
+ const {
345
+ rootClientId,
346
+ insertionIndex,
347
+ filterValue,
348
+ } = state.blockInserterPanel;
349
+ return { rootClientId, insertionIndex, filterValue };
346
350
  }
347
351
 
348
352
  /**