@wordpress/edit-post 7.33.0 → 7.35.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 (181) hide show
  1. package/CHANGELOG.md +10 -2
  2. package/README.md +22 -36
  3. package/build/components/header/fullscreen-mode-close/index.js +2 -2
  4. package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
  5. package/build/components/header/index.js +7 -127
  6. package/build/components/header/index.js.map +1 -1
  7. package/build/components/header/more-menu/index.js +17 -43
  8. package/build/components/header/more-menu/index.js.map +1 -1
  9. package/build/components/header/more-menu/manage-patterns-menu-item.js +40 -0
  10. package/build/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
  11. package/build/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
  12. package/build/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
  13. package/build/components/keyboard-shortcuts/index.js +0 -88
  14. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  15. package/build/components/layout/index.js +72 -33
  16. package/build/components/layout/index.js.map +1 -1
  17. package/build/components/meta-boxes/meta-boxes-area/index.js +2 -2
  18. package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  19. package/build/components/preferences-modal/index.js +2 -11
  20. package/build/components/preferences-modal/index.js.map +1 -1
  21. package/build/components/visual-editor/index.js +11 -5
  22. package/build/components/visual-editor/index.js.map +1 -1
  23. package/build/components/visual-editor/use-padding-appender.js +6 -1
  24. package/build/components/visual-editor/use-padding-appender.js.map +1 -1
  25. package/build/deprecated.js +132 -0
  26. package/build/deprecated.js.map +1 -0
  27. package/build/index.js +19 -58
  28. package/build/index.js.map +1 -1
  29. package/build-module/components/header/fullscreen-mode-close/index.js +2 -2
  30. package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
  31. package/build-module/components/header/index.js +11 -131
  32. package/build-module/components/header/index.js.map +1 -1
  33. package/build-module/components/header/more-menu/index.js +17 -43
  34. package/build-module/components/header/more-menu/index.js.map +1 -1
  35. package/build-module/components/header/more-menu/manage-patterns-menu-item.js +33 -0
  36. package/build-module/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
  37. package/build-module/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
  38. package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
  39. package/build-module/components/keyboard-shortcuts/index.js +1 -89
  40. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  41. package/build-module/components/layout/index.js +73 -34
  42. package/build-module/components/layout/index.js.map +1 -1
  43. package/build-module/components/meta-boxes/meta-boxes-area/index.js +2 -2
  44. package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
  45. package/build-module/components/preferences-modal/index.js +3 -12
  46. package/build-module/components/preferences-modal/index.js.map +1 -1
  47. package/build-module/components/visual-editor/index.js +11 -5
  48. package/build-module/components/visual-editor/index.js.map +1 -1
  49. package/build-module/components/visual-editor/use-padding-appender.js +6 -1
  50. package/build-module/components/visual-editor/use-padding-appender.js.map +1 -1
  51. package/build-module/deprecated.js +116 -0
  52. package/build-module/deprecated.js.map +1 -0
  53. package/build-module/index.js +2 -15
  54. package/build-module/index.js.map +1 -1
  55. package/build-style/style-rtl.css +14 -409
  56. package/build-style/style.css +14 -409
  57. package/package.json +32 -32
  58. package/src/components/header/fullscreen-mode-close/index.js +2 -2
  59. package/src/components/header/index.js +11 -159
  60. package/src/components/header/more-menu/index.js +27 -42
  61. package/src/components/header/more-menu/manage-patterns-menu-item.js +33 -0
  62. package/src/components/header/style.scss +4 -320
  63. package/src/components/keyboard-shortcuts/index.js +1 -106
  64. package/src/components/layout/index.js +84 -25
  65. package/src/components/layout/style.scss +7 -80
  66. package/src/components/meta-boxes/meta-boxes-area/index.js +4 -8
  67. package/src/components/preferences-modal/index.js +2 -22
  68. package/src/components/visual-editor/index.js +11 -4
  69. package/src/components/visual-editor/use-padding-appender.js +7 -1
  70. package/src/deprecated.js +107 -0
  71. package/src/index.js +3 -24
  72. package/src/style.scss +1 -5
  73. package/build/components/header/post-publish-button-or-toggle.js +0 -94
  74. package/build/components/header/post-publish-button-or-toggle.js.map +0 -1
  75. package/build/components/header/preferences-menu-item/index.js +0 -39
  76. package/build/components/header/preferences-menu-item/index.js.map +0 -1
  77. package/build/components/header/tools-more-menu-group/index.js +0 -26
  78. package/build/components/header/tools-more-menu-group/index.js.map +0 -1
  79. package/build/components/header/writing-menu/index.js +0 -71
  80. package/build/components/header/writing-menu/index.js.map +0 -1
  81. package/build/components/layout/actions-panel.js +0 -86
  82. package/build/components/layout/actions-panel.js.map +0 -1
  83. package/build/components/preferences-modal/enable-publish-sidebar.js +0 -38
  84. package/build/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
  85. package/build/components/sidebar/plugin-post-publish-panel/index.js +0 -39
  86. package/build/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
  87. package/build/components/sidebar/plugin-pre-publish-panel/index.js +0 -43
  88. package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
  89. package/build/components/sidebar/post-format/index.js +0 -21
  90. package/build/components/sidebar/post-format/index.js.map +0 -1
  91. package/build/components/sidebar/post-pending-status/index.js +0 -26
  92. package/build/components/sidebar/post-pending-status/index.js.map +0 -1
  93. package/build/components/sidebar/post-slug/index.js +0 -21
  94. package/build/components/sidebar/post-slug/index.js.map +0 -1
  95. package/build/components/sidebar/post-status/index.js +0 -69
  96. package/build/components/sidebar/post-status/index.js.map +0 -1
  97. package/build/components/sidebar/post-sticky/index.js +0 -26
  98. package/build/components/sidebar/post-sticky/index.js.map +0 -1
  99. package/build/components/sidebar/post-trash/index.js +0 -16
  100. package/build/components/sidebar/post-trash/index.js.map +0 -1
  101. package/build/components/sidebar/post-visibility/index.js +0 -78
  102. package/build/components/sidebar/post-visibility/index.js.map +0 -1
  103. package/build/components/sidebar/settings-header/index.js +0 -53
  104. package/build/components/sidebar/settings-header/index.js.map +0 -1
  105. package/build/components/sidebar/settings-sidebar/index.js +0 -163
  106. package/build/components/sidebar/settings-sidebar/index.js.map +0 -1
  107. package/build/plugins/copy-content-menu-item/index.js +0 -39
  108. package/build/plugins/copy-content-menu-item/index.js.map +0 -1
  109. package/build/plugins/index.js +0 -69
  110. package/build/plugins/index.js.map +0 -1
  111. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -44
  112. package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
  113. package/build/plugins/welcome-guide-menu-item/index.js.map +0 -1
  114. package/build-module/components/header/post-publish-button-or-toggle.js +0 -86
  115. package/build-module/components/header/post-publish-button-or-toggle.js.map +0 -1
  116. package/build-module/components/header/preferences-menu-item/index.js +0 -32
  117. package/build-module/components/header/preferences-menu-item/index.js.map +0 -1
  118. package/build-module/components/header/tools-more-menu-group/index.js +0 -19
  119. package/build-module/components/header/tools-more-menu-group/index.js.map +0 -1
  120. package/build-module/components/header/writing-menu/index.js +0 -64
  121. package/build-module/components/header/writing-menu/index.js.map +0 -1
  122. package/build-module/components/layout/actions-panel.js +0 -78
  123. package/build-module/components/layout/actions-panel.js.map +0 -1
  124. package/build-module/components/preferences-modal/enable-publish-sidebar.js +0 -31
  125. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
  126. package/build-module/components/sidebar/plugin-post-publish-panel/index.js +0 -32
  127. package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
  128. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +0 -36
  129. package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
  130. package/build-module/components/sidebar/post-format/index.js +0 -13
  131. package/build-module/components/sidebar/post-format/index.js.map +0 -1
  132. package/build-module/components/sidebar/post-pending-status/index.js +0 -18
  133. package/build-module/components/sidebar/post-pending-status/index.js.map +0 -1
  134. package/build-module/components/sidebar/post-slug/index.js +0 -13
  135. package/build-module/components/sidebar/post-slug/index.js.map +0 -1
  136. package/build-module/components/sidebar/post-status/index.js +0 -61
  137. package/build-module/components/sidebar/post-status/index.js.map +0 -1
  138. package/build-module/components/sidebar/post-sticky/index.js +0 -18
  139. package/build-module/components/sidebar/post-sticky/index.js.map +0 -1
  140. package/build-module/components/sidebar/post-trash/index.js +0 -9
  141. package/build-module/components/sidebar/post-trash/index.js.map +0 -1
  142. package/build-module/components/sidebar/post-visibility/index.js +0 -70
  143. package/build-module/components/sidebar/post-visibility/index.js.map +0 -1
  144. package/build-module/components/sidebar/settings-header/index.js +0 -46
  145. package/build-module/components/sidebar/settings-header/index.js.map +0 -1
  146. package/build-module/components/sidebar/settings-sidebar/index.js +0 -155
  147. package/build-module/components/sidebar/settings-sidebar/index.js.map +0 -1
  148. package/build-module/plugins/copy-content-menu-item/index.js +0 -32
  149. package/build-module/plugins/copy-content-menu-item/index.js.map +0 -1
  150. package/build-module/plugins/index.js +0 -65
  151. package/build-module/plugins/index.js.map +0 -1
  152. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
  153. package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
  154. package/build-module/plugins/welcome-guide-menu-item/index.js.map +0 -1
  155. package/src/components/header/post-publish-button-or-toggle.js +0 -97
  156. package/src/components/header/preferences-menu-item/index.js +0 -31
  157. package/src/components/header/test/index.js +0 -63
  158. package/src/components/header/tools-more-menu-group/index.js +0 -20
  159. package/src/components/header/writing-menu/index.js +0 -73
  160. package/src/components/layout/actions-panel.js +0 -103
  161. package/src/components/preferences-modal/enable-publish-sidebar.js +0 -32
  162. package/src/components/preferences-modal/test/index.js +0 -28
  163. package/src/components/sidebar/plugin-post-publish-panel/index.js +0 -28
  164. package/src/components/sidebar/plugin-pre-publish-panel/index.js +0 -32
  165. package/src/components/sidebar/post-format/index.js +0 -20
  166. package/src/components/sidebar/post-format/style.scss +0 -5
  167. package/src/components/sidebar/post-pending-status/index.js +0 -27
  168. package/src/components/sidebar/post-slug/index.js +0 -17
  169. package/src/components/sidebar/post-slug/style.scss +0 -5
  170. package/src/components/sidebar/post-status/index.js +0 -88
  171. package/src/components/sidebar/post-sticky/index.js +0 -27
  172. package/src/components/sidebar/post-trash/index.js +0 -12
  173. package/src/components/sidebar/post-visibility/index.js +0 -88
  174. package/src/components/sidebar/post-visibility/style.scss +0 -5
  175. package/src/components/sidebar/settings-header/index.js +0 -49
  176. package/src/components/sidebar/settings-sidebar/index.js +0 -211
  177. package/src/components/sidebar/style.scss +0 -18
  178. package/src/plugins/copy-content-menu-item/index.js +0 -29
  179. package/src/plugins/index.js +0 -85
  180. package/src/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
  181. /package/src/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +0 -0
