@wordpress/edit-site 5.21.1-next.f8d8eceb.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 (375) hide show
  1. package/CHANGELOG.md +4 -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/rename-category-menu-item.js +27 -9
  67. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -1
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/page-templates/dataviews-templates.js +201 -0
  71. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  72. package/build/components/page-templates/template-actions.js +168 -0
  73. package/build/components/page-templates/template-actions.js.map +1 -0
  74. package/build/components/save-button/index.js +4 -2
  75. package/build/components/save-button/index.js.map +1 -1
  76. package/build/components/sidebar/index.js +1 -2
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  79. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  80. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  81. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  82. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  83. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  84. package/build/components/sidebar-dataviews/default-views.js +60 -0
  85. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  86. package/build/components/sidebar-dataviews/index.js +22 -37
  87. package/build/components/sidebar-dataviews/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  89. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  91. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  93. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  95. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  97. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  98. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  99. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  101. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-page/page-details.js +4 -12
  107. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  109. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  110. package/build/components/site-hub/index.js +18 -6
  111. package/build/components/site-hub/index.js.map +1 -1
  112. package/build/components/start-template-options/index.js +12 -16
  113. package/build/components/start-template-options/index.js.map +1 -1
  114. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  115. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  116. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  117. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/hooks/template-part-edit.js +6 -2
  121. package/build/hooks/template-part-edit.js.map +1 -1
  122. package/build/index.js +0 -3
  123. package/build/index.js.map +1 -1
  124. package/build/store/actions.js +35 -82
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/selectors.js +25 -63
  127. package/build/store/selectors.js.map +1 -1
  128. package/build/utils/constants.js +3 -3
  129. package/build/utils/constants.js.map +1 -1
  130. package/build/utils/use-activate-theme.js +8 -0
  131. package/build/utils/use-activate-theme.js.map +1 -1
  132. package/build-module/components/actions/index.js +85 -5
  133. package/build-module/components/actions/index.js.map +1 -1
  134. package/build-module/components/add-new-template/new-template.js +0 -7
  135. package/build-module/components/add-new-template/new-template.js.map +1 -1
  136. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  137. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  138. package/build-module/components/dataviews/add-filter.js +83 -0
  139. package/build-module/components/dataviews/add-filter.js.map +1 -0
  140. package/build-module/components/dataviews/dataviews.js +22 -4
  141. package/build-module/components/dataviews/dataviews.js.map +1 -1
  142. package/build-module/components/dataviews/filters.js +34 -32
  143. package/build-module/components/dataviews/filters.js.map +1 -1
  144. package/build-module/components/dataviews/in-filter.js +20 -19
  145. package/build-module/components/dataviews/in-filter.js.map +1 -1
  146. package/build-module/components/dataviews/index.js +1 -1
  147. package/build-module/components/dataviews/index.js.map +1 -1
  148. package/build-module/components/dataviews/item-actions.js +84 -16
  149. package/build-module/components/dataviews/item-actions.js.map +1 -1
  150. package/build-module/components/dataviews/pagination.js +3 -2
  151. package/build-module/components/dataviews/pagination.js.map +1 -1
  152. package/build-module/components/dataviews/reset-filters.js +26 -0
  153. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  154. package/build-module/components/dataviews/search.js +1 -0
  155. package/build-module/components/dataviews/search.js.map +1 -1
  156. package/build-module/components/dataviews/view-actions.js +28 -11
  157. package/build-module/components/dataviews/view-actions.js.map +1 -1
  158. package/build-module/components/dataviews/view-list.js +128 -7
  159. package/build-module/components/dataviews/view-list.js.map +1 -1
  160. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  161. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  162. package/build-module/components/editor/index.js +57 -57
  163. package/build-module/components/editor/index.js.map +1 -1
  164. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  165. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  166. package/build-module/components/global-styles/screen-root.js +3 -3
  167. package/build-module/components/global-styles/screen-root.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +3 -3
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/global-styles-renderer/index.js +1 -1
  171. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  172. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  173. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  174. package/build-module/components/header-edit-mode/index.js +52 -120
  175. package/build-module/components/header-edit-mode/index.js.map +1 -1
  176. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  177. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  178. package/build-module/components/layout/index.js +5 -20
  179. package/build-module/components/layout/index.js.map +1 -1
  180. package/build-module/components/list/added-by.js +1 -1
  181. package/build-module/components/list/added-by.js.map +1 -1
  182. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  183. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  184. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  185. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  186. package/build-module/components/page-main/index.js +2 -1
  187. package/build-module/components/page-main/index.js.map +1 -1
  188. package/build-module/components/page-pages/index.js +137 -80
  189. package/build-module/components/page-pages/index.js.map +1 -1
  190. package/build-module/components/page-pages/side-editor.js +17 -0
  191. package/build-module/components/page-pages/side-editor.js.map +1 -0
  192. package/build-module/components/page-patterns/grid-item.js +2 -2
  193. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  194. package/build-module/components/page-patterns/patterns-list.js +4 -4
  195. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  196. package/build-module/components/page-patterns/rename-category-menu-item.js +25 -9
  197. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  198. package/build-module/components/page-patterns/use-patterns.js +2 -2
  199. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  200. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  201. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  202. package/build-module/components/page-templates/template-actions.js +157 -0
  203. package/build-module/components/page-templates/template-actions.js.map +1 -0
  204. package/build-module/components/save-button/index.js +4 -2
  205. package/build-module/components/save-button/index.js.map +1 -1
  206. package/build-module/components/sidebar/index.js +1 -2
  207. package/build-module/components/sidebar/index.js.map +1 -1
  208. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  209. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  210. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  211. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  212. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  213. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  214. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  215. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  216. package/build-module/components/sidebar-dataviews/index.js +23 -38
  217. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  221. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  222. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  223. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  225. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  226. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  227. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  228. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  229. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  230. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  231. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  232. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  233. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  235. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  236. package/build-module/components/sidebar-navigation-screen-page/page-details.js +4 -12
  237. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  238. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  239. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  240. package/build-module/components/site-hub/index.js +19 -7
  241. package/build-module/components/site-hub/index.js.map +1 -1
  242. package/build-module/components/start-template-options/index.js +13 -16
  243. package/build-module/components/start-template-options/index.js.map +1 -1
  244. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  245. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  246. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  247. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  248. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  249. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  250. package/build-module/hooks/template-part-edit.js +6 -2
  251. package/build-module/hooks/template-part-edit.js.map +1 -1
  252. package/build-module/index.js +0 -3
  253. package/build-module/index.js.map +1 -1
  254. package/build-module/store/actions.js +33 -79
  255. package/build-module/store/actions.js.map +1 -1
  256. package/build-module/store/selectors.js +19 -58
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-module/utils/constants.js +1 -1
  259. package/build-module/utils/constants.js.map +1 -1
  260. package/build-module/utils/use-activate-theme.js +8 -0
  261. package/build-module/utils/use-activate-theme.js.map +1 -1
  262. package/build-style/style-rtl.css +69 -119
  263. package/build-style/style.css +69 -119
  264. package/package.json +41 -41
  265. package/src/components/actions/index.js +113 -5
  266. package/src/components/add-new-template/new-template.js +0 -5
  267. package/src/components/block-editor/style.scss +0 -87
  268. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  269. package/src/components/dataviews/README.md +77 -83
  270. package/src/components/dataviews/add-filter.js +111 -0
  271. package/src/components/dataviews/dataviews.js +20 -2
  272. package/src/components/dataviews/filters.js +56 -49
  273. package/src/components/dataviews/in-filter.js +35 -17
  274. package/src/components/dataviews/index.js +1 -1
  275. package/src/components/dataviews/item-actions.js +95 -20
  276. package/src/components/dataviews/pagination.js +5 -4
  277. package/src/components/dataviews/reset-filters.js +26 -0
  278. package/src/components/dataviews/search.js +1 -0
  279. package/src/components/dataviews/style.scss +5 -1
  280. package/src/components/dataviews/view-actions.js +39 -9
  281. package/src/components/dataviews/view-list.js +174 -3
  282. package/src/components/dataviews/view-side-by-side.js +9 -0
  283. package/src/components/editor/index.js +149 -121
  284. package/src/components/global-styles/screen-revisions/index.js +52 -25
  285. package/src/components/global-styles/screen-root.js +2 -1
  286. package/src/components/global-styles/ui.js +1 -1
  287. package/src/components/global-styles-renderer/index.js +1 -1
  288. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  289. package/src/components/header-edit-mode/index.js +86 -184
  290. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  291. package/src/components/header-edit-mode/style.scss +35 -2
  292. package/src/components/layout/index.js +4 -11
  293. package/src/components/layout/style.scss +6 -18
  294. package/src/components/list/added-by.js +1 -1
  295. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  296. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  297. package/src/components/page-main/index.js +6 -1
  298. package/src/components/page-pages/index.js +162 -81
  299. package/src/components/page-pages/side-editor.js +14 -0
  300. package/src/components/page-patterns/grid-item.js +3 -3
  301. package/src/components/page-patterns/patterns-list.js +10 -4
  302. package/src/components/page-patterns/rename-category-menu-item.js +29 -12
  303. package/src/components/page-patterns/use-patterns.js +3 -2
  304. package/src/components/page-templates/dataviews-templates.js +224 -0
  305. package/src/components/page-templates/template-actions.js +209 -0
  306. package/src/components/save-button/index.js +10 -5
  307. package/src/components/sidebar/index.js +1 -2
  308. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  309. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  310. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  311. package/src/components/sidebar-dataviews/default-views.js +54 -0
  312. package/src/components/sidebar-dataviews/index.js +36 -44
  313. package/src/components/sidebar-dataviews/style.scss +22 -0
  314. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  315. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  316. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  317. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  318. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  319. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  320. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  321. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  322. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  323. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  324. package/src/components/sidebar-navigation-screen-page/page-details.js +7 -18
  325. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  326. package/src/components/site-hub/index.js +9 -8
  327. package/src/components/start-template-options/index.js +14 -12
  328. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  329. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  330. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  331. package/src/hooks/template-part-edit.js +4 -2
  332. package/src/index.js +0 -8
  333. package/src/store/actions.js +37 -95
  334. package/src/store/selectors.js +31 -91
  335. package/src/store/test/actions.js +11 -137
  336. package/src/store/test/selectors.js +0 -82
  337. package/src/style.scss +1 -0
  338. package/src/utils/constants.js +1 -1
  339. package/src/utils/use-activate-theme.js +5 -0
  340. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  341. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  342. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  343. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  344. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  345. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  346. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  347. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  348. package/build/components/block-editor/index.js +0 -30
  349. package/build/components/block-editor/index.js.map +0 -1
  350. package/build/components/dataviews/context.js +0 -15
  351. package/build/components/dataviews/context.js.map +0 -1
  352. package/build/components/page-pages/default-views.js +0 -60
  353. package/build/components/page-pages/default-views.js.map +0 -1
  354. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  355. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  356. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  357. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  358. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  359. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  360. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  361. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  362. package/build-module/components/block-editor/index.js +0 -22
  363. package/build-module/components/block-editor/index.js.map +0 -1
  364. package/build-module/components/dataviews/context.js +0 -7
  365. package/build-module/components/dataviews/context.js.map +0 -1
  366. package/build-module/components/page-pages/default-views.js +0 -53
  367. package/build-module/components/page-pages/default-views.js.map +0 -1
  368. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  369. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  370. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  371. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  372. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  373. package/src/components/block-editor/index.js +0 -28
  374. package/src/components/dataviews/context.js +0 -7
  375. package/src/components/page-pages/default-views.js +0 -58
