@wordpress/edit-site 5.24.1 → 5.25.1-next.79a6196f.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 (652) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-template/add-custom-template-modal-content.js +2 -3
  4. package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  5. package/build/components/block-editor/back-button.js +3 -2
  6. package/build/components/block-editor/back-button.js.map +1 -1
  7. package/build/components/block-editor/editor-canvas.js +48 -23
  8. package/build/components/block-editor/editor-canvas.js.map +1 -1
  9. package/build/components/block-editor/resizable-editor.js +2 -2
  10. package/build/components/block-editor/resizable-editor.js.map +1 -1
  11. package/build/components/block-editor/site-editor-canvas.js +5 -54
  12. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  13. package/build/components/block-editor/use-post-link-props.js +27 -0
  14. package/build/components/block-editor/use-post-link-props.js.map +1 -0
  15. package/build/components/block-editor/use-site-editor-settings.js +15 -23
  16. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  17. package/build/components/create-template-part-modal/index.js +15 -7
  18. package/build/components/create-template-part-modal/index.js.map +1 -1
  19. package/build/components/editor/index.js +21 -33
  20. package/build/components/editor/index.js.map +1 -1
  21. package/build/components/editor-canvas-container/index.js +9 -7
  22. package/build/components/editor-canvas-container/index.js.map +1 -1
  23. package/build/components/global-styles/font-library-modal/collection-font-variant.js +11 -7
  24. package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  25. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  26. package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  27. package/build/components/global-styles/font-library-modal/context.js +6 -6
  28. package/build/components/global-styles/font-library-modal/context.js.map +1 -1
  29. package/build/components/global-styles/font-library-modal/font-collection.js +8 -4
  30. package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  31. package/build/components/global-styles/font-library-modal/index.js +38 -21
  32. package/build/components/global-styles/font-library-modal/index.js.map +1 -1
  33. package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  34. package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  35. package/build/components/global-styles/font-library-modal/library-font-variant.js +11 -7
  36. package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  37. package/build/components/global-styles/font-library-modal/local-fonts.js +26 -10
  38. package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  39. package/build/components/global-styles/font-library-modal/resolvers.js +6 -6
  40. package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  41. package/build/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +4 -4
  42. package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -0
  43. package/build/components/global-styles/font-library-modal/utils/index.js +35 -38
  44. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  45. package/build/components/global-styles/preview.js +43 -1
  46. package/build/components/global-styles/preview.js.map +1 -1
  47. package/build/components/global-styles/screen-color-palette.js +16 -12
  48. package/build/components/global-styles/screen-color-palette.js.map +1 -1
  49. package/build/components/global-styles/screen-revisions/index.js +54 -58
  50. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  51. package/build/components/global-styles/screen-revisions/revisions-buttons.js +56 -15
  52. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  53. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +40 -22
  54. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  55. package/build/components/global-styles/ui.js +13 -62
  56. package/build/components/global-styles/ui.js.map +1 -1
  57. package/build/components/header-edit-mode/document-tools/index.js +15 -106
  58. package/build/components/header-edit-mode/document-tools/index.js.map +1 -1
  59. package/build/components/header-edit-mode/index.js +21 -47
  60. package/build/components/header-edit-mode/index.js.map +1 -1
  61. package/build/components/header-edit-mode/mode-switcher/index.js +0 -2
  62. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  63. package/build/components/header-edit-mode/more-menu/index.js +19 -14
  64. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  65. package/build/components/keyboard-shortcuts/edit-mode.js +0 -23
  66. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  67. package/build/components/keyboard-shortcuts/register.js +0 -36
  68. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  69. package/build/components/layout/index.js +15 -21
  70. package/build/components/layout/index.js.map +1 -1
  71. package/build/components/page/header.js +2 -1
  72. package/build/components/page/header.js.map +1 -1
  73. package/build/components/page-main/index.js +4 -4
  74. package/build/components/page-main/index.js.map +1 -1
  75. package/build/components/page-pages/index.js +102 -52
  76. package/build/components/page-pages/index.js.map +1 -1
  77. package/build/components/page-patterns/dataviews-pattern-actions.js +305 -0
  78. package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -0
  79. package/build/components/page-patterns/dataviews-patterns.js +307 -0
  80. package/build/components/page-patterns/dataviews-patterns.js.map +1 -0
  81. package/build/components/page-patterns/duplicate-menu-item.js +1 -1
  82. package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
  83. package/build/components/page-patterns/grid-item.js +4 -3
  84. package/build/components/page-patterns/grid-item.js.map +1 -1
  85. package/build/components/page-patterns/patterns-list.js +3 -3
  86. package/build/components/page-patterns/patterns-list.js.map +1 -1
  87. package/build/components/page-patterns/rename-menu-item.js +3 -0
  88. package/build/components/page-patterns/rename-menu-item.js.map +1 -1
  89. package/build/components/page-patterns/use-patterns.js +23 -13
  90. package/build/components/page-patterns/use-patterns.js.map +1 -1
  91. package/build/components/page-templates/index.js +312 -36
  92. package/build/components/page-templates/index.js.map +1 -1
  93. package/build/components/{page-patterns/pagination.js → pagination/index.js} +25 -12
  94. package/build/components/pagination/index.js.map +1 -0
  95. package/build/components/{page-pages/side-editor.js → post-preview/index.js} +8 -4
  96. package/build/components/post-preview/index.js.map +1 -0
  97. package/build/components/preferences-modal/enable-feature.js +3 -2
  98. package/build/components/preferences-modal/enable-feature.js.map +1 -1
  99. package/build/components/preferences-modal/enable-panel-option.js +33 -0
  100. package/build/components/preferences-modal/enable-panel-option.js.map +1 -0
  101. package/build/components/preferences-modal/index.js +89 -25
  102. package/build/components/preferences-modal/index.js.map +1 -1
  103. package/build/components/revisions/index.js +3 -7
  104. package/build/components/revisions/index.js.map +1 -1
  105. package/build/components/routes/link.js +6 -2
  106. package/build/components/routes/link.js.map +1 -1
  107. package/build/components/routes/use-title.js +3 -4
  108. package/build/components/routes/use-title.js.map +1 -1
  109. package/build/components/save-button/index.js +8 -4
  110. package/build/components/save-button/index.js.map +1 -1
  111. package/build/components/sidebar/index.js +26 -20
  112. package/build/components/sidebar/index.js.map +1 -1
  113. package/build/components/sidebar-dataviews/add-new-view.js +2 -2
  114. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
  115. package/build/components/sidebar-dataviews/dataview-item.js +2 -10
  116. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
  117. package/build/components/sidebar-dataviews/default-views.js +19 -6
  118. package/build/components/sidebar-dataviews/default-views.js.map +1 -1
  119. package/build/components/sidebar-dataviews/index.js +3 -3
  120. package/build/components/sidebar-dataviews/index.js.map +1 -1
  121. package/build/components/sidebar-edit-mode/default-sidebar.js +1 -5
  122. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  123. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +62 -10
  124. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  125. package/build/components/sidebar-edit-mode/page-panels/index.js +10 -4
  126. package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  127. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +1 -2
  128. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  129. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -4
  130. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  131. package/build/components/sidebar-edit-mode/template-panel/index.js +4 -13
  132. package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  133. package/build/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  134. package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  135. package/build/components/sidebar-navigation-screen-global-styles/index.js +5 -2
  136. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  137. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  138. package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  139. package/build/components/sidebar-navigation-screen-page/index.js +4 -1
  140. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  141. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js +69 -0
  142. package/build/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -0
  143. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  144. package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  145. package/build/components/sidebar-navigation-screen-template/home-template-details.js +3 -89
  146. package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  147. package/build/components/sidebar-navigation-screen-template/index.js +2 -1
  148. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  149. package/build/components/sidebar-navigation-screen-template/template-areas.js +117 -0
  150. package/build/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  151. package/build/components/sidebar-navigation-screen-templates/index.js +63 -8
  152. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  153. package/build/components/site-hub/index.js +6 -3
  154. package/build/components/site-hub/index.js.map +1 -1
  155. package/build/components/style-book/index.js +38 -8
  156. package/build/components/style-book/index.js.map +1 -1
  157. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  158. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  159. package/build/components/template-actions/rename-menu-item.js +3 -0
  160. package/build/components/template-actions/rename-menu-item.js.map +1 -1
  161. package/build/components/welcome-guide/styles.js +1 -1
  162. package/build/components/welcome-guide/styles.js.map +1 -1
  163. package/build/hooks/commands/use-common-commands.js +9 -1
  164. package/build/hooks/commands/use-common-commands.js.map +1 -1
  165. package/build/hooks/commands/use-edit-mode-commands.js +11 -6
  166. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  167. package/build/hooks/navigation-menu-edit.js +1 -1
  168. package/build/hooks/navigation-menu-edit.js.map +1 -1
  169. package/build/hooks/template-part-edit.js +1 -1
  170. package/build/hooks/template-part-edit.js.map +1 -1
  171. package/build/index.js +12 -7
  172. package/build/index.js.map +1 -1
  173. package/build/store/actions.js +54 -52
  174. package/build/store/actions.js.map +1 -1
  175. package/build/store/private-actions.js +6 -2
  176. package/build/store/private-actions.js.map +1 -1
  177. package/build/store/reducer.js +0 -64
  178. package/build/store/reducer.js.map +1 -1
  179. package/build/store/selectors.js +44 -47
  180. package/build/store/selectors.js.map +1 -1
  181. package/build/utils/constants.js +15 -1
  182. package/build/utils/constants.js.map +1 -1
  183. package/build/utils/get-is-list-page.js +1 -1
  184. package/build/utils/get-is-list-page.js.map +1 -1
  185. package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -1
  186. package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
  187. package/build-module/components/block-editor/back-button.js +4 -3
  188. package/build-module/components/block-editor/back-button.js.map +1 -1
  189. package/build-module/components/block-editor/editor-canvas.js +50 -25
  190. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  191. package/build-module/components/block-editor/resizable-editor.js +2 -2
  192. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  193. package/build-module/components/block-editor/site-editor-canvas.js +8 -56
  194. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  195. package/build-module/components/block-editor/use-post-link-props.js +20 -0
  196. package/build-module/components/block-editor/use-post-link-props.js.map +1 -0
  197. package/build-module/components/block-editor/use-site-editor-settings.js +16 -24
  198. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  199. package/build-module/components/create-template-part-modal/index.js +14 -7
  200. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  201. package/build-module/components/editor/index.js +25 -37
  202. package/build-module/components/editor/index.js.map +1 -1
  203. package/build-module/components/editor-canvas-container/index.js +9 -7
  204. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  205. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +13 -8
  206. package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
  207. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  208. package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
  209. package/build-module/components/global-styles/font-library-modal/context.js +8 -8
  210. package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
  211. package/build-module/components/global-styles/font-library-modal/font-collection.js +8 -4
  212. package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
  213. package/build-module/components/global-styles/font-library-modal/index.js +39 -22
  214. package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
  215. package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
  216. package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
  217. package/build-module/components/global-styles/font-library-modal/library-font-variant.js +13 -8
  218. package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
  219. package/build-module/components/global-styles/font-library-modal/local-fonts.js +27 -11
  220. package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
  221. package/build-module/components/global-styles/font-library-modal/resolvers.js +5 -5
  222. package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
  223. package/build-module/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +4 -4
  224. package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -0
  225. package/build-module/components/global-styles/font-library-modal/utils/index.js +34 -36
  226. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  227. package/build-module/components/global-styles/preview.js +45 -3
  228. package/build-module/components/global-styles/preview.js.map +1 -1
  229. package/build-module/components/global-styles/screen-color-palette.js +17 -13
  230. package/build-module/components/global-styles/screen-color-palette.js.map +1 -1
  231. package/build-module/components/global-styles/screen-revisions/index.js +55 -59
  232. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  233. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +56 -15
  234. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  235. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +40 -22
  236. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  237. package/build-module/components/global-styles/ui.js +15 -64
  238. package/build-module/components/global-styles/ui.js.map +1 -1
  239. package/build-module/components/header-edit-mode/document-tools/index.js +19 -109
  240. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -1
  241. package/build-module/components/header-edit-mode/index.js +25 -51
  242. package/build-module/components/header-edit-mode/index.js.map +1 -1
  243. package/build-module/components/header-edit-mode/mode-switcher/index.js +0 -2
  244. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +1 -1
  245. package/build-module/components/header-edit-mode/more-menu/index.js +20 -15
  246. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  247. package/build-module/components/keyboard-shortcuts/edit-mode.js +0 -23
  248. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -1
  249. package/build-module/components/keyboard-shortcuts/register.js +0 -36
  250. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  251. package/build-module/components/layout/index.js +15 -21
  252. package/build-module/components/layout/index.js.map +1 -1
  253. package/build-module/components/page/header.js +2 -1
  254. package/build-module/components/page/header.js.map +1 -1
  255. package/build-module/components/page-main/index.js +4 -4
  256. package/build-module/components/page-main/index.js.map +1 -1
  257. package/build-module/components/page-pages/index.js +101 -51
  258. package/build-module/components/page-pages/index.js.map +1 -1
  259. package/build-module/components/page-patterns/dataviews-pattern-actions.js +292 -0
  260. package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -0
  261. package/build-module/components/page-patterns/dataviews-patterns.js +299 -0
  262. package/build-module/components/page-patterns/dataviews-patterns.js.map +1 -0
  263. package/build-module/components/page-patterns/duplicate-menu-item.js +1 -1
  264. package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
  265. package/build-module/components/page-patterns/grid-item.js +4 -3
  266. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  267. package/build-module/components/page-patterns/patterns-list.js +3 -3
  268. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  269. package/build-module/components/page-patterns/rename-menu-item.js +3 -0
  270. package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
  271. package/build-module/components/page-patterns/use-patterns.js +23 -13
  272. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  273. package/build-module/components/page-templates/index.js +314 -38
  274. package/build-module/components/page-templates/index.js.map +1 -1
  275. package/build-module/components/{page-patterns/pagination.js → pagination/index.js} +24 -12
  276. package/build-module/components/pagination/index.js.map +1 -0
  277. package/build-module/components/{page-pages/side-editor.js → post-preview/index.js} +7 -3
  278. package/build-module/components/post-preview/index.js.map +1 -0
  279. package/build-module/components/preferences-modal/enable-feature.js +3 -2
  280. package/build-module/components/preferences-modal/enable-feature.js.map +1 -1
  281. package/build-module/components/preferences-modal/enable-panel-option.js +26 -0
  282. package/build-module/components/preferences-modal/enable-panel-option.js.map +1 -0
  283. package/build-module/components/preferences-modal/index.js +90 -26
  284. package/build-module/components/preferences-modal/index.js.map +1 -1
  285. package/build-module/components/revisions/index.js +4 -8
  286. package/build-module/components/revisions/index.js.map +1 -1
  287. package/build-module/components/routes/link.js +5 -2
  288. package/build-module/components/routes/link.js.map +1 -1
  289. package/build-module/components/routes/use-title.js +3 -4
  290. package/build-module/components/routes/use-title.js.map +1 -1
  291. package/build-module/components/save-button/index.js +8 -4
  292. package/build-module/components/save-button/index.js.map +1 -1
  293. package/build-module/components/sidebar/index.js +26 -20
  294. package/build-module/components/sidebar/index.js.map +1 -1
  295. package/build-module/components/sidebar-dataviews/add-new-view.js +1 -1
  296. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
  297. package/build-module/components/sidebar-dataviews/dataview-item.js +2 -10
  298. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
  299. package/build-module/components/sidebar-dataviews/default-views.js +17 -5
  300. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
  301. package/build-module/components/sidebar-dataviews/index.js +2 -2
  302. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  303. package/build-module/components/sidebar-edit-mode/default-sidebar.js +1 -5
  304. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  305. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +64 -12
  306. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  307. package/build-module/components/sidebar-edit-mode/page-panels/index.js +10 -4
  308. package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
  309. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -3
  310. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  311. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -4
  312. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  313. package/build-module/components/sidebar-edit-mode/template-panel/index.js +6 -15
  314. package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
  315. package/build-module/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  316. package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
  317. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +5 -2
  318. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  319. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +3 -0
  320. package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.js.map +1 -1
  321. package/build-module/components/sidebar-navigation-screen-page/index.js +4 -1
  322. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  323. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js +61 -0
  324. package/build-module/components/sidebar-navigation-screen-pages-dataviews/index.js.map +1 -0
  325. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  326. package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
  327. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +5 -90
  328. package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
  329. package/build-module/components/sidebar-navigation-screen-template/index.js +2 -1
  330. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  331. package/build-module/components/sidebar-navigation-screen-template/template-areas.js +109 -0
  332. package/build-module/components/sidebar-navigation-screen-template/template-areas.js.map +1 -0
  333. package/build-module/components/sidebar-navigation-screen-templates/index.js +64 -9
  334. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  335. package/build-module/components/site-hub/index.js +6 -3
  336. package/build-module/components/site-hub/index.js.map +1 -1
  337. package/build-module/components/style-book/index.js +40 -10
  338. package/build-module/components/style-book/index.js.map +1 -1
  339. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +1 -1
  340. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  341. package/build-module/components/template-actions/rename-menu-item.js +3 -0
  342. package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
  343. package/build-module/components/welcome-guide/styles.js +1 -1
  344. package/build-module/components/welcome-guide/styles.js.map +1 -1
  345. package/build-module/hooks/commands/use-common-commands.js +9 -1
  346. package/build-module/hooks/commands/use-common-commands.js.map +1 -1
  347. package/build-module/hooks/commands/use-edit-mode-commands.js +11 -6
  348. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  349. package/build-module/hooks/navigation-menu-edit.js +1 -1
  350. package/build-module/hooks/navigation-menu-edit.js.map +1 -1
  351. package/build-module/hooks/template-part-edit.js +1 -1
  352. package/build-module/hooks/template-part-edit.js.map +1 -1
  353. package/build-module/index.js +12 -7
  354. package/build-module/index.js.map +1 -1
  355. package/build-module/store/actions.js +49 -47
  356. package/build-module/store/actions.js.map +1 -1
  357. package/build-module/store/private-actions.js +6 -2
  358. package/build-module/store/private-actions.js.map +1 -1
  359. package/build-module/store/reducer.js +0 -61
  360. package/build-module/store/reducer.js.map +1 -1
  361. package/build-module/store/selectors.js +40 -41
  362. package/build-module/store/selectors.js.map +1 -1
  363. package/build-module/utils/constants.js +8 -0
  364. package/build-module/utils/constants.js.map +1 -1
  365. package/build-module/utils/get-is-list-page.js +1 -1
  366. package/build-module/utils/get-is-list-page.js.map +1 -1
  367. package/build-style/style-rtl.css +607 -561
  368. package/build-style/style.css +607 -561
  369. package/package.json +42 -42
  370. package/src/components/add-new-template/add-custom-template-modal-content.js +1 -1
  371. package/src/components/add-new-template/style.scss +2 -1
  372. package/src/components/block-editor/back-button.js +4 -2
  373. package/src/components/block-editor/editor-canvas.js +63 -47
  374. package/src/components/block-editor/resizable-editor.js +1 -1
  375. package/src/components/block-editor/site-editor-canvas.js +32 -96
  376. package/src/components/block-editor/style.scss +7 -14
  377. package/src/components/block-editor/use-post-link-props.js +20 -0
  378. package/src/components/block-editor/use-site-editor-settings.js +38 -58
  379. package/src/components/code-editor/style.scss +0 -4
  380. package/src/components/create-template-part-modal/index.js +83 -82
  381. package/src/components/editor/index.js +34 -47
  382. package/src/components/editor-canvas-container/index.js +8 -6
  383. package/src/components/global-styles/font-library-modal/collection-font-variant.js +18 -7
  384. package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +3 -3
  385. package/src/components/global-styles/font-library-modal/context.js +8 -8
  386. package/src/components/global-styles/font-library-modal/font-collection.js +10 -5
  387. package/src/components/global-styles/font-library-modal/index.js +44 -24
  388. package/src/components/global-styles/font-library-modal/installed-fonts.js +3 -3
  389. package/src/components/global-styles/font-library-modal/library-font-variant.js +18 -7
  390. package/src/components/global-styles/font-library-modal/local-fonts.js +53 -26
  391. package/src/components/global-styles/font-library-modal/resolvers.js +5 -5
  392. package/src/components/global-styles/font-library-modal/style.scss +5 -2
  393. package/src/components/global-styles/font-library-modal/{tab-layout.js → tab-panel-layout.js} +9 -3
  394. package/src/components/global-styles/font-library-modal/utils/index.js +21 -23
  395. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamily.spec.js +58 -0
  396. package/src/components/global-styles/preview.js +55 -3
  397. package/src/components/global-styles/screen-color-palette.js +16 -26
  398. package/src/components/global-styles/screen-revisions/index.js +93 -101
  399. package/src/components/global-styles/screen-revisions/revisions-buttons.js +85 -17
  400. package/src/components/global-styles/screen-revisions/style.scss +86 -21
  401. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +67 -0
  402. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +73 -46
  403. package/src/components/global-styles/ui.js +13 -74
  404. package/src/components/header-edit-mode/document-tools/index.js +35 -167
  405. package/src/components/header-edit-mode/index.js +33 -78
  406. package/src/components/header-edit-mode/mode-switcher/index.js +0 -4
  407. package/src/components/header-edit-mode/more-menu/index.js +25 -27
  408. package/src/components/header-edit-mode/style.scss +46 -68
  409. package/src/components/keyboard-shortcuts/edit-mode.js +1 -26
  410. package/src/components/keyboard-shortcuts/register.js +0 -43
  411. package/src/components/layout/index.js +29 -47
  412. package/src/components/layout/style.scss +10 -3
  413. package/src/components/page/header.js +2 -1
  414. package/src/components/page/style.scss +3 -3
  415. package/src/components/page-main/index.js +8 -8
  416. package/src/components/page-pages/index.js +157 -62
  417. package/src/components/page-pages/style.scss +4 -1
  418. package/src/components/page-patterns/dataviews-pattern-actions.js +329 -0
  419. package/src/components/page-patterns/dataviews-patterns.js +380 -0
  420. package/src/components/page-patterns/duplicate-menu-item.js +1 -1
  421. package/src/components/page-patterns/grid-item.js +3 -2
  422. package/src/components/page-patterns/patterns-list.js +7 -3
  423. package/src/components/page-patterns/rename-menu-item.js +7 -1
  424. package/src/components/page-patterns/style.scss +89 -26
  425. package/src/components/page-patterns/use-patterns.js +24 -15
  426. package/src/components/page-templates/index.js +399 -64
  427. package/src/components/{page-patterns/pagination.js → pagination/index.js} +21 -10
  428. package/src/components/pagination/style.scss +5 -0
  429. package/src/components/post-preview/index.js +16 -0
  430. package/src/components/preferences-modal/enable-feature.js +9 -5
  431. package/src/components/preferences-modal/enable-panel-option.js +23 -0
  432. package/src/components/preferences-modal/index.js +151 -40
  433. package/src/components/revisions/index.js +8 -15
  434. package/src/components/routes/link.js +11 -3
  435. package/src/components/routes/use-title.js +3 -10
  436. package/src/components/save-button/index.js +17 -3
  437. package/src/components/sidebar/index.js +45 -35
  438. package/src/components/sidebar/style.scss +10 -12
  439. package/src/components/sidebar-dataviews/add-new-view.js +1 -1
  440. package/src/components/sidebar-dataviews/dataview-item.js +3 -7
  441. package/src/components/sidebar-dataviews/default-views.js +23 -6
  442. package/src/components/sidebar-dataviews/index.js +2 -2
  443. package/src/components/sidebar-edit-mode/default-sidebar.js +0 -12
  444. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +85 -14
  445. package/src/components/sidebar-edit-mode/page-panels/index.js +53 -25
  446. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -2
  447. package/src/components/sidebar-edit-mode/page-panels/style.scss +1 -42
  448. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +0 -12
  449. package/src/components/sidebar-edit-mode/style.scss +0 -10
  450. package/src/components/sidebar-edit-mode/template-panel/index.js +44 -40
  451. package/src/components/sidebar-edit-mode/template-panel/style.scss +0 -4
  452. package/src/components/sidebar-navigation-screen-details-footer/index.js +1 -1
  453. package/src/components/sidebar-navigation-screen-global-styles/index.js +3 -2
  454. package/src/components/sidebar-navigation-screen-navigation-menu/rename-modal.js +7 -1
  455. package/src/components/sidebar-navigation-screen-page/index.js +2 -1
  456. package/src/components/sidebar-navigation-screen-pages-dataviews/index.js +77 -0
  457. package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -1
  458. package/src/components/sidebar-navigation-screen-template/home-template-details.js +1 -96
  459. package/src/components/sidebar-navigation-screen-template/index.js +8 -2
  460. package/src/components/sidebar-navigation-screen-template/template-areas.js +135 -0
  461. package/src/components/sidebar-navigation-screen-templates/index.js +85 -28
  462. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  463. package/src/components/site-hub/index.js +4 -5
  464. package/src/components/site-hub/style.scss +5 -2
  465. package/src/components/style-book/index.js +65 -21
  466. package/src/components/style-book/style.scss +3 -3
  467. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +4 -1
  468. package/src/components/template-actions/rename-menu-item.js +7 -1
  469. package/src/components/welcome-guide/styles.js +1 -1
  470. package/src/hooks/commands/use-common-commands.js +10 -5
  471. package/src/hooks/commands/use-edit-mode-commands.js +8 -12
  472. package/src/hooks/navigation-menu-edit.js +1 -1
  473. package/src/hooks/template-part-edit.js +1 -1
  474. package/src/index.js +11 -5
  475. package/src/store/actions.js +50 -50
  476. package/src/store/private-actions.js +7 -3
  477. package/src/store/reducer.js +0 -62
  478. package/src/store/selectors.js +47 -41
  479. package/src/store/test/actions.js +11 -39
  480. package/src/store/test/reducer.js +1 -82
  481. package/src/store/test/selectors.js +0 -24
  482. package/src/style.scss +3 -3
  483. package/src/utils/constants.js +8 -0
  484. package/src/utils/get-is-list-page.js +2 -3
  485. package/build/components/dataviews/add-filter.js +0 -91
  486. package/build/components/dataviews/add-filter.js.map +0 -1
  487. package/build/components/dataviews/constants.js +0 -14
  488. package/build/components/dataviews/constants.js.map +0 -1
  489. package/build/components/dataviews/dataviews.js +0 -99
  490. package/build/components/dataviews/dataviews.js.map +0 -1
  491. package/build/components/dataviews/filter-summary.js +0 -62
  492. package/build/components/dataviews/filter-summary.js.map +0 -1
  493. package/build/components/dataviews/filters.js +0 -63
  494. package/build/components/dataviews/filters.js.map +0 -1
  495. package/build/components/dataviews/index.js +0 -21
  496. package/build/components/dataviews/index.js.map +0 -1
  497. package/build/components/dataviews/item-actions.js +0 -184
  498. package/build/components/dataviews/item-actions.js.map +0 -1
  499. package/build/components/dataviews/pagination.js +0 -123
  500. package/build/components/dataviews/pagination.js.map +0 -1
  501. package/build/components/dataviews/reset-filters.js +0 -33
  502. package/build/components/dataviews/reset-filters.js.map +0 -1
  503. package/build/components/dataviews/search.js +0 -51
  504. package/build/components/dataviews/search.js.map +0 -1
  505. package/build/components/dataviews/view-actions.js +0 -244
  506. package/build/components/dataviews/view-actions.js.map +0 -1
  507. package/build/components/dataviews/view-grid.js +0 -82
  508. package/build/components/dataviews/view-grid.js.map +0 -1
  509. package/build/components/dataviews/view-list.js +0 -399
  510. package/build/components/dataviews/view-list.js.map +0 -1
  511. package/build/components/dataviews/view-side-by-side.js +0 -20
  512. package/build/components/dataviews/view-side-by-side.js.map +0 -1
  513. package/build/components/global-styles/font-library-modal/tab-layout.js.map +0 -1
  514. package/build/components/header-edit-mode/document-actions/index.js +0 -172
  515. package/build/components/header-edit-mode/document-actions/index.js.map +0 -1
  516. package/build/components/header-edit-mode/undo-redo/redo.js +0 -41
  517. package/build/components/header-edit-mode/undo-redo/redo.js.map +0 -1
  518. package/build/components/header-edit-mode/undo-redo/undo.js +0 -40
  519. package/build/components/header-edit-mode/undo-redo/undo.js.map +0 -1
  520. package/build/components/page-content-focus-notifications/back-to-page-notification.js +0 -61
  521. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  522. package/build/components/page-content-focus-notifications/edit-template-notification.js +0 -102
  523. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  524. package/build/components/page-content-focus-notifications/index.js +0 -22
  525. package/build/components/page-content-focus-notifications/index.js.map +0 -1
  526. package/build/components/page-pages/side-editor.js.map +0 -1
  527. package/build/components/page-patterns/pagination.js.map +0 -1
  528. package/build/components/page-templates/dataviews-templates.js +0 -316
  529. package/build/components/page-templates/dataviews-templates.js.map +0 -1
  530. package/build/components/secondary-sidebar/inserter-sidebar.js +0 -60
  531. package/build/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  532. package/build/components/secondary-sidebar/list-view-sidebar.js +0 -109
  533. package/build/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  534. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +0 -101
  535. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  536. package/build/components/sidebar-edit-mode/page-panels/hooks.js +0 -79
  537. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  538. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -48
  539. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  540. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -84
  541. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  542. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -35
  543. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +0 -1
  544. package/build/components/sidebar-edit-mode/template-panel/last-revision.js +0 -73
  545. package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +0 -1
  546. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -219
  547. package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +0 -1
  548. package/build/utils/use-debounced-input.js +0 -22
  549. package/build/utils/use-debounced-input.js.map +0 -1
  550. package/build-module/components/dataviews/add-filter.js +0 -84
  551. package/build-module/components/dataviews/add-filter.js.map +0 -1
  552. package/build-module/components/dataviews/constants.js +0 -6
  553. package/build-module/components/dataviews/constants.js.map +0 -1
  554. package/build-module/components/dataviews/dataviews.js +0 -90
  555. package/build-module/components/dataviews/dataviews.js.map +0 -1
  556. package/build-module/components/dataviews/filter-summary.js +0 -55
  557. package/build-module/components/dataviews/filter-summary.js.map +0 -1
  558. package/build-module/components/dataviews/filters.js +0 -55
  559. package/build-module/components/dataviews/filters.js.map +0 -1
  560. package/build-module/components/dataviews/index.js +0 -2
  561. package/build-module/components/dataviews/index.js.map +0 -1
  562. package/build-module/components/dataviews/item-actions.js +0 -177
  563. package/build-module/components/dataviews/item-actions.js.map +0 -1
  564. package/build-module/components/dataviews/pagination.js +0 -115
  565. package/build-module/components/dataviews/pagination.js.map +0 -1
  566. package/build-module/components/dataviews/reset-filters.js +0 -26
  567. package/build-module/components/dataviews/reset-filters.js.map +0 -1
  568. package/build-module/components/dataviews/search.js +0 -43
  569. package/build-module/components/dataviews/search.js.map +0 -1
  570. package/build-module/components/dataviews/view-actions.js +0 -237
  571. package/build-module/components/dataviews/view-actions.js.map +0 -1
  572. package/build-module/components/dataviews/view-grid.js +0 -74
  573. package/build-module/components/dataviews/view-grid.js.map +0 -1
  574. package/build-module/components/dataviews/view-list.js +0 -390
  575. package/build-module/components/dataviews/view-list.js.map +0 -1
  576. package/build-module/components/dataviews/view-side-by-side.js +0 -12
  577. package/build-module/components/dataviews/view-side-by-side.js.map +0 -1
  578. package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +0 -1
  579. package/build-module/components/header-edit-mode/document-actions/index.js +0 -164
  580. package/build-module/components/header-edit-mode/document-actions/index.js.map +0 -1
  581. package/build-module/components/header-edit-mode/undo-redo/redo.js +0 -33
  582. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +0 -1
  583. package/build-module/components/header-edit-mode/undo-redo/undo.js +0 -32
  584. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +0 -1
  585. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js +0 -54
  586. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +0 -1
  587. package/build-module/components/page-content-focus-notifications/edit-template-notification.js +0 -96
  588. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +0 -1
  589. package/build-module/components/page-content-focus-notifications/index.js +0 -14
  590. package/build-module/components/page-content-focus-notifications/index.js.map +0 -1
  591. package/build-module/components/page-pages/side-editor.js.map +0 -1
  592. package/build-module/components/page-patterns/pagination.js.map +0 -1
  593. package/build-module/components/page-templates/dataviews-templates.js +0 -308
  594. package/build-module/components/page-templates/dataviews-templates.js.map +0 -1
  595. package/build-module/components/secondary-sidebar/inserter-sidebar.js +0 -53
  596. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +0 -1
  597. package/build-module/components/secondary-sidebar/list-view-sidebar.js +0 -102
  598. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +0 -1
  599. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +0 -93
  600. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +0 -1
  601. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +0 -69
  602. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +0 -1
  603. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -41
  604. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +0 -1
  605. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -77
  606. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +0 -1
  607. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -27
  608. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +0 -1
  609. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +0 -65
  610. package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +0 -1
  611. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -209
  612. package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +0 -1
  613. package/build-module/utils/use-debounced-input.js +0 -15
  614. package/build-module/utils/use-debounced-input.js.map +0 -1
  615. package/src/components/dataviews/README.md +0 -191
  616. package/src/components/dataviews/add-filter.js +0 -108
  617. package/src/components/dataviews/constants.js +0 -5
  618. package/src/components/dataviews/dataviews.js +0 -99
  619. package/src/components/dataviews/filter-summary.js +0 -79
  620. package/src/components/dataviews/filters.js +0 -65
  621. package/src/components/dataviews/index.js +0 -1
  622. package/src/components/dataviews/item-actions.js +0 -208
  623. package/src/components/dataviews/pagination.js +0 -144
  624. package/src/components/dataviews/reset-filters.js +0 -26
  625. package/src/components/dataviews/search.js +0 -42
  626. package/src/components/dataviews/style.scss +0 -131
  627. package/src/components/dataviews/view-actions.js +0 -319
  628. package/src/components/dataviews/view-grid.js +0 -90
  629. package/src/components/dataviews/view-list.js +0 -512
  630. package/src/components/dataviews/view-side-by-side.js +0 -9
  631. package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +0 -62
  632. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +0 -28
  633. package/src/components/header-edit-mode/document-actions/index.js +0 -204
  634. package/src/components/header-edit-mode/document-actions/style.scss +0 -145
  635. package/src/components/header-edit-mode/undo-redo/redo.js +0 -38
  636. package/src/components/header-edit-mode/undo-redo/undo.js +0 -34
  637. package/src/components/page-content-focus-notifications/back-to-page-notification.js +0 -58
  638. package/src/components/page-content-focus-notifications/edit-template-notification.js +0 -104
  639. package/src/components/page-content-focus-notifications/index.js +0 -14
  640. package/src/components/page-pages/side-editor.js +0 -14
  641. package/src/components/page-templates/dataviews-templates.js +0 -345
  642. package/src/components/secondary-sidebar/inserter-sidebar.js +0 -66
  643. package/src/components/secondary-sidebar/list-view-sidebar.js +0 -123
  644. package/src/components/secondary-sidebar/style.scss +0 -65
  645. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +0 -108
  646. package/src/components/sidebar-edit-mode/page-panels/hooks.js +0 -99
  647. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +0 -45
  648. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +0 -83
  649. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +0 -26
  650. package/src/components/sidebar-edit-mode/template-panel/last-revision.js +0 -82
  651. package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +0 -279
  652. package/src/utils/use-debounced-input.js +0 -18