@@ -1,54 +1,20 @@
1
- /**
2
- * External dependencies
3
- */
4
- import classnames from 'classnames';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
- import {
10
- BlockToolbar,
11
- privateApis as blockEditorPrivateApis,
12
- store as blockEditorStore,
13
- } from '@wordpress/block-editor';
14
- import {
15
- PostSavedState,
16
- PostPreviewButton,
17
- store as editorStore,
18
- DocumentBar,
19
- privateApis as editorPrivateApis,
20
- } from '@wordpress/editor';
21
- import { useEffect, useRef, useState } from '@wordpress/element';
4
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
22
5
  import { useSelect } from '@wordpress/data';
23
- import { __ } from '@wordpress/i18n';
24
- import { next, previous } from '@wordpress/icons';
25
- import { useViewportMatch } from '@wordpress/compose';
26
- import {
27
- Button,
28
- __unstableMotion as motion,
29
- Popover,
30
- } from '@wordpress/components';
31
- import { store as preferencesStore } from '@wordpress/preferences';
6
+ import { __unstableMotion as motion } from '@wordpress/components';
32
7
 
33
8
  /**
34
9
  * Internal dependencies
35
10
  */
36
11
  import FullscreenModeClose from './fullscreen-mode-close';
37
- import MoreMenu from './more-menu';
38
- import PostPublishButtonOrToggle from './post-publish-button-or-toggle';
12
+ import PostEditorMoreMenu from './more-menu';
39
13
  import MainDashboardButton from './main-dashboard-button';
