@wordpress/edit-site 5.12.9 → 5.12.11

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 (94) hide show
  1. package/build/components/add-new-page/index.js +1 -6
  2. package/build/components/add-new-page/index.js.map +1 -1
  3. package/build/components/add-new-pattern/index.js +10 -2
  4. package/build/components/add-new-pattern/index.js.map +1 -1
  5. package/build/components/editor/index.js +10 -1
  6. package/build/components/editor/index.js.map +1 -1
  7. package/build/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  8. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  9. package/build/components/layout/index.js +33 -25
  10. package/build/components/layout/index.js.map +1 -1
  11. package/build/components/page-actions/index.js +2 -2
  12. package/build/components/page-actions/index.js.map +1 -1
  13. package/build/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -15
  14. package/build/components/page-actions/trash-page-menu-item.js.map +1 -0
  15. package/build/components/page-patterns/grid-item.js +1 -1
  16. package/build/components/page-patterns/grid-item.js.map +1 -1
  17. package/build/components/page-patterns/patterns-list.js +2 -1
  18. package/build/components/page-patterns/patterns-list.js.map +1 -1
  19. package/build/components/page-patterns/use-patterns.js +13 -5
  20. package/build/components/page-patterns/use-patterns.js.map +1 -1
  21. package/build/components/resizable-frame/index.js +3 -4
  22. package/build/components/resizable-frame/index.js.map +1 -1
  23. package/build/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  24. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  25. package/build/components/sidebar-navigation-screen-patterns/index.js +10 -14
  26. package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  27. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +11 -1
  28. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  29. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  30. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  31. package/build/components/site-hub/index.js +16 -7
  32. package/build/components/site-hub/index.js.map +1 -1
  33. package/build/hooks/commands/use-common-commands.js +78 -20
  34. package/build/hooks/commands/use-common-commands.js.map +1 -1
  35. package/build-module/components/add-new-page/index.js +1 -6
  36. package/build-module/components/add-new-page/index.js.map +1 -1
  37. package/build-module/components/add-new-pattern/index.js +8 -2
  38. package/build-module/components/add-new-pattern/index.js.map +1 -1
  39. package/build-module/components/editor/index.js +10 -1
  40. package/build-module/components/editor/index.js.map +1 -1
  41. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +10 -22
  42. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  43. package/build-module/components/layout/index.js +33 -25
  44. package/build-module/components/layout/index.js.map +1 -1
  45. package/build-module/components/page-actions/index.js +2 -2
  46. package/build-module/components/page-actions/index.js.map +1 -1
  47. package/build-module/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +8 -16
  48. package/build-module/components/page-actions/trash-page-menu-item.js.map +1 -0
  49. package/build-module/components/page-patterns/grid-item.js +1 -1
  50. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  51. package/build-module/components/page-patterns/patterns-list.js +3 -2
  52. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  53. package/build-module/components/page-patterns/use-patterns.js +13 -5
  54. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  55. package/build-module/components/resizable-frame/index.js +3 -4
  56. package/build-module/components/resizable-frame/index.js.map +1 -1
  57. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +3 -8
  58. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  59. package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -14
  60. package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
  61. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -1
  62. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  63. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  64. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  65. package/build-module/components/site-hub/index.js +16 -7
  66. package/build-module/components/site-hub/index.js.map +1 -1
  67. package/build-module/hooks/commands/use-common-commands.js +74 -20
  68. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  69. package/build-style/style-rtl.css +14 -16
  70. package/build-style/style.css +14 -16
  71. package/package.json +21 -21
  72. package/src/components/add-new-page/index.js +0 -3
  73. package/src/components/add-new-pattern/index.js +8 -2
  74. package/src/components/editor/index.js +15 -1
  75. package/src/components/global-styles/screen-revisions/revisions-buttons.js +17 -31
  76. package/src/components/layout/index.js +54 -45
  77. package/src/components/layout/style.scss +1 -1
  78. package/src/components/page-actions/index.js +2 -2
  79. package/src/components/page-actions/{delete-page-menu-item.js → trash-page-menu-item.js} +9 -21
  80. package/src/components/page-patterns/grid-item.js +1 -1
  81. package/src/components/page-patterns/patterns-list.js +16 -6
  82. package/src/components/page-patterns/use-patterns.js +12 -5
  83. package/src/components/resizable-frame/index.js +2 -3
  84. package/src/components/resizable-frame/style.scss +0 -17
  85. package/src/components/sidebar-edit-mode/page-panels/page-status.js +2 -5
  86. package/src/components/sidebar-navigation-screen-patterns/index.js +10 -13
  87. package/src/components/sidebar-navigation-screen-patterns/style.scss +5 -7
  88. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +9 -0
  89. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
  90. package/src/components/site-hub/index.js +21 -7
  91. package/src/components/site-hub/style.scss +9 -2
  92. package/src/hooks/commands/use-common-commands.js +56 -23
  93. package/build/components/page-actions/delete-page-menu-item.js.map +0 -1
  94. package/build-module/components/page-actions/delete-page-menu-item.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.12.9",
