@wordpress/edit-site 5.17.0 → 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.
Files changed (104) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/app/index.js +1 -1
  3. package/build/components/app/index.js.map +1 -1
  4. package/build/components/block-editor/site-editor-canvas.js +3 -3
  5. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  6. package/build/components/{canvas-spinner → canvas-loader}/index.js +3 -3
  7. package/build/components/canvas-loader/index.js.map +1 -0
  8. package/build/components/editor/index.js +3 -3
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/global-styles/screen-block.js +5 -0
  11. package/build/components/global-styles/screen-block.js.map +1 -1
  12. package/build/components/header-edit-mode/index.js +9 -5
  13. package/build/components/header-edit-mode/index.js.map +1 -1
  14. package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js +19 -21
  15. package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -1
  16. package/build/components/keyboard-shortcuts/edit-mode.js +1 -26
  17. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  18. package/build/components/page-patterns/grid-item.js +2 -2
  19. package/build/components/page-patterns/grid-item.js.map +1 -1
  20. package/build/components/sidebar-edit-mode/page-panels/page-status.js +21 -7
  21. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  22. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -45
  23. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  24. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js +2 -1
  25. package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  26. package/build/components/template-part-converter/convert-to-template-part.js +3 -1
  27. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  28. package/build/hooks/commands/use-common-commands.js +1 -17
  29. package/build/hooks/commands/use-common-commands.js.map +1 -1
  30. package/build/hooks/commands/use-edit-mode-commands.js +33 -21
  31. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  32. package/build/index.js +1 -1
  33. package/build/index.js.map +1 -1
  34. package/build/store/actions.js +52 -6
  35. package/build/store/actions.js.map +1 -1
  36. package/build/utils/constants.js.map +1 -0
  37. package/build-module/components/app/index.js +2 -2
  38. package/build-module/components/app/index.js.map +1 -1
  39. package/build-module/components/block-editor/site-editor-canvas.js +4 -4
  40. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  41. package/build-module/components/{canvas-spinner → canvas-loader}/index.js +2 -2
  42. package/build-module/components/canvas-loader/index.js.map +1 -0
  43. package/build-module/components/editor/index.js +3 -3
  44. package/build-module/components/editor/index.js.map +1 -1
  45. package/build-module/components/global-styles/screen-block.js +5 -0
  46. package/build-module/components/global-styles/screen-block.js.map +1 -1
  47. package/build-module/components/header-edit-mode/index.js +9 -5
  48. package/build-module/components/header-edit-mode/index.js.map +1 -1
  49. package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js +19 -21
  50. package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -1
  51. package/build-module/components/keyboard-shortcuts/edit-mode.js +1 -26
  52. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  53. package/build-module/components/page-patterns/grid-item.js +3 -3
  54. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  55. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +23 -8
  56. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  57. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -45
  58. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  59. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js +2 -1
  60. package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.js.map +1 -1
  61. package/build-module/components/template-part-converter/convert-to-template-part.js +3 -1
  62. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  63. package/build-module/hooks/commands/use-common-commands.js +1 -17
  64. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  65. package/build-module/hooks/commands/use-edit-mode-commands.js +34 -22
  66. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  67. package/build-module/index.js +1 -1
  68. package/build-module/index.js.map +1 -1
  69. package/build-module/store/actions.js +48 -4
  70. package/build-module/store/actions.js.map +1 -1
  71. package/build-module/utils/constants.js.map +1 -0
  72. package/build-style/style-rtl.css +13 -6
  73. package/build-style/style.css +13 -6
  74. package/package.json +40 -40
  75. package/src/components/app/index.js +1 -2
  76. package/src/components/block-editor/site-editor-canvas.js +2 -9
  77. package/src/components/{canvas-spinner → canvas-loader}/index.js +2 -2
  78. package/src/components/{canvas-spinner → canvas-loader}/style.scss +3 -3
  79. package/src/components/editor/index.js +3 -3
  80. package/src/components/global-styles/screen-block.js +14 -0
  81. package/src/components/header-edit-mode/index.js +37 -34
  82. package/src/components/header-edit-mode/more-menu/copy-content-menu-item.js +20 -21
  83. package/src/components/keyboard-shortcuts/edit-mode.js +2 -30
  84. package/src/components/page-patterns/grid-item.js +3 -3
  85. package/src/components/page-patterns/style.scss +5 -1
  86. package/src/components/sidebar-edit-mode/page-panels/page-status.js +37 -18
  87. package/src/components/sidebar-edit-mode/page-panels/style.scss +9 -0
  88. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -40
  89. package/src/components/sidebar-navigation-screen-navigation-menu/more-menu.js +1 -2
  90. package/src/components/template-part-converter/convert-to-template-part.js +2 -0
  91. package/src/hooks/commands/use-common-commands.js +0 -22
  92. package/src/hooks/commands/use-edit-mode-commands.js +43 -32
  93. package/src/index.js +1 -1
  94. package/src/store/actions.js +70 -7
  95. package/src/store/test/actions.js +88 -0
  96. package/src/store/test/reducer.js +22 -9
  97. package/src/style.scss +1 -1
  98. package/build/components/block-editor/constants.js.map +0 -1
  99. package/build/components/canvas-spinner/index.js.map +0 -1
  100. package/build-module/components/block-editor/constants.js.map +0 -1
  101. package/build-module/components/canvas-spinner/index.js.map +0 -1
  102. /package/build/{components/block-editor → utils}/constants.js +0 -0
  103. /package/build-module/{components/block-editor → utils}/constants.js +0 -0
  104. /package/src/{components/block-editor → utils}/constants.js +0 -0
