@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
@@ -21,12 +21,13 @@ import {
21
21
  check,
22
22
  arrowUp,
23
23
  arrowDown,
24
+ chevronRightSmall,
25
+ funnel,
24
26
  } from '@wordpress/icons';
25
27
  import {
26
28
  Button,
27
29
  Icon,
28
30
  privateApis as componentsPrivateApis,
29
- VisuallyHidden,
30
31
  } from '@wordpress/components';
31
32
  import { useMemo, Children, Fragment } from '@wordpress/element';
32
33
 
@@ -41,6 +42,8 @@ const {
41
42
  DropdownMenuGroupV2,
42
43
  DropdownMenuItemV2,
43
44
  DropdownMenuSeparatorV2,
45
+ DropdownSubMenuV2,
46
+ DropdownSubMenuTriggerV2,
44
47
  } = unlock( componentsPrivateApis );
45
48
 
46
49
  const EMPTY_OBJECT = {};
@@ -63,6 +66,27 @@ function HeaderMenu( { dataView, header } ) {
63
66
  return text;
64
67
  }
65
68
  const sortedDirection = header.column.getIsSorted();
69
+
70
+ let filter;
71
+ if (
72
+ header.column.columnDef.filters?.length > 0 &&
73
+ header.column.columnDef.filters.some(
74
+ ( f ) => 'string' === typeof f && f === 'in'
75
+ )
76
+ ) {
77
+ filter = {
78
+ field: header.column.columnDef.id,
79
+ elements: [
80
+ {
81
+ value: '',
82
+ label: __( 'All' ),
83
+ },
84
+ ...( header.column.columnDef.elements || [] ),
85
+ ],
86
+ };
87
+ }
88
+ const isFilterable = !! filter;
89
+
66
90
  return (
67
91
  <DropdownMenuV2
68
92
  align="start"
@@ -119,6 +143,92 @@ function HeaderMenu( { dataView, header } ) {
119
143
  { __( 'Hide' ) }
120
144
  </DropdownMenuItemV2>
121
145
  ) }
146
+ { isFilterable && (
147
+ <DropdownMenuGroupV2>
148
+ <DropdownSubMenuV2
149
+ key={ filter.field }
150
+ trigger={
151
+ <DropdownSubMenuTriggerV2
152
+ prefix={ <Icon icon={ funnel } /> }
153
+ suffix={
154
+ <Icon icon={ chevronRightSmall } />
155
+ }
156
+ >
157
+ { __( 'Filter by' ) }
158
+ </DropdownSubMenuTriggerV2>
159
+ }
160
+ >
161
+ { filter.elements.map( ( element ) => {
162
+ let isActive = false;
163
+ const columnFilters =
164
+ dataView.getState().columnFilters;
165
+ const columnFilter = columnFilters.find(
166
+ ( f ) =>
167
+ Object.keys( f )[ 0 ].split(
168
+ ':'
169
+ )[ 0 ] === filter.field
170
+ );
171
+
172
+ // Set the empty item as active if the filter is not set.
173
+ if ( ! columnFilter && element.value === '' ) {
174
+ isActive = true;
175
+ }
176
+
177
+ if ( columnFilter ) {
178
+ const value =
179
+ Object.values( columnFilter )[ 0 ];
180
+ // Intentionally use loose comparison, so it does type conversion.
181
+ // This covers the case where a top-level filter for the same field converts a number into a string.
182
+ isActive = element.value == value; // eslint-disable-line eqeqeq
183
+ }
184
+
185
+ return (
186
+ <DropdownMenuItemV2
187
+ key={ element.value }
188
+ suffix={
189
+ isActive && <Icon icon={ check } />
190
+ }
191
+ onSelect={ () => {
192
+ const otherFilters =
193
+ columnFilters?.filter(
194
+ ( f ) => {
195
+ const [
196
+ field,
197
+ operator,
198
+ ] =
199
+ Object.keys(
200
+ f
201
+ )[ 0 ].split( ':' );
202
+ return (
203
+ field !==
204
+ filter.field ||
205
+ operator !== 'in'
206
+ );
207
+ }
208
+ );
209
+
210
+ if ( element.value === '' ) {
211
+ dataView.setColumnFilters(
212
+ otherFilters
213
+ );
214
+ } else {
215
+ dataView.setColumnFilters( [
216
+ ...otherFilters,
217
+ {
218
+ [ filter.field +
219
+ ':in' ]: element.value,
220
+ },
221
+ ] );
222
+ }
223
+ } }
224
+ >
225
+ { element.label }
226
+ </DropdownMenuItemV2>
227
+ );
228
+ } ) }
229
+ </DropdownSubMenuV2>
230
+ </DropdownMenuGroupV2>
231
+ ) }
122
232
  </WithSeparators>
