@wordpress/edit-site 5.22.0 → 5.24.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 (524) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +115 -15
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/new-template.js +0 -7
  5. package/build/components/add-new-template/new-template.js.map +1 -1
  6. package/build/components/block-editor/site-editor-canvas.js +7 -2
  7. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +54 -63
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/dataviews/add-filter.js +91 -0
  11. package/build/components/dataviews/add-filter.js.map +1 -0
  12. package/build/components/dataviews/constants.js +14 -0
  13. package/build/components/dataviews/constants.js.map +1 -0
  14. package/build/components/dataviews/dataviews.js +30 -9
  15. package/build/components/dataviews/dataviews.js.map +1 -1
  16. package/build/components/dataviews/filter-summary.js +62 -0
  17. package/build/components/dataviews/filter-summary.js.map +1 -0
  18. package/build/components/dataviews/filters.js +37 -48
  19. package/build/components/dataviews/filters.js.map +1 -1
  20. package/build/components/dataviews/index.js +9 -2
  21. package/build/components/dataviews/index.js.map +1 -1
  22. package/build/components/dataviews/item-actions.js +139 -17
  23. package/build/components/dataviews/item-actions.js.map +1 -1
  24. package/build/components/dataviews/pagination.js +7 -2
  25. package/build/components/dataviews/pagination.js.map +1 -1
  26. package/build/components/dataviews/reset-filters.js +33 -0
  27. package/build/components/dataviews/reset-filters.js.map +1 -0
  28. package/build/components/dataviews/search.js +1 -0
  29. package/build/components/dataviews/search.js.map +1 -1
  30. package/build/components/dataviews/view-actions.js +49 -32
  31. package/build/components/dataviews/view-actions.js.map +1 -1
  32. package/build/components/dataviews/view-grid.js +48 -25
  33. package/build/components/dataviews/view-grid.js.map +1 -1
  34. package/build/components/dataviews/view-list.js +130 -14
  35. package/build/components/dataviews/view-list.js.map +1 -1
  36. package/build/components/dataviews/view-side-by-side.js +20 -0
  37. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  38. package/build/components/editor/index.js +52 -56
  39. package/build/components/editor/index.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  41. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  43. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  44. package/build/components/global-styles/header.js +4 -2
  45. package/build/components/global-styles/header.js.map +1 -1
  46. package/build/components/global-styles/screen-block-list.js +22 -16
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-revisions/index.js +66 -24
  49. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  50. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  51. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  52. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  53. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  54. package/build/components/global-styles/screen-root.js +3 -3
  55. package/build/components/global-styles/screen-root.js.map +1 -1
  56. package/build/components/global-styles/ui.js +31 -39
  57. package/build/components/global-styles/ui.js.map +1 -1
  58. package/build/components/global-styles-renderer/index.js +1 -1
  59. package/build/components/global-styles-renderer/index.js.map +1 -1
  60. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  61. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  62. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  63. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  64. package/build/components/header-edit-mode/index.js +50 -117
  65. package/build/components/header-edit-mode/index.js.map +1 -1
  66. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  67. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  68. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  69. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  70. package/build/components/layout/index.js +4 -19
  71. package/build/components/layout/index.js.map +1 -1
  72. package/build/components/list/added-by.js +44 -54
  73. package/build/components/list/added-by.js.map +1 -1
  74. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
  75. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  76. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  77. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  78. package/build/components/page-content-focus-notifications/index.js +22 -0
  79. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  80. package/build/components/page-main/index.js +2 -1
  81. package/build/components/page-main/index.js.map +1 -1
  82. package/build/components/page-pages/index.js +137 -88
  83. package/build/components/page-pages/index.js.map +1 -1
  84. package/build/components/page-pages/side-editor.js +25 -0
  85. package/build/components/page-pages/side-editor.js.map +1 -0
  86. package/build/components/page-patterns/grid-item.js +2 -2
  87. package/build/components/page-patterns/grid-item.js.map +1 -1
  88. package/build/components/page-patterns/patterns-list.js +3 -3
  89. package/build/components/page-patterns/patterns-list.js.map +1 -1
  90. package/build/components/page-patterns/use-patterns.js +2 -2
  91. package/build/components/page-patterns/use-patterns.js.map +1 -1
  92. package/build/components/page-templates/dataviews-templates.js +316 -0
  93. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  94. package/build/components/page-templates/template-actions.js +168 -0
  95. package/build/components/page-templates/template-actions.js.map +1 -0
  96. package/build/components/preferences-modal/index.js +1 -1
  97. package/build/components/preferences-modal/index.js.map +1 -1
  98. package/build/components/save-button/index.js +9 -6
  99. package/build/components/save-button/index.js.map +1 -1
  100. package/build/components/save-hub/index.js +14 -0
  101. package/build/components/save-hub/index.js.map +1 -1
  102. package/build/components/sidebar/index.js +1 -2
  103. package/build/components/sidebar/index.js.map +1 -1
  104. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  105. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  106. package/build/components/sidebar-dataviews/custom-dataviews-list.js +191 -0
  107. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  108. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  109. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  110. package/build/components/sidebar-dataviews/default-views.js +65 -0
  111. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  112. package/build/components/sidebar-dataviews/index.js +21 -38
  113. package/build/components/sidebar-dataviews/index.js.map +1 -1
  114. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  115. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  116. package/build/components/sidebar-edit-mode/index.js +6 -5
  117. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  118. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +18 -29
  119. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  120. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  121. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  122. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  123. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  124. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +5 -8
  125. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  126. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +6 -14
  127. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  128. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  129. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  130. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  131. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  132. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  133. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  134. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  135. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  137. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  139. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  141. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-page/page-details.js +3 -11
  143. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  144. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  145. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  146. package/build/components/site-hub/index.js +18 -6
  147. package/build/components/site-hub/index.js.map +1 -1
  148. package/build/components/start-template-options/index.js +12 -16
  149. package/build/components/start-template-options/index.js.map +1 -1
  150. package/build/components/style-book/index.js +22 -12
  151. package/build/components/style-book/index.js.map +1 -1
  152. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -55
  153. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  154. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  155. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  156. package/build/components/welcome-guide/page.js +2 -2
  157. package/build/components/welcome-guide/page.js.map +1 -1
  158. package/build/components/welcome-guide/template.js +6 -3
  159. package/build/components/welcome-guide/template.js.map +1 -1
  160. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  161. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  162. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  163. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  164. package/build/hooks/template-part-edit.js +6 -2
  165. package/build/hooks/template-part-edit.js.map +1 -1
  166. package/build/index.js +0 -3
  167. package/build/index.js.map +1 -1
  168. package/build/store/actions.js +39 -83
  169. package/build/store/actions.js.map +1 -1
  170. package/build/store/private-actions.js +2 -27
  171. package/build/store/private-actions.js.map +1 -1
  172. package/build/store/private-selectors.js +0 -23
  173. package/build/store/private-selectors.js.map +1 -1
  174. package/build/store/reducer.js +1 -40
  175. package/build/store/reducer.js.map +1 -1
  176. package/build/store/selectors.js +33 -67
  177. package/build/store/selectors.js.map +1 -1
  178. package/build/utils/constants.js +3 -14
  179. package/build/utils/constants.js.map +1 -1
  180. package/build-module/components/actions/index.js +113 -14
  181. package/build-module/components/actions/index.js.map +1 -1
  182. package/build-module/components/add-new-template/new-template.js +0 -7
  183. package/build-module/components/add-new-template/new-template.js.map +1 -1
  184. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  185. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  186. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  187. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  188. package/build-module/components/dataviews/add-filter.js +84 -0
  189. package/build-module/components/dataviews/add-filter.js.map +1 -0
  190. package/build-module/components/dataviews/constants.js +6 -0
  191. package/build-module/components/dataviews/constants.js.map +1 -0
  192. package/build-module/components/dataviews/dataviews.js +29 -9
  193. package/build-module/components/dataviews/dataviews.js.map +1 -1
  194. package/build-module/components/dataviews/filter-summary.js +55 -0
  195. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  196. package/build-module/components/dataviews/filters.js +37 -48
  197. package/build-module/components/dataviews/filters.js.map +1 -1
  198. package/build-module/components/dataviews/index.js +1 -1
  199. package/build-module/components/dataviews/index.js.map +1 -1
  200. package/build-module/components/dataviews/item-actions.js +142 -20
  201. package/build-module/components/dataviews/item-actions.js.map +1 -1
  202. package/build-module/components/dataviews/pagination.js +7 -2
  203. package/build-module/components/dataviews/pagination.js.map +1 -1
  204. package/build-module/components/dataviews/reset-filters.js +26 -0
  205. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  206. package/build-module/components/dataviews/search.js +1 -0
  207. package/build-module/components/dataviews/search.js.map +1 -1
  208. package/build-module/components/dataviews/view-actions.js +50 -33
  209. package/build-module/components/dataviews/view-actions.js.map +1 -1
  210. package/build-module/components/dataviews/view-grid.js +49 -26
  211. package/build-module/components/dataviews/view-grid.js.map +1 -1
  212. package/build-module/components/dataviews/view-list.js +132 -16
  213. package/build-module/components/dataviews/view-list.js.map +1 -1
  214. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  215. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  216. package/build-module/components/editor/index.js +55 -59
  217. package/build-module/components/editor/index.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  219. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  221. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  222. package/build-module/components/global-styles/header.js +4 -2
  223. package/build-module/components/global-styles/header.js.map +1 -1
  224. package/build-module/components/global-styles/screen-block-list.js +23 -17
  225. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  226. package/build-module/components/global-styles/screen-revisions/index.js +67 -25
  227. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  228. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  229. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  230. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  231. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  232. package/build-module/components/global-styles/screen-root.js +3 -3
  233. package/build-module/components/global-styles/screen-root.js.map +1 -1
  234. package/build-module/components/global-styles/ui.js +31 -39
  235. package/build-module/components/global-styles/ui.js.map +1 -1
  236. package/build-module/components/global-styles-renderer/index.js +1 -1
  237. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  238. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  239. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  240. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  241. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  242. package/build-module/components/header-edit-mode/index.js +54 -121
  243. package/build-module/components/header-edit-mode/index.js.map +1 -1
  244. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  245. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  246. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  247. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  248. package/build-module/components/layout/index.js +5 -20
  249. package/build-module/components/layout/index.js.map +1 -1
  250. package/build-module/components/list/added-by.js +45 -56
  251. package/build-module/components/list/added-by.js.map +1 -1
  252. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
  253. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  254. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  255. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  256. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  257. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  258. package/build-module/components/page-main/index.js +2 -1
  259. package/build-module/components/page-main/index.js.map +1 -1
  260. package/build-module/components/page-pages/index.js +141 -90
  261. package/build-module/components/page-pages/index.js.map +1 -1
  262. package/build-module/components/page-pages/side-editor.js +17 -0
  263. package/build-module/components/page-pages/side-editor.js.map +1 -0
  264. package/build-module/components/page-patterns/grid-item.js +2 -2
  265. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  266. package/build-module/components/page-patterns/patterns-list.js +4 -4
  267. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  268. package/build-module/components/page-patterns/use-patterns.js +3 -3
  269. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  270. package/build-module/components/page-templates/dataviews-templates.js +308 -0
  271. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  272. package/build-module/components/page-templates/template-actions.js +157 -0
  273. package/build-module/components/page-templates/template-actions.js.map +1 -0
  274. package/build-module/components/preferences-modal/index.js +1 -1
  275. package/build-module/components/preferences-modal/index.js.map +1 -1
  276. package/build-module/components/save-button/index.js +11 -8
  277. package/build-module/components/save-button/index.js.map +1 -1
  278. package/build-module/components/save-hub/index.js +14 -0
  279. package/build-module/components/save-hub/index.js.map +1 -1
  280. package/build-module/components/sidebar/index.js +1 -2
  281. package/build-module/components/sidebar/index.js.map +1 -1
  282. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  283. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  284. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +182 -0
  285. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  286. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  287. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  288. package/build-module/components/sidebar-dataviews/default-views.js +57 -0
  289. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  290. package/build-module/components/sidebar-dataviews/index.js +22 -39
  291. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  292. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  293. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  294. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  295. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  296. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +20 -31
  297. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  298. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  299. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  300. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  301. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  302. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +6 -8
  303. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  304. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +8 -16
  305. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  306. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  307. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  308. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  309. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  310. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  311. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  312. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  313. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  314. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  315. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  316. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  317. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  318. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  319. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  320. package/build-module/components/sidebar-navigation-screen-page/page-details.js +3 -11
  321. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  322. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  323. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  324. package/build-module/components/site-hub/index.js +19 -7
  325. package/build-module/components/site-hub/index.js.map +1 -1
  326. package/build-module/components/start-template-options/index.js +13 -16
  327. package/build-module/components/start-template-options/index.js.map +1 -1
  328. package/build-module/components/style-book/index.js +22 -12
  329. package/build-module/components/style-book/index.js.map +1 -1
  330. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -56
  331. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  332. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  333. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  334. package/build-module/components/welcome-guide/page.js +2 -2
  335. package/build-module/components/welcome-guide/page.js.map +1 -1
  336. package/build-module/components/welcome-guide/template.js +6 -3
  337. package/build-module/components/welcome-guide/template.js.map +1 -1
  338. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  339. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  340. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  341. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  342. package/build-module/hooks/template-part-edit.js +6 -2
  343. package/build-module/hooks/template-part-edit.js.map +1 -1
  344. package/build-module/index.js +0 -3
  345. package/build-module/index.js.map +1 -1
  346. package/build-module/store/actions.js +37 -80
  347. package/build-module/store/actions.js.map +1 -1
  348. package/build-module/store/private-actions.js +1 -25
  349. package/build-module/store/private-actions.js.map +1 -1
  350. package/build-module/store/private-selectors.js +0 -22
  351. package/build-module/store/private-selectors.js.map +1 -1
  352. package/build-module/store/reducer.js +1 -38
  353. package/build-module/store/reducer.js.map +1 -1
  354. package/build-module/store/selectors.js +27 -62
  355. package/build-module/store/selectors.js.map +1 -1
  356. package/build-module/utils/constants.js +1 -11
  357. package/build-module/utils/constants.js.map +1 -1
  358. package/build-style/style-rtl.css +221 -181
  359. package/build-style/style.css +221 -181
  360. package/package.json +41 -41
  361. package/src/components/actions/index.js +150 -14
  362. package/src/components/add-new-template/new-template.js +0 -5
  363. package/src/components/block-editor/site-editor-canvas.js +8 -2
  364. package/src/components/block-editor/style.scss +0 -87
  365. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  366. package/src/components/dataviews/README.md +80 -83
  367. package/src/components/dataviews/add-filter.js +108 -0
  368. package/src/components/dataviews/constants.js +5 -0
  369. package/src/components/dataviews/dataviews.js +28 -10
  370. package/src/components/dataviews/filter-summary.js +79 -0
  371. package/src/components/dataviews/filters.js +48 -58
  372. package/src/components/dataviews/index.js +1 -1
  373. package/src/components/dataviews/item-actions.js +169 -30
  374. package/src/components/dataviews/pagination.js +9 -4
  375. package/src/components/dataviews/reset-filters.js +26 -0
  376. package/src/components/dataviews/search.js +1 -0
  377. package/src/components/dataviews/style.scss +89 -9
  378. package/src/components/dataviews/view-actions.js +77 -49
  379. package/src/components/dataviews/view-grid.js +63 -38
  380. package/src/components/dataviews/view-list.js +182 -18
  381. package/src/components/dataviews/view-side-by-side.js +9 -0
  382. package/src/components/editor/index.js +135 -123
  383. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  384. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  385. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  386. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  387. package/src/components/global-styles/header.js +2 -1
  388. package/src/components/global-styles/screen-block-list.js +37 -26
  389. package/src/components/global-styles/screen-revisions/index.js +91 -35
  390. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  391. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  392. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  393. package/src/components/global-styles/screen-root.js +2 -1
  394. package/src/components/global-styles/style.scss +0 -11
  395. package/src/components/global-styles/ui.js +60 -75
  396. package/src/components/global-styles-renderer/index.js +1 -1
  397. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  398. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  399. package/src/components/header-edit-mode/index.js +87 -184
  400. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  401. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  402. package/src/components/header-edit-mode/style.scss +35 -2
  403. package/src/components/layout/index.js +4 -11
  404. package/src/components/layout/style.scss +6 -18
  405. package/src/components/list/added-by.js +24 -64
  406. package/src/components/list/style.scss +11 -13
  407. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +10 -22
  408. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  409. package/src/components/page-content-focus-notifications/index.js +14 -0
  410. package/src/components/page-main/index.js +6 -1
  411. package/src/components/page-pages/index.js +167 -91
  412. package/src/components/page-pages/side-editor.js +14 -0
  413. package/src/components/page-patterns/grid-item.js +3 -3
  414. package/src/components/page-patterns/patterns-list.js +10 -4
  415. package/src/components/page-patterns/use-patterns.js +4 -3
  416. package/src/components/page-templates/dataviews-templates.js +345 -0
  417. package/src/components/page-templates/style.scss +13 -0
  418. package/src/components/page-templates/template-actions.js +209 -0
  419. package/src/components/preferences-modal/index.js +1 -1
  420. package/src/components/save-button/index.js +37 -24
  421. package/src/components/save-hub/index.js +15 -0
  422. package/src/components/save-hub/style.scss +7 -0
  423. package/src/components/sidebar/index.js +1 -2
  424. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  425. package/src/components/sidebar-dataviews/custom-dataviews-list.js +229 -0
  426. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  427. package/src/components/sidebar-dataviews/default-views.js +59 -0
  428. package/src/components/sidebar-dataviews/index.js +36 -45
  429. package/src/components/sidebar-dataviews/style.scss +29 -0
  430. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  431. package/src/components/sidebar-edit-mode/index.js +13 -9
  432. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -57
  433. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  434. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  435. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +10 -8
  436. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +13 -12
  437. package/src/components/sidebar-edit-mode/page-panels/style.scss +14 -19
  438. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  439. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  440. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  441. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  442. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  443. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  444. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  445. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  446. package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
  447. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  448. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  449. package/src/components/site-hub/index.js +9 -8
  450. package/src/components/start-template-options/index.js +14 -12
  451. package/src/components/style-book/index.js +48 -35
  452. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +182 -63
  453. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  454. package/src/components/welcome-guide/page.js +2 -2
  455. package/src/components/welcome-guide/template.js +4 -2
  456. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  457. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  458. package/src/hooks/template-part-edit.js +4 -2
  459. package/src/index.js +0 -8
  460. package/src/store/actions.js +42 -96
  461. package/src/store/private-actions.js +1 -24
  462. package/src/store/private-selectors.js +0 -22
  463. package/src/store/reducer.js +0 -39
  464. package/src/store/selectors.js +43 -95
  465. package/src/store/test/actions.js +14 -169
  466. package/src/store/test/reducer.js +0 -62
  467. package/src/store/test/selectors.js +0 -117
  468. package/src/style.scss +2 -0
  469. package/src/utils/constants.js +1 -11
  470. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  471. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  472. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  473. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  474. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  475. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  476. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  477. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  478. package/build/components/block-editor/index.js +0 -30
  479. package/build/components/block-editor/index.js.map +0 -1
  480. package/build/components/dataviews/in-filter.js +0 -49
  481. package/build/components/dataviews/in-filter.js.map +0 -1
  482. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  483. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -50
  484. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  485. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  486. package/build/components/page-content-focus-manager/index.js +0 -61
  487. package/build/components/page-content-focus-manager/index.js.map +0 -1
  488. package/build/components/page-pages/default-views.js +0 -62
  489. package/build/components/page-pages/default-views.js.map +0 -1
  490. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  491. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  492. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  493. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  494. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  495. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  496. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  497. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  498. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  499. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  500. package/build-module/components/block-editor/index.js +0 -22
  501. package/build-module/components/block-editor/index.js.map +0 -1
  502. package/build-module/components/dataviews/in-filter.js +0 -41
  503. package/build-module/components/dataviews/in-filter.js.map +0 -1
  504. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  505. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -43
  506. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  507. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  508. package/build-module/components/page-content-focus-manager/index.js +0 -52
  509. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  510. package/build-module/components/page-pages/default-views.js +0 -55
  511. package/build-module/components/page-pages/default-views.js.map +0 -1
  512. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  513. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  514. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  515. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  516. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  517. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  518. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  519. package/src/components/block-editor/index.js +0 -28
  520. package/src/components/dataviews/in-filter.js +0 -45
  521. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -52
  522. package/src/components/page-content-focus-manager/index.js +0 -51
  523. package/src/components/page-pages/default-views.js +0 -60
  524. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useEffect","useState","useRef","store","noticesStore","__","__experimentalConfirmDialog","ConfirmDialog","editSiteStore","EditTemplateNotification","contentRef","hasPageContentFocus","select","getNotices","createInfoNotice","removeNotice","setHasPageContentFocus","isDialogOpen","setIsDialogOpen","lastNoticeId","handleClick","event","target","classList","contains","isNoticeAlreadyShowing","some","notice","id","current","isDismissible","type","actions","label","onClick","handleDblClick","canvas","addEventListener","removeEventListener","createElement","isOpen","confirmButtonText","onConfirm","onCancel"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/edit-template-notification.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Component that:\n *\n * - Displays a 'Edit your template to edit this block' notification when the\n * user is focusing on editing page content and clicks on a disabled template\n * block.\n * - Displays a 'Edit your template to edit this block' dialog when the user\n * is focusing on editing page conetnt and double clicks on a disabled\n * template block.\n *\n * @param {Object} props\n * @param {import('react').RefObject<HTMLElement>} props.contentRef Ref to the block\n * editor iframe canvas.\n */\nexport default function EditTemplateNotification( { contentRef } ) {\n\tconst hasPageContentFocus = useSelect(\n\t\t( select ) => select( editSiteStore ).hasPageContentFocus(),\n\t\t[]\n\t);\n\tconst { getNotices } = useSelect( noticesStore );\n\n\tconst { createInfoNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ isDialogOpen, setIsDialogOpen ] = useState( false );\n\n\tconst lastNoticeId = useRef( 0 );\n\n\tuseEffect( () => {\n\t\tconst handleClick = async ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst isNoticeAlreadyShowing = getNotices().some(\n\t\t\t\t( notice ) => notice.id === lastNoticeId.current\n\t\t\t);\n\t\t\tif ( isNoticeAlreadyShowing ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { notice } = await createInfoNotice(\n\t\t\t\t__( 'Edit your template to edit this block.' ),\n\t\t\t\t{\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tactions: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Edit template' ),\n\t\t\t\t\t\t\tonClick: () => setHasPageContentFocus( false ),\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\t\t\t);\n\t\t\tlastNoticeId.current = notice.id;\n\t\t};\n\n\t\tconst handleDblClick = ( event ) => {\n\t\t\tif ( ! hasPageContentFocus ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( ! event.target.classList.contains( 'is-root-container' ) ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tif ( lastNoticeId.current ) {\n\t\t\t\tremoveNotice( lastNoticeId.current );\n\t\t\t}\n\t\t\tsetIsDialogOpen( true );\n\t\t};\n\n\t\tconst canvas = contentRef.current;\n\t\tcanvas?.addEventListener( 'click', handleClick );\n\t\tcanvas?.addEventListener( 'dblclick', handleDblClick );\n\t\treturn () => {\n\t\t\tcanvas?.removeEventListener( 'click', handleClick );\n\t\t\tcanvas?.removeEventListener( 'dblclick', handleDblClick );\n\t\t};\n\t}, [ lastNoticeId, hasPageContentFocus, contentRef.current ] );\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isDialogOpen }\n\t\t\tconfirmButtonText={ __( 'Edit template' ) }\n\t\t\tonConfirm={ () => {\n\t\t\t\tsetIsDialogOpen( false );\n\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t} }\n\t\t\tonCancel={ () => setIsDialogOpen( false ) }\n\t\t>\n\t\t\t{ __( 'Edit your template to edit this block.' ) }\n\t\t</ConfirmDialog>\n\t);\n}\n"],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import { createElement, Fragment } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { useSelect, useDispatch } from '@wordpress/data';
