@wordpress/edit-site 5.20.1 → 5.21.1-next.f8d8eceb.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 (260) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +121 -0
  3. package/build/components/actions/index.js.map +1 -0
  4. package/build/components/add-new-template/add-custom-template-modal-content.js +17 -13
  5. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  6. package/build/components/block-editor/resize-handle.js +2 -1
  7. package/build/components/block-editor/resize-handle.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +12 -4
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/create-template-part-modal/index.js +10 -6
  11. package/build/components/create-template-part-modal/index.js.map +1 -1
  12. package/build/components/dataviews/context.js +15 -0
  13. package/build/components/dataviews/context.js.map +1 -0
  14. package/build/components/dataviews/dataviews.js +50 -33
  15. package/build/components/dataviews/dataviews.js.map +1 -1
  16. package/build/components/dataviews/filters.js +74 -0
  17. package/build/components/dataviews/filters.js.map +1 -0
  18. package/build/components/dataviews/in-filter.js +49 -0
  19. package/build/components/dataviews/in-filter.js.map +1 -0
  20. package/build/components/dataviews/index.js +0 -7
  21. package/build/components/dataviews/index.js.map +1 -1
  22. package/build/components/dataviews/item-actions.js +62 -0
  23. package/build/components/dataviews/item-actions.js.map +1 -0
  24. package/build/components/dataviews/pagination.js +74 -45
  25. package/build/components/dataviews/pagination.js.map +1 -1
  26. package/build/components/dataviews/{text-filter.js → search.js} +21 -15
  27. package/build/components/dataviews/search.js.map +1 -0
  28. package/build/components/dataviews/view-actions.js +94 -56
  29. package/build/components/dataviews/view-actions.js.map +1 -1
  30. package/build/components/dataviews/view-grid.js +59 -0
  31. package/build/components/dataviews/view-grid.js.map +1 -0
  32. package/build/components/dataviews/view-list.js +283 -0
  33. package/build/components/dataviews/view-list.js.map +1 -0
  34. package/build/components/editor/index.js +2 -1
  35. package/build/components/editor/index.js.map +1 -1
  36. package/build/components/global-styles/font-library-modal/context.js +16 -10
  37. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  38. package/build/components/global-styles/font-library-modal/font-collection.js +20 -6
  39. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  40. package/build/components/global-styles/screen-block.js +2 -10
  41. package/build/components/global-styles/screen-block.js.map +1 -1
  42. package/build/components/global-styles/screen-root.js +1 -2
  43. package/build/components/global-styles/screen-root.js.map +1 -1
  44. package/build/components/global-styles/ui.js +3 -4
  45. package/build/components/global-styles/ui.js.map +1 -1
  46. package/build/components/layout/index.js +10 -2
  47. package/build/components/layout/index.js.map +1 -1
  48. package/build/components/media/index.js +34 -0
  49. package/build/components/media/index.js.map +1 -0
  50. package/build/components/page-actions/index.js +0 -2
  51. package/build/components/page-actions/index.js.map +1 -1
  52. package/build/components/page-pages/default-views.js +60 -0
  53. package/build/components/page-pages/default-views.js.map +1 -0
  54. package/build/components/page-pages/index.js +174 -107
  55. package/build/components/page-pages/index.js.map +1 -1
  56. package/build/components/page-patterns/delete-category-menu-item.js +89 -0
  57. package/build/components/page-patterns/delete-category-menu-item.js.map +1 -0
  58. package/build/components/page-patterns/duplicate-menu-item.js +52 -131
  59. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  60. package/build/components/page-patterns/grid-item.js +1 -0
  61. package/build/components/page-patterns/grid-item.js.map +1 -1
  62. package/build/components/page-patterns/header.js +25 -3
  63. package/build/components/page-patterns/header.js.map +1 -1
  64. package/build/components/page-patterns/rename-category-menu-item.js +49 -0
  65. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -0
  66. package/build/components/page-patterns/rename-menu-item.js +1 -1
  67. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -0
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/pattern-modal/duplicate.js +65 -0
  71. package/build/components/pattern-modal/duplicate.js.map +1 -0
  72. package/build/components/pattern-modal/index.js +24 -0
  73. package/build/components/pattern-modal/index.js.map +1 -0
  74. package/build/components/pattern-modal/rename.js +42 -0
  75. package/build/components/pattern-modal/rename.js.map +1 -0
  76. package/build/components/sidebar/index.js +3 -1
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/index.js +72 -0
  79. package/build/components/sidebar-dataviews/index.js.map +1 -0
  80. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  81. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  83. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  85. package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
  87. package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  88. package/build/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  89. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  90. package/build/hooks/commands/use-common-commands.js +1 -2
  91. package/build/hooks/commands/use-common-commands.js.map +1 -1
  92. package/build/hooks/commands/use-edit-mode-commands.js +50 -0
  93. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  94. package/build/lock-unlock.js +1 -1
  95. package/build/lock-unlock.js.map +1 -1
  96. package/build/store/selectors.js +4 -5
  97. package/build/store/selectors.js.map +1 -1
  98. package/build-module/components/actions/index.js +108 -0
  99. package/build-module/components/actions/index.js.map +1 -0
  100. package/build-module/components/add-new-template/add-custom-template-modal-content.js +16 -12
  101. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  102. package/build-module/components/block-editor/resize-handle.js +2 -1
  103. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  104. package/build-module/components/block-editor/use-site-editor-settings.js +12 -4
  105. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  106. package/build-module/components/create-template-part-modal/index.js +10 -6
  107. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  108. package/build-module/components/dataviews/context.js +7 -0
  109. package/build-module/components/dataviews/context.js.map +1 -0
  110. package/build-module/components/dataviews/dataviews.js +49 -32
  111. package/build-module/components/dataviews/dataviews.js.map +1 -1
  112. package/build-module/components/dataviews/filters.js +66 -0
  113. package/build-module/components/dataviews/filters.js.map +1 -0
  114. package/build-module/components/dataviews/in-filter.js +41 -0
  115. package/build-module/components/dataviews/in-filter.js.map +1 -0
  116. package/build-module/components/dataviews/index.js +0 -1
  117. package/build-module/components/dataviews/index.js.map +1 -1
  118. package/build-module/components/dataviews/item-actions.js +55 -0
  119. package/build-module/components/dataviews/item-actions.js.map +1 -0
  120. package/build-module/components/dataviews/pagination.js +73 -46
  121. package/build-module/components/dataviews/pagination.js.map +1 -1
  122. package/build-module/components/dataviews/search.js +42 -0
  123. package/build-module/components/dataviews/search.js.map +1 -0
  124. package/build-module/components/dataviews/view-actions.js +95 -54
  125. package/build-module/components/dataviews/view-actions.js.map +1 -1
  126. package/build-module/components/dataviews/view-grid.js +51 -0
  127. package/build-module/components/dataviews/view-grid.js.map +1 -0
  128. package/build-module/components/dataviews/view-list.js +274 -0
  129. package/build-module/components/dataviews/view-list.js.map +1 -0
  130. package/build-module/components/editor/index.js +2 -1
  131. package/build-module/components/editor/index.js.map +1 -1
  132. package/build-module/components/global-styles/font-library-modal/context.js +16 -10
  133. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  134. package/build-module/components/global-styles/font-library-modal/font-collection.js +20 -6
  135. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  136. package/build-module/components/global-styles/screen-block.js +2 -10
  137. package/build-module/components/global-styles/screen-block.js.map +1 -1
  138. package/build-module/components/global-styles/screen-root.js +1 -2
  139. package/build-module/components/global-styles/screen-root.js.map +1 -1
  140. package/build-module/components/global-styles/ui.js +3 -4
  141. package/build-module/components/global-styles/ui.js.map +1 -1
  142. package/build-module/components/layout/index.js +11 -3
  143. package/build-module/components/layout/index.js.map +1 -1
  144. package/build-module/components/media/index.js +26 -0
  145. package/build-module/components/media/index.js.map +1 -0
  146. package/build-module/components/page-actions/index.js +0 -2
  147. package/build-module/components/page-actions/index.js.map +1 -1
  148. package/build-module/components/page-pages/default-views.js +53 -0
  149. package/build-module/components/page-pages/default-views.js.map +1 -0
  150. package/build-module/components/page-pages/index.js +175 -110
  151. package/build-module/components/page-pages/index.js.map +1 -1
  152. package/build-module/components/page-patterns/delete-category-menu-item.js +82 -0
  153. package/build-module/components/page-patterns/delete-category-menu-item.js.map +1 -0
  154. package/build-module/components/page-patterns/duplicate-menu-item.js +54 -133
  155. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  156. package/build-module/components/page-patterns/grid-item.js +1 -0
  157. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  158. package/build-module/components/page-patterns/header.js +26 -4
  159. package/build-module/components/page-patterns/header.js.map +1 -1
  160. package/build-module/components/page-patterns/rename-category-menu-item.js +42 -0
  161. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -0
  162. package/build-module/components/page-patterns/rename-menu-item.js +1 -1
  163. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  164. package/build-module/components/page-patterns/use-patterns.js +1 -0
  165. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  166. package/build-module/components/pattern-modal/duplicate.js +57 -0
  167. package/build-module/components/pattern-modal/duplicate.js.map +1 -0
  168. package/build-module/components/pattern-modal/index.js +14 -0
  169. package/build-module/components/pattern-modal/index.js.map +1 -0
  170. package/build-module/components/pattern-modal/rename.js +34 -0
  171. package/build-module/components/pattern-modal/rename.js.map +1 -0
  172. package/build-module/components/sidebar/index.js +3 -1
  173. package/build-module/components/sidebar/index.js.map +1 -1
  174. package/build-module/components/sidebar-dataviews/index.js +64 -0
  175. package/build-module/components/sidebar-dataviews/index.js.map +1 -0
  176. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +3 -0
  177. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
  178. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -2
  179. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
  180. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -3
  181. package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
  182. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
  183. package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
  184. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +12 -1
  185. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  186. package/build-module/hooks/commands/use-common-commands.js +1 -2
  187. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  188. package/build-module/hooks/commands/use-edit-mode-commands.js +51 -1
  189. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  190. package/build-module/lock-unlock.js +1 -1
  191. package/build-module/lock-unlock.js.map +1 -1
  192. package/build-module/store/selectors.js +4 -5
  193. package/build-module/store/selectors.js.map +1 -1
  194. package/build-style/style-rtl.css +48 -11
  195. package/build-style/style.css +48 -11
  196. package/package.json +40 -40
  197. package/src/components/actions/index.js +123 -0
  198. package/src/components/add-new-template/add-custom-template-modal-content.js +22 -17
  199. package/src/components/block-editor/resize-handle.js +1 -0
  200. package/src/components/block-editor/use-site-editor-settings.js +21 -13
  201. package/src/components/create-template-part-modal/index.js +9 -5
  202. package/src/components/dataviews/README.md +194 -0
  203. package/src/components/dataviews/context.js +7 -0
  204. package/src/components/dataviews/dataviews.js +55 -34
  205. package/src/components/dataviews/filters.js +75 -0
  206. package/src/components/dataviews/in-filter.js +45 -0
  207. package/src/components/dataviews/index.js +0 -1
  208. package/src/components/dataviews/item-actions.js +69 -0
  209. package/src/components/dataviews/pagination.js +80 -59
  210. package/src/components/dataviews/search.js +41 -0
  211. package/src/components/dataviews/style.scss +18 -3
  212. package/src/components/dataviews/view-actions.js +108 -63
  213. package/src/components/dataviews/view-grid.js +65 -0
  214. package/src/components/dataviews/view-list.js +348 -0
  215. package/src/components/editor/index.js +2 -0
  216. package/src/components/global-styles/font-library-modal/context.js +17 -11
  217. package/src/components/global-styles/font-library-modal/font-collection.js +19 -11
  218. package/src/components/global-styles/screen-block.js +2 -9
  219. package/src/components/global-styles/screen-root.js +1 -2
  220. package/src/components/global-styles/style.scss +16 -4
  221. package/src/components/global-styles/ui.js +1 -2
  222. package/src/components/layout/index.js +12 -4
  223. package/src/components/media/index.js +25 -0
  224. package/src/components/page-actions/index.js +1 -7
  225. package/src/components/page-pages/default-views.js +58 -0
  226. package/src/components/page-pages/index.js +181 -108
  227. package/src/components/page-pages/style.scss +3 -0
  228. package/src/components/page-patterns/delete-category-menu-item.js +104 -0
  229. package/src/components/page-patterns/duplicate-menu-item.js +68 -181
  230. package/src/components/page-patterns/grid-item.js +1 -0
  231. package/src/components/page-patterns/header.js +42 -6
  232. package/src/components/page-patterns/rename-category-menu-item.js +45 -0
  233. package/src/components/page-patterns/rename-menu-item.js +2 -2
  234. package/src/components/page-patterns/style.scss +8 -0
  235. package/src/components/page-patterns/use-patterns.js +5 -0
  236. package/src/components/pattern-modal/duplicate.js +53 -0
  237. package/src/components/pattern-modal/index.js +19 -0
  238. package/src/components/pattern-modal/rename.js +29 -0
  239. package/src/components/sidebar/index.js +2 -0
  240. package/src/components/sidebar-dataviews/index.js +65 -0
  241. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +4 -0
  242. package/src/components/sidebar-navigation-screen/style.scss +17 -5
  243. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +2 -7
  244. package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -8
  245. package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
  246. package/src/components/sidebar-navigation-screen-template/home-template-details.js +21 -7
  247. package/src/hooks/commands/use-common-commands.js +1 -2
  248. package/src/hooks/commands/use-edit-mode-commands.js +43 -0
  249. package/src/lock-unlock.js +1 -1
  250. package/src/store/selectors.js +9 -10
  251. package/src/style.scss +1 -0
  252. package/build/components/dataviews/list-view.js +0 -89
  253. package/build/components/dataviews/list-view.js.map +0 -1
  254. package/build/components/dataviews/text-filter.js.map +0 -1
  255. package/build-module/components/dataviews/list-view.js +0 -80
  256. package/build-module/components/dataviews/list-view.js.map +0 -1
  257. package/build-module/components/dataviews/text-filter.js +0 -36
  258. package/build-module/components/dataviews/text-filter.js.map +0 -1
  259. package/src/components/dataviews/list-view.js +0 -106
  260. package/src/components/dataviews/text-filter.js +0 -37
