@wordpress/edit-site 6.2.0 → 6.3.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 (245) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/{add-new-page → add-new-post}/index.js +21 -17
  3. package/build/components/add-new-post/index.js.map +1 -0
  4. package/build/components/block-editor/use-site-editor-settings.js +5 -3
  5. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  6. package/build/components/editor/index.js +21 -3
  7. package/build/components/editor/index.js.map +1 -1
  8. package/build/components/global-styles/background-panel.js +0 -5
  9. package/build/components/global-styles/background-panel.js.map +1 -1
  10. package/build/components/global-styles/font-library-modal/font-collection.js +13 -30
  11. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  12. package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  13. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  14. package/build/components/global-styles/hooks.js +0 -40
  15. package/build/components/global-styles/hooks.js.map +1 -1
  16. package/build/components/global-styles/preview-typography.js +47 -0
  17. package/build/components/global-styles/preview-typography.js.map +1 -0
  18. package/build/components/global-styles/screen-block.js +14 -0
  19. package/build/components/global-styles/screen-block.js.map +1 -1
  20. package/build/components/global-styles/screen-layout.js +5 -1
  21. package/build/components/global-styles/screen-layout.js.map +1 -1
  22. package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  23. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  24. package/build/components/global-styles/shadows-edit-panel.js +1 -2
  25. package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
  26. package/build/components/global-styles/style-variations-container.js +5 -5
  27. package/build/components/global-styles/style-variations-container.js.map +1 -1
  28. package/build/components/global-styles/typography-elements.js +0 -2
  29. package/build/components/global-styles/typography-elements.js.map +1 -1
  30. package/build/components/global-styles/variations/variation.js +4 -4
  31. package/build/components/global-styles/variations/variation.js.map +1 -1
  32. package/build/components/global-styles/variations/variations-color.js +4 -3
  33. package/build/components/global-styles/variations/variations-color.js.map +1 -1
  34. package/build/components/global-styles/variations/variations-typography.js +14 -28
  35. package/build/components/global-styles/variations/variations-typography.js.map +1 -1
  36. package/build/components/global-styles-sidebar/index.js +2 -2
  37. package/build/components/global-styles-sidebar/index.js.map +1 -1
  38. package/build/components/layout/index.js +16 -8
  39. package/build/components/layout/index.js.map +1 -1
  40. package/build/components/layout/router.js +20 -41
  41. package/build/components/layout/router.js.map +1 -1
  42. package/build/components/page-patterns/index.js +43 -39
  43. package/build/components/page-patterns/index.js.map +1 -1
  44. package/build/components/page-patterns/search-items.js +29 -4
  45. package/build/components/page-patterns/search-items.js.map +1 -1
  46. package/build/components/page-patterns/use-patterns.js +22 -55
  47. package/build/components/page-patterns/use-patterns.js.map +1 -1
  48. package/build/components/page-templates/index.js +18 -19
  49. package/build/components/page-templates/index.js.map +1 -1
  50. package/build/components/pagination/index.js +4 -4
  51. package/build/components/pagination/index.js.map +1 -1
  52. package/build/components/posts-app/index.js +11 -17
  53. package/build/components/posts-app/index.js.map +1 -1
  54. package/build/components/{page-pages/index.js → posts-app/posts-list.js} +135 -40
  55. package/build/components/posts-app/posts-list.js.map +1 -0
  56. package/build/components/posts-app/router.js +85 -0
  57. package/build/components/posts-app/router.js.map +1 -0
  58. package/build/components/revisions/index.js +10 -7
  59. package/build/components/revisions/index.js.map +1 -1
  60. package/build/components/save-panel/index.js +1 -1
  61. package/build/components/save-panel/index.js.map +1 -1
  62. package/build/components/sidebar-dataviews/add-new-view.js +4 -1
  63. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  64. package/build/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
  65. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  66. package/build/components/sidebar-dataviews/default-views.js +98 -84
  67. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  68. package/build/components/sidebar-dataviews/index.js +4 -1
  69. package/build/components/sidebar-dataviews/index.js.map +1 -1
  70. package/build/components/sidebar-navigation-screen-global-styles/index.js +3 -3
  71. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  72. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
  73. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  74. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
  75. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  76. package/build/components/site-hub/index.js +81 -1
  77. package/build/components/site-hub/index.js.map +1 -1
  78. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
  79. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  80. package/build/hooks/push-changes-to-global-styles/index.js +1 -1
  81. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  82. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +65 -42
  83. package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  84. package/build/index.js +6 -0
  85. package/build/index.js.map +1 -1
  86. package/build/posts.js +57 -2
  87. package/build/posts.js.map +1 -1
  88. package/build/store/private-actions.js +7 -2
  89. package/build/store/private-actions.js.map +1 -1
  90. package/build-module/components/{add-new-page → add-new-post}/index.js +21 -17
  91. package/build-module/components/add-new-post/index.js.map +1 -0
  92. package/build-module/components/block-editor/use-site-editor-settings.js +5 -3
  93. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  94. package/build-module/components/editor/index.js +21 -3
  95. package/build-module/components/editor/index.js.map +1 -1
  96. package/build-module/components/global-styles/background-panel.js +0 -5
  97. package/build-module/components/global-styles/background-panel.js.map +1 -1
  98. package/build-module/components/global-styles/font-library-modal/font-collection.js +14 -31
  99. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  100. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  101. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  102. package/build-module/components/global-styles/hooks.js +0 -38
  103. package/build-module/components/global-styles/hooks.js.map +1 -1
  104. package/build-module/components/global-styles/preview-typography.js +39 -0
  105. package/build-module/components/global-styles/preview-typography.js.map +1 -0
  106. package/build-module/components/global-styles/screen-block.js +15 -0
  107. package/build-module/components/global-styles/screen-block.js.map +1 -1
  108. package/build-module/components/global-styles/screen-layout.js +5 -1
  109. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  110. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  111. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  112. package/build-module/components/global-styles/shadows-edit-panel.js +1 -2
  113. package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
  114. package/build-module/components/global-styles/style-variations-container.js +6 -6
  115. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  116. package/build-module/components/global-styles/typography-elements.js +0 -2
  117. package/build-module/components/global-styles/typography-elements.js.map +1 -1
  118. package/build-module/components/global-styles/variations/variation.js +5 -5
  119. package/build-module/components/global-styles/variations/variation.js.map +1 -1
  120. package/build-module/components/global-styles/variations/variations-color.js +4 -3
  121. package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
  122. package/build-module/components/global-styles/variations/variations-typography.js +16 -29
  123. package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
  124. package/build-module/components/global-styles-sidebar/index.js +2 -2
  125. package/build-module/components/global-styles-sidebar/index.js.map +1 -1
  126. package/build-module/components/layout/index.js +14 -8
  127. package/build-module/components/layout/index.js.map +1 -1
  128. package/build-module/components/layout/router.js +20 -41
  129. package/build-module/components/layout/router.js.map +1 -1
  130. package/build-module/components/page-patterns/index.js +44 -40
  131. package/build-module/components/page-patterns/index.js.map +1 -1
  132. package/build-module/components/page-patterns/search-items.js +28 -4
  133. package/build-module/components/page-patterns/search-items.js.map +1 -1
  134. package/build-module/components/page-patterns/use-patterns.js +23 -56
  135. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  136. package/build-module/components/page-templates/index.js +18 -19
  137. package/build-module/components/page-templates/index.js.map +1 -1
  138. package/build-module/components/pagination/index.js +4 -4
  139. package/build-module/components/pagination/index.js.map +1 -1
  140. package/build-module/components/posts-app/index.js +11 -17
  141. package/build-module/components/posts-app/index.js.map +1 -1
  142. package/build-module/components/{page-pages/index.js → posts-app/posts-list.js} +134 -39
  143. package/build-module/components/posts-app/posts-list.js.map +1 -0
  144. package/build-module/components/posts-app/router.js +77 -0
  145. package/build-module/components/posts-app/router.js.map +1 -0
  146. package/build-module/components/revisions/index.js +10 -7
  147. package/build-module/components/revisions/index.js.map +1 -1
  148. package/build-module/components/save-panel/index.js +1 -1
  149. package/build-module/components/save-panel/index.js.map +1 -1
  150. package/build-module/components/sidebar-dataviews/add-new-view.js +4 -1
  151. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  152. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
  153. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
  154. package/build-module/components/sidebar-dataviews/default-views.js +96 -83
  155. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  156. package/build-module/components/sidebar-dataviews/index.js +5 -2
  157. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  158. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +3 -3
  159. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  160. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -2
  161. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  162. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +3 -2
  163. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  164. package/build-module/components/site-hub/index.js +81 -1
  165. package/build-module/components/site-hub/index.js.map +1 -1
  166. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -1
  167. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  168. package/build-module/hooks/push-changes-to-global-styles/index.js +1 -1
  169. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  170. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +61 -38
  171. package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
  172. package/build-module/index.js +7 -2
  173. package/build-module/index.js.map +1 -1
  174. package/build-module/posts.js +57 -2
  175. package/build-module/posts.js.map +1 -1
  176. package/build-module/store/private-actions.js +7 -2
  177. package/build-module/store/private-actions.js.map +1 -1
  178. package/build-style/posts-rtl.css +108 -28
  179. package/build-style/posts.css +108 -28
  180. package/build-style/style-rtl.css +112 -144
  181. package/build-style/style.css +112 -144
  182. package/package.json +41 -41
  183. package/src/components/{add-new-page → add-new-post}/index.js +28 -22
  184. package/src/components/block-editor/use-site-editor-settings.js +33 -28
  185. package/src/components/editor/index.js +21 -5
  186. package/src/components/global-styles/background-panel.js +0 -8
  187. package/src/components/global-styles/font-library-modal/font-collection.js +17 -32
  188. package/src/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  189. package/src/components/global-styles/font-library-modal/style.scss +17 -10
  190. package/src/components/global-styles/hooks.js +0 -41
  191. package/src/components/global-styles/preview-typography.js +39 -0
  192. package/src/components/global-styles/screen-block.js +22 -0
  193. package/src/components/global-styles/screen-layout.js +5 -1
  194. package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
  195. package/src/components/global-styles/shadows-edit-panel.js +1 -2
  196. package/src/components/global-styles/style-variations-container.js +10 -7
  197. package/src/components/global-styles/typography-elements.js +0 -4
  198. package/src/components/global-styles/variations/variation.js +5 -5
  199. package/src/components/global-styles/variations/variations-color.js +5 -3
  200. package/src/components/global-styles/variations/variations-typography.js +15 -32
  201. package/src/components/global-styles-sidebar/index.js +2 -2
  202. package/src/components/layout/index.js +13 -4
  203. package/src/components/layout/router.js +20 -36
  204. package/src/components/layout/style.scss +12 -0
  205. package/src/components/page-patterns/index.js +47 -56
  206. package/src/components/page-patterns/search-items.js +37 -3
  207. package/src/components/page-patterns/style.scss +1 -8
  208. package/src/components/page-patterns/use-patterns.js +43 -82
  209. package/src/components/page-templates/index.js +17 -19
  210. package/src/components/page-templates/style.scss +1 -6
  211. package/src/components/pagination/index.js +4 -4
  212. package/src/components/posts-app/index.js +9 -11
  213. package/src/components/{page-pages/index.js → posts-app/posts-list.js} +126 -39
  214. package/src/components/posts-app/router.js +69 -0
  215. package/src/components/{page-pages → posts-app}/style.scss +22 -8
  216. package/src/components/revisions/index.js +9 -1
  217. package/src/components/save-panel/index.js +1 -1
  218. package/src/components/sidebar/style.scss +6 -0
  219. package/src/components/sidebar-dataviews/add-new-view.js +2 -1
  220. package/src/components/sidebar-dataviews/custom-dataviews-list.js +6 -2
  221. package/src/components/sidebar-dataviews/default-views.js +110 -97
  222. package/src/components/sidebar-dataviews/index.js +3 -3
  223. package/src/components/sidebar-navigation-screen-global-styles/index.js +7 -6
  224. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +2 -1
  225. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +10 -2
  226. package/src/components/site-hub/index.js +84 -1
  227. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +3 -2
  228. package/src/hooks/push-changes-to-global-styles/index.js +1 -1
  229. package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +28 -24
  230. package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +72 -47
  231. package/src/index.js +8 -1
  232. package/src/posts.js +63 -2
  233. package/src/posts.scss +9 -0
  234. package/src/store/private-actions.js +7 -3
  235. package/src/style.scss +1 -2
  236. package/build/components/add-new-page/index.js.map +0 -1
  237. package/build/components/page-pages/index.js.map +0 -1
  238. package/build/components/table/index.js +0 -35
  239. package/build/components/table/index.js.map +0 -1
  240. package/build-module/components/add-new-page/index.js.map +0 -1
  241. package/build-module/components/page-pages/index.js.map +0 -1
  242. package/build-module/components/table/index.js +0 -30
  243. package/build-module/components/table/index.js.map +0 -1
  244. package/src/components/table/index.js +0 -33
  245. package/src/components/table/style.scss +0 -38
