@wordpress/edit-post 7.1.0 → 7.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 (120) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/README.md +1 -11
  4. package/build/components/block-manager/category.js +12 -8
  5. package/build/components/block-manager/category.js.map +1 -1
  6. package/build/components/header/index.js +3 -2
  7. package/build/components/header/index.js.map +1 -1
  8. package/build/components/header/template-title/delete-template.js +5 -8
  9. package/build/components/header/template-title/delete-template.js.map +1 -1
  10. package/build/components/header/template-title/edit-template-title.js +1 -0
  11. package/build/components/header/template-title/edit-template-title.js.map +1 -1
  12. package/build/components/header/template-title/index.js +3 -1
  13. package/build/components/header/template-title/index.js.map +1 -1
  14. package/build/components/layout/index.js +3 -2
  15. package/build/components/layout/index.js.map +1 -1
  16. package/build/components/meta-boxes/index.js +1 -7
  17. package/build/components/meta-boxes/index.js.map +1 -1
  18. package/build/components/preferences-modal/meta-boxes-section.js +1 -7
  19. package/build/components/preferences-modal/meta-boxes-section.js.map +1 -1
  20. package/build/components/sidebar/post-schedule/index.js +2 -2
  21. package/build/components/sidebar/post-schedule/index.js.map +1 -1
  22. package/build/components/sidebar/post-template/create-modal.js +8 -10
  23. package/build/components/sidebar/post-template/create-modal.js.map +1 -1
  24. package/build/components/sidebar/post-template/form.js +1 -0
  25. package/build/components/sidebar/post-template/form.js.map +1 -1
  26. package/build/components/sidebar/post-template/index.js +2 -2
  27. package/build/components/sidebar/post-template/index.js.map +1 -1
  28. package/build/components/sidebar/post-url/index.js +2 -2
  29. package/build/components/sidebar/post-url/index.js.map +1 -1
  30. package/build/components/sidebar/post-visibility/index.js +2 -2
  31. package/build/components/sidebar/post-visibility/index.js.map +1 -1
  32. package/build/components/start-page-options/index.js +2 -4
  33. package/build/components/start-page-options/index.js.map +1 -1
  34. package/build/components/visual-editor/index.js +3 -17
  35. package/build/components/visual-editor/index.js.map +1 -1
  36. package/build/editor.js +14 -12
  37. package/build/editor.js.map +1 -1
  38. package/build/editor.native.js +6 -3
  39. package/build/editor.native.js.map +1 -1
  40. package/build/experiments.js +19 -0
  41. package/build/experiments.js.map +1 -0
  42. package/build/index.js +17 -31
  43. package/build/index.js.map +1 -1
  44. package/build/plugins/index.js +1 -3
  45. package/build/plugins/index.js.map +1 -1
  46. package/build-module/components/block-manager/category.js +12 -7
  47. package/build-module/components/block-manager/category.js.map +1 -1
  48. package/build-module/components/header/index.js +3 -2
  49. package/build-module/components/header/index.js.map +1 -1
  50. package/build-module/components/header/template-title/delete-template.js +5 -7
  51. package/build-module/components/header/template-title/delete-template.js.map +1 -1
  52. package/build-module/components/header/template-title/edit-template-title.js +1 -0
  53. package/build-module/components/header/template-title/edit-template-title.js.map +1 -1
  54. package/build-module/components/header/template-title/index.js +3 -1
  55. package/build-module/components/header/template-title/index.js.map +1 -1
  56. package/build-module/components/layout/index.js +3 -2
  57. package/build-module/components/layout/index.js.map +1 -1
  58. package/build-module/components/meta-boxes/index.js +1 -6
  59. package/build-module/components/meta-boxes/index.js.map +1 -1
  60. package/build-module/components/preferences-modal/meta-boxes-section.js +1 -6
  61. package/build-module/components/preferences-modal/meta-boxes-section.js.map +1 -1
  62. package/build-module/components/sidebar/post-schedule/index.js +2 -2
  63. package/build-module/components/sidebar/post-schedule/index.js.map +1 -1
  64. package/build-module/components/sidebar/post-template/create-modal.js +9 -11
  65. package/build-module/components/sidebar/post-template/create-modal.js.map +1 -1
  66. package/build-module/components/sidebar/post-template/form.js +1 -0
  67. package/build-module/components/sidebar/post-template/form.js.map +1 -1
  68. package/build-module/components/sidebar/post-template/index.js +2 -2
  69. package/build-module/components/sidebar/post-template/index.js.map +1 -1
  70. package/build-module/components/sidebar/post-url/index.js +2 -2
  71. package/build-module/components/sidebar/post-url/index.js.map +1 -1
  72. package/build-module/components/sidebar/post-visibility/index.js +2 -2
  73. package/build-module/components/sidebar/post-visibility/index.js.map +1 -1
  74. package/build-module/components/start-page-options/index.js +2 -4
  75. package/build-module/components/start-page-options/index.js.map +1 -1
  76. package/build-module/components/visual-editor/index.js +4 -17
  77. package/build-module/components/visual-editor/index.js.map +1 -1
  78. package/build-module/editor.js +15 -14
  79. package/build-module/editor.js.map +1 -1
  80. package/build-module/editor.native.js +6 -2
  81. package/build-module/editor.native.js.map +1 -1
  82. package/build-module/experiments.js +9 -0
  83. package/build-module/experiments.js.map +1 -0
  84. package/build-module/index.js +16 -31
  85. package/build-module/index.js.map +1 -1
  86. package/build-module/plugins/index.js +1 -2
  87. package/build-module/plugins/index.js.map +1 -1
  88. package/build-style/style-rtl.css +7 -2
  89. package/build-style/style.css +7 -2
  90. package/package.json +29 -28
  91. package/src/components/block-manager/category.js +4 -9
  92. package/src/components/header/index.js +5 -4
  93. package/src/components/header/template-title/delete-template.js +4 -10
  94. package/src/components/header/template-title/edit-template-title.js +1 -0
  95. package/src/components/header/template-title/index.js +1 -1
  96. package/src/components/header/template-title/style.scss +1 -4
  97. package/src/components/layout/index.js +5 -4
  98. package/src/components/meta-boxes/index.js +1 -6
  99. package/src/components/preferences-modal/meta-boxes-section.js +1 -6
  100. package/src/components/preferences-modal/options/test/enable-custom-fields.js +3 -11
  101. package/src/components/preferences-modal/test/__snapshots__/index.js.snap +3 -2
  102. package/src/components/sidebar/post-schedule/index.js +1 -2
  103. package/src/components/sidebar/post-template/create-modal.js +18 -24
  104. package/src/components/sidebar/post-template/form.js +1 -0
  105. package/src/components/sidebar/post-template/index.js +1 -2
  106. package/src/components/sidebar/post-url/index.js +1 -2
  107. package/src/components/sidebar/post-visibility/index.js +1 -1
  108. package/src/components/sidebar/settings-header/style.scss +8 -0
  109. package/src/components/start-page-options/index.js +2 -7
  110. package/src/components/visual-editor/index.js +11 -32
  111. package/src/editor.js +25 -38
  112. package/src/editor.native.js +1 -2
  113. package/src/experiments.js +10 -0
  114. package/src/index.js +17 -56
  115. package/src/plugins/index.js +0 -2
  116. package/build/plugins/navigation-list-view-menu-item.js +0 -48
  117. package/build/plugins/navigation-list-view-menu-item.js.map +0 -1
  118. package/build-module/plugins/navigation-list-view-menu-item.js +0 -40
  119. package/build-module/plugins/navigation-list-view-menu-item.js.map +0 -1
  120. package/src/plugins/navigation-list-view-menu-item.js +0 -56