40
14
  import { store as editPostStore } from '../../store';
41
15
  import { unlock } from '../../lock-unlock';
42
16
 
43
- const { useShowBlockTools } = unlock( blockEditorPrivateApis );
44
- const { DocumentTools, PostViewLink, PreviewDropdown, PinnedItems } =
45
- unlock( editorPrivateApis );
46
-
47
- const slideY = {
48
- hidden: { y: '-50px' },
49
- distractionFreeInactive: { y: 0 },
50
- hover: { y: 0, transition: { type: 'tween', delay: 0.2 } },
51
- };
17
+ const { Header: EditorHeader } = unlock( editorPrivateApis );
52
18
 
53
19
  const slideX = {
54
20
  hidden: { x: '-100%' },
@@ -57,50 +23,17 @@ const slideX = {
57
23
  };
58
24
 
59
25
  function Header( { setEntitiesSavedStatesCallback, initialPost } ) {
60
- const isWideViewport = useViewportMatch( 'large' );
61
- const isLargeViewport = useViewportMatch( 'medium' );
62
- const blockToolbarRef = useRef();
63
- const {
64
- isTextEditor,
65
- blockSelectionStart,
66
- hasActiveMetaboxes,
67
- isPublishSidebarOpened,
68
- showIconLabels,
69
- hasHistory,
70
- } = useSelect( ( select ) => {
71
- const { get: getPreference } = select( preferencesStore );
72
- const { getEditorMode } = select( editorStore );
73
-
26
+ const { hasActiveMetaboxes } = useSelect( ( select ) => {
74
27
  return {
75
- isTextEditor: getEditorMode() === 'text',
76
- blockSelectionStart:
77
- select( blockEditorStore ).getBlockSelectionStart(),
78
28
  hasActiveMetaboxes: select( editPostStore ).hasMetaBoxes(),
79
- hasHistory:
80
- !! select( editorStore ).getEditorSettings()
81
- .onNavigateToPreviousEntityRecord,
82
- isPublishSidebarOpened:
83
- select( editorStore ).isPublishSidebarOpened(),
84
- showIconLabels: getPreference( 'core', 'showIconLabels' ),
85
29
  };
86
30
  }, [] );
87
31
 
88
- const { showFixedToolbar } = useShowBlockTools();
89
- const showTopToolbar = isLargeViewport && showFixedToolbar;
90
-
91
- const [ isBlockToolsCollapsed, setIsBlockToolsCollapsed ] =
92
- useState( true );
93
- const hasBlockSelection = !! blockSelectionStart;
94
-
95
- useEffect( () => {
96
- // If we have a new block selection, show the block tools
97
- if ( blockSelectionStart ) {
98
- setIsBlockToolsCollapsed( false );
99
- }
100
- }, [ blockSelectionStart ] );
101
-
102
32
  return (
103
- <div className="edit-post-header">
33
+ <EditorHeader
34
+ forceIsDirty={ hasActiveMetaboxes }
35
+ setEntitiesSavedStatesCallback={ setEntitiesSavedStatesCallback }
36
+ >
104
37
  <MainDashboardButton.Slot>
105
38
  <motion.div
106
39
  variants={ slideX }
@@ -112,89 +45,8 @@ function Header( { setEntitiesSavedStatesCallback, initialPost } ) {
112
45
  />
113
46
  </motion.div>
114
47
  </MainDashboardButton.Slot>
115
- <motion.div
116
- variants={ slideY }
117
- transition={ { type: 'tween', delay: 0.8 } }
118
- className="edit-post-header__toolbar"
119
- >
120
- <DocumentTools disableBlockTools={ isTextEditor } />
121
- { showTopToolbar && (
122
- <>
123
- <div
124
- className={ classnames(
125
- 'selected-block-tools-wrapper',
126
- {
127
- 'is-collapsed':
128
- isBlockToolsCollapsed ||
129
- ! hasBlockSelection,
130
- }
131
- ) }
132
- >
133
- <BlockToolbar hideDragHandle />
134
- </div>
135
- <Popover.Slot
136
- ref={ blockToolbarRef }
137
- name="block-toolbar"
138
- />
139
- <Button
140
- className="edit-post-header__block-tools-toggle"
141
- icon={ isBlockToolsCollapsed ? next : previous }
142
- onClick={ () => {
143
- setIsBlockToolsCollapsed(
144
- ( collapsed ) => ! collapsed
145
- );
146
- } }
147
- label={
148
- isBlockToolsCollapsed
149
- ? __( 'Show block tools' )
150
- : __( 'Hide block tools' )
151
- }
152
- size="compact"
153
- />
154
- </>
155
- ) }
156
- <div
157
- className={ classnames( 'edit-post-header__center', {
158
- 'is-collapsed':
159
- hasHistory &&
160
- ! isBlockToolsCollapsed &&
161
- showTopToolbar,
162
- } ) }
163
- >
164
- { hasHistory && <DocumentBar /> }
165
- </div>
166
- </motion.div>
167
- <motion.div
168
- variants={ slideY }
169
- transition={ { type: 'tween', delay: 0.8 } }
170
- className="edit-post-header__settings"
171
- >
172
- { ! isPublishSidebarOpened && (
173
- // This button isn't completely hidden by the publish sidebar.
174
- // We can't hide the whole toolbar when the publish sidebar is open because
175
- // we want to prevent mounting/unmounting the PostPublishButtonOrToggle DOM node.
176
- // We track that DOM node to return focus to the PostPublishButtonOrToggle
177
- // when the publish sidebar has been closed.
178
- <PostSavedState forceIsDirty={ hasActiveMetaboxes } />
179
- ) }
180
- <PreviewDropdown forceIsAutosaveable={ hasActiveMetaboxes } />
181
- <PostPreviewButton
182
- className="edit-post-header__post-preview-button"
183
- forceIsAutosaveable={ hasActiveMetaboxes }
184
- />
185
- <PostViewLink />
186
- <PostPublishButtonOrToggle
187
- forceIsDirty={ hasActiveMetaboxes }
188
- setEntitiesSavedStatesCallback={
189
- setEntitiesSavedStatesCallback
190
- }
191
- />
192
- { ( isWideViewport || ! showIconLabels ) && (
193
- <PinnedItems.Slot scope="core" />
194
- ) }
195
- <MoreMenu showIconLabels={ showIconLabels } />
196
- </motion.div>
197
- </div>
48
+ <PostEditorMoreMenu />
49
+ </EditorHeader>
198
50
  );
199
51
  }
200
52
 
@@ -2,62 +2,47 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
- import { MenuGroup, DropdownMenu } from '@wordpress/components';
6
5
  import { useViewportMatch } from '@wordpress/compose';
7
6
  import { privateApis as editorPrivateApis } from '@wordpress/editor';
8
- import { moreVertical } from '@wordpress/icons';
7
+ import { PreferenceToggleMenuItem } from '@wordpress/preferences';
8
+ import { displayShortcut } from '@wordpress/keycodes';
9
9
 
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
- import PreferencesMenuItem from '../preferences-menu-item';
14
- import ToolsMoreMenuGroup from '../tools-more-menu-group';
15
- import WritingMenu from '../writing-menu';
16
13
  import { unlock } from '../../../lock-unlock';
14
+ import ManagePatternsMenuItem from './manage-patterns-menu-item';
15
+ import WelcomeGuideMenuItem from './welcome-guide-menu-item';
16
+ import EditPostPreferencesModal from '../../preferences-modal';
17
17
 
18
- const { ModeSwitcher, ActionItem, PinnedItems } = unlock( editorPrivateApis );
18
+ const { ToolsMoreMenuGroup, ViewMoreMenuGroup } = unlock( editorPrivateApis );
19
19
 
20
- const MoreMenu = ( { showIconLabels } ) => {
20
+ const MoreMenu = () => {
21
21
  const isLargeViewport = useViewportMatch( 'large' );
22
22
 
23
23
  return (
24
- <DropdownMenu
25
- icon={ moreVertical }
26
- label={ __( 'Options' ) }
27
- popoverProps={ {
28
- placement: 'bottom-end',
29
- className: 'more-menu-dropdown__content',
30
- } }
31
- toggleProps={ {
32
- ...( showIconLabels && { variant: 'tertiary' } ),
33
- tooltipPosition: 'bottom',
34
- showTooltip: ! showIconLabels,
35
- size: 'compact',
36
- } }
37
- >
38
- { ( { onClose } ) => (
39
- <>
40
- { showIconLabels && ! isLargeViewport && (
41
- <PinnedItems.Slot
42
- className={ showIconLabels && 'show-icon-labels' }
43
- scope="core"
44
- />
45
- ) }
46
- <WritingMenu />
47
- <ModeSwitcher />
48
- <ActionItem.Slot
49
- name="core/plugin-more-menu"
50
- label={ __( 'Plugins' ) }
51
- as={ MenuGroup }
52
- fillProps={ { onClick: onClose } }
24
+ <>
25
+ { isLargeViewport && (
26
+ <ViewMoreMenuGroup>
27
+ <PreferenceToggleMenuItem
28
+ scope="core/edit-post"
29
+ name="fullscreenMode"
30
+ label={ __( 'Fullscreen mode' ) }
31
+ info={ __( 'Show and hide the admin user interface' ) }
32
+ messageActivated={ __( 'Fullscreen mode activated' ) }
33
+ messageDeactivated={ __(
34
+ 'Fullscreen mode deactivated'
35
+ ) }
36
+ shortcut={ displayShortcut.secondary( 'f' ) }
53
37
  />
54
- <ToolsMoreMenuGroup.Slot fillProps={ { onClose } } />
55
- <MenuGroup>
56
- <PreferencesMenuItem />
57
- </MenuGroup>
58
- </>
38
+ </ViewMoreMenuGroup>
59
39
  ) }
60
- </DropdownMenu>
40
+ <ToolsMoreMenuGroup>
41
+ <ManagePatternsMenuItem />
42
+ <WelcomeGuideMenuItem />
43
+ </ToolsMoreMenuGroup>
44
+ <EditPostPreferencesModal />
45
+ </>
61
46
  );
62
47
  };
63
48
 
@@ -0,0 +1,33 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { MenuItem } from '@wordpress/components';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { useSelect } from '@wordpress/data';
7
+ import { __ } from '@wordpress/i18n';
8
+ import { addQueryArgs } from '@wordpress/url';
9
+
10
+ function ManagePatternsMenuItem() {
11
+ const url = useSelect( ( select ) => {
12
+ const { canUser } = select( coreStore );
13
+ const defaultUrl = addQueryArgs( 'edit.php', {
14
+ post_type: 'wp_block',
15
+ } );
16
+ const patternsUrl = addQueryArgs( 'site-editor.php', {
17
+ path: '/patterns',
18
+ } );
19
+
20
+ // The site editor and templates both check whether the user has
21
+ // edit_theme_options capabilities. We can leverage that here and not
22
+ // display the manage patterns link if the user can't access it.
23
+ return canUser( 'create', 'templates' ) ? patternsUrl : defaultUrl;
24
+ }, [] );
25
+
26
+ return (
27
+ <MenuItem role="menuitem" href={ url }>
28
+ { __( 'Manage patterns' ) }
29
+ </MenuItem>
30
+ );
31
+ }
32
+
33
+ export default ManagePatternsMenuItem;
@@ -1,330 +1,14 @@
1
- .edit-post-header {
2
- height: $header-height;
3
- background: $white;
4
- display: flex;
5
- flex-wrap: wrap;
6
- align-items: center;
7
- // The header should never be wider than the viewport, or buttons might be hidden. Especially relevant at high zoom levels. Related to https://core.trac.wordpress.org/ticket/47603#ticket.
8
- max-width: 100vw;
9
- justify-content: space-between;
10
-
11
- // Make toolbar sticky on larger breakpoints
12
- @include break-zoomed-in {
13
- flex-wrap: nowrap;
14
- }
15
- }
16
-
17
- .edit-post-header__toolbar {
18
- display: flex;
19
- // Allow this area to shrink to fit the toolbar buttons.
20
- flex-shrink: 8;
21
- // Take up the space of the toolbar so it can be justified to the left side of the toolbar.
22
- flex-grow: 3;
23
- // Hide the overflow so flex will limit its width. Block toolbar will allow scrolling on fixed toolbar.
24
- overflow: hidden;
25
- // Leave enough room for the focus ring to show.
26
- padding: 2px 0;
27
- align-items: center;
28
- // Allow focus ring to be fully visible on furthest right button.
29
- @include break-medium() {
30
- padding-right: var(--wp-admin-border-width-focus);
31
- }
32
-
33
- .table-of-contents {
34
- display: none;
35
-
36
- @include break-small() {
37
- display: block;
38
- }
39
- }
40
-
41
- .selected-block-tools-wrapper {
42
- overflow: hidden;
43
- display: flex;
44
- align-items: center;
45
- height: $header-height;
46
-
47
- .block-editor-block-contextual-toolbar {
48
- border-bottom: 0;
49
- height: 100%;
50
- }
51
-
52
- // These rules ensure that icons are always positioned in a way that lines up with the rest of the icons in the toolbar.
53
- .block-editor-block-toolbar {
54
- height: 100%;
55
- // Push down so that buttons are centered vertically.
56
- // It should be 14px (60px header height - 32px compact button height = 28 / 2),
57
- // but there is a -1px top-margin down the stack that affects this.
58
- padding-top: math.div($header-height - $button-size-compact, 2) + 1;
59
-
60
- // Match the height of other buttons in the header toolbar.
61
- .components-button:not(.block-editor-block-mover-button) {
62
- height: $button-size-compact;
63
- }
64
- }
65
-
66
- &::after {
67
- content: "";
68
- width: $border-width;
69
- height: $grid-unit-30;
70
- background-color: $gray-300;
71
- margin-left: $grid-unit;
72
- }
73
-
74
- // Modified group borders.
75
- .components-toolbar-group,
76
- .components-toolbar {
77
- border-right: none;
78
-
79
- &::after {
80
- content: "";
81
- width: $border-width;
82
- height: $grid-unit-30;
83
- background-color: $gray-300;
84
- margin-top: $grid-unit-05;
85
- margin-left: $grid-unit;
86
- }
87
-
88
- & .components-toolbar-group.components-toolbar-group {
89
- &::after {
90
- display: none;
91
- }
92
- }
93
- }
94
-
95
- .block-editor-block-mover {
96
- // Match the height of other buttons in the header toolbar.
97
- &.is-horizontal .block-editor-block-mover-button {
98
- height: $button-size-compact;
99
- overflow: visible;
100
- }
101
-
102
- // Move up a little to prevent the toolbar shift when focus is on the vertical movers.
103
- @include break-small() {
104
- &:not(.is-horizontal) .block-editor-block-mover__move-button-container {
105
- position: relative;
106
- top: -10px;
107
- }
108
- }
109
- }
110
-
111
- &.is-collapsed {
112
- display: none;
113
- }
114
- }
115
- }
116
-
117
- .edit-post-header__block-tools-toggle {
118
- margin-left: 2px; // Allow focus ring to be fully visible
119
- }
120
-
121
- .edit-post-header__center {
122
- flex-grow: 1;
123
- display: flex;
124
- justify-content: center;
125
-
126
- &.is-collapsed {
127
- display: none;
128
- }
129
- }
130
-
131
- /**
132
- * Buttons on the right side
133
- */
134
-
135
- .edit-post-header__settings {
136
- display: inline-flex;
137
- align-items: center;
138
- flex-wrap: nowrap;
139
- padding-right: $grid-unit-05;
140
-
141
- @include break-small () {
142
- padding-right: $grid-unit-10;
143
- }
144
-
145
- gap: $grid-unit-10;
146
- }
147
-
148
1
  /**
149
- * Show icon labels.
2
+ * Show icon label overrides.
150
3
  */
151
-
152
- .show-icon-labels.interface-pinned-items,
153
- .show-icon-labels .edit-post-header,
154
- .edit-post-header__dropdown {
155
- .components-button.has-icon {
156
- width: auto;
157
-
158
- // Hide the button icons when labels are set to display...
159
- svg {
160
- display: none;
161
- }
162
- // ... and display labels.
163
- &::after {
164
- content: attr(aria-label);
165
- }
166
- &[aria-disabled="true"] {
167
- background-color: transparent;
168
- }
169
- }
170
- .is-tertiary {
171
- &:active {
172
- box-shadow: 0 0 0 1.5px var(--wp-admin-theme-color);
173
- background-color: transparent;
174
- }
175
- }
176
- // Exception for drodpdown toggle buttons.
177
- // Exception for the fullscreen mode button.
178
- .edit-post-fullscreen-mode-close.has-icon,
179
- .components-button.has-icon.button-toggle {
180
- svg {
181
- display: block;
182
- }
183
- &::after {
184
- content: none;
185
- }
186
- }
187
- // Undo the width override for fullscreen mode button.
4
+ .show-icon-labels .editor-header {
188
5
  .edit-post-fullscreen-mode-close.has-icon {
189
6
  width: $header-height;
190
- }
191
- // Don't hide MenuItemsChoice check icons
192
- .components-menu-items-choice .components-menu-items__item-icon.components-menu-items__item-icon {
193
- display: block;
194
- }
195
- .editor-document-tools__inserter-toggle.editor-document-tools__inserter-toggle,
196
- .interface-pinned-items .components-button {
197
- padding-left: $grid-unit;
198
- padding-right: $grid-unit;
199
-
200
- @include break-small {
201
- padding-left: $grid-unit-15;
202
- padding-right: $grid-unit-15;
7
+ svg {
8
+ display: block;
203
9
  }
204
- }
205
-
206
- .editor-post-save-draft.editor-post-save-draft,
207
- .editor-post-saved-state.editor-post-saved-state {
208
10
  &::after {
209
11
  content: none;
210
12
  }
211
13
  }
212
14
  }
213
-
214
- .show-icon-labels {
215
- .edit-post-header__toolbar .block-editor-block-mover {
216
- // Modified group borders.
217
- border-left: none;
218
-
219
- &::before {
220
- content: "";
221
- width: $border-width;
222
- height: $grid-unit-30;
223
- background-color: $gray-300;
224
- margin-top: $grid-unit-05;
225
- margin-left: $grid-unit;
226
- }
227
-
228
- // Modified block movers horizontal separator.
229
- .block-editor-block-mover__move-button-container {
230
- &::before {
231
- width: calc(100% - #{$grid-unit-30});
232
- background: $gray-300;
233
- left: calc(50% + 1px);
234
- }
235
- }
236
- }
237
- }
238
-
239
- .edit-post-header__dropdown {
240
- .components-menu-item__button.components-menu-item__button,
241
- .components-button.editor-history__undo,
242
- .components-button.editor-history__redo,
243
- .table-of-contents .components-button,
244
- .components-button.block-editor-list-view {
245
- margin: 0;
246
- padding: 6px 6px 6px $grid-unit-50;
247
- width: 14.625rem;
248
- text-align: left;
249
- justify-content: flex-start;
250
- }
251
- }
252
-
253
- .show-icon-labels.interface-pinned-items {
254
- padding: 6px $grid-unit-15 $grid-unit-15;
255
- margin-top: 0;
256
- margin-bottom: 0;
257
- margin-left: -$grid-unit-15;
258
- margin-right: -$grid-unit-15;
259
- border-bottom: 1px solid $gray-400;
260
- display: block;
261
-
262
- > .components-button.has-icon {
263
- margin: 0;
264
- padding: 6px 6px 6px $grid-unit;
265
- width: 14.625rem;
266
- justify-content: flex-start;
267
-
268
- &[aria-expanded="true"] svg {
269
- display: block;
270
- max-width: $grid-unit-30;
271
- }
272
- &[aria-expanded="false"] {
273
- padding-left: $grid-unit-50;
274
- }
275
- svg {
276
- margin-right: 8px;
277
- }
278
- }
279
- }
280
-
281
- .edit-post-header__post-preview-button {
282
- @include break-small {
283
- display: none;
284
- }
285
- }
286
-
287
- .is-distraction-free {
288
- .interface-interface-skeleton__header {
289
- border-bottom: none;
290
- }
291
-
292
- .edit-post-header {
293
- background-color: $white;
294
- border-bottom: 1px solid #e0e0e0;
295
- position: absolute;
296
- width: 100%;
297
-
298
-
299
- // hide some parts
300
- & > .edit-post-header__settings > .edit-post-header__post-preview-button {
301
- visibility: hidden;
302
- }
303
-
304
- & > .edit-post-header__toolbar .editor-document-tools__document-overview-toggle,
305
- & > .edit-post-header__settings > .editor-preview-dropdown,
306
- & > .edit-post-header__settings > .interface-pinned-items {
307
- display: none;
308
- }
309
-
310
- }
311
-
312
- // We need ! important because we override inline styles
313
- // set by the motion component.
314
- .interface-interface-skeleton__header:focus-within {
315
- opacity: 1 !important;
316
- div {
317
- transform: translateX(0) translateZ(0) !important;
318
- }
319
-
320
- }
321
-
322
- .components-editor-notices__dismissible {
323
- position: absolute;
324
- z-index: 35;
325
- }
326
- }
327
-
328
- .components-popover.more-menu-dropdown__content {
329
- z-index: z-index(".components-popover.more-menu__content");
330
- }