@@ -0,0 +1,224 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import removeAccents from 'remove-accents';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import {
10
+ Icon,
11
+ __experimentalHeading as Heading,
12
+ __experimentalText as Text,
13
+ __experimentalHStack as HStack,
14
+ __experimentalVStack as VStack,
15
+ } from '@wordpress/components';
16
+ import { __, _x } from '@wordpress/i18n';
17
+ import { useState, useMemo, useCallback } from '@wordpress/element';
18
+ import { useEntityRecords } from '@wordpress/core-data';
19
+ import { decodeEntities } from '@wordpress/html-entities';
20
+
21
+ /**
22
+ * Internal dependencies
23
+ */
24
+ import Page from '../page';
25
+ import Link from '../routes/link';
26
+ import { useAddedBy, AvatarImage } from '../list/added-by';
27
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
28
+ import { DataViews } from '../dataviews';
29
+ import {
30
+ useResetTemplateAction,
31
+ deleteTemplateAction,
32
+ renameTemplateAction,
33
+ } from './template-actions';
34
+
35
+ const EMPTY_ARRAY = [];
36
+
37
+ const DEFAULT_VIEW = {
38
+ type: 'list',
39
+ search: '',
40
+ page: 1,
41
+ perPage: 20,
42
+ // All fields are visible by default, so it's
43
+ // better to keep track of the hidden ones.
44
+ hiddenFields: [],
45
+ layout: {},
46
+ };
47
+
48
+ function normalizeSearchInput( input = '' ) {
49
+ return removeAccents( input.trim().toLowerCase() );
50
+ }
51
+
52
+ // TODO: these are going to be reused in the template part list.
53
+ // That's the reason for leaving the template parts code for now.
54
+ function TemplateTitle( { item } ) {
55
+ const { isCustomized } = useAddedBy( item.type, item.id );
56
+ return (
57
+ <VStack spacing={ 1 }>
58
+ <Heading as="h3" level={ 5 }>
59
+ <Link
60
+ params={ {
61
+ postId: item.id,
62
+ postType: item.type,
63
+ canvas: 'edit',
64
+ } }
65
+ >
66
+ { decodeEntities( item.title?.rendered || item.slug ) ||
67
+ __( '(no title)' ) }
68
+ </Link>
69
+ </Heading>
70
+ { isCustomized && (
71
+ <span className="edit-site-list-added-by__customized-info">
72
+ { item.type === TEMPLATE_POST_TYPE
73
+ ? _x( 'Customized', 'template' )
74
+ : _x( 'Customized', 'template part' ) }
75
+ </span>
76
+ ) }
77
+ </VStack>
78
+ );
79
+ }
80
+
81
+ function AuthorField( { item } ) {
82
+ const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
83
+ return (
84
+ <HStack alignment="left">
85
+ { imageUrl ? (
86
+ <AvatarImage imageUrl={ imageUrl } />
87
+ ) : (
88
+ <div className="edit-site-list-added-by__icon">
89
+ <Icon icon={ icon } />
90
+ </div>
91
+ ) }
92
+ <span>{ text }</span>
93
+ </HStack>
94
+ );
95
+ }
96
+
97
+ export default function DataviewsTemplates() {
98
+ const [ view, setView ] = useState( DEFAULT_VIEW );
99
+ const { records: allTemplates, isResolving: isLoadingData } =
100
+ useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
101
+ per_page: -1,
102
+ } );
103
+ const { shownTemplates, paginationInfo } = useMemo( () => {
104
+ if ( ! allTemplates ) {
105
+ return {
106
+ shownTemplates: EMPTY_ARRAY,
107
+ paginationInfo: { totalItems: 0, totalPages: 0 },
108
+ };
109
+ }
110
+ let filteredTemplates = [ ...allTemplates ];
111
+ // Handle global search.
112
+ if ( view.search ) {
113
+ const normalizedSearch = normalizeSearchInput( view.search );
114
+ filteredTemplates = filteredTemplates.filter( ( item ) => {
115
+ const title = item.title?.rendered || item.slug;
116
+ return (
117
+ normalizeSearchInput( title ).includes(
118
+ normalizedSearch
119
+ ) ||
120
+ normalizeSearchInput( item.description ).includes(
121
+ normalizedSearch
122
+ )
123
+ );
124
+ } );
125
+ }
126
+ // Handle sorting.
127
+ // TODO: Explore how this can be more dynamic..
128
+ if ( view.sort ) {
129
+ if ( view.sort.field === 'title' ) {
130
+ filteredTemplates.sort( ( a, b ) => {
131
+ const titleA = a.title?.rendered || a.slug;
132
+ const titleB = b.title?.rendered || b.slug;
133
+ return view.sort.direction === 'asc'
134
+ ? titleA.localeCompare( titleB )
135
+ : titleB.localeCompare( titleA );
136
+ } );
137
+ }
138
+ }
139
+ // Handle pagination.
140
+ const start = ( view.page - 1 ) * view.perPage;
141
+ const totalItems = filteredTemplates?.length || 0;
142
+ filteredTemplates = filteredTemplates?.slice(
143
+ start,
144
+ start + view.perPage
145
+ );
146
+ return {
147
+ shownTemplates: filteredTemplates,
148
+ paginationInfo: {
149
+ totalItems,
150
+ totalPages: Math.ceil( totalItems / view.perPage ),
151
+ },
152
+ };
153
+ }, [ allTemplates, view ] );
154
+ const fields = useMemo(
155
+ () => [
156
+ {
157
+ header: __( 'Template' ),
158
+ id: 'title',
159
+ getValue: ( { item } ) => item.title?.rendered || item.slug,
160
+ render: ( { item } ) => <TemplateTitle item={ item } />,
161
+ maxWidth: 400,
162
+ enableHiding: false,
163
+ },
164
+ {
165
+ header: __( 'Description' ),
166
+ id: 'description',
167
+ getValue: ( { item } ) => item.description,
168
+ render: ( { item } ) => {
169
+ return (
170
+ item.description && (
171
+ <Text variant="muted">
172
+ { decodeEntities( item.description ) }
173
+ </Text>
174
+ )
175
+ );
176
+ },
177
+ maxWidth: 200,
178
+ enableSorting: false,
179
+ },
180
+ {
181
+ header: __( 'Author' ),
182
+ id: 'author',
183
+ getValue: () => {},
184
+ render: ( { item } ) => <AuthorField item={ item } />,
185
+ enableHiding: false,
186
+ enableSorting: false,
187
+ },
188
+ ],
189
+ []
190
+ );
191
+ const resetTemplateAction = useResetTemplateAction();
192
+ const actions = useMemo(
193
+ () => [
194
+ resetTemplateAction,
195
+ deleteTemplateAction,
196
+ renameTemplateAction,
197
+ ],
198
+ [ resetTemplateAction ]
199
+ );
200
+ const onChangeView = useCallback(
201
+ ( viewUpdater ) => {
202
+ const updatedView =
203
+ typeof viewUpdater === 'function'
204
+ ? viewUpdater( view )
205
+ : viewUpdater;
206
+ setView( updatedView );
207
+ },
208
+ [ view, setView ]
209
+ );
210
+ return (
211
+ <Page title={ __( 'Templates' ) }>
212
+ <DataViews
213
+ paginationInfo={ paginationInfo }
214
+ fields={ fields }
215
+ actions={ actions }
216
+ data={ shownTemplates }
217
+ isLoading={ isLoadingData }
218
+ view={ view }
219
+ onChangeView={ onChangeView }
220
+ supportedLayouts={ [ 'list' ] }
221
+ />
222
+ </Page>
223
+ );
224
+ }
@@ -0,0 +1,209 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { backup, trash } from '@wordpress/icons';
5
+ import { __, sprintf } from '@wordpress/i18n';
6
+ import { useDispatch } from '@wordpress/data';
7
+ import { useMemo, useState } from '@wordpress/element';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { store as noticesStore } from '@wordpress/notices';
10
+ import { decodeEntities } from '@wordpress/html-entities';
11
+ import {
12
+ Button,
13
+ TextControl,
14
+ __experimentalText as Text,
15
+ __experimentalHStack as HStack,
16
+ __experimentalVStack as VStack,
17
+ } from '@wordpress/components';
18
+
19
+ /**
20
+ * Internal dependencies
21
+ */
22
+ import { store as editSiteStore } from '../../store';
23
+ import isTemplateRevertable from '../../utils/is-template-revertable';
24
+ import isTemplateRemovable from '../../utils/is-template-removable';
25
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
26
+
27
+ export function useResetTemplateAction() {
28
+ const { revertTemplate } = useDispatch( editSiteStore );
29
+ const { saveEditedEntityRecord } = useDispatch( coreStore );
30
+ const { createSuccessNotice, createErrorNotice } =
31
+ useDispatch( noticesStore );
32
+ return useMemo(
33
+ () => ( {
34
+ id: 'reset-template',
35
+ label: __( 'Reset template' ),
36
+ isPrimary: true,
37
+ icon: backup,
38
+ isEligible: isTemplateRevertable,
39
+ async callback( template ) {
40
+ try {
41
+ await revertTemplate( template, { allowUndo: false } );
42
+ await saveEditedEntityRecord(
43
+ 'postType',
44
+ template.type,
45
+ template.id
46
+ );
47
+
48
+ createSuccessNotice(
49
+ sprintf(
50
+ /* translators: The template/part's name. */
51
+ __( '"%s" reverted.' ),
52
+ decodeEntities( template.title.rendered )
53
+ ),
54
+ {
55
+ type: 'snackbar',
56
+ id: 'edit-site-template-reverted',
57
+ }
58
+ );
59
+ } catch ( error ) {
60
+ const fallbackErrorMessage =
61
+ template.type === TEMPLATE_POST_TYPE
62
+ ? __(
63
+ 'An error occurred while reverting the template.'
64
+ )
65
+ : __(
66
+ 'An error occurred while reverting the template part.'
67
+ );
68
+ const errorMessage =
69
+ error.message && error.code !== 'unknown_error'
70
+ ? error.message
71
+ : fallbackErrorMessage;
72
+
73
+ createErrorNotice( errorMessage, { type: 'snackbar' } );
74
+ }
75
+ },
76
+ } ),
77
+ [
78
+ createErrorNotice,
79
+ createSuccessNotice,
80
+ revertTemplate,
81
+ saveEditedEntityRecord,
82
+ ]
83
+ );
84
+ }
85
+
86
+ export const deleteTemplateAction = {
87
+ id: 'delete-template',
88
+ label: __( 'Delete template' ),
89
+ isPrimary: true,
90
+ icon: trash,
91
+ isEligible: isTemplateRemovable,
92
+ hideModalHeader: true,
93
+ RenderModal: ( { item: template, closeModal } ) => {
94
+ const { removeTemplate } = useDispatch( editSiteStore );
95
+ return (
96
+ <VStack spacing="5">
97
+ <Text>
98
+ { sprintf(
99
+ // translators: %s: The template or template part's title.
100
+ __( 'Are you sure you want to delete "%s"?' ),
101
+ decodeEntities( template.title.rendered )
102
+ ) }
103
+ </Text>
104
+ <HStack justify="right">
105
+ <Button variant="tertiary" onClick={ closeModal }>
106
+ { __( 'Cancel' ) }
107
+ </Button>
108
+ <Button
109
+ variant="primary"
110
+ onClick={ () =>
111
+ removeTemplate( template, {
112
+ allowUndo: false,
113
+ } )
114
+ }
115
+ >
116
+ { __( 'Delete' ) }
117
+ </Button>
118
+ </HStack>
119
+ </VStack>
120
+ );
121
+ },
122
+ };
123
+
124
+ export const renameTemplateAction = {
125
+ id: 'rename-template',
126
+ label: __( 'Rename' ),
127
+ isEligible: ( template ) =>
128
+ isTemplateRemovable( template ) && template.is_custom,
129
+ RenderModal: ( { item: template, closeModal } ) => {
130
+ const title = decodeEntities( template.title.rendered );
131
+ const [ editedTitle, setEditedTitle ] = useState( title );
132
+ const {
133
+ editEntityRecord,
134
+ __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,
135
+ } = useDispatch( coreStore );
136
+ const { createSuccessNotice, createErrorNotice } =
137
+ useDispatch( noticesStore );
138
+ async function onTemplateRename( event ) {
139
+ event.preventDefault();
140
+ try {
141
+ await editEntityRecord(
142
+ 'postType',
143
+ template.type,
144
+ template.id,
145
+ {
146
+ title: editedTitle,
147
+ }
148
+ );
149
+ // Update state before saving rerenders the list.
150
+ setEditedTitle( '' );
151
+ closeModal();
152
+ // Persist edited entity.
153
+ await saveSpecifiedEntityEdits(
154
+ 'postType',
155
+ template.type,
156
+ template.id,
157
+ [ 'title' ], // Only save title to avoid persisting other edits.
158
+ {
159
+ throwOnError: true,
160
+ }
161
+ );
162
+ // TODO: this action will be reused in template parts list, so
163
+ // let's keep this for a bit, even it's always a `template` now.
164
+ createSuccessNotice(
165
+ template.type === TEMPLATE_POST_TYPE
166
+ ? __( 'Template renamed.' )
167
+ : __( 'Template part renamed.' ),
168
+ {
169
+ type: 'snackbar',
170
+ }
171
+ );
172
+ } catch ( error ) {
173
+ const fallbackErrorMessage =
174
+ template.type === TEMPLATE_POST_TYPE
175
+ ? __( 'An error occurred while renaming the template.' )
176
+ : __(
177
+ 'An error occurred while renaming the template part.'
178
+ );
179
+ const errorMessage =
180
+ error.message && error.code !== 'unknown_error'
181
+ ? error.message
182
+ : fallbackErrorMessage;
183
+
184
+ createErrorNotice( errorMessage, { type: 'snackbar' } );
185
+ }
186
+ }
187
+ return (
188
+ <form onSubmit={ onTemplateRename }>
189
+ <VStack spacing="5">
190
+ <TextControl
191
+ __nextHasNoMarginBottom
192
+ label={ __( 'Name' ) }
193
+ value={ editedTitle }
194
+ onChange={ setEditedTitle }
195
+ required
196
+ />
197
+ <HStack justify="right">
198
+ <Button variant="tertiary" onClick={ closeModal }>
199
+ { __( 'Cancel' ) }
200
+ </Button>
201
+ <Button variant="primary" type="submit">
202
+ { __( 'Save' ) }
203
+ </Button>
204
+ </HStack>
205
+ </VStack>
206
+ </form>
207
+ );
208
+ },
209
+ };
@@ -22,15 +22,20 @@ export default function SaveButton( {
22
22
  __next40pxDefaultSize = false,
23
23
  } ) {
24
24
  const { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {
25
- const { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =
26
- select( coreStore );
25
+ const {
26
+ __experimentalGetDirtyEntityRecords,
27
+ isSavingEntityRecord,
28
+ isResolving,
29
+ } = select( coreStore );
27
30
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
28
31
  const { isSaveViewOpened } = select( editSiteStore );
32
+ const isActivatingTheme = isResolving( 'activateTheme' );
29
33
  return {
30
34
  isDirty: dirtyEntityRecords.length > 0,
31
- isSaving: dirtyEntityRecords.some( ( record ) =>
32
- isSavingEntityRecord( record.kind, record.name, record.key )
33
- ),
35
+ isSaving:
36
+ dirtyEntityRecords.some( ( record ) =>
37
+ isSavingEntityRecord( record.kind, record.name, record.key )
38
+ ) || isActivatingTheme,
34
39
  isSaveViewOpen: isSaveViewOpened(),
35
40
  };
36
41
  }, [] );
@@ -59,8 +59,7 @@ function SidebarScreens() {
59
59
  { window?.__experimentalAdminViews && (
60
60
  <NavigatorScreen path="/pages">
61
61
  <SidebarNavigationScreen
62
- title={ __( 'All Pages' ) }
63
- description={ __( 'Manage your pages.' ) }
62
+ title={ __( 'Pages' ) }
64
63
  backPath="/page"
65
64
  content={ <DataViewsSidebarContent /> }
66
65
  />
@@ -0,0 +1,141 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ Modal,
6
+ TextControl,
7
+ __experimentalHStack as HStack,
8
+ __experimentalVStack as VStack,
9
+ Button,
10
+ } from '@wordpress/components';
11
+ import { __ } from '@wordpress/i18n';
12
+ import { useDispatch, resolveSelect } from '@wordpress/data';
13
+ import { store as coreStore } from '@wordpress/core-data';
14
+ import { useState } from '@wordpress/element';
15
+ import { plus } from '@wordpress/icons';
16
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
17
+
18
+ /**
19
+ * Internal dependencies
20
+ */
21
+ import SidebarNavigationItem from '../sidebar-navigation-item';
22
+ import DEFAULT_VIEWS from './default-views';
23
+ import { unlock } from '../../lock-unlock';
24
+
25
+ const { useHistory, useLocation } = unlock( routerPrivateApis );
26
+
27
+ function AddNewItemModalContent( { type, setIsAdding } ) {
28
+ const {
29
+ params: { path },
30
+ } = useLocation();
31
+ const history = useHistory();
32
+ const { saveEntityRecord } = useDispatch( coreStore );
33
+ const [ title, setTitle ] = useState( '' );
34
+ const [ isSaving, setIsSaving ] = useState( false );
35
+ return (
36
+ <form
37
+ onSubmit={ async ( event ) => {
38
+ event.preventDefault();
39
+ setIsSaving( true );
40
+ const { getEntityRecords } = resolveSelect( coreStore );
41
+ let dataViewTaxonomyId;
42
+ const dataViewTypeRecords = await getEntityRecords(
43
+ 'taxonomy',
44
+ 'wp_dataviews_type',
45
+ { slug: type }
46
+ );
47
+ if ( dataViewTypeRecords && dataViewTypeRecords.length > 0 ) {
48
+ dataViewTaxonomyId = dataViewTypeRecords[ 0 ].id;
49
+ } else {
50
+ const record = await saveEntityRecord(
51
+ 'taxonomy',
52
+ 'wp_dataviews_type',
53
+ { name: type }
54
+ );
55
+ if ( record && record.id ) {
56
+ dataViewTaxonomyId = record.id;
57
+ }
58
+ }
59
+ const savedRecord = await saveEntityRecord(
60
+ 'postType',
61
+ 'wp_dataviews',
62
+ {
63
+ title,
64
+ status: 'publish',
65
+ wp_dataviews_type: dataViewTaxonomyId,
66
+ content: JSON.stringify(
67
+ DEFAULT_VIEWS[ type ][ 0 ].view
68
+ ),
69
+ }
70
+ );
71
+ history.push( {
72
+ path,
73
+ activeView: savedRecord.id,
74
+ isCustom: 'true',
75
+ } );
76
+ setIsSaving( false );
77
+ setIsAdding( false );
78
+ } }
79
+ >
80
+ <VStack spacing="5">
81
+ <TextControl
82
+ __nextHasNoMarginBottom
83
+ label={ __( 'Name' ) }
84
+ value={ title }
85
+ onChange={ setTitle }
86
+ placeholder={ __( 'My view' ) }
87
+ className="patterns-create-modal__name-input"
88
+ />
89
+ <HStack justify="right">
90
+ <Button
91
+ variant="tertiary"
92
+ onClick={ () => {
93
+ setIsAdding( false );
94
+ } }
95
+ >
96
+ { __( 'Cancel' ) }
97
+ </Button>
98
+
99
+ <Button
100
+ variant="primary"
101
+ type="submit"
102
+ aria-disabled={ ! title || isSaving }
103
+ isBusy={ isSaving }
104
+ >
105
+ { __( 'Create' ) }
106
+ </Button>
107
+ </HStack>
108
+ </VStack>
109
+ </form>
110
+ );
111
+ }
112
+
113
+ export default function AddNewItem( { type } ) {
114
+ const [ isAdding, setIsAdding ] = useState( false );
115
+ return (
116
+ <>
117
+ <SidebarNavigationItem
118
+ icon={ plus }
119
+ onClick={ () => {
120
+ setIsAdding( true );
121
+ } }
122
+ className="dataviews__siderbar-content-add-new-item"
123
+ >
124
+ { __( 'New view' ) }
125
+ </SidebarNavigationItem>
126
+ { isAdding && (
127
+ <Modal
128
+ title={ __( 'Add new view' ) }
129
+ onRequestClose={ () => {
130
+ setIsAdding( false );
131
+ } }
132
+ >
133
+ <AddNewItemModalContent
134
+ type={ type }
135
+ setIsAdding={ setIsAdding }
136
+ />
137
+ </Modal>
138
+ ) }
139
+ </>
140
+ );
141
+ }