@@ -1,92 +1,427 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import removeAccents from 'remove-accents';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
4
9
  import {
5
- VisuallyHidden,
6
- __experimentalHeading as Heading,
10
+ Icon,
11
+ __experimentalView as View,
7
12
  __experimentalText as Text,
13
+ __experimentalHStack as HStack,
8
14
  __experimentalVStack as VStack,
15
+ VisuallyHidden,
9
16
  } from '@wordpress/components';
10
17
  import { __ } from '@wordpress/i18n';
18
+ import { useState, useMemo, useCallback } from '@wordpress/element';
11
19
  import { useEntityRecords } from '@wordpress/core-data';
12
20
  import { decodeEntities } from '@wordpress/html-entities';
21
+ import { ENTER, SPACE } from '@wordpress/keycodes';
22
+ import { parse } from '@wordpress/blocks';
23
+ import {
24
+ BlockPreview,
25
+ privateApis as blockEditorPrivateApis,
26
+ } from '@wordpress/block-editor';
27
+ import {
28
+ DataViews,
29
+ sortByTextFields,
30
+ getPaginationResults,
31
+ } from '@wordpress/dataviews';
32
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
13
33
 
14
34
  /**
15
35
  * Internal dependencies
16
36
  */
17
37
  import Page from '../page';