@@ -1130,8 +1130,17 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
1130
1130
 
1131
1131
  .dataviews-wrapper {
1132
1132
  width: 100%;
1133
+ height: 100%;
1134
+ overflow: auto;
1133
1135
  padding: 32px;
1134
1136
  }
1137
+ .dataviews-wrapper > div {
1138
+ min-height: 100%;
1139
+ }
1140
+
1141
+ .dataviews-pagination {
1142
+ margin-top: auto;
1143
+ }
1135
1144
 
1136
1145
  .dataviews-list-view {
1137
1146
  width: 100%;
@@ -1161,9 +1170,14 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
1161
1170
  border-bottom: 1px solid #f0f0f0;
1162
1171
  }
1163
1172
 
1164
- .dataviews__per-page-control-prefix {
1165
- color: #757575;
1166
- text-wrap: nowrap;
1173
+ .dataviews-view-grid__media {
1174
+ width: 100%;
1175
+ min-height: 200px;
1176
+ }
1177
+ .dataviews-view-grid__media > * {
1178
+ max-width: 100%;
1179
+ -o-object-fit: cover;
1180
+ object-fit: cover;
1167
1181
  }
1168
1182
 
1169
1183
  .edit-site-global-styles-preview {
@@ -1250,20 +1264,27 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
1250
1264
 
1251
1265
  .edit-site-global-styles-variations_item {
1252
1266
  box-sizing: border-box;
1267
+ border-radius: 2px;
1253
1268
  }
1254
1269
  .edit-site-global-styles-variations_item .edit-site-global-styles-variations_item-preview {
1255
1270
  padding: 2px;
1256
1271
  border-radius: 2px;
1257
- border: #e0e0e0 1px solid;
1272
+ box-shadow: 0 0 0 1px #e0e0e0;
1273
+ outline: 1px solid transparent;
1258
1274
  }
1259
1275
  .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview {
1260
- border: #1e1e1e 1px solid;
1276
+ box-shadow: 0 0 0 1px #1e1e1e;
1277
+ outline-width: 3px;
1261
1278
  }
1262
1279
  .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview {
1263
- border: var(--wp-admin-theme-color) 1px solid;
1280
+ box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
1264
1281
  }
1265
1282
  .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview {
1266
- border: var(--wp-admin-theme-color) var(--wp-admin-border-width-focus) solid;
1283
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
1284
+ }
1285
+ .edit-site-global-styles-variations_item:focus-visible {
1286
+ outline: 3px solid transparent;
1287
+ outline-offset: 0;
1267
1288
  }
1268
1289
 
1269
1290
  .edit-site-global-styles-icon-with-current-color {
@@ -1961,6 +1982,10 @@ body.is-fullscreen-mode .edit-site-list-header {
1961
1982
  z-index: 1;
1962
1983
  }
1963
1984
 
1985
+ .edit-site-page-pages__featured-image {
1986
+ border-radius: 2px;
1987
+ }
1988
+
1964
1989
  .edit-site-patterns {
1965
1990
  border-left: 1px solid #2f2f2f;
1966
1991
  background: none;
@@ -2054,6 +2079,9 @@ body.is-fullscreen-mode .edit-site-list-header {
2054
2079
  padding: 32px 32px 16px;
2055
2080
  z-index: 2;
2056
2081
  }
2082
+ .edit-site-patterns__header .edit-site-patterns__button {
2083
+ color: #949494;
2084
+ }
2057
2085
 
2058
2086
  .edit-site-patterns__section {
2059
2087
  padding: 24px 32px;
@@ -2162,6 +2190,10 @@ body.is-fullscreen-mode .edit-site-list-header {
2162
2190
  color: #949494;
2163
2191
  }
2164
2192
 
2193
+ .edit-site-patterns__delete-modal {
2194
+ width: 384px;
2195
+ }
2196
+
2165
2197
  .edit-site-table-wrapper {
2166
2198
  width: 100%;
2167
2199
  padding: 32px;
@@ -3335,17 +3367,22 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
3335
3367
  flex-shrink: 0;
3336
3368
  }
3337
3369
 
3370
+ @media (min-width: 782px) {
3371
+ .edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container {
3372
+ max-width: 292px;
3373
+ }
3374
+ }
3338
3375
  .edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item-preview {
3339
- border: #1e1e1e 1px solid;
3376
+ box-shadow: 0 0 0 1px #1e1e1e;
3340
3377
  }
3341
3378
  .edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item.is-active .edit-site-global-styles-variations_item-preview {
3342
- border: #f0f0f0 1px solid;
3379
+ box-shadow: 0 0 0 1px #f0f0f0;
3343
3380
  }
3344
3381
  .edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:hover .edit-site-global-styles-variations_item-preview {
3345
- border: var(--wp-admin-theme-color) 1px solid;
3382
+ box-shadow: 0 0 0 1px var(--wp-admin-theme-color);
3346
3383
  }
3347
3384
  .edit-site-sidebar-navigation-screen__content .edit-site-global-styles-style-variations-container .edit-site-global-styles-variations_item:focus .edit-site-global-styles-variations_item-preview {
3348
- border: var(--wp-admin-theme-color) var(--wp-admin-border-width-focus) solid;
3385
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
3349
3386
  }
3350
3387
 
3351
3388
  .edit-site-sidebar-navigation-screen__footer {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.20.1",
3
+ "version": "5.21.1-next.f8d8eceb.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -28,44 +28,44 @@
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
30
  "@tanstack/react-table": "^8.10.3",
31
- "@wordpress/a11y": "^3.43.0",
32
- "@wordpress/api-fetch": "^6.40.0",
33
- "@wordpress/block-editor": "^12.11.1",
34
- "@wordpress/block-library": "^8.20.1",
35
- "@wordpress/blocks": "^12.20.1",
36
- "@wordpress/commands": "^0.14.1",
37
- "@wordpress/components": "^25.9.1",
38
- "@wordpress/compose": "^6.20.0",
39
- "@wordpress/core-commands": "^0.12.1",
40
- "@wordpress/core-data": "^6.20.1",
41
- "@wordpress/data": "^9.13.1",
42
- "@wordpress/date": "^4.43.0",
43
- "@wordpress/deprecated": "^3.43.0",
44
- "@wordpress/dom": "^3.43.0",
45
- "@wordpress/editor": "^13.20.1",
46
- "@wordpress/element": "^5.20.0",
47
- "@wordpress/escape-html": "^2.43.0",
48
- "@wordpress/hooks": "^3.43.0",
49
- "@wordpress/html-entities": "^3.43.0",
50
- "@wordpress/i18n": "^4.43.0",
51
- "@wordpress/icons": "^9.34.0",
52
- "@wordpress/interface": "^5.20.1",
53
- "@wordpress/keyboard-shortcuts": "^4.20.1",
54
- "@wordpress/keycodes": "^3.43.0",
55
- "@wordpress/media-utils": "^4.34.0",
56
- "@wordpress/notices": "^4.11.1",
57
- "@wordpress/patterns": "^1.4.1",
58
- "@wordpress/plugins": "^6.11.1",
59
- "@wordpress/preferences": "^3.20.1",
60
- "@wordpress/primitives": "^3.41.0",
61
- "@wordpress/private-apis": "^0.25.0",
62
- "@wordpress/reusable-blocks": "^4.20.1",
63
- "@wordpress/router": "^0.12.0",
64
- "@wordpress/style-engine": "^1.26.0",
65
- "@wordpress/url": "^3.44.0",
66
- "@wordpress/viewport": "^5.20.1",
67
- "@wordpress/widgets": "^3.20.1",
68
- "@wordpress/wordcount": "^3.43.0",
31
+ "@wordpress/a11y": "^3.44.1-next.f8d8eceb.0",
32
+ "@wordpress/api-fetch": "^6.41.1-next.f8d8eceb.0",
33
+ "@wordpress/block-editor": "^12.12.2-next.f8d8eceb.0",
34
+ "@wordpress/block-library": "^8.21.1-next.f8d8eceb.0",
35
+ "@wordpress/blocks": "^12.21.1-next.f8d8eceb.0",
36
+ "@wordpress/commands": "^0.15.1-next.f8d8eceb.0",
37
+ "@wordpress/components": "^25.11.1-next.f8d8eceb.0",
38
+ "@wordpress/compose": "^6.21.1-next.f8d8eceb.0",
39
+ "@wordpress/core-commands": "^0.13.1-next.f8d8eceb.0",
40
+ "@wordpress/core-data": "^6.21.1-next.f8d8eceb.0",
41
+ "@wordpress/data": "^9.14.1-next.f8d8eceb.0",
42
+ "@wordpress/date": "^4.44.1-next.f8d8eceb.0",
43
+ "@wordpress/deprecated": "^3.44.1-next.f8d8eceb.0",
44
+ "@wordpress/dom": "^3.44.1-next.f8d8eceb.0",
45
+ "@wordpress/editor": "^13.21.1-next.f8d8eceb.0",
46
+ "@wordpress/element": "^5.21.1-next.f8d8eceb.0",
47
+ "@wordpress/escape-html": "^2.44.1-next.f8d8eceb.0",
48
+ "@wordpress/hooks": "^3.44.1-next.f8d8eceb.0",
49
+ "@wordpress/html-entities": "^3.44.1-next.f8d8eceb.0",
50
+ "@wordpress/i18n": "^4.44.1-next.f8d8eceb.0",
51
+ "@wordpress/icons": "^9.35.1-next.f8d8eceb.0",
52
+ "@wordpress/interface": "^5.21.1-next.f8d8eceb.0",
53
+ "@wordpress/keyboard-shortcuts": "^4.21.1-next.f8d8eceb.0",
54
+ "@wordpress/keycodes": "^3.44.1-next.f8d8eceb.0",
55
+ "@wordpress/media-utils": "^4.35.1-next.f8d8eceb.0",
56
+ "@wordpress/notices": "^4.12.1-next.f8d8eceb.0",
57
+ "@wordpress/patterns": "^1.5.1-next.f8d8eceb.0",
58
+ "@wordpress/plugins": "^6.12.1-next.f8d8eceb.0",
59
+ "@wordpress/preferences": "^3.21.1-next.f8d8eceb.0",
60
+ "@wordpress/primitives": "^3.42.1-next.f8d8eceb.0",
61
+ "@wordpress/private-apis": "^0.26.1-next.f8d8eceb.0",
62
+ "@wordpress/reusable-blocks": "^4.21.1-next.f8d8eceb.0",
63
+ "@wordpress/router": "^0.13.1-next.f8d8eceb.0",
64
+ "@wordpress/style-engine": "^1.27.1-next.f8d8eceb.0",
65
+ "@wordpress/url": "^3.45.1-next.f8d8eceb.0",
66
+ "@wordpress/viewport": "^5.21.1-next.f8d8eceb.0",
67
+ "@wordpress/widgets": "^3.21.1-next.f8d8eceb.0",
68
+ "@wordpress/wordcount": "^3.44.1-next.f8d8eceb.0",
69
69
  "change-case": "^4.1.2",
70
70
  "classnames": "^2.3.1",
71
71
  "colord": "^2.9.2",
@@ -85,5 +85,5 @@
85
85
  "publishConfig": {
86
86
  "access": "public"
87
87
  },
88
- "gitHead": "e17f760ed0dc11cce78157d7c2f2086b1b3c09d8"
88
+ "gitHead": "8d8fd197e202b8104ffb1cb83048efd0a6c3faf4"
89
89
  }
@@ -0,0 +1,123 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { external, trash } from '@wordpress/icons';
5
+ import { addQueryArgs } from '@wordpress/url';
6
+ import { useDispatch } from '@wordpress/data';
7
+ import { decodeEntities } from '@wordpress/html-entities';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { __, sprintf } from '@wordpress/i18n';
10
+ import { store as noticesStore } from '@wordpress/notices';
11
+ import { useMemo } from '@wordpress/element';
12
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import { unlock } from '../../lock-unlock';
17
+
18
+ const { useHistory } = unlock( routerPrivateApis );
19
+
20
+ export function useTrashPostAction() {
21
+ const { createSuccessNotice, createErrorNotice } =
22
+ useDispatch( noticesStore );
23
+ const { deleteEntityRecord } = useDispatch( coreStore );
24
+
25
+ return useMemo(
26
+ () => ( {
27
+ id: 'move-to-trash',
28
+ label: __( 'Move to Trash' ),
29
+ isPrimary: true,
30
+ icon: trash,
31
+ isEligible( { status } ) {
32
+ return status !== 'trash';
33
+ },
34
+ async perform( post ) {
35
+ try {
36
+ await deleteEntityRecord(
37
+ 'postType',
38
+ post.type,
39
+ post.id,
40
+ {},
41
+ { throwOnError: true }
42
+ );
43
+ createSuccessNotice(
44
+ sprintf(
45
+ /* translators: The page's title. */
46
+ __( '"%s" moved to the Trash.' ),
47
+ decodeEntities( post.title.rendered )
48
+ ),
49
+ {
50
+ type: 'snackbar',
51
+ id: 'edit-site-page-trashed',
52
+ }
53
+ );
54
+ } catch ( error ) {
55
+ const errorMessage =
56
+ error.message && error.code !== 'unknown_error'
57
+ ? error.message
58
+ : __(
59
+ 'An error occurred while moving the page to the trash.'
60
+ );
61
+
62
+ createErrorNotice( errorMessage, { type: 'snackbar' } );
63
+ }
64
+ },
65
+ } ),
66
+ [ createSuccessNotice, createErrorNotice, deleteEntityRecord ]
67
+ );
68
+ }
69
+
70
+ export const viewPostAction = {
71
+ id: 'view-post',
72
+ label: __( 'View' ),
73
+ isPrimary: true,
74
+ icon: external,
75
+ isEligible( post ) {
76
+ return post.status !== 'trash';
77
+ },
78
+ perform( post ) {
79
+ document.location.href = post.link;
80
+ },
81
+ };
82
+
83
+ export function useEditPostAction() {
84
+ const history = useHistory();
85
+ return useMemo(
86
+ () => ( {
87
+ id: 'edit-post',
88
+ label: __( 'Edit' ),
89
+ isEligible( { status } ) {
90
+ return status !== 'trash';
91
+ },
92
+ perform( post ) {
93
+ history.push( {
94
+ postId: post.id,
95
+ postType: post.type,
96
+ canvas: 'edit',
97
+ } );
98
+ },
99
+ } ),
100
+ [ history ]
101
+ );
102
+ }
103
+ export const postRevisionsAction = {
104
+ id: 'view-post-revisions',
105
+ label: __( 'View revisions' ),
106
+ isPrimary: false,
107
+ isEligible: ( post ) => {
108
+ if ( post.status === 'trash' ) {
109
+ return false;
110
+ }
111
+ const lastRevisionId =
112
+ post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;
113
+ const revisionsCount =
114
+ post?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;
115
+ return lastRevisionId && revisionsCount > 1;
116
+ },
117
+ perform( post ) {
118
+ const href = addQueryArgs( 'revision.php', {
119
+ revision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,
120
+ } );
121
+ document.location.href = href;
122
+ },
123
+ };
@@ -9,11 +9,9 @@ import {
9
9
  FlexItem,
10
10
  SearchControl,
11
11
  TextHighlight,
12
+ privateApis as componentsPrivateApis,
12
13
  __experimentalText as Text,
13
14
  __experimentalVStack as VStack,
14
- __unstableComposite as Composite,
15
- __unstableUseCompositeState as useCompositeState,
16
- __unstableCompositeItem as CompositeItem,
17
15
  } from '@wordpress/components';
18
16
  import { useEntityRecords } from '@wordpress/core-data';
19
17
  import { decodeEntities } from '@wordpress/html-entities';
@@ -21,9 +19,16 @@ import { decodeEntities } from '@wordpress/html-entities';
21
19
  /**
22
20
  * Internal dependencies
23
21
  */
22
+ import { unlock } from '../../lock-unlock';
24
23
  import useDebouncedInput from '../../utils/use-debounced-input';
25
24
  import { mapToIHasNameAndId } from './utils';
26
25
 
26
+ const {
27
+ CompositeV2: Composite,
28
+ CompositeItemV2: CompositeItem,
29
+ useCompositeStoreV2: useCompositeStore,
30
+ } = unlock( componentsPrivateApis );
31
+
27
32
  const EMPTY_ARRAY = [];
28
33
 
29
34
  function SuggestionListItem( {
@@ -31,22 +36,23 @@ function SuggestionListItem( {
31
36
  search,
32
37
  onSelect,
33
38
  entityForSuggestions,
34
- composite,
35
39
  } ) {
36
40
  const baseCssClass =
37
41
  'edit-site-custom-template-modal__suggestions_list__list-item';
38
42
  return (
39
43
  <CompositeItem
40
- role="option"
41
- as={ Button }
42
- { ...composite }
43
- className={ baseCssClass }
44
- onClick={ () =>
45
- onSelect(
46
- entityForSuggestions.config.getSpecificTemplate(
47
- suggestion
48
- )
49
- )
44
+ render={
45
+ <Button
46
+ role="option"
47
+ className={ baseCssClass }
48
+ onClick={ () =>
49
+ onSelect(
50
+ entityForSuggestions.config.getSpecificTemplate(
51
+ suggestion
52
+ )
53
+ )
54
+ }
55
+ />
50
56
  }
51
57
  >
52
58
  <Text
@@ -112,7 +118,7 @@ function useSearchSuggestions( entityForSuggestions, search ) {
112
118
  }
113
119
 
114
120
  function SuggestionList( { entityForSuggestions, onSelect } ) {
115
- const composite = useCompositeState( { orientation: 'vertical' } );
121
+ const composite = useCompositeStore( { orientation: 'vertical' } );
116
122
  const [ search, setSearch, debouncedSearch ] = useDebouncedInput();
117
123
  const suggestions = useSearchSuggestions(
118
124
  entityForSuggestions,
@@ -136,7 +142,7 @@ function SuggestionList( { entityForSuggestions, onSelect } ) {
136
142
  ) }
137
143
  { !! suggestions?.length && (
138
144
  <Composite
139
- { ...composite }
145
+ store={ composite }
140
146
  role="listbox"
141
147
  className="edit-site-custom-template-modal__suggestions_list"
142
148
  aria-label={ __( 'Suggestions list' ) }
@@ -148,7 +154,6 @@ function SuggestionList( { entityForSuggestions, onSelect } ) {
148
154
  search={ debouncedSearch }
149
155
  onSelect={ onSelect }
150
156
  entityForSuggestions={ entityForSuggestions }
151
- composite={ composite }
152
157
  />
153
158
  ) ) }
154
159
  </Composite>
@@ -35,6 +35,7 @@ export default function ResizeHandle( {
35
35
  aria-label={ __( 'Drag to resize' ) }
36
36
  aria-describedby={ `resizable-editor__resize-help-${ direction }` }
37
37
  onKeyDown={ handleKeyDown }
38
+ type="button"
38
39
  />
39
40
  <VisuallyHidden
40
41
  id={ `resizable-editor__resize-help-${ direction }` }
@@ -85,19 +85,23 @@ function useArchiveLabel( templateSlug ) {
85
85
 
86
86
  export default function useSiteEditorSettings() {
87
87
  const { setIsInserterOpened } = useDispatch( editSiteStore );
88
- const { storedSettings, canvasMode, templateType } = useSelect(
89
- ( select ) => {
90
- const { getSettings, getCanvasMode, getEditedPostType } = unlock(
91
- select( editSiteStore )
92
- );
93
- return {
94
- storedSettings: getSettings( setIsInserterOpened ),
95
- canvasMode: getCanvasMode(),
96
- templateType: getEditedPostType(),
97
- };
98
- },
99
- [ setIsInserterOpened ]
100
- );
88
+ const { storedSettings, canvasMode, templateType, siteSettings } =
89
+ useSelect(
90
+ ( select ) => {
91
+ const { canUser, getEntityRecord } = select( coreStore );
92
+ const { getSettings, getCanvasMode, getEditedPostType } =
93
+ unlock( select( editSiteStore ) );
94
+ return {
95
+ storedSettings: getSettings( setIsInserterOpened ),
96
+ canvasMode: getCanvasMode(),
97
+ templateType: getEditedPostType(),
98
+ siteSettings: canUser( 'read', 'settings' )
99
+ ? getEntityRecord( 'root', 'site' )
100
+ : undefined,
101
+ };
102
+ },
103
+ [ setIsInserterOpened ]
104
+ );
101
105
 
102
106
  const settingsBlockPatterns =
103
107
  storedSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0
@@ -180,6 +184,8 @@ export default function useSiteEditorSettings() {
180
184
  focusMode: canvasMode === 'view' && focusMode ? false : focusMode,
181
185
  __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
182
186
  __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
187
+ pageOnFront: siteSettings?.page_on_front,
188
+ pageForPosts: siteSettings?.page_for_posts,
183
189
  };
184
190
  }, [
185
191
  storedSettings,
@@ -189,5 +195,7 @@ export default function useSiteEditorSettings() {
189
195
  canvasMode,
190
196
  archiveLabels.archiveTypeLabel,
191
197
  archiveLabels.archiveNameLabel,
198
+ siteSettings?.page_on_front,
199
+ siteSettings?.page_for_posts,
192
200
  ] );
193
201
  }
@@ -39,17 +39,21 @@ import {
39
39
  } from '../../utils/template-part-create';
40
40
 
41
41
  export default function CreateTemplatePartModal( {
42
- closeModal,
42
+ defaultArea = TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
43
43
  blocks = [],
44
+ confirmLabel = __( 'Create' ),
45
+ closeModal,
46
+ modalTitle = __( 'Create template part' ),
44
47
  onCreate,
45
48
  onError,
49
+ defaultTitle = '',
46
50
  } ) {
47
51
  const { createErrorNotice } = useDispatch( noticesStore );
48
52
  const { saveEntityRecord } = useDispatch( coreStore );
49
53
  const existingTemplateParts = useExistingTemplateParts();
50
54
 
51
- const [ title, setTitle ] = useState( '' );
52
- const [ area, setArea ] = useState( TEMPLATE_PART_AREA_DEFAULT_CATEGORY );
55
+ const [ title, setTitle ] = useState( defaultTitle );
56
+ const [ area, setArea ] = useState( defaultArea );
53
57
  const [ isSubmitting, setIsSubmitting ] = useState( false );
54
58
  const instanceId = useInstanceId( CreateTemplatePartModal );
55
59
 
@@ -104,7 +108,7 @@ export default function CreateTemplatePartModal( {
104
108
 
105
109
  return (
106
110
  <Modal
107
- title={ __( 'Create template part' ) }
111
+ title={ modalTitle }
108
112
  onRequestClose={ closeModal }
109
113
  overlayClassName="edit-site-create-template-part-modal"
110
114
  >
@@ -181,7 +185,7 @@ export default function CreateTemplatePartModal( {
181
185
  aria-disabled={ ! title || isSubmitting }
182
186
  isBusy={ isSubmitting }
183
187
  >
184
- { __( 'Create' ) }
188
+ { confirmLabel }
185
189
  </Button>
186
190
  </HStack>
187
191
  </VStack>