3
+ "version": "5.12.11",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -29,40 +29,40 @@
29
29
  "@babel/runtime": "^7.16.0",
30
30
  "@wordpress/a11y": "^3.35.1",
31
31
  "@wordpress/api-fetch": "^6.32.1",
32
- "@wordpress/block-editor": "^12.3.7",
33
- "@wordpress/block-library": "^8.12.9",
34
- "@wordpress/blocks": "^12.12.3",
35
- "@wordpress/commands": "^0.6.7",
36
- "@wordpress/components": "^25.1.7",
32
+ "@wordpress/block-editor": "^12.3.9",
33
+ "@wordpress/block-library": "^8.12.11",
34
+ "@wordpress/blocks": "^12.12.5",
35
+ "@wordpress/commands": "^0.6.8",
36
+ "@wordpress/components": "^25.1.8",
37
37
  "@wordpress/compose": "^6.12.1",
38
- "@wordpress/core-commands": "^0.4.7",
39
- "@wordpress/core-data": "^6.12.7",
40
- "@wordpress/data": "^9.5.3",
38
+ "@wordpress/core-commands": "^0.4.9",
39
+ "@wordpress/core-data": "^6.12.9",
40
+ "@wordpress/data": "^9.5.4",
41
41
  "@wordpress/date": "^4.35.1",
42
42
  "@wordpress/deprecated": "^3.35.1",
43
43
  "@wordpress/dom": "^3.35.1",
44
- "@wordpress/editor": "^13.12.7",
44
+ "@wordpress/editor": "^13.12.9",
45
45
  "@wordpress/element": "^5.12.1",
46
46
  "@wordpress/escape-html": "^2.35.1",
47
47
  "@wordpress/hooks": "^3.35.1",
48
48
  "@wordpress/html-entities": "^3.35.1",
49
49
  "@wordpress/i18n": "^4.35.1",
50
50
  "@wordpress/icons": "^9.26.2",
51
- "@wordpress/interface": "^5.12.7",
52
- "@wordpress/keyboard-shortcuts": "^4.12.3",
51
+ "@wordpress/interface": "^5.12.8",
52
+ "@wordpress/keyboard-shortcuts": "^4.12.4",
53
53
  "@wordpress/keycodes": "^3.35.1",
54
54
  "@wordpress/media-utils": "^4.26.1",
55
- "@wordpress/notices": "^4.3.3",
56
- "@wordpress/plugins": "^6.3.7",
57
- "@wordpress/preferences": "^3.12.7",
55
+ "@wordpress/notices": "^4.3.4",
56
+ "@wordpress/plugins": "^6.3.8",
57
+ "@wordpress/preferences": "^3.12.8",
58
58
  "@wordpress/primitives": "^3.33.1",
59
- "@wordpress/private-apis": "^0.17.1",
60
- "@wordpress/reusable-blocks": "^4.12.7",
61
- "@wordpress/router": "^0.4.1",
59
+ "@wordpress/private-apis": "^0.17.2",
60
+ "@wordpress/reusable-blocks": "^4.12.9",
61
+ "@wordpress/router": "^0.4.2",
62
62
  "@wordpress/style-engine": "^1.18.1",
63
63
  "@wordpress/url": "^3.36.1",
64
- "@wordpress/viewport": "^5.12.3",
65
- "@wordpress/widgets": "^3.12.7",
64
+ "@wordpress/viewport": "^5.12.4",
65
+ "@wordpress/widgets": "^3.12.9",
66
66
  "@wordpress/wordcount": "^3.35.1",
67
67
  "change-case": "^4.1.2",
68
68
  "classnames": "^2.3.1",
@@ -84,5 +84,5 @@
84
84
  "publishConfig": {
85
85
  "access": "public"
86
86
  },
