@wordpress/edit-site 5.19.0 → 5.19.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/add-new-pattern/index.js +3 -3
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +73 -0
- package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/index.js +31 -0
- package/build/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +76 -0
- package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build/components/block-editor/index.js +2 -9
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +1 -1
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/create-template-part-modal/index.js +8 -12
- package/build/components/create-template-part-modal/index.js.map +1 -1
- package/build/components/editor/index.js +4 -1
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/font-families.js +2 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +2 -2
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +49 -0
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +55 -0
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +26 -2
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +7 -4
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +172 -0
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +41 -0
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +25 -7
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/constants.js +1 -7
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +21 -0
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +20 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +2 -52
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +76 -0
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js +36 -0
- package/build/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +1 -1
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/header-edit-mode/document-actions/index.js +9 -8
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +4 -1
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/layout/index.js +5 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +13 -8
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/list/index.js +2 -1
- package/build/components/list/index.js.map +1 -1
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +5 -5
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/index.js +1 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +1 -1
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +28 -34
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/add-new-template-part.js +3 -2
- package/build/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build/components/page-template-parts/index.js +2 -1
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/page-templates/index.js +3 -2
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/save-hub/index.js +2 -1
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/secondary-sidebar/list-view-sidebar.js +24 -17
- package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +2 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +3 -3
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/start-template-options/index.js +20 -2
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-actions/index.js +2 -1
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +8 -3
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +2 -1
- package/build/hooks/navigation-menu-edit.js.map +1 -1
- package/build/hooks/template-part-edit.js +2 -1
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/store/actions.js +10 -9
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +1 -9
- package/build/store/constants.js.map +1 -1
- package/build/store/private-actions.js +21 -1
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +23 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +3 -2
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +22 -3
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +1 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +1 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build/utils/template-part-create.js +6 -1
- package/build/utils/template-part-create.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +3 -3
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +65 -0
- package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/index.js +23 -0
- package/build-module/components/block-editor/block-editor-provider/index.js.map +1 -0
- package/build-module/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +1 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +70 -0
- package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +1 -0
- package/build-module/components/block-editor/index.js +1 -8
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +2 -2
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/create-template-part-modal/index.js +8 -12
- package/build-module/components/create-template-part-modal/index.js.map +1 -1
- package/build-module/components/editor/index.js +4 -1
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +3 -2
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-family-item.js +2 -2
- package/build-module/components/global-styles/font-family-item.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +40 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +27 -3
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +8 -5
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +164 -0
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js +30 -13
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +33 -0
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +26 -7
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +2 -2
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -5
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +2 -1
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +14 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +1 -6
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +15 -0
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +13 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +2 -51
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +68 -0
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js +30 -0
- package/build-module/components/global-styles/font-library-modal/utils/sort-font-faces.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +1 -1
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/header-edit-mode/document-actions/index.js +9 -8
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +4 -1
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/layout/index.js +5 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +13 -8
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/list/index.js +2 -1
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -3
- package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
- package/build-module/components/page-patterns/duplicate-menu-item.js +5 -5
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +5 -5
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/index.js +1 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +2 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +28 -35
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/add-new-template-part.js +3 -2
- package/build-module/components/page-template-parts/add-new-template-part.js.map +1 -1
- package/build-module/components/page-template-parts/index.js +2 -1
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/page-templates/index.js +3 -2
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +2 -1
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/list-view-sidebar.js +26 -19
- package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +21 -3
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +2 -6
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +3 -2
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +8 -7
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +4 -4
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +8 -3
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +7 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +3 -2
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js +20 -2
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -4
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +4 -3
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-actions/index.js +2 -1
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +8 -3
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +4 -3
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/hooks/navigation-menu-edit.js +2 -1
- package/build-module/hooks/navigation-menu-edit.js.map +1 -1
- package/build-module/hooks/template-part-edit.js +2 -1
- package/build-module/hooks/template-part-edit.js.map +1 -1
- package/build-module/store/actions.js +10 -10
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +0 -4
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/private-actions.js +19 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +22 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +3 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +17 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +2 -2
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +2 -2
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-module/utils/template-part-create.js +6 -1
- package/build-module/utils/template-part-create.js.map +1 -1
- package/build-style/style-rtl.css +23 -0
- package/build-style/style.css +23 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +3 -3
- package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +70 -0
- package/src/components/block-editor/block-editor-provider/index.js +29 -0
- package/src/components/block-editor/{providers → block-editor-provider}/navigation-block-editor-provider.js +2 -1
- package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +87 -0
- package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +77 -0
- package/src/components/block-editor/index.js +1 -14
- package/src/components/block-editor/site-editor-canvas.js +5 -2
- package/src/components/create-template-part-modal/index.js +11 -12
- package/src/components/editor/index.js +6 -2
- package/src/components/global-styles/font-families.js +5 -1
- package/src/components/global-styles/font-family-item.js +2 -2
- package/src/components/global-styles/font-library-modal/collection-font-details.js +56 -0
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +45 -0
- package/src/components/global-styles/font-library-modal/context.js +33 -2
- package/src/components/global-styles/font-library-modal/font-card.js +9 -4
- package/src/components/global-styles/font-library-modal/font-collection.js +257 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +36 -10
- package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +50 -0
- package/src/components/global-styles/font-library-modal/index.js +30 -5
- package/src/components/global-styles/font-library-modal/installed-fonts.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-card.js +1 -8
- package/src/components/global-styles/font-library-modal/library-font-details.js +2 -3
- package/src/components/global-styles/font-library-modal/resolvers.js +16 -0
- package/src/components/global-styles/font-library-modal/style.scss +26 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +2 -2
- package/src/components/global-styles/font-library-modal/utils/constants.js +1 -9
- package/src/components/global-styles/font-library-modal/utils/filter-fonts.js +18 -0
- package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +21 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +9 -69
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +86 -0
- package/src/components/global-styles/font-library-modal/utils/sort-font-faces.js +33 -0
- package/src/components/global-styles/font-library-modal/utils/test/filter-fonts.spec.js +69 -0
- package/src/components/global-styles/font-library-modal/utils/test/fonts-outline.spec.js +109 -0
- package/src/components/global-styles/font-library-modal/utils/test/{getPreviewStyle.spec.js → preview-styles.spec.js} +49 -9
- package/src/components/global-styles/font-library-modal/utils/test/sort-font-faces.js +74 -0
- package/src/components/global-styles/screen-typography.js +4 -1
- package/src/components/header-edit-mode/document-actions/index.js +17 -8
- package/src/components/header-edit-mode/index.js +2 -1
- package/src/components/layout/index.js +10 -1
- package/src/components/list/added-by.js +29 -11
- package/src/components/list/index.js +7 -1
- package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +2 -8
- package/src/components/page-patterns/duplicate-menu-item.js +5 -5
- package/src/components/page-patterns/grid-item.js +5 -5
- package/src/components/page-patterns/index.js +1 -1
- package/src/components/page-patterns/search-items.js +7 -1
- package/src/components/page-patterns/use-patterns.js +190 -134
- package/src/components/page-template-parts/add-new-template-part.js +5 -2
- package/src/components/page-template-parts/index.js +2 -1
- package/src/components/page-templates/index.js +3 -2
- package/src/components/save-hub/index.js +2 -1
- package/src/components/secondary-sidebar/list-view-sidebar.js +31 -26
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +48 -20
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +9 -4
- package/src/components/sidebar-edit-mode/page-panels/style.scss +6 -0
- package/src/components/sidebar-edit-mode/settings-header/index.js +4 -7
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +9 -2
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +2 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/use-navigation-menu-handlers.js +3 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +3 -2
- package/src/components/sidebar-navigation-screen-page/page-details.js +2 -1
- package/src/components/sidebar-navigation-screen-pages/index.js +5 -4
- package/src/components/sidebar-navigation-screen-pattern/index.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +8 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +7 -1
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +18 -8
- package/src/components/sidebar-navigation-screen-patterns/index.js +8 -4
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +16 -3
- package/src/components/sidebar-navigation-screen-patterns/use-template-part-areas.js +12 -2
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +2 -1
- package/src/components/sidebar-navigation-screen-templates/index.js +4 -3
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +6 -2
- package/src/components/start-template-options/index.js +39 -2
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +10 -4
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +8 -3
- package/src/components/template-actions/index.js +2 -1
- package/src/components/template-actions/rename-menu-item.js +8 -3
- package/src/hooks/commands/use-edit-mode-commands.js +4 -3
- package/src/hooks/navigation-menu-edit.js +2 -1
- package/src/hooks/template-part-edit.js +2 -1
- package/src/store/actions.js +18 -10
- package/src/store/constants.js +0 -5
- package/src/store/private-actions.js +19 -0
- package/src/store/private-selectors.js +22 -0
- package/src/store/reducer.js +18 -0
- package/src/store/selectors.js +6 -3
- package/src/store/test/reducer.js +18 -0
- package/src/utils/constants.js +17 -1
- package/src/utils/is-template-removable.js +2 -2
- package/src/utils/is-template-revertable.js +2 -2
- package/src/utils/template-part-create.js +6 -1
- package/build/components/block-editor/get-block-editor-provider.js +0 -35
- package/build/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/default-block-editor-provider.js +0 -49
- package/build/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/get-block-editor-provider.js +0 -28
- package/build-module/components/block-editor/get-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/default-block-editor-provider.js +0 -41
- package/build-module/components/block-editor/providers/default-block-editor-provider.js.map +0 -1
- package/build-module/components/block-editor/providers/navigation-block-editor-provider.js.map +0 -1
- package/src/components/block-editor/get-block-editor-provider.js +0 -29
- package/src/components/block-editor/providers/default-block-editor-provider.js +0 -44
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { useContext, useEffect, useState, useMemo } from '@wordpress/element';
|
|
6
|
+
import { __experimentalSpacer as Spacer, __experimentalInputControl as InputControl, __experimentalText as Text, SelectControl, Spinner, Icon, FlexItem, Flex, Button } from '@wordpress/components';
|
|
7
|
+
import { debounce } from '@wordpress/compose';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
import { search, closeSmall } from '@wordpress/icons';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/
|
|
14
|
+
import TabLayout from './tab-layout';
|
|
15
|
+
import { FontLibraryContext } from './context';
|
|
16
|
+
import FontsGrid from './fonts-grid';
|
|
17
|
+
import FontCard from './font-card';
|
|
18
|
+
import filterFonts from './utils/filter-fonts';
|
|
19
|
+
import CollectionFontDetails from './collection-font-details';
|
|
20
|
+
import { toggleFont } from './utils/toggleFont';
|
|
21
|
+
import { getFontsOutline } from './utils/fonts-outline';
|
|
22
|
+
import GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';
|
|
23
|
+
const DEFAULT_CATEGORY = {
|
|
24
|
+
id: 'all',
|
|
25
|
+
name: __('All')
|
|
26
|
+
};
|
|
27
|
+
function FontCollection({
|
|
28
|
+
id
|
|
29
|
+
}) {
|
|
30
|
+
var _selectedCollection$d2;
|
|
31
|
+
const requiresPermission = id === 'default-font-collection';
|
|
32
|
+
const getGoogleFontsPermissionFromStorage = () => {
|
|
33
|
+
return window.localStorage.getItem('wp-font-library-default-font-collection-permission') === 'true';
|
|
34
|
+
};
|
|
35
|
+
const [selectedFont, setSelectedFont] = useState(null);
|
|
36
|
+
const [fontsToInstall, setFontsToInstall] = useState([]);
|
|
37
|
+
const [filters, setFilters] = useState({});
|
|
38
|
+
const [renderConfirmDialog, setRenderConfirmDialog] = useState(requiresPermission && !getGoogleFontsPermissionFromStorage());
|
|
39
|
+
const {
|
|
40
|
+
collections,
|
|
41
|
+
getFontCollection
|
|
42
|
+
} = useContext(FontLibraryContext);
|
|
43
|
+
const selectedCollection = collections.find(collection => collection.id === id);
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
const handleStorage = () => {
|
|
46
|
+
setRenderConfirmDialog(requiresPermission && !getGoogleFontsPermissionFromStorage());
|
|
47
|
+
};
|
|
48
|
+
handleStorage();
|
|
49
|
+
window.addEventListener('storage', handleStorage);
|
|
50
|
+
return () => window.removeEventListener('storage', handleStorage);
|
|
51
|
+
}, [id, requiresPermission]);
|
|
52
|
+
useEffect(() => {
|
|
53
|
+
getFontCollection(id);
|
|
54
|
+
resetFilters();
|
|
55
|
+
}, [id, getFontCollection]);
|
|
56
|
+
useEffect(() => {
|
|
57
|
+
setSelectedFont(null);
|
|
58
|
+
}, [id]);
|
|
59
|
+
const collectionFonts = useMemo(() => {
|
|
60
|
+
var _selectedCollection$d;
|
|
61
|
+
return (_selectedCollection$d = selectedCollection?.data?.fontFamilies) !== null && _selectedCollection$d !== void 0 ? _selectedCollection$d : [];
|
|
62
|
+
}, [selectedCollection]);
|
|
63
|
+
const collectionCategories = (_selectedCollection$d2 = selectedCollection?.data?.categories) !== null && _selectedCollection$d2 !== void 0 ? _selectedCollection$d2 : [];
|
|
64
|
+
const categories = [DEFAULT_CATEGORY, ...collectionCategories];
|
|
65
|
+
const fonts = useMemo(() => filterFonts(collectionFonts, filters), [collectionFonts, filters]);
|
|
66
|
+
const handleCategoryFilter = category => {
|
|
67
|
+
setFilters({
|
|
68
|
+
...filters,
|
|
69
|
+
category
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
const handleUpdateSearchInput = value => {
|
|
73
|
+
setFilters({
|
|
74
|
+
...filters,
|
|
75
|
+
search: value
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
const debouncedUpdateSearchInput = debounce(handleUpdateSearchInput, 300);
|
|
79
|
+
const resetFilters = () => {
|
|
80
|
+
setFilters({});
|
|
81
|
+
};
|
|
82
|
+
const resetSearch = () => {
|
|
83
|
+
setFilters({
|
|
84
|
+
...filters,
|
|
85
|
+
search: ''
|
|
86
|
+
});
|
|
87
|
+
};
|
|
88
|
+
const handleUnselectFont = () => {
|
|
89
|
+
setSelectedFont(null);
|
|
90
|
+
};
|
|
91
|
+
const handleToggleVariant = (font, face) => {
|
|
92
|
+
const newFontsToInstall = toggleFont(font, face, fontsToInstall);
|
|
93
|
+
setFontsToInstall(newFontsToInstall);
|
|
94
|
+
};
|
|
95
|
+
const fontToInstallOutline = getFontsOutline(fontsToInstall);
|
|
96
|
+
const resetFontsToInstall = () => {
|
|
97
|
+
setFontsToInstall([]);
|
|
98
|
+
};
|
|
99
|
+
return createElement(TabLayout, {
|
|
100
|
+
title: !selectedFont ? selectedCollection.name : selectedFont.name,
|
|
101
|
+
description: !selectedFont ? selectedCollection.description : __('Select font variants to install.'),
|
|
102
|
+
handleBack: !!selectedFont && handleUnselectFont,
|
|
103
|
+
footer: fontsToInstall.length > 0 && createElement(Footer, {
|
|
104
|
+
fontsToInstall: fontsToInstall,
|
|
105
|
+
resetFontsToInstall: resetFontsToInstall
|
|
106
|
+
})
|
|
107
|
+
}, renderConfirmDialog && createElement(Fragment, null, createElement(Spacer, {
|
|
108
|
+
margin: 8
|
|
109
|
+
}), createElement(GoogleFontsConfirmDialog, null)), !renderConfirmDialog && !selectedCollection.data && createElement(Spinner, null), !renderConfirmDialog && !selectedFont && createElement(Flex, null, createElement(FlexItem, null, createElement(InputControl, {
|
|
110
|
+
value: filters.search,
|
|
111
|
+
placeholder: __('Font name…'),
|
|
112
|
+
label: __('Search'),
|
|
113
|
+
onChange: debouncedUpdateSearchInput,
|
|
114
|
+
prefix: createElement(Icon, {
|
|
115
|
+
icon: search
|
|
116
|
+
}),
|
|
117
|
+
suffix: filters?.search ? createElement(Icon, {
|
|
118
|
+
icon: closeSmall,
|
|
119
|
+
onClick: resetSearch
|
|
120
|
+
}) : null
|
|
121
|
+
})), createElement(FlexItem, null, createElement(SelectControl, {
|
|
122
|
+
label: __('Category'),
|
|
123
|
+
value: filters.category,
|
|
124
|
+
onChange: handleCategoryFilter
|
|
125
|
+
}, categories && categories.map(category => createElement("option", {
|
|
126
|
+
value: category.id,
|
|
127
|
+
key: category.id
|
|
128
|
+
}, category.name))))), createElement(Spacer, {
|
|
129
|
+
margin: 4
|
|
130
|
+
}), !renderConfirmDialog && !selectedCollection?.data?.fontFamilies && createElement(Spinner, null), !renderConfirmDialog && !!selectedCollection?.data?.fontFamilies?.length && !fonts.length && createElement(Text, null, __('No fonts found. Try with a different seach term')), !renderConfirmDialog && selectedFont && createElement(CollectionFontDetails, {
|
|
131
|
+
font: selectedFont,
|
|
132
|
+
handleToggleVariant: handleToggleVariant,
|
|
133
|
+
fontToInstallOutline: fontToInstallOutline
|
|
134
|
+
}), !renderConfirmDialog && !selectedFont && createElement(FontsGrid, null, fonts.map(font => createElement(FontCard, {
|
|
135
|
+
key: font.slug,
|
|
136
|
+
font: font,
|
|
137
|
+
onClick: () => {
|
|
138
|
+
setSelectedFont(font);
|
|
139
|
+
}
|
|
140
|
+
}))));
|
|
141
|
+
}
|
|
142
|
+
function Footer({
|
|
143
|
+
fontsToInstall,
|
|
144
|
+
resetFontsToInstall
|
|
145
|
+
}) {
|
|
146
|
+
const {
|
|
147
|
+
installFonts,
|
|
148
|
+
isInstalling
|
|
149
|
+
} = useContext(FontLibraryContext);
|
|
150
|
+
const handleInstall = async () => {
|
|
151
|
+
await installFonts(fontsToInstall);
|
|
152
|
+
resetFontsToInstall();
|
|
153
|
+
};
|
|
154
|
+
return createElement(Flex, {
|
|
155
|
+
justify: "flex-end"
|
|
156
|
+
}, createElement(Button, {
|
|
157
|
+
variant: "primary",
|
|
158
|
+
onClick: handleInstall,
|
|
159
|
+
isBusy: isInstalling,
|
|
160
|
+
disabled: isInstalling
|
|
161
|
+
}, __('Install')));
|
|
162
|
+
}
|
|
163
|
+
export default FontCollection;
|
|
164
|
+
//# sourceMappingURL=font-collection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useContext","useEffect","useState","useMemo","__experimentalSpacer","Spacer","__experimentalInputControl","InputControl","__experimentalText","Text","SelectControl","Spinner","Icon","FlexItem","Flex","Button","debounce","__","search","closeSmall","TabLayout","FontLibraryContext","FontsGrid","FontCard","filterFonts","CollectionFontDetails","toggleFont","getFontsOutline","GoogleFontsConfirmDialog","DEFAULT_CATEGORY","id","name","FontCollection","_selectedCollection$d2","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","fontsToInstall","setFontsToInstall","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","selectedCollection","find","collection","handleStorage","addEventListener","removeEventListener","resetFilters","collectionFonts","_selectedCollection$d","data","fontFamilies","collectionCategories","categories","fonts","handleCategoryFilter","category","handleUpdateSearchInput","value","debouncedUpdateSearchInput","resetSearch","handleUnselectFont","handleToggleVariant","font","face","newFontsToInstall","fontToInstallOutline","resetFontsToInstall","createElement","title","description","handleBack","footer","length","Footer","Fragment","margin","placeholder","label","onChange","prefix","icon","suffix","onClick","map","key","slug","installFonts","isInstalling","handleInstall","justify","variant","isBusy","disabled"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext, useEffect, useState, useMemo } from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalInputControl as InputControl,\n\t__experimentalText as Text,\n\tSelectControl,\n\tSpinner,\n\tIcon,\n\tFlexItem,\n\tFlex,\n\tButton,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport { search, closeSmall } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport TabLayout from './tab-layout';\nimport { FontLibraryContext } from './context';\nimport FontsGrid from './fonts-grid';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport CollectionFontDetails from './collection-font-details';\nimport { toggleFont } from './utils/toggleFont';\nimport { getFontsOutline } from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\n\nconst DEFAULT_CATEGORY = {\n\tid: 'all',\n\tname: __( 'All' ),\n};\nfunction FontCollection( { id } ) {\n\tconst requiresPermission = id === 'default-font-collection';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn (\n\t\t\twindow.localStorage.getItem(\n\t\t\t\t'wp-font-library-default-font-collection-permission'\n\t\t\t) === 'true'\n\t\t);\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection } = useContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.id === id\n\t);\n\n\tuseEffect( () => {\n\t\tconst handleStorage = () => {\n\t\t\tsetRenderConfirmDialog(\n\t\t\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t\t\t);\n\t\t};\n\t\thandleStorage();\n\t\twindow.addEventListener( 'storage', handleStorage );\n\t\treturn () => window.removeEventListener( 'storage', handleStorage );\n\t}, [ id, requiresPermission ] );\n\n\tuseEffect( () => {\n\t\tgetFontCollection( id );\n\t\tresetFilters();\n\t}, [ id, getFontCollection ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t}, [ id ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.data?.fontFamilies ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.data?.categories ?? [];\n\n\tconst categories = [ DEFAULT_CATEGORY, ...collectionCategories ];\n\n\tconst fonts = useMemo(\n\t\t() => filterFonts( collectionFonts, filters ),\n\t\t[ collectionFonts, filters ]\n\t);\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t};\n\n\tconst resetSearch = () => {\n\t\tsetFilters( { ...filters, search: '' } );\n\t};\n\n\tconst handleUnselectFont = () => {\n\t\tsetSelectedFont( null );\n\t};\n\n\tconst handleToggleVariant = ( font, face ) => {\n\t\tconst newFontsToInstall = toggleFont( font, face, fontsToInstall );\n\t\tsetFontsToInstall( newFontsToInstall );\n\t};\n\n\tconst fontToInstallOutline = getFontsOutline( fontsToInstall );\n\n\tconst resetFontsToInstall = () => {\n\t\tsetFontsToInstall( [] );\n\t};\n\n\treturn (\n\t\t<TabLayout\n\t\t\ttitle={\n\t\t\t\t! selectedFont ? selectedCollection.name : selectedFont.name\n\t\t\t}\n\t\t\tdescription={\n\t\t\t\t! selectedFont\n\t\t\t\t\t? selectedCollection.description\n\t\t\t\t\t: __( 'Select font variants to install.' )\n\t\t\t}\n\t\t\thandleBack={ !! selectedFont && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\tfontsToInstall.length > 0 && (\n\t\t\t\t\t<Footer\n\t\t\t\t\t\tfontsToInstall={ fontsToInstall }\n\t\t\t\t\t\tresetFontsToInstall={ resetFontsToInstall }\n\t\t\t\t\t/>\n\t\t\t\t)\n\t\t\t}\n\t\t>\n\t\t\t{ renderConfirmDialog && (\n\t\t\t\t<>\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<GoogleFontsConfirmDialog />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedCollection.data && (\n\t\t\t\t<Spinner />\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<Flex>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\tprefix={ <Icon icon={ search } /> }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tfilters?.search ? (\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\t\t\t\t\tonClick={ resetSearch }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\tvalue={ category.id }\n\t\t\t\t\t\t\t\t\t\tkey={ category.id }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ category.name }\n\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t) }\n\n\t\t\t<Spacer margin={ 4 } />\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t! selectedCollection?.data?.fontFamilies && <Spinner /> }\n\n\t\t\t{ ! renderConfirmDialog &&\n\t\t\t\t!! selectedCollection?.data?.fontFamilies?.length &&\n\t\t\t\t! fonts.length && (\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'No fonts found. Try with a different seach term'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && selectedFont && (\n\t\t\t\t<CollectionFontDetails\n\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\thandleToggleVariant={ handleToggleVariant }\n\t\t\t\t\tfontToInstallOutline={ fontToInstallOutline }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ ! renderConfirmDialog && ! selectedFont && (\n\t\t\t\t<FontsGrid>\n\t\t\t\t\t{ fonts.map( ( font ) => (\n\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetSelectedFont( font );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t</FontsGrid>\n\t\t\t) }\n\t\t</TabLayout>\n\t);\n}\n\nfunction Footer( { fontsToInstall, resetFontsToInstall } ) {\n\tconst { installFonts, isInstalling } = useContext( FontLibraryContext );\n\n\tconst handleInstall = async () => {\n\t\tawait installFonts( fontsToInstall );\n\t\tresetFontsToInstall();\n\t};\n\n\treturn (\n\t\t<Flex justify=\"flex-end\">\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ handleInstall }\n\t\t\t\tisBusy={ isInstalling }\n\t\t\t\tdisabled={ isInstalling }\n\t\t\t>\n\t\t\t\t{ __( 'Install' ) }\n\t\t\t</Button>\n\t\t</Flex>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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"}
|
|
@@ -9,7 +9,17 @@ import { useContext, useEffect, useState, useRef } from '@wordpress/element';
|
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
import { FontLibraryContext } from './context';
|
|
12
|
+
import { getFacePreviewStyle } from './utils/preview-styles';
|
|
13
|
+
function getPreviewUrl(fontFace) {
|
|
14
|
+
if (fontFace.preview) {
|
|
15
|
+
return fontFace.preview;
|
|
16
|
+
}
|
|
17
|
+
if (fontFace.src) {
|
|
18
|
+
return Array.isArray(fontFace.src) ? fontFace.src[0] : fontFace.src;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
12
21
|
function FontFaceDemo({
|
|
22
|
+
customPreviewUrl,
|
|
13
23
|
fontFace,
|
|
14
24
|
text,
|
|
15
25
|
style = {}
|
|
@@ -20,21 +30,22 @@ function FontFaceDemo({
|
|
|
20
30
|
const {
|
|
21
31
|
loadFontFaceAsset
|
|
22
32
|
} = useContext(FontLibraryContext);
|
|
23
|
-
const
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const demoStyle = {
|
|
29
|
-
fontWeight,
|
|
30
|
-
fontStyle,
|
|
31
|
-
fontFamily,
|
|
33
|
+
const previewUrl = customPreviewUrl !== null && customPreviewUrl !== void 0 ? customPreviewUrl : getPreviewUrl(fontFace);
|
|
34
|
+
const isPreviewImage = previewUrl && previewUrl.match(/\.(png|jpg|jpeg|gif|svg)$/i);
|
|
35
|
+
const faceStyles = getFacePreviewStyle(fontFace);
|
|
36
|
+
const textDemoStyle = {
|
|
37
|
+
whiteSpace: 'nowrap',
|
|
32
38
|
flexShrink: 0,
|
|
33
39
|
fontSize: '18px',
|
|
34
40
|
opacity: isAssetLoaded ? '1' : '0',
|
|
35
41
|
transition: 'opacity 0.3s ease-in-out',
|
|
42
|
+
...faceStyles,
|
|
36
43
|
...style
|
|
37
44
|
};
|
|
45
|
+
const imageDemoStyle = {
|
|
46
|
+
height: '23px',
|
|
47
|
+
width: 'auto'
|
|
48
|
+
};
|
|
38
49
|
useEffect(() => {
|
|
39
50
|
const observer = new window.IntersectionObserver(([entry]) => {
|
|
40
51
|
setIsIntersecting(entry.isIntersecting);
|
|
@@ -45,7 +56,7 @@ function FontFaceDemo({
|
|
|
45
56
|
useEffect(() => {
|
|
46
57
|
const loadAsset = async () => {
|
|
47
58
|
if (isIntersecting) {
|
|
48
|
-
if (fontFace.src) {
|
|
59
|
+
if (!isPreviewImage && fontFace.src) {
|
|
49
60
|
await loadFontFaceAsset(fontFace);
|
|
50
61
|
}
|
|
51
62
|
setIsAssetLoaded(true);
|
|
@@ -53,10 +64,16 @@ function FontFaceDemo({
|
|
|
53
64
|
};
|
|
54
65
|
loadAsset();
|
|
55
66
|
}, [fontFace, isIntersecting, loadFontFaceAsset]);
|
|
56
|
-
return createElement(
|
|
57
|
-
style: demoStyle,
|
|
67
|
+
return createElement("div", {
|
|
58
68
|
ref: ref
|
|
59
|
-
},
|
|
69
|
+
}, isPreviewImage ? createElement("img", {
|
|
70
|
+
src: previewUrl,
|
|
71
|
+
loading: "lazy",
|
|
72
|
+
alt: text,
|
|
73
|
+
style: imageDemoStyle
|
|
74
|
+
}) : createElement(Text, {
|
|
75
|
+
style: textDemoStyle
|
|
76
|
+
}, text));
|
|
60
77
|
}
|
|
61
78
|
export default FontFaceDemo;
|
|
62
79
|
//# sourceMappingURL=font-demo.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","
|
|
1
|
+
{"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","getFacePreviewStyle","getPreviewUrl","fontFace","preview","src","Array","isArray","FontFaceDemo","customPreviewUrl","text","style","ref","isIntersecting","setIsIntersecting","isAssetLoaded","setIsAssetLoaded","loadFontFaceAsset","previewUrl","isPreviewImage","match","faceStyles","textDemoStyle","whiteSpace","flexShrink","fontSize","opacity","transition","imageDemoStyle","height","width","observer","window","IntersectionObserver","entry","observe","current","disconnect","loadAsset","createElement","loading","alt"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-demo.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalText as Text } from '@wordpress/components';\nimport { useContext, useEffect, useState, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport { getFacePreviewStyle } from './utils/preview-styles';\n\nfunction getPreviewUrl( fontFace ) {\n\tif ( fontFace.preview ) {\n\t\treturn fontFace.preview;\n\t}\n\tif ( fontFace.src ) {\n\t\treturn Array.isArray( fontFace.src ) ? fontFace.src[ 0 ] : fontFace.src;\n\t}\n}\n\nfunction FontFaceDemo( { customPreviewUrl, fontFace, text, style = {} } ) {\n\tconst ref = useRef( null );\n\tconst [ isIntersecting, setIsIntersecting ] = useState( false );\n\tconst [ isAssetLoaded, setIsAssetLoaded ] = useState( false );\n\tconst { loadFontFaceAsset } = useContext( FontLibraryContext );\n\n\tconst previewUrl = customPreviewUrl ?? getPreviewUrl( fontFace );\n\tconst isPreviewImage =\n\t\tpreviewUrl && previewUrl.match( /\\.(png|jpg|jpeg|gif|svg)$/i );\n\n\tconst faceStyles = getFacePreviewStyle( fontFace );\n\tconst textDemoStyle = {\n\t\twhiteSpace: 'nowrap',\n\t\tflexShrink: 0,\n\t\tfontSize: '18px',\n\t\topacity: isAssetLoaded ? '1' : '0',\n\t\ttransition: 'opacity 0.3s ease-in-out',\n\t\t...faceStyles,\n\t\t...style,\n\t};\n\tconst imageDemoStyle = {\n\t\theight: '23px',\n\t\twidth: 'auto',\n\t};\n\n\tuseEffect( () => {\n\t\tconst observer = new window.IntersectionObserver( ( [ entry ] ) => {\n\t\t\tsetIsIntersecting( entry.isIntersecting );\n\t\t}, {} );\n\t\tobserver.observe( ref.current );\n\t\treturn () => observer.disconnect();\n\t}, [ ref ] );\n\n\tuseEffect( () => {\n\t\tconst loadAsset = async () => {\n\t\t\tif ( isIntersecting ) {\n\t\t\t\tif ( ! isPreviewImage && fontFace.src ) {\n\t\t\t\t\tawait loadFontFaceAsset( fontFace );\n\t\t\t\t}\n\t\t\t\tsetIsAssetLoaded( true );\n\t\t\t}\n\t\t};\n\t\tloadAsset();\n\t}, [ fontFace, isIntersecting, loadFontFaceAsset ] );\n\n\treturn (\n\t\t<div ref={ ref }>\n\t\t\t{ isPreviewImage ? (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ previewUrl }\n\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\talt={ text }\n\t\t\t\t\tstyle={ imageDemoStyle }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text style={ textDemoStyle }>{ text }</Text>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontFaceDemo;\n"],"mappings":"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"}
|
package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { Button, Card, CardBody, __experimentalText as Text, __experimentalSpacer as Spacer } from '@wordpress/components';
|
|
7
|
+
function GoogleFontsConfirmDialog() {
|
|
8
|
+
const handleConfirm = () => {
|
|
9
|
+
// eslint-disable-next-line no-undef
|
|
10
|
+
window.localStorage.setItem('wp-font-library-default-font-collection-permission', 'true');
|
|
11
|
+
window.dispatchEvent(new Event('storage'));
|
|
12
|
+
};
|
|
13
|
+
return createElement("div", {
|
|
14
|
+
className: "font-library__google-fonts-confirm"
|
|
15
|
+
}, createElement(Card, null, createElement(CardBody, null, createElement(Text, {
|
|
16
|
+
as: "h3"
|
|
17
|
+
}, "Connect to Google Fonts"), createElement(Spacer, {
|
|
18
|
+
margin: 6
|
|
19
|
+
}), createElement(Text, {
|
|
20
|
+
as: "p"
|
|
21
|
+
}, __('To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.')), createElement(Spacer, {
|
|
22
|
+
margin: 3
|
|
23
|
+
}), createElement(Text, {
|
|
24
|
+
as: "p"
|
|
25
|
+
}, __('You can alternatively upload files directly on the Library tab.')), createElement(Spacer, {
|
|
26
|
+
margin: 6
|
|
27
|
+
}), createElement(Button, {
|
|
28
|
+
variant: "primary",
|
|
29
|
+
onClick: handleConfirm
|
|
30
|
+
}, __('Allow access to Google Fonts')))));
|
|
31
|
+
}
|
|
32
|
+
export default GoogleFontsConfirmDialog;
|
|
33
|
+
//# sourceMappingURL=google-fonts-confirm-dialog.js.map
|
package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","Button","Card","CardBody","__experimentalText","Text","__experimentalSpacer","Spacer","GoogleFontsConfirmDialog","handleConfirm","window","localStorage","setItem","dispatchEvent","Event","createElement","className","as","margin","variant","onClick"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tCard,\n\tCardBody,\n\t__experimentalText as Text,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\nfunction GoogleFontsConfirmDialog() {\n\tconst handleConfirm = () => {\n\t\t// eslint-disable-next-line no-undef\n\t\twindow.localStorage.setItem(\n\t\t\t'wp-font-library-default-font-collection-permission',\n\t\t\t'true'\n\t\t);\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library__google-fonts-confirm\">\n\t\t\t<Card>\n\t\t\t\t<CardBody>\n\t\t\t\t\t<Text as=\"h3\">Connect to Google Fonts</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'To install fonts from Google you must give permission to connect directly to Google servers. The fonts you install will be downloaded from Google and stored on your site. Your site will then use these locally-hosted fonts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 3 } />\n\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You can alternatively upload files directly on the Library tab.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 6 } />\n\t\t\t\t\t<Button variant=\"primary\" onClick={ handleConfirm }>\n\t\t\t\t\t\t{ __( 'Allow access to Google Fonts' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</CardBody>\n\t\t\t</Card>\n\t\t</div>\n\t);\n}\n\nexport default GoogleFontsConfirmDialog;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,IAAI,EACJC,QAAQ,EACRC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAE9B,SAASC,wBAAwBA,CAAA,EAAG;EACnC,MAAMC,aAAa,GAAGA,CAAA,KAAM;IAC3B;IACAC,MAAM,CAACC,YAAY,CAACC,OAAO,CAC1B,oDAAoD,EACpD,MACD,CAAC;IACDF,MAAM,CAACG,aAAa,CAAE,IAAIC,KAAK,CAAE,SAAU,CAAE,CAAC;EAC/C,CAAC;EAED,OACCC,aAAA;IAAKC,SAAS,EAAC;EAAoC,GAClDD,aAAA,CAACb,IAAI,QACJa,aAAA,CAACZ,QAAQ,QACRY,aAAA,CAACV,IAAI;IAACY,EAAE,EAAC;EAAI,GAAC,yBAA6B,CAAC,EAC5CF,aAAA,CAACR,MAAM;IAACW,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBH,aAAA,CAACV,IAAI;IAACY,EAAE,EAAC;EAAG,GACTjB,EAAE,CACH,gOACD,CACK,CAAC,EACPe,aAAA,CAACR,MAAM;IAACW,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBH,aAAA,CAACV,IAAI;IAACY,EAAE,EAAC;EAAG,GACTjB,EAAE,CACH,iEACD,CACK,CAAC,EACPe,aAAA,CAACR,MAAM;IAACW,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBH,aAAA,CAACd,MAAM;IAACkB,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGX;EAAe,GAChDT,EAAE,CAAE,8BAA+B,CAC9B,CACC,CACL,CACF,CAAC;AAER;AAEA,eAAeQ,wBAAwB"}
|
|
@@ -4,33 +4,52 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
*/
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
6
|
import { Modal, TabPanel } from '@wordpress/components';
|
|
7
|
+
import { useContext } from '@wordpress/element';
|
|
7
8
|
|
|
8
9
|
/**
|
|
9
10
|
* Internal dependencies
|
|
10
11
|
*/
|
|
11
12
|
import InstalledFonts from './installed-fonts';
|
|
12
|
-
import
|
|
13
|
+
import FontCollection from './font-collection';
|
|
14
|
+
import { FontLibraryContext } from './context';
|
|
15
|
+
const INSTALLED_FONTS_TAB = {
|
|
16
|
+
name: 'installed-fonts',
|
|
17
|
+
title: __('Library'),
|
|
18
|
+
className: 'installed-fonts'
|
|
19
|
+
};
|
|
20
|
+
const tabsFromCollections = collections => collections.map(({
|
|
21
|
+
id,
|
|
22
|
+
name
|
|
23
|
+
}) => ({
|
|
24
|
+
name: id,
|
|
25
|
+
title: collections.length === 1 && id === 'default-font-collection' ? __('Install Fonts') : name,
|
|
26
|
+
className: 'collection'
|
|
27
|
+
}));
|
|
13
28
|
function FontLibraryModal({
|
|
14
29
|
onRequestClose,
|
|
15
30
|
initialTabName = 'installed-fonts'
|
|
16
31
|
}) {
|
|
32
|
+
const {
|
|
33
|
+
collections
|
|
34
|
+
} = useContext(FontLibraryContext);
|
|
35
|
+
const tabs = [INSTALLED_FONTS_TAB, ...tabsFromCollections(collections || [])];
|
|
17
36
|
return createElement(Modal, {
|
|
18
37
|
title: __('Fonts'),
|
|
19
38
|
onRequestClose: onRequestClose,
|
|
20
39
|
isFullScreen: true,
|
|
21
|
-
className: "font-library-modal"
|
|
22
|
-
style: {
|
|
23
|
-
width: '65vw'
|
|
24
|
-
}
|
|
40
|
+
className: "font-library-modal"
|
|
25
41
|
}, createElement(TabPanel, {
|
|
26
42
|
className: "font-library-modal__tab-panel",
|
|
27
43
|
initialTabName: initialTabName,
|
|
28
|
-
tabs:
|
|
44
|
+
tabs: tabs
|
|
29
45
|
}, tab => {
|
|
30
46
|
switch (tab.name) {
|
|
31
47
|
case 'installed-fonts':
|
|
32
|
-
default:
|
|
33
48
|
return createElement(InstalledFonts, null);
|
|
49
|
+
default:
|
|
50
|
+
return createElement(FontCollection, {
|
|
51
|
+
id: tab.name
|
|
52
|
+
});
|
|
34
53
|
}
|
|
35
54
|
}));
|
|
36
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","Modal","TabPanel","
|
|
1
|
+
{"version":3,"names":["__","Modal","TabPanel","useContext","InstalledFonts","FontCollection","FontLibraryContext","INSTALLED_FONTS_TAB","name","title","className","tabsFromCollections","collections","map","id","length","FontLibraryModal","onRequestClose","initialTabName","tabs","createElement","isFullScreen","tab"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Modal, TabPanel } from '@wordpress/components';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport { FontLibraryContext } from './context';\n\nconst INSTALLED_FONTS_TAB = {\n\tname: 'installed-fonts',\n\ttitle: __( 'Library' ),\n\tclassName: 'installed-fonts',\n};\n\nconst tabsFromCollections = ( collections ) =>\n\tcollections.map( ( { id, name } ) => ( {\n\t\tname: id,\n\t\ttitle:\n\t\t\tcollections.length === 1 && id === 'default-font-collection'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t\tclassName: 'collection',\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tinitialTabName = 'installed-fonts',\n} ) {\n\tconst { collections } = useContext( FontLibraryContext );\n\n\tconst tabs = [\n\t\tINSTALLED_FONTS_TAB,\n\t\t...tabsFromCollections( collections || [] ),\n\t];\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Fonts' ) }\n\t\t\tonRequestClose={ onRequestClose }\n\t\t\tisFullScreen\n\t\t\tclassName=\"font-library-modal\"\n\t\t>\n\t\t\t<TabPanel\n\t\t\t\tclassName=\"font-library-modal__tab-panel\"\n\t\t\t\tinitialTabName={ initialTabName }\n\t\t\t\ttabs={ tabs }\n\t\t\t>\n\t\t\t\t{ ( tab ) => {\n\t\t\t\t\tswitch ( tab.name ) {\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\treturn <InstalledFonts />;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\treturn <FontCollection id={ tab.name } />;\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t</TabPanel>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,EAAEC,QAAQ,QAAQ,uBAAuB;AACvD,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,OAAOC,cAAc,MAAM,mBAAmB;AAC9C,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,MAAMC,mBAAmB,GAAG;EAC3BC,IAAI,EAAE,iBAAiB;EACvBC,KAAK,EAAET,EAAE,CAAE,SAAU,CAAC;EACtBU,SAAS,EAAE;AACZ,CAAC;AAED,MAAMC,mBAAmB,GAAKC,WAAW,IACxCA,WAAW,CAACC,GAAG,CAAE,CAAE;EAAEC,EAAE;EAAEN;AAAK,CAAC,MAAQ;EACtCA,IAAI,EAAEM,EAAE;EACRL,KAAK,EACJG,WAAW,CAACG,MAAM,KAAK,CAAC,IAAID,EAAE,KAAK,yBAAyB,GACzDd,EAAE,CAAE,eAAgB,CAAC,GACrBQ,IAAI;EACRE,SAAS,EAAE;AACZ,CAAC,CAAG,CAAC;AAEN,SAASM,gBAAgBA,CAAE;EAC1BC,cAAc;EACdC,cAAc,GAAG;AAClB,CAAC,EAAG;EACH,MAAM;IAAEN;EAAY,CAAC,GAAGT,UAAU,CAAEG,kBAAmB,CAAC;EAExD,MAAMa,IAAI,GAAG,CACZZ,mBAAmB,EACnB,GAAGI,mBAAmB,CAAEC,WAAW,IAAI,EAAG,CAAC,CAC3C;EAED,OACCQ,aAAA,CAACnB,KAAK;IACLQ,KAAK,EAAGT,EAAE,CAAE,OAAQ,CAAG;IACvBiB,cAAc,EAAGA,cAAgB;IACjCI,YAAY;IACZX,SAAS,EAAC;EAAoB,GAE9BU,aAAA,CAAClB,QAAQ;IACRQ,SAAS,EAAC,+BAA+B;IACzCQ,cAAc,EAAGA,cAAgB;IACjCC,IAAI,EAAGA;EAAM,GAETG,GAAG,IAAM;IACZ,QAASA,GAAG,CAACd,IAAI;MAChB,KAAK,iBAAiB;QACrB,OAAOY,aAAA,CAAChB,cAAc,MAAE,CAAC;MAC1B;QACC,OAAOgB,aAAA,CAACf,cAAc;UAACS,EAAE,EAAGQ,GAAG,CAACd;QAAM,CAAE,CAAC;IAC3C;EACD,CACS,CACJ,CAAC;AAEV;AAEA,eAAeQ,gBAAgB"}
|
|
@@ -77,9 +77,9 @@ function InstalledFonts() {
|
|
|
77
77
|
onClick: () => {
|
|
78
78
|
handleSelectFont(font);
|
|
79
79
|
}
|
|
80
|
-
})))
|
|
80
|
+
}))), createElement(Spacer, {
|
|
81
81
|
margin: 8
|
|
82
|
-
}), createElement(FontsGrid, {
|
|
82
|
+
})), baseThemeFonts.length > 0 && createElement(Fragment, null, createElement(FontsGrid, {
|
|
83
83
|
title: __('Theme Fonts')
|
|
84
84
|
}, baseThemeFonts.map(font => createElement(LibraryFontCard, {
|
|
85
85
|
font: font,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","useContext","useEffect","useState","privateApis","componentsPrivateApis","__experimentalHStack","HStack","__experimentalSpacer","Spacer","Button","Spinner","TabLayout","FontLibraryContext","FontsGrid","LibraryFontDetails","LibraryFontCard","LocalFonts","ConfirmDeleteDialog","unlock","ProgressBar","InstalledFonts","baseCustomFonts","libraryFontSelected","baseThemeFonts","handleSetLibraryFontSelected","refreshLibrary","uninstallFont","isResolvingLibrary","isConfirmDeleteOpen","setIsConfirmDeleteOpen","handleUnselectFont","handleSelectFont","font","handleConfirmUninstall","result","handleUninstallClick","handleCancelUninstall","tabDescription","shouldDisplayDeleteButton","source","createElement","title","name","description","handleBack","footer","Footer","Fragment","length","margin","map","key","slug","onClick","saveFontFamilies","fontFamiliesHasChanges","isInstalling","justify","variant","disabled"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TabLayout from './tab-layout';\nimport { FontLibraryContext } from './context';\nimport FontsGrid from './fonts-grid';\nimport LibraryFontDetails from './library-font-details';\nimport LibraryFontCard from './library-font-card';\nimport LocalFonts from './local-fonts';\nimport ConfirmDeleteDialog from './confirm-delete-dialog';\nimport { unlock } from '../../../lock-unlock';\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\tbaseThemeFonts,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFont,\n\t\tisResolvingLibrary,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\n\tconst handleUnselectFont = () => {\n\t\thandleSetLibraryFontSelected( null );\n\t};\n\n\tconst handleSelectFont = ( font ) => {\n\t\thandleSetLibraryFontSelected( font );\n\t};\n\n\tconst handleConfirmUninstall = async () => {\n\t\tconst result = await uninstallFont( libraryFontSelected );\n\t\t// If the font was succesfully uninstalled it is unselected\n\t\tif ( result ) {\n\t\t\thandleUnselectFont();\n\t\t}\n\t\tsetIsConfirmDeleteOpen( false );\n\t};\n\n\tconst handleUninstallClick = async () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsConfirmDeleteOpen( false );\n\t};\n\n\tconst tabDescription = !! libraryFontSelected\n\t\t? __(\n\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t )\n\t\t: null;\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected && libraryFontSelected?.source !== 'theme';\n\n\tuseEffect( () => {\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<TabLayout\n\t\t\ttitle={ libraryFontSelected?.name || '' }\n\t\t\tdescription={ tabDescription }\n\t\t\thandleBack={ !! libraryFontSelected && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\t<Footer\n\t\t\t\t\tshouldDisplayDeleteButton={ shouldDisplayDeleteButton }\n\t\t\t\t\thandleUninstallClick={ handleUninstallClick }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<ConfirmDeleteDialog\n\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\tisConfirmDeleteOpen={ isConfirmDeleteOpen }\n\t\t\t\thandleConfirmUninstall={ handleConfirmUninstall }\n\t\t\t\thandleCancelUninstall={ handleCancelUninstall }\n\t\t\t/>\n\n\t\t\t{ ! libraryFontSelected && (\n\t\t\t\t<>\n\t\t\t\t\t{ isResolvingLibrary && <Spinner /> }\n\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t<FontsGrid>\n\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontCard\n\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\thandleSelectFont( font );\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\t) ) }\n\t\t\t\t\t\t\t</FontsGrid>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<
|
|
1
|
+
{"version":3,"names":["__","useContext","useEffect","useState","privateApis","componentsPrivateApis","__experimentalHStack","HStack","__experimentalSpacer","Spacer","Button","Spinner","TabLayout","FontLibraryContext","FontsGrid","LibraryFontDetails","LibraryFontCard","LocalFonts","ConfirmDeleteDialog","unlock","ProgressBar","InstalledFonts","baseCustomFonts","libraryFontSelected","baseThemeFonts","handleSetLibraryFontSelected","refreshLibrary","uninstallFont","isResolvingLibrary","isConfirmDeleteOpen","setIsConfirmDeleteOpen","handleUnselectFont","handleSelectFont","font","handleConfirmUninstall","result","handleUninstallClick","handleCancelUninstall","tabDescription","shouldDisplayDeleteButton","source","createElement","title","name","description","handleBack","footer","Footer","Fragment","length","margin","map","key","slug","onClick","saveFontFamilies","fontFamiliesHasChanges","isInstalling","justify","variant","disabled"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TabLayout from './tab-layout';\nimport { FontLibraryContext } from './context';\nimport FontsGrid from './fonts-grid';\nimport LibraryFontDetails from './library-font-details';\nimport LibraryFontCard from './library-font-card';\nimport LocalFonts from './local-fonts';\nimport ConfirmDeleteDialog from './confirm-delete-dialog';\nimport { unlock } from '../../../lock-unlock';\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\tbaseThemeFonts,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFont,\n\t\tisResolvingLibrary,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\n\tconst handleUnselectFont = () => {\n\t\thandleSetLibraryFontSelected( null );\n\t};\n\n\tconst handleSelectFont = ( font ) => {\n\t\thandleSetLibraryFontSelected( font );\n\t};\n\n\tconst handleConfirmUninstall = async () => {\n\t\tconst result = await uninstallFont( libraryFontSelected );\n\t\t// If the font was succesfully uninstalled it is unselected\n\t\tif ( result ) {\n\t\t\thandleUnselectFont();\n\t\t}\n\t\tsetIsConfirmDeleteOpen( false );\n\t};\n\n\tconst handleUninstallClick = async () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsConfirmDeleteOpen( false );\n\t};\n\n\tconst tabDescription = !! libraryFontSelected\n\t\t? __(\n\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t )\n\t\t: null;\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected && libraryFontSelected?.source !== 'theme';\n\n\tuseEffect( () => {\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<TabLayout\n\t\t\ttitle={ libraryFontSelected?.name || '' }\n\t\t\tdescription={ tabDescription }\n\t\t\thandleBack={ !! libraryFontSelected && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\t<Footer\n\t\t\t\t\tshouldDisplayDeleteButton={ shouldDisplayDeleteButton }\n\t\t\t\t\thandleUninstallClick={ handleUninstallClick }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<ConfirmDeleteDialog\n\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\tisConfirmDeleteOpen={ isConfirmDeleteOpen }\n\t\t\t\thandleConfirmUninstall={ handleConfirmUninstall }\n\t\t\t\thandleCancelUninstall={ handleCancelUninstall }\n\t\t\t/>\n\n\t\t\t{ ! libraryFontSelected && (\n\t\t\t\t<>\n\t\t\t\t\t{ isResolvingLibrary && <Spinner /> }\n\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t<FontsGrid>\n\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontCard\n\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\thandleSelectFont( font );\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\t) ) }\n\t\t\t\t\t\t\t</FontsGrid>\n\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<FontsGrid title={ __( 'Theme Fonts' ) }>\n\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontCard\n\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\thandleSelectFont( font );\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\t) ) }\n\t\t\t\t\t\t\t</FontsGrid>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t<LocalFonts />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ libraryFontSelected && (\n\t\t\t\t<LibraryFontDetails\n\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\tisConfirmDeleteOpen={ isConfirmDeleteOpen }\n\t\t\t\t\thandleConfirmUninstall={ handleConfirmUninstall }\n\t\t\t\t\thandleCancelUninstall={ handleCancelUninstall }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</TabLayout>\n\t);\n}\n\nfunction Footer( { shouldDisplayDeleteButton, handleUninstallClick } ) {\n\tconst { saveFontFamilies, fontFamiliesHasChanges, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\treturn (\n\t\t<HStack justify=\"space-between\">\n\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t<div>\n\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ handleUninstallClick }>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Button\n\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ saveFontFamilies }\n\t\t\t>\n\t\t\t\t{ __( 'Update' ) }\n\t\t\t</Button>\n\t\t</HStack>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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"}
|
|
@@ -4,8 +4,6 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
*/
|
|
5
5
|
import { __, sprintf } from '@wordpress/i18n';
|
|
6
6
|
import { useContext } from '@wordpress/element';
|
|
7
|
-
import { Icon } from '@wordpress/components';
|
|
8
|
-
import { chevronRight } from '@wordpress/icons';
|
|
9
7
|
|
|
10
8
|
/**
|
|
11
9
|
* Internal dependencies
|
|
@@ -26,9 +24,6 @@ function LibraryFontCard({
|
|
|
26
24
|
return createElement(FontCard, {
|
|
27
25
|
font: font,
|
|
28
26
|
variantsText: variantsText,
|
|
29
|
-
actionHandler: createElement(Icon, {
|
|
30
|
-
icon: chevronRight
|
|
31
|
-
}),
|
|
32
27
|
...props
|
|
33
28
|
});
|
|
34
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","sprintf","useContext","
|
|
1
|
+
{"version":3,"names":["__","sprintf","useContext","FontCard","FontLibraryContext","LibraryFontCard","font","props","getFontFacesActivated","variantsInstalled","fontFace","length","variantsActive","slug","source","variantsText","createElement"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-card.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontCard from './font-card';\nimport { FontLibraryContext } from './context';\n\nfunction LibraryFontCard( { font, ...props } ) {\n\tconst { getFontFacesActivated } = useContext( FontLibraryContext );\n\n\tconst variantsInstalled = font.fontFace?.length || 1;\n\tconst variantsActive = getFontFacesActivated(\n\t\tfont.slug,\n\t\tfont.source\n\t).length;\n\tconst variantsText = sprintf(\n\t\t/* translators: %1$d: Active font variants, %2$d: Total font variants */\n\t\t__( '%1$s/%2$s variants active' ),\n\t\tvariantsActive,\n\t\tvariantsInstalled\n\t);\n\n\treturn (\n\t\t<FontCard font={ font } variantsText={ variantsText } { ...props } />\n\t);\n}\n\nexport default LibraryFontCard;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,QAAQ,oBAAoB;;AAE/C;AACA;AACA;AACA,OAAOC,QAAQ,MAAM,aAAa;AAClC,SAASC,kBAAkB,QAAQ,WAAW;AAE9C,SAASC,eAAeA,CAAE;EAAEC,IAAI;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC9C,MAAM;IAAEC;EAAsB,CAAC,GAAGN,UAAU,CAAEE,kBAAmB,CAAC;EAElE,MAAMK,iBAAiB,GAAGH,IAAI,CAACI,QAAQ,EAAEC,MAAM,IAAI,CAAC;EACpD,MAAMC,cAAc,GAAGJ,qBAAqB,CAC3CF,IAAI,CAACO,IAAI,EACTP,IAAI,CAACQ,MACN,CAAC,CAACH,MAAM;EACR,MAAMI,YAAY,GAAGd,OAAO,EAC3B;EACAD,EAAE,CAAE,2BAA4B,CAAC,EACjCY,cAAc,EACdH,iBACD,CAAC;EAED,OACCO,aAAA,CAACb,QAAQ;IAACG,IAAI,EAAGA,IAAM;IAACS,YAAY,EAAGA,YAAc;IAAA,GAAMR;EAAK,CAAI,CAAC;AAEvE;AAEA,eAAeF,eAAe"}
|
|
@@ -8,10 +8,11 @@ import { __experimentalVStack as VStack, __experimentalSpacer as Spacer } from '
|
|
|
8
8
|
* Internal dependencies
|
|
9
9
|
*/
|
|
10
10
|
import LibraryFontVariant from './library-font-variant';
|
|
11
|
+
import { sortFontFaces } from './utils/sort-font-faces';
|
|
11
12
|
function LibraryFontDetails({
|
|
12
13
|
font
|
|
13
14
|
}) {
|
|
14
|
-
const fontFaces = font.fontFace && font.fontFace.length ? font.fontFace
|
|
15
|
+
const fontFaces = font.fontFace && font.fontFace.length ? sortFontFaces(font.fontFace) : [{
|
|
15
16
|
fontFamily: font.fontFamily,
|
|
16
17
|
fontStyle: 'normal',
|
|
17
18
|
fontWeight: '400'
|
package/build-module/components/global-styles/font-library-modal/library-font-details.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","LibraryFontVariant","LibraryFontDetails","font","fontFaces","fontFace","length","
|
|
1
|
+
{"version":3,"names":["__experimentalVStack","VStack","__experimentalSpacer","Spacer","LibraryFontVariant","sortFontFaces","LibraryFontDetails","font","fontFaces","fontFace","length","fontFamily","fontStyle","fontWeight","createElement","Fragment","margin","spacing","map","face","i","key"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-details.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalSpacer as Spacer,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\n\nfunction LibraryFontDetails( { font } ) {\n\tconst fontFaces =\n\t\tfont.fontFace && font.fontFace.length\n\t\t\t? sortFontFaces( font.fontFace )\n\t\t\t: [\n\t\t\t\t\t{\n\t\t\t\t\t\tfontFamily: font.fontFamily,\n\t\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\t\tfontWeight: '400',\n\t\t\t\t\t},\n\t\t\t ];\n\n\treturn (\n\t\t<>\n\t\t\t<Spacer margin={ 4 } />\n\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t{ fontFaces.map( ( face, i ) => (\n\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t</VStack>\n\t\t\t<Spacer margin={ 8 } />\n\t\t</>\n\t);\n}\n\nexport default LibraryFontDetails;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,oBAAoB,IAAIC,MAAM,EAC9BC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA,OAAOC,kBAAkB,MAAM,wBAAwB;AACvD,SAASC,aAAa,QAAQ,yBAAyB;AAEvD,SAASC,kBAAkBA,CAAE;EAAEC;AAAK,CAAC,EAAG;EACvC,MAAMC,SAAS,GACdD,IAAI,CAACE,QAAQ,IAAIF,IAAI,CAACE,QAAQ,CAACC,MAAM,GAClCL,aAAa,CAAEE,IAAI,CAACE,QAAS,CAAC,GAC9B,CACA;IACCE,UAAU,EAAEJ,IAAI,CAACI,UAAU;IAC3BC,SAAS,EAAE,QAAQ;IACnBC,UAAU,EAAE;EACb,CAAC,CACA;EAEL,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACX,MAAM;IAACa,MAAM,EAAG;EAAG,CAAE,CAAC,EACvBF,aAAA,CAACb,MAAM;IAACgB,OAAO,EAAG;EAAG,GACpBH,aAAA,CAACX,MAAM;IAACa,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBR,SAAS,CAACU,GAAG,CAAE,CAAEC,IAAI,EAAEC,CAAC,KACzBN,aAAA,CAACV,kBAAkB;IAClBG,IAAI,EAAGA,IAAM;IACbY,IAAI,EAAGA,IAAM;IACbE,GAAG,EAAI,OAAOD,CAAG;EAAG,CACpB,CACA,CACK,CAAC,EACTN,aAAA,CAACX,MAAM;IAACa,MAAM,EAAG;EAAG,CAAE,CACrB,CAAC;AAEL;AAEA,eAAeV,kBAAkB"}
|
|
@@ -25,4 +25,18 @@ export async function fetchUninstallFonts(fonts) {
|
|
|
25
25
|
};
|
|
26
26
|
return apiFetch(config);
|
|
27
27
|
}
|
|
28
|
+
export async function fetchFontCollections() {
|
|
29
|
+
const config = {
|
|
30
|
+
path: '/wp/v2/fonts/collections',
|
|
31
|
+
method: 'GET'
|
|
32
|
+
};
|
|
33
|
+
return apiFetch(config);
|
|
34
|
+
}
|
|
35
|
+
export async function fetchFontCollection(id) {
|
|
36
|
+
const config = {
|
|
37
|
+
path: `/wp/v2/fonts/collections/${id}`,
|
|
38
|
+
method: 'GET'
|
|
39
|
+
};
|
|
40
|
+
return apiFetch(config);
|
|
41
|
+
}
|
|
28
42
|
//# sourceMappingURL=resolvers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["apiFetch","fetchInstallFonts","data","config","path","method","body","fetchUninstallFonts","fonts","fontFamilies"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/resolvers.js"],"sourcesContent":["/**\n * WordPress dependencies\n *\n */\n/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\nexport async function fetchInstallFonts( data ) {\n\tconst config = {\n\t\tpath: '/wp/v2/fonts',\n\t\tmethod: 'POST',\n\t\tbody: data,\n\t};\n\treturn apiFetch( config );\n}\n\nexport async function fetchUninstallFonts( fonts ) {\n\tconst data = {\n\t\tfontFamilies: fonts,\n\t};\n\tconst config = {\n\t\tpath: '/wp/v2/fonts',\n\t\tmethod: 'DELETE',\n\t\tdata,\n\t};\n\treturn apiFetch( config );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAE3C,OAAO,eAAeC,iBAAiBA,CAAEC,IAAI,EAAG;EAC/C,MAAMC,MAAM,GAAG;IACdC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAE,MAAM;IACdC,IAAI,EAAEJ;EACP,CAAC;EACD,OAAOF,QAAQ,CAAEG,MAAO,CAAC;AAC1B;AAEA,OAAO,eAAeI,mBAAmBA,CAAEC,KAAK,EAAG;EAClD,MAAMN,IAAI,GAAG;IACZO,YAAY,EAAED;EACf,CAAC;EACD,MAAML,MAAM,GAAG;IACdC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAE,QAAQ;IAChBH;EACD,CAAC;EACD,OAAOF,QAAQ,CAAEG,MAAO,CAAC;AAC1B"}
|
|
1
|
+
{"version":3,"names":["apiFetch","fetchInstallFonts","data","config","path","method","body","fetchUninstallFonts","fonts","fontFamilies","fetchFontCollections","fetchFontCollection","id"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/resolvers.js"],"sourcesContent":["/**\n * WordPress dependencies\n *\n */\n/**\n * WordPress dependencies\n */\nimport apiFetch from '@wordpress/api-fetch';\n\nexport async function fetchInstallFonts( data ) {\n\tconst config = {\n\t\tpath: '/wp/v2/fonts',\n\t\tmethod: 'POST',\n\t\tbody: data,\n\t};\n\treturn apiFetch( config );\n}\n\nexport async function fetchUninstallFonts( fonts ) {\n\tconst data = {\n\t\tfontFamilies: fonts,\n\t};\n\tconst config = {\n\t\tpath: '/wp/v2/fonts',\n\t\tmethod: 'DELETE',\n\t\tdata,\n\t};\n\treturn apiFetch( config );\n}\n\nexport async function fetchFontCollections() {\n\tconst config = {\n\t\tpath: '/wp/v2/fonts/collections',\n\t\tmethod: 'GET',\n\t};\n\treturn apiFetch( config );\n}\n\nexport async function fetchFontCollection( id ) {\n\tconst config = {\n\t\tpath: `/wp/v2/fonts/collections/${ id }`,\n\t\tmethod: 'GET',\n\t};\n\treturn apiFetch( config );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,sBAAsB;AAE3C,OAAO,eAAeC,iBAAiBA,CAAEC,IAAI,EAAG;EAC/C,MAAMC,MAAM,GAAG;IACdC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAE,MAAM;IACdC,IAAI,EAAEJ;EACP,CAAC;EACD,OAAOF,QAAQ,CAAEG,MAAO,CAAC;AAC1B;AAEA,OAAO,eAAeI,mBAAmBA,CAAEC,KAAK,EAAG;EAClD,MAAMN,IAAI,GAAG;IACZO,YAAY,EAAED;EACf,CAAC;EACD,MAAML,MAAM,GAAG;IACdC,IAAI,EAAE,cAAc;IACpBC,MAAM,EAAE,QAAQ;IAChBH;EACD,CAAC;EACD,OAAOF,QAAQ,CAAEG,MAAO,CAAC;AAC1B;AAEA,OAAO,eAAeO,oBAAoBA,CAAA,EAAG;EAC5C,MAAMP,MAAM,GAAG;IACdC,IAAI,EAAE,0BAA0B;IAChCC,MAAM,EAAE;EACT,CAAC;EACD,OAAOL,QAAQ,CAAEG,MAAO,CAAC;AAC1B;AAEA,OAAO,eAAeQ,mBAAmBA,CAAEC,EAAE,EAAG;EAC/C,MAAMT,MAAM,GAAG;IACdC,IAAI,EAAG,4BAA4BQ,EAAI,EAAC;IACxCP,MAAM,EAAE;EACT,CAAC;EACD,OAAOL,QAAQ,CAAEG,MAAO,CAAC;AAC1B"}
|
|
@@ -26,12 +26,12 @@ function TabLayout({
|
|
|
26
26
|
variant: "tertiary",
|
|
27
27
|
onClick: handleBack,
|
|
28
28
|
icon: chevronLeft,
|
|
29
|
-
|
|
29
|
+
size: "small"
|
|
30
30
|
}), title && createElement(Heading, {
|
|
31
31
|
level: 2,
|
|
32
32
|
size: 13,
|
|
33
33
|
className: "edit-site-global-styles-header"
|
|
34
|
-
}, title)), description && createElement(Text, null, description))), createElement("main", null, children), createElement("footer", null, footer)));
|
|
34
|
+
}, title)), description && createElement(Text, null, description))), createElement("main", null, children), footer && createElement("footer", null, footer)));
|
|
35
35
|
}
|
|
36
36
|
export default TabLayout;
|
|
37
37
|
//# sourceMappingURL=tab-layout.js.map
|