@wordpress/editor 12.2.1-next.f435e9e01b.0 → 12.3.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 (154) hide show
  1. package/CHANGELOG.md +7 -1
  2. package/build/components/deprecated.js +1 -1
  3. package/build/components/deprecated.js.map +1 -1
  4. package/build/components/deprecated.native.js.map +1 -1
  5. package/build/components/editor-help/index.native.js +3 -3
  6. package/build/components/editor-help/index.native.js.map +1 -1
  7. package/build/components/entities-saved-states/entity-record-item.js +1 -1
  8. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  9. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  10. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  11. package/build/components/index.js.map +1 -1
  12. package/build/components/index.native.js.map +1 -1
  13. package/build/components/local-autosave-monitor/index.js +5 -5
  14. package/build/components/local-autosave-monitor/index.js.map +1 -1
  15. package/build/components/post-featured-image/index.js +4 -4
  16. package/build/components/post-featured-image/index.js.map +1 -1
  17. package/build/components/post-last-revision/index.js +3 -3
  18. package/build/components/post-last-revision/index.js.map +1 -1
  19. package/build/components/post-locked-modal/index.js +1 -3
  20. package/build/components/post-locked-modal/index.js.map +1 -1
  21. package/build/components/post-saved-state/index.js +1 -1
  22. package/build/components/post-saved-state/index.js.map +1 -1
  23. package/build/components/post-schedule/index.js +3 -3
  24. package/build/components/post-schedule/index.js.map +1 -1
  25. package/build/components/post-slug/index.js +2 -4
  26. package/build/components/post-slug/index.js.map +1 -1
  27. package/build/components/post-switch-to-draft-button/index.js +19 -14
  28. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  29. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  30. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  31. package/build/components/post-title/index.native.js +2 -2
  32. package/build/components/post-title/index.native.js.map +1 -1
  33. package/build/components/post-trash/index.js +15 -29
  34. package/build/components/post-trash/index.js.map +1 -1
  35. package/build/components/provider/index.js +1 -1
  36. package/build/components/provider/index.js.map +1 -1
  37. package/build/components/provider/index.native.js +24 -15
  38. package/build/components/provider/index.native.js.map +1 -1
  39. package/build/components/provider/use-block-editor-settings.js +3 -8
  40. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  41. package/build/store/actions.js +231 -225
  42. package/build/store/actions.js.map +1 -1
  43. package/build/store/actions.native.js +6 -4
  44. package/build/store/actions.native.js.map +1 -1
  45. package/build/store/index.js +1 -8
  46. package/build/store/index.js.map +1 -1
  47. package/build/store/{controls.js → local-autosave.js} +1 -18
  48. package/build/store/local-autosave.js.map +1 -0
  49. package/build/store/reducer.js +0 -2
  50. package/build/store/reducer.js.map +1 -1
  51. package/build/store/selectors.js +8 -10
  52. package/build/store/selectors.js.map +1 -1
  53. package/build/store/utils/notice-builder.js +9 -4
  54. package/build/store/utils/notice-builder.js.map +1 -1
  55. package/build/utils/url.js +9 -26
  56. package/build/utils/url.js.map +1 -1
  57. package/build-module/components/deprecated.js +1 -1
  58. package/build-module/components/deprecated.js.map +1 -1
  59. package/build-module/components/deprecated.native.js +1 -1
  60. package/build-module/components/deprecated.native.js.map +1 -1
  61. package/build-module/components/editor-help/index.native.js +4 -4
  62. package/build-module/components/editor-help/index.native.js.map +1 -1
  63. package/build-module/components/entities-saved-states/entity-record-item.js +1 -1
  64. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  65. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  66. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +1 -1
  67. package/build-module/components/index.js +3 -3
  68. package/build-module/components/index.js.map +1 -1
  69. package/build-module/components/index.native.js +3 -3
  70. package/build-module/components/index.native.js.map +1 -1
  71. package/build-module/components/local-autosave-monitor/index.js +1 -1
  72. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  73. package/build-module/components/post-featured-image/index.js +4 -4
  74. package/build-module/components/post-featured-image/index.js.map +1 -1
  75. package/build-module/components/post-last-revision/index.js +2 -2
  76. package/build-module/components/post-last-revision/index.js.map +1 -1
  77. package/build-module/components/post-locked-modal/index.js +1 -2
  78. package/build-module/components/post-locked-modal/index.js.map +1 -1
  79. package/build-module/components/post-saved-state/index.js +1 -1
  80. package/build-module/components/post-saved-state/index.js.map +1 -1
  81. package/build-module/components/post-schedule/index.js +3 -3
  82. package/build-module/components/post-schedule/index.js.map +1 -1
  83. package/build-module/components/post-slug/index.js +1 -2
  84. package/build-module/components/post-slug/index.js.map +1 -1
  85. package/build-module/components/post-switch-to-draft-button/index.js +22 -16
  86. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  87. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  88. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  89. package/build-module/components/post-title/index.native.js +2 -2
  90. package/build-module/components/post-title/index.native.js.map +1 -1
  91. package/build-module/components/post-trash/index.js +15 -27
  92. package/build-module/components/post-trash/index.js.map +1 -1
  93. package/build-module/components/provider/index.js +1 -1
  94. package/build-module/components/provider/index.js.map +1 -1
  95. package/build-module/components/provider/index.native.js +26 -17
  96. package/build-module/components/provider/index.native.js.map +1 -1
  97. package/build-module/components/provider/use-block-editor-settings.js +3 -8
  98. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  99. package/build-module/store/actions.js +208 -207
  100. package/build-module/store/actions.js.map +1 -1
  101. package/build-module/store/actions.native.js +3 -3
  102. package/build-module/store/actions.native.js.map +1 -1
  103. package/build-module/store/index.js +1 -6
  104. package/build-module/store/index.js.map +1 -1
  105. package/build-module/store/{controls.js → local-autosave.js} +1 -15
  106. package/build-module/store/local-autosave.js.map +1 -0
  107. package/build-module/store/reducer.js +0 -2
  108. package/build-module/store/reducer.js.map +1 -1
  109. package/build-module/store/selectors.js +8 -9
  110. package/build-module/store/selectors.js.map +1 -1
  111. package/build-module/store/utils/notice-builder.js +9 -4
  112. package/build-module/store/utils/notice-builder.js.map +1 -1
  113. package/build-module/utils/url.js +8 -25
  114. package/build-module/utils/url.js.map +1 -1
  115. package/package.json +26 -27
  116. package/src/components/deprecated.js +1 -1
  117. package/src/components/deprecated.native.js +1 -1
  118. package/src/components/document-outline/test/index.js +1 -1
  119. package/src/components/editor-help/index.native.js +8 -8
  120. package/src/components/entities-saved-states/entity-record-item.js +1 -1
  121. package/src/components/global-keyboard-shortcuts/register-shortcuts.js +1 -1
  122. package/src/components/index.js +3 -3
  123. package/src/components/index.native.js +3 -3
  124. package/src/components/local-autosave-monitor/index.js +4 -1
  125. package/src/components/post-author/test/check.js +1 -1
  126. package/src/components/post-featured-image/index.js +4 -4
  127. package/src/components/post-last-revision/index.js +2 -2
  128. package/src/components/post-locked-modal/index.js +1 -2
  129. package/src/components/post-saved-state/index.js +1 -1
  130. package/src/components/post-saved-state/test/index.js +2 -2
  131. package/src/components/post-schedule/index.js +3 -3
  132. package/src/components/post-slug/index.js +1 -2
  133. package/src/components/post-switch-to-draft-button/index.js +35 -24
  134. package/src/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  135. package/src/components/post-text-editor/test/index.js +1 -1
  136. package/src/components/post-title/index.native.js +2 -2
  137. package/src/components/post-trash/index.js +12 -24
  138. package/src/components/provider/index.js +1 -1
  139. package/src/components/provider/index.native.js +27 -23
  140. package/src/components/provider/use-block-editor-settings.js +3 -14
  141. package/src/store/actions.js +137 -249
  142. package/src/store/actions.native.js +3 -3
  143. package/src/store/index.js +0 -6
  144. package/src/store/{controls.js → local-autosave.js} +0 -8
  145. package/src/store/reducer.js +0 -2
  146. package/src/store/selectors.js +8 -9
  147. package/src/store/test/actions.js +244 -416
  148. package/src/store/test/selectors.js +1 -1
  149. package/src/store/utils/notice-builder.js +9 -4
  150. package/src/store/utils/test/notice-builder.js +1 -0
  151. package/src/utils/url.js +8 -30
  152. package/build/store/controls.js.map +0 -1
  153. package/build-module/store/controls.js.map +0 -1
  154. package/src/utils/test/url.js +0 -22