123
233
  </DropdownMenuV2>
124
234
  );
@@ -156,7 +266,7 @@ function ViewList( {
156
266
  } );
157
267
  if ( actions?.length ) {
158
268
  _columns.push( {
159
- header: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,
269
+ header: __( 'Actions' ),
160
270
  id: 'actions',
161
271
  cell: ( props ) => {
162
272
  return (
@@ -186,6 +296,58 @@ function ViewList( {
186
296
  );
187
297
  }, [ view.hiddenFields ] );
188
298
 
299
+ /**
300
+ * Transform the filters from the view format into the tanstack columns filter format.
301
+ *
302
+ * Input:
303
+ *
304
+ * view.filters = [
305
+ * { field: 'date', operator: 'before', value: '2020-01-01' },
306
+ * { field: 'date', operator: 'after', value: '2020-01-01' },
307
+ * ]
308
+ *
309
+ * Output:
310
+ *
311
+ * columnFilters = [
312
+ * { "date:before": '2020-01-01' },
313
+ * { "date:after": '2020-01-01' }
314
+ * ]
315
+ *
316
+ * @param {Array} filters The view filters to transform.
317
+ * @return {Array} The transformed TanStack column filters.
318
+ */
319
+ const toTanStackColumnFilters = ( filters ) =>
320
+ filters?.map( ( filter ) => ( {
321
+ [ filter.field + ':' + filter.operator ]: filter.value,
322
+ } ) );
323
+
324
+ /**
325
+ * Transform the filters from the view format into the tanstack columns filter format.
326
+ *
327
+ * Input:
328
+ *
329
+ * columnFilters = [
330
+ * { "date:before": '2020-01-01'},
331
+ * { "date:after": '2020-01-01' }
332
+ * ]
333
+ *
334
+ * Output:
335
+ *
336
+ * view.filters = [
337
+ * { field: 'date', operator: 'before', value: '2020-01-01' },
338
+ * { field: 'date', operator: 'after', value: '2020-01-01' },
339
+ * ]
340
+ *
341
+ * @param {Array} filters The TanStack column filters to transform.
342
+ * @return {Array} The transformed view filters.
343
+ */
344
+ const fromTanStackColumnFilters = ( filters ) =>
345
+ filters.map( ( filter ) => {
346
+ const [ key, value ] = Object.entries( filter )[ 0 ];
347
+ const [ field, operator ] = key.split( ':' );
348
+ return { field, operator, value };
349
+ } );
350
+
189
351
  const dataView = useReactTable( {
190
352
  data,
191
353
  columns,
@@ -203,6 +365,7 @@ function ViewList( {
203
365
  ]
204
366
  : [],
205
367
  globalFilter: view.search,
368
+ columnFilters: toTanStackColumnFilters( view.filters ),
206
369
  pagination: {
207
370
  pageIndex: view.page,
208
371
  pageSize: view.perPage,
@@ -261,7 +424,14 @@ function ViewList( {
261
424
  } );
262
425
  },
263
426
  onGlobalFilterChange: ( value ) => {
264
- onChangeView( { ...view, search: value, page: 0 } );
427
+ onChangeView( { ...view, search: value, page: 1 } );
428
+ },
429
+ onColumnFiltersChange: ( columnFiltersUpdater ) => {
430
+ onChangeView( {
431
+ ...view,
432
+ filters: fromTanStackColumnFilters( columnFiltersUpdater() ),
433
+ page: 1,
434
+ } );
265
435
  },
266
436
  onPaginationChange: ( paginationUpdater ) => {
267
437
  onChangeView( ( currentView ) => {
@@ -304,6 +474,7 @@ function ViewList( {
304
474
  header.column.columnDef
305
475
  .maxWidth || undefined,
306
476
  } }
477
+ data-field-id={ header.id }
307
478
  >
308
479
  <HeaderMenu
309
480
  dataView={ dataView }
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import ViewList from './view-list';
5
+
6
+ export function ViewSideBySide( props ) {
7
+ // To do: change to email-like preview list.
8
+ return <ViewList { ...props } />;
9
+ }
@@ -6,31 +6,37 @@ import classnames from 'classnames';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { useMemo } from '@wordpress/element';
10
- import { useSelect, useDispatch } from '@wordpress/data';
9
+ import { useSelect } from '@wordpress/data';
11
10
  import { Notice } from '@wordpress/components';
12
11
  import { useInstanceId } from '@wordpress/compose';
13
- import { EntityProvider } from '@wordpress/core-data';
14
12
  import { store as preferencesStore } from '@wordpress/preferences';
15
13
  import {
16
- BlockContextProvider,
17
14
  BlockBreadcrumb,
18
15
  store as blockEditorStore,
19
16
  privateApis as blockEditorPrivateApis,
17
+ BlockInspector,
20
18
  } from '@wordpress/block-editor';
21
19
  import {
22
20
  InterfaceSkeleton,
23
21
  ComplementaryArea,
24
22
  store as interfaceStore,
25
23
  } from '@wordpress/interface';
26
- import { EditorNotices, EditorSnackbars } from '@wordpress/editor';
24
+ import {
25
+ EditorNotices,
26
+ EditorSnackbars,
27
+ privateApis as editorPrivateApis,
28
+ } from '@wordpress/editor';
27
29
  import { __, sprintf } from '@wordpress/i18n';
30
+ import { store as coreDataStore } from '@wordpress/core-data';
31
+ import { useMemo } from '@wordpress/element';
28
32
 
29
33
  /**
30
34
  * Internal dependencies
31
35
  */
32
- import { SidebarComplementaryAreaFills } from '../sidebar-edit-mode';
33
- import BlockEditor from '../block-editor';
36
+ import {
37
+ SidebarComplementaryAreaFills,
38
+ SidebarInspectorFill,
39
+ } from '../sidebar-edit-mode';
34
40
  import CodeEditor from '../code-editor';
35
41
  import KeyboardShortcutsEditMode from '../keyboard-shortcuts/edit-mode';
36
42
  import InserterSidebar from '../secondary-sidebar/inserter-sidebar';
@@ -46,8 +52,13 @@ import useEditedEntityRecord from '../use-edited-entity-record';
46
52
  import { SidebarFixedBottomSlot } from '../sidebar-edit-mode/sidebar-fixed-bottom';
47
53
  import PatternModal from '../pattern-modal';
48
54
  import { POST_TYPE_LABELS, TEMPLATE_POST_TYPE } from '../../utils/constants';
55
+ import SiteEditorCanvas from '../block-editor/site-editor-canvas';
56
+ import TemplatePartConverter from '../template-part-converter';
57
+ import { useSpecificEditorSettings } from '../block-editor/use-site-editor-settings';
49
58
 
50
59
  const { BlockRemovalWarningModal } = unlock( blockEditorPrivateApis );
60
+ const { ExperimentalEditorProvider: EditorProvider } =
61
+ unlock( editorPrivateApis );
51
62
 
52
63
  const interfaceLabels = {
53
64
  /* translators: accessibility text for the editor content landmark region. */
@@ -79,10 +90,11 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
79
90
  isLoaded: hasLoadedPost,
80
91
  } = useEditedEntityRecord();
81
92
 
82
- const { id: editedPostId, type: editedPostType } = editedPost;
93
+ const { type: editedPostType } = editedPost;
83
94
 
84
95
  const {
85
96
  context,
97
+ contextPost,
86
98
  editorMode,
87
99
  canvasMode,
88
100
  blockEditorMode,
@@ -92,6 +104,7 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
92
104
  showIconLabels,
93
105
  showBlockBreadcrumbs,
94
106
  hasPageContentFocus,
107
+ pageContentFocusType,
95
108
  } = useSelect( ( select ) => {
96
109
  const {
97
110
  getEditedPostContext,
@@ -100,14 +113,24 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
100
113
  isInserterOpened,
101
114
  isListViewOpened,
102
115
  hasPageContentFocus: _hasPageContentFocus,
116
+ getPageContentFocusType,
103
117
  } = unlock( select( editSiteStore ) );
104
118
  const { __unstableGetEditorMode } = select( blockEditorStore );
105
119
  const { getActiveComplementaryArea } = select( interfaceStore );
120
+ const { getEntityRecord } = select( coreDataStore );
121
+ const _context = getEditedPostContext();
106
122
 
107
123
  // The currently selected entity to display.
108
124
  // Typically template or template part in the site editor.
109
125
  return {
110
- context: getEditedPostContext(),
126
+ context: _context,
127
+ contextPost: _context?.postId
128
+ ? getEntityRecord(
129
+ 'postType',
130
+ _context.postType,
131
+ _context.postId
132
+ )
133
+ : undefined,
111
134
  editorMode: getEditorMode(),
112
135
  canvasMode: getCanvasMode(),
113
136
  blockEditorMode: __unstableGetEditorMode(),
@@ -125,9 +148,9 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
125
148
  'showBlockBreadcrumbs'
126
149
  ),
127
150
  hasPageContentFocus: _hasPageContentFocus(),
151
+ pageContentFocusType: getPageContentFocusType(),
128
152
  };
129
153
  }, [] );
130
- const { setEditedPostContext } = useDispatch( editSiteStore );
131
154
 
132
155
  const isViewMode = canvasMode === 'view';
133
156
  const isEditMode = canvasMode === 'edit';
@@ -142,23 +165,7 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
142
165
  const secondarySidebarLabel = isListViewOpen
143
166
  ? __( 'List View' )
144
167
  : __( 'Block Library' );
145
- const blockContext = useMemo( () => {
146
- const { postType, postId, ...nonPostFields } = context ?? {};
147
- return {
148
- ...( hasPageContentFocus ? context : nonPostFields ),
149
- queryContext: [
150
- context?.queryContext || { page: 1 },
151
- ( newQueryContext ) =>
152
- setEditedPostContext( {
153
- ...context,
154
- queryContext: {
155
- ...context?.queryContext,
156
- ...newQueryContext,
157
- },
158
- } ),
159
- ],
160
- };
161
- }, [ hasPageContentFocus, context, setEditedPostContext ] );
168
+ const postWithTemplate = context?.postId;
162
169
 
163
170
  let title;
164
171
  if ( hasLoadedPost ) {
@@ -180,110 +187,131 @@ export default function Editor( { listViewToggleElement, isLoading } ) {
180
187
  'edit-site-editor__loading-progress'
181
188
  );
182
189
 
183
- const contentProps = isLoading
184
- ? {
185
- 'aria-busy': 'true',
186
- 'aria-describedby': loadingProgressId,
187
- }
188
- : undefined;
190
+ const settings = useSpecificEditorSettings();
191
+ const isReady =
192
+ ! isLoading &&
193
+ ( ( postWithTemplate && !! contextPost && !! editedPost ) ||
194
+ ( ! postWithTemplate && !! editedPost ) );
195
+ const mode = useMemo( () => {
196
+ if ( isViewMode ) {
197
+ return postWithTemplate ? 'template-locked' : 'all';
198
+ }
199
+
200
+ if ( isEditMode && pageContentFocusType === 'hideTemplate' ) {
201
+ return 'post-only';
202
+ }
203
+
204
+ if ( postWithTemplate && hasPageContentFocus ) {
205
+ return 'template-locked';
206
+ }
207
+
208
+ if ( postWithTemplate && ! hasPageContentFocus ) {
209
+ return 'template-only';
210
+ }
211
+
212
+ return 'all';
213
+ }, [
214
+ isViewMode,
215
+ isEditMode,
216
+ postWithTemplate,
217
+ pageContentFocusType,
218
+ hasPageContentFocus,
219
+ ] );
189
220
 
190
221
  return (
191
222
  <>
192
- { isLoading ? <CanvasLoader id={ loadingProgressId } /> : null }
223
+ { ! isReady ? <CanvasLoader id={ loadingProgressId } /> : null }
193
224
  { isEditMode && <WelcomeGuide /> }
194
- <EntityProvider kind="root" type="site">
195
- <EntityProvider
196
- kind="postType"
197
- type={ editedPostType }
198
- id={ editedPostId }
225
+ { hasLoadedPost && ! editedPost && (
226
+ <Notice status="warning" isDismissible={ false }>
227
+ { __(
228
+ "You attempted to edit an item that doesn't exist. Perhaps it was deleted?"
229
+ ) }
230
+ </Notice>
231
+ ) }
232
+ { isReady && (
233
+ <EditorProvider
234
+ post={ postWithTemplate ? contextPost : editedPost }
235
+ __unstableTemplate={
236
+ postWithTemplate ? editedPost : undefined
237
+ }
238
+ settings={ settings }
239
+ useSubRegistry={ false }
240
+ mode={ mode }
199
241
  >
200
- <BlockContextProvider value={ blockContext }>
201
- <SidebarComplementaryAreaFills />
202
- { isEditMode && <StartTemplateOptions /> }
203
- <InterfaceSkeleton
204
- isDistractionFree={ true }
205
- enableRegionNavigation={ false }
206
- className={ classnames(
207
- 'edit-site-editor__interface-skeleton',
208
- {
209
- 'show-icon-labels': showIconLabels,
210
- 'is-loading': isLoading,
211
- }
212
- ) }
213
- notices={ <EditorSnackbars /> }
214
- content={
215
- <>
216
- <GlobalStylesRenderer />
217
- { isEditMode && <EditorNotices /> }
218
- { showVisualEditor && editedPost && (
219
- <>
220
- <BlockEditor />
221
- <BlockRemovalWarningModal
222
- rules={ blockRemovalRules }
223
- />
224
- <PatternModal />
225
- </>
226
- ) }
227
- { editorMode === 'text' &&
228
- editedPost &&
229
- isEditMode && <CodeEditor /> }
230
- { hasLoadedPost && ! editedPost && (
231
- <Notice
232
- status="warning"
233
- isDismissible={ false }
234
- >
235
- { __(
236
- "You attempted to edit an item that doesn't exist. Perhaps it was deleted?"
237
- ) }
238
- </Notice>
239
- ) }
240
- { isEditMode && (
241
- <KeyboardShortcutsEditMode />
242
- ) }
243
- </>
244
- }
245
- contentProps={ contentProps }
246
- secondarySidebar={
247
- isEditMode &&
248
- ( ( shouldShowInserter && (
249
- <InserterSidebar />
250
- ) ) ||
251
- ( shouldShowListView && (
252
- <ListViewSidebar
253
- listViewToggleElement={
254
- listViewToggleElement
255
- }
256
- />
257
- ) ) )
242
+ <SidebarComplementaryAreaFills />
243
+ { isEditMode && <StartTemplateOptions /> }
244
+ <InterfaceSkeleton
245
+ isDistractionFree={ true }
246
+ enableRegionNavigation={ false }
247
+ className={ classnames(
248
+ 'edit-site-editor__interface-skeleton',
249
+ {
250
+ 'show-icon-labels': showIconLabels,
258
251
  }
259
- sidebar={
260
- isEditMode &&
261
- isRightSidebarOpen && (
252
+ ) }
253
+ notices={ <EditorSnackbars /> }
254
+ content={
255
+ <>
256
+ <GlobalStylesRenderer />
257
+ { isEditMode && <EditorNotices /> }
258
+ { showVisualEditor && (
262
259
  <>
263
- <ComplementaryArea.Slot scope="core/edit-site" />
264
- <SidebarFixedBottomSlot />
260
+ <TemplatePartConverter />
261
+ <SidebarInspectorFill>
262
+ <BlockInspector />
263
+ </SidebarInspectorFill>
264
+ <SiteEditorCanvas />
265
+ <BlockRemovalWarningModal
266
+ rules={ blockRemovalRules }
267
+ />
268
+ <PatternModal />
265
269
  </>
266
- )
267
- }
268
- footer={
269
- shouldShowBlockBreadcrumbs && (
270
- <BlockBreadcrumb
271
- rootLabelText={
272
- hasPageContentFocus
273
- ? __( 'Page' )
274
- : __( 'Template' )
270
+ ) }
271
+ { editorMode === 'text' && isEditMode && (
272
+ <CodeEditor />
273
+ ) }
274
+ { isEditMode && <KeyboardShortcutsEditMode /> }
275
+ </>
276
+ }
277
+ secondarySidebar={
278
+ isEditMode &&
279
+ ( ( shouldShowInserter && <InserterSidebar /> ) ||
280
+ ( shouldShowListView && (
281
+ <ListViewSidebar
282
+ listViewToggleElement={
283
+ listViewToggleElement
275
284
  }
276
285
  />
277
- )
278
- }
279
- labels={ {
280
- ...interfaceLabels,
281
- secondarySidebar: secondarySidebarLabel,
282
- } }
283
- />
284
- </BlockContextProvider>
285
- </EntityProvider>
286
- </EntityProvider>
286
+ ) ) )
287
+ }
288
+ sidebar={
289
+ isEditMode &&
290
+ isRightSidebarOpen && (
291
+ <>
292
+ <ComplementaryArea.Slot scope="core/edit-site" />
293
+ <SidebarFixedBottomSlot />
294
+ </>
295
+ )
296
+ }
297
+ footer={
298
+ shouldShowBlockBreadcrumbs && (
299
+ <BlockBreadcrumb
300
+ rootLabelText={
301
+ hasPageContentFocus
302
+ ? __( 'Page' )
303
+ : __( 'Template' )
304
+ }
305
+ />
306
+ )
307
+ }
308
+ labels={ {
309
+ ...interfaceLabels,
310
+ secondarySidebar: secondarySidebarLabel,
311
+ } }
312
+ />
313
+ </EditorProvider>
314
+ ) }
287
315
  </>
288
316
  );
289
317
  }