@wordpress/edit-site 5.19.0 → 5.19.2
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-pattern/index.js +3 -3
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/index.js +31 -0
- package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build/components/block-editor/index.js +2 -9
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +1 -1
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +8 -12
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/editor/index.js +4 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-families.js +2 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +2 -2
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +26 -2
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +7 -4
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +25 -7
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/constants.js +1 -7
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +2 -52
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +1 -1
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +9 -8
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +4 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/layout/index.js +5 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +13 -8
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/list/index.js +2 -1
- package/build/components/list/index.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +5 -5
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/index.js +1 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +1 -1
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +28 -34
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/add-new-template-part.js +3 -2
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build/components/page-template-parts/index.js +2 -1
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/page-templates/index.js +3 -2
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/save-hub/index.js +2 -1
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +3 -3
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/start-template-options/index.js +20 -2
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +2 -1
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +8 -3
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +2 -1
- package/build/hooks/navigation-menu-edit.js.map +1 -1
- package/build/hooks/template-part-edit.js +2 -1
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/store/actions.js +10 -9
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +1 -9
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +21 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +23 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +3 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +22 -3
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +1 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +1 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build/utils/template-part-create.js +6 -1
- package/build/utils/template-part-create.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +3 -3
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
- package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build-module/components/block-editor/index.js +1 -8
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +2 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +8 -12
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +4 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +3 -2
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +2 -2
- package/build-module/components/global-styles/font-family-item.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +27 -3
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +8 -5
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +26 -7
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +14 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +1 -6
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -51
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +1 -1
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +4 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/layout/index.js +5 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +13 -8
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/list/index.js +2 -1
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +5 -5
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/index.js +1 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +2 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +28 -35
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build-module/components/page-template-parts/index.js +2 -1
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +3 -2
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +2 -1
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -4
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +8 -3
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +20 -2
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- 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 +2 -1
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +8 -3
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/navigation-menu-edit.js +2 -1
- package/build-module/hooks/navigation-menu-edit.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +2 -1
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/store/actions.js +10 -10
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +0 -4
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +19 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +22 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +17 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +2 -2
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +2 -2
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-module/utils/template-part-create.js +6 -1
- package/build-module/utils/template-part-create.js.map +1 -1
- package/build-style/style-rtl.css +23 -0
- package/build-style/style.css +23 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +3 -3
- package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
- package/src/components/block-editor/block-editor-provider/index.js +29 -0
- package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
- package/src/components/block-editor/index.js +1 -14
- package/src/components/block-editor/site-editor-canvas.js +5 -2
- package/src/components/create-template-part-modal/index.js +11 -12
- package/src/components/editor/index.js +6 -2
- package/src/components/global-styles/font-families.js +5 -1
- package/src/components/global-styles/font-family-item.js +2 -2
- package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/src/components/global-styles/font-library-modal/context.js +33 -2
- package/src/components/global-styles/font-library-modal/font-card.js +9 -4
- package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +36 -10
- package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
- package/src/components/global-styles/font-library-modal/index.js +30 -5
- package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-card.js +1 -8
- package/src/components/global-styles/font-library-modal/library-font-details.js +2 -3
- package/src/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/src/components/global-styles/font-library-modal/style.scss +26 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/src/components/global-styles/font-library-modal/utils/constants.js +1 -9
- package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
- package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +9 -69
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
- package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
- package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
- package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
- package/src/components/global-styles/font-library-modal/utils/test/{getPreviewStyle.spec.js → preview-styles.spec.js} +49 -9
- package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
- package/src/components/global-styles/screen-typography.js +4 -1
- package/src/components/header-edit-mode/document-actions/index.js +17 -8
- package/src/components/header-edit-mode/index.js +2 -1
- package/src/components/layout/index.js +10 -1
- package/src/components/list/added-by.js +29 -11
- package/src/components/list/index.js +7 -1
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
- package/src/components/page-patterns/duplicate-menu-item.js +5 -5
- package/src/components/page-patterns/grid-item.js +5 -5
- package/src/components/page-patterns/index.js +1 -1
- package/src/components/page-patterns/search-items.js +7 -1
- package/src/components/page-patterns/use-patterns.js +190 -134
- package/src/components/page-template-parts/add-new-template-part.js +5 -2
- package/src/components/page-template-parts/index.js +2 -1
- package/src/components/page-templates/index.js +3 -2
- package/src/components/save-hub/index.js +2 -1
- package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +48 -20
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +9 -4
- package/src/components/sidebar-edit-mode/page-panels/style.scss +6 -0
- package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/src/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +18 -8
- package/src/components/sidebar-navigation-screen-patterns/index.js +8 -4
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +16 -3
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/src/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
- package/src/components/start-template-options/index.js +39 -2
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
- package/src/components/template-actions/index.js +2 -1
- package/src/components/template-actions/rename-menu-item.js +8 -3
- package/src/hooks/commands/use-edit-mode-commands.js +4 -3
- package/src/hooks/navigation-menu-edit.js +2 -1
- package/src/hooks/template-part-edit.js +2 -1
- package/src/store/actions.js +18 -10
- package/src/store/constants.js +0 -5
- package/src/store/private-actions.js +19 -0
- package/src/store/private-selectors.js +22 -0
- package/src/store/reducer.js +18 -0
- package/src/store/selectors.js +6 -3
- package/src/store/test/reducer.js +18 -0
- package/src/utils/constants.js +17 -1
- package/src/utils/is-template-removable.js +2 -2
- package/src/utils/is-template-revertable.js +2 -2
- package/src/utils/template-part-create.js +6 -1
- package/build/components/block-editor/get-block-editor-provider.js +0 -35
- package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
- package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
- package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
- package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/src/components/block-editor/get-block-editor-provider.js +0 -29
- package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHeading","Heading","useViewportMatch","getTemplatePartIcon","__","getQueryArgs","file","AddNewPattern","SidebarNavigationItem","SidebarNavigationScreen","CategoryItem","PATTERN_DEFAULT_CATEGORY","PATTERN_TYPES","useLink","usePatternCategories","useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","createElement","Fragment","className","level","Object","entries","map","area","label","templateParts","key","count","length","icon","id","type","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","templatePartsLink","path","footer","as","withChevron","undefined","title","description","actions","content"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {
|
|
1
|
+
{"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHeading","Heading","useViewportMatch","getTemplatePartIcon","__","getQueryArgs","file","AddNewPattern","SidebarNavigationItem","SidebarNavigationScreen","CategoryItem","PATTERN_DEFAULT_CATEGORY","PATTERN_TYPES","TEMPLATE_PART_POST_TYPE","useLink","usePatternCategories","useTemplatePartAreas","TemplatePartGroup","areas","currentArea","currentType","createElement","Fragment","className","level","Object","entries","map","area","label","templateParts","key","count","length","icon","id","type","isActive","PatternCategoriesGroup","categories","currentCategory","category","name","theme","user","SidebarNavigationScreenPatterns","isMobileViewport","categoryType","categoryId","window","location","href","templatePartAreas","hasTemplateParts","isLoading","patternCategories","hasPatterns","templatePartsLink","path","footer","as","withChevron","undefined","title","description","actions","content"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { getTemplatePartIcon } from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { getQueryArgs } from '@wordpress/url';\nimport { file } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport AddNewPattern from '../add-new-pattern';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport CategoryItem from './category-item';\nimport {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\nimport { useLink } from '../routes/link';\nimport usePatternCategories from './use-pattern-categories';\nimport useTemplatePartAreas from './use-template-part-areas';\n\nfunction TemplatePartGroup( { areas, currentArea, currentType } ) {\n\treturn (\n\t\t<>\n\t\t\t<div className=\"edit-site-sidebar-navigation-screen-patterns__group-header\">\n\t\t\t\t<Heading level={ 2 }>{ __( 'Template parts' ) }</Heading>\n\t\t\t</div>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ Object.entries( areas ).map(\n\t\t\t\t\t( [ area, { label, templateParts } ] ) => (\n\t\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\t\tkey={ area }\n\t\t\t\t\t\t\tcount={ templateParts?.length }\n\t\t\t\t\t\t\ticon={ getTemplatePartIcon( area ) }\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tid={ area }\n\t\t\t\t\t\t\ttype={ TEMPLATE_PART_POST_TYPE }\n\t\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\t\tcurrentArea === area &&\n\t\t\t\t\t\t\t\tcurrentType === TEMPLATE_PART_POST_TYPE\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)\n\t\t\t\t) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nfunction PatternCategoriesGroup( {\n\tcategories,\n\tcurrentCategory,\n\tcurrentType,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t{ categories.map( ( category ) => (\n\t\t\t\t\t<CategoryItem\n\t\t\t\t\t\tkey={ category.name }\n\t\t\t\t\t\tcount={ category.count }\n\t\t\t\t\t\tlabel={ category.label }\n\t\t\t\t\t\ticon={ file }\n\t\t\t\t\t\tid={ category.name }\n\t\t\t\t\t\ttype=\"pattern\"\n\t\t\t\t\t\tisActive={\n\t\t\t\t\t\t\tcurrentCategory === `${ category.name }` &&\n\t\t\t\t\t\t\t( currentType === PATTERN_TYPES.theme ||\n\t\t\t\t\t\t\t\tcurrentType === PATTERN_TYPES.user )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</ItemGroup>\n\t\t</>\n\t);\n}\n\nexport default function SidebarNavigationScreenPatterns() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst { categoryType, categoryId } = getQueryArgs( window.location.href );\n\tconst currentCategory = categoryId || PATTERN_DEFAULT_CATEGORY;\n\tconst currentType = categoryType || PATTERN_TYPES.theme;\n\n\tconst { templatePartAreas, hasTemplateParts, isLoading } =\n\t\tuseTemplatePartAreas();\n\tconst { patternCategories, hasPatterns } = usePatternCategories();\n\n\tconst templatePartsLink = useLink( { path: '/wp_template_part/all' } );\n\tconst footer = ! isMobileViewport ? (\n\t\t<ItemGroup>\n\t\t\t<SidebarNavigationItem\n\t\t\t\tas=\"a\"\n\t\t\t\thref=\"edit.php?post_type=wp_block\"\n\t\t\t\twithChevron\n\t\t\t>\n\t\t\t\t{ __( 'Manage all of my patterns' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t<SidebarNavigationItem withChevron { ...templatePartsLink }>\n\t\t\t\t{ __( 'Manage all template parts' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t</ItemGroup>\n\t) : undefined;\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Manage what patterns are available when editing the site.'\n\t\t\t) }\n\t\t\tactions={ <AddNewPattern /> }\n\t\t\tfooter={ footer }\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading patterns…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! hasTemplateParts && ! hasPatterns && (\n\t\t\t\t\t\t\t\t<ItemGroup className=\"edit-site-sidebar-navigation-screen-patterns__group\">\n\t\t\t\t\t\t\t\t\t<Item>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No template parts or patterns found'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t\t\t\t<PatternCategoriesGroup\n\t\t\t\t\t\t\t\t\tcategories={ patternCategories }\n\t\t\t\t\t\t\t\t\tcurrentCategory={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ hasTemplateParts && (\n\t\t\t\t\t\t\t\t<TemplatePartGroup\n\t\t\t\t\t\t\t\t\tareas={ templatePartAreas }\n\t\t\t\t\t\t\t\t\tcurrentArea={ currentCategory }\n\t\t\t\t\t\t\t\t\tcurrentType={ currentType }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js
CHANGED
|
@@ -10,11 +10,11 @@ import { __ } from '@wordpress/i18n';
|
|
|
10
10
|
import useDefaultPatternCategories from './use-default-pattern-categories';
|
|
11
11
|
import useThemePatterns from './use-theme-patterns';
|
|
12
12
|
import usePatterns from '../page-patterns/use-patterns';
|
|
13
|
-
import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';
|
|
13
|
+
import { PATTERN_TYPES, PATTERN_DEFAULT_CATEGORY, PATTERN_USER_CATEGORY, TEMPLATE_PART_AREA_DEFAULT_CATEGORY } from '../../utils/constants';
|
|
14
14
|
export default function usePatternCategories() {
|
|
15
15
|
const defaultCategories = useDefaultPatternCategories();
|
|
16
16
|
defaultCategories.push({
|
|
17
|
-
name:
|
|
17
|
+
name: TEMPLATE_PART_AREA_DEFAULT_CATEGORY,
|
|
18
18
|
label: __('Uncategorized')
|
|
19
19
|
});
|
|
20
20
|
const themePatterns = useThemePatterns();
|
|
@@ -77,9 +77,14 @@ export default function usePatternCategories() {
|
|
|
77
77
|
}
|
|
78
78
|
});
|
|
79
79
|
const sortedCategories = categoriesWithCounts.sort((a, b) => a.label.localeCompare(b.label));
|
|
80
|
+
sortedCategories.unshift({
|
|
81
|
+
name: PATTERN_USER_CATEGORY,
|
|
82
|
+
label: __('My patterns'),
|
|
83
|
+
count: userPatterns.length
|
|
84
|
+
});
|
|
80
85
|
sortedCategories.unshift({
|
|
81
86
|
name: PATTERN_DEFAULT_CATEGORY,
|
|
82
|
-
label: __('All
|
|
87
|
+
label: __('All patterns'),
|
|
83
88
|
description: __('A list of all patterns from all sources'),
|
|
84
89
|
count: themePatterns.length + userPatterns.length
|
|
85
90
|
});
|
package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","__","useDefaultPatternCategories","useThemePatterns","usePatterns","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","usePatternCategories","defaultCategories","push","name","label","themePatterns","patterns","userPatterns","categories","userPatternCategories","user","patternCategories","categoryMap","categoriesWithCounts","forEach","category","count","pattern","length","uncategorized","find","cat","sortedCategories","sort","a","b","localeCompare","unshift","description","hasPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDefaultPatternCategories from './use-default-pattern-categories';\nimport useThemePatterns from './use-theme-patterns';\nimport usePatterns from '../page-patterns/use-patterns';\nimport {
|
|
1
|
+
{"version":3,"names":["useMemo","__","useDefaultPatternCategories","useThemePatterns","usePatterns","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","usePatternCategories","defaultCategories","push","name","label","themePatterns","patterns","userPatterns","categories","userPatternCategories","user","patternCategories","categoryMap","categoriesWithCounts","forEach","category","count","pattern","length","uncategorized","find","cat","sortedCategories","sort","a","b","localeCompare","unshift","description","hasPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDefaultPatternCategories from './use-default-pattern-categories';\nimport useThemePatterns from './use-theme-patterns';\nimport usePatterns from '../page-patterns/use-patterns';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\n\nexport default function usePatternCategories() {\n\tconst defaultCategories = useDefaultPatternCategories();\n\tdefaultCategories.push( {\n\t\tname: TEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n\t\tlabel: __( 'Uncategorized' ),\n\t} );\n\tconst themePatterns = useThemePatterns();\n\tconst { patterns: userPatterns, categories: userPatternCategories } =\n\t\tusePatterns( PATTERN_TYPES.user );\n\n\tconst patternCategories = useMemo( () => {\n\t\tconst categoryMap = {};\n\t\tconst categoriesWithCounts = [];\n\n\t\t// Create a map for easier counting of patterns in categories.\n\t\tdefaultCategories.forEach( ( category ) => {\n\t\t\tif ( ! categoryMap[ category.name ] ) {\n\t\t\t\tcategoryMap[ category.name ] = { ...category, count: 0 };\n\t\t\t}\n\t\t} );\n\t\tuserPatternCategories.forEach( ( category ) => {\n\t\t\tif ( ! categoryMap[ category.name ] ) {\n\t\t\t\tcategoryMap[ category.name ] = { ...category, count: 0 };\n\t\t\t}\n\t\t} );\n\n\t\t// Update the category counts to reflect theme registered patterns.\n\t\tthemePatterns.forEach( ( pattern ) => {\n\t\t\tpattern.categories?.forEach( ( category ) => {\n\t\t\t\tif ( categoryMap[ category ] ) {\n\t\t\t\t\tcategoryMap[ category ].count += 1;\n\t\t\t\t}\n\t\t\t} );\n\t\t\t// If the pattern has no categories, add it to uncategorized.\n\t\t\tif ( ! pattern.categories?.length ) {\n\t\t\t\tcategoryMap.uncategorized.count += 1;\n\t\t\t}\n\t\t} );\n\n\t\t// Update the category counts to reflect user registered patterns.\n\t\tuserPatterns.forEach( ( pattern ) => {\n\t\t\tpattern.categories?.forEach( ( category ) => {\n\t\t\t\tif ( categoryMap[ category ] ) {\n\t\t\t\t\tcategoryMap[ category ].count += 1;\n\t\t\t\t}\n\t\t\t} );\n\t\t\t// If the pattern has no categories, add it to uncategorized.\n\t\t\tif ( ! pattern.categories?.length ) {\n\t\t\t\tcategoryMap.uncategorized.count += 1;\n\t\t\t}\n\t\t} );\n\n\t\t// Filter categories so we only have those containing patterns.\n\t\t[ ...defaultCategories, ...userPatternCategories ].forEach(\n\t\t\t( category ) => {\n\t\t\t\tif (\n\t\t\t\t\tcategoryMap[ category.name ].count &&\n\t\t\t\t\t! categoriesWithCounts.find(\n\t\t\t\t\t\t( cat ) => cat.name === category.name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\tcategoriesWithCounts.push( categoryMap[ category.name ] );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\t\tconst sortedCategories = categoriesWithCounts.sort( ( a, b ) =>\n\t\t\ta.label.localeCompare( b.label )\n\t\t);\n\n\t\tsortedCategories.unshift( {\n\t\t\tname: PATTERN_USER_CATEGORY,\n\t\t\tlabel: __( 'My patterns' ),\n\t\t\tcount: userPatterns.length,\n\t\t} );\n\n\t\tsortedCategories.unshift( {\n\t\t\tname: PATTERN_DEFAULT_CATEGORY,\n\t\t\tlabel: __( 'All patterns' ),\n\t\t\tdescription: __( 'A list of all patterns from all sources' ),\n\t\t\tcount: themePatterns.length + userPatterns.length,\n\t\t} );\n\n\t\treturn sortedCategories;\n\t}, [\n\t\tdefaultCategories,\n\t\tthemePatterns,\n\t\tuserPatternCategories,\n\t\tuserPatterns,\n\t] );\n\n\treturn { patternCategories, hasPatterns: !! patternCategories.length };\n}\n"],"mappings":"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"}
|
package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
5
5
|
import { useSelect } from '@wordpress/data';
|
|
6
6
|
import { store as editorStore } from '@wordpress/editor';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { TEMPLATE_PART_AREA_DEFAULT_CATEGORY, TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
7
12
|
const useTemplatePartsGroupedByArea = items => {
|
|
8
13
|
const allItems = items || [];
|
|
9
14
|
const templatePartAreas = useSelect(select => select(editorStore).__experimentalGetDefaultTemplatePartAreas(), []);
|
|
@@ -21,7 +26,7 @@ const useTemplatePartsGroupedByArea = items => {
|
|
|
21
26
|
templateParts: []
|
|
22
27
|
});
|
|
23
28
|
const groupedByArea = allItems.reduce((accumulator, item) => {
|
|
24
|
-
const key = accumulator[item.area] ? item.area :
|
|
29
|
+
const key = accumulator[item.area] ? item.area : TEMPLATE_PART_AREA_DEFAULT_CATEGORY;
|
|
25
30
|
accumulator[key].templateParts.push(item);
|
|
26
31
|
return accumulator;
|
|
27
32
|
}, knownAreas);
|
|
@@ -31,7 +36,7 @@ export default function useTemplatePartAreas() {
|
|
|
31
36
|
const {
|
|
32
37
|
records: templateParts,
|
|
33
38
|
isResolving: isLoading
|
|
34
|
-
} = useEntityRecords('postType',
|
|
39
|
+
} = useEntityRecords('postType', TEMPLATE_PART_POST_TYPE, {
|
|
35
40
|
per_page: -1
|
|
36
41
|
});
|
|
37
42
|
return {
|
package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEntityRecords","useSelect","store","editorStore","useTemplatePartsGroupedByArea","items","allItems","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","knownAreas","header","footer","sidebar","uncategorized","forEach","templatePartArea","area","templateParts","groupedByArea","reduce","accumulator","item","key","push","useTemplatePartAreas","records","isResolving","isLoading","per_page","hasTemplateParts","length"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\nconst useTemplatePartsGroupedByArea = ( items ) => {\n\tconst allItems = items || [];\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\t// Create map of template areas ensuring that default areas are displayed before\n\t// any custom registered template part areas.\n\tconst knownAreas = {\n\t\theader: {},\n\t\tfooter: {},\n\t\tsidebar: {},\n\t\tuncategorized: {},\n\t};\n\n\ttemplatePartAreas.forEach(\n\t\t( templatePartArea ) =>\n\t\t\t( knownAreas[ templatePartArea.area ] = {\n\t\t\t\t...templatePartArea,\n\t\t\t\ttemplateParts: [],\n\t\t\t} )\n\t);\n\n\tconst groupedByArea = allItems.reduce( ( accumulator, item ) => {\n\t\tconst key = accumulator[ item.area ]
|
|
1
|
+
{"version":3,"names":["useEntityRecords","useSelect","store","editorStore","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","TEMPLATE_PART_POST_TYPE","useTemplatePartsGroupedByArea","items","allItems","templatePartAreas","select","__experimentalGetDefaultTemplatePartAreas","knownAreas","header","footer","sidebar","uncategorized","forEach","templatePartArea","area","templateParts","groupedByArea","reduce","accumulator","item","key","push","useTemplatePartAreas","records","isResolving","isLoading","per_page","hasTemplateParts","length"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { store as editorStore } from '@wordpress/editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst useTemplatePartsGroupedByArea = ( items ) => {\n\tconst allItems = items || [];\n\n\tconst templatePartAreas = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t\t[]\n\t);\n\n\t// Create map of template areas ensuring that default areas are displayed before\n\t// any custom registered template part areas.\n\tconst knownAreas = {\n\t\theader: {},\n\t\tfooter: {},\n\t\tsidebar: {},\n\t\tuncategorized: {},\n\t};\n\n\ttemplatePartAreas.forEach(\n\t\t( templatePartArea ) =>\n\t\t\t( knownAreas[ templatePartArea.area ] = {\n\t\t\t\t...templatePartArea,\n\t\t\t\ttemplateParts: [],\n\t\t\t} )\n\t);\n\n\tconst groupedByArea = allItems.reduce( ( accumulator, item ) => {\n\t\tconst key = accumulator[ item.area ]\n\t\t\t? item.area\n\t\t\t: TEMPLATE_PART_AREA_DEFAULT_CATEGORY;\n\t\taccumulator[ key ].templateParts.push( item );\n\t\treturn accumulator;\n\t}, knownAreas );\n\n\treturn groupedByArea;\n};\n\nexport default function useTemplatePartAreas() {\n\tconst { records: templateParts, isResolving: isLoading } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_PART_POST_TYPE,\n\t\t{ per_page: -1 }\n\t);\n\n\treturn {\n\t\thasTemplateParts: templateParts ? !! templateParts.length : false,\n\t\tisLoading,\n\t\ttemplatePartAreas: useTemplatePartsGroupedByArea( templateParts ),\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,WAAW,QAAQ,mBAAmB;;AAExD;AACA;AACA;AACA,SACCC,mCAAmC,EACnCC,uBAAuB,QACjB,uBAAuB;AAE9B,MAAMC,6BAA6B,GAAKC,KAAK,IAAM;EAClD,MAAMC,QAAQ,GAAGD,KAAK,IAAI,EAAE;EAE5B,MAAME,iBAAiB,GAAGR,SAAS,CAChCS,MAAM,IACPA,MAAM,CAAEP,WAAY,CAAC,CAACQ,yCAAyC,CAAC,CAAC,EAClE,EACD,CAAC;;EAED;EACA;EACA,MAAMC,UAAU,GAAG;IAClBC,MAAM,EAAE,CAAC,CAAC;IACVC,MAAM,EAAE,CAAC,CAAC;IACVC,OAAO,EAAE,CAAC,CAAC;IACXC,aAAa,EAAE,CAAC;EACjB,CAAC;EAEDP,iBAAiB,CAACQ,OAAO,CACtBC,gBAAgB,IACfN,UAAU,CAAEM,gBAAgB,CAACC,IAAI,CAAE,GAAG;IACvC,GAAGD,gBAAgB;IACnBE,aAAa,EAAE;EAChB,CACF,CAAC;EAED,MAAMC,aAAa,GAAGb,QAAQ,CAACc,MAAM,CAAE,CAAEC,WAAW,EAAEC,IAAI,KAAM;IAC/D,MAAMC,GAAG,GAAGF,WAAW,CAAEC,IAAI,CAACL,IAAI,CAAE,GACjCK,IAAI,CAACL,IAAI,GACTf,mCAAmC;IACtCmB,WAAW,CAAEE,GAAG,CAAE,CAACL,aAAa,CAACM,IAAI,CAAEF,IAAK,CAAC;IAC7C,OAAOD,WAAW;EACnB,CAAC,EAAEX,UAAW,CAAC;EAEf,OAAOS,aAAa;AACrB,CAAC;AAED,eAAe,SAASM,oBAAoBA,CAAA,EAAG;EAC9C,MAAM;IAAEC,OAAO,EAAER,aAAa;IAAES,WAAW,EAAEC;EAAU,CAAC,GAAG9B,gBAAgB,CAC1E,UAAU,EACVK,uBAAuB,EACvB;IAAE0B,QAAQ,EAAE,CAAC;EAAE,CAChB,CAAC;EAED,OAAO;IACNC,gBAAgB,EAAEZ,aAAa,GAAG,CAAC,CAAEA,aAAa,CAACa,MAAM,GAAG,KAAK;IACjEH,SAAS;IACTrB,iBAAiB,EAAEH,6BAA6B,CAAEc,aAAc;EACjE,CAAC;AACF"}
|
|
@@ -19,6 +19,7 @@ import { unlock } from '../../lock-unlock';
|
|
|
19
19
|
import { store as editSiteStore } from '../../store';
|
|
20
20
|
import { useLink } from '../routes/link';
|
|
21
21
|
import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
22
|
+
import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
22
23
|
const EMPTY_OBJECT = {};
|
|
23
24
|
function TemplateAreaButton({
|
|
24
25
|
postId,
|
|
@@ -31,7 +32,7 @@ function TemplateAreaButton({
|
|
|
31
32
|
footer
|
|
32
33
|
};
|
|
33
34
|
const linkInfo = useLink({
|
|
34
|
-
postType:
|
|
35
|
+
postType: TEMPLATE_PART_POST_TYPE,
|
|
35
36
|
postId
|
|
36
37
|
});
|
|
37
38
|
return createElement(SidebarNavigationItem, {
|
package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","debounce","useSelect","useDispatch","store","coreStore","CheckboxControl","__experimentalUseNavigator","useNavigator","__experimentalInputControl","InputControl","__experimentalNumberControl","NumberControl","__experimentalTruncate","Truncate","__experimentalItemGroup","ItemGroup","header","footer","layout","useMemo","useState","useEffect","decodeEntities","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","unlock","editSiteStore","useLink","SidebarNavigationItem","EMPTY_OBJECT","TemplateAreaButton","postId","icon","title","_icons$icon","icons","linkInfo","postType","createElement","className","withChevron","limit","ellipsizeMode","numberOfLines","HomeTemplateDetails","navigator","params","editEntityRecord","allowCommentsOnNewPosts","templatePartAreas","postsPerPage","postsPageTitle","postsPageId","currentTemplateParts","select","getEntityRecord","siteSettings","getSettings","_currentTemplateParts","getCurrentTemplateTemplateParts","siteEditorSettings","_postsPageRecord","page_for_posts","default_comment_status","rendered","id","posts_per_page","defaultTemplatePartAreas","commentsOnNewPostsValue","setCommentsOnNewPostsValue","postsCountValue","setPostsCountValue","postsPageTitleValue","setPostsPageTitleValue","templateAreas","length","map","templatePart","find","area","setAllowCommentsOnNewPosts","newValue","undefined","setPostsPageTitle","setPostsPerPage","Fragment","spacing","placeholder","size","value","onChange","label","help","spinControls","step","min","checked","theme","slug","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-template/home-template-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tCheckboxControl,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalInputControl as InputControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalTruncate as Truncate,\n\t__experimentalItemGroup as ItemGroup,\n} from '@wordpress/components';\nimport { header, footer, layout } from '@wordpress/icons';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n} from '../sidebar-navigation-screen-details-panel';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\n\nconst EMPTY_OBJECT = {};\n\nfunction TemplateAreaButton( { postId, icon, title } ) {\n\tconst icons = {\n\t\theader,\n\t\tfooter,\n\t};\n\tconst linkInfo = useLink( {\n\t\tpostType: 'wp_template_part',\n\t\tpostId,\n\t} );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-button\"\n\t\t\t{ ...linkInfo }\n\t\t\ticon={ icons[ icon ] ?? layout }\n\t\t\twithChevron\n\t\t>\n\t\t\t<Truncate\n\t\t\t\tlimit={ 20 }\n\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-label-text\"\n\t\t\t>\n\t\t\t\t{ decodeEntities( title ) }\n\t\t\t</Truncate>\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function HomeTemplateDetails() {\n\tconst navigator = useNavigator();\n\tconst {\n\t\tparams: { postType, postId },\n\t} = navigator;\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst {\n\t\tallowCommentsOnNewPosts,\n\t\ttemplatePartAreas,\n\t\tpostsPerPage,\n\t\tpostsPageTitle,\n\t\tpostsPageId,\n\t\tcurrentTemplateParts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst _currentTemplateParts =\n\t\t\t\tselect( editSiteStore ).getCurrentTemplateTemplateParts();\n\t\t\tconst siteEditorSettings = getSettings();\n\t\t\tconst _postsPageRecord = siteSettings?.page_for_posts\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\tsiteSettings?.page_for_posts\n\t\t\t\t )\n\t\t\t\t: EMPTY_OBJECT;\n\n\t\t\treturn {\n\t\t\t\tallowCommentsOnNewPosts:\n\t\t\t\t\tsiteSettings?.default_comment_status === 'open',\n\t\t\t\tpostsPageTitle: _postsPageRecord?.title?.rendered,\n\t\t\t\tpostsPageId: _postsPageRecord?.id,\n\t\t\t\tpostsPerPage: siteSettings?.posts_per_page,\n\t\t\t\ttemplatePartAreas: siteEditorSettings?.defaultTemplatePartAreas,\n\t\t\t\tcurrentTemplateParts: _currentTemplateParts,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst [ commentsOnNewPostsValue, setCommentsOnNewPostsValue ] =\n\t\tuseState( '' );\n\tconst [ postsCountValue, setPostsCountValue ] = useState( 1 );\n\tconst [ postsPageTitleValue, setPostsPageTitleValue ] = useState( '' );\n\n\t/*\n\t * This hook serves to set the server-retrieved values,\n\t * postsPageTitle, allowCommentsOnNewPosts, postsPerPage,\n\t * to local state.\n\t */\n\tuseEffect( () => {\n\t\tsetCommentsOnNewPostsValue( allowCommentsOnNewPosts );\n\t\tsetPostsPageTitleValue( postsPageTitle );\n\t\tsetPostsCountValue( postsPerPage );\n\t}, [ postsPageTitle, allowCommentsOnNewPosts, postsPerPage ] );\n\n\t/*\n\t * Merge data in currentTemplateParts with templatePartAreas,\n\t * which contains the template icon and fallback labels\n\t */\n\tconst templateAreas = useMemo( () => {\n\t\treturn currentTemplateParts.length && templatePartAreas\n\t\t\t? currentTemplateParts.map( ( { templatePart } ) => ( {\n\t\t\t\t\t...templatePartAreas?.find(\n\t\t\t\t\t\t( { area } ) => area === templatePart?.area\n\t\t\t\t\t),\n\t\t\t\t\t...templatePart,\n\t\t\t } ) )\n\t\t\t: [];\n\t}, [ currentTemplateParts, templatePartAreas ] );\n\n\tconst setAllowCommentsOnNewPosts = ( newValue ) => {\n\t\tsetCommentsOnNewPostsValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdefault_comment_status: newValue ? 'open' : null,\n\t\t} );\n\t};\n\n\tconst setPostsPageTitle = ( newValue ) => {\n\t\tsetPostsPageTitleValue( newValue );\n\t\teditEntityRecord( 'postType', 'page', postsPageId, {\n\t\t\ttitle: newValue,\n\t\t} );\n\t};\n\n\tconst setPostsPerPage = ( newValue ) => {\n\t\tsetPostsCountValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tposts_per_page: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreenDetailsPanel spacing={ 6 }>\n\t\t\t\t{ postsPageId && (\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tvalue={ postsPageTitleValue }\n\t\t\t\t\t\t\tonChange={ debounce( setPostsPageTitle, 300 ) }\n\t\t\t\t\t\t\tlabel={ __( 'Blog title' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Set the Posts Page title. Appears in search results, and when the page is shared on social media.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t) }\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tplaceholder={ 0 }\n\t\t\t\t\t\tvalue={ postsCountValue }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\tonChange={ setPostsPerPage }\n\t\t\t\t\t\tlabel={ __( 'Posts per page' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Set the default number of posts to display on blog pages, including categories and tags. Some templates may override this setting.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tlabel={ __( 'Allow comments on new posts' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Changes will apply to new posts only. Individual posts may override these settings.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ commentsOnNewPostsValue }\n\t\t\t\t\t\tonChange={ setAllowCommentsOnNewPosts }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Areas' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ templateAreas.map(\n\t\t\t\t\t\t( { label, icon, theme, slug, title } ) => (\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TemplateAreaButton\n\t\t\t\t\t\t\t\t\tpostId={ `${ theme }//${ slug }` }\n\t\t\t\t\t\t\t\t\ttitle={ title?.rendered || label }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</ItemGroup>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["__","debounce","useSelect","useDispatch","store","coreStore","CheckboxControl","__experimentalUseNavigator","useNavigator","__experimentalInputControl","InputControl","__experimentalNumberControl","NumberControl","__experimentalTruncate","Truncate","__experimentalItemGroup","ItemGroup","header","footer","layout","useMemo","useState","useEffect","decodeEntities","SidebarNavigationScreenDetailsPanel","SidebarNavigationScreenDetailsPanelRow","unlock","editSiteStore","useLink","SidebarNavigationItem","TEMPLATE_PART_POST_TYPE","EMPTY_OBJECT","TemplateAreaButton","postId","icon","title","_icons$icon","icons","linkInfo","postType","createElement","className","withChevron","limit","ellipsizeMode","numberOfLines","HomeTemplateDetails","navigator","params","editEntityRecord","allowCommentsOnNewPosts","templatePartAreas","postsPerPage","postsPageTitle","postsPageId","currentTemplateParts","select","getEntityRecord","siteSettings","getSettings","_currentTemplateParts","getCurrentTemplateTemplateParts","siteEditorSettings","_postsPageRecord","page_for_posts","default_comment_status","rendered","id","posts_per_page","defaultTemplatePartAreas","commentsOnNewPostsValue","setCommentsOnNewPostsValue","postsCountValue","setPostsCountValue","postsPageTitleValue","setPostsPageTitleValue","templateAreas","length","map","templatePart","find","area","setAllowCommentsOnNewPosts","newValue","undefined","setPostsPageTitle","setPostsPerPage","Fragment","spacing","placeholder","size","value","onChange","label","help","spinControls","step","min","checked","theme","slug","key"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-template/home-template-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tCheckboxControl,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalInputControl as InputControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalTruncate as Truncate,\n\t__experimentalItemGroup as ItemGroup,\n} from '@wordpress/components';\nimport { header, footer, layout } from '@wordpress/icons';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport {\n\tSidebarNavigationScreenDetailsPanel,\n\tSidebarNavigationScreenDetailsPanelRow,\n} from '../sidebar-navigation-screen-details-panel';\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nconst EMPTY_OBJECT = {};\n\nfunction TemplateAreaButton( { postId, icon, title } ) {\n\tconst icons = {\n\t\theader,\n\t\tfooter,\n\t};\n\tconst linkInfo = useLink( {\n\t\tpostType: TEMPLATE_PART_POST_TYPE,\n\t\tpostId,\n\t} );\n\n\treturn (\n\t\t<SidebarNavigationItem\n\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-button\"\n\t\t\t{ ...linkInfo }\n\t\t\ticon={ icons[ icon ] ?? layout }\n\t\t\twithChevron\n\t\t>\n\t\t\t<Truncate\n\t\t\t\tlimit={ 20 }\n\t\t\t\tellipsizeMode=\"tail\"\n\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen-template__template-area-label-text\"\n\t\t\t>\n\t\t\t\t{ decodeEntities( title ) }\n\t\t\t</Truncate>\n\t\t</SidebarNavigationItem>\n\t);\n}\n\nexport default function HomeTemplateDetails() {\n\tconst navigator = useNavigator();\n\tconst {\n\t\tparams: { postType, postId },\n\t} = navigator;\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst {\n\t\tallowCommentsOnNewPosts,\n\t\ttemplatePartAreas,\n\t\tpostsPerPage,\n\t\tpostsPageTitle,\n\t\tpostsPageId,\n\t\tcurrentTemplateParts,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\tconst siteSettings = getEntityRecord( 'root', 'site' );\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst _currentTemplateParts =\n\t\t\t\tselect( editSiteStore ).getCurrentTemplateTemplateParts();\n\t\t\tconst siteEditorSettings = getSettings();\n\t\t\tconst _postsPageRecord = siteSettings?.page_for_posts\n\t\t\t\t? select( coreStore ).getEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'page',\n\t\t\t\t\t\tsiteSettings?.page_for_posts\n\t\t\t\t )\n\t\t\t\t: EMPTY_OBJECT;\n\n\t\t\treturn {\n\t\t\t\tallowCommentsOnNewPosts:\n\t\t\t\t\tsiteSettings?.default_comment_status === 'open',\n\t\t\t\tpostsPageTitle: _postsPageRecord?.title?.rendered,\n\t\t\t\tpostsPageId: _postsPageRecord?.id,\n\t\t\t\tpostsPerPage: siteSettings?.posts_per_page,\n\t\t\t\ttemplatePartAreas: siteEditorSettings?.defaultTemplatePartAreas,\n\t\t\t\tcurrentTemplateParts: _currentTemplateParts,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst [ commentsOnNewPostsValue, setCommentsOnNewPostsValue ] =\n\t\tuseState( '' );\n\tconst [ postsCountValue, setPostsCountValue ] = useState( 1 );\n\tconst [ postsPageTitleValue, setPostsPageTitleValue ] = useState( '' );\n\n\t/*\n\t * This hook serves to set the server-retrieved values,\n\t * postsPageTitle, allowCommentsOnNewPosts, postsPerPage,\n\t * to local state.\n\t */\n\tuseEffect( () => {\n\t\tsetCommentsOnNewPostsValue( allowCommentsOnNewPosts );\n\t\tsetPostsPageTitleValue( postsPageTitle );\n\t\tsetPostsCountValue( postsPerPage );\n\t}, [ postsPageTitle, allowCommentsOnNewPosts, postsPerPage ] );\n\n\t/*\n\t * Merge data in currentTemplateParts with templatePartAreas,\n\t * which contains the template icon and fallback labels\n\t */\n\tconst templateAreas = useMemo( () => {\n\t\treturn currentTemplateParts.length && templatePartAreas\n\t\t\t? currentTemplateParts.map( ( { templatePart } ) => ( {\n\t\t\t\t\t...templatePartAreas?.find(\n\t\t\t\t\t\t( { area } ) => area === templatePart?.area\n\t\t\t\t\t),\n\t\t\t\t\t...templatePart,\n\t\t\t } ) )\n\t\t\t: [];\n\t}, [ currentTemplateParts, templatePartAreas ] );\n\n\tconst setAllowCommentsOnNewPosts = ( newValue ) => {\n\t\tsetCommentsOnNewPostsValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tdefault_comment_status: newValue ? 'open' : null,\n\t\t} );\n\t};\n\n\tconst setPostsPageTitle = ( newValue ) => {\n\t\tsetPostsPageTitleValue( newValue );\n\t\teditEntityRecord( 'postType', 'page', postsPageId, {\n\t\t\ttitle: newValue,\n\t\t} );\n\t};\n\n\tconst setPostsPerPage = ( newValue ) => {\n\t\tsetPostsCountValue( newValue );\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tposts_per_page: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationScreenDetailsPanel spacing={ 6 }>\n\t\t\t\t{ postsPageId && (\n\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\t\tvalue={ postsPageTitleValue }\n\t\t\t\t\t\t\tonChange={ debounce( setPostsPageTitle, 300 ) }\n\t\t\t\t\t\t\tlabel={ __( 'Blog title' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Set the Posts Page title. Appears in search results, and when the page is shared on social media.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t) }\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tplaceholder={ 0 }\n\t\t\t\t\t\tvalue={ postsCountValue }\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\tmin=\"1\"\n\t\t\t\t\t\tonChange={ setPostsPerPage }\n\t\t\t\t\t\tlabel={ __( 'Posts per page' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Set the default number of posts to display on blog pages, including categories and tags. Some templates may override this setting.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Discussion' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\tclassName=\"edit-site-sidebar-navigation-screen__input-control\"\n\t\t\t\t\t\tlabel={ __( 'Allow comments on new posts' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Changes will apply to new posts only. Individual posts may override these settings.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ commentsOnNewPostsValue }\n\t\t\t\t\t\tonChange={ setAllowCommentsOnNewPosts }\n\t\t\t\t\t/>\n\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t\t<SidebarNavigationScreenDetailsPanel\n\t\t\t\ttitle={ __( 'Areas' ) }\n\t\t\t\tspacing={ 3 }\n\t\t\t>\n\t\t\t\t<ItemGroup>\n\t\t\t\t\t{ templateAreas.map(\n\t\t\t\t\t\t( { label, icon, theme, slug, title } ) => (\n\t\t\t\t\t\t\t<SidebarNavigationScreenDetailsPanelRow\n\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TemplateAreaButton\n\t\t\t\t\t\t\t\t\tpostId={ `${ theme }//${ slug }` }\n\t\t\t\t\t\t\t\t\ttitle={ title?.rendered || label }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</SidebarNavigationScreenDetailsPanelRow>\n\t\t\t\t\t\t)\n\t\t\t\t\t) }\n\t\t\t\t</ItemGroup>\n\t\t\t</SidebarNavigationScreenDetailsPanel>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -16,6 +16,7 @@ import { useLink } from '../routes/link';
|
|
|
16
16
|
import SidebarNavigationItem from '../sidebar-navigation-item';
|
|
17
17
|
import AddNewTemplate from '../add-new-template';
|
|
18
18
|
import SidebarButton from '../sidebar-button';
|
|
19
|
+
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
19
20
|
const TemplateItem = ({
|
|
20
21
|
postType,
|
|
21
22
|
postId,
|
|
@@ -35,7 +36,7 @@ export default function SidebarNavigationScreenTemplates() {
|
|
|
35
36
|
const {
|
|
36
37
|
records: templates,
|
|
37
38
|
isResolving: isLoading
|
|
38
|
-
} = useEntityRecords('postType',
|
|
39
|
+
} = useEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
39
40
|
per_page: -1
|
|
40
41
|
});
|
|
41
42
|
const sortedTemplates = templates ? [...templates] : [];
|
|
@@ -48,13 +49,13 @@ export default function SidebarNavigationScreenTemplates() {
|
|
|
48
49
|
title: __('Templates'),
|
|
49
50
|
description: __('Express the layout of your site with templates.'),
|
|
50
51
|
actions: canCreate && createElement(AddNewTemplate, {
|
|
51
|
-
templateType:
|
|
52
|
+
templateType: TEMPLATE_POST_TYPE,
|
|
52
53
|
toggleProps: {
|
|
53
54
|
as: SidebarButton
|
|
54
55
|
}
|
|
55
56
|
}),
|
|
56
57
|
content: createElement(Fragment, null, isLoading && __('Loading templates…'), !isLoading && createElement(ItemGroup, null, !templates?.length && createElement(Item, null, __('No templates found')), sortedTemplates.map(template => createElement(TemplateItem, {
|
|
57
|
-
postType:
|
|
58
|
+
postType: TEMPLATE_POST_TYPE,
|
|
58
59
|
postId: template.id,
|
|
59
60
|
key: template.id,
|
|
60
61
|
withChevron: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__","useEntityRecords","decodeEntities","useViewportMatch","SidebarNavigationScreen","useLink","SidebarNavigationItem","AddNewTemplate","SidebarButton","TemplateItem","postType","postId","props","linkInfo","createElement","SidebarNavigationScreenTemplates","isMobileViewport","records","templates","isResolving","isLoading","per_page","sortedTemplates","sort","a","b","title","rendered","localeCompare","browseAllLink","path","canCreate","description","actions","templateType","toggleProps","as","content","Fragment","length","map","template","id","key","withChevron","slug","footer"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport AddNewTemplate from '../add-new-template';\nimport SidebarButton from '../sidebar-button';\n\nconst TemplateItem = ( { postType, postId, ...props } ) => {\n\tconst linkInfo = useLink( {\n\t\tpostType,\n\t\tpostId,\n\t} );\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenTemplates() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tconst { records: templates, isResolving: isLoading } = useEntityRecords(\n\t\t'postType',\n\t\
|
|
1
|
+
{"version":3,"names":["__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__","useEntityRecords","decodeEntities","useViewportMatch","SidebarNavigationScreen","useLink","SidebarNavigationItem","AddNewTemplate","SidebarButton","TEMPLATE_POST_TYPE","TemplateItem","postType","postId","props","linkInfo","createElement","SidebarNavigationScreenTemplates","isMobileViewport","records","templates","isResolving","isLoading","per_page","sortedTemplates","sort","a","b","title","rendered","localeCompare","browseAllLink","path","canCreate","description","actions","templateType","toggleProps","as","content","Fragment","length","map","template","id","key","withChevron","slug","footer"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { useLink } from '../routes/link';\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport AddNewTemplate from '../add-new-template';\nimport SidebarButton from '../sidebar-button';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nconst TemplateItem = ( { postType, postId, ...props } ) => {\n\tconst linkInfo = useLink( {\n\t\tpostType,\n\t\tpostId,\n\t} );\n\treturn <SidebarNavigationItem { ...linkInfo } { ...props } />;\n};\n\nexport default function SidebarNavigationScreenTemplates() {\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\n\tconst { records: templates, isResolving: isLoading } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst sortedTemplates = templates ? [ ...templates ] : [];\n\tsortedTemplates.sort( ( a, b ) =>\n\t\ta.title.rendered.localeCompare( b.title.rendered )\n\t);\n\n\tconst browseAllLink = useLink( { path: '/wp_template/all' } );\n\tconst canCreate = ! isMobileViewport;\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tdescription={ __(\n\t\t\t\t'Express the layout of your site with templates.'\n\t\t\t) }\n\t\t\tactions={\n\t\t\t\tcanCreate && (\n\t\t\t\t\t<AddNewTemplate\n\t\t\t\t\t\ttemplateType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tas: SidebarButton,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t\tcontent={\n\t\t\t\t<>\n\t\t\t\t\t{ isLoading && __( 'Loading templates…' ) }\n\t\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t\t<ItemGroup>\n\t\t\t\t\t\t\t{ ! templates?.length && (\n\t\t\t\t\t\t\t\t<Item>{ __( 'No templates found' ) }</Item>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ sortedTemplates.map( ( template ) => (\n\t\t\t\t\t\t\t\t<TemplateItem\n\t\t\t\t\t\t\t\t\tpostType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\t\t\t\t\tpostId={ template.id }\n\t\t\t\t\t\t\t\t\tkey={ template.id }\n\t\t\t\t\t\t\t\t\twithChevron\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\t\t\ttemplate.title?.rendered ||\n\t\t\t\t\t\t\t\t\t\t\ttemplate.slug\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</TemplateItem>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t}\n\t\t\tfooter={\n\t\t\t\t! isMobileViewport && (\n\t\t\t\t\t<SidebarNavigationItem withChevron { ...browseAllLink }>\n\t\t\t\t\t\t{ __( 'Manage all templates' ) }\n\t\t\t\t\t</SidebarNavigationItem>\n\t\t\t\t)\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,uBAAuB,IAAIC,SAAS,EACpCC,kBAAkB,IAAIC,IAAI,QACpB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,OAAO,QAAQ,gBAAgB;AACxC,OAAOC,qBAAqB,MAAM,4BAA4B;AAC9D,OAAOC,cAAc,MAAM,qBAAqB;AAChD,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D,MAAMC,YAAY,GAAGA,CAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAE,GAAGC;AAAM,CAAC,KAAM;EAC1D,MAAMC,QAAQ,GAAGT,OAAO,CAAE;IACzBM,QAAQ;IACRC;EACD,CAAE,CAAC;EACH,OAAOG,aAAA,CAACT,qBAAqB;IAAA,GAAMQ,QAAQ;IAAA,GAAQD;EAAK,CAAI,CAAC;AAC9D,CAAC;AAED,eAAe,SAASG,gCAAgCA,CAAA,EAAG;EAC1D,MAAMC,gBAAgB,GAAGd,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAE1D,MAAM;IAAEe,OAAO,EAAEC,SAAS;IAAEC,WAAW,EAAEC;EAAU,CAAC,GAAGpB,gBAAgB,CACtE,UAAU,EACVQ,kBAAkB,EAClB;IACCa,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EAED,MAAMC,eAAe,GAAGJ,SAAS,GAAG,CAAE,GAAGA,SAAS,CAAE,GAAG,EAAE;EACzDI,eAAe,CAACC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAC3BD,CAAC,CAACE,KAAK,CAACC,QAAQ,CAACC,aAAa,CAAEH,CAAC,CAACC,KAAK,CAACC,QAAS,CAClD,CAAC;EAED,MAAME,aAAa,GAAGzB,OAAO,CAAE;IAAE0B,IAAI,EAAE;EAAmB,CAAE,CAAC;EAC7D,MAAMC,SAAS,GAAG,CAAEf,gBAAgB;EACpC,OACCF,aAAA,CAACX,uBAAuB;IACvBuB,KAAK,EAAG3B,EAAE,CAAE,WAAY,CAAG;IAC3BiC,WAAW,EAAGjC,EAAE,CACf,iDACD,CAAG;IACHkC,OAAO,EACNF,SAAS,IACRjB,aAAA,CAACR,cAAc;MACd4B,YAAY,EAAG1B,kBAAoB;MACnC2B,WAAW,EAAG;QACbC,EAAE,EAAE7B;MACL;IAAG,CACH,CAEF;IACD8B,OAAO,EACNvB,aAAA,CAAAwB,QAAA,QACGlB,SAAS,IAAIrB,EAAE,CAAE,oBAAqB,CAAC,EACvC,CAAEqB,SAAS,IACZN,aAAA,CAAClB,SAAS,QACP,CAAEsB,SAAS,EAAEqB,MAAM,IACpBzB,aAAA,CAAChB,IAAI,QAAGC,EAAE,CAAE,oBAAqB,CAAS,CAC1C,EACCuB,eAAe,CAACkB,GAAG,CAAIC,QAAQ,IAChC3B,aAAA,CAACL,YAAY;MACZC,QAAQ,EAAGF,kBAAoB;MAC/BG,MAAM,EAAG8B,QAAQ,CAACC,EAAI;MACtBC,GAAG,EAAGF,QAAQ,CAACC,EAAI;MACnBE,WAAW;IAAA,GAET3C,cAAc,CACfwC,QAAQ,CAACf,KAAK,EAAEC,QAAQ,IACvBc,QAAQ,CAACI,IACX,CACa,CACb,CACQ,CAEX,CACF;IACDC,MAAM,EACL,CAAE9B,gBAAgB,IACjBF,aAAA,CAACT,qBAAqB;MAACuC,WAAW;MAAA,GAAMf;IAAa,GAClD9B,EAAE,CAAE,sBAAuB,CACP;EAExB,CACD,CAAC;AAEJ"}
|
|
@@ -11,12 +11,13 @@ import { __experimentalUseNavigator as useNavigator } from '@wordpress/component
|
|
|
11
11
|
*/
|
|
12
12
|
import SidebarNavigationScreen from '../sidebar-navigation-screen';
|
|
13
13
|
import { store as editSiteStore } from '../../store';
|
|
14
|
+
import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
14
15
|
const config = {
|
|
15
|
-
|
|
16
|
+
[TEMPLATE_POST_TYPE]: {
|
|
16
17
|
title: __('All templates'),
|
|
17
18
|
description: __('Create new templates, or reset any customizations made to the templates supplied by your theme.')
|
|
18
19
|
},
|
|
19
|
-
|
|
20
|
+
[TEMPLATE_PART_POST_TYPE]: {
|
|
20
21
|
title: __('All template parts'),
|
|
21
22
|
description: __('Create new template parts, or reset any customizations made to the template parts supplied by your theme.'),
|
|
22
23
|
backPath: '/patterns'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useSelect","__experimentalUseNavigator","useNavigator","SidebarNavigationScreen","store","editSiteStore","
|
|
1
|
+
{"version":3,"names":["__","useSelect","__experimentalUseNavigator","useNavigator","SidebarNavigationScreen","store","editSiteStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","config","title","description","backPath","SidebarNavigationScreenTemplatesBrowse","params","postType","isTemplatePartsMode","select","settings","getSettings","supportsTemplatePartsMode","createElement","isRoot"],"sources":["@wordpress/edit-site/src/components/sidebar-navigation-screen-templates-browse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { __experimentalUseNavigator as useNavigator } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../utils/constants';\n\nconst config = {\n\t[ TEMPLATE_POST_TYPE ]: {\n\t\ttitle: __( 'All templates' ),\n\t\tdescription: __(\n\t\t\t'Create new templates, or reset any customizations made to the templates supplied by your theme.'\n\t\t),\n\t},\n\t[ TEMPLATE_PART_POST_TYPE ]: {\n\t\ttitle: __( 'All template parts' ),\n\t\tdescription: __(\n\t\t\t'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'\n\t\t),\n\t\tbackPath: '/patterns',\n\t},\n};\n\nexport default function SidebarNavigationScreenTemplatesBrowse() {\n\tconst {\n\t\tparams: { postType },\n\t} = useNavigator();\n\n\tconst isTemplatePartsMode = useSelect( ( select ) => {\n\t\tconst settings = select( editSiteStore ).getSettings();\n\n\t\treturn !! settings.supportsTemplatePartsMode;\n\t}, [] );\n\n\treturn (\n\t\t<SidebarNavigationScreen\n\t\t\tisRoot={ isTemplatePartsMode }\n\t\t\ttitle={ config[ postType ].title }\n\t\t\tdescription={ config[ postType ].description }\n\t\t\tbackPath={ config[ postType ].backPath }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,0BAA0B,IAAIC,YAAY,QAAQ,uBAAuB;;AAElF;AACA;AACA;AACA,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,SAASC,KAAK,IAAIC,aAAa,QAAQ,aAAa;AACpD,SACCC,kBAAkB,EAClBC,uBAAuB,QACjB,uBAAuB;AAE9B,MAAMC,MAAM,GAAG;EACd,CAAEF,kBAAkB,GAAI;IACvBG,KAAK,EAAEV,EAAE,CAAE,eAAgB,CAAC;IAC5BW,WAAW,EAAEX,EAAE,CACd,iGACD;EACD,CAAC;EACD,CAAEQ,uBAAuB,GAAI;IAC5BE,KAAK,EAAEV,EAAE,CAAE,oBAAqB,CAAC;IACjCW,WAAW,EAAEX,EAAE,CACd,2GACD,CAAC;IACDY,QAAQ,EAAE;EACX;AACD,CAAC;AAED,eAAe,SAASC,sCAAsCA,CAAA,EAAG;EAChE,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAS;EACpB,CAAC,GAAGZ,YAAY,CAAC,CAAC;EAElB,MAAMa,mBAAmB,GAAGf,SAAS,CAAIgB,MAAM,IAAM;IACpD,MAAMC,QAAQ,GAAGD,MAAM,CAAEX,aAAc,CAAC,CAACa,WAAW,CAAC,CAAC;IAEtD,OAAO,CAAC,CAAED,QAAQ,CAACE,yBAAyB;EAC7C,CAAC,EAAE,EAAG,CAAC;EAEP,OACCC,aAAA,CAACjB,uBAAuB;IACvBkB,MAAM,EAAGN,mBAAqB;IAC9BN,KAAK,EAAGD,MAAM,CAAEM,QAAQ,CAAE,CAACL,KAAO;IAClCC,WAAW,EAAGF,MAAM,CAAEM,QAAQ,CAAE,CAACJ,WAAa;IAC9CC,QAAQ,EAAGH,MAAM,CAAEM,QAAQ,CAAE,CAACH;EAAU,CACxC,CAAC;AAEJ"}
|
|
@@ -18,6 +18,7 @@ import { store as editSiteStore } from '../../store';
|
|
|
18
18
|
import { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';
|
|
19
19
|
import apiFetch from '@wordpress/api-fetch';
|
|
20
20
|
import { addQueryArgs } from '@wordpress/url';
|
|
21
|
+
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
21
22
|
function useFallbackTemplateContent(slug, isCustom = false) {
|
|
22
23
|
const [templateContent, setTemplateContent] = useState('');
|
|
23
24
|
useEffect(() => {
|
|
@@ -56,6 +57,23 @@ function useStartPatterns(fallbackContent) {
|
|
|
56
57
|
patterns: getSettings().__experimentalBlockPatterns
|
|
57
58
|
};
|
|
58
59
|
}, []);
|
|
60
|
+
const currentThemeStylesheet = useSelect(select => select(coreStore).getCurrentTheme().stylesheet);
|
|
61
|
+
|
|
62
|
+
// Duplicated from packages/block-library/src/pattern/edit.js.
|
|
63
|
+
function injectThemeAttributeInBlockTemplateContent(block) {
|
|
64
|
+
if (block.innerBlocks.find(innerBlock => innerBlock.name === 'core/template-part')) {
|
|
65
|
+
block.innerBlocks = block.innerBlocks.map(innerBlock => {
|
|
66
|
+
if (innerBlock.name === 'core/template-part' && innerBlock.attributes.theme === undefined) {
|
|
67
|
+
innerBlock.attributes.theme = currentThemeStylesheet;
|
|
68
|
+
}
|
|
69
|
+
return innerBlock;
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
if (block.name === 'core/template-part' && block.attributes.theme === undefined) {
|
|
73
|
+
block.attributes.theme = currentThemeStylesheet;
|
|
74
|
+
}
|
|
75
|
+
return block;
|
|
76
|
+
}
|
|
59
77
|
return useMemo(() => {
|
|
60
78
|
// filter patterns that are supposed to be used in the current template being edited.
|
|
61
79
|
return [{
|
|
@@ -67,7 +85,7 @@ function useStartPatterns(fallbackContent) {
|
|
|
67
85
|
}).map(pattern => {
|
|
68
86
|
return {
|
|
69
87
|
...pattern,
|
|
70
|
-
blocks: parse(pattern.content)
|
|
88
|
+
blocks: parse(pattern.content).map(block => injectThemeAttributeInBlockTemplateContent(block))
|
|
71
89
|
};
|
|
72
90
|
})];
|
|
73
91
|
}, [fallbackContent, slug, patterns]);
|
|
@@ -152,7 +170,7 @@ export default function StartTemplateOptions() {
|
|
|
152
170
|
const templateRecord = getEditedEntityRecord('postType', _postType, postId);
|
|
153
171
|
const hasEdits = hasEditsForEntityRecord('postType', _postType, postId);
|
|
154
172
|
return {
|
|
155
|
-
shouldOpenModal: !hasEdits && '' === templateRecord.content &&
|
|
173
|
+
shouldOpenModal: !hasEdits && '' === templateRecord.content && TEMPLATE_POST_TYPE === _postType && !select(preferencesStore).get('core/edit-site', 'welcomeGuide'),
|
|
156
174
|
slug: templateRecord.slug,
|
|
157
175
|
isCustom: templateRecord.is_custom,
|
|
158
176
|
postType: _postType
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","Flex","FlexItem","Button","__","useState","useEffect","useMemo","__experimentalBlockPatternsList","BlockPatternsList","store","blockEditorStore","useSelect","useAsyncList","preferencesStore","parse","editSiteStore","coreStore","useEntityBlockEditor","apiFetch","addQueryArgs","useFallbackTemplateContent","slug","isCustom","templateContent","setTemplateContent","path","is_custom","ignore_empty","then","content","raw","useStartPatterns","fallbackContent","patterns","select","getEditedPostType","getEditedPostId","getEntityRecord","postId","postType","record","getSettings","__experimentalBlockPatterns","name","blocks","title","filter","pattern","Array","isArray","templateTypes","some","templateType","startsWith","map","PatternSelection","onChoosePattern","onChange","blockPatterns","shownBlockPatterns","createElement","shownPatterns","onClickPattern","selection","undefined","StartModal","onClose","className","closeLabel","focusOnMount","onRequestClose","isFullScreen","justify","expanded","variant","onClick","START_TEMPLATE_MODAL_STATES","INITIAL","CLOSED","StartTemplateOptions","modalState","setModalState","shouldOpenModal","_postType","getEditedEntityRecord","hasEditsForEntityRecord","templateRecord","hasEdits","get"],"sources":["@wordpress/edit-site/src/components/start-template-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal, Flex, FlexItem, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\nfunction useFallbackTemplateContent( slug, isCustom = false ) {\n\tconst [ templateContent, setTemplateContent ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/templates/lookup', {\n\t\t\t\tslug,\n\t\t\t\tis_custom: isCustom,\n\t\t\t\tignore_empty: true,\n\t\t\t} ),\n\t\t} ).then( ( { content } ) => setTemplateContent( content.raw ) );\n\t}, [ isCustom, slug ] );\n\treturn templateContent;\n}\n\nfunction useStartPatterns( fallbackContent ) {\n\tconst { slug, patterns } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postId = getEditedPostId();\n\t\tconst postType = getEditedPostType();\n\t\tconst record = getEntityRecord( 'postType', postType, postId );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tslug: record.slug,\n\t\t\tpatterns: getSettings().__experimentalBlockPatterns,\n\t\t};\n\t}, [] );\n\n\treturn useMemo( () => {\n\t\t// filter patterns that are supposed to be used in the current template being edited.\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: 'fallback',\n\t\t\t\tblocks: parse( fallbackContent ),\n\t\t\t\ttitle: __( 'Fallback content' ),\n\t\t\t},\n\t\t\t...patterns\n\t\t\t\t.filter( ( pattern ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tArray.isArray( pattern.templateTypes ) &&\n\t\t\t\t\t\tpattern.templateTypes.some( ( templateType ) =>\n\t\t\t\t\t\t\tslug.startsWith( templateType )\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t\t.map( ( pattern ) => {\n\t\t\t\t\treturn { ...pattern, blocks: parse( pattern.content ) };\n\t\t\t\t} ),\n\t\t];\n\t}, [ fallbackContent, slug, patterns ] );\n}\n\nfunction PatternSelection( { fallbackContent, onChoosePattern, postType } ) {\n\tconst [ , , onChange ] = useEntityBlockEditor( 'postType', postType );\n\tconst blockPatterns = useStartPatterns( fallbackContent );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\tonChange( blocks, { selection: undefined } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartModal( { slug, isCustom, onClose, postType } ) {\n\tconst fallbackContent = useFallbackTemplateContent( slug, isCustom );\n\tif ( ! fallbackContent ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-site-start-template-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\tonRequestClose={ onClose }\n\t\t\tisFullScreen={ true }\n\t\t>\n\t\t\t<div className=\"edit-site-start-template-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tfallbackContent={ fallbackContent }\n\t\t\t\t\tslug={ slug }\n\t\t\t\t\tisCustom={ isCustom }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Flex\n\t\t\t\tclassName=\"edit-site-start-template-options__modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Skip' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nconst START_TEMPLATE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartTemplateOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_TEMPLATE_MODAL_STATES.INITIAL\n\t);\n\tconst { shouldOpenModal, slug, isCustom, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst _postType = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst { getEditedEntityRecord, hasEditsForEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst hasEdits = hasEditsForEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshouldOpenModal:\n\t\t\t\t\t! hasEdits &&\n\t\t\t\t\t'' === templateRecord.content &&\n\t\t\t\t\t'wp_template' === _postType &&\n\t\t\t\t\t! select( preferencesStore ).get(\n\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t'welcomeGuide'\n\t\t\t\t\t),\n\t\t\t\tslug: templateRecord.slug,\n\t\t\t\tisCustom: templateRecord.is_custom,\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t( modalState === START_TEMPLATE_MODAL_STATES.INITIAL &&\n\t\t\t! shouldOpenModal ) ||\n\t\tmodalState === START_TEMPLATE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StartModal\n\t\t\tslug={ slug }\n\t\t\tisCustom={ isCustom }\n\t\t\tpostType={ postType }\n\t\t\tonClose={ () =>\n\t\t\t\tsetModalState( START_TEMPLATE_MODAL_STATES.CLOSED )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["Modal","Flex","FlexItem","Button","__","useState","useEffect","useMemo","__experimentalBlockPatternsList","BlockPatternsList","store","blockEditorStore","useSelect","useAsyncList","preferencesStore","parse","editSiteStore","coreStore","useEntityBlockEditor","apiFetch","addQueryArgs","TEMPLATE_POST_TYPE","useFallbackTemplateContent","slug","isCustom","templateContent","setTemplateContent","path","is_custom","ignore_empty","then","content","raw","useStartPatterns","fallbackContent","patterns","select","getEditedPostType","getEditedPostId","getEntityRecord","postId","postType","record","getSettings","__experimentalBlockPatterns","currentThemeStylesheet","getCurrentTheme","stylesheet","injectThemeAttributeInBlockTemplateContent","block","innerBlocks","find","innerBlock","name","map","attributes","theme","undefined","blocks","title","filter","pattern","Array","isArray","templateTypes","some","templateType","startsWith","PatternSelection","onChoosePattern","onChange","blockPatterns","shownBlockPatterns","createElement","shownPatterns","onClickPattern","selection","StartModal","onClose","className","closeLabel","focusOnMount","onRequestClose","isFullScreen","justify","expanded","variant","onClick","START_TEMPLATE_MODAL_STATES","INITIAL","CLOSED","StartTemplateOptions","modalState","setModalState","shouldOpenModal","_postType","getEditedEntityRecord","hasEditsForEntityRecord","templateRecord","hasEdits","get"],"sources":["@wordpress/edit-site/src/components/start-template-options/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal, Flex, FlexItem, Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalBlockPatternsList as BlockPatternsList,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { store as coreStore, useEntityBlockEditor } from '@wordpress/core-data';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nfunction useFallbackTemplateContent( slug, isCustom = false ) {\n\tconst [ templateContent, setTemplateContent ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/templates/lookup', {\n\t\t\t\tslug,\n\t\t\t\tis_custom: isCustom,\n\t\t\t\tignore_empty: true,\n\t\t\t} ),\n\t\t} ).then( ( { content } ) => setTemplateContent( content.raw ) );\n\t}, [ isCustom, slug ] );\n\treturn templateContent;\n}\n\nfunction useStartPatterns( fallbackContent ) {\n\tconst { slug, patterns } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postId = getEditedPostId();\n\t\tconst postType = getEditedPostType();\n\t\tconst record = getEntityRecord( 'postType', postType, postId );\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tslug: record.slug,\n\t\t\tpatterns: getSettings().__experimentalBlockPatterns,\n\t\t};\n\t}, [] );\n\n\tconst currentThemeStylesheet = useSelect(\n\t\t( select ) => select( coreStore ).getCurrentTheme().stylesheet\n\t);\n\n\t// Duplicated from packages/block-library/src/pattern/edit.js.\n\tfunction injectThemeAttributeInBlockTemplateContent( block ) {\n\t\tif (\n\t\t\tblock.innerBlocks.find(\n\t\t\t\t( innerBlock ) => innerBlock.name === 'core/template-part'\n\t\t\t)\n\t\t) {\n\t\t\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\t\t\tif (\n\t\t\t\t\tinnerBlock.name === 'core/template-part' &&\n\t\t\t\t\tinnerBlock.attributes.theme === undefined\n\t\t\t\t) {\n\t\t\t\t\tinnerBlock.attributes.theme = currentThemeStylesheet;\n\t\t\t\t}\n\t\t\t\treturn innerBlock;\n\t\t\t} );\n\t\t}\n\n\t\tif (\n\t\t\tblock.name === 'core/template-part' &&\n\t\t\tblock.attributes.theme === undefined\n\t\t) {\n\t\t\tblock.attributes.theme = currentThemeStylesheet;\n\t\t}\n\t\treturn block;\n\t}\n\n\treturn useMemo( () => {\n\t\t// filter patterns that are supposed to be used in the current template being edited.\n\t\treturn [\n\t\t\t{\n\t\t\t\tname: 'fallback',\n\t\t\t\tblocks: parse( fallbackContent ),\n\t\t\t\ttitle: __( 'Fallback content' ),\n\t\t\t},\n\t\t\t...patterns\n\t\t\t\t.filter( ( pattern ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tArray.isArray( pattern.templateTypes ) &&\n\t\t\t\t\t\tpattern.templateTypes.some( ( templateType ) =>\n\t\t\t\t\t\t\tslug.startsWith( templateType )\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t} )\n\t\t\t\t.map( ( pattern ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...pattern,\n\t\t\t\t\t\tblocks: parse( pattern.content ).map( ( block ) =>\n\t\t\t\t\t\t\tinjectThemeAttributeInBlockTemplateContent( block )\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t} ),\n\t\t];\n\t}, [ fallbackContent, slug, patterns ] );\n}\n\nfunction PatternSelection( { fallbackContent, onChoosePattern, postType } ) {\n\tconst [ , , onChange ] = useEntityBlockEditor( 'postType', postType );\n\tconst blockPatterns = useStartPatterns( fallbackContent );\n\tconst shownBlockPatterns = useAsyncList( blockPatterns );\n\treturn (\n\t\t<BlockPatternsList\n\t\t\tblockPatterns={ blockPatterns }\n\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\tonChange( blocks, { selection: undefined } );\n\t\t\t\tonChoosePattern();\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nfunction StartModal( { slug, isCustom, onClose, postType } ) {\n\tconst fallbackContent = useFallbackTemplateContent( slug, isCustom );\n\tif ( ! fallbackContent ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"edit-site-start-template-options__modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tfocusOnMount=\"firstElement\"\n\t\t\tonRequestClose={ onClose }\n\t\t\tisFullScreen={ true }\n\t\t>\n\t\t\t<div className=\"edit-site-start-template-options__modal-content\">\n\t\t\t\t<PatternSelection\n\t\t\t\t\tfallbackContent={ fallbackContent }\n\t\t\t\t\tslug={ slug }\n\t\t\t\t\tisCustom={ isCustom }\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tonChoosePattern={ () => {\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<Flex\n\t\t\t\tclassName=\"edit-site-start-template-options__modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Skip' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nconst START_TEMPLATE_MODAL_STATES = {\n\tINITIAL: 'INITIAL',\n\tCLOSED: 'CLOSED',\n};\n\nexport default function StartTemplateOptions() {\n\tconst [ modalState, setModalState ] = useState(\n\t\tSTART_TEMPLATE_MODAL_STATES.INITIAL\n\t);\n\tconst { shouldOpenModal, slug, isCustom, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst _postType = getEditedPostType();\n\t\t\tconst postId = getEditedPostId();\n\t\t\tconst { getEditedEntityRecord, hasEditsForEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst templateRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\tconst hasEdits = hasEditsForEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t_postType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tshouldOpenModal:\n\t\t\t\t\t! hasEdits &&\n\t\t\t\t\t'' === templateRecord.content &&\n\t\t\t\t\tTEMPLATE_POST_TYPE === _postType &&\n\t\t\t\t\t! select( preferencesStore ).get(\n\t\t\t\t\t\t'core/edit-site',\n\t\t\t\t\t\t'welcomeGuide'\n\t\t\t\t\t),\n\t\t\t\tslug: templateRecord.slug,\n\t\t\t\tisCustom: templateRecord.is_custom,\n\t\t\t\tpostType: _postType,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif (\n\t\t( modalState === START_TEMPLATE_MODAL_STATES.INITIAL &&\n\t\t\t! shouldOpenModal ) ||\n\t\tmodalState === START_TEMPLATE_MODAL_STATES.CLOSED\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<StartModal\n\t\t\tslug={ slug }\n\t\t\tisCustom={ isCustom }\n\t\t\tpostType={ postType }\n\t\t\tonClose={ () =>\n\t\t\t\tsetModalState( START_TEMPLATE_MODAL_STATES.CLOSED )\n\t\t\t}\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
11
11
|
*/
|
|
12
12
|
import { store as editSiteStore } from '../../store';
|
|
13
13
|
import { unlock } from '../../lock-unlock';
|
|
14
|
+
import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, NAVIGATION_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';
|
|
14
15
|
const {
|
|
15
16
|
useLocation
|
|
16
17
|
} = unlock(routerPrivateApis);
|
|
@@ -48,16 +49,16 @@ export default function useInitEditedEntityFromURL() {
|
|
|
48
49
|
useEffect(() => {
|
|
49
50
|
if (postType && postId) {
|
|
50
51
|
switch (postType) {
|
|
51
|
-
case
|
|
52
|
+
case TEMPLATE_POST_TYPE:
|
|
52
53
|
setTemplate(postId);
|
|
53
54
|
break;
|
|
54
|
-
case
|
|
55
|
+
case TEMPLATE_PART_POST_TYPE:
|
|
55
56
|
setTemplatePart(postId);
|
|
56
57
|
break;
|
|
57
|
-
case
|
|
58
|
+
case NAVIGATION_POST_TYPE:
|
|
58
59
|
setNavigationMenu(postId);
|
|
59
60
|
break;
|
|
60
|
-
case
|
|
61
|
+
case PATTERN_TYPES.user:
|
|
61
62
|
setEditedEntity(postType, postId);
|
|
62
63
|
break;
|
|
63
64
|
default:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useEffect","useSelect","useDispatch","store","coreDataStore","privateApis","routerPrivateApis","editSiteStore","unlock","useLocation","useInitEditedEntityFromURL","params","postId","postType","isRequestingSite","homepageId","url","select","getSite","getUnstableBase","siteData","base","show_on_front","page_on_front","home","setEditedEntity","setTemplate","setTemplatePart","setPage","setNavigationMenu","context","path"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params: { postId, postType } = {} } = useLocation();\n\tconst { isRequestingSite, homepageId, url } = useSelect( ( select ) => {\n\t\tconst { getSite, getUnstableBase } = select( coreDataStore );\n\t\tconst siteData = getSite();\n\t\tconst base = getUnstableBase();\n\n\t\treturn {\n\t\t\tisRequestingSite: ! base,\n\t\t\thomepageId:\n\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t? siteData.page_on_front\n\t\t\t\t\t: null,\n\t\t\turl: base?.home,\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\tsetEditedEntity,\n\t\tsetTemplate,\n\t\tsetTemplatePart,\n\t\tsetPage,\n\t\tsetNavigationMenu,\n\t} = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( postType && postId ) {\n\t\t\tswitch ( postType ) {\n\t\t\t\tcase
|
|
1
|
+
{"version":3,"names":["useEffect","useSelect","useDispatch","store","coreDataStore","privateApis","routerPrivateApis","editSiteStore","unlock","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","NAVIGATION_POST_TYPE","PATTERN_TYPES","useLocation","useInitEditedEntityFromURL","params","postId","postType","isRequestingSite","homepageId","url","select","getSite","getUnstableBase","siteData","base","show_on_front","page_on_front","home","setEditedEntity","setTemplate","setTemplatePart","setPage","setNavigationMenu","user","context","path"],"sources":["@wordpress/edit-site/src/components/sync-state-with-url/use-init-edited-entity-from-url.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES,\n} from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function useInitEditedEntityFromURL() {\n\tconst { params: { postId, postType } = {} } = useLocation();\n\tconst { isRequestingSite, homepageId, url } = useSelect( ( select ) => {\n\t\tconst { getSite, getUnstableBase } = select( coreDataStore );\n\t\tconst siteData = getSite();\n\t\tconst base = getUnstableBase();\n\n\t\treturn {\n\t\t\tisRequestingSite: ! base,\n\t\t\thomepageId:\n\t\t\t\tsiteData?.show_on_front === 'page'\n\t\t\t\t\t? siteData.page_on_front\n\t\t\t\t\t: null,\n\t\t\turl: base?.home,\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\tsetEditedEntity,\n\t\tsetTemplate,\n\t\tsetTemplatePart,\n\t\tsetPage,\n\t\tsetNavigationMenu,\n\t} = useDispatch( editSiteStore );\n\n\tuseEffect( () => {\n\t\tif ( postType && postId ) {\n\t\t\tswitch ( postType ) {\n\t\t\t\tcase TEMPLATE_POST_TYPE:\n\t\t\t\t\tsetTemplate( postId );\n\t\t\t\t\tbreak;\n\t\t\t\tcase TEMPLATE_PART_POST_TYPE:\n\t\t\t\t\tsetTemplatePart( postId );\n\t\t\t\t\tbreak;\n\t\t\t\tcase NAVIGATION_POST_TYPE:\n\t\t\t\t\tsetNavigationMenu( postId );\n\t\t\t\t\tbreak;\n\t\t\t\tcase PATTERN_TYPES.user:\n\t\t\t\t\tsetEditedEntity( postType, postId );\n\t\t\t\t\tbreak;\n\t\t\t\tdefault:\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn;\n\t\t}\n\n\t\t// In all other cases, we need to set the home page in the site editor view.\n\t\tif ( homepageId ) {\n\t\t\tsetPage( {\n\t\t\t\tcontext: { postType: 'page', postId: homepageId },\n\t\t\t} );\n\t\t} else if ( ! isRequestingSite ) {\n\t\t\tsetPage( {\n\t\t\t\tpath: url,\n\t\t\t} );\n\t\t}\n\t}, [\n\t\turl,\n\t\tpostId,\n\t\tpostType,\n\t\thomepageId,\n\t\tisRequestingSite,\n\t\tsetEditedEntity,\n\t\tsetPage,\n\t\tsetTemplate,\n\t\tsetTemplatePart,\n\t\tsetNavigationMenu,\n\t] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,oBAAoB;AAC9C,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,aAAa,QAAQ,sBAAsB;AAC7D,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASH,KAAK,IAAII,aAAa,QAAQ,aAAa;AACpD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SACCC,kBAAkB,EAClBC,uBAAuB,EACvBC,oBAAoB,EACpBC,aAAa,QACP,uBAAuB;AAE9B,MAAM;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEF,iBAAkB,CAAC;AAEnD,eAAe,SAASQ,0BAA0BA,CAAA,EAAG;EACpD,MAAM;IAAEC,MAAM,EAAE;MAAEC,MAAM;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAGJ,WAAW,CAAC,CAAC;EAC3D,MAAM;IAAEK,gBAAgB;IAAEC,UAAU;IAAEC;EAAI,CAAC,GAAGnB,SAAS,CAAIoB,MAAM,IAAM;IACtE,MAAM;MAAEC,OAAO;MAAEC;IAAgB,CAAC,GAAGF,MAAM,CAAEjB,aAAc,CAAC;IAC5D,MAAMoB,QAAQ,GAAGF,OAAO,CAAC,CAAC;IAC1B,MAAMG,IAAI,GAAGF,eAAe,CAAC,CAAC;IAE9B,OAAO;MACNL,gBAAgB,EAAE,CAAEO,IAAI;MACxBN,UAAU,EACTK,QAAQ,EAAEE,aAAa,KAAK,MAAM,GAC/BF,QAAQ,CAACG,aAAa,GACtB,IAAI;MACRP,GAAG,EAAEK,IAAI,EAAEG;IACZ,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IACLC,eAAe;IACfC,WAAW;IACXC,eAAe;IACfC,OAAO;IACPC;EACD,CAAC,GAAG/B,WAAW,CAAEK,aAAc,CAAC;EAEhCP,SAAS,CAAE,MAAM;IAChB,IAAKiB,QAAQ,IAAID,MAAM,EAAG;MACzB,QAASC,QAAQ;QAChB,KAAKR,kBAAkB;UACtBqB,WAAW,CAAEd,MAAO,CAAC;UACrB;QACD,KAAKN,uBAAuB;UAC3BqB,eAAe,CAAEf,MAAO,CAAC;UACzB;QACD,KAAKL,oBAAoB;UACxBsB,iBAAiB,CAAEjB,MAAO,CAAC;UAC3B;QACD,KAAKJ,aAAa,CAACsB,IAAI;UACtBL,eAAe,CAAEZ,QAAQ,EAAED,MAAO,CAAC;UACnC;QACD;UACCgB,OAAO,CAAE;YACRG,OAAO,EAAE;cAAElB,QAAQ;cAAED;YAAO;UAC7B,CAAE,CAAC;MACL;MAEA;IACD;;IAEA;IACA,IAAKG,UAAU,EAAG;MACjBa,OAAO,CAAE;QACRG,OAAO,EAAE;UAAElB,QAAQ,EAAE,MAAM;UAAED,MAAM,EAAEG;QAAW;MACjD,CAAE,CAAC;IACJ,CAAC,MAAM,IAAK,CAAED,gBAAgB,EAAG;MAChCc,OAAO,CAAE;QACRI,IAAI,EAAEhB;MACP,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CACFA,GAAG,EACHJ,MAAM,EACNC,QAAQ,EACRE,UAAU,EACVD,gBAAgB,EAChBW,eAAe,EACfG,OAAO,EACPF,WAAW,EACXC,eAAe,EACfE,iBAAiB,CAChB,CAAC;AACJ"}
|
|
@@ -9,6 +9,7 @@ import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
import { unlock } from '../../lock-unlock';
|
|
12
|
+
import { TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_TYPES } from '../../utils/constants';
|
|
12
13
|
const {
|
|
13
14
|
useLocation,
|
|
14
15
|
useHistory
|
|
@@ -20,9 +21,9 @@ export function getPathFromURL(urlParams) {
|
|
|
20
21
|
// Compute the navigator path based on the URL params.
|
|
21
22
|
if (urlParams?.postType && urlParams?.postId) {
|
|
22
23
|
switch (urlParams.postType) {
|
|
23
|
-
case
|
|
24
|
-
case
|
|
25
|
-
case
|
|
24
|
+
case PATTERN_TYPES.user:
|
|
25
|
+
case TEMPLATE_POST_TYPE:
|
|
26
|
+
case TEMPLATE_PART_POST_TYPE:
|
|
26
27
|
case 'page':
|
|
27
28
|
path = `/${encodeURIComponent(urlParams.postType)}/${encodeURIComponent(urlParams.postId)}`;
|
|
28
29
|
break;
|