@@ -5,7 +5,6 @@ import { parse } from '@wordpress/blocks';
5
5
  import { useSelect, createSelector } from '@wordpress/data';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
7
  import { store as editorStore } from '@wordpress/editor';
8
- import { decodeEntities } from '@wordpress/html-entities';
9
8
 
10
9
  /**
11
10
  * Internal dependencies
@@ -16,7 +15,6 @@ import {
16
15
  PATTERN_TYPES,
17
16
  PATTERN_SYNC_TYPES,
18
17
  TEMPLATE_PART_POST_TYPE,
19
- TEMPLATE_ORIGINS,
20
18
  TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
21
19
  } from '../../utils/constants';
22
20
  import { unlock } from '../../lock-unlock';
@@ -25,38 +23,16 @@ import { store as editSiteStore } from '../../store';
25
23
 
26
24
  const EMPTY_PATTERN_LIST = [];
27
25
 
28
- const createTemplatePartId = ( theme, slug ) =>
29
- theme && slug ? theme + '//' + slug : null;
30
-
31
- const templatePartToPattern = ( templatePart ) => ( {
32
- blocks: parse( templatePart.content.raw, {
33
- __unstableSkipMigrationLogs: true,
34
- } ),
35
- categories: [ templatePart.area ],
36
- description: templatePart.description || '',
37
- isCustom: templatePart.source === TEMPLATE_ORIGINS.custom,
38
- keywords: templatePart.keywords || [],
39
- id: createTemplatePartId( templatePart.theme, templatePart.slug ),
40
- name: createTemplatePartId( templatePart.theme, templatePart.slug ),
41
- title: decodeEntities( templatePart.title.rendered ),
42
- type: templatePart.type,
43
- _links: templatePart._links,
44
- templatePart,
45
- } );
46
-
47
- const selectTemplatePartsAsPatterns = createSelector(
26
+ const selectTemplateParts = createSelector(
48
27
  ( select, categoryId, search = '' ) => {
49
28
  const { getEntityRecords, isResolving: isResolvingSelector } =
50
29
  select( coreStore );
51
30
  const { __experimentalGetDefaultTemplatePartAreas } =
52
31
  select( editorStore );
53
32
  const query = { per_page: -1 };
54
- const rawTemplateParts =
33
+ const templateParts =
55
34
  getEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??
56
35
  EMPTY_PATTERN_LIST;
57
- const templateParts = rawTemplateParts.map( ( templatePart ) =>
58
- templatePartToPattern( templatePart )
59
- );
60
36
 
61
37
  // In the case where a custom template part area has been removed we need
62
38
  // the current list of areas to cross check against so orphaned template
@@ -66,12 +42,12 @@ const selectTemplatePartsAsPatterns = createSelector(
66
42
 
67
43
  const templatePartHasCategory = ( item, category ) => {
68
44
  if ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {
69
- return item.templatePart.area === category;
45
+ return item.area === category;
70
46
  }
71
47
 
72
48
  return (
73
- item.templatePart.area === category ||
74
- ! templatePartAreas.includes( item.templatePart.area )
49
+ item.area === category ||
50
+ ! templatePartAreas.includes( item.area )
75
51
  );
76
52
  };
77
53
 
@@ -152,8 +128,11 @@ const selectPatterns = createSelector(
152
128
  patterns: themePatterns,
153
129
  isResolving: isResolvingThemePatterns,
154
130
  } = selectThemePatterns( select );
155
- const { patterns: userPatterns, isResolving: isResolvingUserPatterns } =
156
- selectUserPatterns( select );
131
+ const {
132
+ patterns: userPatterns,
133
+ isResolving: isResolvingUserPatterns,
134
+ categories: userPatternCategories,
135
+ } = selectUserPatterns( select );
157
136
 
158
137
  let patterns = [
159
138
  ...( themePatterns || [] ),
@@ -165,7 +144,8 @@ const selectPatterns = createSelector(
165
144
  // Non-user patterns are all unsynced for the time being.
166
145
  patterns = patterns.filter( ( pattern ) => {
167
146
  return pattern.type === PATTERN_TYPES.user
168
- ? pattern.syncStatus === syncStatus
147
+ ? ( pattern.wp_pattern_sync_status ||
148
+ PATTERN_SYNC_TYPES.full ) === syncStatus
169
149
  : syncStatus === PATTERN_SYNC_TYPES.unsynced;
170
150
  } );
171
151
  }
@@ -173,12 +153,35 @@ const selectPatterns = createSelector(
173
153
  if ( categoryId ) {
174
154
  patterns = searchItems( patterns, search, {
175
155
  categoryId,
176
- hasCategory: ( item, currentCategory ) =>
177
- item.categories?.includes( currentCategory ),
156
+ hasCategory: ( item, currentCategory ) => {
157
+ if ( item.type === PATTERN_TYPES.user ) {
158
+ return item.wp_pattern_category.some(
159
+ ( catId ) =>
160
+ userPatternCategories.find(
161
+ ( cat ) => cat.id === catId
162
+ )?.slug === currentCategory
163
+ );
164
+ }
165
+ return item.categories?.includes( currentCategory );
166
+ },
178
167
  } );
179
168
  } else {
180
169
  patterns = searchItems( patterns, search, {
181
- hasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),
170
+ hasCategory: ( item ) => {
171
+ if ( item.type === PATTERN_TYPES.user ) {
172
+ return (
173
+ userPatternCategories?.length &&
174
+ ( ! item.wp_pattern_category?.length ||
175
+ ! item.wp_pattern_category.some( ( catId ) =>
176
+ userPatternCategories.find(
177
+ ( cat ) => cat.id === catId
178
+ )
179
+ ) )
180
+ );
181
+ }
182
+
183
+ return ! item.hasOwnProperty( 'categories' );
184
+ },
182
185
  } );
183
186
  }
184
187
  return {
@@ -192,41 +195,6 @@ const selectPatterns = createSelector(
192
195
  ]
193
196
  );
194
197
 
195
- /**
196
- * Converts a post of type `wp_block` to a 'pattern item' that more closely
197
- * matches the structure of theme provided patterns.
198
- *
199
- * @param {Object} patternPost The `wp_block` record being normalized.
200
- * @param {Map} categories A Map of user created categories.
201
- *
202
- * @return {Object} The normalized item.
203
- */
204
- const convertPatternPostToItem = ( patternPost, categories ) => ( {
205
- blocks: parse( patternPost.content.raw, {
206
- __unstableSkipMigrationLogs: true,
207
- } ),
208
- ...( patternPost.wp_pattern_category.length > 0 && {
209
- categories: patternPost.wp_pattern_category.map(
210
- ( patternCategoryId ) =>
211
- categories && categories.get( patternCategoryId )
212
- ? categories.get( patternCategoryId ).slug
213
- : patternCategoryId
214
- ),
215
- } ),
216
- termLabels: patternPost.wp_pattern_category.map( ( patternCategoryId ) =>
217
- categories?.get( patternCategoryId )
218
- ? categories.get( patternCategoryId ).label
219
- : patternCategoryId
220
- ),
221
- id: patternPost.id,
222
- name: patternPost.slug,
223
- syncStatus: patternPost.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,
224
- title: patternPost.title.raw,
225
- type: patternPost.type,
226
- description: patternPost.excerpt.raw,
227
- patternPost,
228
- } );
229
-
230
198
  const selectUserPatterns = createSelector(
231
199
  ( select, syncStatus, search = '' ) => {
232
200
  const {
@@ -246,12 +214,7 @@ const selectUserPatterns = createSelector(
246
214
  userPatternCategories.forEach( ( userCategory ) =>
247
215
  categories.set( userCategory.id, userCategory )
248
216
  );
249
- let patterns = patternPosts
250
- ? patternPosts.map( ( record ) =>
251
- convertPatternPostToItem( record, categories )
252
- )
253
- : EMPTY_PATTERN_LIST;
254
-
217
+ let patterns = patternPosts ?? EMPTY_PATTERN_LIST;
255
218
  const isResolving = isResolvingSelector( 'getEntityRecords', [
256
219
  'postType',
257
220
  PATTERN_TYPES.user,
@@ -260,7 +223,9 @@ const selectUserPatterns = createSelector(
260
223
 
261
224
  if ( syncStatus ) {
262
225
  patterns = patterns.filter(
263
- ( pattern ) => pattern.syncStatus === syncStatus
226
+ ( pattern ) =>
227
+ pattern.wp_pattern_sync_status ||
228
+ PATTERN_SYNC_TYPES.full === syncStatus
264
229
  );
265
230
  }
266
231
 
@@ -298,11 +263,7 @@ export const usePatterns = (
298
263
  return useSelect(
299
264
  ( select ) => {
300
265
  if ( postType === TEMPLATE_PART_POST_TYPE ) {
301
- return selectTemplatePartsAsPatterns(
302
- select,
303
- categoryId,
304
- search
305
- );
266
+ return selectTemplateParts( select, categoryId, search );
306
267
  } else if ( postType === PATTERN_TYPES.user && !! categoryId ) {
307
268
  const appliedCategory =
308
269
  categoryId === 'uncategorized' ? '' : categoryId;
@@ -54,18 +54,24 @@ const { useHistory, useLocation } = unlock( routerPrivateApis );
54
54
 
55
55
  const EMPTY_ARRAY = [];
56
56
 
57
- const defaultConfigPerViewType = {
57
+ const defaultLayouts = {
58
58
  [ LAYOUT_TABLE ]: {
59
- primaryField: 'title',
59
+ layout: {
60
+ primaryField: 'title',
61
+ },
60
62
  },
61
63
  [ LAYOUT_GRID ]: {
62
- mediaField: 'preview',
63
- primaryField: 'title',
64
- columnFields: [ 'description' ],
64
+ layout: {
65
+ mediaField: 'preview',
66
+ primaryField: 'title',
67
+ columnFields: [ 'description' ],
68
+ },
65
69
  },
66
70
  [ LAYOUT_LIST ]: {
67
- primaryField: 'title',
68
- mediaField: 'preview',
71
+ layout: {
72
+ primaryField: 'title',
73
+ mediaField: 'preview',
74
+ },
69
75
  },
70
76
  };
71
77
 
@@ -78,10 +84,8 @@ const DEFAULT_VIEW = {
78
84
  field: 'title',
79
85
  direction: 'asc',
80
86
  },
81
- // All fields are visible by default, so it's
82
- // better to keep track of the hidden ones.
83
- hiddenFields: [ 'preview' ],
84
- layout: defaultConfigPerViewType[ LAYOUT_GRID ],
87
+ fields: [ 'title', 'description', 'author' ],
88
+ layout: defaultLayouts[ LAYOUT_GRID ].layout,
85
89
  filters: [],
86
90
  };
87
91
 
@@ -194,7 +198,7 @@ export default function PageTemplates() {
194
198
  return {
195
199
  ...DEFAULT_VIEW,
196
200
  type: usedType,
197
- layout: defaultConfigPerViewType[ usedType ],
201
+ layout: defaultLayouts[ usedType ].layout,
198
202
  filters:
199
203
  activeView !== 'all'
200
204
  ? [
@@ -338,13 +342,6 @@ export default function PageTemplates() {
338
342
  const onChangeView = useCallback(
339
343
  ( newView ) => {
340
344
  if ( newView.type !== view.type ) {
341
- newView = {
342
- ...newView,
343
- layout: {
344
- ...defaultConfigPerViewType[ newView.type ],
345
- },
346
- };
347
-
348
345
  history.push( {
349
346
  ...params,
350
347
  layout: newView.type,
@@ -373,6 +370,7 @@ export default function PageTemplates() {
373
370
  onSelectionChange={ onSelectionChange }
374
371
  selection={ selection }
375
372
  setSelection={ setSelection }
373
+ defaultLayouts={ defaultLayouts }
376
374
  />
377
375
  </Page>
378
376
  );
@@ -2,7 +2,6 @@
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  height: 100%;
5
- border-radius: 3px 3px 0 0;
6
5
 
7
6
  .page-templates-preview-field__button {
8
7
  box-shadow: none;
@@ -13,7 +12,7 @@
13
12
  cursor: pointer;
14
13
  overflow: hidden;
15
14
  height: 100%;
16
- border-radius: 3px;
15
+ border-radius: $grid-unit-05;
17
16
 
18
17
  &:focus-visible {
19
18
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
@@ -32,10 +31,6 @@
32
31
  .block-editor-block-preview__container {
33
32
  height: 100%;
34
33
  }
35
-
36
- .page-templates-preview-field__button {
37
- border-radius: 3px 3px 0 0;
38
- }
39
34
  }
40
35
 
41
36
  &.is-viewtype-table {
@@ -47,7 +47,7 @@ export default function Pagination( {
47
47
  <Button
48
48
  variant={ buttonVariant }
49
49
  onClick={ () => changePage( 1 ) }
50
- __experimentalIsFocusable
50
+ accessibleWhenDisabled
51
51
  disabled={ disabled || currentPage === 1 }
52
52
  label={ __( 'First page' ) }
53
53
  icon={ previous }
@@ -56,7 +56,7 @@ export default function Pagination( {
56
56
  <Button
57
57
  variant={ buttonVariant }
58
58
  onClick={ () => changePage( currentPage - 1 ) }
59
- __experimentalIsFocusable
59
+ accessibleWhenDisabled
60
60
  disabled={ disabled || currentPage === 1 }
61
61
  label={ __( 'Previous page' ) }
62
62
  icon={ chevronLeft }
@@ -75,7 +75,7 @@ export default function Pagination( {
75
75
  <Button
76
76
  variant={ buttonVariant }
77
77
  onClick={ () => changePage( currentPage + 1 ) }
78
- __experimentalIsFocusable
78
+ accessibleWhenDisabled
79
79
  disabled={ disabled || currentPage === numPages }
80
80
  label={ __( 'Next page' ) }
81
81
  icon={ chevronRight }
@@ -84,7 +84,7 @@ export default function Pagination( {
84
84
  <Button
85
85
  variant={ buttonVariant }
86
86
  onClick={ () => changePage( numPages ) }
87
- __experimentalIsFocusable
87
+ accessibleWhenDisabled
88
88
  disabled={ disabled || currentPage === numPages }
89
89
  label={ __( 'Last page' ) }
90
90
  icon={ next }
@@ -10,29 +10,27 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
10
10
  /**
11
11
  * Internal dependencies
12
12
  */
13
+ import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
13
14
  import Layout from '../layout';
14
- import Page from '../page';
15
+ import useLayoutAreas from './router';
15
16
  import { unlock } from '../../lock-unlock';
16
17
 
17
18
  const { RouterProvider } = unlock( routerPrivateApis );
18
19
  const { GlobalStylesProvider } = unlock( editorPrivateApis );
19
20
 
20
- const defaultRoute = {
21
- key: 'index',
22
- areas: {
23
- sidebar: 'Empty Sidebar',
24
- content: <Page>Welcome to Posts</Page>,
25
- preview: undefined,
26
- mobile: <Page>Welcome to Posts</Page>,
27
- },
28
- };
21
+ function PostsLayout() {
22
+ // This ensures the edited entity id and type are initialized properly.
23
+ useInitEditedEntityFromURL();
24
+ const route = useLayoutAreas();
25
+ return <Layout route={ route } />;
26
+ }
29
27
 
30
28
  export default function PostsApp() {
31
29
  return (
32
30
  <GlobalStylesProvider>
33
31
  <UnsavedChangesWarning />
34
32
  <RouterProvider>
35
- <Layout route={ defaultRoute } />
33
+ <PostsLayout />
36
34
  </RouterProvider>
37
35
  </GlobalStylesProvider>
38
36
  );