6
- import { useEffect } from '@wordpress/element';
7
- /**
8
- * Internal dependencies
9
- */
10
- import { store as editSiteStore } from '../../store';
11
- import DisableNonPageContentBlocks from './disable-non-page-content-blocks';
12
- import EditTemplateNotification from './edit-template-notification';
13
- import BackToPageNotification from './back-to-page-notification';
14
- import { unlock } from '../../lock-unlock';
15
- export default function PageContentFocusManager({
16
- contentRef
17
- }) {
18
- const {
19
- hasPageContentFocus,
20
- pageContentFocusType,
21
- canvasMode
22
- } = useSelect(select => {
23
- const {
24
- getPageContentFocusType,
25
- getCanvasMode
26
- } = unlock(select(editSiteStore));
27
- const _canvasMode = getCanvasMode();
28
- return {
29
- canvasMode: _canvasMode,
30
- pageContentFocusType: getPageContentFocusType(),
31
- hasPageContentFocus: select(editSiteStore).hasPageContentFocus()
32
- };
33
- }, []);
34
- const {
35
- setPageContentFocusType
36
- } = unlock(useDispatch(editSiteStore));
37
-
38
- /*
39
- * Ensure that the page content focus type is set to `disableTemplate` when
40
- * the canvas mode is not `edit`. This makes the experience consistent with
41
- * refreshing the page, which resets the page content focus type.
42
- */
43
- useEffect(() => {
44
- if (canvasMode !== 'edit' && !!pageContentFocusType) {
45
- setPageContentFocusType(null);
46
- }
47
- }, [canvasMode, pageContentFocusType]);
48
- return createElement(Fragment, null, hasPageContentFocus && createElement(DisableNonPageContentBlocks, null), createElement(EditTemplateNotification, {
49
- contentRef: contentRef
50
- }), createElement(BackToPageNotification, null));
51
- }
52
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useEffect","store","editSiteStore","DisableNonPageContentBlocks","EditTemplateNotification","BackToPageNotification","unlock","PageContentFocusManager","contentRef","hasPageContentFocus","pageContentFocusType","canvasMode","select","getPageContentFocusType","getCanvasMode","_canvasMode","setPageContentFocusType","createElement","Fragment"],"sources":["@wordpress/edit-site/src/components/page-content-focus-manager/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport DisableNonPageContentBlocks from './disable-non-page-content-blocks';\nimport EditTemplateNotification from './edit-template-notification';\nimport BackToPageNotification from './back-to-page-notification';\nimport { unlock } from '../../lock-unlock';\n\nexport default function PageContentFocusManager( { contentRef } ) {\n\tconst { hasPageContentFocus, pageContentFocusType, canvasMode } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getPageContentFocusType, getCanvasMode } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst _canvasMode = getCanvasMode();\n\t\t\treturn {\n\t\t\t\tcanvasMode: _canvasMode,\n\t\t\t\tpageContentFocusType: getPageContentFocusType(),\n\t\t\t\thasPageContentFocus:\n\t\t\t\t\tselect( editSiteStore ).hasPageContentFocus(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\tconst { setPageContentFocusType } = unlock( useDispatch( editSiteStore ) );\n\n\t/*\n\t * Ensure that the page content focus type is set to `disableTemplate` when\n\t * the canvas mode is not `edit`. This makes the experience consistent with\n\t * refreshing the page, which resets the page content focus type.\n\t */\n\tuseEffect( () => {\n\t\tif ( canvasMode !== 'edit' && !! pageContentFocusType ) {\n\t\t\tsetPageContentFocusType( null );\n\t\t}\n\t}, [ canvasMode, pageContentFocusType ] );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasPageContentFocus && <DisableNonPageContentBlocks /> }\n\t\t\t<EditTemplateNotification contentRef={ contentRef } />\n\t\t\t<BackToPageNotification />\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,QAAQ,oBAAoB;AAC9C;AACA;AACA;AACA,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,wBAAwB,MAAM,8BAA8B;AACnE,OAAOC,sBAAsB,MAAM,6BAA6B;AAChE,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,eAAe,SAASC,uBAAuBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EACjE,MAAM;IAAEC,mBAAmB;IAAEC,oBAAoB;IAAEC;EAAW,CAAC,GAAGb,SAAS,CACxEc,MAAM,IAAM;IACb,MAAM;MAAEC,uBAAuB;MAAEC;IAAc,CAAC,GAAGR,MAAM,CACxDM,MAAM,CAAEV,aAAc,CACvB,CAAC;IACD,MAAMa,WAAW,GAAGD,aAAa,CAAC,CAAC;IACnC,OAAO;MACNH,UAAU,EAAEI,WAAW;MACvBL,oBAAoB,EAAEG,uBAAuB,CAAC,CAAC;MAC/CJ,mBAAmB,EAClBG,MAAM,CAAEV,aAAc,CAAC,CAACO,mBAAmB,CAAC;IAC9C,CAAC;EACF,CAAC,EACD,EACD,CAAC;EACD,MAAM;IAAEO;EAAwB,CAAC,GAAGV,MAAM,CAAEP,WAAW,CAAEG,aAAc,CAAE,CAAC;;EAE1E;AACD;AACA;AACA;AACA;EACCF,SAAS,CAAE,MAAM;IAChB,IAAKW,UAAU,KAAK,MAAM,IAAI,CAAC,CAAED,oBAAoB,EAAG;MACvDM,uBAAuB,CAAE,IAAK,CAAC;IAChC;EACD,CAAC,EAAE,CAAEL,UAAU,EAAED,oBAAoB,CAAG,CAAC;EAEzC,OACCO,aAAA,CAAAC,QAAA,QACGT,mBAAmB,IAAIQ,aAAA,CAACd,2BAA2B,MAAE,CAAC,EACxDc,aAAA,CAACb,wBAAwB;IAACI,UAAU,EAAGA;EAAY,CAAE,CAAC,EACtDS,aAAA,CAACZ,sBAAsB,MAAE,CACxB,CAAC;AAEL"}
@@ -1,55 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { trash } from '@wordpress/icons';
6
-
7
- // DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.
8
- // The reason for that is to match the default statuses coming from the endpoint
9
- // (entity request and useEffect to update the view).
10
- export const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.
11
-
12
- const DEFAULT_PAGE_BASE = {
13
- type: 'list',
14
- search: '',
15
- filters: {
16
- status: DEFAULT_STATUSES
17
- },
18
- page: 1,
19
- perPage: 5,
20
- sort: {
21
- field: 'date',
22
- direction: 'desc'
23
- },
24
- visibleFilters: ['author', 'status'],
25
- // All fields are visible by default, so it's
26
- // better to keep track of the hidden ones.
27
- hiddenFields: ['date', 'featured-image'],
28
- layout: {}
29
- };
30
- const DEFAULT_VIEWS = [{
31
- title: __('All'),
32
- slug: 'all',
33
- view: DEFAULT_PAGE_BASE
34
- }, {
35
- title: __('Drafts'),
36
- slug: 'drafts',
37
- view: {
38
- ...DEFAULT_PAGE_BASE,
39
- filters: {
40
- status: 'draft'
41
- }
42
- }
43
- }, {
44
- title: __('Trash'),
45
- slug: 'trash',
46
- icon: trash,
47
- view: {
48
- ...DEFAULT_PAGE_BASE,
49
- filters: {
50
- status: 'trash'
51
- }
52
- }
53
- }];
54
- export default DEFAULT_VIEWS;
55
- //# sourceMappingURL=default-views.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["__","trash","DEFAULT_STATUSES","DEFAULT_PAGE_BASE","type","search","filters","status","page","perPage","sort","field","direction","visibleFilters","hiddenFields","layout","DEFAULT_VIEWS","title","slug","view","icon"],"sources":["@wordpress/edit-site/src/components/page-pages/default-views.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { trash } from '@wordpress/icons';\n\n// DEFAULT_STATUSES is intentionally sorted. Items do not have spaces in between them.\n// The reason for that is to match the default statuses coming from the endpoint\n// (entity request and useEffect to update the view).\nexport const DEFAULT_STATUSES = 'draft,future,pending,private,publish'; // All statuses but 'trash'.\n\nconst DEFAULT_PAGE_BASE = {\n\ttype: 'list',\n\tsearch: '',\n\tfilters: {\n\t\tstatus: DEFAULT_STATUSES,\n\t},\n\tpage: 1,\n\tperPage: 5,\n\tsort: {\n\t\tfield: 'date',\n\t\tdirection: 'desc',\n\t},\n\tvisibleFilters: [ 'author', 'status' ],\n\t// All fields are visible by default, so it's\n\t// better to keep track of the hidden ones.\n\thiddenFields: [ 'date', 'featured-image' ],\n\tlayout: {},\n};\n\nconst DEFAULT_VIEWS = [\n\t{\n\t\ttitle: __( 'All' ),\n\t\tslug: 'all',\n\t\tview: DEFAULT_PAGE_BASE,\n\t},\n\t{\n\t\ttitle: __( 'Drafts' ),\n\t\tslug: 'drafts',\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'draft',\n\t\t\t},\n\t\t},\n\t},\n\t{\n\t\ttitle: __( 'Trash' ),\n\t\tslug: 'trash',\n\t\ticon: trash,\n\t\tview: {\n\t\t\t...DEFAULT_PAGE_BASE,\n\t\t\tfilters: {\n\t\t\t\tstatus: 'trash',\n\t\t\t},\n\t\t},\n\t},\n];\n\nexport default DEFAULT_VIEWS;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,QAAQ,kBAAkB;;AAExC;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,sCAAsC,CAAC,CAAC;;AAExE,MAAMC,iBAAiB,GAAG;EACzBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE,EAAE;EACVC,OAAO,EAAE;IACRC,MAAM,EAAEL;EACT,CAAC;EACDM,IAAI,EAAE,CAAC;EACPC,OAAO,EAAE,CAAC;EACVC,IAAI,EAAE;IACLC,KAAK,EAAE,MAAM;IACbC,SAAS,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE,CAAE,QAAQ,EAAE,QAAQ,CAAE;EACtC;EACA;EACAC,YAAY,EAAE,CAAE,MAAM,EAAE,gBAAgB,CAAE;EAC1CC,MAAM,EAAE,CAAC;AACV,CAAC;AAED,MAAMC,aAAa,GAAG,CACrB;EACCC,KAAK,EAAEjB,EAAE,CAAE,KAAM,CAAC;EAClBkB,IAAI,EAAE,KAAK;EACXC,IAAI,EAAEhB;AACP,CAAC,EACD;EACCc,KAAK,EAAEjB,EAAE,CAAE,QAAS,CAAC;EACrBkB,IAAI,EAAE,QAAQ;EACdC,IAAI,EAAE;IACL,GAAGhB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,EACD;EACCU,KAAK,EAAEjB,EAAE,CAAE,OAAQ,CAAC;EACpBkB,IAAI,EAAE,OAAO;EACbE,IAAI,EAAEnB,KAAK;EACXkB,IAAI,EAAE;IACL,GAAGhB,iBAAiB;IACpBG,OAAO,EAAE;MACRC,MAAM,EAAE;IACT;EACD;AACD,CAAC,CACD;AAED,eAAeS,aAAa"}
@@ -1,80 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { Button, Dropdown, __experimentalText as Text, __experimentalHStack as HStack } from '@wordpress/components';
6
- import { __ } from '@wordpress/i18n';
7
- import { useDispatch } from '@wordpress/data';
8
- import { useState, useMemo } from '@wordpress/element';
9
- import { store as coreStore } from '@wordpress/core-data';
10
- import { store as noticesStore } from '@wordpress/notices';
11
- import { __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';
12
- import { humanTimeDiff } from '@wordpress/date';
13
- export default function ChangeStatus({
14
- postType,
15
- postId,
16
- status,
17
- date
18
- }) {
19
- const {
20
- editEntityRecord
21
- } = useDispatch(coreStore);
22
- const {
23
- createErrorNotice
24
- } = useDispatch(noticesStore);
25
- const [popoverAnchor, setPopoverAnchor] = useState(null);
26
- // Memoize popoverProps to avoid returning a new object every time.
27
- const popoverProps = useMemo(() => ({
28
- // Anchor the popover to the middle of the entire row so that it doesn't
29
- // move around when the label changes.
30
- anchor: popoverAnchor,
31
- 'aria-label': __('Change publish date'),
32
- placement: 'bottom-end'
33
- }), [popoverAnchor]);
34
- const saveDate = async newDate => {
35
- try {
36
- let newStatus = status;
37
- if (status === 'future' && new Date(newDate) < new Date()) {
38
- newStatus = 'publish';
39
- } else if (status === 'publish' && new Date(newDate) > new Date()) {
40
- newStatus = 'future';
41
- }
42
- await editEntityRecord('postType', postType, postId, {
43
- status: newStatus,
44
- date: newDate
45
- });
46
- } catch (error) {
47
- const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while updating the status');
48
- createErrorNotice(errorMessage, {
49
- type: 'snackbar'
50
- });
51
- }
52
- };
53
- const relateToNow = date ? humanTimeDiff(date) : __('Immediately');
54
- return createElement(HStack, {
55
- className: "edit-site-summary-field"
56
- }, createElement(Text, {
57
- className: "edit-site-summary-field__label"
58
- }, __('Publish')), createElement(Dropdown, {
59
- contentClassName: "edit-site-change-status__content",
60
- popoverProps: popoverProps,
61
- focusOnMount: true,
62
- ref: setPopoverAnchor,
63
- renderToggle: ({
64
- onToggle
65
- }) => createElement(Button, {
66
- className: "edit-site-summary-field__trigger",
67
- variant: "tertiary",
68
- onClick: onToggle
69
- }, relateToNow),
70
- renderContent: ({
71
- onClose
72
- }) => createElement(PublishDateTimePicker, {
73
- currentDate: date,
74
- is12Hour: true,
75
- onClose: onClose,
76
- onChange: saveDate
77
- })
78
- }));
79
- }
80
- //# sourceMappingURL=publish-date.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Button","Dropdown","__experimentalText","Text","__experimentalHStack","HStack","__","useDispatch","useState","useMemo","store","coreStore","noticesStore","__experimentalPublishDateTimePicker","PublishDateTimePicker","humanTimeDiff","ChangeStatus","postType","postId","status","date","editEntityRecord","createErrorNotice","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","saveDate","newDate","newStatus","Date","error","errorMessage","message","code","type","relateToNow","createElement","className","contentClassName","focusOnMount","ref","renderToggle","onToggle","variant","onClick","renderContent","onClose","currentDate","is12Hour","onChange"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/publish-date.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tDropdown,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { __experimentalPublishDateTimePicker as PublishDateTimePicker } from '@wordpress/block-editor';\nimport { humanTimeDiff } from '@wordpress/date';\n\nexport default function ChangeStatus( { postType, postId, status, date } ) {\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\t'aria-label': __( 'Change publish date' ),\n\t\t\tplacement: 'bottom-end',\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst saveDate = async ( newDate ) => {\n\t\ttry {\n\t\t\tlet newStatus = status;\n\t\t\tif ( status === 'future' && new Date( newDate ) < new Date() ) {\n\t\t\t\tnewStatus = 'publish';\n\t\t\t} else if (\n\t\t\t\tstatus === 'publish' &&\n\t\t\t\tnew Date( newDate ) > new Date()\n\t\t\t) {\n\t\t\t\tnewStatus = 'future';\n\t\t\t}\n\t\t\tawait editEntityRecord( 'postType', postType, postId, {\n\t\t\t\tstatus: newStatus,\n\t\t\t\tdate: newDate,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while updating the status' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst relateToNow = date ? humanTimeDiff( date ) : __( 'Immediately' );\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Publish' ) }\n\t\t\t</Text>\n\t\t\t<Dropdown\n\t\t\t\tcontentClassName=\"edit-site-change-status__content\"\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tfocusOnMount\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\trenderToggle={ ( { onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"edit-site-summary-field__trigger\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ relateToNow }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\tis12Hour\n\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\tonChange={ saveDate }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -1,75 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useEntityBlockEditor } from '@wordpress/core-data';
5
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
- import { useSelect } from '@wordpress/data';
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- import { store as editSiteStore } from '../../../store';
12
- import { unlock } from '../../../lock-unlock';
13
- import useSiteEditorSettings from '../use-site-editor-settings';
14
- import usePageContentBlocks from './use-page-content-blocks';
15
-
16
- const { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );
17
-
18
- const noop = () => {};
19
-
20
- /**
21
- * The default block editor provider for the site editor. Typically used when
22
- * the post type is `'wp_template_part'` or `'wp_template'` and allows editing
23
- * of the template and its nested entities.
24
- *
25
- * If the page content focus type is `'hideTemplate'`, the provider will provide
26
- * a set of page content blocks wrapped in a container that, together,
27
- * mimic the look and feel of the post editor and
28
- * allow editing of the page content only.
29
- *
30
- * @param {Object} props
31
- * @param {Element} props.children
32
- */
33
- export default function DefaultBlockEditorProvider( { children } ) {
34
- const settings = useSiteEditorSettings();
35
-
36
- const { templateType, isTemplateHidden } = useSelect( ( select ) => {
37
- const { getEditedPostType } = select( editSiteStore );
38
- const { getPageContentFocusType, getCanvasMode } = unlock(
39
- select( editSiteStore )
40
- );
41
- return {
42
- templateType: getEditedPostType(),
43
- isTemplateHidden:
44
- getCanvasMode() === 'edit' &&
45
- getPageContentFocusType() === 'hideTemplate',
46
- canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
47
- };
48
- }, [] );
49
-
50
- const [ blocks, onInput, onChange ] = useEntityBlockEditor(
51
- 'postType',
52
- templateType
53
- );
54
- const pageContentBlocks = usePageContentBlocks( {
55
- blocks,
56
- isPageContentFocused: isTemplateHidden,
57
- wrapPageContent: true,
58
- } );
59
-
60
- return (
61
- <ExperimentalBlockEditorProvider
62
- settings={ settings }
63
- value={
64
- isTemplateHidden && pageContentBlocks.length
65
- ? pageContentBlocks
66
- : blocks
67
- }
68
- onInput={ isTemplateHidden ? noop : onInput }
69
- onChange={ isTemplateHidden ? noop : onChange }
70
- useSubRegistry={ false }
71
- >
72
- { children }
73
- </ExperimentalBlockEditorProvider>
74
- );
75
- }
@@ -1,29 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect } from '@wordpress/data';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { store as editSiteStore } from '../../../store';
10
- import DefaultBlockEditorProvider from './default-block-editor-provider';
11
- import NavigationBlockEditorProvider from './navigation-block-editor-provider';
12
- import { NAVIGATION_POST_TYPE } from '../../../utils/constants';
13
-
14
- export default function BlockEditorProvider( { children } ) {
15
- const entityType = useSelect(
16
- ( select ) => select( editSiteStore ).getEditedPostType(),
17
- []
18
- );
19
- if ( entityType === NAVIGATION_POST_TYPE ) {
20
- return (
21
- <NavigationBlockEditorProvider>
22
- { children }
23
- </NavigationBlockEditorProvider>
24
- );
25
- }
26
- return (
27
- <DefaultBlockEditorProvider>{ children }</DefaultBlockEditorProvider>
28
- );
29
- }
@@ -1,114 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useSelect, useDispatch } from '@wordpress/data';
5
- import { useMemo, useEffect } from '@wordpress/element';
6
- import { useEntityId } from '@wordpress/core-data';
7
- import {
8
- store as blockEditorStore,
9
- privateApis as blockEditorPrivateApis,
10
- } from '@wordpress/block-editor';
11
- import { createBlock } from '@wordpress/blocks';
12
-
13
- /**
14
- * Internal dependencies
15
- */
16
- import { unlock } from '../../../lock-unlock';
17
- import useSiteEditorSettings from '../use-site-editor-settings';
18
- import { store as editSiteStore } from '../../../store';
19
- import { NAVIGATION_POST_TYPE } from '../../../utils/constants';
20
-
21
- const { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );
22
-
23
- const noop = () => {};
24
-
25
- /**
26
- * Block editor component for editing navigation menus.
27
- *
28
- * Note: Navigation entities require a wrapping Navigation block to provide
29
- * them with some basic layout and styling. Therefore we create a "ghost" block
30
- * and provide it will a reference to the navigation entity ID being edited.
31
- *
32
- * In this scenario it is the **block** that handles syncing the entity content
33
- * whereas for other entities this is handled by entity block editor.
34
- *
35
- * @param {number} navigationMenuId the navigation menu ID
36
- * @return {[WPBlock[], Function, Function]} The block array and setters.
37
- */
38
- export default function NavigationBlockEditorProvider( { children } ) {
39
- const defaultSettings = useSiteEditorSettings();
40
-
41
- const navigationMenuId = useEntityId( 'postType', NAVIGATION_POST_TYPE );
42
-
43
- const blocks = useMemo( () => {
44
- return [
45
- createBlock( 'core/navigation', {
46
- ref: navigationMenuId,
47
- // As the parent editor is locked with `templateLock`, the template locking
48
- // must be explicitly "unset" on the block itself to allow the user to modify
49
- // the block's content.
50
- templateLock: false,
51
- } ),
52
- ];
53
- }, [ navigationMenuId ] );
54
-
55
- const { isEditMode } = useSelect( ( select ) => {
56
- const { getCanvasMode } = unlock( select( editSiteStore ) );
57
-
58
- return {
59
- isEditMode: getCanvasMode() === 'edit',
60
- };
61
- }, [] );
62
-
63
- const { selectBlock, setBlockEditingMode, unsetBlockEditingMode } =
64
- useDispatch( blockEditorStore );
65
-
66
- const navigationBlockClientId = blocks && blocks[ 0 ]?.clientId;
67
-
68
- const settings = useMemo( () => {
69
- return {
70
- ...defaultSettings,
71
- // Lock the editor to allow the root ("ghost") Navigation block only.
72
- templateLock: 'insert',
73
- template: [ [ 'core/navigation', {}, [] ] ],
74
- };
75
- }, [ defaultSettings ] );
76
-
77
- // Auto-select the Navigation block when entering Navigation focus mode.
78
- useEffect( () => {
79
- if ( navigationBlockClientId && isEditMode ) {
80
- selectBlock( navigationBlockClientId );
81
- }
82
- }, [ navigationBlockClientId, isEditMode, selectBlock ] );
83
-
84
- // Set block editing mode to contentOnly when entering Navigation focus mode.
85
- // This ensures that non-content controls on the block will be hidden and thus
86
- // the user can focus on editing the Navigation Menu content only.
87
- useEffect( () => {
88
- if ( ! navigationBlockClientId ) {
89
- return;
90
- }
91
-
92
- setBlockEditingMode( navigationBlockClientId, 'contentOnly' );
93
-
94
- return () => {
95
- unsetBlockEditingMode( navigationBlockClientId );
96
- };
97
- }, [
98
- navigationBlockClientId,
99
- unsetBlockEditingMode,
100
- setBlockEditingMode,
101
- ] );
102
-
103
- return (
104
- <ExperimentalBlockEditorProvider
105
- settings={ settings }
106
- value={ blocks }
107
- onInput={ noop }
108
- onChange={ noop }
109
- useSubRegistry={ false }
110
- >
111
- { children }
112
- </ExperimentalBlockEditorProvider>
113
- );
114
- }
@@ -1,116 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { renderHook } from '@testing-library/react';
5
- /**
6
- * WordPress dependencies
7
- */
8
- import { createBlock } from '@wordpress/blocks';
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
- import usePageContentBlocks from '../use-page-content-blocks';
14
-
15
- jest.mock( '@wordpress/blocks', () => {
16
- return {
17
- __esModule: true,
18
- ...jest.requireActual( '@wordpress/blocks' ),
19
- createBlock( name, attributes = {}, innerBlocks = [] ) {
20
- return {
21
- name,
22
- attributes,
23
- innerBlocks,
24
- };
25
- },
26
- };
27
- } );
28
-
29
- describe( 'usePageContentBlocks', () => {
30
- const blocksList = [
31
- createBlock( 'core/group', {}, [
32
- createBlock( 'core/post-title' ),
33
- createBlock( 'core/post-featured-image' ),
34
- createBlock( 'core/query', {}, [
35
- createBlock( 'core/post-title' ),
36
- createBlock( 'core/post-featured-image' ),
37
- createBlock( 'core/post-content' ),
38
- ] ),
39
- createBlock( 'core/post-content' ),
40
- ] ),
41
- createBlock( 'core/query' ),
42
- createBlock( 'core/paragraph' ),
43
- createBlock( 'core/post-content' ),
44
- ];
45
- it( 'should return empty array if `isPageContentFocused` is `false`', () => {
46
- const { result } = renderHook( () =>
47
- usePageContentBlocks( {
48
- blocks: blocksList,
49
- isPageContentFocused: false,
50
- } )
51
- );
52
- expect( result.current ).toEqual( [] );
53
- } );
54
- it( 'should return empty array if `blocks` is undefined', () => {
55
- const { result } = renderHook( () =>
56
- usePageContentBlocks( {
57
- blocks: undefined,
58
- isPageContentFocused: true,
59
- } )
60
- );
61
- expect( result.current ).toEqual( [] );
62
- } );
63
- it( 'should return empty array if `blocks` is an empty array', () => {
64
- const { result } = renderHook( () =>
65
- usePageContentBlocks( {
66
- blocks: [],
67
- isPageContentFocused: true,
68
- } )
69
- );
70
- expect( result.current ).toEqual( [] );
71
- } );
72
- it( 'should return new block list', () => {
73
- const { result } = renderHook( () =>
74
- usePageContentBlocks( {
75
- blocks: blocksList,
76
- isPageContentFocused: true,
77
- } )
78
- );
79
- expect( result.current ).toEqual( [
80
- createBlock( 'core/post-title' ),
81
- createBlock( 'core/post-featured-image' ),
82
- createBlock( 'core/post-content' ),
83
- createBlock( 'core/post-content' ),
84
- ] );
85
- } );
86
- it( 'should return new block list wrapped in a Group block', () => {
87
- const { result } = renderHook( () =>
88
- usePageContentBlocks( {
89
- blocks: blocksList,
90
- isPageContentFocused: true,
91
- wrapPageContent: true,
92
- } )
93
- );
94
- expect( result.current ).toEqual( [
95
- {
96
- name: 'core/group',
97
- attributes: {
98
- layout: { type: 'constrained' },
99
- style: {
100
- spacing: {
101
- margin: {
102
- top: '4em', // Mimics the post editor.
103
- },
104
- },
105
- },
106
- },
107
- innerBlocks: [
108
- createBlock( 'core/post-title' ),
109
- createBlock( 'core/post-featured-image' ),
110
- createBlock( 'core/post-content' ),
111
- createBlock( 'core/post-content' ),
112
- ],
113
- },
114
- ] );
115
- } );
116
- } );
@@ -1,90 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useMemo } from '@wordpress/element';
5
- import { createBlock } from '@wordpress/blocks';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import { PAGE_CONTENT_BLOCK_TYPES } from '../../../utils/constants';
11
-
12
- /**
13
- * Helper method to iterate through all blocks, recursing into allowed inner blocks.
14
- * Returns a flattened object of transformed blocks.
15
- *
16
- * @param {Array} blocks Blocks to flatten.
17
- * @param {Function} transform Transforming function to be applied to each block. If transform returns `undefined`, the block is skipped.
18
- *
19
- * @return {Array} Flattened object.
20
- */
21
- function flattenBlocks( blocks, transform ) {
22
- const result = [];
23
- for ( let i = 0; i < blocks.length; i++ ) {
24
- // Since the Query Block could contain PAGE_CONTENT_BLOCK_TYPES block types,
25
- // we skip it because we only want to render stand-alone page content blocks in the block list.
26
- if ( [ 'core/query' ].includes( blocks[ i ].name ) ) {
27
- continue;
28
- }
29
- const transformedBlock = transform( blocks[ i ] );
30
- if ( transformedBlock ) {
31
- result.push( transformedBlock );
32
- }
33
- result.push( ...flattenBlocks( blocks[ i ].innerBlocks, transform ) );
34
- }
35
-
36
- return result;
37
- }
38
-
39
- /**
40
- * Returns a memoized array of blocks that contain only page content blocks,
41
- * surrounded by an optional group block to mimic the post editor.
42
- *
43
- * @param {Object} props The argument for the function.
44
- * @param {Array} props.blocks Block list.
45
- * @param {boolean} props.isPageContentFocused Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.
46
- * @param {boolean} props.wrapPageContent Whether to wrap the page content blocks in a group block to mimic the post editor. Default `false`.
47
- * @return {Array} Page content blocks.
48
- */
49
- export default function usePageContentBlocks( {
50
- blocks = [],
51
- isPageContentFocused = false,
52
- wrapPageContent = false,
53
- } ) {
54
- return useMemo( () => {
55
- if ( ! isPageContentFocused || ! blocks?.length ) {
56
- return [];
57
- }
58
-
59
- const innerBlocks = flattenBlocks( blocks, ( block ) =>
60
- PAGE_CONTENT_BLOCK_TYPES[ block.name ]
61
- ? createBlock( block.name )
62
- : undefined
63
- );
64
-
65
- if ( ! innerBlocks.length ) {
66
- return [];
67
- }
68
-
69
- if ( ! wrapPageContent ) {
70
- return innerBlocks;
71
- }
72
-
73
- return [
74
- createBlock(
75
- 'core/group',
76
- {
77
- layout: { type: 'constrained' },
78
- style: {
79
- spacing: {
80
- margin: {
81
- top: '4em', // Mimics the post editor.
82
- },
83
- },
84
- },
85
- },
86
- innerBlocks
87
- ),
88
- ];
89
- }, [ blocks, isPageContentFocused ] );
90
- }