@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/add-new-pattern/index.js +65 -4
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/index.js +3 -2
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +6 -1
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +6 -1
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +2 -7
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/back-button.js +3 -2
- package/build/components/block-editor/back-button.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/editor-canvas.js +20 -16
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- 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 +2 -4
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +8 -4
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/canvas-loader/index.js +18 -1
- package/build/components/canvas-loader/index.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 +7 -9
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +5 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +68 -0
- package/build/components/global-styles/font-families.js.map +1 -0
- package/build/components/global-styles/font-family-item.js +47 -0
- package/build/components/global-styles/font-family-item.js.map +1 -0
- 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/confirm-delete-dialog.js +31 -0
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +309 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-card.js +61 -0
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
- 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 +86 -0
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
- package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- 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 +65 -0
- package/build/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js +39 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js +44 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/resolvers.js +53 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js +31 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- 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/get-intersecting-font-faces.js +58 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +155 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- 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/font-library-modal/utils/toggleFont.js +92 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build/components/global-styles/global-styles-provider.js +7 -12
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/screen-block.js +34 -21
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +1 -3
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +4 -72
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +3 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typogrphy-elements.js +96 -0
- package/build/components/global-styles/typogrphy-elements.js.map +1 -0
- 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 +56 -20
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +48 -22
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/header.js +3 -7
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +3 -3
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +7 -7
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +6 -5
- package/build/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build/components/page-patterns/search-items.js +8 -2
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +71 -51
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-patterns/utils.js +1 -20
- package/build/components/page-patterns/utils.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 +53 -26
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +65 -0
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- 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/index.js +11 -9
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +218 -0
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +6 -4
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
- package/build/components/sidebar-navigation-screen-global-styles/index.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/index.js +3 -3
- package/build/components/sidebar-navigation-screen-page/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 +20 -9
- 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 +41 -11
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +9 -37
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +44 -5
- 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-patterns/use-theme-patterns.js +2 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.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-template/index.js +2 -2
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +5 -4
- 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 +8 -4
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +9 -3
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/welcome-guide/styles.js +2 -2
- package/build/components/welcome-guide/styles.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/push-changes-to-global-styles/index.js +5 -37
- package/build/hooks/push-changes-to-global-styles/index.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 +38 -14
- 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 +64 -2
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +6 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +6 -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 +69 -8
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/index.js +3 -2
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +6 -1
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +6 -1
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +2 -7
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +3 -2
- package/build-module/components/block-editor/back-button.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/editor-canvas.js +21 -17
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- 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 +5 -7
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/canvas-loader/index.js +18 -1
- package/build-module/components/canvas-loader/index.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 +7 -9
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +58 -0
- package/build-module/components/global-styles/font-families.js.map +1 -0
- package/build-module/components/global-styles/font-family-item.js +40 -0
- package/build-module/components/global-styles/font-family-item.js.map +1 -0
- 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/confirm-delete-dialog.js +23 -0
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +300 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js +52 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
- 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 +79 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- 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 +57 -0
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +31 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +35 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js +42 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +21 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- 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/get-intersecting-font-faces.js +52 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +141 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- 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/font-library-modal/utils/toggleFont.js +86 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build-module/components/global-styles/global-styles-provider.js +7 -12
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +34 -21
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +1 -3
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -74
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +3 -5
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typogrphy-elements.js +87 -0
- package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
- 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 +55 -20
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +49 -23
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/header.js +3 -7
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +3 -3
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +7 -7
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +6 -5
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +8 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +71 -52
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-patterns/utils.js +0 -11
- package/build-module/components/page-patterns/utils.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 +54 -29
- 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 +55 -0
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- 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/index.js +12 -10
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +209 -0
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +6 -4
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
- package/build-module/components/sidebar-navigation-screen-global-styles/index.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/index.js +3 -3
- package/build-module/components/sidebar-navigation-screen-page/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 +21 -10
- 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 +41 -11
- 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 +12 -40
- 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 +44 -5
- 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-patterns/use-theme-patterns.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.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-template/index.js +2 -2
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -4
- 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 +8 -4
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +9 -3
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +2 -2
- package/build-module/components/welcome-guide/styles.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/push-changes-to-global-styles/index.js +5 -37
- package/build-module/hooks/push-changes-to-global-styles/index.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 +39 -16
- 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 +51 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +6 -1
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +6 -1
- 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 +267 -37
- package/build-style/style.css +267 -37
- package/lib/inflate.js +4082 -0
- package/lib/lib-font.browser.js +3831 -0
- package/lib/unbrotli.js +2679 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +86 -8
- package/src/components/add-new-template/index.js +3 -2
- package/src/components/add-new-template/new-template.js +6 -1
- package/src/components/add-new-template/utils.js +12 -3
- package/src/components/app/index.js +9 -12
- package/src/components/block-editor/back-button.js +6 -2
- 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/editor-canvas.js +31 -19
- package/src/components/block-editor/index.js +1 -14
- package/src/components/block-editor/site-editor-canvas.js +7 -12
- package/src/components/block-editor/style.scss +88 -1
- package/src/components/block-editor/use-site-editor-settings.js +26 -19
- package/src/components/canvas-loader/index.js +12 -1
- package/src/components/canvas-loader/style.scss +1 -1
- package/src/components/create-template-part-modal/index.js +11 -12
- package/src/components/editor/index.js +9 -10
- package/src/components/global-styles/dimensions-panel.js +8 -4
- package/src/components/global-styles/font-families.js +71 -0
- package/src/components/global-styles/font-family-item.js +44 -0
- 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/confirm-delete-dialog.js +33 -0
- package/src/components/global-styles/font-library-modal/context.js +378 -0
- package/src/components/global-styles/font-library-modal/font-card.js +75 -0
- package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +83 -0
- package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
- package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
- 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 +67 -0
- package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
- package/src/components/global-styles/font-library-modal/library-font-card.js +33 -0
- package/src/components/global-styles/font-library-modal/library-font-details.js +45 -0
- package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
- package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
- package/src/components/global-styles/font-library-modal/resolvers.js +45 -0
- package/src/components/global-styles/font-library-modal/style.scss +139 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
- package/src/components/global-styles/font-library-modal/utils/constants.js +23 -0
- 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/get-intersecting-font-faces.js +58 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +153 -0
- package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
- 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/getDisplaySrcFromFontFace.spec.js +53 -0
- package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
- package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
- package/src/components/global-styles/font-library-modal/utils/test/preview-styles.spec.js +161 -0
- package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
- package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
- package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
- package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
- package/src/components/global-styles/global-styles-provider.js +2 -7
- package/src/components/global-styles/screen-block.js +42 -20
- package/src/components/global-styles/screen-revisions/index.js +0 -2
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/src/components/global-styles/screen-typography.js +9 -95
- package/src/components/global-styles/style-variations-container.js +0 -2
- package/src/components/global-styles/typogrphy-elements.js +110 -0
- 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/list/style.scss +2 -0
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
- package/src/components/page-patterns/duplicate-menu-item.js +67 -24
- package/src/components/page-patterns/grid-item.js +80 -33
- package/src/components/page-patterns/header.js +3 -12
- package/src/components/page-patterns/index.js +3 -3
- package/src/components/page-patterns/patterns-list.js +7 -7
- package/src/components/page-patterns/rename-menu-item.js +18 -7
- package/src/components/page-patterns/search-items.js +20 -2
- package/src/components/page-patterns/style.scss +1 -5
- package/src/components/page-patterns/use-patterns.js +217 -127
- package/src/components/page-patterns/utils.js +0 -19
- 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 +94 -52
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +88 -0
- package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
- package/src/components/sidebar-edit-mode/page-panels/style.scss +46 -9
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
- package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
- package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
- package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +277 -0
- package/src/components/sidebar-navigation-screen/index.js +4 -9
- package/src/components/sidebar-navigation-screen/style.scss +7 -1
- package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
- package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
- 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-navigation-menus/style.scss +0 -4
- package/src/components/sidebar-navigation-screen-page/index.js +3 -3
- 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 +22 -8
- package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
- 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 +63 -20
- package/src/components/sidebar-navigation-screen-patterns/index.js +20 -51
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +61 -6
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/src/components/sidebar-navigation-screen-template/index.js +2 -4
- package/src/components/sidebar-navigation-screen-templates/index.js +5 -4
- 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 +15 -8
- package/src/components/template-actions/rename-menu-item.js +21 -5
- package/src/components/welcome-guide/styles.js +2 -2
- package/src/hooks/commands/use-edit-mode-commands.js +4 -3
- package/src/hooks/navigation-menu-edit.js +2 -1
- package/src/hooks/push-changes-to-global-styles/index.js +6 -49
- package/src/hooks/template-part-edit.js +2 -1
- package/src/store/actions.js +56 -22
- 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/style.scss +1 -1
- package/src/utils/constants.js +54 -3
- package/src/utils/is-template-removable.js +8 -1
- package/src/utils/is-template-revertable.js +8 -1
- 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/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.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/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.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
- package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
|
@@ -16,10 +16,11 @@ import Link from '../routes/link';
|
|
|
16
16
|
import AddedBy from '../list/added-by';
|
|
17
17
|
import TemplateActions from '../template-actions';
|
|
18
18
|
import AddNewTemplatePart from './add-new-template-part';
|
|
19
|
+
import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
19
20
|
export default function PageTemplateParts() {
|
|
20
21
|
const {
|
|
21
22
|
records: templateParts
|
|
22
|
-
} = useEntityRecords('postType',
|
|
23
|
+
} = useEntityRecords('postType', TEMPLATE_PART_POST_TYPE, {
|
|
23
24
|
per_page: -1
|
|
24
25
|
});
|
|
25
26
|
const columns = [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","createElement","as","level","params","postId","id","postType","type","state","backPath","title","rendered","slug","maxWidth","actions","data"],"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\n\nexport default function PageTemplateParts() {\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\
|
|
1
|
+
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","TEMPLATE_PART_POST_TYPE","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","createElement","as","level","params","postId","id","postType","type","state","backPath","title","rendered","slug","maxWidth","actions","data"],"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\n\nexport default function PageTemplateParts() {\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_PART_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ { backPath: '/wp_template_part/all' } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,cAAc,EACdC,qBAAqB,IAAIC,OAAO,EAChCC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,IAAI,MAAM,gBAAgB;AACjC,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,SAASC,uBAAuB,QAAQ,uBAAuB;AAE/D,eAAe,SAASC,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IAAEC,OAAO,EAAEC;EAAc,CAAC,GAAGX,gBAAgB,CAClD,UAAU,EACVQ,uBAAuB,EACvB;IACCI,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EAED,MAAMC,OAAO,GAAG,CACf;IACCC,MAAM,EAAEf,EAAE,CAAE,eAAgB,CAAC;IAC7BgB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAACnB,MAAM,QACNmB,aAAA,CAACrB,OAAO;MAACsB,EAAE,EAAC,IAAI;MAACC,KAAK,EAAG;IAAG,GAC3BF,aAAA,CAACb,IAAI;MACJgB,MAAM,EAAG;QACRC,MAAM,EAAEL,YAAY,CAACM,EAAE;QACvBC,QAAQ,EAAEP,YAAY,CAACQ;MACxB,CAAG;MACHC,KAAK,EAAG;QAAEC,QAAQ,EAAE;MAAwB;IAAG,GAE7CzB,cAAc,CACfe,YAAY,CAACW,KAAK,EAAEC,QAAQ,IAC3BZ,YAAY,CAACa,IACf,CACK,CACE,CACF,CACR;IACDC,QAAQ,EAAE;EACX,CAAC,EACD;IACChB,MAAM,EAAEf,EAAE,CAAE,UAAW,CAAC;IACxBgB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAACZ,OAAO;MACPkB,QAAQ,EAAGP,YAAY,CAACQ,IAAM;MAC9BH,MAAM,EAAGL,YAAY,CAACM;IAAI,CAC1B;EAEH,CAAC,EACD;IACCR,MAAM,EAAEG,aAAA,CAACvB,cAAc,QAAGK,EAAE,CAAE,SAAU,CAAmB,CAAC;IAC5DgB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAACX,eAAe;MACfiB,QAAQ,EAAGP,YAAY,CAACQ,IAAM;MAC9BH,MAAM,EAAGL,YAAY,CAACM;IAAI,CAC1B;EAEH,CAAC,CACD;EAED,OACCL,aAAA,CAACf,IAAI;IACJyB,KAAK,EAAG5B,EAAE,CAAE,gBAAiB,CAAG;IAChCgC,OAAO,EAAGd,aAAA,CAACV,kBAAkB,MAAE;EAAG,GAEhCI,aAAa,IACdM,aAAA,CAACd,KAAK;IAAC6B,IAAI,EAAGrB,aAAe;IAACE,OAAO,EAAGA;EAAS,CAAE,CAE/C,CAAC;AAET"}
|
|
@@ -16,10 +16,11 @@ import Link from '../routes/link';
|
|
|
16
16
|
import AddedBy from '../list/added-by';
|
|
17
17
|
import TemplateActions from '../template-actions';
|
|
18
18
|
import AddNewTemplate from '../add-new-template';
|
|
19
|
+
import { TEMPLATE_POST_TYPE } from '../../utils/constants';
|
|
19
20
|
export default function PageTemplates() {
|
|
20
21
|
const {
|
|
21
22
|
records: templates
|
|
22
|
-
} = useEntityRecords('postType',
|
|
23
|
+
} = useEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
23
24
|
per_page: -1
|
|
24
25
|
});
|
|
25
26
|
const columns = [{
|
|
@@ -53,7 +54,7 @@ export default function PageTemplates() {
|
|
|
53
54
|
return createElement(Page, {
|
|
54
55
|
title: __('Templates'),
|
|
55
56
|
actions: createElement(AddNewTemplate, {
|
|
56
|
-
templateType:
|
|
57
|
+
templateType: TEMPLATE_POST_TYPE,
|
|
57
58
|
showIcon: false,
|
|
58
59
|
toggleProps: {
|
|
59
60
|
variant: 'primary'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplate","PageTemplates","records","templates","per_page","columns","header","cell","template","createElement","as","level","params","postId","id","postType","type","canvas","title","rendered","slug","description","variant","maxWidth","actions","templateType","showIcon","toggleProps","data"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplate from '../add-new-template';\n\nexport default function PageTemplates() {\n\tconst { records: templates } = useEntityRecords(\n\t\t'postType',\n\t\
|
|
1
|
+
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalText","Text","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplate","TEMPLATE_POST_TYPE","PageTemplates","records","templates","per_page","columns","header","cell","template","createElement","as","level","params","postId","id","postType","type","canvas","title","rendered","slug","description","variant","maxWidth","actions","templateType","showIcon","toggleProps","data"],"sources":["@wordpress/edit-site/src/components/page-templates/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplate from '../add-new-template';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nexport default function PageTemplates() {\n\tconst { records: templates } = 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 columns = [\n\t\t{\n\t\t\theader: __( 'Template' ),\n\t\t\tcell: ( template ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: template.id,\n\t\t\t\t\t\t\t\tpostType: template.type,\n\t\t\t\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplate.title?.rendered || template.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t\t{ template.description && (\n\t\t\t\t\t\t<Text variant=\"muted\">\n\t\t\t\t\t\t\t{ decodeEntities( template.description ) }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( template ) => (\n\t\t\t\t<AddedBy postType={ template.type } postId={ template.id } />\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( template ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ template.type }\n\t\t\t\t\tpostId={ template.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Templates' ) }\n\t\t\tactions={\n\t\t\t\t<AddNewTemplate\n\t\t\t\t\ttemplateType={ TEMPLATE_POST_TYPE }\n\t\t\t\t\tshowIcon={ false }\n\t\t\t\t\ttoggleProps={ { variant: 'primary' } }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t{ templates && <Table data={ templates } columns={ columns } /> }\n\t\t</Page>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,cAAc,EACdC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,IAAI,MAAM,gBAAgB;AACjC,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,cAAc,MAAM,qBAAqB;AAChD,SAASC,kBAAkB,QAAQ,uBAAuB;AAE1D,eAAe,SAASC,aAAaA,CAAA,EAAG;EACvC,MAAM;IAAEC,OAAO,EAAEC;EAAU,CAAC,GAAGX,gBAAgB,CAC9C,UAAU,EACVQ,kBAAkB,EAClB;IACCI,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EAED,MAAMC,OAAO,GAAG,CACf;IACCC,MAAM,EAAEf,EAAE,CAAE,UAAW,CAAC;IACxBgB,IAAI,EAAIC,QAAQ,IACfC,aAAA,CAACnB,MAAM,QACNmB,aAAA,CAACvB,OAAO;MAACwB,EAAE,EAAC,IAAI;MAACC,KAAK,EAAG;IAAG,GAC3BF,aAAA,CAACb,IAAI;MACJgB,MAAM,EAAG;QACRC,MAAM,EAAEL,QAAQ,CAACM,EAAE;QACnBC,QAAQ,EAAEP,QAAQ,CAACQ,IAAI;QACvBC,MAAM,EAAE;MACT;IAAG,GAEDxB,cAAc,CACfe,QAAQ,CAACU,KAAK,EAAEC,QAAQ,IAAIX,QAAQ,CAACY,IACtC,CACK,CACE,CAAC,EACRZ,QAAQ,CAACa,WAAW,IACrBZ,aAAA,CAACrB,IAAI;MAACkC,OAAO,EAAC;IAAO,GAClB7B,cAAc,CAAEe,QAAQ,CAACa,WAAY,CAClC,CAEA,CACR;IACDE,QAAQ,EAAE;EACX,CAAC,EACD;IACCjB,MAAM,EAAEf,EAAE,CAAE,UAAW,CAAC;IACxBgB,IAAI,EAAIC,QAAQ,IACfC,aAAA,CAACZ,OAAO;MAACkB,QAAQ,EAAGP,QAAQ,CAACQ,IAAM;MAACH,MAAM,EAAGL,QAAQ,CAACM;IAAI,CAAE;EAE9D,CAAC,EACD;IACCR,MAAM,EAAEG,aAAA,CAACzB,cAAc,QAAGO,EAAE,CAAE,SAAU,CAAmB,CAAC;IAC5DgB,IAAI,EAAIC,QAAQ,IACfC,aAAA,CAACX,eAAe;MACfiB,QAAQ,EAAGP,QAAQ,CAACQ,IAAM;MAC1BH,MAAM,EAAGL,QAAQ,CAACM;IAAI,CACtB;EAEH,CAAC,CACD;EAED,OACCL,aAAA,CAACf,IAAI;IACJwB,KAAK,EAAG3B,EAAE,CAAE,WAAY,CAAG;IAC3BiC,OAAO,EACNf,aAAA,CAACV,cAAc;MACd0B,YAAY,EAAGzB,kBAAoB;MACnC0B,QAAQ,EAAG,KAAO;MAClBC,WAAW,EAAG;QAAEL,OAAO,EAAE;MAAU;IAAG,CACtC;EACD,GAECnB,SAAS,IAAIM,aAAA,CAACd,KAAK;IAACiC,IAAI,EAAGzB,SAAW;IAACE,OAAO,EAAGA;EAAS,CAAE,CACzD,CAAC;AAET"}
|
|
@@ -17,12 +17,13 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
17
17
|
import SaveButton from '../save-button';
|
|
18
18
|
import { isPreviewingTheme } from '../../utils/is-previewing-theme';
|
|
19
19
|
import { unlock } from '../../lock-unlock';
|
|
20
|
+
import { NAVIGATION_POST_TYPE } from '../../utils/constants';
|
|
20
21
|
const {
|
|
21
22
|
useLocation
|
|
22
23
|
} = unlock(routerPrivateApis);
|
|
23
24
|
const PUBLISH_ON_SAVE_ENTITIES = [{
|
|
24
25
|
kind: 'postType',
|
|
25
|
-
name:
|
|
26
|
+
name: NAVIGATION_POST_TYPE
|
|
26
27
|
}];
|
|
27
28
|
export default function SaveHub() {
|
|
28
29
|
const saveNoticeId = 'site-edit-save-notice';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","saveCurrentEntity","property","undefined","typeToPublish","status","type","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","NAVIGATION_POST_TYPE","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","saveCurrentEntity","property","undefined","typeToPublish","status","type","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -4,9 +4,9 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
*/
|
|
5
5
|
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
6
6
|
import { Button } from '@wordpress/components';
|
|
7
|
-
import { useFocusOnMount,
|
|
7
|
+
import { useFocusOnMount, useMergeRefs } from '@wordpress/compose';
|
|
8
8
|
import { useDispatch } from '@wordpress/data';
|
|
9
|
-
import { useRef, useState } from '@wordpress/element';
|
|
9
|
+
import { useCallback, useRef, useState } from '@wordpress/element';
|
|
10
10
|
import { __ } from '@wordpress/i18n';
|
|
11
11
|
import { closeSmall } from '@wordpress/icons';
|
|
12
12
|
import { ESCAPE } from '@wordpress/keycodes';
|
|
@@ -21,21 +21,27 @@ import { unlock } from '../../lock-unlock';
|
|
|
21
21
|
const {
|
|
22
22
|
PrivateListView
|
|
23
23
|
} = unlock(blockEditorPrivateApis);
|
|
24
|
-
export default function ListViewSidebar(
|
|
24
|
+
export default function ListViewSidebar({
|
|
25
|
+
listViewToggleElement
|
|
26
|
+
}) {
|
|
25
27
|
const {
|
|
26
28
|
setIsListViewOpened
|
|
27
29
|
} = useDispatch(editSiteStore);
|
|
28
30
|
|
|
29
31
|
// This hook handles focus when the sidebar first renders.
|
|
30
32
|
const focusOnMountRef = useFocusOnMount('firstElement');
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
const
|
|
34
|
-
|
|
33
|
+
|
|
34
|
+
// When closing the list view, focus should return to the toggle button.
|
|
35
|
+
const closeListView = useCallback(() => {
|
|
36
|
+
setIsListViewOpened(false);
|
|
37
|
+
listViewToggleElement?.focus();
|
|
38
|
+
}, [listViewToggleElement, setIsListViewOpened]);
|
|
39
|
+
const closeOnEscape = useCallback(event => {
|
|
35
40
|
if (event.keyCode === ESCAPE && !event.defaultPrevented) {
|
|
36
|
-
|
|
41
|
+
event.preventDefault();
|
|
42
|
+
closeListView();
|
|
37
43
|
}
|
|
38
|
-
}
|
|
44
|
+
}, [closeListView]);
|
|
39
45
|
|
|
40
46
|
// Use internal state instead of a ref to make sure that the component
|
|
41
47
|
// re-renders when the dropZoneElement updates.
|
|
@@ -59,17 +65,19 @@ export default function ListViewSidebar() {
|
|
|
59
65
|
const listViewFocusArea = sidebarRef.current.contains(listViewApplicationFocus) ? listViewApplicationFocus : sidebarCloseButtonRef.current;
|
|
60
66
|
listViewFocusArea.focus();
|
|
61
67
|
}
|
|
62
|
-
|
|
63
|
-
// This only fires when the sidebar is open because of the conditional rendering. It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.
|
|
64
|
-
useShortcut('core/edit-site/toggle-list-view', () => {
|
|
68
|
+
const handleToggleListViewShortcut = useCallback(() => {
|
|
65
69
|
// If the sidebar has focus, it is safe to close.
|
|
66
70
|
if (sidebarRef.current.contains(sidebarRef.current.ownerDocument.activeElement)) {
|
|
67
|
-
|
|
68
|
-
// If the list view or close button does not have focus, focus should be moved to it.
|
|
71
|
+
closeListView();
|
|
69
72
|
} else {
|
|
73
|
+
// If the list view or close button does not have focus, focus should be moved to it.
|
|
70
74
|
handleSidebarFocus();
|
|
71
75
|
}
|
|
72
|
-
});
|
|
76
|
+
}, [closeListView]);
|
|
77
|
+
|
|
78
|
+
// This only fires when the sidebar is open because of the conditional rendering.
|
|
79
|
+
// It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.
|
|
80
|
+
useShortcut('core/edit-site/toggle-list-view', handleToggleListViewShortcut);
|
|
73
81
|
return (
|
|
74
82
|
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
75
83
|
createElement("div", {
|
|
@@ -77,16 +85,15 @@ export default function ListViewSidebar() {
|
|
|
77
85
|
onKeyDown: closeOnEscape,
|
|
78
86
|
ref: sidebarRef
|
|
79
87
|
}, createElement("div", {
|
|
80
|
-
className: "edit-site-editor__list-view-panel-header"
|
|
81
|
-
ref: headerFocusReturnRef
|
|
88
|
+
className: "edit-site-editor__list-view-panel-header"
|
|
82
89
|
}, createElement("strong", null, __('List View')), createElement(Button, {
|
|
83
90
|
icon: closeSmall,
|
|
84
91
|
label: __('Close'),
|
|
85
|
-
onClick:
|
|
92
|
+
onClick: closeListView,
|
|
86
93
|
ref: sidebarCloseButtonRef
|
|
87
94
|
})), createElement("div", {
|
|
88
95
|
className: "edit-site-editor__list-view-panel-content",
|
|
89
|
-
ref: useMergeRefs([
|
|
96
|
+
ref: useMergeRefs([focusOnMountRef, setDropZoneElement, listViewRef])
|
|
90
97
|
}, createElement(PrivateListView, {
|
|
91
98
|
dropZoneElement: dropZoneElement
|
|
92
99
|
})))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["privateApis","blockEditorPrivateApis","Button","useFocusOnMount","
|
|
1
|
+
{"version":3,"names":["privateApis","blockEditorPrivateApis","Button","useFocusOnMount","useMergeRefs","useDispatch","useCallback","useRef","useState","__","closeSmall","ESCAPE","focus","useShortcut","store","editSiteStore","unlock","PrivateListView","ListViewSidebar","listViewToggleElement","setIsListViewOpened","focusOnMountRef","closeListView","closeOnEscape","event","keyCode","defaultPrevented","preventDefault","dropZoneElement","setDropZoneElement","sidebarRef","sidebarCloseButtonRef","listViewRef","handleSidebarFocus","listViewApplicationFocus","tabbable","find","current","listViewFocusArea","contains","handleToggleListViewShortcut","ownerDocument","activeElement","createElement","className","onKeyDown","ref","icon","label","onClick"],"sources":["@wordpress/edit-site/src/components/secondary-sidebar/list-view-sidebar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { useFocusOnMount, useMergeRefs } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { closeSmall } from '@wordpress/icons';\nimport { ESCAPE } from '@wordpress/keycodes';\nimport { focus } from '@wordpress/dom';\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { PrivateListView } = unlock( blockEditorPrivateApis );\n\nexport default function ListViewSidebar( { listViewToggleElement } ) {\n\tconst { setIsListViewOpened } = useDispatch( editSiteStore );\n\n\t// This hook handles focus when the sidebar first renders.\n\tconst focusOnMountRef = useFocusOnMount( 'firstElement' );\n\n\t// When closing the list view, focus should return to the toggle button.\n\tconst closeListView = useCallback( () => {\n\t\tsetIsListViewOpened( false );\n\t\tlistViewToggleElement?.focus();\n\t}, [ listViewToggleElement, setIsListViewOpened ] );\n\n\tconst closeOnEscape = useCallback(\n\t\t( event ) => {\n\t\t\tif ( event.keyCode === ESCAPE && ! event.defaultPrevented ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tcloseListView();\n\t\t\t}\n\t\t},\n\t\t[ closeListView ]\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the dropZoneElement updates.\n\tconst [ dropZoneElement, setDropZoneElement ] = useState( null );\n\n\t// This ref refers to the sidebar as a whole.\n\tconst sidebarRef = useRef();\n\t// This ref refers to the close button.\n\tconst sidebarCloseButtonRef = useRef();\n\t// This ref refers to the list view application area.\n\tconst listViewRef = useRef();\n\n\t/*\n\t * Callback function to handle list view or close button focus.\n\t *\n\t * @return void\n\t */\n\tfunction handleSidebarFocus() {\n\t\t// Either focus the list view or the sidebar close button. Must have a fallback because the list view does not render when there are no blocks.\n\t\tconst listViewApplicationFocus = focus.tabbable.find(\n\t\t\tlistViewRef.current\n\t\t)[ 0 ];\n\t\tconst listViewFocusArea = sidebarRef.current.contains(\n\t\t\tlistViewApplicationFocus\n\t\t)\n\t\t\t? listViewApplicationFocus\n\t\t\t: sidebarCloseButtonRef.current;\n\t\tlistViewFocusArea.focus();\n\t}\n\n\tconst handleToggleListViewShortcut = useCallback( () => {\n\t\t// If the sidebar has focus, it is safe to close.\n\t\tif (\n\t\t\tsidebarRef.current.contains(\n\t\t\t\tsidebarRef.current.ownerDocument.activeElement\n\t\t\t)\n\t\t) {\n\t\t\tcloseListView();\n\t\t} else {\n\t\t\t// If the list view or close button does not have focus, focus should be moved to it.\n\t\t\thandleSidebarFocus();\n\t\t}\n\t}, [ closeListView ] );\n\n\t// This only fires when the sidebar is open because of the conditional rendering.\n\t// It is the same shortcut to open but that is defined as a global shortcut and only fires when the sidebar is closed.\n\tuseShortcut(\n\t\t'core/edit-site/toggle-list-view',\n\t\thandleToggleListViewShortcut\n\t);\n\n\treturn (\n\t\t// eslint-disable-next-line jsx-a11y/no-static-element-interactions\n\t\t<div\n\t\t\tclassName=\"edit-site-editor__list-view-panel\"\n\t\t\tonKeyDown={ closeOnEscape }\n\t\t\tref={ sidebarRef }\n\t\t>\n\t\t\t<div className=\"edit-site-editor__list-view-panel-header\">\n\t\t\t\t<strong>{ __( 'List View' ) }</strong>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\tlabel={ __( 'Close' ) }\n\t\t\t\t\tonClick={ closeListView }\n\t\t\t\t\tref={ sidebarCloseButtonRef }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<div\n\t\t\t\tclassName=\"edit-site-editor__list-view-panel-content\"\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\tfocusOnMountRef,\n\t\t\t\t\tsetDropZoneElement,\n\t\t\t\t\tlistViewRef,\n\t\t\t\t] ) }\n\t\t\t>\n\t\t\t\t<PrivateListView dropZoneElement={ dropZoneElement } />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1,31 +1,40 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
5
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
6
|
-
import { useMemo } from '@wordpress/element';
|
|
7
6
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
8
|
-
import {
|
|
9
|
-
import { Button, __experimentalVStack as VStack } from '@wordpress/components';
|
|
7
|
+
import { DropdownMenu, MenuGroup, MenuItem, __experimentalHStack as HStack, __experimentalText as Text } from '@wordpress/components';
|
|
10
8
|
import { __ } from '@wordpress/i18n';
|
|
11
9
|
import { store as coreStore } from '@wordpress/core-data';
|
|
12
|
-
import {
|
|
10
|
+
import { check } from '@wordpress/icons';
|
|
13
11
|
|
|
14
12
|
/**
|
|
15
13
|
* Internal dependencies
|
|
16
14
|
*/
|
|
17
15
|
import { store as editSiteStore } from '../../../store';
|
|
16
|
+
import SwapTemplateButton from './swap-template-button';
|
|
17
|
+
import ResetDefaultTemplate from './reset-default-template';
|
|
18
|
+
import { unlock } from '../../../lock-unlock';
|
|
19
|
+
const POPOVER_PROPS = {
|
|
20
|
+
className: 'edit-site-page-panels-edit-template__dropdown',
|
|
21
|
+
placement: 'bottom-start'
|
|
22
|
+
};
|
|
18
23
|
export default function EditTemplate() {
|
|
19
24
|
const {
|
|
20
|
-
context,
|
|
21
25
|
hasResolved,
|
|
22
|
-
template
|
|
26
|
+
template,
|
|
27
|
+
isTemplateHidden
|
|
23
28
|
} = useSelect(select => {
|
|
24
29
|
const {
|
|
25
30
|
getEditedPostContext,
|
|
26
31
|
getEditedPostType,
|
|
27
32
|
getEditedPostId
|
|
28
33
|
} = select(editSiteStore);
|
|
34
|
+
const {
|
|
35
|
+
getCanvasMode,
|
|
36
|
+
getPageContentFocusType
|
|
37
|
+
} = unlock(select(editSiteStore));
|
|
29
38
|
const {
|
|
30
39
|
getEditedEntityRecord,
|
|
31
40
|
hasFinishedResolution
|
|
@@ -35,35 +44,51 @@ export default function EditTemplate() {
|
|
|
35
44
|
return {
|
|
36
45
|
context: _context,
|
|
37
46
|
hasResolved: hasFinishedResolution('getEditedEntityRecord', queryArgs),
|
|
38
|
-
template: getEditedEntityRecord(...queryArgs)
|
|
47
|
+
template: getEditedEntityRecord(...queryArgs),
|
|
48
|
+
isTemplateHidden: getCanvasMode() === 'edit' && getPageContentFocusType() === 'hideTemplate'
|
|
39
49
|
};
|
|
40
50
|
}, []);
|
|
41
51
|
const {
|
|
42
52
|
setHasPageContentFocus
|
|
43
53
|
} = useDispatch(editSiteStore);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
const blocks = useMemo(() => {
|
|
50
|
-
var _template$blocks;
|
|
51
|
-
return (_template$blocks = template.blocks) !== null && _template$blocks !== void 0 ? _template$blocks : template.content && typeof template.content !== 'function' ? parse(template.content) : [];
|
|
52
|
-
}, [template.blocks, template.content]);
|
|
54
|
+
// Disable reason: `useDispatch` can't be called conditionally.
|
|
55
|
+
// eslint-disable-next-line @wordpress/no-unused-vars-before-return
|
|
56
|
+
const {
|
|
57
|
+
setPageContentFocusType
|
|
58
|
+
} = unlock(useDispatch(editSiteStore));
|
|
53
59
|
if (!hasResolved) {
|
|
54
60
|
return null;
|
|
55
61
|
}
|
|
56
|
-
return createElement(
|
|
57
|
-
className: "edit-site-
|
|
58
|
-
}, createElement(
|
|
59
|
-
|
|
60
|
-
}, createElement(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
62
|
+
return createElement(HStack, {
|
|
63
|
+
className: "edit-site-summary-field"
|
|
64
|
+
}, createElement(Text, {
|
|
65
|
+
className: "edit-site-summary-field__label"
|
|
66
|
+
}, __('Template')), createElement(DropdownMenu, {
|
|
67
|
+
popoverProps: POPOVER_PROPS,
|
|
68
|
+
focusOnMount: true,
|
|
69
|
+
toggleProps: {
|
|
70
|
+
variant: 'tertiary',
|
|
71
|
+
className: 'edit-site-summary-field__trigger'
|
|
72
|
+
},
|
|
73
|
+
label: __('Template options'),
|
|
74
|
+
text: decodeEntities(template.title),
|
|
75
|
+
icon: null
|
|
76
|
+
}, ({
|
|
77
|
+
onClose
|
|
78
|
+
}) => createElement(Fragment, null, createElement(MenuGroup, null, createElement(MenuItem, {
|
|
79
|
+
onClick: () => {
|
|
80
|
+
setHasPageContentFocus(false);
|
|
81
|
+
onClose();
|
|
82
|
+
}
|
|
83
|
+
}, __('Edit template')), createElement(SwapTemplateButton, {
|
|
84
|
+
onClick: onClose
|
|
85
|
+
})), createElement(ResetDefaultTemplate, {
|
|
86
|
+
onClick: onClose
|
|
87
|
+
}), createElement(MenuGroup, null, createElement(MenuItem, {
|
|
88
|
+
icon: !isTemplateHidden ? check : undefined,
|
|
89
|
+
onClick: () => {
|
|
90
|
+
setPageContentFocusType(isTemplateHidden ? 'disableTemplate' : 'hideTemplate');
|
|
91
|
+
}
|
|
92
|
+
}, __('Template preview'))))));
|
|
68
93
|
}
|
|
69
94
|
//# sourceMappingURL=edit-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useSelect","useDispatch","
|
|
1
|
+
{"version":3,"names":["useSelect","useDispatch","decodeEntities","DropdownMenu","MenuGroup","MenuItem","__experimentalHStack","HStack","__experimentalText","Text","__","store","coreStore","check","editSiteStore","SwapTemplateButton","ResetDefaultTemplate","unlock","POPOVER_PROPS","className","placement","EditTemplate","hasResolved","template","isTemplateHidden","select","getEditedPostContext","getEditedPostType","getEditedPostId","getCanvasMode","getPageContentFocusType","getEditedEntityRecord","hasFinishedResolution","_context","queryArgs","context","setHasPageContentFocus","setPageContentFocusType","createElement","popoverProps","focusOnMount","toggleProps","variant","label","text","title","icon","onClose","Fragment","onClick","undefined"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/edit-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { check } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\nimport { unlock } from '../../../lock-unlock';\n\nconst POPOVER_PROPS = {\n\tclassName: 'edit-site-page-panels-edit-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function EditTemplate() {\n\tconst { hasResolved, template, isTemplateHidden } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostContext, getEditedPostType, getEditedPostId } =\n\t\t\t\tselect( editSiteStore );\n\t\t\tconst { getCanvasMode, getPageContentFocusType } = unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t);\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst _context = getEditedPostContext();\n\t\t\tconst queryArgs = [\n\t\t\t\t'postType',\n\t\t\t\tgetEditedPostType(),\n\t\t\t\tgetEditedPostId(),\n\t\t\t];\n\t\t\treturn {\n\t\t\t\tcontext: _context,\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttemplate: getEditedEntityRecord( ...queryArgs ),\n\t\t\t\tisTemplateHidden:\n\t\t\t\t\tgetCanvasMode() === 'edit' &&\n\t\t\t\t\tgetPageContentFocusType() === 'hideTemplate',\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\t// Disable reason: `useDispatch` can't be called conditionally.\n\t// eslint-disable-next-line @wordpress/no-unused-vars-before-return\n\tconst { setPageContentFocusType } = unlock( useDispatch( editSiteStore ) );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Template' ) }\n\t\t\t</Text>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\tfocusOnMount\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tclassName: 'edit-site-summary-field__trigger',\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Template options' ) }\n\t\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\t\ticon={ null }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t\t\t\t\t\t\tonClose();\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\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\ticon={ ! isTemplateHidden ? check : undefined }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetPageContentFocusType(\n\t\t\t\t\t\t\t\t\t\tisTemplateHidden\n\t\t\t\t\t\t\t\t\t\t\t? 'disableTemplate'\n\t\t\t\t\t\t\t\t\t\t\t: 'hideTemplate'\n\t\t\t\t\t\t\t\t\t);\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\t{ __( 'Template preview' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
5
|
+
import { useMemo } from '@wordpress/element';
|
|
6
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { store as editSiteStore } from '../../../store';
|
|
12
|
+
import { TEMPLATE_POST_TYPE } from '../../../utils/constants';
|
|
13
|
+
export function useEditedPostContext() {
|
|
14
|
+
return useSelect(select => select(editSiteStore).getEditedPostContext(), []);
|
|
15
|
+
}
|
|
16
|
+
export function useIsPostsPage() {
|
|
17
|
+
const {
|
|
18
|
+
postId
|
|
19
|
+
} = useEditedPostContext();
|
|
20
|
+
return useSelect(select => +postId === select(coreStore).getEntityRecord('root', 'site')?.page_for_posts, [postId]);
|
|
21
|
+
}
|
|
22
|
+
function useTemplates() {
|
|
23
|
+
return useSelect(select => select(coreStore).getEntityRecords('postType', TEMPLATE_POST_TYPE, {
|
|
24
|
+
per_page: -1,
|
|
25
|
+
post_type: 'page'
|
|
26
|
+
}), []);
|
|
27
|
+
}
|
|
28
|
+
export function useAvailableTemplates() {
|
|
29
|
+
const currentTemplateSlug = useCurrentTemplateSlug();
|
|
30
|
+
const isPostsPage = useIsPostsPage();
|
|
31
|
+
const templates = useTemplates();
|
|
32
|
+
return useMemo(() =>
|
|
33
|
+
// The posts page template cannot be changed.
|
|
34
|
+
!isPostsPage && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
|
|
35
|
+
), [templates, currentTemplateSlug, isPostsPage]);
|
|
36
|
+
}
|
|
37
|
+
export function useCurrentTemplateSlug() {
|
|
38
|
+
const {
|
|
39
|
+
postType,
|
|
40
|
+
postId
|
|
41
|
+
} = useEditedPostContext();
|
|
42
|
+
const templates = useTemplates();
|
|
43
|
+
const entityTemplate = useSelect(select => {
|
|
44
|
+
const post = select(coreStore).getEditedEntityRecord('postType', postType, postId);
|
|
45
|
+
return post?.template;
|
|
46
|
+
}, [postType, postId]);
|
|
47
|
+
if (!entityTemplate) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
// If a page has a `template` set and is not included in the list
|
|
51
|
+
// of the theme's templates, do not return it, in order to resolve
|
|
52
|
+
// to the current theme's default template.
|
|
53
|
+
return templates?.find(template => template.slug === entityTemplate)?.slug;
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","store","coreStore","editSiteStore","TEMPLATE_POST_TYPE","useEditedPostContext","select","getEditedPostContext","useIsPostsPage","postId","getEntityRecord","page_for_posts","useTemplates","getEntityRecords","per_page","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","templates","filter","template","is_custom","slug","content","raw","postType","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { TEMPLATE_POST_TYPE } from '../../../utils/constants';\n\nexport function useEditedPostContext() {\n\treturn useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostContext(),\n\t\t[]\n\t);\n}\n\nexport function useIsPostsPage() {\n\tconst { postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\t+postId ===\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )\n\t\t\t\t?.page_for_posts,\n\t\t[ postId ]\n\t);\n}\n\nfunction useTemplates() {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tpost_type: 'page',\n\t\t\t\t}\n\t\t\t),\n\t\t[]\n\t);\n}\n\nexport function useAvailableTemplates() {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst templates = useTemplates();\n\treturn useMemo(\n\t\t() =>\n\t\t\t// The posts page template cannot be changed.\n\t\t\t! isPostsPage &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, isPostsPage ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates();\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,aAAa,QAAQ,gBAAgB;AACvD,SAASC,kBAAkB,QAAQ,0BAA0B;AAE7D,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,OAAON,SAAS,CACbO,MAAM,IAAMA,MAAM,CAAEH,aAAc,CAAC,CAACI,oBAAoB,CAAC,CAAC,EAC5D,EACD,CAAC;AACF;AAEA,OAAO,SAASC,cAAcA,CAAA,EAAG;EAChC,MAAM;IAAEC;EAAO,CAAC,GAAGJ,oBAAoB,CAAC,CAAC;EACzC,OAAON,SAAS,CACbO,MAAM,IACP,CAACG,MAAM,KACPH,MAAM,CAAEJ,SAAU,CAAC,CAACQ,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAClDC,cAAc,EAClB,CAAEF,MAAM,CACT,CAAC;AACF;AAEA,SAASG,YAAYA,CAAA,EAAG;EACvB,OAAOb,SAAS,CACbO,MAAM,IACPA,MAAM,CAAEJ,SAAU,CAAC,CAACW,gBAAgB,CACnC,UAAU,EACVT,kBAAkB,EAClB;IACCU,QAAQ,EAAE,CAAC,CAAC;IACZC,SAAS,EAAE;EACZ,CACD,CAAC,EACF,EACD,CAAC;AACF;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAMC,mBAAmB,GAAGC,sBAAsB,CAAC,CAAC;EACpD,MAAMC,WAAW,GAAGX,cAAc,CAAC,CAAC;EACpC,MAAMY,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,OAAOZ,OAAO,CACb;EACC;EACA,CAAEmB,WAAW,IACbC,SAAS,EAAEC,MAAM,CACdC,QAAQ,IACTA,QAAQ,CAACC,SAAS,IAClBD,QAAQ,CAACE,IAAI,KAAKP,mBAAmB,IACrC,CAAC,CAAEK,QAAQ,CAACG,OAAO,CAACC,GAAG,CAAC;EAC1B,CAAC,EACF,CAAEN,SAAS,EAAEH,mBAAmB,EAAEE,WAAW,CAC9C,CAAC;AACF;AAEA,OAAO,SAASD,sBAAsBA,CAAA,EAAG;EACxC,MAAM;IAAES,QAAQ;IAAElB;EAAO,CAAC,GAAGJ,oBAAoB,CAAC,CAAC;EACnD,MAAMe,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,MAAMgB,cAAc,GAAG7B,SAAS,CAC7BO,MAAM,IAAM;IACb,MAAMuB,IAAI,GAAGvB,MAAM,CAAEJ,SAAU,CAAC,CAAC4B,qBAAqB,CACrD,UAAU,EACVH,QAAQ,EACRlB,MACD,CAAC;IACD,OAAOoB,IAAI,EAAEP,QAAQ;EACtB,CAAC,EACD,CAAEK,QAAQ,EAAElB,MAAM,CACnB,CAAC;EAED,IAAK,CAAEmB,cAAc,EAAG;IACvB;EACD;EACA;EACA;EACA;EACA,OAAOR,SAAS,EAAEW,IAAI,CAAIT,QAAQ,IAAMA,QAAQ,CAACE,IAAI,KAAKI,cAAe,CAAC,EACvEJ,IAAI;AACR"}
|
|
@@ -17,7 +17,6 @@ import { store as editSiteStore } from '../../../store';
|
|
|
17
17
|
import SidebarCard from '../sidebar-card';
|
|
18
18
|
import PageContent from './page-content';
|
|
19
19
|
import PageSummary from './page-summary';
|
|
20
|
-
import EditTemplate from './edit-template';
|
|
21
20
|
export default function PagePanels() {
|
|
22
21
|
const {
|
|
23
22
|
id,
|
|
@@ -69,8 +68,6 @@ export default function PagePanels() {
|
|
|
69
68
|
postType: type
|
|
70
69
|
})), createElement(PanelBody, {
|
|
71
70
|
title: __('Content')
|
|
72
|
-
}, createElement(PageContent, null))
|
|
73
|
-
title: __('Template')
|
|
74
|
-
}, createElement(EditTemplate, null)));
|
|
71
|
+
}, createElement(PageContent, null)));
|
|
75
72
|
}
|
|
76
73
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PanelBody","__experimentalText","Text","__experimentalVStack","VStack","page","pageIcon","__","sprintf","humanTimeDiff","useSelect","store","coreStore","decodeEntities","editSiteStore","SidebarCard","PageContent","PageSummary","
|
|
1
|
+
{"version":3,"names":["PanelBody","__experimentalText","Text","__experimentalVStack","VStack","page","pageIcon","__","sprintf","humanTimeDiff","useSelect","store","coreStore","decodeEntities","editSiteStore","SidebarCard","PageContent","PageSummary","PagePanels","id","type","hasResolved","status","date","password","title","modified","select","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","createElement","Fragment","icon","description"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { page as pageIcon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SidebarCard from '../sidebar-card';\nimport PageContent from './page-content';\nimport PageSummary from './page-summary';\n\nexport default function PagePanels() {\n\tconst { id, type, hasResolved, status, date, password, title, modified } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext } = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttitle: page?.title,\n\t\t\t\tid: page?.id,\n\t\t\t\ttype: page?.type,\n\t\t\t\tstatus: page?.status,\n\t\t\t\tdate: page?.date,\n\t\t\t\tpassword: page?.password,\n\t\t\t\tmodified: page?.modified,\n\t\t\t};\n\t\t}, [] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody>\n\t\t\t\t<SidebarCard\n\t\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\t\ticon={ pageIcon }\n\t\t\t\t\tdescription={\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t\t\t\t\t__( 'Last edited %s' ),\n\t\t\t\t\t\t\t\t\thumanTimeDiff( modified )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Summary' ) }>\n\t\t\t\t<PageSummary\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\tdate={ date }\n\t\t\t\t\tpassword={ password }\n\t\t\t\t\tpostId={ id }\n\t\t\t\t\tpostType={ type }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<PageContent />\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,SAAS,EACTC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,IAAI,IAAIC,QAAQ,QAAQ,kBAAkB;AACnD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,cAAc,QAAQ,0BAA0B;;AAEzD;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;AACvD,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,WAAW,MAAM,gBAAgB;AACxC,OAAOC,WAAW,MAAM,gBAAgB;AAExC,eAAe,SAASC,UAAUA,CAAA,EAAG;EACpC,MAAM;IAAEC,EAAE;IAAEC,IAAI;IAAEC,WAAW;IAAEC,MAAM;IAAEC,IAAI;IAAEC,QAAQ;IAAEC,KAAK;IAAEC;EAAS,CAAC,GACvEhB,SAAS,CAAIiB,MAAM,IAAM;IACxB,MAAM;MAAEC;IAAqB,CAAC,GAAGD,MAAM,CAAEb,aAAc,CAAC;IACxD,MAAM;MAAEe,qBAAqB;MAAEC;IAAsB,CAAC,GACrDH,MAAM,CAAEf,SAAU,CAAC;IACpB,MAAMmB,OAAO,GAAGH,oBAAoB,CAAC,CAAC;IACtC,MAAMI,SAAS,GAAG,CAAE,UAAU,EAAED,OAAO,CAACE,QAAQ,EAAEF,OAAO,CAACG,MAAM,CAAE;IAClE,MAAM7B,IAAI,GAAGwB,qBAAqB,CAAE,GAAGG,SAAU,CAAC;IAClD,OAAO;MACNX,WAAW,EAAES,qBAAqB,CACjC,uBAAuB,EACvBE,SACD,CAAC;MACDP,KAAK,EAAEpB,IAAI,EAAEoB,KAAK;MAClBN,EAAE,EAAEd,IAAI,EAAEc,EAAE;MACZC,IAAI,EAAEf,IAAI,EAAEe,IAAI;MAChBE,MAAM,EAAEjB,IAAI,EAAEiB,MAAM;MACpBC,IAAI,EAAElB,IAAI,EAAEkB,IAAI;MAChBC,QAAQ,EAAEnB,IAAI,EAAEmB,QAAQ;MACxBE,QAAQ,EAAErB,IAAI,EAAEqB;IACjB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAER,IAAK,CAAEL,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACCc,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACnC,SAAS,QACTmC,aAAA,CAACpB,WAAW;IACXU,KAAK,EAAGZ,cAAc,CAAEY,KAAM,CAAG;IACjCY,IAAI,EAAG/B,QAAU;IACjBgC,WAAW,EACVH,aAAA,CAAC/B,MAAM,QACN+B,aAAA,CAACjC,IAAI,QACFM,OAAO;IACR;IACAD,EAAE,CAAE,gBAAiB,CAAC,EACtBE,aAAa,CAAEiB,QAAS,CACzB,CACK,CACC;EACR,CACD,CACS,CAAC,EACZS,aAAA,CAACnC,SAAS;IAACyB,KAAK,EAAGlB,EAAE,CAAE,SAAU;EAAG,GACnC4B,aAAA,CAAClB,WAAW;IACXK,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBU,MAAM,EAAGf,EAAI;IACbc,QAAQ,EAAGb;EAAM,CACjB,CACS,CAAC,EACZe,aAAA,CAACnC,SAAS;IAACyB,KAAK,EAAGlB,EAAE,CAAE,SAAU;EAAG,GACnC4B,aAAA,CAACnB,WAAW,MAAE,CACJ,CACV,CAAC;AAEL"}
|
|
@@ -8,6 +8,7 @@ import { __experimentalVStack as VStack } from '@wordpress/components';
|
|
|
8
8
|
*/
|
|
9
9
|
import PageStatus from './page-status';
|
|
10
10
|
import PublishDate from './publish-date';
|
|
11
|
+
import EditTemplate from './edit-template';
|
|
11
12
|
export default function PageSummary({
|
|
12
13
|
status,
|
|
13
14
|
date,
|
|
@@ -26,6 +27,6 @@ export default function PageSummary({
|
|
|
26
27
|
date: date,
|
|
27
28
|
postId: postId,
|
|
28
29
|
postType: postType
|
|
29
|
-
}));
|
|
30
|
+
}), createElement(EditTemplate, null));
|
|
30
31
|
}
|
|
31
32
|
//# sourceMappingURL=page-summary.js.map
|