@@ -7,10 +7,10 @@ import { useState } from '@wordpress/element';
7
7
  import { serialize, createBlock } from '@wordpress/blocks';
8
8
  import {
9
9
  Modal,
10
- Flex,
11
- FlexItem,
12
10
  TextControl,
13
11
  Button,
12
+ __experimentalHStack as HStack,
13
+ __experimentalVStack as VStack,
14
14
  } from '@wordpress/components';
15
15
  import { __ } from '@wordpress/i18n';
16
16
  import { cleanForSlug } from '@wordpress/url';
@@ -100,7 +100,6 @@ export default function PostTemplateCreateModal( { onClose } ) {
100
100
  return (
101
101
  <Modal
102
102
  title={ __( 'Create custom template' ) }
103
- closeLabel={ __( 'Close' ) }
104
103
  onRequestClose={ cancel }
105
104
  className="edit-post-post-template__create-modal"
106
105
  >
@@ -108,28 +107,23 @@ export default function PostTemplateCreateModal( { onClose } ) {
108
107
  className="edit-post-post-template__create-form"
109
108
  onSubmit={ submit }
110
109
  >
111
- <Flex align="flex-start" gap={ 8 }>
112
- <FlexItem>
113
- <TextControl
114
- label={ __( 'Name' ) }
115
- value={ title }
116
- onChange={ setTitle }
117
- placeholder={ DEFAULT_TITLE }
118
- disabled={ isBusy }
119
- help={ __(
120
- 'Describe the template, e.g. "Post with sidebar". Custom templates can be applied to any post or page.'
121
- ) }
122
- />
123
- </FlexItem>
124
- </Flex>
125
-
126
- <Flex justify="flex-end" expanded={ false }>
127
- <FlexItem>
110
+ <VStack spacing="3">
111
+ <TextControl
112
+ __nextHasNoMarginBottom
113
+ label={ __( 'Name' ) }
114
+ value={ title }
115
+ onChange={ setTitle }
116
+ placeholder={ DEFAULT_TITLE }
117
+ disabled={ isBusy }
118
+ help={ __(
119
+ 'Describe the template, e.g. "Post with sidebar". Custom templates can be applied to any post or page.'
120
+ ) }
121
+ />
122
+ <HStack justify="right">
128
123
  <Button variant="tertiary" onClick={ cancel }>
129
124
  { __( 'Cancel' ) }
130
125
  </Button>
131
- </FlexItem>
132
- <FlexItem>
126
+
133
127
  <Button
134
128
  variant="primary"
135
129
  type="submit"
@@ -138,8 +132,8 @@ export default function PostTemplateCreateModal( { onClose } ) {
138
132
  >
139
133
  { __( 'Create' ) }
140
134
  </Button>
141
- </FlexItem>
142
- </Flex>
135
+ </HStack>
136
+ </VStack>
143
137
  </form>
144
138
  </Modal>
145
139
  );
@@ -111,6 +111,7 @@ export default function PostTemplateForm( { onClose } ) {
111
111
  </Notice>
112
112
  ) : (
113
113
  <SelectControl
114
+ __nextHasNoMarginBottom
114
115
  hideLabelFromVision
115
116
  label={ __( 'Template' ) }
116
117
  value={ selectedOption?.value ?? '' }
@@ -20,7 +20,7 @@ export default function PostTemplate() {
20
20
  const [ popoverAnchor, setPopoverAnchor ] = useState( null );
21
21
  // Memoize popoverProps to avoid returning a new object every time.
22
22
  const popoverProps = useMemo(
23
- () => ( { anchor: popoverAnchor } ),
23
+ () => ( { anchor: popoverAnchor, placement: 'bottom-end' } ),
24
24
  [ popoverAnchor ]
25
25
  );
26
26
 
@@ -57,7 +57,6 @@ export default function PostTemplate() {
57
57
  <span>{ __( 'Template' ) }</span>
58
58
  <Dropdown
59
59
  popoverProps={ popoverProps }
60
- position="bottom left"
61
60
  className="edit-post-post-template__dropdown"
62
61
  contentClassName="edit-post-post-template__dialog"
63
62
  focusOnMount
@@ -16,7 +16,7 @@ export default function PostURL() {
16
16
  const [ popoverAnchor, setPopoverAnchor ] = useState( null );
17
17
  // Memoize popoverProps to avoid returning a new object every time.
18
18
  const popoverProps = useMemo(
19
- () => ( { anchor: popoverAnchor } ),
19
+ () => ( { anchor: popoverAnchor, placement: 'bottom-end' } ),
20
20
  [ popoverAnchor ]
21
21
  );
22
22
 
@@ -26,7 +26,6 @@ export default function PostURL() {
26
26
  <span>{ __( 'URL' ) }</span>
27
27
  <Dropdown
28
28
  popoverProps={ popoverProps }
29
- position="bottom left"
30
29
  className="edit-post-post-url__dropdown"
31
30
  contentClassName="edit-post-post-url__dialog"
32
31
  focusOnMount
@@ -21,6 +21,7 @@ export function PostVisibility() {
21
21
  // Anchor the popover to the middle of the entire row so that it doesn't
22
22
  // move around when the label changes.
23
23
  anchor: popoverAnchor,
24
+ placement: 'bottom-end',
24
25
  } ),
25
26
  [ popoverAnchor ]
26
27
  );
@@ -40,7 +41,6 @@ export function PostVisibility() {
40
41
  ) }
41
42
  { canEdit && (
42
43
  <Dropdown
43
- position="bottom left"
44
44
  contentClassName="edit-post-post-visibility__dialog"
45
45
  popoverProps={ popoverProps }
46
46
  focusOnMount
@@ -15,6 +15,7 @@
15
15
  &:focus:not(:disabled) {
16
16
  position: relative;
17
17
  box-shadow: none;
18
+ outline: none;
18
19
  }
19
20
 
20
21
  // Tab indicator
@@ -39,6 +40,10 @@
39
40
  // Active.
40
41
  &.is-active::after {
41
42
  height: calc(1 * var(--wp-admin-border-width-focus));
43
+
44
+ // Windows high contrast mode.
45
+ outline: 2px solid transparent;
46
+ outline-offset: -1px;
42
47
  }
43
48
 
44
49
  // Focus.
@@ -62,5 +67,8 @@
62
67
 
63
68
  &:focus-visible::before {
64
69
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
70
+
71
+ // Windows high contrast mode.
72
+ outline: 2px solid transparent;
65
73
  }
66
74
  }
@@ -23,15 +23,11 @@ function useStartPatterns() {
23
23
  // the current post type is part of the postTypes declared.
24
24
  const { blockPatternsWithPostContentBlockType, postType } = useSelect(
25
25
  ( select ) => {
26
- const { __experimentalGetPatternsByBlockTypes } =
27
- select( blockEditorStore );
26
+ const { getPatternsByBlockTypes } = select( blockEditorStore );
28
27
  const { getCurrentPostType } = select( editorStore );
29
28
  return {
30
- // get pa
31
29
  blockPatternsWithPostContentBlockType:
32
- __experimentalGetPatternsByBlockTypes(
33
- 'core/post-content'
34
- ),
30
+ getPatternsByBlockTypes( 'core/post-content' ),
35
31
  postType: getCurrentPostType(),
36
32
  };
37
33
  },
@@ -117,7 +113,6 @@ export default function StartPageOptions() {
117
113
  <Modal
118
114
  className="edit-post-start-page-options__modal"
119
115
  title={ __( 'Choose a pattern' ) }
120
- closeLabel={ __( 'Cancel' ) }
121
116
  onRequestClose={ () => {
122
117
  setModalState( START_PAGE_MODAL_STATES.CLOSED );
123
118
  } }
@@ -20,7 +20,6 @@ import {
20
20
  __unstableUseTypewriter as useTypewriter,
21
21
  __unstableUseClipboardHandler as useClipboardHandler,
22
22
  __unstableUseTypingObserver as useTypingObserver,
23
- __unstableBlockSettingsMenuFirstItem,
24
23
  __experimentalUseResizeCanvas as useResizeCanvas,
25
24
  __unstableEditorStyles as EditorStyles,
26
25
  useSetting,
@@ -43,17 +42,9 @@ import { store as coreStore } from '@wordpress/core-data';
43
42
  /**
44
43
  * Internal dependencies
45
44
  */
46
- import BlockInspectorButton from './block-inspector-button';
47
45
  import { store as editPostStore } from '../../store';
48
46
 
49
- function MaybeIframe( {
50
- children,
51
- contentRef,
52
- shouldIframe,
53
- styles,
54
- assets,
55
- style,
56
- } ) {
47
+ function MaybeIframe( { children, contentRef, shouldIframe, styles, style } ) {
57
48
  const ref = useMouseMoveTypingReset();
58
49
 
59
50
  if ( ! shouldIframe ) {
@@ -75,7 +66,6 @@ function MaybeIframe( {
75
66
  return (
76
67
  <Iframe
77
68
  head={ <EditorStyles styles={ styles } /> }
78
- assets={ assets }
79
69
  ref={ ref }
80
70
  contentRef={ contentRef }
81
71
  style={ { width: '100%', height: '100%', display: 'block' } }
@@ -92,7 +82,7 @@ function MaybeIframe( {
92
82
  *
93
83
  * @param {Array} blocks A list of blocks.
94
84
  *
95
- * @return {Object} The Post Content block.
85
+ * @return {Object | undefined} The Post Content block.
96
86
  */
97
87
  function findPostContent( blocks ) {
98
88
  for ( let i = 0; i < blocks.length; i++ ) {
@@ -165,20 +155,15 @@ export default function VisualEditor( { styles } ) {
165
155
  ( select ) => select( editPostStore ).hasMetaBoxes(),
166
156
  []
167
157
  );
168
- const {
169
- themeHasDisabledLayoutStyles,
170
- themeSupportsLayout,
171
- assets,
172
- isFocusMode,
173
- } = useSelect( ( select ) => {
174
- const _settings = select( blockEditorStore ).getSettings();
175
- return {
176
- themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
177
- themeSupportsLayout: _settings.supportsLayout,
178
- assets: _settings.__unstableResolvedAssets,
179
- isFocusMode: _settings.focusMode,
180
- };
181
- }, [] );
158
+ const { themeHasDisabledLayoutStyles, themeSupportsLayout, isFocusMode } =
159
+ useSelect( ( select ) => {
160
+ const _settings = select( blockEditorStore ).getSettings();
161
+ return {
162
+ themeHasDisabledLayoutStyles: _settings.disableLayoutStyles,
163
+ themeSupportsLayout: _settings.supportsLayout,
164
+ isFocusMode: _settings.focusMode,
165
+ };
166
+ }, [] );
182
167
  const { clearSelectedBlock } = useDispatch( blockEditorStore );
183
168
  const { setIsEditingTemplate } = useDispatch( editPostStore );
184
169
  const desktopCanvasStyles = {
@@ -361,7 +346,6 @@ export default function VisualEditor( { styles } ) {
361
346
  }
362
347
  contentRef={ contentRef }
363
348
  styles={ styles }
364
- assets={ assets }
365
349
  >
366
350
  { themeSupportsLayout &&
367
351
  ! themeHasDisabledLayoutStyles &&
@@ -419,11 +403,6 @@ export default function VisualEditor( { styles } ) {
419
403
  </MaybeIframe>
420
404
  </motion.div>
421
405
  </motion.div>
422
- <__unstableBlockSettingsMenuFirstItem>
423
- { ( { onClose } ) => (
424
- <BlockInspectorButton onClick={ onClose } />
425
- ) }
426
- </__unstableBlockSettingsMenuFirstItem>
427
406
  </BlockTools>
428
407
  );
429
408
  }
package/src/editor.js CHANGED
@@ -1,20 +1,15 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { map } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
4
  import { store as blocksStore } from '@wordpress/blocks';
10
5
  import { useSelect, useDispatch } from '@wordpress/data';
11
6
  import {
12
- EditorProvider,
13
7
  ErrorBoundary,
14
8
  PostLockedModal,
15
9
  store as editorStore,
10
+ experiments as editorExperiments,
16
11
  } from '@wordpress/editor';
17
- import { StrictMode, useMemo } from '@wordpress/element';
12
+ import { useMemo } from '@wordpress/element';
18
13
  import { SlotFillProvider } from '@wordpress/components';
19
14
  import { store as coreStore } from '@wordpress/core-data';
20
15
  import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
@@ -26,15 +21,11 @@ import { store as preferencesStore } from '@wordpress/preferences';
26
21
  import Layout from './components/layout';
27
22
  import EditorInitialization from './components/editor-initialization';
28
23
  import { store as editPostStore } from './store';
24
+ import { unlock } from './experiments';
25
+
26
+ const { ExperimentalEditorProvider } = unlock( editorExperiments );
29
27
 
30
- function Editor( {
31
- postId,
32
- postType,
33
- settings,
34
- initialEdits,
35
- onError,
36
- ...props
37
- } ) {
28
+ function Editor( { postId, postType, settings, initialEdits, ...props } ) {
38
29
  const {
39
30
  hasFixedToolbar,
40
31
  focusMode,
@@ -136,7 +127,7 @@ function Editor( {
136
127
  // all block types).
137
128
  const defaultAllowedBlockTypes =
138
129
  true === settings.allowedBlockTypes
139
- ? map( blockTypes, 'name' )
130
+ ? blockTypes.map( ( { name } ) => name )
140
131
  : settings.allowedBlockTypes || [];
141
132
 
142
133
  result.allowedBlockTypes = defaultAllowedBlockTypes.filter(
@@ -182,28 +173,24 @@ function Editor( {
182
173
  }
183
174
 
184
175
  return (
185
- <StrictMode>
186
- <ShortcutProvider>
187
- <SlotFillProvider>
188
- <EditorProvider
189
- settings={ editorSettings }
190
- post={ post }
191
- initialEdits={ initialEdits }
192
- useSubRegistry={ false }
193
- __unstableTemplate={
194
- isTemplateMode ? template : undefined
195
- }
196
- { ...props }
197
- >
198
- <ErrorBoundary onError={ onError }>
199
- <EditorInitialization postId={ postId } />
200
- <Layout styles={ styles } />
201
- </ErrorBoundary>
202
- <PostLockedModal />
203
- </EditorProvider>
204
- </SlotFillProvider>
205
- </ShortcutProvider>
206
- </StrictMode>
176
+ <ShortcutProvider>
177
+ <SlotFillProvider>
178
+ <ExperimentalEditorProvider
179
+ settings={ editorSettings }
180
+ post={ post }
181
+ initialEdits={ initialEdits }
182
+ useSubRegistry={ false }
183
+ __unstableTemplate={ isTemplateMode ? template : undefined }
184
+ { ...props }
185
+ >
186
+ <ErrorBoundary>
187
+ <EditorInitialization postId={ postId } />
188
+ <Layout styles={ styles } />
189
+ </ErrorBoundary>
190
+ <PostLockedModal />
191
+ </ExperimentalEditorProvider>
192
+ </SlotFillProvider>
193
+ </ShortcutProvider>
207
194
  );
208
195
  }
209
196
 
@@ -2,7 +2,6 @@
2
2
  * External dependencies
3
3
  */
4
4
  import memize from 'memize';
5
- import { map } from 'lodash';
6
5
  import { I18nManager } from 'react-native';
7
6
  import { GestureHandlerRootView } from 'react-native-gesture-handler';
8
7
 
@@ -74,7 +73,7 @@ class Editor extends Component {
74
73
  // all block types).
75
74
  const defaultAllowedBlockTypes =
76
75
  true === settings.allowedBlockTypes
77
- ? map( blockTypes, 'name' )
76
+ ? blockTypes.map( ( { name } ) => name )
78
77
  : settings.allowedBlockTypes || [];
79
78
 
80
79
  settings.allowedBlockTypes = defaultAllowedBlockTypes.filter(
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/experiments';
5
+
6
+ export const { lock, unlock } =
7
+ __dangerousOptInToUnstableAPIsOnlyForCoreModules(
8
+ 'I know using unstable features means my plugin or theme will inevitably break on the next WordPress release.',
9
+ '@wordpress/edit-post'
10
+ );
package/src/index.js CHANGED
@@ -6,7 +6,8 @@ import {
6
6
  registerCoreBlocks,
7
7
  __experimentalRegisterExperimentalCoreBlocks,
8
8
  } from '@wordpress/block-library';
9
- import { render, unmountComponentAtNode } from '@wordpress/element';
9
+ import deprecated from '@wordpress/deprecated';
10
+ import { createRoot } from '@wordpress/element';
10
11
  import { dispatch, select } from '@wordpress/data';
11
12
  import { addFilter } from '@wordpress/hooks';
12
13
  import { store as preferencesStore } from '@wordpress/preferences';
@@ -20,49 +21,6 @@ import './plugins';
20
21
  import Editor from './editor';
21
22
  import { store as editPostStore } from './store';
22
23
 
23
- /**
24
- * Reinitializes the editor after the user chooses to reboot the editor after
25
- * an unhandled error occurs, replacing previously mounted editor element using
26
- * an initial state from prior to the crash.
27
- *
28
- * @param {Object} postType Post type of the post to edit.
29
- * @param {Object} postId ID of the post to edit.
30
- * @param {Element} target DOM node in which editor is rendered.
31
- * @param {?Object} settings Editor settings object.
32
- * @param {Object} initialEdits Programmatic edits to apply initially, to be
33
- * considered as non-user-initiated (bypass for
34
- * unsaved changes prompt).
35
- */
36
- export function reinitializeEditor(
37
- postType,
38
- postId,
39
- target,
40
- settings,
41
- initialEdits
42
- ) {
43
- unmountComponentAtNode( target );
44
- const reboot = reinitializeEditor.bind(
45
- null,
46
- postType,
47
- postId,
48
- target,
49
- settings,
50
- initialEdits
51
- );
52
-
53
- render(
54
- <Editor
55
- settings={ settings }
56
- onError={ reboot }
57
- postId={ postId }
58
- postType={ postType }
59
- initialEdits={ initialEdits }
60
- recovery
61
- />,
62
- target
63
- );
64
- }
65
-
66
24
  /**
67
25
  * Initializes and returns an instance of Editor.
68
26
  *
@@ -82,14 +40,7 @@ export function initializeEditor(
82
40
  initialEdits
83
41
  ) {
84
42
  const target = document.getElementById( id );
85
- const reboot = reinitializeEditor.bind(
86
- null,
87
- postType,
88
- postId,
89
- target,
90
- settings,
91
- initialEdits
92
- );
43
+ const root = createRoot( target );
93
44
 
94
45
  dispatch( preferencesStore ).setDefaults( 'core/edit-post', {
95
46
  editorMode: 'visual',
@@ -187,16 +138,26 @@ export function initializeEditor(
187
138
  window.addEventListener( 'dragover', ( e ) => e.preventDefault(), false );
188
139
  window.addEventListener( 'drop', ( e ) => e.preventDefault(), false );
189
140
 
190
- render(
141
+ root.render(
191
142
  <Editor
192
143
  settings={ settings }
193
- onError={ reboot }
194
144
  postId={ postId }
195
145
  postType={ postType }
196
146
  initialEdits={ initialEdits }
197
- />,
198
- target
147
+ />
199
148
  );
149
+
150
+ return root;
151
+ }
152
+
153
+ /**
154
+ * Used to reinitialize the editor after an error. Now it's a deprecated noop function.
155
+ */
156
+ export function reinitializeEditor() {
157
+ deprecated( 'wp.editPost.reinitializeEditor', {
158
+ since: '6.2',
159
+ version: '6.3',
160
+ } );
200
161
  }
201
162
 
202
163
  export { default as PluginBlockSettingsMenuItem } from './components/block-settings-menu/plugin-block-settings-menu-item';
@@ -14,7 +14,6 @@ import CopyContentMenuItem from './copy-content-menu-item';
14
14
  import KeyboardShortcutsHelpMenuItem from './keyboard-shortcuts-help-menu-item';
15
15
  import ToolsMoreMenuGroup from '../components/header/tools-more-menu-group';
16
16
  import WelcomeGuideMenuItem from './welcome-guide-menu-item';
17
- import NavigationListViewMenuItem from './navigation-list-view-menu-item';
18
17
 
19
18
  registerPlugin( 'edit-post', {
20
19
  render() {
@@ -56,7 +55,6 @@ registerPlugin( 'edit-post', {
56
55
  </>
57
56
  ) }
58
57
  </ToolsMoreMenuGroup>
59
- <NavigationListViewMenuItem />
60
58
  </>
61
59
  );
62
60
  },
@@ -1,48 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _element = require("@wordpress/element");
9
-
10
- var _blockEditor = require("@wordpress/block-editor");
11
-
12
- var _components = require("@wordpress/components");
13
-
14
- var _data = require("@wordpress/data");
15
-
16
- var _i18n = require("@wordpress/i18n");
17
-
18
- var _icons = require("@wordpress/icons");
19
-
20
- var _window;
21
-
22
- const NavMenuSidebarToggle = () => {
23
- // eslint-disable-next-line @wordpress/data-no-store-string-literals
24
- const {
25
- openGeneralSidebar
26
- } = (0, _data.useDispatch)('core/edit-post');
27
- return (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
28
- className: "components-toolbar__control",
29
- label: (0, _i18n.__)('Open navigation list view'),
30
- onClick: () => openGeneralSidebar('edit-post/block'),
31
- icon: _icons.listView
32
- }));
33
- };
34
-
35
- let MaybeNavMenuSidebarToggle = _element.Fragment;
36
- const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
37
-
38
- if (isOffCanvasNavigationEditorEnabled) {
39
- MaybeNavMenuSidebarToggle = NavMenuSidebarToggle;
40
- }
41
-
42
- const NavigationEditMenuItem = () => {
43
- return (0, _element.createElement)(_blockEditor.BlockEditorProvider, null, (0, _element.createElement)(_blockEditor.__unstableBlockToolbarLastItem, null, (0, _element.createElement)(_blockEditor.__unstableBlockNameContext.Consumer, null, blockName => blockName === 'core/navigation' && (0, _element.createElement)(MaybeNavMenuSidebarToggle, null))));
44
- };
45
-
46
- var _default = NavigationEditMenuItem;
47
- exports.default = _default;
48
- //# sourceMappingURL=navigation-list-view-menu-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/plugins/navigation-list-view-menu-item.js"],"names":["NavMenuSidebarToggle","openGeneralSidebar","listView","MaybeNavMenuSidebarToggle","Fragment","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","NavigationEditMenuItem","blockName"],"mappings":";;;;;;;AAUA;;AAPA;;AAKA;;AACA;;AAEA;;AACA;;;;AAEA,MAAMA,oBAAoB,GAAG,MAAM;AAClC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAyB,uBAAa,gBAAb,CAA/B;AAEA,SACC,4BAAC,wBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,KAAK,EAAG,cAAI,2BAAJ,CAFT;AAGC,IAAA,OAAO,EAAG,MAAMA,kBAAkB,CAAE,iBAAF,CAHnC;AAIC,IAAA,IAAI,EAAGC;AAJR,IADD,CADD;AAUA,CAdD;;AAgBA,IAAIC,yBAAyB,GAAGC,iBAAhC;AAEA,MAAMC,kCAAkC,GACvC,YAAAC,MAAM,UAAN,0CAAQC,6CAAR,MAA0D,IAD3D;;AAGA,IAAKF,kCAAL,EAA0C;AACzCF,EAAAA,yBAAyB,GAAGH,oBAA5B;AACA;;AAED,MAAMQ,sBAAsB,GAAG,MAAM;AACpC,SACC,4BAAC,gCAAD,QACC,4BAAC,2CAAD,QACC,4BAAC,uCAAD,CAA4B,QAA5B,QACKC,SAAF,IACDA,SAAS,KAAK,iBAAd,IACC,4BAAC,yBAAD,OAHH,CADD,CADD,CADD;AAaA,CAdD;;eAgBeD,sB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockEditorProvider,\n\t__unstableBlockToolbarLastItem,\n\t__unstableBlockNameContext,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { listView } from '@wordpress/icons';\n\nconst NavMenuSidebarToggle = () => {\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst { openGeneralSidebar } = useDispatch( 'core/edit-post' );\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ __( 'Open navigation list view' ) }\n\t\t\t\tonClick={ () => openGeneralSidebar( 'edit-post/block' ) }\n\t\t\t\ticon={ listView }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nlet MaybeNavMenuSidebarToggle = Fragment;\n\nconst isOffCanvasNavigationEditorEnabled =\n\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\nif ( isOffCanvasNavigationEditorEnabled ) {\n\tMaybeNavMenuSidebarToggle = NavMenuSidebarToggle;\n}\n\nconst NavigationEditMenuItem = () => {\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<__unstableBlockToolbarLastItem>\n\t\t\t\t<__unstableBlockNameContext.Consumer>\n\t\t\t\t\t{ ( blockName ) =>\n\t\t\t\t\t\tblockName === 'core/navigation' && (\n\t\t\t\t\t\t\t<MaybeNavMenuSidebarToggle />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</__unstableBlockNameContext.Consumer>\n\t\t\t</__unstableBlockToolbarLastItem>\n\t\t</BlockEditorProvider>\n\t);\n};\n\nexport default NavigationEditMenuItem;\n"]}
@@ -1,40 +0,0 @@
1
- var _window;
2
-
3
- import { createElement } from "@wordpress/element";
4
-
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { BlockEditorProvider, __unstableBlockToolbarLastItem, __unstableBlockNameContext } from '@wordpress/block-editor';
9
- import { ToolbarButton, ToolbarGroup } from '@wordpress/components';
10
- import { useDispatch } from '@wordpress/data';
11
- import { Fragment } from '@wordpress/element';
12
- import { __ } from '@wordpress/i18n';
13
- import { listView } from '@wordpress/icons';
14
-
15
- const NavMenuSidebarToggle = () => {
16
- // eslint-disable-next-line @wordpress/data-no-store-string-literals
17
- const {
18
- openGeneralSidebar
19
- } = useDispatch('core/edit-post');
20
- return createElement(ToolbarGroup, null, createElement(ToolbarButton, {
21
- className: "components-toolbar__control",
22
- label: __('Open navigation list view'),
23
- onClick: () => openGeneralSidebar('edit-post/block'),
24
- icon: listView
25
- }));
26
- };
27
-
28
- let MaybeNavMenuSidebarToggle = Fragment;
29
- const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
30
-
31
- if (isOffCanvasNavigationEditorEnabled) {
32
- MaybeNavMenuSidebarToggle = NavMenuSidebarToggle;
33
- }
34
-
35
- const NavigationEditMenuItem = () => {
36
- return createElement(BlockEditorProvider, null, createElement(__unstableBlockToolbarLastItem, null, createElement(__unstableBlockNameContext.Consumer, null, blockName => blockName === 'core/navigation' && createElement(MaybeNavMenuSidebarToggle, null))));
37
- };
38
-
39
- export default NavigationEditMenuItem;
40
- //# sourceMappingURL=navigation-list-view-menu-item.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["@wordpress/edit-post/src/plugins/navigation-list-view-menu-item.js"],"names":["BlockEditorProvider","__unstableBlockToolbarLastItem","__unstableBlockNameContext","ToolbarButton","ToolbarGroup","useDispatch","Fragment","__","listView","NavMenuSidebarToggle","openGeneralSidebar","MaybeNavMenuSidebarToggle","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","NavigationEditMenuItem","blockName"],"mappings":";;;;AAAA;AACA;AACA;AACA,SACCA,mBADD,EAECC,8BAFD,EAGCC,0BAHD,QAIO,yBAJP;AAKA,SAASC,aAAT,EAAwBC,YAAxB,QAA4C,uBAA5C;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,QAAT,QAAyB,kBAAzB;;AAEA,MAAMC,oBAAoB,GAAG,MAAM;AAClC;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAyBL,WAAW,CAAE,gBAAF,CAA1C;AAEA,SACC,cAAC,YAAD,QACC,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,KAAK,EAAGE,EAAE,CAAE,2BAAF,CAFX;AAGC,IAAA,OAAO,EAAG,MAAMG,kBAAkB,CAAE,iBAAF,CAHnC;AAIC,IAAA,IAAI,EAAGF;AAJR,IADD,CADD;AAUA,CAdD;;AAgBA,IAAIG,yBAAyB,GAAGL,QAAhC;AAEA,MAAMM,kCAAkC,GACvC,YAAAC,MAAM,UAAN,0CAAQC,6CAAR,MAA0D,IAD3D;;AAGA,IAAKF,kCAAL,EAA0C;AACzCD,EAAAA,yBAAyB,GAAGF,oBAA5B;AACA;;AAED,MAAMM,sBAAsB,GAAG,MAAM;AACpC,SACC,cAAC,mBAAD,QACC,cAAC,8BAAD,QACC,cAAC,0BAAD,CAA4B,QAA5B,QACKC,SAAF,IACDA,SAAS,KAAK,iBAAd,IACC,cAAC,yBAAD,OAHH,CADD,CADD,CADD;AAaA,CAdD;;AAgBA,eAAeD,sBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockEditorProvider,\n\t__unstableBlockToolbarLastItem,\n\t__unstableBlockNameContext,\n} from '@wordpress/block-editor';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { Fragment } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { listView } from '@wordpress/icons';\n\nconst NavMenuSidebarToggle = () => {\n\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\tconst { openGeneralSidebar } = useDispatch( 'core/edit-post' );\n\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton\n\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\tlabel={ __( 'Open navigation list view' ) }\n\t\t\t\tonClick={ () => openGeneralSidebar( 'edit-post/block' ) }\n\t\t\t\ticon={ listView }\n\t\t\t/>\n\t\t</ToolbarGroup>\n\t);\n};\n\nlet MaybeNavMenuSidebarToggle = Fragment;\n\nconst isOffCanvasNavigationEditorEnabled =\n\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\nif ( isOffCanvasNavigationEditorEnabled ) {\n\tMaybeNavMenuSidebarToggle = NavMenuSidebarToggle;\n}\n\nconst NavigationEditMenuItem = () => {\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<__unstableBlockToolbarLastItem>\n\t\t\t\t<__unstableBlockNameContext.Consumer>\n\t\t\t\t\t{ ( blockName ) =>\n\t\t\t\t\t\tblockName === 'core/navigation' && (\n\t\t\t\t\t\t\t<MaybeNavMenuSidebarToggle />\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</__unstableBlockNameContext.Consumer>\n\t\t\t</__unstableBlockToolbarLastItem>\n\t\t</BlockEditorProvider>\n\t);\n};\n\nexport default NavigationEditMenuItem;\n"]}