@wordpress/edit-site 5.22.0 → 5.23.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 (355) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/actions/index.js +86 -4
  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/use-site-editor-settings.js +54 -63
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/dataviews/add-filter.js +90 -0
  9. package/build/components/dataviews/add-filter.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +23 -4
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filters.js +36 -32
  13. package/build/components/dataviews/filters.js.map +1 -1
  14. package/build/components/dataviews/in-filter.js +22 -20
  15. package/build/components/dataviews/in-filter.js.map +1 -1
  16. package/build/components/dataviews/index.js +9 -2
  17. package/build/components/dataviews/index.js.map +1 -1
  18. package/build/components/dataviews/item-actions.js +81 -13
  19. package/build/components/dataviews/item-actions.js.map +1 -1
  20. package/build/components/dataviews/pagination.js +3 -2
  21. package/build/components/dataviews/pagination.js.map +1 -1
  22. package/build/components/dataviews/reset-filters.js +33 -0
  23. package/build/components/dataviews/reset-filters.js.map +1 -0
  24. package/build/components/dataviews/search.js +1 -0
  25. package/build/components/dataviews/search.js.map +1 -1
  26. package/build/components/dataviews/view-actions.js +27 -10
  27. package/build/components/dataviews/view-actions.js.map +1 -1
  28. package/build/components/dataviews/view-list.js +126 -5
  29. package/build/components/dataviews/view-list.js.map +1 -1
  30. package/build/components/dataviews/view-side-by-side.js +20 -0
  31. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  32. package/build/components/editor/index.js +53 -53
  33. package/build/components/editor/index.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/index.js +42 -21
  35. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +3 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/ui.js +3 -3
  39. package/build/components/global-styles/ui.js.map +1 -1
  40. package/build/components/global-styles-renderer/index.js +1 -1
  41. package/build/components/global-styles-renderer/index.js.map +1 -1
  42. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  43. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  44. package/build/components/header-edit-mode/index.js +48 -116
  45. package/build/components/header-edit-mode/index.js.map +1 -1
  46. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  47. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  48. package/build/components/layout/index.js +4 -19
  49. package/build/components/layout/index.js.map +1 -1
  50. package/build/components/list/added-by.js +1 -0
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  53. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  54. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  55. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  56. package/build/components/page-main/index.js +2 -1
  57. package/build/components/page-main/index.js.map +1 -1
  58. package/build/components/page-pages/index.js +133 -78
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-pages/side-editor.js +25 -0
  61. package/build/components/page-pages/side-editor.js.map +1 -0
  62. package/build/components/page-patterns/grid-item.js +2 -2
  63. package/build/components/page-patterns/grid-item.js.map +1 -1
  64. package/build/components/page-patterns/patterns-list.js +3 -3
  65. package/build/components/page-patterns/patterns-list.js.map +1 -1
  66. package/build/components/page-patterns/use-patterns.js +1 -1
  67. package/build/components/page-patterns/use-patterns.js.map +1 -1
  68. package/build/components/page-templates/dataviews-templates.js +201 -0
  69. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  70. package/build/components/page-templates/template-actions.js +168 -0
  71. package/build/components/page-templates/template-actions.js.map +1 -0
  72. package/build/components/sidebar/index.js +1 -2
  73. package/build/components/sidebar/index.js.map +1 -1
  74. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  75. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  76. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  77. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  78. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  79. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  80. package/build/components/sidebar-dataviews/default-views.js +60 -0
  81. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  82. package/build/components/sidebar-dataviews/index.js +21 -38
  83. package/build/components/sidebar-dataviews/index.js.map +1 -1
  84. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  85. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  87. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  89. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  91. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  93. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  95. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  97. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  98. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  99. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  101. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-page/page-details.js +3 -11
  103. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  105. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  106. package/build/components/site-hub/index.js +18 -6
  107. package/build/components/site-hub/index.js.map +1 -1
  108. package/build/components/start-template-options/index.js +12 -16
  109. package/build/components/start-template-options/index.js.map +1 -1
  110. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  111. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  112. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  113. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  114. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  115. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  116. package/build/hooks/template-part-edit.js +6 -2
  117. package/build/hooks/template-part-edit.js.map +1 -1
  118. package/build/index.js +0 -3
  119. package/build/index.js.map +1 -1
  120. package/build/store/actions.js +35 -82
  121. package/build/store/actions.js.map +1 -1
  122. package/build/store/selectors.js +25 -63
  123. package/build/store/selectors.js.map +1 -1
  124. package/build/utils/constants.js +3 -3
  125. package/build/utils/constants.js.map +1 -1
  126. package/build-module/components/actions/index.js +85 -5
  127. package/build-module/components/actions/index.js.map +1 -1
  128. package/build-module/components/add-new-template/new-template.js +0 -7
  129. package/build-module/components/add-new-template/new-template.js.map +1 -1
  130. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  131. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  132. package/build-module/components/dataviews/add-filter.js +83 -0
  133. package/build-module/components/dataviews/add-filter.js.map +1 -0
  134. package/build-module/components/dataviews/dataviews.js +22 -4
  135. package/build-module/components/dataviews/dataviews.js.map +1 -1
  136. package/build-module/components/dataviews/filters.js +34 -32
  137. package/build-module/components/dataviews/filters.js.map +1 -1
  138. package/build-module/components/dataviews/in-filter.js +20 -19
  139. package/build-module/components/dataviews/in-filter.js.map +1 -1
  140. package/build-module/components/dataviews/index.js +1 -1
  141. package/build-module/components/dataviews/index.js.map +1 -1
  142. package/build-module/components/dataviews/item-actions.js +84 -16
  143. package/build-module/components/dataviews/item-actions.js.map +1 -1
  144. package/build-module/components/dataviews/pagination.js +3 -2
  145. package/build-module/components/dataviews/pagination.js.map +1 -1
  146. package/build-module/components/dataviews/reset-filters.js +26 -0
  147. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  148. package/build-module/components/dataviews/search.js +1 -0
  149. package/build-module/components/dataviews/search.js.map +1 -1
  150. package/build-module/components/dataviews/view-actions.js +28 -11
  151. package/build-module/components/dataviews/view-actions.js.map +1 -1
  152. package/build-module/components/dataviews/view-list.js +128 -7
  153. package/build-module/components/dataviews/view-list.js.map +1 -1
  154. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  155. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  156. package/build-module/components/editor/index.js +57 -57
  157. package/build-module/components/editor/index.js.map +1 -1
  158. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  159. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  160. package/build-module/components/global-styles/screen-root.js +3 -3
  161. package/build-module/components/global-styles/screen-root.js.map +1 -1
  162. package/build-module/components/global-styles/ui.js +3 -3
  163. package/build-module/components/global-styles/ui.js.map +1 -1
  164. package/build-module/components/global-styles-renderer/index.js +1 -1
  165. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  166. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  167. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  168. package/build-module/components/header-edit-mode/index.js +52 -120
  169. package/build-module/components/header-edit-mode/index.js.map +1 -1
  170. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  171. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  172. package/build-module/components/layout/index.js +5 -20
  173. package/build-module/components/layout/index.js.map +1 -1
  174. package/build-module/components/list/added-by.js +1 -1
  175. package/build-module/components/list/added-by.js.map +1 -1
  176. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  177. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  178. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  179. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  180. package/build-module/components/page-main/index.js +2 -1
  181. package/build-module/components/page-main/index.js.map +1 -1
  182. package/build-module/components/page-pages/index.js +137 -80
  183. package/build-module/components/page-pages/index.js.map +1 -1
  184. package/build-module/components/page-pages/side-editor.js +17 -0
  185. package/build-module/components/page-pages/side-editor.js.map +1 -0
  186. package/build-module/components/page-patterns/grid-item.js +2 -2
  187. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  188. package/build-module/components/page-patterns/patterns-list.js +4 -4
  189. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  190. package/build-module/components/page-patterns/use-patterns.js +2 -2
  191. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  192. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  193. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  194. package/build-module/components/page-templates/template-actions.js +157 -0
  195. package/build-module/components/page-templates/template-actions.js.map +1 -0
  196. package/build-module/components/sidebar/index.js +1 -2
  197. package/build-module/components/sidebar/index.js.map +1 -1
  198. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  199. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  200. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  201. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  202. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  203. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  204. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  205. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  206. package/build-module/components/sidebar-dataviews/index.js +22 -39
  207. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  208. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  209. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  210. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  211. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  212. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  213. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  214. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  215. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  216. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  217. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  221. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  222. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  223. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  224. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  225. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  226. package/build-module/components/sidebar-navigation-screen-page/page-details.js +3 -11
  227. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  228. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  229. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  230. package/build-module/components/site-hub/index.js +19 -7
  231. package/build-module/components/site-hub/index.js.map +1 -1
  232. package/build-module/components/start-template-options/index.js +13 -16
  233. package/build-module/components/start-template-options/index.js.map +1 -1
  234. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  235. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  236. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  237. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  238. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  239. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  240. package/build-module/hooks/template-part-edit.js +6 -2
  241. package/build-module/hooks/template-part-edit.js.map +1 -1
  242. package/build-module/index.js +0 -3
  243. package/build-module/index.js.map +1 -1
  244. package/build-module/store/actions.js +33 -79
  245. package/build-module/store/actions.js.map +1 -1
  246. package/build-module/store/selectors.js +19 -58
  247. package/build-module/store/selectors.js.map +1 -1
  248. package/build-module/utils/constants.js +1 -1
  249. package/build-module/utils/constants.js.map +1 -1
  250. package/build-style/style-rtl.css +69 -119
  251. package/build-style/style.css +69 -119
  252. package/package.json +41 -41
  253. package/src/components/actions/index.js +113 -5
  254. package/src/components/add-new-template/new-template.js +0 -5
  255. package/src/components/block-editor/style.scss +0 -87
  256. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  257. package/src/components/dataviews/README.md +77 -83
  258. package/src/components/dataviews/add-filter.js +111 -0
  259. package/src/components/dataviews/dataviews.js +20 -2
  260. package/src/components/dataviews/filters.js +56 -49
  261. package/src/components/dataviews/in-filter.js +35 -17
  262. package/src/components/dataviews/index.js +1 -1
  263. package/src/components/dataviews/item-actions.js +95 -20
  264. package/src/components/dataviews/pagination.js +5 -4
  265. package/src/components/dataviews/reset-filters.js +26 -0
  266. package/src/components/dataviews/search.js +1 -0
  267. package/src/components/dataviews/style.scss +5 -1
  268. package/src/components/dataviews/view-actions.js +39 -9
  269. package/src/components/dataviews/view-list.js +174 -3
  270. package/src/components/dataviews/view-side-by-side.js +9 -0
  271. package/src/components/editor/index.js +149 -121
  272. package/src/components/global-styles/screen-revisions/index.js +52 -25
  273. package/src/components/global-styles/screen-root.js +2 -1
  274. package/src/components/global-styles/ui.js +1 -1
  275. package/src/components/global-styles-renderer/index.js +1 -1
  276. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  277. package/src/components/header-edit-mode/index.js +86 -184
  278. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  279. package/src/components/header-edit-mode/style.scss +35 -2
  280. package/src/components/layout/index.js +4 -11
  281. package/src/components/layout/style.scss +6 -18
  282. package/src/components/list/added-by.js +1 -1
  283. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  284. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  285. package/src/components/page-main/index.js +6 -1
  286. package/src/components/page-pages/index.js +162 -81
  287. package/src/components/page-pages/side-editor.js +14 -0
  288. package/src/components/page-patterns/grid-item.js +3 -3
  289. package/src/components/page-patterns/patterns-list.js +10 -4
  290. package/src/components/page-patterns/use-patterns.js +3 -2
  291. package/src/components/page-templates/dataviews-templates.js +224 -0
  292. package/src/components/page-templates/template-actions.js +209 -0
  293. package/src/components/sidebar/index.js +1 -2
  294. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  295. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  296. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  297. package/src/components/sidebar-dataviews/default-views.js +54 -0
  298. package/src/components/sidebar-dataviews/index.js +36 -45
  299. package/src/components/sidebar-dataviews/style.scss +22 -0
  300. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  301. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  302. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  303. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  304. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  305. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  306. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  307. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  308. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  309. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  310. package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
  311. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  312. package/src/components/site-hub/index.js +9 -8
  313. package/src/components/start-template-options/index.js +14 -12
  314. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  315. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  316. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  317. package/src/hooks/template-part-edit.js +4 -2
  318. package/src/index.js +0 -8
  319. package/src/store/actions.js +37 -95
  320. package/src/store/selectors.js +31 -91
  321. package/src/store/test/actions.js +11 -137
  322. package/src/store/test/selectors.js +0 -82
  323. package/src/style.scss +1 -0
  324. package/src/utils/constants.js +1 -1
  325. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  326. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  327. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  328. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  329. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  330. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  331. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  332. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  333. package/build/components/block-editor/index.js +0 -30
  334. package/build/components/block-editor/index.js.map +0 -1
  335. package/build/components/page-pages/default-views.js +0 -62
  336. package/build/components/page-pages/default-views.js.map +0 -1
  337. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  338. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  339. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  340. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  341. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  342. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  343. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  344. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  345. package/build-module/components/block-editor/index.js +0 -22
  346. package/build-module/components/block-editor/index.js.map +0 -1
  347. package/build-module/components/page-pages/default-views.js +0 -55
  348. package/build-module/components/page-pages/default-views.js.map +0 -1
  349. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  350. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  351. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  352. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  353. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  354. package/src/components/block-editor/index.js +0 -28
  355. package/src/components/page-pages/default-views.js +0 -60