87
- "gitHead": "5a52ea1ed29bbf8f3ead96f83b17d2c1cf84c880"
87
+ "gitHead": "ec0ed708e46a598ab2cf8e18bf2591b0102b5bb3"
88
88
  }
@@ -77,9 +77,6 @@ export default function AddNewPageModal( { onSave, onClose } ) {
77
77
  <form onSubmit={ createPage }>
78
78
  <VStack spacing={ 3 }>
79
79
  <TextControl
80
- /* eslint-disable jsx-a11y/no-autofocus */
81
- autoFocus
82
- /* eslint-enable jsx-a11y/no-autofocus */
83
80
  label={ __( 'Page title' ) }
84
81
  onChange={ setTitle }
85
82
  placeholder={ __( 'No title' ) }
@@ -5,6 +5,7 @@ import { DropdownMenu } from '@wordpress/components';
5
5
  import { useState } from '@wordpress/element';
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { plus, header, file } from '@wordpress/icons';
8
+ import { useSelect } from '@wordpress/data';
8
9
  import { privateApis as routerPrivateApis } from '@wordpress/router';
9
10
 
10
11
  /**
@@ -14,6 +15,7 @@ import CreatePatternModal from '../create-pattern-modal';
14
15
  import CreateTemplatePartModal from '../create-template-part-modal';
15
16
  import SidebarButton from '../sidebar-button';
16
17
  import { unlock } from '../../lock-unlock';
18
+ import { store as editSiteStore } from '../../store';
17
19
 
18
20
  const { useHistory } = unlock( routerPrivateApis );
19
21
 
@@ -22,6 +24,10 @@ export default function AddNewPattern() {
22
24
  const [ showPatternModal, setShowPatternModal ] = useState( false );
23
25
  const [ showTemplatePartModal, setShowTemplatePartModal ] =
24
26
  useState( false );
27
+ const isTemplatePartsMode = useSelect( ( select ) => {
28
+ const settings = select( editSiteStore ).getSettings();
29
+ return !! settings.supportsTemplatePartsMode;
30
+ }, [] );
25
31
 
26
32
  function handleCreatePattern( { pattern, categoryId } ) {
27
33
  setShowPatternModal( false );
@@ -55,7 +61,7 @@ export default function AddNewPattern() {
55
61
  <>
56
62
  <DropdownMenu
57
63
  controls={ [
58
- {
64
+ ! isTemplatePartsMode && {
59
65
  icon: header,
60
66
  onClick: () => setShowTemplatePartModal( true ),
61
67
  title: __( 'Create template part' ),
@@ -65,7 +71,7 @@ export default function AddNewPattern() {
65
71
  onClick: () => setShowPatternModal( true ),
66
72
  title: __( 'Create pattern' ),
67
73
  },
68
- ] }
74
+ ].filter( Boolean ) }
69
75
  toggleProps={ {
70
76
  as: SidebarButton,
71
77
  } }
@@ -63,6 +63,18 @@ const typeLabels = {
63
63
  wp_block: __( 'Pattern' ),
64
64
  };
65
65
 
66
+ // Prevent accidental removal of certain blocks, asking the user for
67
+ // confirmation.
68
+ const blockRemovalRules = {
69
+ 'core/query': __( 'Query Loop displays a list of posts or pages.' ),
70
+ 'core/post-content': __(
71
+ 'Post Content displays the content of a post or page.'
72
+ ),
73
+ 'core/post-template': __(
74
+ 'Post Template displays each post or page in a Query Loop.'
75
+ ),
76
+ };
77
+
66
78
  export default function Editor( { isLoading } ) {
67
79
  const {
68
80
  record: editedPost,
@@ -197,7 +209,9 @@ export default function Editor( { isLoading } ) {
197
209
  { showVisualEditor && editedPost && (
198
210
  <>
199
211
  <BlockEditor />
200
- <BlockRemovalWarningModal />
212
+ <BlockRemovalWarningModal
213
+ rules={ blockRemovalRules }
214
+ />
201
215
  </>
202
216
  ) }
203
217
  { editorMode === 'text' &&
@@ -21,11 +21,9 @@ function getRevisionLabel( revision ) {
21
21
 
22
22
  if ( 'unsaved' === revision?.id ) {
23
23
  return sprintf(
24
- /* translators: %(name)s author display name */
25
- __( 'Unsaved changes by %(name)s' ),
26
- {
27
- name: authorDisplayName,
28
- }
24
+ /* translators: %s author display name */
25
+ __( 'Unsaved changes by %s' ),
26
+ authorDisplayName
29
27
  );