@@ -98,6 +98,20 @@ function ScreenBlock( { name, variation } ) {
98
98
  const { behavior } = useGlobalBehaviors( name, 'user' );
99
99
 
100
100
  const blockType = getBlockType( name );
101
+
102
+ // Only allow `blockGap` support if serialization has not been skipped, to be sure global spacing can be applied.
103
+ if (
104
+ settings?.spacing?.blockGap &&
105
+ blockType?.supports?.spacing?.blockGap &&
106
+ ( blockType?.supports?.spacing?.__experimentalSkipSerialization ===
107
+ true ||
108
+ blockType?.supports?.spacing?.__experimentalSkipSerialization?.some?.(
109
+ ( spacingType ) => spacingType === 'blockGap'
110
+ ) )
111
+ ) {
112
+ settings.spacing.blockGap = false;
113
+ }
114
+
101
115
  const blockVariations = useBlockVariations( name );
102
116
  const hasTypographyPanel = useHasTypographyPanel( settings );
103
117
  const hasColorPanel = useHasColorPanel( settings );
@@ -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
- { ! isFocusMode && hasDefaultEditorCanvasView && (
315
- <div
316
- className={ classnames(
317
- 'edit-site-header-edit-mode__preview-options',
318
- { 'is-zoomed-out': isZoomedOutView }
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
- <PreviewOptions
322
- deviceType={ deviceType }
323
- setDeviceType={ setPreviewDeviceType }
324
- label={ __( 'View' ) }
325
- >
326
- { ( { onClose } ) => (
327
- <MenuGroup>
328
- <MenuItem
329
- href={ homeUrl }
330
- target="_blank"
331
- icon={ external }
332
- onClick={ onClose }
333
- >
334
- { __( 'View site' ) }
335
- <VisuallyHidden as="span">
336
- {
337
- /* translators: accessibility text */
338
- __( '(opens in a new tab)' )
339
- }
340
- </VisuallyHidden>
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 getText = useSelect( ( select ) => {
20
- return () => {
21
- const { getEditedPostId, getEditedPostType } =
22
- select( editSiteStore );
23
- const { getEditedEntityRecord } = select( coreStore );
24
- const record = getEditedEntityRecord(
25
- 'postType',
26
- getEditedPostType(),
27
- getEditedPostId()
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
- setIsListViewOpened,
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
- moreHorizontal,
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={ moreHorizontal }
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-20;
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
- <BaseControl
197
- id={ `edit-site-change-status__password` }
198
- label={ __( 'Password' ) }
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
- <TextControl
209
- onChange={ ( value ) =>
210
- saveStatus( {
211
- password: value,
212
- } )
213
- }
214
- value={ password }
215
- placeholder={ __(
216
- 'Use a secure password'
217
- ) }
218
- type="text"
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
- </BaseControl>
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, turnOffDistractionFreeMode ] );
161
+ }, [ setCanvasMode, openGeneralSidebar ] );
201
162
 
202
163
  const openStyleBook = useCallback( async () => {
203
164
  await openGlobalStyles();
@@ -57,9 +57,8 @@ export default function ScreenNavigationMoreMenu( props ) {
57
57
  >
58
58
  { __( 'Duplicate' ) }
59
59
  </MenuItem>
60
- </MenuGroup>
61
- <MenuGroup>
62
60
  <MenuItem
61
+ isDestructive
63
62
  onClick={ () => {
64
63
  openDeleteModal();
65
64
 
@@ -56,6 +56,8 @@ export default function ConvertToTemplatePart( { clientIds, blocks } ) {
56
56
  onClick={ () => {
57
57
  setIsModalOpen( true );
58
58
  } }
59
+ aria-expanded={ isModalOpen }
60
+ aria-haspopup="dialog"
59
61
  >
60
62
  { __( 'Create template part' ) }
61
63
  </MenuItem>
@@ -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 {