@wordpress/edit-site 5.17.1 → 5.18.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 +2 -0
- package/build/components/app/index.js +1 -1
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +3 -3
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/{canvas-spinner → canvas-loader}/index.js +3 -3
- package/build/components/canvas-loader/index.js.map +1 -0
- package/build/components/editor/index.js +3 -3
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/screen-block.js +5 -0
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/header-edit-mode/index.js +9 -5
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js +19 -21
- package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +1 -26
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +2 -2
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js +21 -7
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -45
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build/hooks/commands/use-common-commands.js +1 -17
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +33 -21
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/index.js +1 -1
- package/build/index.js.map +1 -1
- package/build/store/actions.js +52 -6
- package/build/store/actions.js.map +1 -1
- package/build/utils/constants.js.map +1 -0
- package/build-module/components/app/index.js +2 -2
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +4 -4
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/{canvas-spinner → canvas-loader}/index.js +2 -2
- package/build-module/components/canvas-loader/index.js.map +1 -0
- package/build-module/components/editor/index.js +3 -3
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +5 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +9 -5
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js +19 -21
- package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +1 -26
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +3 -3
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +23 -8
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -45
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +2 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
- package/build-module/hooks/commands/use-common-commands.js +1 -17
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +34 -22
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/index.js +1 -1
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +48 -4
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/constants.js.map +1 -0
- package/build-style/style-rtl.css +13 -6
- package/build-style/style.css +13 -6
- package/package.json +40 -40
- package/src/components/app/index.js +1 -2
- package/src/components/block-editor/site-editor-canvas.js +2 -9
- package/src/components/{canvas-spinner → canvas-loader}/index.js +2 -2
- package/src/components/{canvas-spinner → canvas-loader}/style.scss +3 -3
- package/src/components/editor/index.js +3 -3
- package/src/components/global-styles/screen-block.js +14 -0
- package/src/components/header-edit-mode/index.js +37 -34
- package/src/components/header-edit-mode/more-menu/copy-content-menu-item.js +20 -21
- package/src/components/keyboard-shortcuts/edit-mode.js +2 -30
- package/src/components/page-patterns/grid-item.js +3 -3
- package/src/components/page-patterns/style.scss +5 -1
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +37 -18
- package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -40
- package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -2
- package/src/hooks/commands/use-common-commands.js +0 -22
- package/src/hooks/commands/use-edit-mode-commands.js +43 -32
- package/src/index.js +1 -1
- package/src/store/actions.js +70 -7
- package/src/store/test/actions.js +88 -0
- package/src/store/test/reducer.js +22 -9
- package/src/style.scss +1 -1
- package/build/components/block-editor/constants.js.map +0 -1
- package/build/components/canvas-spinner/index.js.map +0 -1
- package/build-module/components/block-editor/constants.js.map +0 -1
- package/build-module/components/canvas-spinner/index.js.map +0 -1
- /package/build/{components/block-editor → utils}/constants.js +0 -0
- /package/build-module/{components/block-editor → utils}/constants.js +0 -0
- /package/src/{components/block-editor → utils}/constants.js +0 -0
|
@@ -45,6 +45,7 @@ import {
|
|
|
45
45
|
useHasEditorCanvasContainer,
|
|
46
46
|
} from '../editor-canvas-container';
|
|
47
47
|
import { unlock } from '../../lock-unlock';
|
|
48
|
+
import { FOCUSABLE_ENTITIES } from '../../utils/constants';
|
|
48
49
|
|
|
49
50
|
const { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );
|
|
50
51
|
|
|
@@ -156,8 +157,7 @@ export default function HeaderEditMode() {
|
|
|
156
157
|
|
|
157
158
|
const hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();
|
|
158
159
|
|
|
159
|
-
const isFocusMode =
|
|
160
|
-
templateType === 'wp_template_part' || templateType === 'wp_navigation';
|
|
160
|
+
const isFocusMode = FOCUSABLE_ENTITIES.includes( templateType );
|
|
161
161
|
|
|
162
162
|
/* translators: button label text should, if possible, be under 16 characters. */
|
|
163
163
|
const longLabel = _x(
|
|
@@ -216,6 +216,7 @@ export default function HeaderEditMode() {
|
|
|
216
216
|
showIconLabels ? shortLabel : longLabel
|
|
217
217
|
}
|
|
218
218
|
showTooltip={ ! showIconLabels }
|
|
219
|
+
aria-expanded={ isInserterOpen }
|
|
219
220
|
/>
|
|
220
221
|
) }
|
|
221
222
|
{ isLargeViewport && (
|
|
@@ -265,6 +266,7 @@ export default function HeaderEditMode() {
|
|
|
265
266
|
? 'tertiary'
|
|
266
267
|
: undefined
|
|
267
268
|
}
|
|
269
|
+
aria-expanded={ isListViewOpen }
|
|
268
270
|
/>
|
|
269
271
|
) }
|
|
270
272
|
{ isZoomedOutViewExperimentEnabled &&
|
|
@@ -311,39 +313,40 @@ export default function HeaderEditMode() {
|
|
|
311
313
|
variants={ toolbarVariants }
|
|
312
314
|
transition={ toolbarTransition }
|
|
313
315
|
>
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
316
|
+
<div
|
|
317
|
+
className={ classnames(
|
|
318
|
+
'edit-site-header-edit-mode__preview-options',
|
|
319
|
+
{ 'is-zoomed-out': isZoomedOutView }
|
|
320
|
+
) }
|
|
321
|
+
>
|
|
322
|
+
<PreviewOptions
|
|
323
|
+
deviceType={ deviceType }
|
|
324
|
+
setDeviceType={ setPreviewDeviceType }
|
|
325
|
+
label={ __( 'View' ) }
|
|
326
|
+
isEnabled={
|
|
327
|
+
! isFocusMode && hasDefaultEditorCanvasView
|
|
328
|
+
}
|
|
320
329
|
>
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
</MenuItem>
|
|
342
|
-
</MenuGroup>
|
|
343
|
-
) }
|
|
344
|
-
</PreviewOptions>
|
|
345
|
-
</div>
|
|
346
|
-
) }
|
|
330
|
+
{ ( { onClose } ) => (
|
|
331
|
+
<MenuGroup>
|
|
332
|
+
<MenuItem
|
|
333
|
+
href={ homeUrl }
|
|
334
|
+
target="_blank"
|
|
335
|
+
icon={ external }
|
|
336
|
+
onClick={ onClose }
|
|
337
|
+
>
|
|
338
|
+
{ __( 'View site' ) }
|
|
339
|
+
<VisuallyHidden as="span">
|
|
340
|
+
{
|
|
341
|
+
/* translators: accessibility text */
|
|
342
|
+
__( '(opens in a new tab)' )
|
|
343
|
+
}
|
|
344
|
+
</VisuallyHidden>
|
|
345
|
+
</MenuItem>
|
|
346
|
+
</MenuGroup>
|
|
347
|
+
) }
|
|
348
|
+
</PreviewOptions>
|
|
349
|
+
</div>
|
|
347
350
|
<SaveButton />
|
|
348
351
|
{ ! isDistractionFree && (
|
|
349
352
|
<PinnedItems.Slot scope="core/edit-site" />
|
|
@@ -16,28 +16,27 @@ import { store as editSiteStore } from '../../../store';
|
|
|
16
16
|
|
|
17
17
|
export default function CopyContentMenuItem() {
|
|
18
18
|
const { createNotice } = useDispatch( noticesStore );
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if ( record ) {
|
|
30
|
-
if ( typeof record.content === 'function' ) {
|
|
31
|
-
return record.content( record );
|
|
32
|
-
} else if ( record.blocks ) {
|
|
33
|
-
return __unstableSerializeAndClean( record.blocks );
|
|
34
|
-
} else if ( record.content ) {
|
|
35
|
-
return record.content;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
19
|
+
const { getEditedPostId, getEditedPostType } = useSelect( editSiteStore );
|
|
20
|
+
const { getEditedEntityRecord } = useSelect( coreStore );
|
|
21
|
+
|
|
22
|
+
function getText() {
|
|
23
|
+
const record = getEditedEntityRecord(
|
|
24
|
+
'postType',
|
|
25
|
+
getEditedPostType(),
|
|
26
|
+
getEditedPostId()
|
|
27
|
+
);
|
|
28
|
+
if ( ! record ) {
|
|
38
29
|
return '';
|
|
39
|
-
}
|
|
40
|
-
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
if ( typeof record.content === 'function' ) {
|
|
33
|
+
return record.content( record );
|
|
34
|
+
} else if ( record.blocks ) {
|
|
35
|
+
return __unstableSerializeAndClean( record.blocks );
|
|
36
|
+
} else if ( record.content ) {
|
|
37
|
+
return record.content;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
41
40
|
|
|
42
41
|
function onSuccess() {
|
|
43
42
|
createNotice( 'info', __( 'All content copied.' ), {
|
|
@@ -1,15 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __ } from '@wordpress/i18n';
|
|
5
4
|
import { useShortcut } from '@wordpress/keyboard-shortcuts';
|
|
6
5
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
7
6
|
import { store as coreStore } from '@wordpress/core-data';
|
|
8
7
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
9
8
|
import { store as interfaceStore } from '@wordpress/interface';
|
|
10
9
|
import { createBlock } from '@wordpress/blocks';
|
|
11
|
-
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
13
10
|
|
|
14
11
|
/**
|
|
15
12
|
* Internal dependencies
|
|
@@ -32,12 +29,8 @@ function KeyboardShortcutsEditMode() {
|
|
|
32
29
|
[]
|
|
33
30
|
);
|
|
34
31
|
const { redo, undo } = useDispatch( coreStore );
|
|
35
|
-
const {
|
|
36
|
-
|
|
37
|
-
switchEditorMode,
|
|
38
|
-
setIsInserterOpened,
|
|
39
|
-
closeGeneralSidebar,
|
|
40
|
-
} = useDispatch( editSiteStore );
|
|
32
|
+
const { setIsListViewOpened, switchEditorMode, toggleDistractionFree } =
|
|
33
|
+
useDispatch( editSiteStore );
|
|
41
34
|
const { enableComplementaryArea, disableComplementaryArea } =
|
|
42
35
|
useDispatch( interfaceStore );
|
|
43
36
|
|
|
@@ -45,17 +38,6 @@ function KeyboardShortcutsEditMode() {
|
|
|
45
38
|
const { getBlockName, getSelectedBlockClientId, getBlockAttributes } =
|
|
46
39
|
useSelect( blockEditorStore );
|
|
47
40
|
|
|
48
|
-
const { get: getPreference } = useSelect( preferencesStore );
|
|
49
|
-
const { set: setPreference, toggle } = useDispatch( preferencesStore );
|
|
50
|
-
const { createInfoNotice } = useDispatch( noticesStore );
|
|
51
|
-
|
|
52
|
-
const toggleDistractionFree = () => {
|
|
53
|
-
setPreference( 'core/edit-site', 'fixedToolbar', false );
|
|
54
|
-
setIsInserterOpened( false );
|
|
55
|
-
setIsListViewOpened( false );
|
|
56
|
-
closeGeneralSidebar();
|
|
57
|
-
};
|
|
58
|
-
|
|
59
41
|
const handleTextLevelShortcut = ( event, level ) => {
|
|
60
42
|
event.preventDefault();
|
|
61
43
|
const destinationBlockName =
|
|
@@ -134,16 +116,6 @@ function KeyboardShortcutsEditMode() {
|
|
|
134
116
|
|
|
135
117
|
useShortcut( 'core/edit-site/toggle-distraction-free', () => {
|
|
136
118
|
toggleDistractionFree();
|
|
137
|
-
toggle( 'core/edit-site', 'distractionFree' );
|
|
138
|
-
createInfoNotice(
|
|
139
|
-
getPreference( 'core/edit-site', 'distractionFree' )
|
|
140
|
-
? __( 'Distraction free mode turned on.' )
|
|
141
|
-
: __( 'Distraction free mode turned off.' ),
|
|
142
|
-
{
|
|
143
|
-
id: 'core/edit-site/distraction-free-mode/notice',
|
|
144
|
-
type: 'snackbar',
|
|
145
|
-
}
|
|
146
|
-
);
|
|
147
119
|
} );
|
|
148
120
|
|
|
149
121
|
return null;
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
footer,
|
|
28
28
|
symbolFilled as uncategorized,
|
|
29
29
|
symbol,
|
|
30
|
-
|
|
30
|
+
moreVertical,
|
|
31
31
|
lockSmall,
|
|
32
32
|
} from '@wordpress/icons';
|
|
33
33
|
import { store as noticesStore } from '@wordpress/notices';
|
|
@@ -220,13 +220,12 @@ function GridItem( { categoryId, item, ...props } ) {
|
|
|
220
220
|
</Flex>
|
|
221
221
|
</HStack>
|
|
222
222
|
<DropdownMenu
|
|
223
|
-
icon={
|
|
223
|
+
icon={ moreVertical }
|
|
224
224
|
label={ __( 'Actions' ) }
|
|
225
225
|
className="edit-site-patterns__dropdown"
|
|
226
226
|
popoverProps={ { placement: 'bottom-end' } }
|
|
227
227
|
toggleProps={ {
|
|
228
228
|
className: 'edit-site-patterns__button',
|
|
229
|
-
isSmall: true,
|
|
230
229
|
describedBy: sprintf(
|
|
231
230
|
/* translators: %s: pattern name */
|
|
232
231
|
__( 'Action menu for %s pattern' ),
|
|
@@ -254,6 +253,7 @@ function GridItem( { categoryId, item, ...props } ) {
|
|
|
254
253
|
/>
|
|
255
254
|
{ isCustomPattern && (
|
|
256
255
|
<MenuItem
|
|
256
|
+
isDestructive={ ! hasThemeFile }
|
|
257
257
|
onClick={ () =>
|
|
258
258
|
setIsDeleteDialogOpen( true )
|
|
259
259
|
}
|
|
@@ -163,6 +163,10 @@
|
|
|
163
163
|
color: $gray-600;
|
|
164
164
|
}
|
|
165
165
|
|
|
166
|
+
.edit-site-patterns__dropdown {
|
|
167
|
+
flex-shrink: 0;
|
|
168
|
+
}
|
|
169
|
+
|
|
166
170
|
&.is-placeholder .edit-site-patterns__preview {
|
|
167
171
|
min-height: $grid-unit-80;
|
|
168
172
|
color: $gray-600;
|
|
@@ -179,7 +183,7 @@
|
|
|
179
183
|
|
|
180
184
|
.edit-site-patterns__preview {
|
|
181
185
|
flex: 0 1 auto;
|
|
182
|
-
margin-bottom: $grid-unit-
|
|
186
|
+
margin-bottom: $grid-unit-15;
|
|
183
187
|
}
|
|
184
188
|
}
|
|
185
189
|
|
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
5
|
Button,
|
|
6
|
-
BaseControl,
|
|
7
6
|
ToggleControl,
|
|
8
7
|
Dropdown,
|
|
9
8
|
__experimentalText as Text,
|
|
@@ -11,6 +10,7 @@ import {
|
|
|
11
10
|
__experimentalVStack as VStack,
|
|
12
11
|
TextControl,
|
|
13
12
|
RadioControl,
|
|
13
|
+
VisuallyHidden,
|
|
14
14
|
} from '@wordpress/components';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
16
16
|
import { useDispatch } from '@wordpress/data';
|
|
@@ -18,6 +18,8 @@ import { useState, useMemo } from '@wordpress/element';
|
|
|
18
18
|
import { store as coreStore } from '@wordpress/core-data';
|
|
19
19
|
import { store as noticesStore } from '@wordpress/notices';
|
|
20
20
|
import { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';
|
|
21
|
+
import { useInstanceId } from '@wordpress/compose';
|
|
22
|
+
|
|
21
23
|
/**
|
|
22
24
|
* Internal dependencies
|
|
23
25
|
*/
|
|
@@ -85,6 +87,7 @@ export default function PageStatus( {
|
|
|
85
87
|
date,
|
|
86
88
|
} ) {
|
|
87
89
|
const [ showPassword, setShowPassword ] = useState( !! password );
|
|
90
|
+
const instanceId = useInstanceId( PageStatus );
|
|
88
91
|
|
|
89
92
|
const { editEntityRecord } = useDispatch( coreStore );
|
|
90
93
|
const { createErrorNotice } = useDispatch( noticesStore );
|
|
@@ -193,10 +196,17 @@ export default function PageStatus( {
|
|
|
193
196
|
selected={ status }
|
|
194
197
|
/>
|
|
195
198
|
{ status !== 'private' && (
|
|
196
|
-
<
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
199
|
+
<fieldset className="edit-site-change-status__password-fieldset">
|
|
200
|
+
<Text
|
|
201
|
+
as="legend"
|
|
202
|
+
className="edit-site-change-status__password-legend"
|
|
203
|
+
size="11"
|
|
204
|
+
lineHeight={ 1.4 }
|
|
205
|
+
weight={ 500 }
|
|
206
|
+
upperCase={ true }
|
|
207
|
+
>
|
|
208
|
+
{ __( 'Password' ) }
|
|
209
|
+
</Text>
|
|
200
210
|
<ToggleControl
|
|
201
211
|
label={ __(
|
|
202
212
|
'Hide this page behind a password'
|
|
@@ -205,20 +215,29 @@ export default function PageStatus( {
|
|
|
205
215
|
onChange={ handleTogglePassword }
|
|
206
216
|
/>
|
|
207
217
|
{ showPassword && (
|
|
208
|
-
<
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
218
|
+
<div className="edit-site-change-status__password-input">
|
|
219
|
+
<VisuallyHidden
|
|
220
|
+
as="label"
|
|
221
|
+
htmlFor={ `edit-site-change-status__password-input-${ instanceId }` }
|
|
222
|
+
>
|
|
223
|
+
{ __( 'Create password' ) }
|
|
224
|
+
</VisuallyHidden>
|
|
225
|
+
<TextControl
|
|
226
|
+
onChange={ ( value ) =>
|
|
227
|
+
saveStatus( {
|
|
228
|
+
password: value,
|
|
229
|
+
} )
|
|
230
|
+
}
|
|
231
|
+
value={ password }
|
|
232
|
+
placeholder={ __(
|
|
233
|
+
'Use a secure password'
|
|
234
|
+
) }
|
|
235
|
+
type="text"
|
|
236
|
+
id={ `edit-site-change-status__password-input-${ instanceId }` }
|
|
237
|
+
/>
|
|
238
|
+
</div>
|
|
220
239
|
) }
|
|
221
|
-
</
|
|
240
|
+
</fieldset>
|
|
222
241
|
) }
|
|
223
242
|
</VStack>
|
|
224
243
|
</form>
|
|
@@ -14,10 +14,12 @@
|
|
|
14
14
|
min-width: 320px;
|
|
15
15
|
padding: $grid-unit-20;
|
|
16
16
|
}
|
|
17
|
+
|
|
17
18
|
.edit-site-change-status__options {
|
|
18
19
|
.components-base-control__field > .components-v-stack {
|
|
19
20
|
gap: $grid-unit-10;
|
|
20
21
|
}
|
|
22
|
+
|
|
21
23
|
label {
|
|
22
24
|
.components-text {
|
|
23
25
|
display: block;
|
|
@@ -25,15 +27,22 @@
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
}
|
|
30
|
+
|
|
31
|
+
.edit-site-change-status__password-legend {
|
|
32
|
+
padding: 0;
|
|
33
|
+
margin-bottom: $grid-unit-10;
|
|
34
|
+
}
|
|
28
35
|
}
|
|
29
36
|
|
|
30
37
|
.edit-site-summary-field {
|
|
31
38
|
.components-dropdown {
|
|
32
39
|
flex-grow: 1;
|
|
33
40
|
}
|
|
41
|
+
|
|
34
42
|
.edit-site-summary-field__trigger {
|
|
35
43
|
width: 100%;
|
|
36
44
|
}
|
|
45
|
+
|
|
37
46
|
.edit-site-summary-field__label {
|
|
38
47
|
width: 30%;
|
|
39
48
|
}
|
|
@@ -15,8 +15,6 @@ import { useViewportMatch } from '@wordpress/compose';
|
|
|
15
15
|
import { BlockEditorProvider } from '@wordpress/block-editor';
|
|
16
16
|
import { humanTimeDiff } from '@wordpress/date';
|
|
17
17
|
import { useCallback } from '@wordpress/element';
|
|
18
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
19
|
-
import { store as preferencesStore } from '@wordpress/preferences';
|
|
20
18
|
|
|
21
19
|
/**
|
|
22
20
|
* Internal dependencies
|
|
@@ -35,24 +33,7 @@ const noop = () => {};
|
|
|
35
33
|
export function SidebarNavigationItemGlobalStyles( props ) {
|
|
36
34
|
const { openGeneralSidebar } = useDispatch( editSiteStore );
|
|
37
35
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
38
|
-
const { createNotice } = useDispatch( noticesStore );
|
|
39
|
-
const { set: setPreference } = useDispatch( preferencesStore );
|
|
40
|
-
const { get: getPreference } = useSelect( preferencesStore );
|
|
41
36
|
|
|
42
|
-
const turnOffDistractionFreeMode = useCallback( () => {
|
|
43
|
-
const isDistractionFree = getPreference(
|
|
44
|
-
editSiteStore.name,
|
|
45
|
-
'distractionFree'
|
|
46
|
-
);
|
|
47
|
-
if ( ! isDistractionFree ) {
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
setPreference( editSiteStore.name, 'distractionFree', false );
|
|
51
|
-
createNotice( 'info', __( 'Distraction free mode turned off' ), {
|
|
52
|
-
isDismissible: true,
|
|
53
|
-
type: 'snackbar',
|
|
54
|
-
} );
|
|
55
|
-
}, [ createNotice, setPreference, getPreference ] );
|
|
56
37
|
const hasGlobalStyleVariations = useSelect(
|
|
57
38
|
( select ) =>
|
|
58
39
|
!! select(
|
|
@@ -73,7 +54,6 @@ export function SidebarNavigationItemGlobalStyles( props ) {
|
|
|
73
54
|
<SidebarNavigationItem
|
|
74
55
|
{ ...props }
|
|
75
56
|
onClick={ () => {
|
|
76
|
-
turnOffDistractionFreeMode();
|
|
77
57
|
// Switch to edit mode.
|
|
78
58
|
setCanvasMode( 'edit' );
|
|
79
59
|
// Open global styles sidebar.
|
|
@@ -150,9 +130,6 @@ export default function SidebarNavigationScreenGlobalStyles() {
|
|
|
150
130
|
const { setCanvasMode, setEditorCanvasContainerView } = unlock(
|
|
151
131
|
useDispatch( editSiteStore )
|
|
152
132
|
);
|
|
153
|
-
const { createNotice } = useDispatch( noticesStore );
|
|
154
|
-
const { set: setPreference } = useDispatch( preferencesStore );
|
|
155
|
-
const { get: getPreference } = useSelect( preferencesStore );
|
|
156
133
|
const { isViewMode, isStyleBookOpened, revisionsCount } = useSelect(
|
|
157
134
|
( select ) => {
|
|
158
135
|
const { getCanvasMode, getEditorCanvasContainerView } = unlock(
|
|
@@ -176,28 +153,12 @@ export default function SidebarNavigationScreenGlobalStyles() {
|
|
|
176
153
|
[]
|
|
177
154
|
);
|
|
178
155
|
|
|
179
|
-
const turnOffDistractionFreeMode = useCallback( () => {
|
|
180
|
-
const isDistractionFree = getPreference(
|
|
181
|
-
editSiteStore.name,
|
|
182
|
-
'distractionFree'
|
|
183
|
-
);
|
|
184
|
-
if ( ! isDistractionFree ) {
|
|
185
|
-
return;
|
|
186
|
-
}
|
|
187
|
-
setPreference( editSiteStore.name, 'distractionFree', false );
|
|
188
|
-
createNotice( 'info', __( 'Distraction free mode turned off' ), {
|
|
189
|
-
isDismissible: true,
|
|
190
|
-
type: 'snackbar',
|
|
191
|
-
} );
|
|
192
|
-
}, [ createNotice, setPreference, getPreference ] );
|
|
193
|
-
|
|
194
156
|
const openGlobalStyles = useCallback( async () => {
|
|
195
|
-
turnOffDistractionFreeMode();
|
|
196
157
|
return Promise.all( [
|
|
197
158
|
setCanvasMode( 'edit' ),
|
|
198
159
|
openGeneralSidebar( 'edit-site/global-styles' ),
|
|
199
160
|
] );
|
|
200
|
-
}, [ setCanvasMode, openGeneralSidebar
|
|
161
|
+
}, [ setCanvasMode, openGeneralSidebar ] );
|
|
201
162
|
|
|
202
163
|
const openStyleBook = useCallback( async () => {
|
|
203
164
|
await openGlobalStyles();
|
|
@@ -10,7 +10,6 @@ import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
|
10
10
|
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
11
11
|
import { store as preferencesStore } from '@wordpress/preferences';
|
|
12
12
|
import { store as coreStore } from '@wordpress/core-data';
|
|
13
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
14
13
|
import { useViewportMatch } from '@wordpress/compose';
|
|
15
14
|
|
|
16
15
|
/**
|
|
@@ -31,16 +30,7 @@ function useGlobalStylesOpenStylesCommands() {
|
|
|
31
30
|
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
32
31
|
const isEditorPage = ! getIsListPage( params, isMobileViewport );
|
|
33
32
|
const { getCanvasMode } = unlock( useSelect( editSiteStore ) );
|
|
34
|
-
const { set } = useDispatch( preferencesStore );
|
|
35
|
-
const { createInfoNotice } = useDispatch( noticesStore );
|
|
36
|
-
|
|
37
33
|
const history = useHistory();
|
|
38
|
-
const isDistractionFree = useSelect( ( select ) => {
|
|
39
|
-
return select( preferencesStore ).get(
|
|
40
|
-
editSiteStore.name,
|
|
41
|
-
'distractionFree'
|
|
42
|
-
);
|
|
43
|
-
}, [] );
|
|
44
34
|
|
|
45
35
|
const isBlockBasedTheme = useSelect( ( select ) => {
|
|
46
36
|
return select( coreStore ).getCurrentTheme().is_block_theme;
|
|
@@ -66,15 +56,6 @@ function useGlobalStylesOpenStylesCommands() {
|
|
|
66
56
|
if ( isEditorPage && getCanvasMode() !== 'edit' ) {
|
|
67
57
|
setCanvasMode( 'edit' );
|
|
68
58
|
}
|
|
69
|
-
if ( isDistractionFree ) {
|
|
70
|
-
set( editSiteStore.name, 'distractionFree', false );
|
|
71
|
-
createInfoNotice(
|
|
72
|
-
__( 'Distraction free mode turned off.' ),
|
|
73
|
-
{
|
|
74
|
-
type: 'snackbar',
|
|
75
|
-
}
|
|
76
|
-
);
|
|
77
|
-
}
|
|
78
59
|
openGeneralSidebar( 'edit-site/global-styles' );
|
|
79
60
|
},
|
|
80
61
|
icon: styles,
|
|
@@ -85,11 +66,8 @@ function useGlobalStylesOpenStylesCommands() {
|
|
|
85
66
|
openGeneralSidebar,
|
|
86
67
|
setCanvasMode,
|
|
87
68
|
isEditorPage,
|
|
88
|
-
createInfoNotice,
|
|
89
69
|
getCanvasMode,
|
|
90
|
-
isDistractionFree,
|
|
91
70
|
isBlockBasedTheme,
|
|
92
|
-
set,
|
|
93
71
|
] );
|
|
94
72
|
|
|
95
73
|
return {
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
blockDefault,
|
|
15
15
|
code,
|
|
16
16
|
keyboard,
|
|
17
|
+
listView,
|
|
17
18
|
} from '@wordpress/icons';
|
|
18
19
|
import { useCommandLoader } from '@wordpress/commands';
|
|
19
20
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
@@ -194,28 +195,38 @@ function useEditUICommands() {
|
|
|
194
195
|
const {
|
|
195
196
|
openGeneralSidebar,
|
|
196
197
|
closeGeneralSidebar,
|
|
197
|
-
|
|
198
|
+
toggleDistractionFree,
|
|
198
199
|
setIsListViewOpened,
|
|
199
200
|
switchEditorMode,
|
|
200
201
|
} = useDispatch( editSiteStore );
|
|
201
|
-
const {
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
202
|
+
const {
|
|
203
|
+
canvasMode,
|
|
204
|
+
editorMode,
|
|
205
|
+
activeSidebar,
|
|
206
|
+
showBlockBreadcrumbs,
|
|
207
|
+
isListViewOpen,
|
|
208
|
+
isDistractionFree,
|
|
209
|
+
} = useSelect( ( select ) => {
|
|
210
|
+
const { isListViewOpened, getEditorMode } = select( editSiteStore );
|
|
211
|
+
return {
|
|
212
|
+
canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
|
|
213
|
+
editorMode: getEditorMode(),
|
|
214
|
+
activeSidebar: select( interfaceStore ).getActiveComplementaryArea(
|
|
215
|
+
editSiteStore.name
|
|
216
|
+
),
|
|
217
|
+
showBlockBreadcrumbs: select( preferencesStore ).get(
|
|
218
|
+
'core/edit-site',
|
|
219
|
+
'showBlockBreadcrumbs'
|
|
220
|
+
),
|
|
221
|
+
isListViewOpen: isListViewOpened(),
|
|
222
|
+
isDistractionFree: select( preferencesStore ).get(
|
|
223
|
+
editSiteStore.name,
|
|
224
|
+
'distractionFree'
|
|
225
|
+
),
|
|
226
|
+
};
|
|
227
|
+
}, [] );
|
|
216
228
|
const { openModal } = useDispatch( interfaceStore );
|
|
217
|
-
const {
|
|
218
|
-
const { set: setPreference, toggle } = useDispatch( preferencesStore );
|
|
229
|
+
const { toggle } = useDispatch( preferencesStore );
|
|
219
230
|
const { createInfoNotice } = useDispatch( noticesStore );
|
|
220
231
|
|
|
221
232
|
if ( canvasMode !== 'edit' ) {
|
|
@@ -265,20 +276,7 @@ function useEditUICommands() {
|
|
|
265
276
|
name: 'core/toggle-distraction-free',
|
|
266
277
|
label: __( 'Toggle distraction free' ),
|
|
267
278
|
callback: ( { close } ) => {
|
|
268
|
-
|
|
269
|
-
setIsInserterOpened( false );
|
|
270
|
-
setIsListViewOpened( false );
|
|
271
|
-
closeGeneralSidebar();
|
|
272
|
-
toggle( 'core/edit-site', 'distractionFree' );
|
|
273
|
-
createInfoNotice(
|
|
274
|
-
getPreference( 'core/edit-site', 'distractionFree' )
|
|
275
|
-
? __( 'Distraction free on.' )
|
|
276
|
-
: __( 'Distraction free off.' ),
|
|
277
|
-
{
|
|
278
|
-
id: 'core/edit-site/distraction-free-mode/notice',
|
|
279
|
-
type: 'snackbar',
|
|
280
|
-
}
|
|
281
|
-
);
|
|
279
|
+
toggleDistractionFree();
|
|
282
280
|
close();
|
|
283
281
|
},
|
|
284
282
|
} );
|
|
@@ -288,6 +286,9 @@ function useEditUICommands() {
|
|
|
288
286
|
label: __( 'Toggle top toolbar' ),
|
|
289
287
|
callback: ( { close } ) => {
|
|
290
288
|
toggle( 'core/edit-site', 'fixedToolbar' );
|
|
289
|
+
if ( isDistractionFree ) {
|
|
290
|
+
toggleDistractionFree();
|
|
291
|
+
}
|
|
291
292
|
close();
|
|
292
293
|
},
|
|
293
294
|
} );
|
|
@@ -341,6 +342,16 @@ function useEditUICommands() {
|
|
|
341
342
|
},
|
|
342
343
|
} );
|
|
343
344
|
|
|
345
|
+
commands.push( {
|
|
346
|
+
name: 'core/toggle-list-view',
|
|
347
|
+
label: __( 'Toggle list view' ),
|
|
348
|
+
icon: listView,
|
|
349
|
+
callback: ( { close } ) => {
|
|
350
|
+
setIsListViewOpened( ! isListViewOpen );
|
|
351
|
+
close();
|
|
352
|
+
},
|
|
353
|
+
} );
|
|
354
|
+
|
|
344
355
|
return {
|
|
345
356
|
isLoading: false,
|
|
346
357
|
commands,
|
package/src/index.js
CHANGED
|
@@ -43,7 +43,7 @@ export function initializeEditor( id, settings ) {
|
|
|
43
43
|
fetchLinkSuggestions( search, searchOptions, settings );
|
|
44
44
|
settings.__experimentalFetchRichUrlData = fetchUrlData;
|
|
45
45
|
|
|
46
|
-
dispatch( blocksStore ).
|
|
46
|
+
dispatch( blocksStore ).reapplyBlockTypeFilters();
|
|
47
47
|
const coreBlocks = __experimentalGetCoreBlocks().filter(
|
|
48
48
|
( { name } ) => name !== 'core/freeform'
|
|
49
49
|
);
|