30
28
  }
31
29
  const formattedDate = dateI18n(
@@ -35,20 +33,16 @@ function getRevisionLabel( revision ) {
35
33
 
36
34
  return revision?.isLatest
37
35
  ? sprintf(
38
- /* translators: %(name)s author display name, %(date)s: revision creation date */
39
- __( 'Changes saved by %(name)s on %(date)s (current)' ),
40
- {
41
- name: authorDisplayName,
42
- date: formattedDate,
43
- }
36
+ /* translators: %1$s author display name, %2$s: revision creation date */
37
+ __( 'Changes saved by %1$s on %2$s (current)' ),
38
+ authorDisplayName,
39
+ formattedDate
44
40
  )
45
41
  : sprintf(
46
- /* translators: %(name)s author display name, %(date)s: revision creation date */
47
- __( 'Changes saved by %(name)s on %(date)s' ),
48
- {
49
- name: authorDisplayName,
50
- date: formattedDate,
51
- }
42
+ /* translators: %1$s author display name, %2$s: revision creation date */
43
+ __( 'Changes saved by %1$s on %2$s' ),
44
+ authorDisplayName,
45
+ formattedDate
52
46
  );
53
47
  }
54
48
 
@@ -104,22 +98,14 @@ function RevisionsButtons( { userRevisions, selectedRevisionId, onChange } ) {
104
98
  <span className="edit-site-global-styles-screen-revisions__meta">
105
99
  { isUnsaved
106
100
  ? sprintf(
107
- /* translators: %(name)s author display name */
108
- __(
109
- 'Unsaved changes by %(name)s'
110
- ),
111
- {
112
- name: authorDisplayName,
113
- }
101
+ /* translators: %s author display name */
102
+ __( 'Unsaved changes by %s' ),
103
+ authorDisplayName
114
104
  )
115
105
  : sprintf(
116
- /* translators: %(name)s author display name */
117
- __(
118
- 'Changes saved by %(name)s'
119
- ),
120
- {
121
- name: authorDisplayName,
122
- }
106
+ /* translators: %s author display name */
107
+ __( 'Changes saved by %s' ),
108
+ authorDisplayName
123
109
  ) }
124
110
 
125
111
  <img
@@ -121,6 +121,8 @@ export default function Layout() {
121
121
  const [ fullResizer ] = useResizeObserver();
122
122
  const [ isResizing ] = useState( false );
123
123
  const isEditorLoading = useIsSiteEditorLoading();
124
+ const [ isResizableFrameOversized, setIsResizableFrameOversized ] =
125
+ useState( false );
124
126
 
125
127
  // This determines which animation variant should apply to the header.
126
128
  // There is also a `isDistractionFreeHovering` state that gets priority
@@ -218,20 +220,32 @@ export default function Layout() {
218
220
  edit: { x: 0 },
219
221
  } }
220
222
  ref={ hubRef }
223
+ isTransparent={ isResizableFrameOversized }
221
224
  className="edit-site-layout__hub"
222
225
  />
223
226
 
224
227
  <AnimatePresence initial={ false }>
225
228
  { isEditorPage && isEditing && (
226
229
  <NavigableRegion
230
+ key="header"
227
231
  className="edit-site-layout__header"
228
232
  ariaLabel={ __( 'Editor top bar' ) }
229
233
  as={ motion.div }
230
234
  variants={ {
231
- isDistractionFree: { opacity: 0 },
232
- isDistractionFreeHovering: { opacity: 1 },
233
- view: { opacity: 1 },
234
- edit: { opacity: 1 },
235
+ isDistractionFree: { opacity: 0, y: 0 },
236
+ isDistractionFreeHovering: {
237
+ opacity: 1,
238
+ y: 0,
239
+ },
240
+ view: { opacity: 1, y: '-100%' },
241
+ edit: { opacity: 1, y: 0 },
242
+ } }
243
+ exit={ {
244
+ y: '-100%',
245
+ } }
246
+ initial={ {
247
+ opacity: isDistractionFree ? 1 : 0,
248
+ y: isDistractionFree ? 0 : '-100%',
235
249
  } }
236
250
  transition={ {
237
251
  type: 'tween',
@@ -239,51 +253,35 @@ export default function Layout() {
239
253
  ease: 'easeOut',
240
254
  } }
241
255
  >
242
- { isEditing && <Header /> }
256
+ <Header />
243
257
  </NavigableRegion>
244
258
  ) }
245
259
  </AnimatePresence>
246
260
  </motion.div>
247
261
 
248
262
  <div className="edit-site-layout__content">
249
- <AnimatePresence initial={ false }>
250
- {
251
- <motion.div
252
- initial={ {
253
- opacity: 0,
254
- } }
255
- animate={
256
- showSidebar
257
- ? { opacity: 1, display: 'block' }
258
- : {
259
- opacity: 0,
260
- transitionEnd: {
261
- display: 'none',
262
- },
263
- }
264
- }
265
- exit={ {
266
- opacity: 0,
267
- } }
268
- transition={ {
269
- type: 'tween',
270
- duration:
271
- // Disable transition in mobile to emulate a full page transition.
272
- disableMotion || isMobileViewport
273
- ? 0
274
- : ANIMATION_DURATION,
275
- ease: 'easeOut',
276
- } }
277
- className="edit-site-layout__sidebar"
278
- >
279
- <NavigableRegion
280
- ariaLabel={ __( 'Navigation' ) }
281
- >
282
- <Sidebar />
283
- </NavigableRegion>
284
- </motion.div>
285
- }
286
- </AnimatePresence>
263
+ <motion.div
264
+ // The sidebar is needed for routing on mobile
265
+ // (https://github.com/WordPress/gutenberg/pull/51558/files#r1231763003),
266
+ // so we can't remove the element entirely. Using `inert` will make
267
+ // it inaccessible to screen readers and keyboard navigation.
268
+ inert={ showSidebar ? undefined : 'inert' }
269
+ animate={ { opacity: showSidebar ? 1 : 0 } }
270
+ transition={ {
271
+ type: 'tween',
272
+ duration:
273
+ // Disable transition in mobile to emulate a full page transition.
274
+ disableMotion || isMobileViewport
275
+ ? 0
276
+ : ANIMATION_DURATION,
277
+ ease: 'easeOut',
278
+ } }
279
+ className="edit-site-layout__sidebar"
280
+ >
281
+ <NavigableRegion ariaLabel={ __( 'Navigation' ) }>
282
+ <Sidebar />
283
+ </NavigableRegion>
284
+ </motion.div>
287
285
 
288
286
  <SavePanel />
289
287
 
@@ -320,7 +318,13 @@ export default function Layout() {
320
318
  }
321
319
  initial={ false }
322
320
  layout="position"
323
- className="edit-site-layout__canvas"
321
+ className={ classnames(
322
+ 'edit-site-layout__canvas',
323
+ {
324
+ 'is-right-aligned':
325
+ isResizableFrameOversized,
326
+ }
327
+ ) }
324
328
  transition={ {
325
329
  type: 'tween',
326
330
  duration:
@@ -336,7 +340,12 @@ export default function Layout() {
336
340
  ! isEditorLoading
337
341
  }
338
342
  isFullWidth={ isEditing }
339
- oversizedClassName="edit-site-layout__resizable-frame-oversized"
343
+ isOversized={
344
+ isResizableFrameOversized
345
+ }
346
+ setIsOversized={
347
+ setIsResizableFrameOversized
348
+ }
340
349
  innerContentStyle={ {
341
350
  background:
342
351
  gradientValue ??
@@ -121,7 +121,7 @@
121
121
  justify-content: center;
122
122
  align-items: center;
123
123
 
124
- &:has(.edit-site-layout__resizable-frame-oversized) {
124
+ &.is-right-aligned {
125
125
  justify-content: flex-end;
126
126
  }
127
127
 
@@ -8,7 +8,7 @@ import { moreVertical } from '@wordpress/icons';
8
8
  /**
9
9
  * Internal dependencies
10
10
  */
11
- import DeletePageMenuItem from './delete-page-menu-item';
11
+ import TrashPageMenuItem from './trash-page-menu-item';
12
12
 
13
13
  export default function PageActions( {
14
14
  postId,
@@ -25,7 +25,7 @@ export default function PageActions( {
25
25
  >
26
26
  { () => (
27
27
  <MenuGroup>
28
- <DeletePageMenuItem
28
+ <TrashPageMenuItem
29
29
  postId={ postId }
30
30
  onRemove={ onRemove }
31
31
  />
@@ -3,17 +3,12 @@
3
3
  */
4
4
  import { useDispatch, useSelect } from '@wordpress/data';
5
5
  import { decodeEntities } from '@wordpress/html-entities';
6
- import { useState } from '@wordpress/element';
7
6
  import { store as coreStore } from '@wordpress/core-data';
8
7
  import { __, sprintf } from '@wordpress/i18n';
9
- import {
10
- MenuItem,
11
- __experimentalConfirmDialog as ConfirmDialog,
12
- } from '@wordpress/components';
8
+ import { MenuItem } from '@wordpress/components';
13
9
  import { store as noticesStore } from '@wordpress/notices';
14
10
 
15
- export default function DeletePageMenuItem( { postId, onRemove } ) {
16
- const [ isModalOpen, setIsModalOpen ] = useState( false );
11
+ export default function TrashPageMenuItem( { postId, onRemove } ) {
17
12
  const { createSuccessNotice, createErrorNotice } =
18
13
  useDispatch( noticesStore );
19
14
  const { deleteEntityRecord } = useDispatch( coreStore );
@@ -34,12 +29,12 @@ export default function DeletePageMenuItem( { postId, onRemove } ) {
34
29
  createSuccessNotice(
35
30
  sprintf(
36
31
  /* translators: The page's title. */
37
- __( '"%s" deleted.' ),
32
+ __( '"%s" moved to the Trash.' ),
38
33
  decodeEntities( page.title.rendered )
39
34
  ),
40
35
  {
41
36
  type: 'snackbar',
42
- id: 'edit-site-page-removed',
37
+ id: 'edit-site-page-trashed',
43
38
  }
44
39
  );
45
40
  onRemove?.();
@@ -47,25 +42,18 @@ export default function DeletePageMenuItem( { postId, onRemove } ) {
47
42
  const errorMessage =
48
43
  error.message && error.code !== 'unknown_error'
49
44
  ? error.message
50
- : __( 'An error occurred while deleting the page.' );
45
+ : __(
46
+ 'An error occurred while moving the page to the trash.'
47
+ );
51
48
 
52
49
  createErrorNotice( errorMessage, { type: 'snackbar' } );
53
- } finally {
54
- setIsModalOpen( false );
55
50
  }
56
51
  }
57
52
  return (
58
53
  <>
59
- <MenuItem onClick={ () => setIsModalOpen( true ) } isDestructive>
60
- { __( 'Delete' ) }
54
+ <MenuItem onClick={ () => removePage() } isDestructive>
55
+ { __( 'Move to Trash' ) }
61
56
  </MenuItem>
62
- <ConfirmDialog
63
- isOpen={ isModalOpen }
64
- onConfirm={ removePage }
65
- onCancel={ () => setIsModalOpen( false ) }
66
- >
67
- { __( 'Are you sure you want to delete this page?' ) }
68
- </ConfirmDialog>
69
57
  </>
70
58
  );
71
59
  }
@@ -174,7 +174,7 @@ function GridItem( { categoryId, item, ...props } ) {
174
174
  spacing={ 3 }
175
175
  className="edit-site-patterns__pattern-title"
176
176
  >
177
- { itemIcon && (
177
+ { itemIcon && ! isNonUserPattern && (
178
178
  <Tooltip
179
179
  position="top center"
180
180
  text={ __(
@@ -27,7 +27,7 @@ import usePatterns from './use-patterns';
27
27
  import SidebarButton from '../sidebar-button';
28
28
  import useDebouncedInput from '../../utils/use-debounced-input';
29
29
  import { unlock } from '../../lock-unlock';
30
- import { SYNC_TYPES, USER_PATTERN_CATEGORY } from './utils';
30
+ import { SYNC_TYPES, USER_PATTERN_CATEGORY, PATTERNS } from './utils';
31
31
 
32
32
  const { useLocation, useHistory } = unlock( routerPrivateApis );
33
33
 
@@ -57,11 +57,21 @@ export default function PatternsList( { categoryId, type } ) {
57
57
 
58
58
  const [ syncFilter, setSyncFilter ] = useState( 'all' );
59
59
  const deferredSyncedFilter = useDeferredValue( syncFilter );
60
- const { patterns, isResolving } = usePatterns( type, categoryId, {
61
- search: deferredFilterValue,
62
- syncStatus:
63
- deferredSyncedFilter === 'all' ? undefined : deferredSyncedFilter,
64
- } );
60
+
61
+ const isUncategorizedThemePatterns =
62
+ type === PATTERNS && categoryId === 'uncategorized';
63
+
64
+ const { patterns, isResolving } = usePatterns(
65
+ type,
66
+ isUncategorizedThemePatterns ? '' : categoryId,
67
+ {
68
+ search: deferredFilterValue,
69
+ syncStatus:
70
+ deferredSyncedFilter === 'all'
71
+ ? undefined
72
+ : deferredSyncedFilter,
73
+ }
74
+ );
65
75
 
66
76
  const id = useId();
67
77
  const titleId = `${ id }-title`;
@@ -86,6 +86,7 @@ const selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {
86
86
  ( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )
87
87
  )
88
88
  .filter( filterOutDuplicatesByName )
89
+ .filter( ( pattern ) => pattern.inserter !== false )
89
90
  .map( ( pattern ) => ( {
90
91
  ...pattern,
91
92
  keywords: pattern.keywords || [],
@@ -93,11 +94,17 @@ const selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {
93
94
  blocks: parse( pattern.content ),
94
95
  } ) );
95
96
 
96
- patterns = searchItems( patterns, search, {
97
- categoryId,
98
- hasCategory: ( item, currentCategory ) =>
99
- item.categories?.includes( currentCategory ),
100
- } );
97
+ if ( categoryId ) {
98
+ patterns = searchItems( patterns, search, {
99
+ categoryId,
100
+ hasCategory: ( item, currentCategory ) =>
101
+ item.categories?.includes( currentCategory ),
102
+ } );
103
+ } else {
104
+ patterns = searchItems( patterns, search, {
105
+ hasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),
106
+ } );
107
+ }
101
108
 
102
109
  return { patterns, isResolving: false };
103
110
  };
@@ -78,9 +78,10 @@ function calculateNewHeight( width, initialAspectRatio ) {
78
78
 
79
79
  function ResizableFrame( {
80
80
  isFullWidth,
81
+ isOversized,
82
+ setIsOversized,
81
83
  isReady,
82
84
  children,
83
- oversizedClassName,
84
85
  innerContentStyle,
85
86
  } ) {
86
87
  const [ frameSize, setFrameSize ] = useState( INITIAL_FRAME_SIZE );
@@ -88,7 +89,6 @@ function ResizableFrame( {
88
89
  const [ startingWidth, setStartingWidth ] = useState();
89
90
  const [ isResizing, setIsResizing ] = useState( false );
90
91
  const [ shouldShowHandle, setShouldShowHandle ] = useState( false );
91
- const [ isOversized, setIsOversized ] = useState( false );
92
92
  const [ resizeRatio, setResizeRatio ] = useState( 1 );
93
93
  const canvasMode = useSelect(
94
94
  ( select ) => unlock( select( editSiteStore ) ).getCanvasMode(),
@@ -314,7 +314,6 @@ function ResizableFrame( {
314
314
  onResizeStop={ handleResizeStop }
315
315
  className={ classnames( 'edit-site-resizable-frame__inner', {
316
316
  'is-resizing': isResizing,
317
- [ oversizedClassName ]: isOversized,
318
317
  } ) }
319
318
  >
320
319
  <motion.div
@@ -1,23 +1,6 @@
1
1
  .edit-site-resizable-frame__inner {
2
2
  position: relative;
3
3
 
4
- &.edit-site-layout__resizable-frame-oversized {
5
- @at-root {
6
- body:has(&) {
7
- .edit-site-site-hub {
8
- .edit-site-site-hub__site-title,
9
- .edit-site-site-hub_toggle-command-center {
10
- opacity: 0 !important;
11
- }
12
-
13
- .edit-site-site-hub__view-mode-toggle-container {
14
- background-color: transparent;
15
- }
16
- }
17
- }
18
- }
19
- }
20
-
21
4
  &.is-resizing {
22
5
  @at-root {
23
6
  body:has(&) {
@@ -212,13 +212,10 @@ export default function PageStatus( {
212
212
  } )
213
213
  }
214
214
  value={ password }
215
- /* eslint-disable jsx-a11y/no-autofocus */
216
- autoFocus={ ! password }
217
- /* eslint-enable jsx-a11y/no-autofocus */
218
215
  placeholder={ __(
219
- 'Enter a secure password'
216
+ 'Use a secure password'
220
217
  ) }
221
- type="password"
218
+ type="text"
222
219
  />
223
220
  ) }
224
221
  </BaseControl>