@wordpress/edit-site 5.19.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/build/components/add-new-pattern/index.js +3 -3
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/index.js +31 -0
- package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build/components/block-editor/index.js +2 -9
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +1 -1
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +8 -12
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/editor/index.js +4 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +2 -2
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +26 -2
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +7 -4
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +25 -7
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/constants.js +1 -7
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +2 -52
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +1 -1
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +9 -8
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +4 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/layout/index.js +5 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +13 -8
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/list/index.js +2 -1
- package/build/components/list/index.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +5 -5
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/index.js +1 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +1 -1
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +28 -34
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/add-new-template-part.js +3 -2
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build/components/page-template-parts/index.js +2 -1
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/page-templates/index.js +3 -2
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/save-hub/index.js +2 -1
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +3 -3
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/start-template-options/index.js +20 -2
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +2 -1
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +8 -3
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +2 -1
- package/build/hooks/navigation-menu-edit.js.map +1 -1
- package/build/hooks/template-part-edit.js +2 -1
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/store/actions.js +10 -9
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +1 -9
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +21 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +23 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +3 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +22 -3
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +1 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +1 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build/utils/template-part-create.js +6 -1
- package/build/utils/template-part-create.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +3 -3
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
- package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build-module/components/block-editor/index.js +1 -8
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +2 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +8 -12
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +4 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +2 -2
- package/build-module/components/global-styles/font-family-item.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +27 -3
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +8 -5
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +26 -7
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +14 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +1 -6
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -51
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +1 -1
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +4 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/layout/index.js +5 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +13 -8
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/list/index.js +2 -1
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +5 -5
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/index.js +1 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +2 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +28 -35
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build-module/components/page-template-parts/index.js +2 -1
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +3 -2
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +2 -1
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -4
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +8 -3
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +20 -2
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +2 -1
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +8 -3
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/navigation-menu-edit.js +2 -1
- package/build-module/hooks/navigation-menu-edit.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +2 -1
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/store/actions.js +10 -10
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +0 -4
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +19 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +22 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +17 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +2 -2
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +2 -2
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-module/utils/template-part-create.js +6 -1
- package/build-module/utils/template-part-create.js.map +1 -1
- package/build-style/style-rtl.css +23 -0
- package/build-style/style.css +23 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +3 -3
- package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
- package/src/components/block-editor/block-editor-provider/index.js +29 -0
- package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
- package/src/components/block-editor/index.js +1 -14
- package/src/components/block-editor/site-editor-canvas.js +5 -2
- package/src/components/create-template-part-modal/index.js +11 -12
- package/src/components/editor/index.js +6 -2
- package/src/components/global-styles/font-family-item.js +2 -2
- package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/src/components/global-styles/font-library-modal/context.js +33 -2
- package/src/components/global-styles/font-library-modal/font-card.js +9 -4
- package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +36 -10
- package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
- package/src/components/global-styles/font-library-modal/index.js +30 -5
- package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-card.js +1 -8
- package/src/components/global-styles/font-library-modal/library-font-details.js +2 -3
- package/src/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/src/components/global-styles/font-library-modal/style.scss +26 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/src/components/global-styles/font-library-modal/utils/constants.js +1 -9
- package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
- package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +9 -69
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
- package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
- package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
- package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
- package/src/components/global-styles/font-library-modal/utils/test/{getPreviewStyle.spec.js → preview-styles.spec.js} +49 -9
- package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
- package/src/components/global-styles/screen-typography.js +3 -1
- package/src/components/header-edit-mode/document-actions/index.js +17 -8
- package/src/components/header-edit-mode/index.js +2 -1
- package/src/components/layout/index.js +10 -1
- package/src/components/list/added-by.js +29 -11
- package/src/components/list/index.js +7 -1
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
- package/src/components/page-patterns/duplicate-menu-item.js +5 -5
- package/src/components/page-patterns/grid-item.js +5 -5
- package/src/components/page-patterns/index.js +1 -1
- package/src/components/page-patterns/search-items.js +7 -1
- package/src/components/page-patterns/use-patterns.js +190 -134
- package/src/components/page-template-parts/add-new-template-part.js +5 -2
- package/src/components/page-template-parts/index.js +2 -1
- package/src/components/page-templates/index.js +3 -2
- package/src/components/save-hub/index.js +2 -1
- package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +48 -20
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +9 -4
- package/src/components/sidebar-edit-mode/page-panels/style.scss +6 -0
- package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/src/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +18 -8
- package/src/components/sidebar-navigation-screen-patterns/index.js +8 -4
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +16 -3
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/src/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
- package/src/components/start-template-options/index.js +39 -2
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
- package/src/components/template-actions/index.js +2 -1
- package/src/components/template-actions/rename-menu-item.js +8 -3
- package/src/hooks/commands/use-edit-mode-commands.js +4 -3
- package/src/hooks/navigation-menu-edit.js +2 -1
- package/src/hooks/template-part-edit.js +2 -1
- package/src/store/actions.js +18 -10
- package/src/store/constants.js +0 -5
- package/src/store/private-actions.js +19 -0
- package/src/store/private-selectors.js +22 -0
- package/src/store/reducer.js +18 -0
- package/src/store/selectors.js +6 -3
- package/src/store/test/reducer.js +18 -0
- package/src/utils/constants.js +17 -1
- package/src/utils/is-template-removable.js +2 -2
- package/src/utils/is-template-revertable.js +2 -2
- package/src/utils/template-part-create.js +6 -1
- package/build/components/block-editor/get-block-editor-provider.js +0 -35
- package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
- package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
- package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
- package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/src/components/block-editor/get-block-editor-provider.js +0 -29
- package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalText","Text","__experimentalHeading","Heading","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalHStack","HStack","Button","chevronLeft","TabLayout","title","description","handleBack","children","footer","createElement","className","margin","spacing","justify","variant","onClick","icon","
|
|
1
|
+
{"version":3,"names":["__experimentalText","Text","__experimentalHeading","Heading","__experimentalVStack","VStack","__experimentalSpacer","Spacer","__experimentalHStack","HStack","Button","chevronLeft","TabLayout","title","description","handleBack","children","footer","createElement","className","margin","spacing","justify","variant","onClick","icon","size","level"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/tab-layout.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalText as Text,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalHStack as HStack,\n\tButton,\n} from '@wordpress/components';\nimport { chevronLeft } from '@wordpress/icons';\n\nfunction TabLayout( { title, description, handleBack, children, footer } ) {\n\treturn (\n\t\t<div className=\"font-library-modal__tab-layout\">\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 4 } justify=\"space-between\">\n\t\t\t\t<header>\n\t\t\t\t\t<VStack spacing={ 2 }>\n\t\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t\t{ !! handleBack && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t\tonClick={ handleBack }\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\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{ title && (\n\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ description && <Text>{ description }</Text> }\n\t\t\t\t\t</VStack>\n\t\t\t\t</header>\n\t\t\t\t<main>{ children }</main>\n\t\t\t\t{ footer && <footer>{ footer }</footer> }\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport default TabLayout;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,kBAAkB,IAAIC,IAAI,EAC1BC,qBAAqB,IAAIC,OAAO,EAChCC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,EAC9BC,MAAM,QACA,uBAAuB;AAC9B,SAASC,WAAW,QAAQ,kBAAkB;AAE9C,SAASC,SAASA,CAAE;EAAEC,KAAK;EAAEC,WAAW;EAAEC,UAAU;EAAEC,QAAQ;EAAEC;AAAO,CAAC,EAAG;EAC1E,OACCC,aAAA;IAAKC,SAAS,EAAC;EAAgC,GAC9CD,aAAA,CAACX,MAAM;IAACa,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBF,aAAA,CAACb,MAAM;IAACgB,OAAO,EAAG,CAAG;IAACC,OAAO,EAAC;EAAe,GAC5CJ,aAAA,iBACCA,aAAA,CAACb,MAAM;IAACgB,OAAO,EAAG;EAAG,GACpBH,aAAA,CAACT,MAAM;IAACa,OAAO,EAAC;EAAY,GACzB,CAAC,CAAEP,UAAU,IACdG,aAAA,CAACR,MAAM;IACNa,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGT,UAAY;IACtBU,IAAI,EAAGd,WAAa;IACpBe,IAAI,EAAC;EAAO,CACZ,CACD,EACCb,KAAK,IACNK,aAAA,CAACf,OAAO;IACPwB,KAAK,EAAG,CAAG;IACXD,IAAI,EAAG,EAAI;IACXP,SAAS,EAAC;EAAgC,GAExCN,KACM,CAEH,CAAC,EACPC,WAAW,IAAII,aAAA,CAACjB,IAAI,QAAGa,WAAmB,CACrC,CACD,CAAC,EACTI,aAAA,eAAQF,QAAgB,CAAC,EACvBC,MAAM,IAAIC,aAAA,iBAAUD,MAAgB,CAC/B,CACJ,CAAC;AAER;AAEA,eAAeL,SAAS"}
|
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
export const MODAL_TABS = [{
|
|
6
|
-
name: 'installed-fonts',
|
|
7
|
-
title: __('Library'),
|
|
8
|
-
className: 'installed-fonts'
|
|
9
|
-
}];
|
|
4
|
+
import { _x } from '@wordpress/i18n';
|
|
10
5
|
export const ALLOWED_FILE_EXTENSIONS = ['otf', 'ttf', 'woff', 'woff2'];
|
|
11
6
|
export const FONT_WEIGHTS = {
|
|
12
7
|
100: _x('Thin', 'font weight'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_x","ALLOWED_FILE_EXTENSIONS","FONT_WEIGHTS","FONT_STYLES","normal","italic"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\n\nexport const ALLOWED_FILE_EXTENSIONS = [ 'otf', 'ttf', 'woff', 'woff2' ];\n\nexport const FONT_WEIGHTS = {\n\t100: _x( 'Thin', 'font weight' ),\n\t200: _x( 'Extra-light', 'font weight' ),\n\t300: _x( 'Light', 'font weight' ),\n\t400: _x( 'Normal', 'font weight' ),\n\t500: _x( 'Medium', 'font weight' ),\n\t600: _x( 'Semi-bold', 'font weight' ),\n\t700: _x( 'Bold', 'font weight' ),\n\t800: _x( 'Extra-bold', 'font weight' ),\n\t900: _x( 'Black', 'font weight' ),\n};\n\nexport const FONT_STYLES = {\n\tnormal: _x( 'Normal', 'font style' ),\n\titalic: _x( 'Italic', 'font style' ),\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,OAAO,MAAMC,uBAAuB,GAAG,CAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAE;AAExE,OAAO,MAAMC,YAAY,GAAG;EAC3B,GAAG,EAAEF,EAAE,CAAE,MAAM,EAAE,aAAc,CAAC;EAChC,GAAG,EAAEA,EAAE,CAAE,aAAa,EAAE,aAAc,CAAC;EACvC,GAAG,EAAEA,EAAE,CAAE,OAAO,EAAE,aAAc,CAAC;EACjC,GAAG,EAAEA,EAAE,CAAE,QAAQ,EAAE,aAAc,CAAC;EAClC,GAAG,EAAEA,EAAE,CAAE,QAAQ,EAAE,aAAc,CAAC;EAClC,GAAG,EAAEA,EAAE,CAAE,WAAW,EAAE,aAAc,CAAC;EACrC,GAAG,EAAEA,EAAE,CAAE,MAAM,EAAE,aAAc,CAAC;EAChC,GAAG,EAAEA,EAAE,CAAE,YAAY,EAAE,aAAc,CAAC;EACtC,GAAG,EAAEA,EAAE,CAAE,OAAO,EAAE,aAAc;AACjC,CAAC;AAED,OAAO,MAAMG,WAAW,GAAG;EAC1BC,MAAM,EAAEJ,EAAE,CAAE,QAAQ,EAAE,YAAa,CAAC;EACpCK,MAAM,EAAEL,EAAE,CAAE,QAAQ,EAAE,YAAa;AACpC,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export default function filterFonts(fonts, filters) {
|
|
2
|
+
const {
|
|
3
|
+
category,
|
|
4
|
+
search
|
|
5
|
+
} = filters;
|
|
6
|
+
let filteredFonts = fonts || [];
|
|
7
|
+
if (category && category !== 'all') {
|
|
8
|
+
filteredFonts = filteredFonts.filter(font => font.category === category);
|
|
9
|
+
}
|
|
10
|
+
if (search) {
|
|
11
|
+
filteredFonts = filteredFonts.filter(font => font.name.toLowerCase().includes(search.toLowerCase()));
|
|
12
|
+
}
|
|
13
|
+
return filteredFonts;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=filter-fonts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["filterFonts","fonts","filters","category","search","filteredFonts","filter","font","name","toLowerCase","includes"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/filter-fonts.js"],"sourcesContent":["export default function filterFonts( fonts, filters ) {\n\tconst { category, search } = filters;\n\tlet filteredFonts = fonts || [];\n\n\tif ( category && category !== 'all' ) {\n\t\tfilteredFonts = filteredFonts.filter(\n\t\t\t( font ) => font.category === category\n\t\t);\n\t}\n\n\tif ( search ) {\n\t\tfilteredFonts = filteredFonts.filter( ( font ) =>\n\t\t\tfont.name.toLowerCase().includes( search.toLowerCase() )\n\t\t);\n\t}\n\n\treturn filteredFonts;\n}\n"],"mappings":"AAAA,eAAe,SAASA,WAAWA,CAAEC,KAAK,EAAEC,OAAO,EAAG;EACrD,MAAM;IAAEC,QAAQ;IAAEC;EAAO,CAAC,GAAGF,OAAO;EACpC,IAAIG,aAAa,GAAGJ,KAAK,IAAI,EAAE;EAE/B,IAAKE,QAAQ,IAAIA,QAAQ,KAAK,KAAK,EAAG;IACrCE,aAAa,GAAGA,aAAa,CAACC,MAAM,CACjCC,IAAI,IAAMA,IAAI,CAACJ,QAAQ,KAAKA,QAC/B,CAAC;EACF;EAEA,IAAKC,MAAM,EAAG;IACbC,aAAa,GAAGA,aAAa,CAACC,MAAM,CAAIC,IAAI,IAC3CA,IAAI,CAACC,IAAI,CAACC,WAAW,CAAC,CAAC,CAACC,QAAQ,CAAEN,MAAM,CAACK,WAAW,CAAC,CAAE,CACxD,CAAC;EACF;EAEA,OAAOJ,aAAa;AACrB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function getFontsOutline(fonts) {
|
|
2
|
+
return fonts.reduce((acc, font) => ({
|
|
3
|
+
...acc,
|
|
4
|
+
[font.slug]: (font?.fontFace || []).reduce((faces, face) => ({
|
|
5
|
+
...faces,
|
|
6
|
+
[`${face.fontStyle}-${face.fontWeight}`]: true
|
|
7
|
+
}), {})
|
|
8
|
+
}), {});
|
|
9
|
+
}
|
|
10
|
+
export function isFontFontFaceInOutline(slug, face, outline) {
|
|
11
|
+
return outline[slug]?.[`${face.fontStyle}-${face.fontWeight}`] || false;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=fonts-outline.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getFontsOutline","fonts","reduce","acc","font","slug","fontFace","faces","face","fontStyle","fontWeight","isFontFontFaceInOutline","outline"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/fonts-outline.js"],"sourcesContent":["export function getFontsOutline( fonts ) {\n\treturn fonts.reduce(\n\t\t( acc, font ) => ( {\n\t\t\t...acc,\n\t\t\t[ font.slug ]: ( font?.fontFace || [] ).reduce(\n\t\t\t\t( faces, face ) => ( {\n\t\t\t\t\t...faces,\n\t\t\t\t\t[ `${ face.fontStyle }-${ face.fontWeight }` ]: true,\n\t\t\t\t} ),\n\t\t\t\t{}\n\t\t\t),\n\t\t} ),\n\t\t{}\n\t);\n}\n\nexport function isFontFontFaceInOutline( slug, face, outline ) {\n\treturn (\n\t\toutline[ slug ]?.[ `${ face.fontStyle }-${ face.fontWeight }` ] || false\n\t);\n}\n"],"mappings":"AAAA,OAAO,SAASA,eAAeA,CAAEC,KAAK,EAAG;EACxC,OAAOA,KAAK,CAACC,MAAM,CAClB,CAAEC,GAAG,EAAEC,IAAI,MAAQ;IAClB,GAAGD,GAAG;IACN,CAAEC,IAAI,CAACC,IAAI,GAAI,CAAED,IAAI,EAAEE,QAAQ,IAAI,EAAE,EAAGJ,MAAM,CAC7C,CAAEK,KAAK,EAAEC,IAAI,MAAQ;MACpB,GAAGD,KAAK;MACR,CAAG,GAAGC,IAAI,CAACC,SAAW,IAAID,IAAI,CAACE,UAAY,EAAC,GAAI;IACjD,CAAC,CAAE,EACH,CAAC,CACF;EACD,CAAC,CAAE,EACH,CAAC,CACF,CAAC;AACF;AAEA,OAAO,SAASC,uBAAuBA,CAAEN,IAAI,EAAEG,IAAI,EAAEI,OAAO,EAAG;EAC9D,OACCA,OAAO,CAAEP,IAAI,CAAE,GAAK,GAAGG,IAAI,CAACC,SAAW,IAAID,IAAI,CAACE,UAAY,EAAC,CAAE,IAAI,KAAK;AAE1E"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { FONT_WEIGHTS, FONT_STYLES } from './constants';
|
|
5
|
+
import { formatFontFamily } from './preview-styles';
|
|
5
6
|
export function setUIValuesNeeded(font, extraValues = {}) {
|
|
6
7
|
if (!font.name && (font.fontFamily || font.slug)) {
|
|
7
8
|
font.name = font.fontFamily || font.slug;
|
|
@@ -79,7 +80,7 @@ export async function loadFontFaceInBrowser(fontFace, source, addTo = 'all') {
|
|
|
79
80
|
}
|
|
80
81
|
|
|
81
82
|
// eslint-disable-next-line no-undef
|
|
82
|
-
const newFont = new FontFace(fontFace.fontFamily, dataSource, {
|
|
83
|
+
const newFont = new FontFace(formatFontFamily(fontFace.fontFamily), dataSource, {
|
|
83
84
|
style: fontFace.fontStyle,
|
|
84
85
|
weight: fontFace.fontWeight
|
|
85
86
|
});
|
|
@@ -108,56 +109,6 @@ export function getDisplaySrcFromFontFace(input, urlPrefix) {
|
|
|
108
109
|
}
|
|
109
110
|
return src;
|
|
110
111
|
}
|
|
111
|
-
function findNearest(input, numbers) {
|
|
112
|
-
// If the numbers array is empty, return null
|
|
113
|
-
if (numbers.length === 0) {
|
|
114
|
-
return null;
|
|
115
|
-
}
|
|
116
|
-
// Sort the array based on the absolute difference with the input
|
|
117
|
-
numbers.sort((a, b) => Math.abs(input - a) - Math.abs(input - b));
|
|
118
|
-
// Return the first element (which will be the nearest) from the sorted array
|
|
119
|
-
return numbers[0];
|
|
120
|
-
}
|
|
121
|
-
function extractFontWeights(fontFaces) {
|
|
122
|
-
const result = [];
|
|
123
|
-
fontFaces.forEach(face => {
|
|
124
|
-
const weights = String(face.fontWeight).split(' ');
|
|
125
|
-
if (weights.length === 2) {
|
|
126
|
-
const start = parseInt(weights[0]);
|
|
127
|
-
const end = parseInt(weights[1]);
|
|
128
|
-
for (let i = start; i <= end; i += 100) {
|
|
129
|
-
result.push(i);
|
|
130
|
-
}
|
|
131
|
-
} else if (weights.length === 1) {
|
|
132
|
-
result.push(parseInt(weights[0]));
|
|
133
|
-
}
|
|
134
|
-
});
|
|
135
|
-
return result;
|
|
136
|
-
}
|
|
137
|
-
export function getPreviewStyle(family) {
|
|
138
|
-
const style = {
|
|
139
|
-
fontFamily: family.fontFamily
|
|
140
|
-
};
|
|
141
|
-
if (!Array.isArray(family.fontFace)) {
|
|
142
|
-
style.fontWeight = '400';
|
|
143
|
-
style.fontStyle = 'normal';
|
|
144
|
-
return style;
|
|
145
|
-
}
|
|
146
|
-
if (family.fontFace) {
|
|
147
|
-
//get all the font faces with normal style
|
|
148
|
-
const normalFaces = family.fontFace.filter(face => face.fontStyle.toLowerCase() === 'normal');
|
|
149
|
-
if (normalFaces.length > 0) {
|
|
150
|
-
style.fontStyle = 'normal';
|
|
151
|
-
const normalWeights = extractFontWeights(normalFaces);
|
|
152
|
-
const nearestWeight = findNearest(400, normalWeights);
|
|
153
|
-
style.fontWeight = String(nearestWeight) || '400';
|
|
154
|
-
} else {
|
|
155
|
-
style.fontStyle = family.fontFace.length && family.fontFace[0].fontStyle || 'normal';
|
|
156
|
-
style.fontWeight = family.fontFace.length && String(family.fontFace[0].fontWeight) || '400';
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
return style;
|
|
160
|
-
}
|
|
161
112
|
export function makeFormDataFromFontFamilies(fontFamilies) {
|
|
162
113
|
const formData = new FormData();
|
|
163
114
|
const newFontFamilies = fontFamilies.map((family, familyIndex) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FONT_WEIGHTS","FONT_STYLES","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","File","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","getDisplaySrcFromFontFace","input","urlPrefix","src","isArray","startsWith","replace","encodeURI","findNearest","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","weights","String","split","start","parseInt","end","i","push","getPreviewStyle","family","normalFaces","filter","toLowerCase","normalWeights","nearestWeight","makeFormDataFromFontFamilies","fontFamilies","formData","FormData","newFontFamilies","familyIndex","faceIndex","file","fileId","append","faceWithoutFileProperty","newFace","uploadedFile","JSON","stringify"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t}\n\n\t// eslint-disable-next-line no-undef\n\tconst newFont = new FontFace( fontFace.fontFamily, dataSource, {\n\t\tstyle: fontFace.fontStyle,\n\t\tweight: fontFace.fontWeight,\n\t} );\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\nexport function getDisplaySrcFromFontFace( input, urlPrefix ) {\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// If it is a theme font, we need to make the url absolute\n\tif ( src.startsWith( 'file:.' ) && urlPrefix ) {\n\t\tsrc = src.replace( 'file:.', urlPrefix );\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nfunction findNearest( input, numbers ) {\n\t// If the numbers array is empty, return null\n\tif ( numbers.length === 0 ) {\n\t\treturn null;\n\t}\n\t// Sort the array based on the absolute difference with the input\n\tnumbers.sort( ( a, b ) => Math.abs( input - a ) - Math.abs( input - b ) );\n\t// Return the first element (which will be the nearest) from the sorted array\n\treturn numbers[ 0 ];\n}\n\nfunction extractFontWeights( fontFaces ) {\n\tconst result = [];\n\n\tfontFaces.forEach( ( face ) => {\n\t\tconst weights = String( face.fontWeight ).split( ' ' );\n\n\t\tif ( weights.length === 2 ) {\n\t\t\tconst start = parseInt( weights[ 0 ] );\n\t\t\tconst end = parseInt( weights[ 1 ] );\n\n\t\t\tfor ( let i = start; i <= end; i += 100 ) {\n\t\t\t\tresult.push( i );\n\t\t\t}\n\t\t} else if ( weights.length === 1 ) {\n\t\t\tresult.push( parseInt( weights[ 0 ] ) );\n\t\t}\n\t} );\n\n\treturn result;\n}\n\nexport function getPreviewStyle( family ) {\n\tconst style = { fontFamily: family.fontFamily };\n\n\tif ( ! Array.isArray( family.fontFace ) ) {\n\t\tstyle.fontWeight = '400';\n\t\tstyle.fontStyle = 'normal';\n\t\treturn style;\n\t}\n\n\tif ( family.fontFace ) {\n\t\t//get all the font faces with normal style\n\t\tconst normalFaces = family.fontFace.filter(\n\t\t\t( face ) => face.fontStyle.toLowerCase() === 'normal'\n\t\t);\n\t\tif ( normalFaces.length > 0 ) {\n\t\t\tstyle.fontStyle = 'normal';\n\t\t\tconst normalWeights = extractFontWeights( normalFaces );\n\t\t\tconst nearestWeight = findNearest( 400, normalWeights );\n\t\t\tstyle.fontWeight = String( nearestWeight ) || '400';\n\t\t} else {\n\t\t\tstyle.fontStyle =\n\t\t\t\t( family.fontFace.length && family.fontFace[ 0 ].fontStyle ) ||\n\t\t\t\t'normal';\n\t\t\tstyle.fontWeight =\n\t\t\t\t( family.fontFace.length &&\n\t\t\t\t\tString( family.fontFace[ 0 ].fontWeight ) ) ||\n\t\t\t\t'400';\n\t\t}\n\t}\n\n\treturn style;\n}\n\nexport function makeFormDataFromFontFamilies( fontFamilies ) {\n\tconst formData = new FormData();\n\tconst newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {\n\t\tif ( family?.fontFace ) {\n\t\t\tfamily.fontFace = family.fontFace.map( ( face, faceIndex ) => {\n\t\t\t\tif ( face.file ) {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ familyIndex }-${ faceIndex }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, face.file, face.file.name );\n\t\t\t\t\t// remove the file object from the face object the file is referenced by the uploadedFile key\n\t\t\t\t\tconst { file, ...faceWithoutFileProperty } = face;\n\t\t\t\t\tconst newFace = {\n\t\t\t\t\t\t...faceWithoutFileProperty,\n\t\t\t\t\t\tuploadedFile: fileId,\n\t\t\t\t\t};\n\t\t\t\t\treturn newFace;\n\t\t\t\t}\n\t\t\t\treturn face;\n\t\t\t} );\n\t\t}\n\t\treturn family;\n\t} );\n\tformData.append( 'fontFamilies', JSON.stringify( newFontFamilies ) );\n\treturn formData;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["FONT_WEIGHTS","FONT_STYLES","formatFontFamily","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","File","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","getDisplaySrcFromFontFace","input","urlPrefix","src","isArray","startsWith","replace","encodeURI","makeFormDataFromFontFamilies","fontFamilies","formData","FormData","newFontFamilies","family","familyIndex","faceIndex","file","fileId","append","faceWithoutFileProperty","newFace","uploadedFile","JSON","stringify"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\nimport { formatFontFamily } from './preview-styles';\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t}\n\n\t// eslint-disable-next-line no-undef\n\tconst newFont = new FontFace(\n\t\tformatFontFamily( fontFace.fontFamily ),\n\t\tdataSource,\n\t\t{\n\t\t\tstyle: fontFace.fontStyle,\n\t\t\tweight: fontFace.fontWeight,\n\t\t}\n\t);\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\nexport function getDisplaySrcFromFontFace( input, urlPrefix ) {\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// If it is a theme font, we need to make the url absolute\n\tif ( src.startsWith( 'file:.' ) && urlPrefix ) {\n\t\tsrc = src.replace( 'file:.', urlPrefix );\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nexport function makeFormDataFromFontFamilies( fontFamilies ) {\n\tconst formData = new FormData();\n\tconst newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {\n\t\tif ( family?.fontFace ) {\n\t\t\tfamily.fontFace = family.fontFace.map( ( face, faceIndex ) => {\n\t\t\t\tif ( face.file ) {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ familyIndex }-${ faceIndex }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, face.file, face.file.name );\n\t\t\t\t\t// remove the file object from the face object the file is referenced by the uploadedFile key\n\t\t\t\t\tconst { file, ...faceWithoutFileProperty } = face;\n\t\t\t\t\tconst newFace = {\n\t\t\t\t\t\t...faceWithoutFileProperty,\n\t\t\t\t\t\tuploadedFile: fileId,\n\t\t\t\t\t};\n\t\t\t\t\treturn newFace;\n\t\t\t\t}\n\t\t\t\treturn face;\n\t\t\t} );\n\t\t}\n\t\treturn family;\n\t} );\n\tformData.append( 'fontFamilies', JSON.stringify( newFontFamilies ) );\n\treturn formData;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
function findNearest(input, numbers) {
|
|
2
|
+
// If the numbers array is empty, return null
|
|
3
|
+
if (numbers.length === 0) {
|
|
4
|
+
return null;
|
|
5
|
+
}
|
|
6
|
+
// Sort the array based on the absolute difference with the input
|
|
7
|
+
numbers.sort((a, b) => Math.abs(input - a) - Math.abs(input - b));
|
|
8
|
+
// Return the first element (which will be the nearest) from the sorted array
|
|
9
|
+
return numbers[0];
|
|
10
|
+
}
|
|
11
|
+
function extractFontWeights(fontFaces) {
|
|
12
|
+
const result = [];
|
|
13
|
+
fontFaces.forEach(face => {
|
|
14
|
+
const weights = String(face.fontWeight).split(' ');
|
|
15
|
+
if (weights.length === 2) {
|
|
16
|
+
const start = parseInt(weights[0]);
|
|
17
|
+
const end = parseInt(weights[1]);
|
|
18
|
+
for (let i = start; i <= end; i += 100) {
|
|
19
|
+
result.push(i);
|
|
20
|
+
}
|
|
21
|
+
} else if (weights.length === 1) {
|
|
22
|
+
result.push(parseInt(weights[0]));
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
return result;
|
|
26
|
+
}
|
|
27
|
+
export function formatFontFamily(input) {
|
|
28
|
+
return input.split(',').map(font => {
|
|
29
|
+
font = font.trim(); // Remove any leading or trailing white spaces
|
|
30
|
+
// If the font doesn't have single quotes and contains a space, then add single quotes around it
|
|
31
|
+
if (!font.startsWith("'") && font.indexOf(' ') !== -1) {
|
|
32
|
+
return `'${font}'`;
|
|
33
|
+
}
|
|
34
|
+
return font; // Return font as is if no transformation is needed
|
|
35
|
+
}).join(', ');
|
|
36
|
+
}
|
|
37
|
+
export function getFamilyPreviewStyle(family) {
|
|
38
|
+
const style = {
|
|
39
|
+
fontFamily: formatFontFamily(family.fontFamily)
|
|
40
|
+
};
|
|
41
|
+
if (!Array.isArray(family.fontFace)) {
|
|
42
|
+
style.fontWeight = '400';
|
|
43
|
+
style.fontStyle = 'normal';
|
|
44
|
+
return style;
|
|
45
|
+
}
|
|
46
|
+
if (family.fontFace) {
|
|
47
|
+
//get all the font faces with normal style
|
|
48
|
+
const normalFaces = family.fontFace.filter(face => face.fontStyle.toLowerCase() === 'normal');
|
|
49
|
+
if (normalFaces.length > 0) {
|
|
50
|
+
style.fontStyle = 'normal';
|
|
51
|
+
const normalWeights = extractFontWeights(normalFaces);
|
|
52
|
+
const nearestWeight = findNearest(400, normalWeights);
|
|
53
|
+
style.fontWeight = String(nearestWeight) || '400';
|
|
54
|
+
} else {
|
|
55
|
+
style.fontStyle = family.fontFace.length && family.fontFace[0].fontStyle || 'normal';
|
|
56
|
+
style.fontWeight = family.fontFace.length && String(family.fontFace[0].fontWeight) || '400';
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return style;
|
|
60
|
+
}
|
|
61
|
+
export function getFacePreviewStyle(face) {
|
|
62
|
+
return {
|
|
63
|
+
fontFamily: formatFontFamily(face.fontFamily),
|
|
64
|
+
fontStyle: face.fontStyle || 'normal',
|
|
65
|
+
fontWeight: face.fontWeight || '400'
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=preview-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["findNearest","input","numbers","length","sort","a","b","Math","abs","extractFontWeights","fontFaces","result","forEach","face","weights","String","fontWeight","split","start","parseInt","end","i","push","formatFontFamily","map","font","trim","startsWith","indexOf","join","getFamilyPreviewStyle","family","style","fontFamily","Array","isArray","fontFace","fontStyle","normalFaces","filter","toLowerCase","normalWeights","nearestWeight","getFacePreviewStyle"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/preview-styles.js"],"sourcesContent":["function findNearest( input, numbers ) {\n\t// If the numbers array is empty, return null\n\tif ( numbers.length === 0 ) {\n\t\treturn null;\n\t}\n\t// Sort the array based on the absolute difference with the input\n\tnumbers.sort( ( a, b ) => Math.abs( input - a ) - Math.abs( input - b ) );\n\t// Return the first element (which will be the nearest) from the sorted array\n\treturn numbers[ 0 ];\n}\n\nfunction extractFontWeights( fontFaces ) {\n\tconst result = [];\n\n\tfontFaces.forEach( ( face ) => {\n\t\tconst weights = String( face.fontWeight ).split( ' ' );\n\n\t\tif ( weights.length === 2 ) {\n\t\t\tconst start = parseInt( weights[ 0 ] );\n\t\t\tconst end = parseInt( weights[ 1 ] );\n\n\t\t\tfor ( let i = start; i <= end; i += 100 ) {\n\t\t\t\tresult.push( i );\n\t\t\t}\n\t\t} else if ( weights.length === 1 ) {\n\t\t\tresult.push( parseInt( weights[ 0 ] ) );\n\t\t}\n\t} );\n\n\treturn result;\n}\n\nexport function formatFontFamily( input ) {\n\treturn input\n\t\t.split( ',' )\n\t\t.map( ( font ) => {\n\t\t\tfont = font.trim(); // Remove any leading or trailing white spaces\n\t\t\t// If the font doesn't have single quotes and contains a space, then add single quotes around it\n\t\t\tif ( ! font.startsWith( \"'\" ) && font.indexOf( ' ' ) !== -1 ) {\n\t\t\t\treturn `'${ font }'`;\n\t\t\t}\n\t\t\treturn font; // Return font as is if no transformation is needed\n\t\t} )\n\t\t.join( ', ' );\n}\n\nexport function getFamilyPreviewStyle( family ) {\n\tconst style = { fontFamily: formatFontFamily( family.fontFamily ) };\n\n\tif ( ! Array.isArray( family.fontFace ) ) {\n\t\tstyle.fontWeight = '400';\n\t\tstyle.fontStyle = 'normal';\n\t\treturn style;\n\t}\n\n\tif ( family.fontFace ) {\n\t\t//get all the font faces with normal style\n\t\tconst normalFaces = family.fontFace.filter(\n\t\t\t( face ) => face.fontStyle.toLowerCase() === 'normal'\n\t\t);\n\t\tif ( normalFaces.length > 0 ) {\n\t\t\tstyle.fontStyle = 'normal';\n\t\t\tconst normalWeights = extractFontWeights( normalFaces );\n\t\t\tconst nearestWeight = findNearest( 400, normalWeights );\n\t\t\tstyle.fontWeight = String( nearestWeight ) || '400';\n\t\t} else {\n\t\t\tstyle.fontStyle =\n\t\t\t\t( family.fontFace.length && family.fontFace[ 0 ].fontStyle ) ||\n\t\t\t\t'normal';\n\t\t\tstyle.fontWeight =\n\t\t\t\t( family.fontFace.length &&\n\t\t\t\t\tString( family.fontFace[ 0 ].fontWeight ) ) ||\n\t\t\t\t'400';\n\t\t}\n\t}\n\n\treturn style;\n}\n\nexport function getFacePreviewStyle( face ) {\n\treturn {\n\t\tfontFamily: formatFontFamily( face.fontFamily ),\n\t\tfontStyle: face.fontStyle || 'normal',\n\t\tfontWeight: face.fontWeight || '400',\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function getNumericFontWeight(value) {
|
|
2
|
+
switch (value) {
|
|
3
|
+
case 'normal':
|
|
4
|
+
return 400;
|
|
5
|
+
case 'bold':
|
|
6
|
+
return 700;
|
|
7
|
+
case 'bolder':
|
|
8
|
+
return 500;
|
|
9
|
+
case 'lighter':
|
|
10
|
+
return 300;
|
|
11
|
+
default:
|
|
12
|
+
return parseInt(value, 10);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export function sortFontFaces(faces) {
|
|
16
|
+
return faces.sort((a, b) => {
|
|
17
|
+
// Ensure 'normal' fontStyle is always first
|
|
18
|
+
if (a.fontStyle === 'normal' && b.fontStyle !== 'normal') return -1;
|
|
19
|
+
if (b.fontStyle === 'normal' && a.fontStyle !== 'normal') return 1;
|
|
20
|
+
|
|
21
|
+
// If both fontStyles are the same, sort by fontWeight
|
|
22
|
+
if (a.fontStyle === b.fontStyle) {
|
|
23
|
+
return getNumericFontWeight(a.fontWeight) - getNumericFontWeight(b.fontWeight);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Sort other fontStyles alphabetically
|
|
27
|
+
return a.fontStyle.localeCompare(b.fontStyle);
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=sort-font-faces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["getNumericFontWeight","value","parseInt","sortFontFaces","faces","sort","a","b","fontStyle","fontWeight","localeCompare"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/sort-font-faces.js"],"sourcesContent":["function getNumericFontWeight( value ) {\n\tswitch ( value ) {\n\t\tcase 'normal':\n\t\t\treturn 400;\n\t\tcase 'bold':\n\t\t\treturn 700;\n\t\tcase 'bolder':\n\t\t\treturn 500;\n\t\tcase 'lighter':\n\t\t\treturn 300;\n\t\tdefault:\n\t\t\treturn parseInt( value, 10 );\n\t}\n}\n\nexport function sortFontFaces( faces ) {\n\treturn faces.sort( ( a, b ) => {\n\t\t// Ensure 'normal' fontStyle is always first\n\t\tif ( a.fontStyle === 'normal' && b.fontStyle !== 'normal' ) return -1;\n\t\tif ( b.fontStyle === 'normal' && a.fontStyle !== 'normal' ) return 1;\n\n\t\t// If both fontStyles are the same, sort by fontWeight\n\t\tif ( a.fontStyle === b.fontStyle ) {\n\t\t\treturn (\n\t\t\t\tgetNumericFontWeight( a.fontWeight ) -\n\t\t\t\tgetNumericFontWeight( b.fontWeight )\n\t\t\t);\n\t\t}\n\n\t\t// Sort other fontStyles alphabetically\n\t\treturn a.fontStyle.localeCompare( b.fontStyle );\n\t} );\n}\n"],"mappings":"AAAA,SAASA,oBAAoBA,CAAEC,KAAK,EAAG;EACtC,QAASA,KAAK;IACb,KAAK,QAAQ;MACZ,OAAO,GAAG;IACX,KAAK,MAAM;MACV,OAAO,GAAG;IACX,KAAK,QAAQ;MACZ,OAAO,GAAG;IACX,KAAK,SAAS;MACb,OAAO,GAAG;IACX;MACC,OAAOC,QAAQ,CAAED,KAAK,EAAE,EAAG,CAAC;EAC9B;AACD;AAEA,OAAO,SAASE,aAAaA,CAAEC,KAAK,EAAG;EACtC,OAAOA,KAAK,CAACC,IAAI,CAAE,CAAEC,CAAC,EAAEC,CAAC,KAAM;IAC9B;IACA,IAAKD,CAAC,CAACE,SAAS,KAAK,QAAQ,IAAID,CAAC,CAACC,SAAS,KAAK,QAAQ,EAAG,OAAO,CAAC,CAAC;IACrE,IAAKD,CAAC,CAACC,SAAS,KAAK,QAAQ,IAAIF,CAAC,CAACE,SAAS,KAAK,QAAQ,EAAG,OAAO,CAAC;;IAEpE;IACA,IAAKF,CAAC,CAACE,SAAS,KAAKD,CAAC,CAACC,SAAS,EAAG;MAClC,OACCR,oBAAoB,CAAEM,CAAC,CAACG,UAAW,CAAC,GACpCT,oBAAoB,CAAEO,CAAC,CAACE,UAAW,CAAC;IAEtC;;IAEA;IACA,OAAOH,CAAC,CAACE,SAAS,CAACE,aAAa,CAAEH,CAAC,CAACC,SAAU,CAAC;EAChD,CAAE,CAAC;AACJ"}
|
|
@@ -19,7 +19,7 @@ function ScreenTypography() {
|
|
|
19
19
|
className: "edit-site-global-styles-screen-typography"
|
|
20
20
|
}, createElement(VStack, {
|
|
21
21
|
spacing: 6
|
|
22
|
-
}, window.
|
|
22
|
+
}, !window.__experimentalDisableFontLibrary && createElement(FontFamilies, null), createElement(TypographyElements, null))));
|
|
23
23
|
}
|
|
24
24
|
export default ScreenTypography;
|
|
25
25
|
//# sourceMappingURL=screen-typography.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","__experimentalVStack","VStack","TypographyElements","FontFamilies","ScreenHeader","ScreenTypography","createElement","Fragment","title","description","className","spacing","window","
|
|
1
|
+
{"version":3,"names":["__","__experimentalVStack","VStack","TypographyElements","FontFamilies","ScreenHeader","ScreenTypography","createElement","Fragment","title","description","className","spacing","window","__experimentalDisableFontLibrary"],"sources":["@wordpress/edit-site/src/components/global-styles/screen-typography.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TypographyElements from './typogrphy-elements';\nimport FontFamilies from './font-families';\nimport ScreenHeader from './header';\n\nfunction ScreenTypography() {\n\treturn (\n\t\t<>\n\t\t\t<ScreenHeader\n\t\t\t\ttitle={ __( 'Typography' ) }\n\t\t\t\tdescription={ __(\n\t\t\t\t\t'Manage the typography settings for different elements.'\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t<div className=\"edit-site-global-styles-screen-typography\">\n\t\t\t\t<VStack spacing={ 6 }>\n\t\t\t\t\t{ ! window.__experimentalDisableFontLibrary && (\n\t\t\t\t\t\t<FontFamilies />\n\t\t\t\t\t) }\n\t\t\t\t\t<TypographyElements />\n\t\t\t\t</VStack>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default ScreenTypography;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,oBAAoB,IAAIC,MAAM,QAAQ,uBAAuB;;AAEtE;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,sBAAsB;AACrD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,YAAY,MAAM,UAAU;AAEnC,SAASC,gBAAgBA,CAAA,EAAG;EAC3B,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACF,YAAY;IACZI,KAAK,EAAGT,EAAE,CAAE,YAAa,CAAG;IAC5BU,WAAW,EAAGV,EAAE,CACf,wDACD;EAAG,CACH,CAAC,EACFO,aAAA;IAAKI,SAAS,EAAC;EAA2C,GACzDJ,aAAA,CAACL,MAAM;IAACU,OAAO,EAAG;EAAG,GAClB,CAAEC,MAAM,CAACC,gCAAgC,IAC1CP,aAAA,CAACH,YAAY,MAAE,CACf,EACDG,aAAA,CAACJ,kBAAkB,MAAE,CACd,CACJ,CACJ,CAAC;AAEL;AAEA,eAAeG,gBAAgB"}
|
|
@@ -22,11 +22,12 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
22
22
|
*/
|
|
23
23
|
import useEditedEntityRecord from '../../use-edited-entity-record';
|
|
24
24
|
import { store as editSiteStore } from '../../../store';
|
|
25
|
+
import { TEMPLATE_POST_TYPE, NAVIGATION_POST_TYPE, TEMPLATE_PART_POST_TYPE, PATTERN_TYPES, PATTERN_SYNC_TYPES } from '../../../utils/constants';
|
|
25
26
|
const typeLabels = {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
27
|
+
[PATTERN_TYPES.user]: __('Editing pattern:'),
|
|
28
|
+
[NAVIGATION_POST_TYPE]: __('Editing navigation menu:'),
|
|
29
|
+
[TEMPLATE_POST_TYPE]: __('Editing template:'),
|
|
30
|
+
[TEMPLATE_PART_POST_TYPE]: __('Editing template part:')
|
|
30
31
|
};
|
|
31
32
|
export default function DocumentActions() {
|
|
32
33
|
const isPage = useSelect(select => select(editSiteStore).isPage(), []);
|
|
@@ -106,20 +107,20 @@ function TemplateDocumentActions({
|
|
|
106
107
|
}, __('Document not found'));
|
|
107
108
|
}
|
|
108
109
|
let typeIcon = icon;
|
|
109
|
-
if (record.type ===
|
|
110
|
+
if (record.type === NAVIGATION_POST_TYPE) {
|
|
110
111
|
typeIcon = navigationIcon;
|
|
111
|
-
} else if (record.type ===
|
|
112
|
+
} else if (record.type === PATTERN_TYPES.user) {
|
|
112
113
|
typeIcon = symbol;
|
|
113
114
|
}
|
|
114
115
|
return createElement(BaseDocumentActions, {
|
|
115
116
|
className: classnames(className, {
|
|
116
|
-
'is-synced-entity': record.wp_pattern_sync_status !==
|
|
117
|
+
'is-synced-entity': record.wp_pattern_sync_status !== PATTERN_SYNC_TYPES.unsynced
|
|
117
118
|
}),
|
|
118
119
|
icon: typeIcon,
|
|
119
120
|
onBack: onBack
|
|
120
121
|
}, createElement(VisuallyHidden, {
|
|
121
122
|
as: "span"
|
|
122
|
-
}, (_typeLabels$record$ty = typeLabels[record.type]) !== null && _typeLabels$record$ty !== void 0 ? _typeLabels$record$ty : typeLabels
|
|
123
|
+
}, (_typeLabels$record$ty = typeLabels[record.type]) !== null && _typeLabels$record$ty !== void 0 ? _typeLabels$record$ty : typeLabels[TEMPLATE_POST_TYPE]), getTitle());
|
|
123
124
|
}
|
|
124
125
|
function BaseDocumentActions({
|
|
125
126
|
className,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","isRTL","useSelect","useDispatch","Button","VisuallyHidden","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","store","commandsStore","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","useState","useEffect","useRef","coreStore","useEditedEntityRecord","editSiteStore","typeLabels","wp_block","wp_navigation","wp_template","wp_template_part","DocumentActions","isPage","select","createElement","PageDocumentActions","TemplateDocumentActions","hasPageContentFocus","hasResolved","isFound","title","_hasPageContentFocus","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","setHasPageContentFocus","hasEditedTemplate","setHasEditedTemplate","prevHasPageContentFocus","current","className","BaseDocumentActions","icon","onBack","_typeLabels$record$ty","isLoaded","record","getTitle","typeIcon","type","wp_pattern_sync_status","as","children","open","openCommandCenter","onClick","event","stopPropagation","spacing","justify","size","primary"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-actions/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { store as commandsStore } from '@wordpress/commands';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\nimport { store as editSiteStore } from '../../../store';\n\nconst typeLabels = {\n\twp_block: __( 'Editing pattern:' ),\n\twp_navigation: __( 'Editing navigation menu:' ),\n\twp_template: __( 'Editing template:' ),\n\twp_template_part: __( 'Editing template part:' ),\n};\n\nexport default function DocumentActions() {\n\tconst isPage = useSelect(\n\t\t( select ) => select( editSiteStore ).isPage(),\n\t\t[]\n\t);\n\treturn isPage ? <PageDocumentActions /> : <TemplateDocumentActions />;\n}\n\nfunction PageDocumentActions() {\n\tconst { hasPageContentFocus, hasResolved, isFound, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t\t\tgetEditedPostContext,\n\t\t\t} = 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\thasPageContentFocus: _hasPageContentFocus(),\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\tisFound: !! page,\n\t\t\t\ttitle: page?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ hasEditedTemplate, setHasEditedTemplate ] = useState( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\tuseEffect( () => {\n\t\tif ( prevHasPageContentFocus.current && ! hasPageContentFocus ) {\n\t\t\tsetHasEditedTemplate( true );\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [ hasPageContentFocus ] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\tif ( ! isFound ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn hasPageContentFocus ? (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( 'is-page', {\n\t\t\t\t'is-animated': hasEditedTemplate,\n\t\t\t} ) }\n\t\t\ticon={ pageIcon }\n\t\t>\n\t\t\t{ title }\n\t\t</BaseDocumentActions>\n\t) : (\n\t\t<TemplateDocumentActions\n\t\t\tclassName=\"is-animated\"\n\t\t\tonBack={ () => setHasPageContentFocus( true ) }\n\t\t/>\n\t);\n}\n\nfunction TemplateDocumentActions( { className, onBack } ) {\n\tconst { isLoaded, record, getTitle, icon } = useEditedEntityRecord();\n\n\tif ( ! isLoaded ) {\n\t\treturn null;\n\t}\n\n\tif ( ! record ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet typeIcon = icon;\n\tif ( record.type === 'wp_navigation' ) {\n\t\ttypeIcon = navigationIcon;\n\t} else if ( record.type === 'wp_block' ) {\n\t\ttypeIcon = symbol;\n\t}\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-synced-entity':\n\t\t\t\t\trecord.wp_pattern_sync_status !== 'unsynced',\n\t\t\t} ) }\n\t\t\ticon={ typeIcon }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t{ typeLabels[ record.type ] ?? typeLabels.wp_template }\n\t\t\t</VisuallyHidden>\n\t\t\t{ getTitle() }\n\t\t</BaseDocumentActions>\n\t);\n}\n\nfunction BaseDocumentActions( { className, icon, children, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', className ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-document-actions__back\"\n\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-site-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","isRTL","useSelect","useDispatch","Button","VisuallyHidden","__experimentalText","Text","__experimentalHStack","HStack","BlockIcon","store","commandsStore","chevronLeftSmall","chevronRightSmall","page","pageIcon","navigation","navigationIcon","symbol","displayShortcut","useState","useEffect","useRef","coreStore","useEditedEntityRecord","editSiteStore","TEMPLATE_POST_TYPE","NAVIGATION_POST_TYPE","TEMPLATE_PART_POST_TYPE","PATTERN_TYPES","PATTERN_SYNC_TYPES","typeLabels","user","DocumentActions","isPage","select","createElement","PageDocumentActions","TemplateDocumentActions","hasPageContentFocus","hasResolved","isFound","title","_hasPageContentFocus","getEditedPostContext","getEditedEntityRecord","hasFinishedResolution","context","queryArgs","postType","postId","setHasPageContentFocus","hasEditedTemplate","setHasEditedTemplate","prevHasPageContentFocus","current","className","BaseDocumentActions","icon","onBack","_typeLabels$record$ty","isLoaded","record","getTitle","typeIcon","type","wp_pattern_sync_status","unsynced","as","children","open","openCommandCenter","onClick","event","stopPropagation","spacing","justify","size","primary"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/document-actions/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, isRTL } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tButton,\n\tVisuallyHidden,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { BlockIcon } from '@wordpress/block-editor';\nimport { store as commandsStore } from '@wordpress/commands';\nimport {\n\tchevronLeftSmall,\n\tchevronRightSmall,\n\tpage as pageIcon,\n\tnavigation as navigationIcon,\n\tsymbol,\n} from '@wordpress/icons';\nimport { displayShortcut } from '@wordpress/keycodes';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useEditedEntityRecord from '../../use-edited-entity-record';\nimport { store as editSiteStore } from '../../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n} from '../../../utils/constants';\n\nconst typeLabels = {\n\t[ PATTERN_TYPES.user ]: __( 'Editing pattern:' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Editing navigation menu:' ),\n\t[ TEMPLATE_POST_TYPE ]: __( 'Editing template:' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Editing template part:' ),\n};\n\nexport default function DocumentActions() {\n\tconst isPage = useSelect(\n\t\t( select ) => select( editSiteStore ).isPage(),\n\t\t[]\n\t);\n\treturn isPage ? <PageDocumentActions /> : <TemplateDocumentActions />;\n}\n\nfunction PageDocumentActions() {\n\tconst { hasPageContentFocus, hasResolved, isFound, title } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\thasPageContentFocus: _hasPageContentFocus,\n\t\t\t\tgetEditedPostContext,\n\t\t\t} = 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\thasPageContentFocus: _hasPageContentFocus(),\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\tisFound: !! page,\n\t\t\t\ttitle: page?.title,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tconst [ hasEditedTemplate, setHasEditedTemplate ] = useState( false );\n\tconst prevHasPageContentFocus = useRef( false );\n\tuseEffect( () => {\n\t\tif ( prevHasPageContentFocus.current && ! hasPageContentFocus ) {\n\t\t\tsetHasEditedTemplate( true );\n\t\t}\n\t\tprevHasPageContentFocus.current = hasPageContentFocus;\n\t}, [ hasPageContentFocus ] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\tif ( ! isFound ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn hasPageContentFocus ? (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( 'is-page', {\n\t\t\t\t'is-animated': hasEditedTemplate,\n\t\t\t} ) }\n\t\t\ticon={ pageIcon }\n\t\t>\n\t\t\t{ title }\n\t\t</BaseDocumentActions>\n\t) : (\n\t\t<TemplateDocumentActions\n\t\t\tclassName=\"is-animated\"\n\t\t\tonBack={ () => setHasPageContentFocus( true ) }\n\t\t/>\n\t);\n}\n\nfunction TemplateDocumentActions( { className, onBack } ) {\n\tconst { isLoaded, record, getTitle, icon } = useEditedEntityRecord();\n\n\tif ( ! isLoaded ) {\n\t\treturn null;\n\t}\n\n\tif ( ! record ) {\n\t\treturn (\n\t\t\t<div className=\"edit-site-document-actions\">\n\t\t\t\t{ __( 'Document not found' ) }\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet typeIcon = icon;\n\tif ( record.type === NAVIGATION_POST_TYPE ) {\n\t\ttypeIcon = navigationIcon;\n\t} else if ( record.type === PATTERN_TYPES.user ) {\n\t\ttypeIcon = symbol;\n\t}\n\n\treturn (\n\t\t<BaseDocumentActions\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-synced-entity':\n\t\t\t\t\trecord.wp_pattern_sync_status !==\n\t\t\t\t\tPATTERN_SYNC_TYPES.unsynced,\n\t\t\t} ) }\n\t\t\ticon={ typeIcon }\n\t\t\tonBack={ onBack }\n\t\t>\n\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t{ typeLabels[ record.type ] ??\n\t\t\t\t\ttypeLabels[ TEMPLATE_POST_TYPE ] }\n\t\t\t</VisuallyHidden>\n\t\t\t{ getTitle() }\n\t\t</BaseDocumentActions>\n\t);\n}\n\nfunction BaseDocumentActions( { className, icon, children, onBack } ) {\n\tconst { open: openCommandCenter } = useDispatch( commandsStore );\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-document-actions', className ) }\n\t\t>\n\t\t\t{ onBack && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"edit-site-document-actions__back\"\n\t\t\t\t\ticon={ isRTL() ? chevronRightSmall : chevronLeftSmall }\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tonBack();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Back' ) }\n\t\t\t\t</Button>\n\t\t\t) }\n\t\t\t<Button\n\t\t\t\tclassName=\"edit-site-document-actions__command\"\n\t\t\t\tonClick={ () => openCommandCenter() }\n\t\t\t>\n\t\t\t\t<HStack\n\t\t\t\t\tclassName=\"edit-site-document-actions__title\"\n\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\tjustify=\"center\"\n\t\t\t\t>\n\t\t\t\t\t<BlockIcon icon={ icon } />\n\t\t\t\t\t<Text size=\"body\" as=\"h1\">\n\t\t\t\t\t\t{ children }\n\t\t\t\t\t</Text>\n\t\t\t\t</HStack>\n\t\t\t\t<span className=\"edit-site-document-actions__shortcut\">\n\t\t\t\t\t{ displayShortcut.primary( 'k' ) }\n\t\t\t\t</span>\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -37,7 +37,9 @@ const {
|
|
|
37
37
|
const preventDefault = event => {
|
|
38
38
|
event.preventDefault();
|
|
39
39
|
};
|
|
40
|
-
export default function HeaderEditMode(
|
|
40
|
+
export default function HeaderEditMode({
|
|
41
|
+
setListViewToggleElement
|
|
42
|
+
}) {
|
|
41
43
|
const inserterButton = useRef();
|
|
42
44
|
const {
|
|
43
45
|
deviceType,
|
|
@@ -193,6 +195,7 @@ export default function HeaderEditMode() {
|
|
|
193
195
|
/* translators: button label text should, if possible, be under 16 characters. */,
|
|
194
196
|
label: __('List View'),
|
|
195
197
|
onClick: toggleListView,
|
|
198
|
+
ref: setListViewToggleElement,
|
|
196
199
|
shortcut: listViewShortcut,
|
|
197
200
|
showTooltip: !showIconLabels,
|
|
198
201
|
variant: showIconLabels ? 'tertiary' : undefined,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useCallback","useRef","useViewportMatch","useReducedMotion","store","coreStore","ToolSelector","__experimentalPreviewOptions","PreviewOptions","NavigableToolbar","blockEditorStore","privateApis","blockEditorPrivateApis","useSelect","useDispatch","PinnedItems","_x","__","listView","plus","external","chevronUpDown","__unstableMotion","motion","Button","ToolbarItem","MenuGroup","MenuItem","VisuallyHidden","keyboardShortcutsStore","preferencesStore","MoreMenu","SaveButton","UndoButton","RedoButton","DocumentActions","editSiteStore","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","unlock","FOCUSABLE_ENTITIES","useShouldContextualToolbarShow","preventDefault","event","HeaderEditMode","inserterButton","deviceType","templateType","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","isDistractionFree","blockEditorMode","homeUrl","showIconLabels","editorCanvasView","hasFixedToolbar","select","__experimentalGetPreviewDeviceType","getEditedPostType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","__unstableGetEditorMode","postType","getUnstableBase","get","getPreference","home","name","getEditorCanvasContainerView","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","disableMotion","isLargeViewport","toggleInserter","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","hasDefaultEditorCanvasView","isFocusMode","includes","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","toolbarVariants","y","isDistractionFreeHovering","view","edit","toolbarTransition","type","duration","ease","createElement","className","as","div","shouldUseKeyboardFocusShortcut","variants","transition","ref","variant","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","shortcut","setDeviceType","isEnabled","onClose","href","target","Slot","scope"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch, useReducedMotion } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToolSelector,\n\t__experimentalPreviewOptions as PreviewOptions,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, external, chevronUpDown } from '@wordpress/icons';\nimport {\n\t__unstableMotion as motion,\n\tButton,\n\tToolbarItem,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport DocumentActions from './document-actions';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport { unlock } from '../../lock-unlock';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function HeaderEditMode() {\n\tconst inserterButton = useRef();\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tisVisualMode,\n\t\tisDistractionFree,\n\t\tblockEditorMode,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\thasFixedToolbar,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostType,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tisDistractionFree: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst disableMotion = useReducedMotion();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\n\tconst isFocusMode = FOCUSABLE_ENTITIES.includes( templateType );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\tconst toolbarVariants = {\n\t\tisDistractionFree: { y: '-50px' },\n\t\tisDistractionFreeHovering: { y: 0 },\n\t\tview: { y: 0 },\n\t\tedit: { y: 0 },\n\t};\n\n\tconst toolbarTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : 0.2,\n\t\tease: 'easeOut',\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasDefaultEditorCanvasView && (\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tas={ motion.div }\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t\tshouldUseKeyboardFocusShortcut={\n\t\t\t\t\t\t! blockToolbarCanBeFocused\n\t\t\t\t\t}\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? shortLabel : longLabel\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\taria-expanded={ isInserterOpen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ ! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\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\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t! isVisualMode || isZoomedOutView\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\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\t{ isZoomedOutViewExperimentEnabled &&\n\t\t\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t\t\t! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Desktop'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</NavigableToolbar>\n\t\t\t) }\n\n\t\t\t{ ! isDistractionFree && (\n\t\t\t\t<div className=\"edit-site-header-edit-mode__center\">\n\t\t\t\t\t{ ! hasDefaultEditorCanvasView ? (\n\t\t\t\t\t\tgetEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DocumentActions />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__actions\"\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\tlabel={ __( 'View' ) }\n\t\t\t\t\t\t\tisEnabled={\n\t\t\t\t\t\t\t\t! isFocusMode && hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PreviewOptions>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t) }\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</motion.div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useCallback","useRef","useViewportMatch","useReducedMotion","store","coreStore","ToolSelector","__experimentalPreviewOptions","PreviewOptions","NavigableToolbar","blockEditorStore","privateApis","blockEditorPrivateApis","useSelect","useDispatch","PinnedItems","_x","__","listView","plus","external","chevronUpDown","__unstableMotion","motion","Button","ToolbarItem","MenuGroup","MenuItem","VisuallyHidden","keyboardShortcutsStore","preferencesStore","MoreMenu","SaveButton","UndoButton","RedoButton","DocumentActions","editSiteStore","getEditorCanvasContainerTitle","useHasEditorCanvasContainer","unlock","FOCUSABLE_ENTITIES","useShouldContextualToolbarShow","preventDefault","event","HeaderEditMode","setListViewToggleElement","inserterButton","deviceType","templateType","isInserterOpen","isListViewOpen","listViewShortcut","isVisualMode","isDistractionFree","blockEditorMode","homeUrl","showIconLabels","editorCanvasView","hasFixedToolbar","select","__experimentalGetPreviewDeviceType","getEditedPostType","isInserterOpened","isListViewOpened","getEditorMode","getShortcutRepresentation","__unstableGetEditorMode","postType","getUnstableBase","get","getPreference","home","name","getEditorCanvasContainerView","__experimentalSetPreviewDeviceType","setPreviewDeviceType","setIsInserterOpened","setIsListViewOpened","__unstableSetEditorMode","disableMotion","isLargeViewport","toggleInserter","current","focus","toggleListView","shouldShowContextualToolbar","canFocusHiddenToolbar","fixedToolbarCanBeFocused","blockToolbarCanBeFocused","hasDefaultEditorCanvasView","isFocusMode","includes","longLabel","shortLabel","isZoomedOutViewExperimentEnabled","window","__experimentalEnableZoomedOutView","isZoomedOutView","toolbarVariants","y","isDistractionFreeHovering","view","edit","toolbarTransition","type","duration","ease","createElement","className","as","div","shouldUseKeyboardFocusShortcut","variants","transition","ref","variant","isPressed","onMouseDown","onClick","disabled","icon","label","showTooltip","Fragment","undefined","shortcut","setDeviceType","isEnabled","onClose","href","target","Slot","scope"],"sources":["@wordpress/edit-site/src/components/header-edit-mode/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useViewportMatch, useReducedMotion } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tToolSelector,\n\t__experimentalPreviewOptions as PreviewOptions,\n\tNavigableToolbar,\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { PinnedItems } from '@wordpress/interface';\nimport { _x, __ } from '@wordpress/i18n';\nimport { listView, plus, external, chevronUpDown } from '@wordpress/icons';\nimport {\n\t__unstableMotion as motion,\n\tButton,\n\tToolbarItem,\n\tMenuGroup,\n\tMenuItem,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport MoreMenu from './more-menu';\nimport SaveButton from '../save-button';\nimport UndoButton from './undo-redo/undo';\nimport RedoButton from './undo-redo/redo';\nimport DocumentActions from './document-actions';\nimport { store as editSiteStore } from '../../store';\nimport {\n\tgetEditorCanvasContainerTitle,\n\tuseHasEditorCanvasContainer,\n} from '../editor-canvas-container';\nimport { unlock } from '../../lock-unlock';\nimport { FOCUSABLE_ENTITIES } from '../../utils/constants';\n\nconst { useShouldContextualToolbarShow } = unlock( blockEditorPrivateApis );\n\nconst preventDefault = ( event ) => {\n\tevent.preventDefault();\n};\n\nexport default function HeaderEditMode( { setListViewToggleElement } ) {\n\tconst inserterButton = useRef();\n\tconst {\n\t\tdeviceType,\n\t\ttemplateType,\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tlistViewShortcut,\n\t\tisVisualMode,\n\t\tisDistractionFree,\n\t\tblockEditorMode,\n\t\thomeUrl,\n\t\tshowIconLabels,\n\t\teditorCanvasView,\n\t\thasFixedToolbar,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetPreviewDeviceType,\n\t\t\tgetEditedPostType,\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetEditorMode,\n\t\t} = select( editSiteStore );\n\t\tconst { getShortcutRepresentation } = select( keyboardShortcutsStore );\n\t\tconst { __unstableGetEditorMode } = select( blockEditorStore );\n\n\t\tconst postType = getEditedPostType();\n\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\tconst { get: getPreference } = select( preferencesStore );\n\n\t\treturn {\n\t\t\tdeviceType: __experimentalGetPreviewDeviceType(),\n\t\t\ttemplateType: postType,\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tlistViewShortcut: getShortcutRepresentation(\n\t\t\t\t'core/edit-site/toggle-list-view'\n\t\t\t),\n\t\t\tisVisualMode: getEditorMode() === 'visual',\n\t\t\tblockEditorMode: __unstableGetEditorMode(),\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\tshowIconLabels: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'showIconLabels'\n\t\t\t),\n\t\t\teditorCanvasView: unlock(\n\t\t\t\tselect( editSiteStore )\n\t\t\t).getEditorCanvasContainerView(),\n\t\t\tisDistractionFree: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: getPreference(\n\t\t\t\teditSiteStore.name,\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t};\n\t}, [] );\n\n\tconst {\n\t\t__experimentalSetPreviewDeviceType: setPreviewDeviceType,\n\t\tsetIsInserterOpened,\n\t\tsetIsListViewOpened,\n\t} = useDispatch( editSiteStore );\n\tconst { __unstableSetEditorMode } = useDispatch( blockEditorStore );\n\tconst disableMotion = useReducedMotion();\n\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\n\tconst toggleInserter = useCallback( () => {\n\t\tif ( isInserterOpen ) {\n\t\t\t// Focusing the inserter button should close the inserter popover.\n\t\t\t// However, there are some cases it won't close when the focus is lost.\n\t\t\t// See https://github.com/WordPress/gutenberg/issues/43090 for more details.\n\t\t\tinserterButton.current.focus();\n\t\t\tsetIsInserterOpened( false );\n\t\t} else {\n\t\t\tsetIsInserterOpened( true );\n\t\t}\n\t}, [ isInserterOpen, setIsInserterOpened ] );\n\n\tconst toggleListView = useCallback(\n\t\t() => setIsListViewOpened( ! isListViewOpen ),\n\t\t[ setIsListViewOpened, isListViewOpen ]\n\t);\n\n\tconst {\n\t\tshouldShowContextualToolbar,\n\t\tcanFocusHiddenToolbar,\n\t\tfixedToolbarCanBeFocused,\n\t} = useShouldContextualToolbarShow();\n\t// If there's a block toolbar to be focused, disable the focus shortcut for the document toolbar.\n\t// There's a fixed block toolbar when the fixed toolbar option is enabled or when the browser width is less than the large viewport.\n\tconst blockToolbarCanBeFocused =\n\t\tshouldShowContextualToolbar ||\n\t\tcanFocusHiddenToolbar ||\n\t\tfixedToolbarCanBeFocused;\n\n\tconst hasDefaultEditorCanvasView = ! useHasEditorCanvasContainer();\n\n\tconst isFocusMode = FOCUSABLE_ENTITIES.includes( templateType );\n\n\t/* translators: button label text should, if possible, be under 16 characters. */\n\tconst longLabel = _x(\n\t\t'Toggle block inserter',\n\t\t'Generic label for block inserter button'\n\t);\n\tconst shortLabel = ! isInserterOpen ? __( 'Add' ) : __( 'Close' );\n\n\tconst isZoomedOutViewExperimentEnabled =\n\t\twindow?.__experimentalEnableZoomedOutView && isVisualMode;\n\tconst isZoomedOutView = blockEditorMode === 'zoom-out';\n\n\tconst toolbarVariants = {\n\t\tisDistractionFree: { y: '-50px' },\n\t\tisDistractionFreeHovering: { y: 0 },\n\t\tview: { y: 0 },\n\t\tedit: { y: 0 },\n\t};\n\n\tconst toolbarTransition = {\n\t\ttype: 'tween',\n\t\tduration: disableMotion ? 0 : 0.2,\n\t\tease: 'easeOut',\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tclassName={ classnames( 'edit-site-header-edit-mode', {\n\t\t\t\t'show-icon-labels': showIconLabels,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasDefaultEditorCanvasView && (\n\t\t\t\t<NavigableToolbar\n\t\t\t\t\tas={ motion.div }\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__start\"\n\t\t\t\t\taria-label={ __( 'Document tools' ) }\n\t\t\t\t\tshouldUseKeyboardFocusShortcut={\n\t\t\t\t\t\t! blockToolbarCanBeFocused\n\t\t\t\t\t}\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div className=\"edit-site-header-edit-mode__toolbar\">\n\t\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\tref={ inserterButton }\n\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__inserter-toggle\"\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tisPressed={ isInserterOpen }\n\t\t\t\t\t\t\t\tonMouseDown={ preventDefault }\n\t\t\t\t\t\t\t\tonClick={ toggleInserter }\n\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\n\t\t\t\t\t\t\t\ticon={ plus }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tshowIconLabels ? shortLabel : longLabel\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\taria-expanded={ isInserterOpen }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLargeViewport && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ ! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ ToolSelector }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! isVisualMode }\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\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ UndoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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\t<ToolbarItem\n\t\t\t\t\t\t\t\t\tas={ RedoButton }\n\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\tshowIconLabels ? 'tertiary' : undefined\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\t{ ! isDistractionFree && (\n\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__list-view-toggle\"\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\t! isVisualMode || isZoomedOutView\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={ listView }\n\t\t\t\t\t\t\t\t\t\tisPressed={ isListViewOpen }\n\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'List View' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ toggleListView }\n\t\t\t\t\t\t\t\t\t\tref={ setListViewToggleElement }\n\t\t\t\t\t\t\t\t\t\tshortcut={ listViewShortcut }\n\t\t\t\t\t\t\t\t\t\tshowTooltip={ ! showIconLabels }\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\tshowIconLabels\n\t\t\t\t\t\t\t\t\t\t\t\t? 'tertiary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isListViewOpen }\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\t{ isZoomedOutViewExperimentEnabled &&\n\t\t\t\t\t\t\t\t\t! isDistractionFree &&\n\t\t\t\t\t\t\t\t\t! hasFixedToolbar && (\n\t\t\t\t\t\t\t\t\t\t<ToolbarItem\n\t\t\t\t\t\t\t\t\t\t\tas={ Button }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-header-edit-mode__zoom-out-view-toggle\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ chevronUpDown }\n\t\t\t\t\t\t\t\t\t\t\tisPressed={ isZoomedOutView }\n\t\t\t\t\t\t\t\t\t\t\t/* translators: button label text should, if possible, be under 16 characters. */\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Zoom-out View' ) }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetPreviewDeviceType(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Desktop'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableSetEditorMode(\n\t\t\t\t\t\t\t\t\t\t\t\t\tisZoomedOutView\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t? 'edit'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t: 'zoom-out'\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</NavigableToolbar>\n\t\t\t) }\n\n\t\t\t{ ! isDistractionFree && (\n\t\t\t\t<div className=\"edit-site-header-edit-mode__center\">\n\t\t\t\t\t{ ! hasDefaultEditorCanvasView ? (\n\t\t\t\t\t\tgetEditorCanvasContainerTitle( editorCanvasView )\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<DocumentActions />\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t<div className=\"edit-site-header-edit-mode__end\">\n\t\t\t\t<motion.div\n\t\t\t\t\tclassName=\"edit-site-header-edit-mode__actions\"\n\t\t\t\t\tvariants={ toolbarVariants }\n\t\t\t\t\ttransition={ toolbarTransition }\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'edit-site-header-edit-mode__preview-options',\n\t\t\t\t\t\t\t{ 'is-zoomed-out': isZoomedOutView }\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<PreviewOptions\n\t\t\t\t\t\t\tdeviceType={ deviceType }\n\t\t\t\t\t\t\tsetDeviceType={ setPreviewDeviceType }\n\t\t\t\t\t\t\tlabel={ __( 'View' ) }\n\t\t\t\t\t\t\tisEnabled={\n\t\t\t\t\t\t\t\t! isFocusMode && hasDefaultEditorCanvasView\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\t\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'View site' ) }\n\t\t\t\t\t\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '(opens in a new tab)' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PreviewOptions>\n\t\t\t\t\t</div>\n\t\t\t\t\t<SaveButton />\n\t\t\t\t\t{ ! isDistractionFree && (\n\t\t\t\t\t\t<PinnedItems.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t) }\n\t\t\t\t\t<MoreMenu showIconLabels={ showIconLabels } />\n\t\t\t\t</motion.div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|