@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.
- package/CHANGELOG.md +10 -2
- package/README.md +22 -36
- package/build/components/header/fullscreen-mode-close/index.js +2 -2
- package/build/components/header/fullscreen-mode-close/index.js.map +1 -1
- package/build/components/header/index.js +7 -127
- package/build/components/header/index.js.map +1 -1
- package/build/components/header/more-menu/index.js +17 -43
- package/build/components/header/more-menu/index.js.map +1 -1
- package/build/components/header/more-menu/manage-patterns-menu-item.js +40 -0
- package/build/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
- package/build/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
- package/build/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build/components/keyboard-shortcuts/index.js +0 -88
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +72 -33
- package/build/components/layout/index.js.map +1 -1
- package/build/components/meta-boxes/meta-boxes-area/index.js +2 -2
- package/build/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +2 -11
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/visual-editor/index.js +11 -5
- package/build/components/visual-editor/index.js.map +1 -1
- package/build/components/visual-editor/use-padding-appender.js +6 -1
- package/build/components/visual-editor/use-padding-appender.js.map +1 -1
- package/build/deprecated.js +132 -0
- package/build/deprecated.js.map +1 -0
- package/build/index.js +19 -58
- package/build/index.js.map +1 -1
- package/build-module/components/header/fullscreen-mode-close/index.js +2 -2
- package/build-module/components/header/fullscreen-mode-close/index.js.map +1 -1
- package/build-module/components/header/index.js +11 -131
- package/build-module/components/header/index.js.map +1 -1
- package/build-module/components/header/more-menu/index.js +17 -43
- package/build-module/components/header/more-menu/index.js.map +1 -1
- package/build-module/components/header/more-menu/manage-patterns-menu-item.js +33 -0
- package/build-module/components/header/more-menu/manage-patterns-menu-item.js.map +1 -0
- package/build-module/{plugins/welcome-guide-menu-item/index.js → components/header/more-menu/welcome-guide-menu-item.js} +1 -1
- package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +1 -0
- package/build-module/components/keyboard-shortcuts/index.js +1 -89
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +73 -34
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/meta-boxes/meta-boxes-area/index.js +2 -2
- package/build-module/components/meta-boxes/meta-boxes-area/index.js.map +1 -1
- package/build-module/components/preferences-modal/index.js +3 -12
- package/build-module/components/preferences-modal/index.js.map +1 -1
- package/build-module/components/visual-editor/index.js +11 -5
- package/build-module/components/visual-editor/index.js.map +1 -1
- package/build-module/components/visual-editor/use-padding-appender.js +6 -1
- package/build-module/components/visual-editor/use-padding-appender.js.map +1 -1
- package/build-module/deprecated.js +116 -0
- package/build-module/deprecated.js.map +1 -0
- package/build-module/index.js +2 -15
- package/build-module/index.js.map +1 -1
- package/build-style/style-rtl.css +14 -409
- package/build-style/style.css +14 -409
- package/package.json +32 -32
- package/src/components/header/fullscreen-mode-close/index.js +2 -2
- package/src/components/header/index.js +11 -159
- package/src/components/header/more-menu/index.js +27 -42
- package/src/components/header/more-menu/manage-patterns-menu-item.js +33 -0
- package/src/components/header/style.scss +4 -320
- package/src/components/keyboard-shortcuts/index.js +1 -106
- package/src/components/layout/index.js +84 -25
- package/src/components/layout/style.scss +7 -80
- package/src/components/meta-boxes/meta-boxes-area/index.js +4 -8
- package/src/components/preferences-modal/index.js +2 -22
- package/src/components/visual-editor/index.js +11 -4
- package/src/components/visual-editor/use-padding-appender.js +7 -1
- package/src/deprecated.js +107 -0
- package/src/index.js +3 -24
- package/src/style.scss +1 -5
- package/build/components/header/post-publish-button-or-toggle.js +0 -94
- package/build/components/header/post-publish-button-or-toggle.js.map +0 -1
- package/build/components/header/preferences-menu-item/index.js +0 -39
- package/build/components/header/preferences-menu-item/index.js.map +0 -1
- package/build/components/header/tools-more-menu-group/index.js +0 -26
- package/build/components/header/tools-more-menu-group/index.js.map +0 -1
- package/build/components/header/writing-menu/index.js +0 -71
- package/build/components/header/writing-menu/index.js.map +0 -1
- package/build/components/layout/actions-panel.js +0 -86
- package/build/components/layout/actions-panel.js.map +0 -1
- package/build/components/preferences-modal/enable-publish-sidebar.js +0 -38
- package/build/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
- package/build/components/sidebar/plugin-post-publish-panel/index.js +0 -39
- package/build/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
- package/build/components/sidebar/plugin-pre-publish-panel/index.js +0 -43
- package/build/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
- package/build/components/sidebar/post-format/index.js +0 -21
- package/build/components/sidebar/post-format/index.js.map +0 -1
- package/build/components/sidebar/post-pending-status/index.js +0 -26
- package/build/components/sidebar/post-pending-status/index.js.map +0 -1
- package/build/components/sidebar/post-slug/index.js +0 -21
- package/build/components/sidebar/post-slug/index.js.map +0 -1
- package/build/components/sidebar/post-status/index.js +0 -69
- package/build/components/sidebar/post-status/index.js.map +0 -1
- package/build/components/sidebar/post-sticky/index.js +0 -26
- package/build/components/sidebar/post-sticky/index.js.map +0 -1
- package/build/components/sidebar/post-trash/index.js +0 -16
- package/build/components/sidebar/post-trash/index.js.map +0 -1
- package/build/components/sidebar/post-visibility/index.js +0 -78
- package/build/components/sidebar/post-visibility/index.js.map +0 -1
- package/build/components/sidebar/settings-header/index.js +0 -53
- package/build/components/sidebar/settings-header/index.js.map +0 -1
- package/build/components/sidebar/settings-sidebar/index.js +0 -163
- package/build/components/sidebar/settings-sidebar/index.js.map +0 -1
- package/build/plugins/copy-content-menu-item/index.js +0 -39
- package/build/plugins/copy-content-menu-item/index.js.map +0 -1
- package/build/plugins/index.js +0 -69
- package/build/plugins/index.js.map +0 -1
- package/build/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -44
- package/build/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
- package/build/plugins/welcome-guide-menu-item/index.js.map +0 -1
- package/build-module/components/header/post-publish-button-or-toggle.js +0 -86
- package/build-module/components/header/post-publish-button-or-toggle.js.map +0 -1
- package/build-module/components/header/preferences-menu-item/index.js +0 -32
- package/build-module/components/header/preferences-menu-item/index.js.map +0 -1
- package/build-module/components/header/tools-more-menu-group/index.js +0 -19
- package/build-module/components/header/tools-more-menu-group/index.js.map +0 -1
- package/build-module/components/header/writing-menu/index.js +0 -64
- package/build-module/components/header/writing-menu/index.js.map +0 -1
- package/build-module/components/layout/actions-panel.js +0 -78
- package/build-module/components/layout/actions-panel.js.map +0 -1
- package/build-module/components/preferences-modal/enable-publish-sidebar.js +0 -31
- package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +0 -1
- package/build-module/components/sidebar/plugin-post-publish-panel/index.js +0 -32
- package/build-module/components/sidebar/plugin-post-publish-panel/index.js.map +0 -1
- package/build-module/components/sidebar/plugin-pre-publish-panel/index.js +0 -36
- package/build-module/components/sidebar/plugin-pre-publish-panel/index.js.map +0 -1
- package/build-module/components/sidebar/post-format/index.js +0 -13
- package/build-module/components/sidebar/post-format/index.js.map +0 -1
- package/build-module/components/sidebar/post-pending-status/index.js +0 -18
- package/build-module/components/sidebar/post-pending-status/index.js.map +0 -1
- package/build-module/components/sidebar/post-slug/index.js +0 -13
- package/build-module/components/sidebar/post-slug/index.js.map +0 -1
- package/build-module/components/sidebar/post-status/index.js +0 -61
- package/build-module/components/sidebar/post-status/index.js.map +0 -1
- package/build-module/components/sidebar/post-sticky/index.js +0 -18
- package/build-module/components/sidebar/post-sticky/index.js.map +0 -1
- package/build-module/components/sidebar/post-trash/index.js +0 -9
- package/build-module/components/sidebar/post-trash/index.js.map +0 -1
- package/build-module/components/sidebar/post-visibility/index.js +0 -70
- package/build-module/components/sidebar/post-visibility/index.js.map +0 -1
- package/build-module/components/sidebar/settings-header/index.js +0 -46
- package/build-module/components/sidebar/settings-header/index.js.map +0 -1
- package/build-module/components/sidebar/settings-sidebar/index.js +0 -155
- package/build-module/components/sidebar/settings-sidebar/index.js.map +0 -1
- package/build-module/plugins/copy-content-menu-item/index.js +0 -32
- package/build-module/plugins/copy-content-menu-item/index.js.map +0 -1
- package/build-module/plugins/index.js +0 -65
- package/build-module/plugins/index.js.map +0 -1
- package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
- package/build-module/plugins/keyboard-shortcuts-help-menu-item/index.js.map +0 -1
- package/build-module/plugins/welcome-guide-menu-item/index.js.map +0 -1
- package/src/components/header/post-publish-button-or-toggle.js +0 -97
- package/src/components/header/preferences-menu-item/index.js +0 -31
- package/src/components/header/test/index.js +0 -63
- package/src/components/header/tools-more-menu-group/index.js +0 -20
- package/src/components/header/writing-menu/index.js +0 -73
- package/src/components/layout/actions-panel.js +0 -103
- package/src/components/preferences-modal/enable-publish-sidebar.js +0 -32
- package/src/components/preferences-modal/test/index.js +0 -28
- package/src/components/sidebar/plugin-post-publish-panel/index.js +0 -28
- package/src/components/sidebar/plugin-pre-publish-panel/index.js +0 -32
- package/src/components/sidebar/post-format/index.js +0 -20
- package/src/components/sidebar/post-format/style.scss +0 -5
- package/src/components/sidebar/post-pending-status/index.js +0 -27
- package/src/components/sidebar/post-slug/index.js +0 -17
- package/src/components/sidebar/post-slug/style.scss +0 -5
- package/src/components/sidebar/post-status/index.js +0 -88
- package/src/components/sidebar/post-sticky/index.js +0 -27
- package/src/components/sidebar/post-trash/index.js +0 -12
- package/src/components/sidebar/post-visibility/index.js +0 -88
- package/src/components/sidebar/post-visibility/style.scss +0 -5
- package/src/components/sidebar/settings-header/index.js +0 -49
- package/src/components/sidebar/settings-sidebar/index.js +0 -211
- package/src/components/sidebar/style.scss +0 -18
- package/src/plugins/copy-content-menu-item/index.js +0 -29
- package/src/plugins/index.js +0 -85
- package/src/plugins/keyboard-shortcuts-help-menu-item/index.js +0 -36
- /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 {
|
|
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
|
|
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 {
|
|
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
|
|
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
|
-
<
|
|
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
|
-
<
|
|
116
|
-
|
|
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 {
|
|
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 {
|
|
18
|
+
const { ToolsMoreMenuGroup, ViewMoreMenuGroup } = unlock( editorPrivateApis );
|
|
19
19
|
|
|
20
|
-
const MoreMenu = (
|
|
20
|
+
const MoreMenu = () => {
|
|
21
21
|
const isLargeViewport = useViewportMatch( 'large' );
|
|
22
22
|
|
|
23
23
|
return (
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
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
|
-
|
|
55
|
-
<MenuGroup>
|
|
56
|
-
<PreferencesMenuItem />
|
|
57
|
-
</MenuGroup>
|
|
58
|
-
</>
|
|
38
|
+
</ViewMoreMenuGroup>
|
|
59
39
|
) }
|
|
60
|
-
|
|
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
|
-
*
|
|
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
|
-
|
|
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
|
-
}
|