18
- import Table from '../table';
19
38
  import Link from '../routes/link';
20
- import AddedBy from '../list/added-by';
21
- import TemplateActions from '../template-actions';
22
39
  import AddNewTemplate from '../add-new-template';
23
- import { TEMPLATE_POST_TYPE } from '../../utils/constants';
40
+ import { useAddedBy, AvatarImage } from '../list/added-by';
41
+ import {
42
+ TEMPLATE_POST_TYPE,
43
+ ENUMERATION_TYPE,
44
+ OPERATOR_IN,
45
+ OPERATOR_NOT_IN,
46
+ LAYOUT_GRID,
47
+ LAYOUT_TABLE,
48
+ LAYOUT_LIST,
49
+ } from '../../utils/constants';
50
+ import {
51
+ useResetTemplateAction,
52
+ deleteTemplateAction,
53
+ renameTemplateAction,
54
+ } from './template-actions';
55
+ import { postRevisionsAction } from '../actions';
56
+ import usePatternSettings from '../page-patterns/use-pattern-settings';
57
+ import { unlock } from '../../lock-unlock';
58
+ import PostPreview from '../post-preview';
59
+
60
+ const { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(
61
+ blockEditorPrivateApis
62
+ );
63
+ const { useHistory } = unlock( routerPrivateApis );
64
+
65
+ const EMPTY_ARRAY = [];
66
+
67
+ const defaultConfigPerViewType = {
68
+ [ LAYOUT_TABLE ]: {},
69
+ [ LAYOUT_GRID ]: {
70
+ mediaField: 'preview',
71
+ primaryField: 'title',
72
+ },
73
+ [ LAYOUT_LIST ]: {
74
+ primaryField: 'title',
75
+ mediaField: 'preview',
76
+ },
77
+ };
78
+
79
+ const DEFAULT_VIEW = {
80
+ type: LAYOUT_TABLE,
81
+ search: '',
82
+ page: 1,
83
+ perPage: 20,
84
+ // All fields are visible by default, so it's
85
+ // better to keep track of the hidden ones.
86
+ hiddenFields: [ 'preview' ],
87
+ layout: {},
88
+ filters: [],
89
+ };
24
90
 
25
- export default function PageTemplates() {
26
- const { records: templates } = useEntityRecords(
27
- 'postType',
28
- TEMPLATE_POST_TYPE,
29
- {
91
+ function normalizeSearchInput( input = '' ) {
92
+ return removeAccents( input.trim().toLowerCase() );
93
+ }
94
+
95
+ function TemplateTitle( { item, viewType } ) {
96
+ if ( viewType === LAYOUT_LIST ) {
97
+ return (
98
+ <>
99
+ { decodeEntities( item.title?.rendered ) || __( '(no title)' ) }
100
+ </>
101
+ );
102
+ }
103
+
104
+ return (
105
+ <VStack spacing={ 1 }>
106
+ <View as="span" className="dataviews-view-grid__title-field">
107
+ <Link
108
+ params={ {
109
+ postId: item.id,
110
+ postType: item.type,
111
+ canvas: 'edit',
112
+ } }
113
+ >
114
+ { decodeEntities( item.title?.rendered ) ||
115
+ __( '(no title)' ) }
116
+ </Link>
117
+ </View>
118
+ </VStack>
119
+ );
120
+ }
121
+
122
+ function AuthorField( { item, viewType } ) {
123
+ const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
124
+ const withIcon = viewType !== LAYOUT_LIST;
125
+
126
+ return (
127
+ <HStack alignment="left" spacing={ 1 }>
128
+ { withIcon && imageUrl && <AvatarImage imageUrl={ imageUrl } /> }
129
+ { withIcon && ! imageUrl && (
130
+ <div className="edit-site-list-added-by__icon">
131
+ <Icon icon={ icon } />
132
+ </div>
133
+ ) }
134
+ <span>{ text }</span>
135
+ </HStack>
136
+ );
137
+ }
138
+
139
+ function TemplatePreview( { content, viewType } ) {
140
+ const settings = usePatternSettings();
141
+ const [ backgroundColor = 'white' ] = useGlobalStyle( 'color.background' );
142
+ const blocks = useMemo( () => {
143
+ return parse( content );
144
+ }, [ content ] );
145
+ if ( ! blocks?.length ) {
146
+ return null;
147
+ }
148
+ // Wrap everything in a block editor provider to ensure 'styles' that are needed
149
+ // for the previews are synced between the site editor store and the block editor store.
150
+ // Additionally we need to have the `__experimentalBlockPatterns` setting in order to
151
+ // render patterns inside the previews.
152
+ // TODO: Same approach is used in the patterns list and it becomes obvious that some of
153
+ // the block editor settings are needed in context where we don't have the block editor.
154
+ // Explore how we can solve this in a better way.
155
+ return (
156
+ <ExperimentalBlockEditorProvider settings={ settings }>
157
+ <div
158
+ className={ `page-templates-preview-field is-viewtype-${ viewType }` }
159
+ style={ { backgroundColor } }
160
+ >
161
+ <BlockPreview blocks={ blocks } />
162
+ </div>
163
+ </ExperimentalBlockEditorProvider>
164
+ );
165
+ }
166
+
167
+ export default function DataviewsTemplates() {
168
+ const [ templateId, setTemplateId ] = useState( null );
169
+ const [ view, setView ] = useState( DEFAULT_VIEW );
170
+ const { records: allTemplates, isResolving: isLoadingData } =
171
+ useEntityRecords( 'postType', TEMPLATE_POST_TYPE, {
30
172
  per_page: -1,
173
+ } );
174
+ const history = useHistory();
175
+
176
+ const onSelectionChange = useCallback(
177
+ ( items ) =>
178
+ setTemplateId( items?.length === 1 ? items[ 0 ].id : null ),
179
+ [ setTemplateId ]
180
+ );
181
+
182
+ const authors = useMemo( () => {
183
+ if ( ! allTemplates ) {
184
+ return EMPTY_ARRAY;
31
185
  }
186
+ const authorsSet = new Set();
187
+ allTemplates.forEach( ( template ) => {
188
+ authorsSet.add( template.author_text );
189
+ } );
190
+ return Array.from( authorsSet ).map( ( author ) => ( {
191
+ value: author,
192
+ label: author,
193
+ } ) );
194
+ }, [ allTemplates ] );
195
+
196
+ const fields = useMemo(
197
+ () => [
198
+ {
199
+ header: __( 'Preview' ),
200
+ id: 'preview',
201
+ render: ( { item } ) => {
202
+ return (
203
+ <TemplatePreview
204
+ content={ item.content.raw }
205
+ viewType={ view.type }
206
+ />
207
+ );
208
+ },
209
+ minWidth: 120,
210
+ maxWidth: 120,
211
+ enableSorting: false,
212
+ },
213
+ {
214
+ header: __( 'Template' ),
215
+ id: 'title',
216
+ getValue: ( { item } ) => item.title?.rendered,
217
+ render: ( { item } ) => (
218
+ <TemplateTitle item={ item } viewType={ view.type } />
219
+ ),
220
+ maxWidth: 400,
221
+ enableHiding: false,
222
+ },
223
+ {
224
+ header: __( 'Description' ),
225
+ id: 'description',
226
+ getValue: ( { item } ) => item.description,
227
+ render: ( { item } ) => {
228
+ return item.description ? (
229
+ decodeEntities( item.description )
230
+ ) : (
231
+ <>
232
+ <Text variant="muted" aria-hidden="true">
233
+ &#8212;
234
+ </Text>
235
+ <VisuallyHidden>
236
+ { __( 'No description.' ) }
237
+ </VisuallyHidden>
238
+ </>
239
+ );
240
+ },
241
+ maxWidth: 200,
242
+ enableSorting: false,
243
+ },
244
+ {
245
+ header: __( 'Author' ),
246
+ id: 'author',
247
+ getValue: ( { item } ) => item.author_text,
248
+ render: ( { item } ) => {
249
+ return <AuthorField viewType={ view.type } item={ item } />;
250
+ },
251
+ enableHiding: false,
252
+ type: ENUMERATION_TYPE,
253
+ elements: authors,
254
+ },
255
+ ],
256
+ [ authors, view.type ]
32
257
  );
33
258
 
34
- const columns = [
35
- {
36
- header: __( 'Template' ),
37
- cell: ( template ) => (
38
- <VStack>
39
- <Heading as="h3" level={ 5 }>
40
- <Link
41
- params={ {
42
- postId: template.id,
43
- postType: template.type,
44
- canvas: 'edit',
45
- } }
46
- >
47
- { decodeEntities(
48
- template.title?.rendered || template.slug
49
- ) }
50
- </Link>
51
- </Heading>
52
- { template.description && (
53
- <Text variant="muted">
54
- { decodeEntities( template.description ) }
55
- </Text>
56
- ) }
57
- </VStack>
58
- ),
59
- maxWidth: 400,
60
- },
61
- {
62
- header: __( 'Added by' ),
63
- cell: ( template ) => (
64
- <AddedBy postType={ template.type } postId={ template.id } />
65
- ),
66
- },
67
- {
68
- header: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,
69
- cell: ( template ) => (
70
- <TemplateActions
71
- postType={ template.type }
72
- postId={ template.id }
73
- />
74
- ),
259
+ const { data, paginationInfo } = useMemo( () => {
260
+ if ( ! allTemplates ) {
261
+ return {
262
+ data: EMPTY_ARRAY,
263
+ paginationInfo: { totalItems: 0, totalPages: 0 },
264
+ };
265
+ }
266
+ let filteredTemplates = [ ...allTemplates ];
267
+ // Handle global search.
268
+ if ( view.search ) {
269
+ const normalizedSearch = normalizeSearchInput( view.search );
270
+ filteredTemplates = filteredTemplates.filter( ( item ) => {
271
+ const title = item.title?.rendered || item.slug;
272
+ return (
273
+ normalizeSearchInput( title ).includes(
274
+ normalizedSearch
275
+ ) ||
276
+ normalizeSearchInput( item.description ).includes(
277
+ normalizedSearch
278
+ )
279
+ );
280
+ } );
281
+ }
282
+
283
+ // Handle filters.
284
+ if ( view.filters.length > 0 ) {
285
+ view.filters.forEach( ( filter ) => {
286
+ if (
287
+ filter.field === 'author' &&
288
+ filter.operator === OPERATOR_IN &&
289
+ !! filter.value
290
+ ) {
291
+ filteredTemplates = filteredTemplates.filter( ( item ) => {
292
+ return item.author_text === filter.value;
293
+ } );
294
+ } else if (
295
+ filter.field === 'author' &&
296
+ filter.operator === OPERATOR_NOT_IN &&
297
+ !! filter.value
298
+ ) {
299
+ filteredTemplates = filteredTemplates.filter( ( item ) => {
300
+ return item.author_text !== filter.value;
301
+ } );
302
+ }
303
+ } );
304
+ }
305
+
306
+ // Handle sorting.
307
+ if ( view.sort ) {
308
+ filteredTemplates = sortByTextFields( {
309
+ data: filteredTemplates,
310
+ view,
311
+ fields,
312
+ textFields: [ 'title' ],
313
+ } );
314
+ }
315
+ // Handle pagination.
316
+ return getPaginationResults( {
317
+ data: filteredTemplates,
318
+ view,
319
+ } );
320
+ }, [ allTemplates, view, fields ] );
321
+
322
+ const resetTemplateAction = useResetTemplateAction();
323
+ const actions = useMemo(
324
+ () => [
325
+ resetTemplateAction,
326
+ deleteTemplateAction,
327
+ renameTemplateAction,
328
+ postRevisionsAction,
329
+ ],
330
+ [ resetTemplateAction ]
331
+ );
332
+
333
+ const onChangeView = useCallback(
334
+ ( newView ) => {
335
+ if ( newView.type !== view.type ) {
336
+ newView = {
337
+ ...newView,
338
+ layout: {
339
+ ...defaultConfigPerViewType[ newView.type ],
340
+ },
341
+ };
342
+ }
343
+
344
+ setView( newView );
75
345
  },
76
- ];
346
+ [ view.type, setView ]
347
+ );
77
348
 
78
349
  return (
79
- <Page
80
- title={ __( 'Templates' ) }
81
- actions={
82
- <AddNewTemplate
83
- templateType={ TEMPLATE_POST_TYPE }
84
- showIcon={ false }
85
- toggleProps={ { variant: 'primary' } }
350
+ <>
351
+ <Page
352
+ className={
353
+ view.type === LAYOUT_LIST
354
+ ? 'edit-site-template-pages-list-view'
355
+ : null
356
+ }
357
+ title={ __( 'Templates' ) }
358
+ actions={
359
+ <AddNewTemplate
360
+ templateType={ TEMPLATE_POST_TYPE }
361
+ showIcon={ false }
362
+ toggleProps={ { variant: 'primary' } }
363
+ />
364
+ }
365
+ >
366
+ <DataViews
367
+ paginationInfo={ paginationInfo }
368
+ fields={ fields }
369
+ actions={ actions }
370
+ data={ data }
371
+ isLoading={ isLoadingData }
372
+ view={ view }
373
+ onChangeView={ onChangeView }
374
+ onSelectionChange={ onSelectionChange }
375
+ deferredRendering={
376
+ ! view.hiddenFields?.includes( 'preview' )
377
+ }
86
378
  />
87
- }
88
- >
89
- { templates && <Table data={ templates } columns={ columns } /> }
90
- </Page>
379
+ </Page>
380
+ { view.type === LAYOUT_LIST && (
381
+ <Page>
382
+ <div
383
+ className="edit-site-template-pages-preview"
384
+ tabIndex={ 0 }
385
+ role="button"
386
+ onKeyDown={ ( event ) => {
387
+ const { keyCode } = event;
388
+ if ( keyCode === ENTER || keyCode === SPACE ) {
389
+ history.push( {
390
+ postId: templateId,
391
+ postType: TEMPLATE_POST_TYPE,
392
+ canvas: 'edit',
393
+ } );
394
+ }
395
+ } }
396
+ onClick={ () =>
397
+ history.push( {
398
+ postId: templateId,
399
+ postType: TEMPLATE_POST_TYPE,
400
+ canvas: 'edit',
401
+ } )
402
+ }
403
+ >
404
+ { templateId !== null ? (
405
+ <PostPreview
406
+ postId={ templateId }
407
+ postType={ TEMPLATE_POST_TYPE }
408
+ />
409
+ ) : (
410
+ <div
411
+ style={ {
412
+ display: 'flex',
413
+ flexDirection: 'column',
414
+ justifyContent: 'center',
415
+ textAlign: 'center',
416
+ height: '100%',
417
+ } }
418
+ >
419
+ <p>{ __( 'Select a template to preview' ) }</p>
420
+ </div>
421
+ ) }
422
+ </div>
423
+ </Page>
424
+ ) }
425
+ </>
91
426
  );
92
427
  }
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -13,15 +18,21 @@ export default function Pagination( {
13
18
  numPages,
14
19
  changePage,
15
20
  totalItems,
21
+ className,
22
+ disabled = false,
23
+ buttonVariant = 'tertiary',
24
+ label = __( 'Pagination Navigation' ),
16
25
  } ) {
17
26
  return (
18
27
  <HStack
19
28
  expanded={ false }
29
+ as="nav"
30
+ aria-label={ label }
20
31
  spacing={ 3 }
21
32
  justify="flex-start"
22
- className="edit-site-patterns__grid-pagination"
33
+ className={ classnames( 'edit-site-pagination', className ) }
23
34
  >
24
- <Text variant="muted">
35
+ <Text variant="muted" className="edit-site-pagination__total">
25
36
  {
26
37
  // translators: %s: Total number of patterns.
27
38
  sprintf(
@@ -33,17 +44,17 @@ export default function Pagination( {
33
44
  </Text>
34
45
  <HStack expanded={ false } spacing={ 1 }>
35
46
  <Button
36
- variant="tertiary"
47
+ variant={ buttonVariant }
37
48
  onClick={ () => changePage( 1 ) }
38
- disabled={ currentPage === 1 }
49
+ disabled={ disabled || currentPage === 1 }
39
50
  aria-label={ __( 'First page' ) }
40
51
  >
41
52
  «
42
53
  </Button>
43
54
  <Button
44
- variant="tertiary"
55
+ variant={ buttonVariant }
45
56
  onClick={ () => changePage( currentPage - 1 ) }
46
- disabled={ currentPage === 1 }
57
+ disabled={ disabled || currentPage === 1 }
47
58
  aria-label={ __( 'Previous page' ) }
48
59
  >
49
60
 
@@ -59,17 +70,17 @@ export default function Pagination( {
59
70
  </Text>
60
71
  <HStack expanded={ false } spacing={ 1 }>
61
72
  <Button
62
- variant="tertiary"
73
+ variant={ buttonVariant }
63
74
  onClick={ () => changePage( currentPage + 1 ) }
64
- disabled={ currentPage === numPages }
75
+ disabled={ disabled || currentPage === numPages }
65
76
  aria-label={ __( 'Next page' ) }
66
77
  >
67
78
 
68
79
  </Button>
69
80
  <Button
70
- variant="tertiary"
81
+ variant={ buttonVariant }
71
82
  onClick={ () => changePage( numPages ) }
72
- disabled={ currentPage === numPages }
83
+ disabled={ disabled || currentPage === numPages }
73
84
  aria-label={ __( 'Last page' ) }
74
85
  >
75
86
  »
@@ -0,0 +1,5 @@
1
+ .edit-site-pagination .components-button.is-tertiary {
2
+ width: $button-size-compact;
3
+ height: $button-size-compact;
4
+ justify-content: center;
5
+ }
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Internal dependencies
3
+ */
4
+ import Editor from '../editor';
5
+ import { useInitEditedEntity } from '../sync-state-with-url/use-init-edited-entity-from-url';
6
+ import { useIsSiteEditorLoading } from '../layout/hooks';
7
+
8
+ export default function PostPreview( { postType, postId } ) {
9
+ useInitEditedEntity( {
10
+ postId,
11
+ postType,
12
+ } );
13
+ const isEditorLoading = useIsSiteEditorLoading();
14
+
15
+ return <Editor isLoading={ isEditorLoading } />;
16
+ }
@@ -6,16 +6,20 @@ import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/
6
6
  import { store as preferencesStore } from '@wordpress/preferences';
7
7
 
8
8
  export default function EnableFeature( props ) {
9
- const { featureName, onToggle = () => {}, ...remainingProps } = props;
9
+ const {
10
+ scope = 'core/edit-site',
11
+ featureName,
12
+ onToggle = () => {},
13
+ ...remainingProps
14
+ } = props;
10
15
  const isChecked = useSelect(
11
- ( select ) =>
12
- !! select( preferencesStore ).get( 'core/edit-site', featureName ),
13
- [ featureName ]
16
+ ( select ) => !! select( preferencesStore ).get( scope, featureName ),
17
+ [ scope, featureName ]
14
18
  );
15
19
  const { toggle } = useDispatch( preferencesStore );
16
20
  const onChange = () => {
17
21
  onToggle();
18
- toggle( 'core/edit-site', featureName );
22
+ toggle( scope, featureName );
19
23
  };
20
24
  return (
21
25
  <BaseOption
@@ -0,0 +1,23 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { compose, ifCondition } from '@wordpress/compose';
5
+ import { withSelect, withDispatch } from '@wordpress/data';
6
+ import { ___unstablePreferencesModalBaseOption as BaseOption } from '@wordpress/interface';
7
+ import { store as editorStore } from '@wordpress/editor';
8
+
9
+ export default compose(
10
+ withSelect( ( select, { panelName } ) => {
11
+ const { isEditorPanelEnabled, isEditorPanelRemoved } =
12
+ select( editorStore );
13
+ return {
14
+ isRemoved: isEditorPanelRemoved( panelName ),
15
+ isChecked: isEditorPanelEnabled( panelName ),
16
+ };
17
+ } ),
18
+ ifCondition( ( { isRemoved } ) => ! isRemoved ),
19
+ withDispatch( ( dispatch, { panelName } ) => ( {
20
+ onChange: () =>
21
+ dispatch( editorStore ).toggleEditorPanelEnabled( panelName ),
22
+ } ) )
23
+ )( BaseOption );