@wordpress/edit-site 7.3.0 → 7.4.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.
- package/CHANGELOG.md +25 -0
- package/build/components/add-new-pattern/index.cjs +1 -1
- package/build/components/add-new-pattern/index.cjs.map +1 -1
- package/build/components/add-new-post/index.cjs +1 -1
- package/build/components/add-new-post/index.cjs.map +1 -1
- package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs +1 -1
- package/build/components/add-new-template/add-custom-generic-template-modal-content.cjs.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.cjs +4 -2
- package/build/components/add-new-template/add-custom-template-modal-content.cjs.map +3 -3
- package/build/components/add-new-template/index.cjs +7 -5
- package/build/components/add-new-template/index.cjs.map +3 -3
- package/build/components/add-new-template/utils.cjs +84 -9
- package/build/components/add-new-template/utils.cjs.map +2 -2
- package/build/components/app/index.cjs +1 -1
- package/build/components/app/index.cjs.map +1 -1
- package/build/components/canvas-loader/index.cjs +1 -1
- package/build/components/canvas-loader/index.cjs.map +1 -1
- package/build/components/dataviews-actions/index.cjs +2 -55
- package/build/components/dataviews-actions/index.cjs.map +3 -3
- package/build/components/editor/index.cjs +1 -1
- package/build/components/editor/index.cjs.map +1 -1
- package/build/components/editor/site-preview.cjs +1 -1
- package/build/components/editor/site-preview.cjs.map +1 -1
- package/build/components/editor/use-adapt-editor-to-canvas.cjs +0 -11
- package/build/components/editor/use-adapt-editor-to-canvas.cjs.map +3 -3
- package/build/components/layout/index.cjs +3 -3
- package/build/components/layout/index.cjs.map +3 -3
- package/build/components/media/index.cjs +1 -1
- package/build/components/media/index.cjs.map +1 -1
- package/build/components/more-menu/index.cjs +1 -1
- package/build/components/more-menu/index.cjs.map +1 -1
- package/build/components/more-menu/welcome-guide-menu-item.cjs +11 -3
- package/build/components/more-menu/welcome-guide-menu-item.cjs.map +4 -4
- package/build/components/page-patterns/actions.cjs +1 -1
- package/build/components/page-patterns/actions.cjs.map +1 -1
- package/build/components/page-patterns/delete-category-menu-item.cjs +1 -1
- package/build/components/page-patterns/delete-category-menu-item.cjs.map +1 -1
- package/build/components/page-patterns/fields.cjs +1 -1
- package/build/components/page-patterns/fields.cjs.map +1 -1
- package/build/components/page-patterns/index.cjs +1 -1
- package/build/components/page-patterns/index.cjs.map +1 -1
- package/build/components/page-patterns/rename-category-menu-item.cjs +1 -1
- package/build/components/page-patterns/rename-category-menu-item.cjs.map +1 -1
- package/build/components/page-templates/fields.cjs +3 -127
- package/build/components/page-templates/fields.cjs.map +4 -4
- package/build/components/page-templates/index.cjs +47 -231
- package/build/components/page-templates/index.cjs.map +4 -4
- package/build/components/pagination/index.cjs +1 -1
- package/build/components/pagination/index.cjs.map +1 -1
- package/build/components/plugin-template-setting-panel/index.cjs +1 -1
- package/build/components/plugin-template-setting-panel/index.cjs.map +1 -1
- package/build/components/post-list/index.cjs +8 -18
- package/build/components/post-list/index.cjs.map +3 -3
- package/build/components/post-list/quick-edit-modal.cjs +1 -1
- package/build/components/post-list/quick-edit-modal.cjs.map +1 -1
- package/build/components/resizable-frame/index.cjs +1 -1
- package/build/components/resizable-frame/index.cjs.map +1 -1
- package/build/components/save-button/index.cjs +1 -1
- package/build/components/save-button/index.cjs.map +1 -1
- package/build/components/save-hub/index.cjs +1 -1
- package/build/components/save-hub/index.cjs.map +1 -1
- package/build/components/save-panel/index.cjs +1 -1
- package/build/components/save-panel/index.cjs.map +1 -1
- package/build/components/sidebar/index.cjs +1 -1
- package/build/components/sidebar/index.cjs.map +1 -1
- package/build/components/sidebar-button/index.cjs +1 -1
- package/build/components/sidebar-button/index.cjs.map +1 -1
- package/build/components/sidebar-dataviews/index.cjs +1 -1
- package/build/components/sidebar-dataviews/index.cjs.map +1 -1
- package/build/components/sidebar-global-styles/index.cjs +3 -3
- package/build/components/sidebar-global-styles/index.cjs.map +3 -3
- package/build/components/sidebar-identity/index.cjs +18 -23
- package/build/components/sidebar-identity/index.cjs.map +3 -3
- package/build/components/sidebar-navigation-item/index.cjs +2 -9
- package/build/components/sidebar-navigation-item/index.cjs.map +3 -3
- package/build/components/sidebar-navigation-screen/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.cjs +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-identity/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-identity/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-main/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/more-menu.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/rename-modal.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.cjs.map +2 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.cjs.map +2 -2
- package/build/components/sidebar-navigation-screen-patterns/category-item.cjs +1 -1
- package/build/components/sidebar-navigation-screen-patterns/category-item.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.cjs.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.cjs +35 -73
- package/build/components/sidebar-navigation-screen-templates-browse/content.cjs.map +4 -4
- package/build/components/sidebar-navigation-screen-templates-browse/index.cjs +2 -3
- package/build/components/sidebar-navigation-screen-templates-browse/index.cjs.map +4 -4
- package/build/components/sidebar-navigation-screen-unsupported/index.cjs +1 -1
- package/build/components/sidebar-navigation-screen-unsupported/index.cjs.map +1 -1
- package/build/components/site-editor-routes/home.cjs +1 -1
- package/build/components/site-editor-routes/home.cjs.map +1 -1
- package/build/components/site-editor-routes/identity.cjs +1 -1
- package/build/components/site-editor-routes/identity.cjs.map +1 -1
- package/build/components/site-editor-routes/navigation-item.cjs +1 -1
- package/build/components/site-editor-routes/navigation-item.cjs.map +1 -1
- package/build/components/site-editor-routes/navigation.cjs +1 -1
- package/build/components/site-editor-routes/navigation.cjs.map +1 -1
- package/build/components/site-editor-routes/notfound.cjs +1 -1
- package/build/components/site-editor-routes/notfound.cjs.map +1 -1
- package/build/components/site-editor-routes/page-item.cjs +1 -1
- package/build/components/site-editor-routes/page-item.cjs.map +1 -1
- package/build/components/site-editor-routes/pages.cjs +1 -1
- package/build/components/site-editor-routes/pages.cjs.map +1 -1
- package/build/components/site-editor-routes/pattern-item.cjs +1 -1
- package/build/components/site-editor-routes/pattern-item.cjs.map +1 -1
- package/build/components/site-editor-routes/patterns.cjs +1 -1
- package/build/components/site-editor-routes/patterns.cjs.map +1 -1
- package/build/components/site-editor-routes/stylebook.cjs +1 -1
- package/build/components/site-editor-routes/stylebook.cjs.map +1 -1
- package/build/components/site-editor-routes/styles.cjs +1 -1
- package/build/components/site-editor-routes/styles.cjs.map +1 -1
- package/build/components/site-editor-routes/template-item.cjs +1 -1
- package/build/components/site-editor-routes/template-item.cjs.map +1 -1
- package/build/components/site-editor-routes/template-part-item.cjs +1 -1
- package/build/components/site-editor-routes/template-part-item.cjs.map +1 -1
- package/build/components/site-editor-routes/templates.cjs +3 -5
- package/build/components/site-editor-routes/templates.cjs.map +4 -4
- package/build/components/site-hub/index.cjs +1 -1
- package/build/components/site-hub/index.cjs.map +1 -1
- package/build/components/welcome-guide/editor.cjs +1 -1
- package/build/components/welcome-guide/editor.cjs.map +1 -1
- package/build/components/welcome-guide/image.cjs +1 -1
- package/build/components/welcome-guide/image.cjs.map +1 -1
- package/build/components/welcome-guide/index.cjs +1 -1
- package/build/components/welcome-guide/index.cjs.map +1 -1
- package/build/components/welcome-guide/page.cjs +1 -1
- package/build/components/welcome-guide/page.cjs.map +1 -1
- package/build/components/welcome-guide/template.cjs +1 -1
- package/build/components/welcome-guide/template.cjs.map +1 -1
- package/build/deprecated.cjs +1 -1
- package/build/deprecated.cjs.map +1 -1
- package/build/index.cjs +1 -2
- package/build/index.cjs.map +3 -3
- package/build-module/components/add-new-pattern/index.mjs +1 -1
- package/build-module/components/add-new-pattern/index.mjs.map +1 -1
- package/build-module/components/add-new-post/index.mjs +1 -1
- package/build-module/components/add-new-post/index.mjs.map +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs +1 -1
- package/build-module/components/add-new-template/add-custom-generic-template-modal-content.mjs.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.mjs +4 -2
- package/build-module/components/add-new-template/add-custom-template-modal-content.mjs.map +3 -3
- package/build-module/components/add-new-template/index.mjs +8 -5
- package/build-module/components/add-new-template/index.mjs.map +3 -3
- package/build-module/components/add-new-template/utils.mjs +84 -9
- package/build-module/components/add-new-template/utils.mjs.map +2 -2
- package/build-module/components/app/index.mjs +1 -1
- package/build-module/components/app/index.mjs.map +1 -1
- package/build-module/components/canvas-loader/index.mjs +1 -1
- package/build-module/components/canvas-loader/index.mjs.map +1 -1
- package/build-module/components/dataviews-actions/index.mjs +1 -53
- package/build-module/components/dataviews-actions/index.mjs.map +2 -2
- package/build-module/components/editor/index.mjs +1 -1
- package/build-module/components/editor/index.mjs.map +1 -1
- package/build-module/components/editor/site-preview.mjs +1 -1
- package/build-module/components/editor/site-preview.mjs.map +1 -1
- package/build-module/components/editor/use-adapt-editor-to-canvas.mjs +0 -11
- package/build-module/components/editor/use-adapt-editor-to-canvas.mjs.map +2 -2
- package/build-module/components/layout/index.mjs +3 -3
- package/build-module/components/layout/index.mjs.map +3 -3
- package/build-module/components/media/index.mjs +1 -1
- package/build-module/components/media/index.mjs.map +1 -1
- package/build-module/components/more-menu/index.mjs +1 -1
- package/build-module/components/more-menu/index.mjs.map +1 -1
- package/build-module/components/more-menu/welcome-guide-menu-item.mjs +11 -3
- package/build-module/components/more-menu/welcome-guide-menu-item.mjs.map +3 -3
- package/build-module/components/page-patterns/actions.mjs +1 -1
- package/build-module/components/page-patterns/actions.mjs.map +1 -1
- package/build-module/components/page-patterns/delete-category-menu-item.mjs +1 -1
- package/build-module/components/page-patterns/delete-category-menu-item.mjs.map +1 -1
- package/build-module/components/page-patterns/fields.mjs +1 -1
- package/build-module/components/page-patterns/fields.mjs.map +1 -1
- package/build-module/components/page-patterns/index.mjs +1 -1
- package/build-module/components/page-patterns/index.mjs.map +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.mjs +1 -1
- package/build-module/components/page-patterns/rename-category-menu-item.mjs.map +1 -1
- package/build-module/components/page-templates/fields.mjs +4 -130
- package/build-module/components/page-templates/fields.mjs.map +4 -4
- package/build-module/components/page-templates/index.mjs +53 -254
- package/build-module/components/page-templates/index.mjs.map +3 -3
- package/build-module/components/pagination/index.mjs +1 -1
- package/build-module/components/pagination/index.mjs.map +1 -1
- package/build-module/components/plugin-template-setting-panel/index.mjs +1 -1
- package/build-module/components/plugin-template-setting-panel/index.mjs.map +1 -1
- package/build-module/components/post-list/index.mjs +9 -19
- package/build-module/components/post-list/index.mjs.map +3 -3
- package/build-module/components/post-list/quick-edit-modal.mjs +1 -1
- package/build-module/components/post-list/quick-edit-modal.mjs.map +1 -1
- package/build-module/components/resizable-frame/index.mjs +1 -1
- package/build-module/components/resizable-frame/index.mjs.map +1 -1
- package/build-module/components/save-button/index.mjs +1 -1
- package/build-module/components/save-button/index.mjs.map +1 -1
- package/build-module/components/save-hub/index.mjs +1 -1
- package/build-module/components/save-hub/index.mjs.map +1 -1
- package/build-module/components/save-panel/index.mjs +1 -1
- package/build-module/components/save-panel/index.mjs.map +1 -1
- package/build-module/components/sidebar/index.mjs +1 -1
- package/build-module/components/sidebar/index.mjs.map +1 -1
- package/build-module/components/sidebar-button/index.mjs +1 -1
- package/build-module/components/sidebar-button/index.mjs.map +1 -1
- package/build-module/components/sidebar-dataviews/index.mjs +1 -1
- package/build-module/components/sidebar-dataviews/index.mjs.map +1 -1
- package/build-module/components/sidebar-global-styles/index.mjs +3 -3
- package/build-module/components/sidebar-global-styles/index.mjs.map +3 -3
- package/build-module/components/sidebar-identity/index.mjs +18 -23
- package/build-module/components/sidebar-identity/index.mjs.map +3 -3
- package/build-module/components/sidebar-navigation-item/index.mjs +2 -9
- package/build-module/components/sidebar-navigation-item/index.mjs.map +3 -3
- package/build-module/components/sidebar-navigation-screen/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-identity/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-identity/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-confirm-dialog.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/more-menu.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/rename-modal.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.mjs.map +2 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/leaf-more-menu.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.mjs.map +2 -2
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.mjs.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs +43 -76
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.mjs.map +3 -3
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs +2 -3
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.mjs.map +3 -3
- package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs +1 -1
- package/build-module/components/sidebar-navigation-screen-unsupported/index.mjs.map +1 -1
- package/build-module/components/site-editor-routes/home.mjs +1 -1
- package/build-module/components/site-editor-routes/home.mjs.map +1 -1
- package/build-module/components/site-editor-routes/identity.mjs +1 -1
- package/build-module/components/site-editor-routes/identity.mjs.map +1 -1
- package/build-module/components/site-editor-routes/navigation-item.mjs +1 -1
- package/build-module/components/site-editor-routes/navigation-item.mjs.map +1 -1
- package/build-module/components/site-editor-routes/navigation.mjs +1 -1
- package/build-module/components/site-editor-routes/navigation.mjs.map +1 -1
- package/build-module/components/site-editor-routes/notfound.mjs +1 -1
- package/build-module/components/site-editor-routes/notfound.mjs.map +1 -1
- package/build-module/components/site-editor-routes/page-item.mjs +1 -1
- package/build-module/components/site-editor-routes/page-item.mjs.map +1 -1
- package/build-module/components/site-editor-routes/pages.mjs +1 -1
- package/build-module/components/site-editor-routes/pages.mjs.map +1 -1
- package/build-module/components/site-editor-routes/pattern-item.mjs +1 -1
- package/build-module/components/site-editor-routes/pattern-item.mjs.map +1 -1
- package/build-module/components/site-editor-routes/patterns.mjs +1 -1
- package/build-module/components/site-editor-routes/patterns.mjs.map +1 -1
- package/build-module/components/site-editor-routes/stylebook.mjs +1 -1
- package/build-module/components/site-editor-routes/stylebook.mjs.map +1 -1
- package/build-module/components/site-editor-routes/styles.mjs +1 -1
- package/build-module/components/site-editor-routes/styles.mjs.map +1 -1
- package/build-module/components/site-editor-routes/template-item.mjs +1 -1
- package/build-module/components/site-editor-routes/template-item.mjs.map +1 -1
- package/build-module/components/site-editor-routes/template-part-item.mjs +1 -1
- package/build-module/components/site-editor-routes/template-part-item.mjs.map +1 -1
- package/build-module/components/site-editor-routes/templates.mjs +3 -5
- package/build-module/components/site-editor-routes/templates.mjs.map +3 -3
- package/build-module/components/site-hub/index.mjs +1 -1
- package/build-module/components/site-hub/index.mjs.map +1 -1
- package/build-module/components/welcome-guide/editor.mjs +1 -1
- package/build-module/components/welcome-guide/editor.mjs.map +1 -1
- package/build-module/components/welcome-guide/image.mjs +1 -1
- package/build-module/components/welcome-guide/image.mjs.map +1 -1
- package/build-module/components/welcome-guide/index.mjs +1 -1
- package/build-module/components/welcome-guide/index.mjs.map +1 -1
- package/build-module/components/welcome-guide/page.mjs +1 -1
- package/build-module/components/welcome-guide/page.mjs.map +1 -1
- package/build-module/components/welcome-guide/template.mjs +1 -1
- package/build-module/components/welcome-guide/template.mjs.map +1 -1
- package/build-module/deprecated.mjs +1 -1
- package/build-module/deprecated.mjs.map +1 -1
- package/build-module/index.mjs +1 -2
- package/build-module/index.mjs.map +3 -3
- package/build-style/style-rtl.css +38 -81
- package/build-style/style.css +38 -81
- package/package.json +42 -52
- package/src/components/add-new-template/style.scss +8 -21
- package/src/components/add-new-template/utils.js +118 -9
- package/src/components/dataviews-actions/index.js +0 -61
- package/src/components/editor/use-adapt-editor-to-canvas.js +0 -21
- package/src/components/layout/{index.js → index.jsx} +5 -2
- package/src/components/more-menu/{welcome-guide-menu-item.js → welcome-guide-menu-item.jsx} +8 -3
- package/src/components/page-templates/fields.jsx +51 -0
- package/src/components/page-templates/{index-legacy.js → index.jsx} +1 -1
- package/src/components/post-list/{index.js → index.jsx} +7 -20
- package/src/components/sidebar-global-styles/{index.js → index.jsx} +7 -5
- package/src/components/sidebar-global-styles/style.scss +6 -0
- package/src/components/sidebar-identity/{index.js → index.jsx} +23 -19
- package/src/components/sidebar-identity/style.scss +7 -0
- package/src/components/sidebar-navigation-item/{index.js → index.jsx} +1 -7
- package/src/components/sidebar-navigation-screen-navigation-menus/build-navigation-label.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/{index.js → index.jsx} +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/{navigation-menu-content.js → navigation-menu-content.jsx} +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/{index.js → index.jsx} +1 -8
- package/src/components/site-editor-routes/{templates.js → templates.jsx} +2 -19
- package/src/components/welcome-guide/style.scss +1 -1
- package/src/{index.js → index.jsx} +0 -1
- package/src/style.scss +1 -1
- package/src/utils/test/get-filtered-template-parts.js +1 -0
- package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs +0 -107
- package/build/components/add-new-template-legacy/add-custom-generic-template-modal-content.cjs.map +0 -7
- package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs +0 -327
- package/build/components/add-new-template-legacy/add-custom-template-modal-content.cjs.map +0 -7
- package/build/components/add-new-template-legacy/index.cjs +0 -390
- package/build/components/add-new-template-legacy/index.cjs.map +0 -7
- package/build/components/add-new-template-legacy/utils.cjs +0 -623
- package/build/components/add-new-template-legacy/utils.cjs.map +0 -7
- package/build/components/page-templates/hooks.cjs +0 -94
- package/build/components/page-templates/hooks.cjs.map +0 -7
- package/build/components/page-templates/index-legacy.cjs +0 -167
- package/build/components/page-templates/index-legacy.cjs.map +0 -7
- package/build/components/page-templates/view-utils.cjs +0 -79
- package/build/components/page-templates/view-utils.cjs.map +0 -7
- package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs +0 -78
- package/build/components/sidebar-navigation-screen-templates-browse/content-legacy.cjs.map +0 -7
- package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs +0 -91
- package/build-module/components/add-new-template-legacy/add-custom-generic-template-modal-content.mjs.map +0 -7
- package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs +0 -315
- package/build-module/components/add-new-template-legacy/add-custom-template-modal-content.mjs.map +0 -7
- package/build-module/components/add-new-template-legacy/index.mjs +0 -391
- package/build-module/components/add-new-template-legacy/index.mjs.map +0 -7
- package/build-module/components/add-new-template-legacy/utils.mjs +0 -592
- package/build-module/components/add-new-template-legacy/utils.mjs.map +0 -7
- package/build-module/components/page-templates/hooks.mjs +0 -74
- package/build-module/components/page-templates/hooks.mjs.map +0 -7
- package/build-module/components/page-templates/index-legacy.mjs +0 -136
- package/build-module/components/page-templates/index-legacy.mjs.map +0 -7
- package/build-module/components/page-templates/view-utils.mjs +0 -52
- package/build-module/components/page-templates/view-utils.mjs.map +0 -7
- package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs +0 -52
- package/build-module/components/sidebar-navigation-screen-templates-browse/content-legacy.mjs.map +0 -7
- package/src/components/add-new-template/add-custom-generic-template-modal-content.js +0 -85
- package/src/components/add-new-template/add-custom-template-modal-content.js +0 -304
- package/src/components/add-new-template/index.js +0 -435
- package/src/components/add-new-template-legacy/utils.js +0 -757
- package/src/components/page-templates/fields.js +0 -195
- package/src/components/page-templates/hooks.js +0 -93
- package/src/components/page-templates/index.js +0 -369
- package/src/components/page-templates/view-utils.js +0 -50
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +0 -87
- package/src/components/sidebar-navigation-screen-templates-browse/style.scss +0 -6
- /package/src/components/add-new-pattern/{index.js → index.jsx} +0 -0
- /package/src/components/add-new-post/{index.js → index.jsx} +0 -0
- /package/src/components/{add-new-template-legacy/add-custom-generic-template-modal-content.js → add-new-template/add-custom-generic-template-modal-content.jsx} +0 -0
- /package/src/components/{add-new-template-legacy/add-custom-template-modal-content.js → add-new-template/add-custom-template-modal-content.jsx} +0 -0
- /package/src/components/{add-new-template-legacy/index.js → add-new-template/index.jsx} +0 -0
- /package/src/components/app/{index.js → index.jsx} +0 -0
- /package/src/components/canvas-loader/{index.js → index.jsx} +0 -0
- /package/src/components/editor/{index.js → index.jsx} +0 -0
- /package/src/components/editor/{site-preview.js → site-preview.jsx} +0 -0
- /package/src/components/media/{index.js → index.jsx} +0 -0
- /package/src/components/more-menu/{index.js → index.jsx} +0 -0
- /package/src/components/page-patterns/{actions.js → actions.jsx} +0 -0
- /package/src/components/page-patterns/{delete-category-menu-item.js → delete-category-menu-item.jsx} +0 -0
- /package/src/components/page-patterns/{fields.js → fields.jsx} +0 -0
- /package/src/components/page-patterns/{index.js → index.jsx} +0 -0
- /package/src/components/page-patterns/{rename-category-menu-item.js → rename-category-menu-item.jsx} +0 -0
- /package/src/components/pagination/{index.js → index.jsx} +0 -0
- /package/src/components/plugin-template-setting-panel/{index.js → index.jsx} +0 -0
- /package/src/components/post-list/{quick-edit-modal.js → quick-edit-modal.jsx} +0 -0
- /package/src/components/resizable-frame/{index.js → index.jsx} +0 -0
- /package/src/components/save-button/{index.js → index.jsx} +0 -0
- /package/src/components/save-hub/{index.js → index.jsx} +0 -0
- /package/src/components/save-panel/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-button/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-dataviews/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-details-footer/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-global-styles/{content.js → content.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-global-styles/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-identity/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-main/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{delete-confirm-dialog.js → delete-confirm-dialog.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{more-menu.js → more-menu.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{navigation-menu-editor.js → navigation-menu-editor.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{rename-modal.js → rename-modal.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menu/{single-navigation-menu.js → single-navigation-menu.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-navigation-menus/{leaf-more-menu.js → leaf-more-menu.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-patterns/{category-item.js → category-item.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-patterns/{index.js → index.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-templates-browse/{content-legacy.js → content.jsx} +0 -0
- /package/src/components/sidebar-navigation-screen-unsupported/{index.js → index.jsx} +0 -0
- /package/src/components/site-editor-routes/{home.js → home.jsx} +0 -0
- /package/src/components/site-editor-routes/{identity.js → identity.jsx} +0 -0
- /package/src/components/site-editor-routes/{navigation-item.js → navigation-item.jsx} +0 -0
- /package/src/components/site-editor-routes/{navigation.js → navigation.jsx} +0 -0
- /package/src/components/site-editor-routes/{notfound.js → notfound.jsx} +0 -0
- /package/src/components/site-editor-routes/{page-item.js → page-item.jsx} +0 -0
- /package/src/components/site-editor-routes/{pages.js → pages.jsx} +0 -0
- /package/src/components/site-editor-routes/{pattern-item.js → pattern-item.jsx} +0 -0
- /package/src/components/site-editor-routes/{patterns.js → patterns.jsx} +0 -0
- /package/src/components/site-editor-routes/{stylebook.js → stylebook.jsx} +0 -0
- /package/src/components/site-editor-routes/{styles.js → styles.jsx} +0 -0
- /package/src/components/site-editor-routes/{template-item.js → template-item.jsx} +0 -0
- /package/src/components/site-editor-routes/{template-part-item.js → template-part-item.jsx} +0 -0
- /package/src/components/site-hub/{index.js → index.jsx} +0 -0
- /package/src/components/welcome-guide/{editor.js → editor.jsx} +0 -0
- /package/src/components/welcome-guide/{image.js → image.jsx} +0 -0
- /package/src/components/welcome-guide/{index.js → index.jsx} +0 -0
- /package/src/components/welcome-guide/{page.js → page.jsx} +0 -0
- /package/src/components/welcome-guide/{template.js → template.jsx} +0 -0
- /package/src/{deprecated.js → deprecated.jsx} +0 -0
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import clsx from 'clsx';
|
|
2
|
-
import {
|
|
3
|
-
Icon as WCIcon,
|
|
4
|
-
__experimentalHStack as HStack,
|
|
5
|
-
privateApis as componentsPrivateApis,
|
|
6
|
-
} from '@wordpress/components';
|
|
7
|
-
import { __, _x } from '@wordpress/i18n';
|
|
8
|
-
import { useState, useMemo } from '@wordpress/element';
|
|
9
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
10
|
-
import { parse } from '@wordpress/blocks';
|
|
11
|
-
import { BlockPreview } from '@wordpress/block-editor';
|
|
12
|
-
import {
|
|
13
|
-
EditorProvider,
|
|
14
|
-
privateApis as editorPrivateApis,
|
|
15
|
-
} from '@wordpress/editor';
|
|
16
|
-
import {
|
|
17
|
-
privateApis as corePrivateApis,
|
|
18
|
-
store as coreStore,
|
|
19
|
-
} from '@wordpress/core-data';
|
|
20
|
-
import { useSelect } from '@wordpress/data';
|
|
21
|
-
import { useAddedBy } from './hooks';
|
|
22
|
-
import { useDefaultTemplateTypes } from '../add-new-template/utils';
|
|
23
|
-
import usePatternSettings from '../page-patterns/use-pattern-settings';
|
|
24
|
-
import { unlock } from '../../lock-unlock';
|
|
25
|
-
|
|
26
|
-
const { Badge: WCBadge } = unlock( componentsPrivateApis );
|
|
27
|
-
const { useEntityRecordsWithPermissions } = unlock( corePrivateApis );
|
|
28
|
-
const { useStyle } = unlock( editorPrivateApis );
|
|
29
|
-
|
|
30
|
-
function useAllDefaultTemplateTypes() {
|
|
31
|
-
const defaultTemplateTypes = useDefaultTemplateTypes();
|
|
32
|
-
const { records: staticRecords } = useEntityRecordsWithPermissions(
|
|
33
|
-
'root',
|
|
34
|
-
'registeredTemplate'
|
|
35
|
-
);
|
|
36
|
-
return [
|
|
37
|
-
...defaultTemplateTypes,
|
|
38
|
-
...staticRecords
|
|
39
|
-
?.filter( ( record ) => ! record.is_custom )
|
|
40
|
-
.map( ( record ) => {
|
|
41
|
-
return {
|
|
42
|
-
slug: record.slug,
|
|
43
|
-
title: record.title.rendered,
|
|
44
|
-
description: record.description,
|
|
45
|
-
};
|
|
46
|
-
} ),
|
|
47
|
-
];
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
function PreviewField( { item } ) {
|
|
51
|
-
const settings = usePatternSettings();
|
|
52
|
-
const backgroundColor = useStyle( 'color.background' ) ?? 'white';
|
|
53
|
-
const blocks = useMemo( () => {
|
|
54
|
-
return parse( item.content.raw );
|
|
55
|
-
}, [ item.content.raw ] );
|
|
56
|
-
|
|
57
|
-
const isEmpty = ! blocks?.length;
|
|
58
|
-
// Wrap everything in a block editor provider to ensure 'styles' that are needed
|
|
59
|
-
// for the previews are synced between the site editor store and the block editor store.
|
|
60
|
-
// Additionally we need to have the `__experimentalBlockPatterns` setting in order to
|
|
61
|
-
// render patterns inside the previews.
|
|
62
|
-
// TODO: Same approach is used in the patterns list and it becomes obvious that some of
|
|
63
|
-
// the block editor settings are needed in context where we don't have the block editor.
|
|
64
|
-
// Explore how we can solve this in a better way.
|
|
65
|
-
return (
|
|
66
|
-
<EditorProvider post={ item } settings={ settings }>
|
|
67
|
-
<div
|
|
68
|
-
className="page-templates-preview-field"
|
|
69
|
-
style={ { backgroundColor } }
|
|
70
|
-
>
|
|
71
|
-
{ isEmpty && __( 'Empty template' ) }
|
|
72
|
-
{ ! isEmpty && (
|
|
73
|
-
<BlockPreview.Async>
|
|
74
|
-
<BlockPreview blocks={ blocks } />
|
|
75
|
-
</BlockPreview.Async>
|
|
76
|
-
) }
|
|
77
|
-
</div>
|
|
78
|
-
</EditorProvider>
|
|
79
|
-
);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
export const previewField = {
|
|
83
|
-
label: __( 'Preview' ),
|
|
84
|
-
id: 'preview',
|
|
85
|
-
render: PreviewField,
|
|
86
|
-
enableSorting: false,
|
|
87
|
-
};
|
|
88
|
-
|
|
89
|
-
export const descriptionField = {
|
|
90
|
-
label: __( 'Description' ),
|
|
91
|
-
id: 'description',
|
|
92
|
-
render: window?.__experimentalTemplateActivate
|
|
93
|
-
? function RenderDescription( { item } ) {
|
|
94
|
-
const defaultTemplateTypes = useAllDefaultTemplateTypes();
|
|
95
|
-
const defaultTemplateType = defaultTemplateTypes.find(
|
|
96
|
-
( type ) => type.slug === item.slug
|
|
97
|
-
);
|
|
98
|
-
return item.description
|
|
99
|
-
? decodeEntities( item.description )
|
|
100
|
-
: defaultTemplateType?.description;
|
|
101
|
-
}
|
|
102
|
-
: ( { item } ) => {
|
|
103
|
-
return item.description && decodeEntities( item.description );
|
|
104
|
-
},
|
|
105
|
-
enableSorting: false,
|
|
106
|
-
enableGlobalSearch: true,
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
function AuthorField( { item } ) {
|
|
110
|
-
const [ isImageLoaded, setIsImageLoaded ] = useState( false );
|
|
111
|
-
const { text, icon, imageUrl } = useAddedBy( item.type, item.id );
|
|
112
|
-
|
|
113
|
-
return (
|
|
114
|
-
<HStack alignment="left" spacing={ 0 }>
|
|
115
|
-
{ imageUrl && (
|
|
116
|
-
<div
|
|
117
|
-
className={ clsx( 'fields-controls__author-avatar', {
|
|
118
|
-
'is-loaded': isImageLoaded,
|
|
119
|
-
} ) }
|
|
120
|
-
>
|
|
121
|
-
<img
|
|
122
|
-
onLoad={ () => setIsImageLoaded( true ) }
|
|
123
|
-
alt=""
|
|
124
|
-
src={ imageUrl }
|
|
125
|
-
/>
|
|
126
|
-
</div>
|
|
127
|
-
) }
|
|
128
|
-
{ ! imageUrl && (
|
|
129
|
-
<div className="fields-controls__author-icon">
|
|
130
|
-
<WCIcon icon={ icon } />
|
|
131
|
-
</div>
|
|
132
|
-
) }
|
|
133
|
-
<span className="fields-controls__author-name">{ text }</span>
|
|
134
|
-
</HStack>
|
|
135
|
-
);
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
export const authorField = {
|
|
139
|
-
label: __( 'Author' ),
|
|
140
|
-
id: 'author',
|
|
141
|
-
getValue: ( { item } ) => item.author_text ?? item.author,
|
|
142
|
-
render: AuthorField,
|
|
143
|
-
};
|
|
144
|
-
|
|
145
|
-
export const activeField = {
|
|
146
|
-
label: __( 'Status' ),
|
|
147
|
-
id: 'active',
|
|
148
|
-
type: 'boolean',
|
|
149
|
-
getValue: ( { item } ) => item._isActive,
|
|
150
|
-
render: function Render( { item } ) {
|
|
151
|
-
const activeLabel = item._isCustom
|
|
152
|
-
? _x( 'Active when used', 'template' )
|
|
153
|
-
: _x( 'Active', 'template' );
|
|
154
|
-
const activeIntent = item._isCustom ? 'info' : 'success';
|
|
155
|
-
const isActive = item._isActive;
|
|
156
|
-
return (
|
|
157
|
-
<WCBadge intent={ isActive ? activeIntent : 'default' }>
|
|
158
|
-
{ isActive ? activeLabel : _x( 'Inactive', 'template' ) }
|
|
159
|
-
</WCBadge>
|
|
160
|
-
);
|
|
161
|
-
},
|
|
162
|
-
};
|
|
163
|
-
|
|
164
|
-
export const useThemeField = () => {
|
|
165
|
-
const activeTheme = useSelect( ( select ) =>
|
|
166
|
-
select( coreStore ).getCurrentTheme()
|
|
167
|
-
);
|
|
168
|
-
return useMemo(
|
|
169
|
-
() => ( {
|
|
170
|
-
label: __( 'Compatible Theme' ),
|
|
171
|
-
id: 'theme',
|
|
172
|
-
getValue: ( { item } ) => item.theme,
|
|
173
|
-
render: function Render( { item } ) {
|
|
174
|
-
if ( item.theme === activeTheme.stylesheet ) {
|
|
175
|
-
return <WCBadge intent="success">{ item.theme }</WCBadge>;
|
|
176
|
-
}
|
|
177
|
-
return <WCBadge intent="error">{ item.theme }</WCBadge>;
|
|
178
|
-
},
|
|
179
|
-
} ),
|
|
180
|
-
[ activeTheme ]
|
|
181
|
-
);
|
|
182
|
-
};
|
|
183
|
-
|
|
184
|
-
export const slugField = {
|
|
185
|
-
label: __( 'Template Type' ),
|
|
186
|
-
id: 'slug',
|
|
187
|
-
getValue: ( { item } ) => item.slug,
|
|
188
|
-
render: function Render( { item } ) {
|
|
189
|
-
const defaultTemplateTypes = useAllDefaultTemplateTypes();
|
|
190
|
-
const defaultTemplateType = defaultTemplateTypes.find(
|
|
191
|
-
( type ) => type.slug === item.slug
|
|
192
|
-
);
|
|
193
|
-
return defaultTemplateType?.title || _x( 'Custom', 'template type' );
|
|
194
|
-
},
|
|
195
|
-
};
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
2
|
-
import { useSelect } from '@wordpress/data';
|
|
3
|
-
import {
|
|
4
|
-
commentAuthorAvatar as authorIcon,
|
|
5
|
-
layout as themeIcon,
|
|
6
|
-
plugins as pluginIcon,
|
|
7
|
-
globe as globeIcon,
|
|
8
|
-
} from '@wordpress/icons';
|
|
9
|
-
import { TEMPLATE_ORIGINS } from '../../utils/constants';
|
|
10
|
-
|
|
11
|
-
/** @typedef {'wp_template'|'wp_template_part'} TemplateType */
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* @typedef {'theme'|'plugin'|'site'|'user'} AddedByType
|
|
15
|
-
*
|
|
16
|
-
* @typedef AddedByData
|
|
17
|
-
* @type {Object}
|
|
18
|
-
* @property {AddedByType} type The type of the data.
|
|
19
|
-
* @property {React.JSX.Element} icon The icon to display.
|
|
20
|
-
* @property {string} [imageUrl] The optional image URL to display.
|
|
21
|
-
* @property {string} [text] The text to display.
|
|
22
|
-
* @property {boolean} isCustomized Whether the template has been customized.
|
|
23
|
-
*
|
|
24
|
-
* @param {TemplateType} postType The template post type.
|
|
25
|
-
* @param {number} postId The template post id.
|
|
26
|
-
* @return {AddedByData} The added by object or null.
|
|
27
|
-
*/
|
|
28
|
-
export function useAddedBy( postType, postId ) {
|
|
29
|
-
return useSelect(
|
|
30
|
-
( select ) => {
|
|
31
|
-
const { getEntityRecord, getUser, getEditedEntityRecord } =
|
|
32
|
-
select( coreStore );
|
|
33
|
-
const template = getEditedEntityRecord(
|
|
34
|
-
'postType',
|
|
35
|
-
postType,
|
|
36
|
-
postId
|
|
37
|
-
);
|
|
38
|
-
const originalSource = template?.original_source;
|
|
39
|
-
const authorText = template?.author_text;
|
|
40
|
-
|
|
41
|
-
switch ( originalSource ) {
|
|
42
|
-
case 'theme': {
|
|
43
|
-
return {
|
|
44
|
-
type: originalSource,
|
|
45
|
-
icon: themeIcon,
|
|
46
|
-
text: authorText,
|
|
47
|
-
isCustomized:
|
|
48
|
-
template.source === TEMPLATE_ORIGINS.custom,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
case 'plugin': {
|
|
52
|
-
return {
|
|
53
|
-
type: originalSource,
|
|
54
|
-
icon: pluginIcon,
|
|
55
|
-
text: authorText,
|
|
56
|
-
isCustomized:
|
|
57
|
-
template.source === TEMPLATE_ORIGINS.custom,
|
|
58
|
-
};
|
|
59
|
-
}
|
|
60
|
-
case 'site': {
|
|
61
|
-
const siteData = getEntityRecord(
|
|
62
|
-
'root',
|
|
63
|
-
'__unstableBase'
|
|
64
|
-
);
|
|
65
|
-
return {
|
|
66
|
-
type: originalSource,
|
|
67
|
-
icon: globeIcon,
|
|
68
|
-
imageUrl: siteData?.site_logo
|
|
69
|
-
? getEntityRecord(
|
|
70
|
-
'postType',
|
|
71
|
-
'attachment',
|
|
72
|
-
siteData.site_logo
|
|
73
|
-
)?.source_url
|
|
74
|
-
: undefined,
|
|
75
|
-
text: authorText,
|
|
76
|
-
isCustomized: false,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
default: {
|
|
80
|
-
const user = getUser( template.author );
|
|
81
|
-
return {
|
|
82
|
-
type: 'user',
|
|
83
|
-
icon: authorIcon,
|
|
84
|
-
imageUrl: user?.avatar_urls?.[ 48 ],
|
|
85
|
-
text: authorText ?? user?.name,
|
|
86
|
-
isCustomized: false,
|
|
87
|
-
};
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
},
|
|
91
|
-
[ postType, postId ]
|
|
92
|
-
);
|
|
93
|
-
}
|
|
@@ -1,369 +0,0 @@
|
|
|
1
|
-
import { Page } from '@wordpress/admin-ui';
|
|
2
|
-
import { __, sprintf } from '@wordpress/i18n';
|
|
3
|
-
import { decodeEntities } from '@wordpress/html-entities';
|
|
4
|
-
import { useState, useMemo, useCallback } from '@wordpress/element';
|
|
5
|
-
import {
|
|
6
|
-
privateApis as corePrivateApis,
|
|
7
|
-
store as coreStore,
|
|
8
|
-
} from '@wordpress/core-data';
|
|
9
|
-
import { DataViews, filterSortAndPaginate } from '@wordpress/dataviews';
|
|
10
|
-
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
11
|
-
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
12
|
-
import { addQueryArgs } from '@wordpress/url';
|
|
13
|
-
import { useSelect, useDispatch } from '@wordpress/data';
|
|
14
|
-
import { useEvent } from '@wordpress/compose';
|
|
15
|
-
import { useView } from '@wordpress/views';
|
|
16
|
-
import { Modal } from '@wordpress/components';
|
|
17
|
-
import { store as noticesStore } from '@wordpress/notices';
|
|
18
|
-
import AddNewTemplate from '../add-new-template';
|
|
19
|
-
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
20
|
-
import { unlock } from '../../lock-unlock';
|
|
21
|
-
import {
|
|
22
|
-
useEditPostAction,
|
|
23
|
-
useSetActiveTemplateAction,
|
|
24
|
-
} from '../dataviews-actions';
|
|
25
|
-
import {
|
|
26
|
-
authorField,
|
|
27
|
-
descriptionField,
|
|
28
|
-
previewField,
|
|
29
|
-
activeField,
|
|
30
|
-
slugField,
|
|
31
|
-
useThemeField,
|
|
32
|
-
} from './fields';
|
|
33
|
-
import {
|
|
34
|
-
defaultLayouts,
|
|
35
|
-
DEFAULT_VIEW,
|
|
36
|
-
getActiveViewOverridesForTab,
|
|
37
|
-
} from './view-utils';
|
|
38
|
-
|
|
39
|
-
const { usePostActions, usePostFields, templateTitleField } =
|
|
40
|
-
unlock( editorPrivateApis );
|
|
41
|
-
const { useHistory, useLocation } = unlock( routerPrivateApis );
|
|
42
|
-
const { useEntityRecordsWithPermissions } = unlock( corePrivateApis );
|
|
43
|
-
|
|
44
|
-
export default function PageTemplates() {
|
|
45
|
-
const { path, query } = useLocation();
|
|
46
|
-
const { activeView = 'active', postId } = query;
|
|
47
|
-
const [ selection, setSelection ] = useState( [ postId ] );
|
|
48
|
-
const [ selectedRegisteredTemplate, setSelectedRegisteredTemplate ] =
|
|
49
|
-
useState( false );
|
|
50
|
-
const defaultView = DEFAULT_VIEW;
|
|
51
|
-
const activeViewOverrides = useMemo(
|
|
52
|
-
() => getActiveViewOverridesForTab( activeView ),
|
|
53
|
-
[ activeView ]
|
|
54
|
-
);
|
|
55
|
-
const { view, updateView, isModified, resetToDefault } = useView( {
|
|
56
|
-
kind: 'postType',
|
|
57
|
-
name: TEMPLATE_POST_TYPE,
|
|
58
|
-
slug: 'default',
|
|
59
|
-
defaultView,
|
|
60
|
-
activeViewOverrides,
|
|
61
|
-
queryParams: {
|
|
62
|
-
page: query.pageNumber,
|
|
63
|
-
search: query.search,
|
|
64
|
-
},
|
|
65
|
-
onChangeQueryParams: ( newQueryParams ) => {
|
|
66
|
-
history.navigate(
|
|
67
|
-
addQueryArgs( path, {
|
|
68
|
-
...query,
|
|
69
|
-
pageNumber: newQueryParams.page,
|
|
70
|
-
search: newQueryParams.search || undefined,
|
|
71
|
-
} )
|
|
72
|
-
);
|
|
73
|
-
},
|
|
74
|
-
} );
|
|
75
|
-
|
|
76
|
-
const { activeTemplatesOption, activeTheme, defaultTemplateTypes } =
|
|
77
|
-
useSelect( ( select ) => {
|
|
78
|
-
const { getEntityRecord, getCurrentTheme } = select( coreStore );
|
|
79
|
-
return {
|
|
80
|
-
activeTemplatesOption: getEntityRecord( 'root', 'site' )
|
|
81
|
-
?.active_templates,
|
|
82
|
-
activeTheme: getCurrentTheme(),
|
|
83
|
-
defaultTemplateTypes:
|
|
84
|
-
select( coreStore ).getCurrentTheme()
|
|
85
|
-
?.default_template_types,
|
|
86
|
-
};
|
|
87
|
-
} );
|
|
88
|
-
// Todo: this will have to be better so that we're not fetching all the
|
|
89
|
-
// records all the time. Active templates query will need to move server
|
|
90
|
-
// side.
|
|
91
|
-
const { records: userRecords, isResolving: isLoadingUserRecords } =
|
|
92
|
-
useEntityRecordsWithPermissions( 'postType', TEMPLATE_POST_TYPE, {
|
|
93
|
-
per_page: -1,
|
|
94
|
-
combinedTemplates: false,
|
|
95
|
-
} );
|
|
96
|
-
const { records: staticRecords, isResolving: isLoadingStaticData } =
|
|
97
|
-
useEntityRecordsWithPermissions( 'root', 'registeredTemplate', {
|
|
98
|
-
// This should not be needed, the endpoint returns all registered
|
|
99
|
-
// templates, but it's not possible right now to turn off pagination
|
|
100
|
-
// for entity configs.
|
|
101
|
-
per_page: -1,
|
|
102
|
-
} );
|
|
103
|
-
|
|
104
|
-
const activeTemplates = useMemo( () => {
|
|
105
|
-
const _active = [ ...staticRecords ];
|
|
106
|
-
if ( activeTemplatesOption ) {
|
|
107
|
-
for ( const activeSlug in activeTemplatesOption ) {
|
|
108
|
-
const activeId = activeTemplatesOption[ activeSlug ];
|
|
109
|
-
// Replace the template in the array.
|
|
110
|
-
const template = userRecords.find(
|
|
111
|
-
( userRecord ) =>
|
|
112
|
-
userRecord.id === activeId &&
|
|
113
|
-
userRecord.theme === activeTheme.stylesheet
|
|
114
|
-
);
|
|
115
|
-
if ( template ) {
|
|
116
|
-
const index = _active.findIndex(
|
|
117
|
-
( { slug } ) => slug === template.slug
|
|
118
|
-
);
|
|
119
|
-
if ( index !== -1 ) {
|
|
120
|
-
_active[ index ] = template;
|
|
121
|
-
} else {
|
|
122
|
-
_active.push( template );
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return _active;
|
|
128
|
-
}, [ userRecords, staticRecords, activeTemplatesOption, activeTheme ] );
|
|
129
|
-
|
|
130
|
-
let isLoadingData;
|
|
131
|
-
if ( activeView === 'active' ) {
|
|
132
|
-
isLoadingData = isLoadingUserRecords || isLoadingStaticData;
|
|
133
|
-
} else if ( activeView === 'user' ) {
|
|
134
|
-
isLoadingData = isLoadingUserRecords;
|
|
135
|
-
} else {
|
|
136
|
-
isLoadingData = isLoadingStaticData;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
const records = useMemo( () => {
|
|
140
|
-
function isCustom( record ) {
|
|
141
|
-
// For registered templates, the is_custom field is defined.
|
|
142
|
-
return (
|
|
143
|
-
record.is_custom ??
|
|
144
|
-
// For user templates it's custom if the is_wp_suggestion meta
|
|
145
|
-
// field is not set and the slug is not found in the default
|
|
146
|
-
// template types.
|
|
147
|
-
( ! record.meta?.is_wp_suggestion &&
|
|
148
|
-
! defaultTemplateTypes.some(
|
|
149
|
-
( type ) => type.slug === record.slug
|
|
150
|
-
) )
|
|
151
|
-
);
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
let _records;
|
|
155
|
-
if ( activeView === 'active' ) {
|
|
156
|
-
// Don't show active custom templates in the active view.
|
|
157
|
-
_records = activeTemplates.filter(
|
|
158
|
-
( record ) => ! isCustom( record )
|
|
159
|
-
);
|
|
160
|
-
} else if ( activeView === 'user' ) {
|
|
161
|
-
_records = userRecords;
|
|
162
|
-
} else {
|
|
163
|
-
_records = staticRecords;
|
|
164
|
-
}
|
|
165
|
-
return _records.map( ( record ) => ( {
|
|
166
|
-
...record,
|
|
167
|
-
_isActive: activeTemplates.some(
|
|
168
|
-
( template ) => template.id === record.id
|
|
169
|
-
),
|
|
170
|
-
_isCustom: isCustom( record ),
|
|
171
|
-
} ) );
|
|
172
|
-
}, [
|
|
173
|
-
activeTemplates,
|
|
174
|
-
defaultTemplateTypes,
|
|
175
|
-
userRecords,
|
|
176
|
-
staticRecords,
|
|
177
|
-
activeView,
|
|
178
|
-
] );
|
|
179
|
-
|
|
180
|
-
const users = useSelect(
|
|
181
|
-
( select ) => {
|
|
182
|
-
const { getUser } = select( coreStore );
|
|
183
|
-
return records.reduce( ( acc, record ) => {
|
|
184
|
-
if ( record.author_text ) {
|
|
185
|
-
if ( ! acc[ record.author_text ] ) {
|
|
186
|
-
acc[ record.author_text ] = record.author_text;
|
|
187
|
-
}
|
|
188
|
-
} else if ( record.author ) {
|
|
189
|
-
if ( ! acc[ record.author ] ) {
|
|
190
|
-
acc[ record.author ] = getUser( record.author );
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
return acc;
|
|
194
|
-
}, {} );
|
|
195
|
-
},
|
|
196
|
-
[ records ]
|
|
197
|
-
);
|
|
198
|
-
|
|
199
|
-
const history = useHistory();
|
|
200
|
-
const onChangeSelection = useCallback(
|
|
201
|
-
( items ) => {
|
|
202
|
-
setSelection( items );
|
|
203
|
-
if ( view?.type === 'list' ) {
|
|
204
|
-
history.navigate(
|
|
205
|
-
addQueryArgs( path, {
|
|
206
|
-
postId: items.length === 1 ? items[ 0 ] : undefined,
|
|
207
|
-
} )
|
|
208
|
-
);
|
|
209
|
-
}
|
|
210
|
-
},
|
|
211
|
-
[ history, path, view?.type ]
|
|
212
|
-
);
|
|
213
|
-
|
|
214
|
-
const postTypeFields = usePostFields( {
|
|
215
|
-
postType: TEMPLATE_POST_TYPE,
|
|
216
|
-
} );
|
|
217
|
-
const dateField = postTypeFields.find( ( field ) => field.id === 'date' );
|
|
218
|
-
const themeField = useThemeField();
|
|
219
|
-
const fields = useMemo( () => {
|
|
220
|
-
const _fields = [
|
|
221
|
-
previewField,
|
|
222
|
-
templateTitleField,
|
|
223
|
-
descriptionField,
|
|
224
|
-
activeField,
|
|
225
|
-
slugField,
|
|
226
|
-
];
|
|
227
|
-
if ( activeView === 'user' ) {
|
|
228
|
-
_fields.push( themeField );
|
|
229
|
-
if ( dateField ) {
|
|
230
|
-
_fields.push( dateField );
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
const elements = [];
|
|
234
|
-
for ( const author in users ) {
|
|
235
|
-
elements.push( {
|
|
236
|
-
value: users[ author ]?.id ?? author,
|
|
237
|
-
label: users[ author ]?.name ?? author,
|
|
238
|
-
} );
|
|
239
|
-
}
|
|
240
|
-
_fields.push( {
|
|
241
|
-
...authorField,
|
|
242
|
-
elements,
|
|
243
|
-
} );
|
|
244
|
-
return _fields;
|
|
245
|
-
}, [ users, activeView, themeField, dateField ] );
|
|
246
|
-
|
|
247
|
-
const { data, paginationInfo } = useMemo( () => {
|
|
248
|
-
return filterSortAndPaginate( records, view, fields );
|
|
249
|
-
}, [ records, view, fields ] );
|
|
250
|
-
|
|
251
|
-
const { createSuccessNotice } = useDispatch( noticesStore );
|
|
252
|
-
const onActionPerformed = useCallback(
|
|
253
|
-
( actionId, items ) => {
|
|
254
|
-
switch ( actionId ) {
|
|
255
|
-
case 'duplicate-post':
|
|
256
|
-
{
|
|
257
|
-
const newItem = items[ 0 ];
|
|
258
|
-
const _title =
|
|
259
|
-
typeof newItem.title === 'string'
|
|
260
|
-
? newItem.title
|
|
261
|
-
: newItem.title?.rendered;
|
|
262
|
-
history.navigate( `/template?activeView=user` );
|
|
263
|
-
createSuccessNotice(
|
|
264
|
-
sprintf(
|
|
265
|
-
// translators: %s: Title of the created post or template, e.g: "Hello world".
|
|
266
|
-
__( '"%s" successfully created.' ),
|
|
267
|
-
decodeEntities( _title ) || __( '(no title)' )
|
|
268
|
-
),
|
|
269
|
-
{
|
|
270
|
-
type: 'snackbar',
|
|
271
|
-
id: 'duplicate-post-action',
|
|
272
|
-
actions: [
|
|
273
|
-
{
|
|
274
|
-
label: __( 'Edit' ),
|
|
275
|
-
onClick: () => {
|
|
276
|
-
history.navigate(
|
|
277
|
-
`/${ newItem.type }/${ newItem.id }?canvas=edit`
|
|
278
|
-
);
|
|
279
|
-
},
|
|
280
|
-
},
|
|
281
|
-
],
|
|
282
|
-
}
|
|
283
|
-
);
|
|
284
|
-
}
|
|
285
|
-
break;
|
|
286
|
-
}
|
|
287
|
-
},
|
|
288
|
-
[ history, createSuccessNotice ]
|
|
289
|
-
);
|
|
290
|
-
const postTypeActions = usePostActions( {
|
|
291
|
-
postType: TEMPLATE_POST_TYPE,
|
|
292
|
-
context: 'list',
|
|
293
|
-
onActionPerformed,
|
|
294
|
-
} );
|
|
295
|
-
const editAction = useEditPostAction();
|
|
296
|
-
const setActiveTemplateAction = useSetActiveTemplateAction();
|
|
297
|
-
const actions = useMemo(
|
|
298
|
-
() =>
|
|
299
|
-
activeView === 'user'
|
|
300
|
-
? [ setActiveTemplateAction, editAction, ...postTypeActions ]
|
|
301
|
-
: [ setActiveTemplateAction, ...postTypeActions ],
|
|
302
|
-
[ postTypeActions, setActiveTemplateAction, editAction, activeView ]
|
|
303
|
-
);
|
|
304
|
-
|
|
305
|
-
const onChangeView = useEvent( ( newView ) => {
|
|
306
|
-
updateView( newView );
|
|
307
|
-
if ( newView.type !== view.type ) {
|
|
308
|
-
// Retrigger the routing areas resolution.
|
|
309
|
-
history.invalidate();
|
|
310
|
-
}
|
|
311
|
-
} );
|
|
312
|
-
|
|
313
|
-
const duplicateAction = actions.find(
|
|
314
|
-
( action ) => action.id === 'duplicate-post'
|
|
315
|
-
);
|
|
316
|
-
|
|
317
|
-
return (
|
|
318
|
-
<Page
|
|
319
|
-
className="edit-site-page-templates"
|
|
320
|
-
title={ __( 'Templates' ) }
|
|
321
|
-
headingLevel={ 2 }
|
|
322
|
-
actions={ <AddNewTemplate /> }
|
|
323
|
-
>
|
|
324
|
-
<DataViews
|
|
325
|
-
key={ activeView }
|
|
326
|
-
paginationInfo={ paginationInfo }
|
|
327
|
-
fields={ fields }
|
|
328
|
-
actions={ actions }
|
|
329
|
-
data={ data }
|
|
330
|
-
isLoading={ isLoadingData }
|
|
331
|
-
view={ view }
|
|
332
|
-
onChangeView={ onChangeView }
|
|
333
|
-
onChangeSelection={ onChangeSelection }
|
|
334
|
-
isItemClickable={ () => true }
|
|
335
|
-
onClickItem={ ( item ) => {
|
|
336
|
-
if ( typeof item.id === 'string' ) {
|
|
337
|
-
setSelectedRegisteredTemplate( item );
|
|
338
|
-
} else {
|
|
339
|
-
history.navigate(
|
|
340
|
-
`/${ item.type }/${ item.id }?canvas=edit`
|
|
341
|
-
);
|
|
342
|
-
}
|
|
343
|
-
} }
|
|
344
|
-
selection={ selection }
|
|
345
|
-
defaultLayouts={ defaultLayouts }
|
|
346
|
-
onReset={
|
|
347
|
-
isModified
|
|
348
|
-
? () => {
|
|
349
|
-
resetToDefault();
|
|
350
|
-
history.invalidate();
|
|
351
|
-
}
|
|
352
|
-
: false
|
|
353
|
-
}
|
|
354
|
-
/>
|
|
355
|
-
{ selectedRegisteredTemplate && duplicateAction && (
|
|
356
|
-
<Modal
|
|
357
|
-
title={ __( 'Duplicate' ) }
|
|
358
|
-
onRequestClose={ () => setSelectedRegisteredTemplate() }
|
|
359
|
-
size="small"
|
|
360
|
-
>
|
|
361
|
-
<duplicateAction.RenderModal
|
|
362
|
-
items={ [ selectedRegisteredTemplate ] }
|
|
363
|
-
closeModal={ () => setSelectedRegisteredTemplate() }
|
|
364
|
-
/>
|
|
365
|
-
</Modal>
|
|
366
|
-
) }
|
|
367
|
-
</Page>
|
|
368
|
-
);
|
|
369
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
export const defaultLayouts = {
|
|
2
|
-
table: {
|
|
3
|
-
showMedia: false,
|
|
4
|
-
},
|
|
5
|
-
grid: {
|
|
6
|
-
showMedia: true,
|
|
7
|
-
},
|
|
8
|
-
list: {
|
|
9
|
-
showMedia: false,
|
|
10
|
-
},
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export const DEFAULT_VIEW = {
|
|
14
|
-
type: 'grid',
|
|
15
|
-
perPage: 20,
|
|
16
|
-
sort: {
|
|
17
|
-
field: 'title',
|
|
18
|
-
direction: 'asc',
|
|
19
|
-
},
|
|
20
|
-
titleField: 'title',
|
|
21
|
-
descriptionField: 'description',
|
|
22
|
-
mediaField: 'preview',
|
|
23
|
-
fields: [ 'author', 'active', 'slug', 'theme' ],
|
|
24
|
-
filters: [],
|
|
25
|
-
...defaultLayouts.grid,
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
export function getActiveViewOverridesForTab( activeView ) {
|
|
29
|
-
// User view: sort by date, newest first
|
|
30
|
-
if ( activeView === 'user' ) {
|
|
31
|
-
return {
|
|
32
|
-
sort: { field: 'date', direction: 'desc' },
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
// Active view: no overrides
|
|
36
|
-
if ( activeView === 'active' ) {
|
|
37
|
-
return {};
|
|
38
|
-
}
|
|
39
|
-
// Author-based view: filter by author
|
|
40
|
-
return {
|
|
41
|
-
filters: [
|
|
42
|
-
{
|
|
43
|
-
field: 'author',
|
|
44
|
-
operator: 'is',
|
|
45
|
-
value: activeView,
|
|
46
|
-
isLocked: true,
|
|
47
|
-
},
|
|
48
|
-
],
|
|
49
|
-
};
|
|
50
|
-
}
|