@@ -1,102 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { useSelect, useDispatch } from '@wordpress/data';
6
- import { useMemo, useEffect } from '@wordpress/element';
7
- import { useEntityId } from '@wordpress/core-data';
8
- import { store as blockEditorStore, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
- import { createBlock } from '@wordpress/blocks';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import { unlock } from '../../../lock-unlock';
15
- import useSiteEditorSettings from '../use-site-editor-settings';
16
- import { store as editSiteStore } from '../../../store';
17
- import { NAVIGATION_POST_TYPE } from '../../../utils/constants';
18
- const {
19
- ExperimentalBlockEditorProvider
20
- } = unlock(blockEditorPrivateApis);
21
- const noop = () => {};
22
-
23
- /**
24
- * Block editor component for editing navigation menus.
25
- *
26
- * Note: Navigation entities require a wrapping Navigation block to provide
27
- * them with some basic layout and styling. Therefore we create a "ghost" block
28
- * and provide it will a reference to the navigation entity ID being edited.
29
- *
30
- * In this scenario it is the **block** that handles syncing the entity content
31
- * whereas for other entities this is handled by entity block editor.
32
- *
33
- * @param {number} navigationMenuId the navigation menu ID
34
- * @return {[WPBlock[], Function, Function]} The block array and setters.
35
- */
36
- export default function NavigationBlockEditorProvider({
37
- children
38
- }) {
39
- const defaultSettings = useSiteEditorSettings();
40
- const navigationMenuId = useEntityId('postType', NAVIGATION_POST_TYPE);
41
- const blocks = useMemo(() => {
42
- return [createBlock('core/navigation', {
43
- ref: navigationMenuId,
44
- // As the parent editor is locked with `templateLock`, the template locking
45
- // must be explicitly "unset" on the block itself to allow the user to modify
46
- // the block's content.
47
- templateLock: false
48
- })];
49
- }, [navigationMenuId]);
50
- const {
51
- isEditMode
52
- } = useSelect(select => {
53
- const {
54
- getCanvasMode
55
- } = unlock(select(editSiteStore));
56
- return {
57
- isEditMode: getCanvasMode() === 'edit'
58
- };
59
- }, []);
60
- const {
61
- selectBlock,
62
- setBlockEditingMode,
63
- unsetBlockEditingMode
64
- } = useDispatch(blockEditorStore);
65
- const navigationBlockClientId = blocks && blocks[0]?.clientId;
66
- const settings = useMemo(() => {
67
- return {
68
- ...defaultSettings,
69
- // Lock the editor to allow the root ("ghost") Navigation block only.
70
- templateLock: 'insert',
71
- template: [['core/navigation', {}, []]]
72
- };
73
- }, [defaultSettings]);
74
-
75
- // Auto-select the Navigation block when entering Navigation focus mode.
76
- useEffect(() => {
77
- if (navigationBlockClientId && isEditMode) {
78
- selectBlock(navigationBlockClientId);
79
- }
80
- }, [navigationBlockClientId, isEditMode, selectBlock]);
81
-
82
- // Set block editing mode to contentOnly when entering Navigation focus mode.
83
- // This ensures that non-content controls on the block will be hidden and thus
84
- // the user can focus on editing the Navigation Menu content only.
85
- useEffect(() => {
86
- if (!navigationBlockClientId) {
87
- return;
88
- }
89
- setBlockEditingMode(navigationBlockClientId, 'contentOnly');
90
- return () => {
91
- unsetBlockEditingMode(navigationBlockClientId);
92
- };
93
- }, [navigationBlockClientId, unsetBlockEditingMode, setBlockEditingMode]);
94
- return createElement(ExperimentalBlockEditorProvider, {
95
- settings: settings,
96
- value: blocks,
97
- onInput: noop,
98
- onChange: noop,
99
- useSubRegistry: false
100
- }, children);
101
- }
102
- //# sourceMappingURL=navigation-block-editor-provider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useSelect","useDispatch","useMemo","useEffect","useEntityId","store","blockEditorStore","privateApis","blockEditorPrivateApis","createBlock","unlock","useSiteEditorSettings","editSiteStore","NAVIGATION_POST_TYPE","ExperimentalBlockEditorProvider","noop","NavigationBlockEditorProvider","children","defaultSettings","navigationMenuId","blocks","ref","templateLock","isEditMode","select","getCanvasMode","selectBlock","setBlockEditingMode","unsetBlockEditingMode","navigationBlockClientId","clientId","settings","template","createElement","value","onInput","onChange","useSubRegistry"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { useEntityId } from '@wordpress/core-data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport useSiteEditorSettings from '../use-site-editor-settings';\nimport { store as editSiteStore } from '../../../store';\nimport { NAVIGATION_POST_TYPE } from '../../../utils/constants';\n\nconst { ExperimentalBlockEditorProvider } = unlock( blockEditorPrivateApis );\n\nconst noop = () => {};\n\n/**\n * Block editor component for editing navigation menus.\n *\n * Note: Navigation entities require a wrapping Navigation block to provide\n * them with some basic layout and styling. Therefore we create a \"ghost\" block\n * and provide it will a reference to the navigation entity ID being edited.\n *\n * In this scenario it is the **block** that handles syncing the entity content\n * whereas for other entities this is handled by entity block editor.\n *\n * @param {number} navigationMenuId the navigation menu ID\n * @return {[WPBlock[], Function, Function]} The block array and setters.\n */\nexport default function NavigationBlockEditorProvider( { children } ) {\n\tconst defaultSettings = useSiteEditorSettings();\n\n\tconst navigationMenuId = useEntityId( 'postType', NAVIGATION_POST_TYPE );\n\n\tconst blocks = useMemo( () => {\n\t\treturn [\n\t\t\tcreateBlock( 'core/navigation', {\n\t\t\t\tref: navigationMenuId,\n\t\t\t\t// As the parent editor is locked with `templateLock`, the template locking\n\t\t\t\t// must be explicitly \"unset\" on the block itself to allow the user to modify\n\t\t\t\t// the block's content.\n\t\t\t\ttemplateLock: false,\n\t\t\t} ),\n\t\t];\n\t}, [ navigationMenuId ] );\n\n\tconst { isEditMode } = useSelect( ( select ) => {\n\t\tconst { getCanvasMode } = unlock( select( editSiteStore ) );\n\n\t\treturn {\n\t\t\tisEditMode: getCanvasMode() === 'edit',\n\t\t};\n\t}, [] );\n\n\tconst { selectBlock, setBlockEditingMode, unsetBlockEditingMode } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst navigationBlockClientId = blocks && blocks[ 0 ]?.clientId;\n\n\tconst settings = useMemo( () => {\n\t\treturn {\n\t\t\t...defaultSettings,\n\t\t\t// Lock the editor to allow the root (\"ghost\") Navigation block only.\n\t\t\ttemplateLock: 'insert',\n\t\t\ttemplate: [ [ 'core/navigation', {}, [] ] ],\n\t\t};\n\t}, [ defaultSettings ] );\n\n\t// Auto-select the Navigation block when entering Navigation focus mode.\n\tuseEffect( () => {\n\t\tif ( navigationBlockClientId && isEditMode ) {\n\t\t\tselectBlock( navigationBlockClientId );\n\t\t}\n\t}, [ navigationBlockClientId, isEditMode, selectBlock ] );\n\n\t// Set block editing mode to contentOnly when entering Navigation focus mode.\n\t// This ensures that non-content controls on the block will be hidden and thus\n\t// the user can focus on editing the Navigation Menu content only.\n\tuseEffect( () => {\n\t\tif ( ! navigationBlockClientId ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetBlockEditingMode( navigationBlockClientId, 'contentOnly' );\n\n\t\treturn () => {\n\t\t\tunsetBlockEditingMode( navigationBlockClientId );\n\t\t};\n\t}, [\n\t\tnavigationBlockClientId,\n\t\tunsetBlockEditingMode,\n\t\tsetBlockEditingMode,\n\t] );\n\n\treturn (\n\t\t<ExperimentalBlockEditorProvider\n\t\t\tsettings={ settings }\n\t\t\tvalue={ blocks }\n\t\t\tonInput={ noop }\n\t\t\tonChange={ noop }\n\t\t\tuseSubRegistry={ false }\n\t\t>\n\t\t\t{ children }\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AACvD,SAASC,WAAW,QAAQ,sBAAsB;AAClD,SACCC,KAAK,IAAIC,gBAAgB,EACzBC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA,SAASC,MAAM,QAAQ,sBAAsB;AAC7C,OAAOC,qBAAqB,MAAM,6BAA6B;AAC/D,SAASN,KAAK,IAAIO,aAAa,QAAQ,gBAAgB;AACvD,SAASC,oBAAoB,QAAQ,0BAA0B;AAE/D,MAAM;EAAEC;AAAgC,CAAC,GAAGJ,MAAM,CAAEF,sBAAuB,CAAC;AAE5E,MAAMO,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,6BAA6BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACrE,MAAMC,eAAe,GAAGP,qBAAqB,CAAC,CAAC;EAE/C,MAAMQ,gBAAgB,GAAGf,WAAW,CAAE,UAAU,EAAES,oBAAqB,CAAC;EAExE,MAAMO,MAAM,GAAGlB,OAAO,CAAE,MAAM;IAC7B,OAAO,CACNO,WAAW,CAAE,iBAAiB,EAAE;MAC/BY,GAAG,EAAEF,gBAAgB;MACrB;MACA;MACA;MACAG,YAAY,EAAE;IACf,CAAE,CAAC,CACH;EACF,CAAC,EAAE,CAAEH,gBAAgB,CAAG,CAAC;EAEzB,MAAM;IAAEI;EAAW,CAAC,GAAGvB,SAAS,CAAIwB,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAc,CAAC,GAAGf,MAAM,CAAEc,MAAM,CAAEZ,aAAc,CAAE,CAAC;IAE3D,OAAO;MACNW,UAAU,EAAEE,aAAa,CAAC,CAAC,KAAK;IACjC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEC,WAAW;IAAEC,mBAAmB;IAAEC;EAAsB,CAAC,GAChE3B,WAAW,CAAEK,gBAAiB,CAAC;EAEhC,MAAMuB,uBAAuB,GAAGT,MAAM,IAAIA,MAAM,CAAE,CAAC,CAAE,EAAEU,QAAQ;EAE/D,MAAMC,QAAQ,GAAG7B,OAAO,CAAE,MAAM;IAC/B,OAAO;MACN,GAAGgB,eAAe;MAClB;MACAI,YAAY,EAAE,QAAQ;MACtBU,QAAQ,EAAE,CAAE,CAAE,iBAAiB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAE;IAC1C,CAAC;EACF,CAAC,EAAE,CAAEd,eAAe,CAAG,CAAC;;EAExB;EACAf,SAAS,CAAE,MAAM;IAChB,IAAK0B,uBAAuB,IAAIN,UAAU,EAAG;MAC5CG,WAAW,CAAEG,uBAAwB,CAAC;IACvC;EACD,CAAC,EAAE,CAAEA,uBAAuB,EAAEN,UAAU,EAAEG,WAAW,CAAG,CAAC;;EAEzD;EACA;EACA;EACAvB,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE0B,uBAAuB,EAAG;MAChC;IACD;IAEAF,mBAAmB,CAAEE,uBAAuB,EAAE,aAAc,CAAC;IAE7D,OAAO,MAAM;MACZD,qBAAqB,CAAEC,uBAAwB,CAAC;IACjD,CAAC;EACF,CAAC,EAAE,CACFA,uBAAuB,EACvBD,qBAAqB,EACrBD,mBAAmB,CAClB,CAAC;EAEH,OACCM,aAAA,CAACnB,+BAA+B;IAC/BiB,QAAQ,EAAGA,QAAU;IACrBG,KAAK,EAAGd,MAAQ;IAChBe,OAAO,EAAGpB,IAAM;IAChBqB,QAAQ,EAAGrB,IAAM;IACjBsB,cAAc,EAAG;EAAO,GAEtBpB,QAC8B,CAAC;AAEpC"}
@@ -1,78 +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
- return result;
36
- }
37
-
38
- /**
39
- * Returns a memoized array of blocks that contain only page content blocks,
40
- * surrounded by an optional group block to mimic the post editor.
41
- *
42
- * @param {Object} props The argument for the function.
43
- * @param {Array} props.blocks Block list.
44
- * @param {boolean} props.isPageContentFocused Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.
45
- * @param {boolean} props.wrapPageContent Whether to wrap the page content blocks in a group block to mimic the post editor. Default `false`.
46
- * @return {Array} Page content blocks.
47
- */
48
- export default function usePageContentBlocks({
49
- blocks = [],
50
- isPageContentFocused = false,
51
- wrapPageContent = false
52
- }) {
53
- return useMemo(() => {
54
- if (!isPageContentFocused || !blocks?.length) {
55
- return [];
56
- }
57
- const innerBlocks = flattenBlocks(blocks, block => PAGE_CONTENT_BLOCK_TYPES[block.name] ? createBlock(block.name) : undefined);
58
- if (!innerBlocks.length) {
59
- return [];
60
- }
61
- if (!wrapPageContent) {
62
- return innerBlocks;
63
- }
64
- return [createBlock('core/group', {
65
- layout: {
66
- type: 'constrained'
67
- },
68
- style: {
69
- spacing: {
70
- margin: {
71
- top: '4em' // Mimics the post editor.
72
- }
73
- }
74
- }
75
- }, innerBlocks)];
76
- }, [blocks, isPageContentFocused]);
77
- }
78
- //# sourceMappingURL=use-page-content-blocks.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["useMemo","createBlock","PAGE_CONTENT_BLOCK_TYPES","flattenBlocks","blocks","transform","result","i","length","includes","name","transformedBlock","push","innerBlocks","usePageContentBlocks","isPageContentFocused","wrapPageContent","block","undefined","layout","type","style","spacing","margin","top"],"sources":["@wordpress/edit-site/src/components/block-editor/block-editor-provider/use-page-content-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { createBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { PAGE_CONTENT_BLOCK_TYPES } from '../../../utils/constants';\n\n/**\n * Helper method to iterate through all blocks, recursing into allowed inner blocks.\n * Returns a flattened object of transformed blocks.\n *\n * @param {Array} blocks Blocks to flatten.\n * @param {Function} transform Transforming function to be applied to each block. If transform returns `undefined`, the block is skipped.\n *\n * @return {Array} Flattened object.\n */\nfunction flattenBlocks( blocks, transform ) {\n\tconst result = [];\n\tfor ( let i = 0; i < blocks.length; i++ ) {\n\t\t// Since the Query Block could contain PAGE_CONTENT_BLOCK_TYPES block types,\n\t\t// we skip it because we only want to render stand-alone page content blocks in the block list.\n\t\tif ( [ 'core/query' ].includes( blocks[ i ].name ) ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst transformedBlock = transform( blocks[ i ] );\n\t\tif ( transformedBlock ) {\n\t\t\tresult.push( transformedBlock );\n\t\t}\n\t\tresult.push( ...flattenBlocks( blocks[ i ].innerBlocks, transform ) );\n\t}\n\n\treturn result;\n}\n\n/**\n * Returns a memoized array of blocks that contain only page content blocks,\n * surrounded by an optional group block to mimic the post editor.\n *\n * @param {Object} props The argument for the function.\n * @param {Array} props.blocks Block list.\n * @param {boolean} props.isPageContentFocused Whether the page content has focus (and the surrounding template is inert). If `true` return page content blocks. Default `false`.\n * @param {boolean} props.wrapPageContent Whether to wrap the page content blocks in a group block to mimic the post editor. Default `false`.\n * @return {Array} Page content blocks.\n */\nexport default function usePageContentBlocks( {\n\tblocks = [],\n\tisPageContentFocused = false,\n\twrapPageContent = false,\n} ) {\n\treturn useMemo( () => {\n\t\tif ( ! isPageContentFocused || ! blocks?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tconst innerBlocks = flattenBlocks( blocks, ( block ) =>\n\t\t\tPAGE_CONTENT_BLOCK_TYPES[ block.name ]\n\t\t\t\t? createBlock( block.name )\n\t\t\t\t: undefined\n\t\t);\n\n\t\tif ( ! innerBlocks.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tif ( ! wrapPageContent ) {\n\t\t\treturn innerBlocks;\n\t\t}\n\n\t\treturn [\n\t\t\tcreateBlock(\n\t\t\t\t'core/group',\n\t\t\t\t{\n\t\t\t\t\tlayout: { type: 'constrained' },\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\ttop: '4em', // Mimics the post editor.\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tinnerBlocks\n\t\t\t),\n\t\t];\n\t}, [ blocks, isPageContentFocused ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,WAAW,QAAQ,mBAAmB;;AAE/C;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,0BAA0B;;AAEnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,aAAaA,CAAEC,MAAM,EAAEC,SAAS,EAAG;EAC3C,MAAMC,MAAM,GAAG,EAAE;EACjB,KAAM,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGH,MAAM,CAACI,MAAM,EAAED,CAAC,EAAE,EAAG;IACzC;IACA;IACA,IAAK,CAAE,YAAY,CAAE,CAACE,QAAQ,CAAEL,MAAM,CAAEG,CAAC,CAAE,CAACG,IAAK,CAAC,EAAG;MACpD;IACD;IACA,MAAMC,gBAAgB,GAAGN,SAAS,CAAED,MAAM,CAAEG,CAAC,CAAG,CAAC;IACjD,IAAKI,gBAAgB,EAAG;MACvBL,MAAM,CAACM,IAAI,CAAED,gBAAiB,CAAC;IAChC;IACAL,MAAM,CAACM,IAAI,CAAE,GAAGT,aAAa,CAAEC,MAAM,CAAEG,CAAC,CAAE,CAACM,WAAW,EAAER,SAAU,CAAE,CAAC;EACtE;EAEA,OAAOC,MAAM;AACd;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASQ,oBAAoBA,CAAE;EAC7CV,MAAM,GAAG,EAAE;EACXW,oBAAoB,GAAG,KAAK;EAC5BC,eAAe,GAAG;AACnB,CAAC,EAAG;EACH,OAAOhB,OAAO,CAAE,MAAM;IACrB,IAAK,CAAEe,oBAAoB,IAAI,CAAEX,MAAM,EAAEI,MAAM,EAAG;MACjD,OAAO,EAAE;IACV;IAEA,MAAMK,WAAW,GAAGV,aAAa,CAAEC,MAAM,EAAIa,KAAK,IACjDf,wBAAwB,CAAEe,KAAK,CAACP,IAAI,CAAE,GACnCT,WAAW,CAAEgB,KAAK,CAACP,IAAK,CAAC,GACzBQ,SACJ,CAAC;IAED,IAAK,CAAEL,WAAW,CAACL,MAAM,EAAG;MAC3B,OAAO,EAAE;IACV;IAEA,IAAK,CAAEQ,eAAe,EAAG;MACxB,OAAOH,WAAW;IACnB;IAEA,OAAO,CACNZ,WAAW,CACV,YAAY,EACZ;MACCkB,MAAM,EAAE;QAAEC,IAAI,EAAE;MAAc,CAAC;MAC/BC,KAAK,EAAE;QACNC,OAAO,EAAE;UACRC,MAAM,EAAE;YACPC,GAAG,EAAE,KAAK,CAAE;UACb;QACD;MACD;IACD,CAAC,EACDX,WACD,CAAC,CACD;EACF,CAAC,EAAE,CAAET,MAAM,EAAEW,oBAAoB,CAAG,CAAC;AACtC"}
@@ -1,22 +0,0 @@
1
- import { createElement } from "react";
2
- /**
3
- * WordPress dependencies
4
- */
5
- import { BlockInspector } from '@wordpress/block-editor';
6
- import { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';
7
-
8
- /**
9
- * Internal dependencies
10
- */
11
- import TemplatePartConverter from '../template-part-converter';
12
- import { SidebarInspectorFill } from '../sidebar-edit-mode';
13
- import SiteEditorCanvas from './site-editor-canvas';
14
- import BlockEditorProvider from './block-editor-provider';
15
- import { unlock } from '../../lock-unlock';
16
- const {
17
- PatternsMenuItems
18
- } = unlock(editPatternsPrivateApis);
19
- export default function BlockEditor() {
20
- return createElement(BlockEditorProvider, null, createElement(TemplatePartConverter, null), createElement(SidebarInspectorFill, null, createElement(BlockInspector, null)), createElement(SiteEditorCanvas, null), createElement(PatternsMenuItems, null));
21
- }
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["BlockInspector","privateApis","editPatternsPrivateApis","TemplatePartConverter","SidebarInspectorFill","SiteEditorCanvas","BlockEditorProvider","unlock","PatternsMenuItems","BlockEditor","createElement"],"sources":["@wordpress/edit-site/src/components/block-editor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockInspector } from '@wordpress/block-editor';\nimport { privateApis as editPatternsPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartConverter from '../template-part-converter';\nimport { SidebarInspectorFill } from '../sidebar-edit-mode';\nimport SiteEditorCanvas from './site-editor-canvas';\nimport BlockEditorProvider from './block-editor-provider';\n\nimport { unlock } from '../../lock-unlock';\nconst { PatternsMenuItems } = unlock( editPatternsPrivateApis );\nexport default function BlockEditor() {\n\treturn (\n\t\t<BlockEditorProvider>\n\t\t\t<TemplatePartConverter />\n\t\t\t<SidebarInspectorFill>\n\t\t\t\t<BlockInspector />\n\t\t\t</SidebarInspectorFill>\n\t\t\t<SiteEditorCanvas />\n\t\t\t<PatternsMenuItems />\n\t\t</BlockEditorProvider>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,cAAc,QAAQ,yBAAyB;AACxD,SAASC,WAAW,IAAIC,uBAAuB,QAAQ,qBAAqB;;AAE5E;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,SAASC,oBAAoB,QAAQ,sBAAsB;AAC3D,OAAOC,gBAAgB,MAAM,sBAAsB;AACnD,OAAOC,mBAAmB,MAAM,yBAAyB;AAEzD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,MAAM;EAAEC;AAAkB,CAAC,GAAGD,MAAM,CAAEL,uBAAwB,CAAC;AAC/D,eAAe,SAASO,WAAWA,CAAA,EAAG;EACrC,OACCC,aAAA,CAACJ,mBAAmB,QACnBI,aAAA,CAACP,qBAAqB,MAAE,CAAC,EACzBO,aAAA,CAACN,oBAAoB,QACpBM,aAAA,CAACV,cAAc,MAAE,CACI,CAAC,EACvBU,aAAA,CAACL,gBAAgB,MAAE,CAAC,EACpBK,aAAA,CAACF,iBAAiB,MAAE,CACA,CAAC;AAExB"}
@@ -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,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
- } );