@@ -31,12 +31,8 @@ import {
31
31
  import { withDispatch, withSelect } from '@wordpress/data';
32
32
  import { compose } from '@wordpress/compose';
33
33
  import { applyFilters } from '@wordpress/hooks';
34
- import {
35
- validateThemeColors,
36
- validateThemeGradients,
37
- store as blockEditorStore,
38
- } from '@wordpress/block-editor';
39
- import { getGlobalStyles } from '@wordpress/components';
34
+ import { store as blockEditorStore } from '@wordpress/block-editor';
35
+ import { getGlobalStyles, getColorsAndGradients } from '@wordpress/components';
40
36
  import { NEW_BLOCK_TYPES } from '@wordpress/block-library';
41
37
 
42
38
  const postTypeEntities = [
@@ -70,7 +66,7 @@ class NativeEditorProvider extends Component {
70
66
  constructor() {
71
67
  super( ...arguments );
72
68
 
73
- // Keep a local reference to `post` to detect changes
69
+ // Keep a local reference to `post` to detect changes.
74
70
  this.post = this.props.post;
75
71
  this.props.addEntities( postTypeEntities );
76
72
  this.props.receiveEntityRecords(
@@ -171,15 +167,15 @@ class NativeEditorProvider extends Component {
171
167
  this.setState( { isHelpVisible: true } );
172
168
  } );
173
169
 
174
- // Request current block impressions from native app
170
+ // Request current block impressions from native app.
175
171
  requestBlockTypeImpressions( ( storedImpressions ) => {
176
172
  const impressions = { ...NEW_BLOCK_TYPES, ...storedImpressions };
177
173
 
178
- // Persist impressions to JavaScript store
174
+ // Persist impressions to JavaScript store.
179
175
  updateSettings( { impressions } );
180
176
 
181
177
  // Persist impressions to native store if they do not include latest
182
- // `NEW_BLOCK_TYPES` configuration
178
+ // `NEW_BLOCK_TYPES` configuration.
183
179
  const storedImpressionKeys = Object.keys( storedImpressions );
184
180
  const storedImpressionsCurrent = Object.keys(
185
181
  NEW_BLOCK_TYPES
@@ -232,15 +228,18 @@ class NativeEditorProvider extends Component {
232
228
  }
233
229
  }
234
230
 
235
- getThemeColors( { colors, gradients, rawStyles, rawFeatures } ) {
236
- return {
237
- ...( rawStyles && rawFeatures
238
- ? getGlobalStyles( rawStyles, rawFeatures )
239
- : {
240
- colors: validateThemeColors( colors ),
241
- gradients: validateThemeGradients( gradients ),
242
- } ),
243
- };
231
+ getThemeColors( { rawStyles, rawFeatures } ) {
232
+ const { defaultEditorColors, defaultEditorGradients } = this.props;
233
+
234
+ if ( rawStyles && rawFeatures ) {
235
+ return getGlobalStyles( rawStyles, rawFeatures );
236
+ }
237
+
238
+ return getColorsAndGradients(
239
+ defaultEditorColors,
240
+ defaultEditorGradients,
241
+ rawFeatures
242
+ );
244
243
  }
245
244
 
246
245
  componentDidUpdate( prevProps ) {
@@ -263,7 +262,7 @@ class NativeEditorProvider extends Component {
263
262
 
264
263
  if ( this.props.mode === 'text' ) {
265
264
  // The HTMLTextInput component does not update the store when user is doing changes
266
- // Let's request the HTML from the component's state directly
265
+ // Let's request the HTML from the component's state directly.
267
266
  html = applyFilters( 'native.persist-html' );
268
267
  } else {
269
268
  html = serialize( this.props.blocks );
@@ -306,9 +305,9 @@ class NativeEditorProvider extends Component {
306
305
 
307
306
  toggleMode() {
308
307
  const { mode, switchMode } = this.props;
309
- // refresh html content first
308
+ // Refresh html content first.
310
309
  this.serializeToNativeAction();
311
- // make sure to blur the selected block and dismiss the keyboard
310
+ // Make sure to blur the selected block and dismiss the keyboard.
312
311
  this.props.clearSelectedBlock();
313
312
  switchMode( mode === 'visual' ? 'text' : 'visual' );
314
313
  }
@@ -363,6 +362,10 @@ export default compose( [
363
362
  getSettings: getBlockEditorSettings,
364
363
  } = select( blockEditorStore );
365
364
 
365
+ const settings = getBlockEditorSettings();
366
+ const defaultEditorColors = settings?.colors ?? [];
367
+ const defaultEditorGradients = settings?.gradients ?? [];
368
+
366
369
  const selectedBlockClientId = getSelectedBlockClientId();
367
370
  return {
368
371
  mode: getEditorMode(),
@@ -370,7 +373,8 @@ export default compose( [
370
373
  blocks: getEditorBlocks(),
371
374
  title: getEditedPostAttribute( 'title' ),
372
375
  getEditedPostContent,
373
- getBlockEditorSettings,
376
+ defaultEditorColors,
377
+ defaultEditorGradients,
374
378
  selectedBlockIndex: getBlockIndex( selectedBlockClientId ),
375
379
  blockCount: getGlobalBlockCount(),
376
380
  paragraphCount: getGlobalBlockCount( 'core/paragraph' ),
@@ -39,21 +39,10 @@ function useBlockEditorSettings( settings, hasTemplate ) {
39
39
  } = useSelect( ( select ) => {
40
40
  const { canUserUseUnfilteredHTML } = select( editorStore );
41
41
  const isWeb = Platform.OS === 'web';
42
- const {
43
- canUser,
44
- getUnstableBase,
45
- hasFinishedResolution,
46
- getEntityRecord,
47
- } = select( coreStore );
42
+ const { canUser, getEntityRecord } = select( coreStore );
48
43
 
49
44
  const siteSettings = getEntityRecord( 'root', 'site' );
50
45
 
51
- const siteData = getUnstableBase();
52
-
53
- const hasFinishedResolvingSiteData = hasFinishedResolution(
54
- 'getUnstableBase'
55
- );
56
-
57
46
  return {
58
47
  canUseUnfilteredHTML: canUserUseUnfilteredHTML(),
59
48
  reusableBlocks: isWeb
@@ -67,8 +56,6 @@ function useBlockEditorSettings( settings, hasTemplate ) {
67
56
  canUser( 'create', 'media' ),
68
57
  true
69
58
  ),
70
- hasResolvedLocalSiteData: hasFinishedResolvingSiteData,
71
- baseUrl: siteData?.url || '',
72
59
  userCanCreatePages: canUser( 'create', 'pages' ),
73
60
  pageOnFront: siteSettings?.page_on_front,
74
61
  };
@@ -104,6 +91,7 @@ function useBlockEditorSettings( settings, hasTemplate ) {
104
91
  '__experimentalFeatures',
105
92
  '__experimentalPreferredStyleVariations',
106
93
  '__experimentalSetIsInserterOpened',
94
+ '__experimentalGenerateAnchors',
107
95
  '__unstableGalleryWithImageBlocks',
108
96
  'alignWide',
109
97
  'allowedBlockTypes',
@@ -148,6 +136,7 @@ function useBlockEditorSettings( settings, hasTemplate ) {
148
136
  __experimentalCreatePageEntity: createPageEntity,
149
137
  __experimentalUserCanCreatePages: userCanCreatePages,
150
138
  pageOnFront,
139
+ __experimentalPreferPatternsOnRoot: hasTemplate,
151
140
  } ),
152
141
  [
153
142
  settings,