@wordpress/edit-site 5.12.5 → 5.12.7
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/build/components/add-new-template/new-template.js +1 -1
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +1 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +10 -5
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/create-pattern-modal/index.js +8 -8
- package/build/components/create-pattern-modal/index.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -1
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +9 -1
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +6 -2
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/layout/index.js +1 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page/header.js +1 -1
- package/build/components/page/header.js.map +1 -1
- package/build/components/page/index.js +3 -1
- package/build/components/page/index.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -5
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-main/index.js +8 -4
- package/build/components/page-main/index.js.map +1 -1
- package/build/components/{page-library → page-patterns}/grid-item.js +52 -27
- package/build/components/page-patterns/grid-item.js.map +1 -0
- package/build/components/{page-library → page-patterns}/grid.js +1 -1
- package/build/components/page-patterns/grid.js.map +1 -0
- package/build/components/{page-library → page-patterns}/index.js +6 -6
- package/build/components/page-patterns/index.js.map +1 -0
- package/build/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/build/components/page-patterns/no-patterns.js.map +1 -0
- package/build/components/{page-library → page-patterns}/patterns-list.js +9 -9
- package/build/components/page-patterns/patterns-list.js.map +1 -0
- package/build/components/page-patterns/search-items.js.map +1 -0
- package/build/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +3 -3
- package/build/components/page-patterns/use-pattern-settings.js.map +1 -0
- package/build/components/{page-library → page-patterns}/use-patterns.js +4 -2
- package/build/components/page-patterns/use-patterns.js.map +1 -0
- package/build/components/{page-library → page-patterns}/utils.js +3 -3
- package/build/components/page-patterns/utils.js.map +1 -0
- package/build/components/page-template-parts/index.js +103 -0
- package/build/components/page-template-parts/index.js.map +1 -0
- package/build/components/page-templates/index.js +1 -0
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/sidebar/index.js +6 -6
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-content.js +4 -3
- package/build/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +7 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +63 -11
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +5 -3
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +45 -0
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -11
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +2 -4
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +6 -2
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +16 -4
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js +1 -1
- package/build/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +13 -8
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +25 -2
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +3 -3
- package/build/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/index.js +177 -0
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +30 -0
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -20
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +52 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
- package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +11 -63
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +1 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +22 -6
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/welcome-guide/editor.js +1 -1
- package/build/components/welcome-guide/editor.js.map +1 -1
- package/build/components/welcome-guide/index.js +5 -1
- package/build/components/welcome-guide/index.js.map +1 -1
- package/build/components/welcome-guide/page.js +70 -0
- package/build/components/welcome-guide/page.js.map +1 -0
- package/build/components/welcome-guide/styles.js +1 -1
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/components/welcome-guide/template.js +71 -0
- package/build/components/welcome-guide/template.js.map +1 -0
- package/build/hooks/commands/use-common-commands.js +17 -2
- package/build/hooks/commands/use-common-commands.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +3 -3
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/index.js +2 -0
- package/build/index.js.map +1 -1
- package/build/store/actions.js +5 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +7 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/utils/get-is-list-page.js +2 -2
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +2 -2
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +1 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +10 -5
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/create-pattern-modal/index.js +8 -8
- package/build-module/components/create-pattern-modal/index.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -1
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +10 -2
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +6 -2
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/layout/index.js +1 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page/header.js +1 -1
- package/build-module/components/page/header.js.map +1 -1
- package/build-module/components/page/index.js +2 -1
- package/build-module/components/page/index.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +5 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-main/index.js +6 -3
- package/build-module/components/page-main/index.js.map +1 -1
- package/build-module/components/{page-library → page-patterns}/grid-item.js +56 -29
- package/build-module/components/page-patterns/grid-item.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/grid.js +1 -1
- package/build-module/components/page-patterns/grid.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/index.js +5 -5
- package/build-module/components/page-patterns/index.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/build-module/components/page-patterns/no-patterns.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/patterns-list.js +9 -9
- package/build-module/components/page-patterns/patterns-list.js.map +1 -0
- package/build-module/components/page-patterns/search-items.js.map +1 -0
- package/build-module/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +2 -2
- package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/use-patterns.js +4 -2
- package/build-module/components/page-patterns/use-patterns.js.map +1 -0
- package/build-module/components/{page-library → page-patterns}/utils.js +3 -3
- package/build-module/components/page-patterns/utils.js.map +1 -0
- package/build-module/components/page-template-parts/index.js +82 -0
- package/build-module/components/page-template-parts/index.js.map +1 -0
- package/build-module/components/page-templates/index.js +1 -0
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +5 -5
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js +5 -2
- package/build-module/components/sidebar-edit-mode/page-panels/page-content.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +6 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +62 -11
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +5 -4
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +33 -0
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +10 -9
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js +2 -4
- package/build-module/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +6 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +15 -5
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js +1 -1
- package/build-module/components/sidebar-navigation-screen-page/status-label.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +2 -2
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +12 -7
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +23 -2
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +3 -3
- package/build-module/components/sidebar-navigation-screen-patterns/category-item.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +152 -0
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-default-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +20 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +1 -0
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +2 -17
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +43 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -0
- package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +12 -62
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +4 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +1 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +24 -7
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/welcome-guide/editor.js +1 -1
- package/build-module/components/welcome-guide/editor.js.map +1 -1
- package/build-module/components/welcome-guide/index.js +3 -1
- package/build-module/components/welcome-guide/index.js.map +1 -1
- package/build-module/components/welcome-guide/page.js +59 -0
- package/build-module/components/welcome-guide/page.js.map +1 -0
- package/build-module/components/welcome-guide/styles.js +1 -1
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +60 -0
- package/build-module/components/welcome-guide/template.js.map +1 -0
- package/build-module/hooks/commands/use-common-commands.js +16 -2
- package/build-module/hooks/commands/use-common-commands.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +3 -3
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/index.js +2 -0
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +5 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +7 -1
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +2 -2
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-style/style-rtl.css +90 -32
- package/build-style/style.css +90 -32
- package/package.json +19 -19
- package/src/components/add-new-template/new-template.js +2 -2
- package/src/components/block-editor/editor-canvas.js +3 -1
- package/src/components/block-editor/use-site-editor-settings.js +8 -4
- package/src/components/create-pattern-modal/index.js +10 -11
- package/src/components/global-styles/palette.js +10 -9
- package/src/components/header-edit-mode/document-actions/index.js +9 -1
- package/src/components/header-edit-mode/document-actions/style.scss +8 -0
- package/src/components/header-edit-mode/index.js +17 -9
- package/src/components/layout/index.js +1 -1
- package/src/components/layout/style.scss +0 -11
- package/src/components/page/header.js +1 -1
- package/src/components/page/index.js +5 -1
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +12 -3
- package/src/components/page-main/index.js +6 -3
- package/src/components/{page-library → page-patterns}/grid-item.js +79 -24
- package/src/components/{page-library → page-patterns}/grid.js +1 -1
- package/src/components/{page-library → page-patterns}/index.js +5 -5
- package/src/components/{page-library → page-patterns}/no-patterns.js +1 -1
- package/src/components/{page-library → page-patterns}/patterns-list.js +9 -9
- package/src/components/{page-library → page-patterns}/style.scss +16 -12
- package/src/components/{page-library/use-library-settings.js → page-patterns/use-pattern-settings.js} +1 -1
- package/src/components/{page-library → page-patterns}/use-patterns.js +5 -2
- package/src/components/{page-library → page-patterns}/utils.js +3 -3
- package/src/components/page-template-parts/index.js +105 -0
- package/src/components/page-templates/index.js +1 -1
- package/src/components/sidebar/index.js +6 -6
- package/src/components/sidebar-edit-mode/page-panels/page-content.js +7 -5
- package/src/components/sidebar-edit-mode/settings-header/index.js +7 -2
- package/src/components/sidebar-navigation-screen/style.scss +19 -1
- package/src/components/sidebar-navigation-screen-global-styles/index.js +54 -26
- package/src/components/sidebar-navigation-screen-main/index.js +44 -40
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +36 -0
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +8 -11
- package/src/components/sidebar-navigation-screen-navigation-menu/index.js +2 -6
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +10 -6
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +12 -4
- package/src/components/sidebar-navigation-screen-page/status-label.js +1 -1
- package/src/components/sidebar-navigation-screen-pages/index.js +2 -2
- package/src/components/sidebar-navigation-screen-pattern/index.js +13 -6
- package/src/components/sidebar-navigation-screen-pattern/style.scss +4 -0
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +45 -3
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/category-item.js +3 -3
- package/src/components/sidebar-navigation-screen-patterns/index.js +199 -0
- package/src/components/sidebar-navigation-screen-patterns/style.scss +28 -0
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +23 -0
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-pattern-categories.js +1 -18
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +55 -0
- package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-theme-patterns.js +1 -1
- package/src/components/sidebar-navigation-screen-templates/index.js +15 -82
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +2 -0
- package/src/components/site-hub/index.js +1 -1
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +1 -1
- package/src/components/template-actions/index.js +38 -8
- package/src/components/welcome-guide/editor.js +1 -1
- package/src/components/welcome-guide/index.js +4 -0
- package/src/components/welcome-guide/page.js +75 -0
- package/src/components/welcome-guide/style.scss +15 -1
- package/src/components/welcome-guide/styles.js +1 -1
- package/src/components/welcome-guide/template.js +82 -0
- package/src/hooks/commands/use-common-commands.js +13 -1
- package/src/hooks/commands/use-edit-mode-commands.js +5 -2
- package/src/index.js +2 -0
- package/src/store/actions.js +8 -1
- package/src/store/private-actions.js +5 -1
- package/src/style.scss +2 -2
- package/src/utils/get-is-list-page.js +4 -3
- package/build/components/page-content-focus-manager/constants.js +0 -9
- package/build/components/page-content-focus-manager/constants.js.map +0 -1
- package/build/components/page-library/grid-item.js.map +0 -1
- package/build/components/page-library/grid.js.map +0 -1
- package/build/components/page-library/index.js.map +0 -1
- package/build/components/page-library/no-patterns.js.map +0 -1
- package/build/components/page-library/patterns-list.js.map +0 -1
- package/build/components/page-library/search-items.js.map +0 -1
- package/build/components/page-library/use-library-settings.js.map +0 -1
- package/build/components/page-library/use-patterns.js.map +0 -1
- package/build/components/page-library/utils.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/index.js +0 -112
- package/build/components/sidebar-navigation-screen-library/index.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -41
- package/build/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
- package/build/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
- package/build-module/components/page-content-focus-manager/constants.js +0 -2
- package/build-module/components/page-content-focus-manager/constants.js.map +0 -1
- package/build-module/components/page-library/grid-item.js.map +0 -1
- package/build-module/components/page-library/grid.js.map +0 -1
- package/build-module/components/page-library/index.js.map +0 -1
- package/build-module/components/page-library/no-patterns.js.map +0 -1
- package/build-module/components/page-library/patterns-list.js.map +0 -1
- package/build-module/components/page-library/search-items.js.map +0 -1
- package/build-module/components/page-library/use-library-settings.js.map +0 -1
- package/build-module/components/page-library/use-patterns.js.map +0 -1
- package/build-module/components/page-library/utils.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/category-item.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/index.js +0 -87
- package/build-module/components/sidebar-navigation-screen-library/index.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-default-pattern-categories.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-pattern-categories.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -34
- package/build-module/components/sidebar-navigation-screen-library/use-template-part-areas.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-library/use-theme-patterns.js.map +0 -1
- package/src/components/page-content-focus-manager/constants.js +0 -5
- package/src/components/sidebar-navigation-screen-library/index.js +0 -136
- package/src/components/sidebar-navigation-screen-library/style.scss +0 -3
- package/src/components/sidebar-navigation-screen-library/use-template-part-areas.js +0 -33
- /package/build/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/build/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
- /package/build-module/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/build-module/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
- /package/src/components/{page-library → page-patterns}/search-items.js +0 -0
- /package/src/components/{sidebar-navigation-screen-library → sidebar-navigation-screen-patterns}/use-default-pattern-categories.js +0 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
4
|
+
import { __experimentalUseNavigator as useNavigator } from '@wordpress/components';
|
|
5
5
|
import { useDispatch } from '@wordpress/data';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
6
7
|
import { pencil } from '@wordpress/icons';
|
|
7
|
-
import {
|
|
8
|
+
import { getQueryArgs } from '@wordpress/url';
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* Internal dependencies
|
|
@@ -13,19 +14,26 @@ import SidebarButton from '../sidebar-button';
|
|
|
13
14
|
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
14
15
|
import useInitEditedEntityFromURL from '../sync-state-with-url/use-init-edited-entity-from-url';
|
|
15
16
|
import usePatternDetails from './use-pattern-details';
|
|
16
|
-
import useNavigationMenuContent from './use-navigation-menu-content';
|
|
17
17
|
import { store as editSiteStore } from '../../store';
|
|
18
18
|
import { unlock } from '../../lock-unlock';
|
|
19
19
|
|
|
20
20
|
export default function SidebarNavigationScreenPattern() {
|
|
21
21
|
const { params } = useNavigator();
|
|
22
|
+
const { categoryType } = getQueryArgs( window.location.href );
|
|
22
23
|
const { postType, postId } = params;
|
|
23
24
|
const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
|
|
24
25
|
|
|
25
26
|
useInitEditedEntityFromURL();
|
|
26
27
|
|
|
27
28
|
const patternDetails = usePatternDetails( postType, postId );
|
|
28
|
-
|
|
29
|
+
|
|
30
|
+
// The absence of a category type in the query params for template parts
|
|
31
|
+
// indicates the user has arrived at the template part via the "manage all"
|
|
32
|
+
// page and the back button should return them to that list page.
|
|
33
|
+
const backPath =
|
|
34
|
+
! categoryType && postType === 'wp_template_part'
|
|
35
|
+
? '/wp_template_part/all'
|
|
36
|
+
: '/patterns';
|
|
29
37
|
|
|
30
38
|
return (
|
|
31
39
|
<SidebarNavigationScreen
|
|
@@ -36,8 +44,7 @@ export default function SidebarNavigationScreenPattern() {
|
|
|
36
44
|
icon={ pencil }
|
|
37
45
|
/>
|
|
38
46
|
}
|
|
39
|
-
backPath={
|
|
40
|
-
content={ content }
|
|
47
|
+
backPath={ backPath }
|
|
41
48
|
{ ...patternDetails }
|
|
42
49
|
/>
|
|
43
50
|
);
|
|
@@ -11,7 +11,14 @@ import { Icon } from '@wordpress/components';
|
|
|
11
11
|
*/
|
|
12
12
|
import { useAddedBy } from '../list/added-by';
|
|
13
13
|
import useEditedEntityRecord from '../use-edited-entity-record';
|
|
14
|
+
import useNavigationMenuContent from './use-navigation-menu-content';
|
|
14
15
|
import SidebarNavigationScreenDetailsFooter from '../sidebar-navigation-screen-details-footer';
|
|
16
|
+
import {
|
|
17
|
+
SidebarNavigationScreenDetailsPanel,
|
|
18
|
+
SidebarNavigationScreenDetailsPanelRow,
|
|
19
|
+
SidebarNavigationScreenDetailsPanelLabel,
|
|
20
|
+
SidebarNavigationScreenDetailsPanelValue,
|
|
21
|
+
} from '../sidebar-navigation-screen-details-panel';
|
|
15
22
|
|
|
16
23
|
export default function usePatternDetails( postType, postId ) {
|
|
17
24
|
const { getDescription, getTitle, record } = useEditedEntityRecord(
|
|
@@ -31,7 +38,7 @@ export default function usePatternDetails( postType, postId ) {
|
|
|
31
38
|
if ( ! descriptionText && addedBy.text ) {
|
|
32
39
|
descriptionText = sprintf(
|
|
33
40
|
// translators: %s: pattern title e.g: "Header".
|
|
34
|
-
__( 'This is
|
|
41
|
+
__( 'This is the %s pattern.' ),
|
|
35
42
|
getTitle()
|
|
36
43
|
);
|
|
37
44
|
}
|
|
@@ -39,7 +46,7 @@ export default function usePatternDetails( postType, postId ) {
|
|
|
39
46
|
if ( ! descriptionText && postType === 'wp_block' && record?.title ) {
|
|
40
47
|
descriptionText = sprintf(
|
|
41
48
|
// translators: %s: user created pattern title e.g. "Footer".
|
|
42
|
-
__( 'This is
|
|
49
|
+
__( 'This is the %s pattern.' ),
|
|
43
50
|
record.title
|
|
44
51
|
);
|
|
45
52
|
}
|
|
@@ -82,5 +89,40 @@ export default function usePatternDetails( postType, postId ) {
|
|
|
82
89
|
/>
|
|
83
90
|
) : null;
|
|
84
91
|
|
|
85
|
-
|
|
92
|
+
const details = [];
|
|
93
|
+
|
|
94
|
+
if ( postType === 'wp_block' ) {
|
|
95
|
+
details.push( {
|
|
96
|
+
label: __( 'Syncing' ),
|
|
97
|
+
value:
|
|
98
|
+
record.wp_pattern_sync_status === 'unsynced'
|
|
99
|
+
? __( 'Not synced' )
|
|
100
|
+
: __( 'Fully synced' ),
|
|
101
|
+
} );
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
const content = (
|
|
105
|
+
<>
|
|
106
|
+
{ !! details.length && (
|
|
107
|
+
<SidebarNavigationScreenDetailsPanel
|
|
108
|
+
spacing={ 5 }
|
|
109
|
+
title={ __( 'Details' ) }
|
|
110
|
+
>
|
|
111
|
+
{ details.map( ( { label, value } ) => (
|
|
112
|
+
<SidebarNavigationScreenDetailsPanelRow key={ label }>
|
|
113
|
+
<SidebarNavigationScreenDetailsPanelLabel>
|
|
114
|
+
{ label }
|
|
115
|
+
</SidebarNavigationScreenDetailsPanelLabel>
|
|
116
|
+
<SidebarNavigationScreenDetailsPanelValue>
|
|
117
|
+
{ value }
|
|
118
|
+
</SidebarNavigationScreenDetailsPanelValue>
|
|
119
|
+
</SidebarNavigationScreenDetailsPanelRow>
|
|
120
|
+
) ) }
|
|
121
|
+
</SidebarNavigationScreenDetailsPanel>
|
|
122
|
+
) }
|
|
123
|
+
{ useNavigationMenuContent( postType, postId ) }
|
|
124
|
+
</>
|
|
125
|
+
);
|
|
126
|
+
|
|
127
|
+
return { title, description, content, footer };
|
|
86
128
|
}
|
|
@@ -14,15 +14,15 @@ export default function CategoryItem( {
|
|
|
14
14
|
} ) {
|
|
15
15
|
const linkInfo = useLink(
|
|
16
16
|
{
|
|
17
|
-
path: '/
|
|
17
|
+
path: '/patterns',
|
|
18
18
|
categoryType: type,
|
|
19
19
|
categoryId: id,
|
|
20
20
|
},
|
|
21
21
|
{
|
|
22
22
|
// Keep a record of where we came from in state so we can
|
|
23
|
-
// use the browser's back button to go back to
|
|
23
|
+
// use the browser's back button to go back to Patterns.
|
|
24
24
|
// See the implementation of the back button in patterns-list.
|
|
25
|
-
backPath: '/
|
|
25
|
+
backPath: '/patterns',
|
|
26
26
|
}
|
|
27
27
|
);
|
|
28
28
|
|
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalItemGroup as ItemGroup,
|
|
6
|
+
__experimentalItem as Item,
|
|
7
|
+
Flex,
|
|
8
|
+
Icon,
|
|
9
|
+
Tooltip,
|
|
10
|
+
__experimentalHeading as Heading,
|
|
11
|
+
} from '@wordpress/components';
|
|
12
|
+
import { useViewportMatch } from '@wordpress/compose';
|
|
13
|
+
import { useSelect } from '@wordpress/data';
|
|
14
|
+
import { getTemplatePartIcon } from '@wordpress/editor';
|
|
15
|
+
import { __ } from '@wordpress/i18n';
|
|
16
|
+
import { getQueryArgs } from '@wordpress/url';
|
|
17
|
+
import { file, starFilled, lockSmall } from '@wordpress/icons';
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
import AddNewPattern from '../add-new-pattern';
|
|
23
|
+
import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
24
|
+
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
25
|
+
import CategoryItem from './category-item';
|
|
26
|
+
import { DEFAULT_CATEGORY, DEFAULT_TYPE } from '../page-patterns/utils';
|
|
27
|
+
import { store as editSiteStore } from '../../store';
|
|
28
|
+
import { useLink } from '../routes/link';
|
|
29
|
+
import usePatternCategories from './use-pattern-categories';
|
|
30
|
+
import useMyPatterns from './use-my-patterns';
|
|
31
|
+
import useTemplatePartAreas from './use-template-part-areas';
|
|
32
|
+
|
|
33
|
+
function TemplatePartGroup( { areas, currentArea, currentType } ) {
|
|
34
|
+
return (
|
|
35
|
+
<>
|
|
36
|
+
<div className="edit-site-sidebar-navigation-screen-patterns__group-header">
|
|
37
|
+
<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>
|
|
38
|
+
<p>{ __( 'Synced patterns for use in template building.' ) }</p>
|
|
39
|
+
</div>
|
|
40
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
41
|
+
{ Object.entries( areas ).map(
|
|
42
|
+
( [ area, { label, templateParts } ] ) => (
|
|
43
|
+
<CategoryItem
|
|
44
|
+
key={ area }
|
|
45
|
+
count={ templateParts?.length }
|
|
46
|
+
icon={ getTemplatePartIcon( area ) }
|
|
47
|
+
label={ label }
|
|
48
|
+
id={ area }
|
|
49
|
+
type="wp_template_part"
|
|
50
|
+
isActive={
|
|
51
|
+
currentArea === area &&
|
|
52
|
+
currentType === 'wp_template_part'
|
|
53
|
+
}
|
|
54
|
+
/>
|
|
55
|
+
)
|
|
56
|
+
) }
|
|
57
|
+
</ItemGroup>
|
|
58
|
+
</>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function ThemePatternsGroup( { categories, currentCategory, currentType } ) {
|
|
63
|
+
return (
|
|
64
|
+
<>
|
|
65
|
+
<div className="edit-site-sidebar-navigation-screen-patterns__group-header">
|
|
66
|
+
<Heading level={ 2 }>{ __( 'Theme patterns' ) }</Heading>
|
|
67
|
+
<p>
|
|
68
|
+
{ __(
|
|
69
|
+
'For insertion into documents where they can then be customized.'
|
|
70
|
+
) }
|
|
71
|
+
</p>
|
|
72
|
+
</div>
|
|
73
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
74
|
+
{ categories.map( ( category ) => (
|
|
75
|
+
<CategoryItem
|
|
76
|
+
key={ category.name }
|
|
77
|
+
count={ category.count }
|
|
78
|
+
label={
|
|
79
|
+
<Flex justify="left" align="center" gap={ 0 }>
|
|
80
|
+
{ category.label }
|
|
81
|
+
<Tooltip
|
|
82
|
+
position="top center"
|
|
83
|
+
text={ __(
|
|
84
|
+
'Theme patterns cannot be edited.'
|
|
85
|
+
) }
|
|
86
|
+
>
|
|
87
|
+
<span className="edit-site-sidebar-navigation-screen-pattern__lock-icon">
|
|
88
|
+
<Icon icon={ lockSmall } size={ 24 } />
|
|
89
|
+
</span>
|
|
90
|
+
</Tooltip>
|
|
91
|
+
</Flex>
|
|
92
|
+
}
|
|
93
|
+
icon={ file }
|
|
94
|
+
id={ category.name }
|
|
95
|
+
type="pattern"
|
|
96
|
+
isActive={
|
|
97
|
+
currentCategory === `${ category.name }` &&
|
|
98
|
+
currentType === 'pattern'
|
|
99
|
+
}
|
|
100
|
+
/>
|
|
101
|
+
) ) }
|
|
102
|
+
</ItemGroup>
|
|
103
|
+
</>
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export default function SidebarNavigationScreenPatterns() {
|
|
108
|
+
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
109
|
+
const { categoryType, categoryId } = getQueryArgs( window.location.href );
|
|
110
|
+
const currentCategory = categoryId || DEFAULT_CATEGORY;
|
|
111
|
+
const currentType = categoryType || DEFAULT_TYPE;
|
|
112
|
+
|
|
113
|
+
const { templatePartAreas, hasTemplateParts, isLoading } =
|
|
114
|
+
useTemplatePartAreas();
|
|
115
|
+
const { patternCategories, hasPatterns } = usePatternCategories();
|
|
116
|
+
const { myPatterns, hasPatterns: hasMyPatterns } = useMyPatterns();
|
|
117
|
+
|
|
118
|
+
const isTemplatePartsMode = useSelect( ( select ) => {
|
|
119
|
+
const settings = select( editSiteStore ).getSettings();
|
|
120
|
+
return !! settings.supportsTemplatePartsMode;
|
|
121
|
+
}, [] );
|
|
122
|
+
|
|
123
|
+
const templatePartsLink = useLink( { path: '/wp_template_part/all' } );
|
|
124
|
+
const footer = ! isMobileViewport ? (
|
|
125
|
+
<ItemGroup>
|
|
126
|
+
<SidebarNavigationItem withChevron { ...templatePartsLink }>
|
|
127
|
+
{ __( 'Manage all template parts' ) }
|
|
128
|
+
</SidebarNavigationItem>
|
|
129
|
+
<SidebarNavigationItem
|
|
130
|
+
as="a"
|
|
131
|
+
href="edit.php?post_type=wp_block"
|
|
132
|
+
withChevron
|
|
133
|
+
>
|
|
134
|
+
{ __( 'Manage all of my patterns' ) }
|
|
135
|
+
</SidebarNavigationItem>
|
|
136
|
+
</ItemGroup>
|
|
137
|
+
) : undefined;
|
|
138
|
+
|
|
139
|
+
return (
|
|
140
|
+
<SidebarNavigationScreen
|
|
141
|
+
isRoot={ isTemplatePartsMode }
|
|
142
|
+
title={ __( 'Patterns' ) }
|
|
143
|
+
description={ __(
|
|
144
|
+
'Manage what patterns are available when editing the site.'
|
|
145
|
+
) }
|
|
146
|
+
actions={ <AddNewPattern /> }
|
|
147
|
+
footer={ footer }
|
|
148
|
+
content={
|
|
149
|
+
<>
|
|
150
|
+
{ isLoading && __( 'Loading patterns' ) }
|
|
151
|
+
{ ! isLoading && (
|
|
152
|
+
<>
|
|
153
|
+
{ ! hasTemplateParts && ! hasPatterns && (
|
|
154
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
155
|
+
<Item>
|
|
156
|
+
{ __(
|
|
157
|
+
'No template parts or patterns found'
|
|
158
|
+
) }
|
|
159
|
+
</Item>
|
|
160
|
+
</ItemGroup>
|
|
161
|
+
) }
|
|
162
|
+
{ hasMyPatterns && (
|
|
163
|
+
<ItemGroup className="edit-site-sidebar-navigation-screen-patterns__group">
|
|
164
|
+
<CategoryItem
|
|
165
|
+
key={ myPatterns.name }
|
|
166
|
+
count={ myPatterns.count }
|
|
167
|
+
label={ myPatterns.label }
|
|
168
|
+
icon={ starFilled }
|
|
169
|
+
id={ myPatterns.name }
|
|
170
|
+
type="wp_block"
|
|
171
|
+
isActive={
|
|
172
|
+
currentCategory ===
|
|
173
|
+
`${ myPatterns.name }` &&
|
|
174
|
+
currentType === 'wp_block'
|
|
175
|
+
}
|
|
176
|
+
/>
|
|
177
|
+
</ItemGroup>
|
|
178
|
+
) }
|
|
179
|
+
{ hasTemplateParts && (
|
|
180
|
+
<TemplatePartGroup
|
|
181
|
+
areas={ templatePartAreas }
|
|
182
|
+
currentArea={ currentCategory }
|
|
183
|
+
currentType={ currentType }
|
|
184
|
+
/>
|
|
185
|
+
) }
|
|
186
|
+
{ hasPatterns && (
|
|
187
|
+
<ThemePatternsGroup
|
|
188
|
+
categories={ patternCategories }
|
|
189
|
+
currentCategory={ currentCategory }
|
|
190
|
+
currentType={ currentType }
|
|
191
|
+
/>
|
|
192
|
+
) }
|
|
193
|
+
</>
|
|
194
|
+
) }
|
|
195
|
+
</>
|
|
196
|
+
}
|
|
197
|
+
/>
|
|
198
|
+
);
|
|
199
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
.edit-site-sidebar-navigation-screen-patterns__group {
|
|
2
|
+
margin-bottom: $grid-unit-40;
|
|
3
|
+
padding-bottom: $grid-unit-30;
|
|
4
|
+
border-bottom: 1px solid $gray-800;
|
|
5
|
+
|
|
6
|
+
&:last-of-type,
|
|
7
|
+
&:first-of-type {
|
|
8
|
+
border-bottom: 0;
|
|
9
|
+
padding-bottom: 0;
|
|
10
|
+
margin-bottom: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
&:first-of-type {
|
|
14
|
+
margin-bottom: $grid-unit-40;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.edit-site-sidebar-navigation-screen-patterns__group-header {
|
|
19
|
+
p {
|
|
20
|
+
color: $gray-600;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
h2 {
|
|
24
|
+
font-size: 11px;
|
|
25
|
+
font-weight: 500;
|
|
26
|
+
text-transform: uppercase;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
|
|
8
|
+
export default function useMyPatterns() {
|
|
9
|
+
const myPatterns = useSelect( ( select ) =>
|
|
10
|
+
select( coreStore ).getEntityRecords( 'postType', 'wp_block', {
|
|
11
|
+
per_page: -1,
|
|
12
|
+
} )
|
|
13
|
+
);
|
|
14
|
+
|
|
15
|
+
return {
|
|
16
|
+
myPatterns: {
|
|
17
|
+
count: myPatterns?.length || 0,
|
|
18
|
+
name: 'my-patterns',
|
|
19
|
+
label: __( 'My patterns' ),
|
|
20
|
+
},
|
|
21
|
+
hasPatterns: !! myPatterns?.length,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
5
|
-
import { useSelect } from '@wordpress/data';
|
|
6
4
|
import { useMemo } from '@wordpress/element';
|
|
7
|
-
import { __ } from '@wordpress/i18n';
|
|
8
5
|
|
|
9
6
|
/**
|
|
10
7
|
* Internal dependencies
|
|
@@ -15,11 +12,6 @@ import useThemePatterns from './use-theme-patterns';
|
|
|
15
12
|
export default function usePatternCategories() {
|
|
16
13
|
const defaultCategories = useDefaultPatternCategories();
|
|
17
14
|
const themePatterns = useThemePatterns();
|
|
18
|
-
const userPatterns = useSelect( ( select ) =>
|
|
19
|
-
select( coreStore ).getEntityRecords( 'postType', 'wp_block', {
|
|
20
|
-
per_page: -1,
|
|
21
|
-
} )
|
|
22
|
-
);
|
|
23
15
|
|
|
24
16
|
const patternCategories = useMemo( () => {
|
|
25
17
|
const categoryMap = {};
|
|
@@ -48,17 +40,8 @@ export default function usePatternCategories() {
|
|
|
48
40
|
}
|
|
49
41
|
} );
|
|
50
42
|
|
|
51
|
-
// Add "Your Patterns" category for user patterns if there are any.
|
|
52
|
-
if ( userPatterns?.length ) {
|
|
53
|
-
categoriesWithCounts.push( {
|
|
54
|
-
count: userPatterns.length || 0,
|
|
55
|
-
name: 'custom-patterns',
|
|
56
|
-
label: __( 'Custom patterns' ),
|
|
57
|
-
} );
|
|
58
|
-
}
|
|
59
|
-
|
|
60
43
|
return categoriesWithCounts;
|
|
61
|
-
}, [ defaultCategories, themePatterns
|
|
44
|
+
}, [ defaultCategories, themePatterns ] );
|
|
62
45
|
|
|
63
46
|
return { patternCategories, hasPatterns: !! patternCategories.length };
|
|
64
47
|
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useEntityRecords } from '@wordpress/core-data';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
7
|
+
|
|
8
|
+
const useTemplatePartsGroupedByArea = ( items ) => {
|
|
9
|
+
const allItems = items || [];
|
|
10
|
+
|
|
11
|
+
const templatePartAreas = useSelect(
|
|
12
|
+
( select ) =>
|
|
13
|
+
select( editorStore ).__experimentalGetDefaultTemplatePartAreas(),
|
|
14
|
+
[]
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
// Create map of template areas ensuring that default areas are displayed before
|
|
18
|
+
// any custom registered template part areas.
|
|
19
|
+
const knownAreas = {
|
|
20
|
+
header: {},
|
|
21
|
+
footer: {},
|
|
22
|
+
sidebar: {},
|
|
23
|
+
uncategorized: {},
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
templatePartAreas.forEach(
|
|
27
|
+
( templatePartArea ) =>
|
|
28
|
+
( knownAreas[ templatePartArea.area ] = {
|
|
29
|
+
...templatePartArea,
|
|
30
|
+
templateParts: [],
|
|
31
|
+
} )
|
|
32
|
+
);
|
|
33
|
+
|
|
34
|
+
const groupedByArea = allItems.reduce( ( accumulator, item ) => {
|
|
35
|
+
const key = accumulator[ item.area ] ? item.area : 'uncategorized';
|
|
36
|
+
accumulator[ key ].templateParts.push( item );
|
|
37
|
+
return accumulator;
|
|
38
|
+
}, knownAreas );
|
|
39
|
+
|
|
40
|
+
return groupedByArea;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default function useTemplatePartAreas() {
|
|
44
|
+
const { records: templateParts, isResolving: isLoading } = useEntityRecords(
|
|
45
|
+
'postType',
|
|
46
|
+
'wp_template_part',
|
|
47
|
+
{ per_page: -1 }
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
return {
|
|
51
|
+
hasTemplateParts: templateParts ? !! templateParts.length : false,
|
|
52
|
+
isLoading,
|
|
53
|
+
templatePartAreas: useTemplatePartsGroupedByArea( templateParts ),
|
|
54
|
+
};
|
|
55
|
+
}
|
|
@@ -11,7 +11,7 @@ import { useMemo } from '@wordpress/element';
|
|
|
11
11
|
import {
|
|
12
12
|
CORE_PATTERN_SOURCES,
|
|
13
13
|
filterOutDuplicatesByName,
|
|
14
|
-
} from '../page-
|
|
14
|
+
} from '../page-patterns/utils';
|
|
15
15
|
import { unlock } from '../../lock-unlock';
|
|
16
16
|
import { store as editSiteStore } from '../../store';
|
|
17
17
|
|
|
@@ -4,14 +4,12 @@
|
|
|
4
4
|
import {
|
|
5
5
|
__experimentalItemGroup as ItemGroup,
|
|
6
6
|
__experimentalItem as Item,
|
|
7
|
-
__experimentalUseNavigator as useNavigator,
|
|
8
7
|
} from '@wordpress/components';
|
|
9
8
|
import { __ } from '@wordpress/i18n';
|
|
10
9
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
11
10
|
import { useSelect } from '@wordpress/data';
|
|
12
11
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
13
12
|
import { useViewportMatch } from '@wordpress/compose';
|
|
14
|
-
import { getTemplatePartIcon } from '@wordpress/editor';
|
|
15
13
|
|
|
16
14
|
/**
|
|
17
15
|
* Internal dependencies
|
|
@@ -23,48 +21,6 @@ import AddNewTemplate from '../add-new-template';
|
|
|
23
21
|
import { store as editSiteStore } from '../../store';
|
|
24
22
|
import SidebarButton from '../sidebar-button';
|
|
25
23
|
|
|
26
|
-
const config = {
|
|
27
|
-
wp_template: {
|
|
28
|
-
labels: {
|
|
29
|
-
title: __( 'Templates' ),
|
|
30
|
-
loading: __( 'Loading templates' ),
|
|
31
|
-
notFound: __( 'No templates found' ),
|
|
32
|
-
manage: __( 'Manage all templates' ),
|
|
33
|
-
description: __(
|
|
34
|
-
'Express the layout of your site with templates.'
|
|
35
|
-
),
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
wp_template_part: {
|
|
39
|
-
labels: {
|
|
40
|
-
title: __( 'Library' ),
|
|
41
|
-
loading: __( 'Loading library' ),
|
|
42
|
-
notFound: __( 'No patterns found' ),
|
|
43
|
-
manage: __( 'Manage all template parts' ),
|
|
44
|
-
reusableBlocks: __( 'Manage patterns' ),
|
|
45
|
-
description: __(
|
|
46
|
-
'Template Parts are small pieces of a layout that can be reused across multiple templates and always appear the same way. Common template parts include the site header, footer, or sidebar.'
|
|
47
|
-
),
|
|
48
|
-
},
|
|
49
|
-
sortCallback: ( items ) => {
|
|
50
|
-
const groupedByArea = items.reduce(
|
|
51
|
-
( accumulator, item ) => {
|
|
52
|
-
const key = accumulator[ item.area ] ? item.area : 'rest';
|
|
53
|
-
accumulator[ key ].push( item );
|
|
54
|
-
return accumulator;
|
|
55
|
-
},
|
|
56
|
-
{ header: [], footer: [], sidebar: [], rest: [] }
|
|
57
|
-
);
|
|
58
|
-
return [
|
|
59
|
-
...groupedByArea.header,
|
|
60
|
-
...groupedByArea.footer,
|
|
61
|
-
...groupedByArea.sidebar,
|
|
62
|
-
...groupedByArea.rest,
|
|
63
|
-
];
|
|
64
|
-
},
|
|
65
|
-
},
|
|
66
|
-
};
|
|
67
|
-
|
|
68
24
|
const TemplateItem = ( { postType, postId, ...props } ) => {
|
|
69
25
|
const linkInfo = useLink( {
|
|
70
26
|
postType,
|
|
@@ -74,9 +30,6 @@ const TemplateItem = ( { postType, postId, ...props } ) => {
|
|
|
74
30
|
};
|
|
75
31
|
|
|
76
32
|
export default function SidebarNavigationScreenTemplates() {
|
|
77
|
-
const {
|
|
78
|
-
params: { postType },
|
|
79
|
-
} = useNavigator();
|
|
80
33
|
const isMobileViewport = useViewportMatch( 'medium', '<' );
|
|
81
34
|
const isTemplatePartsMode = useSelect( ( select ) => {
|
|
82
35
|
const settings = select( editSiteStore ).getSettings();
|
|
@@ -86,34 +39,30 @@ export default function SidebarNavigationScreenTemplates() {
|
|
|
86
39
|
|
|
87
40
|
const { records: templates, isResolving: isLoading } = useEntityRecords(
|
|
88
41
|
'postType',
|
|
89
|
-
|
|
42
|
+
'wp_template',
|
|
90
43
|
{
|
|
91
44
|
per_page: -1,
|
|
92
45
|
}
|
|
93
46
|
);
|
|
94
|
-
|
|
47
|
+
|
|
48
|
+
const sortedTemplates = templates ? [ ...templates ] : [];
|
|
95
49
|
sortedTemplates.sort( ( a, b ) =>
|
|
96
50
|
a.title.rendered.localeCompare( b.title.rendered )
|
|
97
51
|
);
|
|
98
|
-
if ( config[ postType ].sortCallback ) {
|
|
99
|
-
sortedTemplates = config[ postType ].sortCallback( sortedTemplates );
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
const browseAllLink = useLink( {
|
|
103
|
-
path: '/' + postType + '/all',
|
|
104
|
-
} );
|
|
105
52
|
|
|
53
|
+
const browseAllLink = useLink( { path: '/wp_template/all' } );
|
|
106
54
|
const canCreate = ! isMobileViewport && ! isTemplatePartsMode;
|
|
107
|
-
const isTemplateList = postType === 'wp_template';
|
|
108
55
|
return (
|
|
109
56
|
<SidebarNavigationScreen
|
|
110
57
|
isRoot={ isTemplatePartsMode }
|
|
111
|
-
title={
|
|
112
|
-
description={
|
|
58
|
+
title={ __( 'Templates' ) }
|
|
59
|
+
description={ __(
|
|
60
|
+
'Express the layout of your site with templates'
|
|
61
|
+
) }
|
|
113
62
|
actions={
|
|
114
63
|
canCreate && (
|
|
115
64
|
<AddNewTemplate
|
|
116
|
-
templateType={
|
|
65
|
+
templateType={ 'wp_template' }
|
|
117
66
|
toggleProps={ {
|
|
118
67
|
as: SidebarButton,
|
|
119
68
|
} }
|
|
@@ -122,24 +71,18 @@ export default function SidebarNavigationScreenTemplates() {
|
|
|
122
71
|
}
|
|
123
72
|
content={
|
|
124
73
|
<>
|
|
125
|
-
{ isLoading &&
|
|
74
|
+
{ isLoading && __( 'Loading templates' ) }
|
|
126
75
|
{ ! isLoading && (
|
|
127
76
|
<ItemGroup>
|
|
128
77
|
{ ! templates?.length && (
|
|
129
|
-
<Item>
|
|
130
|
-
{ config[ postType ].labels.notFound }
|
|
131
|
-
</Item>
|
|
78
|
+
<Item>{ __( 'No templates found' ) }</Item>
|
|
132
79
|
) }
|
|
133
80
|
{ sortedTemplates.map( ( template ) => (
|
|
134
81
|
<TemplateItem
|
|
135
|
-
postType={
|
|
82
|
+
postType={ 'wp_template' }
|
|
136
83
|
postId={ template.id }
|
|
137
84
|
key={ template.id }
|
|
138
85
|
withChevron
|
|
139
|
-
icon={
|
|
140
|
-
! isTemplateList &&
|
|
141
|
-
getTemplatePartIcon( template.area )
|
|
142
|
-
}
|
|
143
86
|
>
|
|
144
87
|
{ decodeEntities(
|
|
145
88
|
template.title?.rendered ||
|
|
@@ -153,19 +96,9 @@ export default function SidebarNavigationScreenTemplates() {
|
|
|
153
96
|
}
|
|
154
97
|
footer={
|
|
155
98
|
! isMobileViewport && (
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
</SidebarNavigationItem>
|
|
160
|
-
{ !! config[ postType ].labels.reusableBlocks && (
|
|
161
|
-
<SidebarNavigationItem
|
|
162
|
-
as="a"
|
|
163
|
-
href="edit.php?post_type=wp_block"
|
|
164
|
-
>
|
|
165
|
-
{ config[ postType ].labels.reusableBlocks }
|
|
166
|
-
</SidebarNavigationItem>
|
|
167
|
-
) }
|
|
168
|
-
</>
|
|
99
|
+
<SidebarNavigationItem withChevron { ...browseAllLink }>
|
|
100
|
+
{ __( 'Manage all templates' ) }
|
|
101
|
+
</SidebarNavigationItem>
|
|
169
102
|
)
|
|
170
103
|
}
|
|
171
104
|
/>
|