@wordpress/edit-site 6.13.1-next.a9f418477.0 → 6.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/add-new-pattern/index.js +1 -0
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +1 -0
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/index.js +1 -0
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +1 -0
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -0
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/font-families.js +1 -0
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +1 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +1 -0
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-demo.js +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +1 -0
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +1 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-size.js +1 -0
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build/components/global-styles/font-sizes/font-sizes.js +1 -0
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js +1 -0
- package/build/components/global-styles/highlighted-colors.js.map +1 -1
- package/build/components/global-styles/hooks.js +1 -0
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -0
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preset-colors.js +1 -0
- package/build/components/global-styles/preset-colors.js.map +1 -1
- package/build/components/global-styles/preview-styles.js +1 -0
- package/build/components/global-styles/preview-styles.js.map +1 -1
- package/build/components/global-styles/preview-wrapper.js +1 -0
- package/build/components/global-styles/preview-wrapper.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +1 -0
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/shadow-utils.js +1 -0
- package/build/components/global-styles/shadow-utils.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +15 -21
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/shadows-panel.js +1 -0
- package/build/components/global-styles/shadows-panel.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +1 -0
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typeset.js +1 -0
- package/build/components/global-styles/typeset.js.map +1 -1
- package/build/components/global-styles/ui.js +1 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js +1 -0
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-panel.js +1 -0
- package/build/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +1 -0
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/global-styles-renderer/index.js +1 -0
- package/build/components/global-styles-renderer/index.js.map +1 -1
- package/build/components/layout/index.js +1 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/maybe-editor/index.js +65 -0
- package/build/components/maybe-editor/index.js.map +1 -0
- package/build/components/media/index.js +1 -0
- package/build/components/media/index.js.map +1 -1
- package/build/components/page-patterns/fields.js +1 -0
- package/build/components/page-patterns/fields.js.map +1 -1
- package/build/components/page-patterns/header.js +1 -0
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +1 -0
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +1 -0
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-pattern-settings.js +1 -0
- package/build/components/page-patterns/use-pattern-settings.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -0
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/index.js +17 -7
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-edit/index.js +15 -7
- package/build/components/post-edit/index.js.map +1 -1
- package/build/components/post-list/index.js +29 -18
- package/build/components/post-list/index.js.map +1 -1
- package/build/components/posts-app-routes/index.js +1 -0
- package/build/components/posts-app-routes/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +9 -1
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/save-button/index.js +1 -0
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/save-hub/index.js +1 -0
- package/build/components/save-hub/index.js.map +1 -1
- package/build/components/save-keyboard-shortcut/index.js +1 -0
- package/build/components/save-keyboard-shortcut/index.js.map +1 -1
- package/build/components/save-panel/index.js +1 -0
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -0
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/custom-dataviews-list.js +1 -0
- package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +1 -0
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +2 -0
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-global-styles-wrapper/index.js +1 -0
- package/build/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +37 -23
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +1 -4
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +1 -0
- 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 +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build/components/site-editor-routes/home.js +4 -2
- package/build/components/site-editor-routes/home.js.map +1 -1
- package/build/components/site-editor-routes/index.js +3 -1
- package/build/components/site-editor-routes/index.js.map +1 -1
- package/build/components/site-editor-routes/stylebook.js +33 -0
- package/build/components/site-editor-routes/stylebook.js.map +1 -0
- package/build/components/site-editor-routes/template-item.js +3 -3
- package/build/components/site-editor-routes/template-item.js.map +1 -1
- package/build/components/site-editor-routes/template-part-item.js +3 -3
- package/build/components/site-editor-routes/template-part-item.js.map +1 -1
- package/build/components/style-book/categories.js +1 -0
- package/build/components/style-book/categories.js.map +1 -1
- package/build/components/style-book/color-examples.js +9 -3
- package/build/components/style-book/color-examples.js.map +1 -1
- package/build/components/style-book/constants.js +0 -1
- package/build/components/style-book/constants.js.map +1 -1
- package/build/components/style-book/duotone-examples.js +1 -0
- package/build/components/style-book/duotone-examples.js.map +1 -1
- package/build/components/style-book/examples.js +6 -3
- package/build/components/style-book/examples.js.map +1 -1
- package/build/components/style-book/index.js +87 -19
- package/build/components/style-book/index.js.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/posts.js +1 -0
- package/build/posts.js.map +1 -1
- package/build/store/reducer.js +1 -0
- package/build/store/reducer.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js +1 -0
- package/build/utils/get-filtered-template-parts.js.map +1 -1
- package/build/utils/set-nested-value.js +1 -0
- package/build/utils/set-nested-value.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +1 -0
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal-content.js +1 -0
- package/build-module/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build-module/components/add-new-template/index.js +1 -0
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +1 -0
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/editor-canvas-container/index.js +1 -0
- package/build-module/components/editor-canvas-container/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +1 -0
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +1 -0
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-demo.js +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +1 -0
- 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 +1 -0
- 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-details.js +1 -0
- 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/upload-fonts.js +1 -0
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/filter-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +1 -0
- 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/make-families-from-faces.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-size.js +1 -0
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/font-sizes.js +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js +1 -0
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +1 -0
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +1 -0
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/preset-colors.js +1 -0
- package/build-module/components/global-styles/preset-colors.js.map +1 -1
- package/build-module/components/global-styles/preview-styles.js +1 -0
- package/build-module/components/global-styles/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/preview-wrapper.js +1 -0
- package/build-module/components/global-styles/preview-wrapper.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +1 -0
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -0
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +1 -0
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/shadow-utils.js +1 -0
- package/build-module/components/global-styles/shadow-utils.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +16 -22
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/shadows-panel.js +1 -0
- package/build-module/components/global-styles/shadows-panel.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +1 -0
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typeset.js +1 -0
- package/build-module/components/global-styles/typeset.js.map +1 -1
- package/build-module/components/global-styles/ui.js +1 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +1 -0
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-panel.js +1 -0
- package/build-module/components/global-styles/variations/variations-panel.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +1 -0
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/global-styles-renderer/index.js +1 -0
- package/build-module/components/global-styles-renderer/index.js.map +1 -1
- package/build-module/components/layout/index.js +1 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/maybe-editor/index.js +59 -0
- package/build-module/components/maybe-editor/index.js.map +1 -0
- package/build-module/components/media/index.js +1 -0
- package/build-module/components/media/index.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +1 -0
- package/build-module/components/page-patterns/fields.js.map +1 -1
- package/build-module/components/page-patterns/header.js +1 -0
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +1 -0
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +1 -0
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-pattern-settings.js +1 -0
- package/build-module/components/page-patterns/use-pattern-settings.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +1 -0
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/index.js +17 -7
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +15 -7
- package/build-module/components/post-edit/index.js.map +1 -1
- package/build-module/components/post-list/index.js +30 -19
- package/build-module/components/post-list/index.js.map +1 -1
- package/build-module/components/posts-app-routes/index.js +1 -0
- package/build-module/components/posts-app-routes/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +9 -1
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/save-button/index.js +1 -0
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/save-hub/index.js +1 -0
- package/build-module/components/save-hub/index.js.map +1 -1
- package/build-module/components/save-keyboard-shortcut/index.js +1 -0
- package/build-module/components/save-keyboard-shortcut/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +1 -0
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -0
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +1 -0
- package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +1 -0
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +2 -0
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-global-styles-wrapper/index.js +1 -0
- package/build-module/components/sidebar-global-styles-wrapper/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +39 -25
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +1 -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 +1 -0
- 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 +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-template-part-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +2 -0
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/site-editor-routes/home.js +4 -2
- package/build-module/components/site-editor-routes/home.js.map +1 -1
- package/build-module/components/site-editor-routes/index.js +3 -1
- package/build-module/components/site-editor-routes/index.js.map +1 -1
- package/build-module/components/site-editor-routes/stylebook.js +25 -0
- package/build-module/components/site-editor-routes/stylebook.js.map +1 -0
- package/build-module/components/site-editor-routes/template-item.js +3 -3
- package/build-module/components/site-editor-routes/template-item.js.map +1 -1
- package/build-module/components/site-editor-routes/template-part-item.js +3 -3
- package/build-module/components/site-editor-routes/template-part-item.js.map +1 -1
- package/build-module/components/style-book/categories.js +1 -0
- package/build-module/components/style-book/categories.js.map +1 -1
- package/build-module/components/style-book/color-examples.js +9 -3
- package/build-module/components/style-book/color-examples.js.map +1 -1
- package/build-module/components/style-book/constants.js +0 -1
- package/build-module/components/style-book/constants.js.map +1 -1
- package/build-module/components/style-book/duotone-examples.js +1 -0
- package/build-module/components/style-book/duotone-examples.js.map +1 -1
- package/build-module/components/style-book/examples.js +6 -3
- package/build-module/components/style-book/examples.js.map +1 -1
- package/build-module/components/style-book/index.js +86 -21
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/posts.js +1 -0
- package/build-module/posts.js.map +1 -1
- package/build-module/store/reducer.js +1 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js +1 -0
- package/build-module/utils/get-filtered-template-parts.js.map +1 -1
- package/build-module/utils/set-nested-value.js +1 -0
- package/build-module/utils/set-nested-value.js.map +1 -1
- package/build-style/posts-rtl.css +23 -14
- package/build-style/posts.css +23 -14
- package/build-style/style-rtl.css +104 -71
- package/build-style/style.css +104 -71
- package/package.json +40 -40
- package/src/components/global-styles/shadows-edit-panel.js +20 -21
- package/src/components/global-styles/style.scss +27 -13
- package/src/components/layout/index.js +1 -1
- package/src/components/maybe-editor/index.js +58 -0
- package/src/components/page-templates/index.js +22 -17
- package/src/components/post-edit/index.js +23 -17
- package/src/components/post-edit/style.scss +0 -10
- package/src/components/post-list/index.js +48 -42
- package/src/components/resizable-frame/index.js +10 -1
- package/src/components/sidebar-dataviews/index.js +1 -1
- package/src/components/sidebar-dataviews/style.scss +5 -0
- package/src/components/sidebar-navigation-screen/style.scss +0 -5
- package/src/components/sidebar-navigation-screen-main/index.js +66 -37
- package/src/components/sidebar-navigation-screen-main/style.scss +4 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +5 -0
- package/src/components/sidebar-navigation-screen-patterns/index.js +0 -7
- package/src/components/sidebar-navigation-screen-patterns/style.scss +2 -0
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/style.scss +4 -0
- package/src/components/site-editor-routes/home.js +2 -2
- package/src/components/site-editor-routes/index.js +2 -0
- package/src/components/site-editor-routes/stylebook.js +28 -0
- package/src/components/site-editor-routes/template-item.js +3 -3
- package/src/components/site-editor-routes/template-part-item.js +3 -3
- package/src/components/style-book/color-examples.tsx +21 -3
- package/src/components/style-book/constants.ts +0 -1
- package/src/components/style-book/examples.tsx +8 -3
- package/src/components/style-book/index.js +122 -33
- package/src/components/style-book/style.scss +4 -0
- package/src/style.scss +3 -1
- package/build/components/post-edit/header.js +0 -83
- package/build/components/post-edit/header.js.map +0 -1
- package/build-module/components/post-edit/header.js +0 -76
- package/build-module/components/post-edit/header.js.map +0 -1
- package/src/components/post-edit/header.js +0 -88
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","__","fetchGetFontFamilyBySlug","fetchInstallFontFamily","fetchUninstallFontFamily","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","unloadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFontFacesFormData","makeFontFamilyFormData","batchInstallFontFaces","checkFontFaceInstalled","toggleFont","setNestedValue","jsx","_jsx","FontLibraryContext","FontLibraryProvider","children","saveEntityRecord","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fontSelected","find","slug","loadedFontUrls","Set","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","alreadyInstalledFontFaces","filter","fontFaceToInstall","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","successes","errors","push","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","fontsToActivate","cleanFontsForSave","loadFontsInBrowser","_familyDbId","_faceDbId","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","Provider","value"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useState, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseEntityRecord,\n\tuseEntityRecords,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\n\t\t} ) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\t// Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = font.source === 'theme' ? themeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\t// Use font data from REST API not from client to ensure\n\t\t\t\t\t// correct font information is used.\n\t\t\t\t\tinstalledFontFamily.fontFace = [\n\t\t\t\t\t\t...successfullyInstalledFontFaces,\n\t\t\t\t\t];\n\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If it's a system font but was installed successfully, activate it.\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily &&\n\t\t\t\t\t! fontFamilyToInstall?.fontFace?.length\n\t\t\t\t) {\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If the font family is new and is not a system font, delete it to avoid having font families without font faces.\n\t\t\t\tif (\n\t\t\t\t\tisANewFontFamily &&\n\t\t\t\t\tfontFamilyToInstall?.fontFace?.length > 0 &&\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsuccessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tinstallationErrors = installationErrors.reduce(\n\t\t\t\t( unique, item ) =>\n\t\t\t\t\tunique.includes( item.message )\n\t\t\t\t\t\t? unique\n\t\t\t\t\t\t: [ ...unique, item.message ],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tconst installError = new Error(\n\t\t\t\t\t__( 'There was an error installing fonts.' )\n\t\t\t\t);\n\n\t\t\t\tinstallError.installationErrors = installationErrors;\n\n\t\t\t\tthrow installError;\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\t\t\t}\n\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\n\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t// Merge the existing custom fonts with the new fonts.\n\t\t\tcustom: mergeFontFamilies( fontFamilies?.custom, fontsToActivate ),\n\t\t};\n\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.forEach( ( font ) => {\n\t\t\tif ( font.fontFace ) {\n\t\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface?.fontStyle,\n\t\t\tface?.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t}\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( ! src || loadedFontUrls.has( src ) ) {\n\t\t\treturn;\n\t\t}\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tfontFamilies,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFontFamily,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createContext","useState","useEffect","privateApis","blockEditorPrivateApis","useSelect","useDispatch","useEntityRecord","useEntityRecords","store","coreStore","__","fetchGetFontFamilyBySlug","fetchInstallFontFamily","fetchUninstallFontFamily","fetchFontCollections","fetchFontCollection","unlock","useGlobalSetting","setUIValuesNeeded","mergeFontFamilies","loadFontFaceInBrowser","unloadFontFaceInBrowser","getDisplaySrcFromFontFace","makeFontFacesFormData","makeFontFamilyFormData","batchInstallFontFaces","checkFontFaceInstalled","toggleFont","setNestedValue","jsx","_jsx","FontLibraryContext","FontLibraryProvider","children","saveEntityRecord","globalStylesId","select","__experimentalGetCurrentGlobalStylesId","globalStyles","isInstalling","setIsInstalling","refreshKey","setRefreshKey","refreshLibrary","Date","now","records","libraryPosts","isResolving","isResolvingLibrary","_embed","libraryFonts","map","fontFamilyPost","id","font_family_settings","fontFace","_embedded","font_faces","face","font_face_settings","fontFamilies","setFontFamilies","saveFontFamilies","fonts","updatedGlobalStyles","record","modalTabOpen","setModalTabOpen","libraryFontSelected","setLibraryFontSelected","themeFonts","theme","f","source","sort","a","b","name","localeCompare","customFonts","custom","baseCustomFonts","handleSetLibraryFontSelected","font","fontSelected","find","slug","loadedFontUrls","Set","getAvailableFontsOutline","availableFontFamilies","outline","reduce","acc","availableFontFaces","length","fontStyle","fontWeight","getActivatedFontsOutline","isFontActivated","style","weight","includes","getFontFacesActivated","installFonts","fontFamiliesToInstall","fontFamiliesToActivate","installationErrors","fontFamilyToInstall","isANewFontFamily","installedFontFamily","alreadyInstalledFontFaces","filter","fontFaceToInstall","successfullyInstalledFontFaces","unsuccessfullyInstalledFontFaces","response","successes","errors","push","concat","unique","item","message","activeFonts","activateCustomFontFamilies","installError","Error","uninstallFontFamily","fontFamilyToUninstall","uninstalledFontFamily","deleted","deactivateFontFamily","error","console","_fontFamilies$font$so","initialCustomFonts","newCustomFonts","forEach","fontsToAdd","fontsToActivate","cleanFontsForSave","loadFontsInBrowser","_familyDbId","_faceDbId","src","toggleActivateFont","_fontFamilies$font$so2","initialFonts","newFonts","isFaceActivated","loadFontFaceAsset","has","add","collections","setFontCollections","getFontCollections","getFontCollection","hasData","collection","font_families","updatedCollections","e","Provider","value"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/context.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createContext, useState, useEffect } from '@wordpress/element';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tuseEntityRecord,\n\tuseEntityRecords,\n\tstore as coreStore,\n} from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tfetchGetFontFamilyBySlug,\n\tfetchInstallFontFamily,\n\tfetchUninstallFontFamily,\n\tfetchFontCollections,\n\tfetchFontCollection,\n} from './resolvers';\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\nimport {\n\tsetUIValuesNeeded,\n\tmergeFontFamilies,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n\tmakeFontFacesFormData,\n\tmakeFontFamilyFormData,\n\tbatchInstallFontFaces,\n\tcheckFontFaceInstalled,\n} from './utils';\nimport { toggleFont } from './utils/toggleFont';\nimport setNestedValue from '../../../utils/set-nested-value';\n\nexport const FontLibraryContext = createContext( {} );\n\nfunction FontLibraryProvider( { children } ) {\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { globalStylesId } = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn { globalStylesId: __experimentalGetCurrentGlobalStylesId() };\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\n\tconst [ isInstalling, setIsInstalling ] = useState( false );\n\tconst [ refreshKey, setRefreshKey ] = useState( 0 );\n\n\tconst refreshLibrary = () => {\n\t\tsetRefreshKey( Date.now() );\n\t};\n\n\tconst { records: libraryPosts = [], isResolving: isResolvingLibrary } =\n\t\tuseEntityRecords( 'postType', 'wp_font_family', {\n\t\t\trefreshKey,\n\t\t\t_embed: true,\n\t\t} );\n\n\tconst libraryFonts =\n\t\t( libraryPosts || [] ).map( ( fontFamilyPost ) => {\n\t\t\treturn {\n\t\t\t\tid: fontFamilyPost.id,\n\t\t\t\t...fontFamilyPost.font_family_settings,\n\t\t\t\tfontFace:\n\t\t\t\t\tfontFamilyPost?._embedded?.font_faces.map(\n\t\t\t\t\t\t( face ) => face.font_face_settings\n\t\t\t\t\t) || [],\n\t\t\t};\n\t\t} ) || [];\n\n\t// Global Styles (settings) font families\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\n\t/*\n\t * Save the font families to the database.\n\n\t * This function is called when the user activates or deactivates a font family.\n\t * It only updates the global styles post content in the database for new font families.\n\t * This avoids saving other styles/settings changed by the user using other parts of the editor.\n\t *\n\t * It uses the font families from the param to avoid using the font families from an outdated state.\n\t *\n\t * @param {Array} fonts - The font families that will be saved to the database.\n\t */\n\tconst saveFontFamilies = async ( fonts ) => {\n\t\t// Gets the global styles database post content.\n\t\tconst updatedGlobalStyles = globalStyles.record;\n\n\t\t// Updates the database version of global styles with the edited font families in the client.\n\t\tsetNestedValue(\n\t\t\tupdatedGlobalStyles,\n\t\t\t[ 'settings', 'typography', 'fontFamilies' ],\n\t\t\tfonts\n\t\t);\n\n\t\t// Saves a new version of the global styles in the database.\n\t\tawait saveEntityRecord( 'root', 'globalStyles', updatedGlobalStyles );\n\t};\n\n\t// Library Fonts\n\tconst [ modalTabOpen, setModalTabOpen ] = useState( false );\n\tconst [ libraryFontSelected, setLibraryFontSelected ] = useState( null );\n\n\t// Themes Fonts are the fonts defined in the global styles (database persisted theme.json data).\n\tconst themeFonts = fontFamilies?.theme\n\t\t? fontFamilies.theme\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst customFonts = fontFamilies?.custom\n\t\t? fontFamilies.custom\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tconst baseCustomFonts = libraryFonts\n\t\t? libraryFonts\n\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'custom' } ) )\n\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t: [];\n\n\tuseEffect( () => {\n\t\tif ( ! modalTabOpen ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t}\n\t}, [ modalTabOpen ] );\n\n\tconst handleSetLibraryFontSelected = ( font ) => {\n\t\t// If font is null, reset the selected font\n\t\tif ( ! font ) {\n\t\t\tsetLibraryFontSelected( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst fonts = font.source === 'theme' ? themeFonts : baseCustomFonts;\n\n\t\t// Tries to find the font in the installed fonts\n\t\tconst fontSelected = fonts.find( ( f ) => f.slug === font.slug );\n\t\t// If the font is not found (it is only defined in custom styles), use the font from custom styles\n\t\tsetLibraryFontSelected( {\n\t\t\t...( fontSelected || font ),\n\t\t\tsource: font.source,\n\t\t} );\n\t};\n\n\t// Demo\n\tconst [ loadedFontUrls ] = useState( new Set() );\n\n\tconst getAvailableFontsOutline = ( availableFontFamilies ) => {\n\t\tconst outline = availableFontFamilies.reduce( ( acc, font ) => {\n\t\t\tconst availableFontFaces =\n\t\t\t\tfont?.fontFace && font.fontFace?.length > 0\n\t\t\t\t\t? font?.fontFace.map(\n\t\t\t\t\t\t\t( face ) => `${ face.fontStyle + face.fontWeight }`\n\t\t\t\t\t )\n\t\t\t\t\t: [ 'normal400' ]; // If the font doesn't have fontFace, we assume it is a system font and we add the defaults: normal 400\n\n\t\t\tacc[ font.slug ] = availableFontFaces;\n\t\t\treturn acc;\n\t\t}, {} );\n\t\treturn outline;\n\t};\n\n\tconst getActivatedFontsOutline = ( source ) => {\n\t\tswitch ( source ) {\n\t\t\tcase 'theme':\n\t\t\t\treturn getAvailableFontsOutline( themeFonts );\n\t\t\tcase 'custom':\n\t\t\tdefault:\n\t\t\t\treturn getAvailableFontsOutline( customFonts );\n\t\t}\n\t};\n\n\tconst isFontActivated = ( slug, style, weight, source ) => {\n\t\tif ( ! style && ! weight ) {\n\t\t\treturn !! getActivatedFontsOutline( source )[ slug ];\n\t\t}\n\t\treturn !! getActivatedFontsOutline( source )[ slug ]?.includes(\n\t\t\tstyle + weight\n\t\t);\n\t};\n\n\tconst getFontFacesActivated = ( slug, source ) => {\n\t\treturn getActivatedFontsOutline( source )[ slug ] || [];\n\t};\n\n\tasync function installFonts( fontFamiliesToInstall ) {\n\t\tsetIsInstalling( true );\n\t\ttry {\n\t\t\tconst fontFamiliesToActivate = [];\n\t\t\tlet installationErrors = [];\n\n\t\t\tfor ( const fontFamilyToInstall of fontFamiliesToInstall ) {\n\t\t\t\tlet isANewFontFamily = false;\n\n\t\t\t\t// Get the font family if it already exists.\n\t\t\t\tlet installedFontFamily = await fetchGetFontFamilyBySlug(\n\t\t\t\t\tfontFamilyToInstall.slug\n\t\t\t\t);\n\n\t\t\t\t// Otherwise create it.\n\t\t\t\tif ( ! installedFontFamily ) {\n\t\t\t\t\tisANewFontFamily = true;\n\t\t\t\t\t// Prepare font family form data to install.\n\t\t\t\t\tinstalledFontFamily = await fetchInstallFontFamily(\n\t\t\t\t\t\tmakeFontFamilyFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Collect font faces that have already been installed (to be activated later)\n\t\t\t\tconst alreadyInstalledFontFaces =\n\t\t\t\t\tinstalledFontFamily.fontFace && fontFamilyToInstall.fontFace\n\t\t\t\t\t\t? installedFontFamily.fontFace.filter(\n\t\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t\tcheckFontFaceInstalled(\n\t\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: [];\n\n\t\t\t\t// Filter out Font Faces that have already been installed (so that they are not re-installed)\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily.fontFace &&\n\t\t\t\t\tfontFamilyToInstall.fontFace\n\t\t\t\t) {\n\t\t\t\t\tfontFamilyToInstall.fontFace =\n\t\t\t\t\t\tfontFamilyToInstall.fontFace.filter(\n\t\t\t\t\t\t\t( fontFaceToInstall ) =>\n\t\t\t\t\t\t\t\t! checkFontFaceInstalled(\n\t\t\t\t\t\t\t\t\tfontFaceToInstall,\n\t\t\t\t\t\t\t\t\tinstalledFontFamily.fontFace\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\t// Install the fonts (upload the font files to the server and create the post in the database).\n\t\t\t\tlet successfullyInstalledFontFaces = [];\n\t\t\t\tlet unsuccessfullyInstalledFontFaces = [];\n\t\t\t\tif ( fontFamilyToInstall?.fontFace?.length > 0 ) {\n\t\t\t\t\tconst response = await batchInstallFontFaces(\n\t\t\t\t\t\tinstalledFontFamily.id,\n\t\t\t\t\t\tmakeFontFacesFormData( fontFamilyToInstall )\n\t\t\t\t\t);\n\t\t\t\t\tsuccessfullyInstalledFontFaces = response?.successes;\n\t\t\t\t\tunsuccessfullyInstalledFontFaces = response?.errors;\n\t\t\t\t}\n\n\t\t\t\t// Use the successfully installed font faces\n\t\t\t\t// As well as any font faces that were already installed (those will be activated)\n\t\t\t\tif (\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length > 0 ||\n\t\t\t\t\talreadyInstalledFontFaces?.length > 0\n\t\t\t\t) {\n\t\t\t\t\t// Use font data from REST API not from client to ensure\n\t\t\t\t\t// correct font information is used.\n\t\t\t\t\tinstalledFontFamily.fontFace = [\n\t\t\t\t\t\t...successfullyInstalledFontFaces,\n\t\t\t\t\t];\n\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If it's a system font but was installed successfully, activate it.\n\t\t\t\tif (\n\t\t\t\t\tinstalledFontFamily &&\n\t\t\t\t\t! fontFamilyToInstall?.fontFace?.length\n\t\t\t\t) {\n\t\t\t\t\tfontFamiliesToActivate.push( installedFontFamily );\n\t\t\t\t}\n\n\t\t\t\t// If the font family is new and is not a system font, delete it to avoid having font families without font faces.\n\t\t\t\tif (\n\t\t\t\t\tisANewFontFamily &&\n\t\t\t\t\tfontFamilyToInstall?.fontFace?.length > 0 &&\n\t\t\t\t\tsuccessfullyInstalledFontFaces?.length === 0\n\t\t\t\t) {\n\t\t\t\t\tawait fetchUninstallFontFamily( installedFontFamily.id );\n\t\t\t\t}\n\n\t\t\t\tinstallationErrors = installationErrors.concat(\n\t\t\t\t\tunsuccessfullyInstalledFontFaces\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tinstallationErrors = installationErrors.reduce(\n\t\t\t\t( unique, item ) =>\n\t\t\t\t\tunique.includes( item.message )\n\t\t\t\t\t\t? unique\n\t\t\t\t\t\t: [ ...unique, item.message ],\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\tif ( fontFamiliesToActivate.length > 0 ) {\n\t\t\t\t// Activate the font family (add the font family to the global styles).\n\t\t\t\tconst activeFonts = activateCustomFontFamilies(\n\t\t\t\t\tfontFamiliesToActivate\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\n\t\t\t\trefreshLibrary();\n\t\t\t}\n\n\t\t\tif ( installationErrors.length > 0 ) {\n\t\t\t\tconst installError = new Error(\n\t\t\t\t\t__( 'There was an error installing fonts.' )\n\t\t\t\t);\n\n\t\t\t\tinstallError.installationErrors = installationErrors;\n\n\t\t\t\tthrow installError;\n\t\t\t}\n\t\t} finally {\n\t\t\tsetIsInstalling( false );\n\t\t}\n\t}\n\n\tasync function uninstallFontFamily( fontFamilyToUninstall ) {\n\t\ttry {\n\t\t\t// Uninstall the font family.\n\t\t\t// (Removes the font files from the server and the posts from the database).\n\t\t\tconst uninstalledFontFamily = await fetchUninstallFontFamily(\n\t\t\t\tfontFamilyToUninstall.id\n\t\t\t);\n\n\t\t\t// Deactivate the font family if delete request is successful\n\t\t\t// (Removes the font family from the global styles).\n\t\t\tif ( uninstalledFontFamily.deleted ) {\n\t\t\t\tconst activeFonts = deactivateFontFamily(\n\t\t\t\t\tfontFamilyToUninstall\n\t\t\t\t);\n\t\t\t\t// Save the global styles to the database.\n\t\t\t\tawait saveFontFamilies( activeFonts );\n\t\t\t}\n\n\t\t\t// Refresh the library (the library font families from database).\n\t\t\trefreshLibrary();\n\n\t\t\treturn uninstalledFontFamily;\n\t\t} catch ( error ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error(\n\t\t\t\t`There was an error uninstalling the font family:`,\n\t\t\t\terror\n\t\t\t);\n\t\t\tthrow error;\n\t\t}\n\t}\n\n\tconst deactivateFontFamily = ( font ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialCustomFonts = fontFamilies?.[ font.source ] ?? [];\n\t\tconst newCustomFonts = initialCustomFonts.filter(\n\t\t\t( f ) => f.slug !== font.slug\n\t\t);\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newCustomFonts,\n\t\t};\n\t\tsetFontFamilies( activeFonts );\n\n\t\tif ( font.fontFace ) {\n\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t} );\n\t\t}\n\t\treturn activeFonts;\n\t};\n\n\tconst activateCustomFontFamilies = ( fontsToAdd ) => {\n\t\tconst fontsToActivate = cleanFontsForSave( fontsToAdd );\n\n\t\tconst activeFonts = {\n\t\t\t...fontFamilies,\n\t\t\t// Merge the existing custom fonts with the new fonts.\n\t\t\tcustom: mergeFontFamilies( fontFamilies?.custom, fontsToActivate ),\n\t\t};\n\n\t\t// Activate the fonts by set the new custom fonts array.\n\t\tsetFontFamilies( activeFonts );\n\n\t\tloadFontsInBrowser( fontsToActivate );\n\n\t\treturn activeFonts;\n\t};\n\n\t// Removes the id from the families and faces to avoid saving that to global styles post content.\n\tconst cleanFontsForSave = ( fonts ) => {\n\t\treturn fonts.map( ( { id: _familyDbId, fontFace, ...font } ) => ( {\n\t\t\t...font,\n\t\t\t...( fontFace && fontFace.length > 0\n\t\t\t\t? {\n\t\t\t\t\t\tfontFace: fontFace.map(\n\t\t\t\t\t\t\t( { id: _faceDbId, ...face } ) => face\n\t\t\t\t\t\t),\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t} ) );\n\t};\n\n\tconst loadFontsInBrowser = ( fonts ) => {\n\t\t// Add custom fonts to the browser.\n\t\tfonts.forEach( ( font ) => {\n\t\t\tif ( font.fontFace ) {\n\t\t\t\tfont.fontFace.forEach( ( face ) => {\n\t\t\t\t\t// Load font faces just in the iframe because they already are in the document.\n\t\t\t\t\tloadFontFaceInBrowser(\n\t\t\t\t\t\tface,\n\t\t\t\t\t\tgetDisplaySrcFromFontFace( face.src ),\n\t\t\t\t\t\t'all'\n\t\t\t\t\t);\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t};\n\n\tconst toggleActivateFont = ( font, face ) => {\n\t\t// If the user doesn't have custom fonts defined, include as custom fonts all the theme fonts\n\t\t// We want to save as active all the theme fonts at the beginning\n\t\tconst initialFonts = fontFamilies?.[ font.source ] ?? [];\n\t\t// Toggles the received font family or font face\n\t\tconst newFonts = toggleFont( font, face, initialFonts );\n\t\t// Updates the font families activated in global settings:\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ font.source ]: newFonts,\n\t\t} );\n\n\t\tconst isFaceActivated = isFontActivated(\n\t\t\tfont.slug,\n\t\t\tface?.fontStyle,\n\t\t\tface?.fontWeight,\n\t\t\tfont.source\n\t\t);\n\n\t\tif ( isFaceActivated ) {\n\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t} else {\n\t\t\tloadFontFaceInBrowser(\n\t\t\t\tface,\n\t\t\t\tgetDisplaySrcFromFontFace( face?.src ),\n\t\t\t\t'all'\n\t\t\t);\n\t\t}\n\t};\n\n\tconst loadFontFaceAsset = async ( fontFace ) => {\n\t\t// If the font doesn't have a src, don't load it.\n\t\tif ( ! fontFace.src ) {\n\t\t\treturn;\n\t\t}\n\t\t// Get the src of the font.\n\t\tconst src = getDisplaySrcFromFontFace( fontFace.src );\n\t\t// If the font is already loaded, don't load it again.\n\t\tif ( ! src || loadedFontUrls.has( src ) ) {\n\t\t\treturn;\n\t\t}\n\t\t// Load the font in the browser.\n\t\tloadFontFaceInBrowser( fontFace, src, 'document' );\n\t\t// Add the font to the loaded fonts list.\n\t\tloadedFontUrls.add( src );\n\t};\n\n\t// Font Collections\n\tconst [ collections, setFontCollections ] = useState( [] );\n\tconst getFontCollections = async () => {\n\t\tconst response = await fetchFontCollections();\n\t\tsetFontCollections( response );\n\t};\n\tconst getFontCollection = async ( slug ) => {\n\t\ttry {\n\t\t\tconst hasData = !! collections.find(\n\t\t\t\t( collection ) => collection.slug === slug\n\t\t\t)?.font_families;\n\t\t\tif ( hasData ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst response = await fetchFontCollection( slug );\n\t\t\tconst updatedCollections = collections.map( ( collection ) =>\n\t\t\t\tcollection.slug === slug\n\t\t\t\t\t? { ...collection, ...response }\n\t\t\t\t\t: collection\n\t\t\t);\n\t\t\tsetFontCollections( updatedCollections );\n\t\t} catch ( e ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.error( e );\n\t\t\tthrow e;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\tgetFontCollections();\n\t}, [] );\n\n\treturn (\n\t\t<FontLibraryContext.Provider\n\t\t\tvalue={ {\n\t\t\t\tlibraryFontSelected,\n\t\t\t\thandleSetLibraryFontSelected,\n\t\t\t\tfontFamilies,\n\t\t\t\tbaseCustomFonts,\n\t\t\t\tisFontActivated,\n\t\t\t\tgetFontFacesActivated,\n\t\t\t\tloadFontFaceAsset,\n\t\t\t\tinstallFonts,\n\t\t\t\tuninstallFontFamily,\n\t\t\t\ttoggleActivateFont,\n\t\t\t\tgetAvailableFontsOutline,\n\t\t\t\tmodalTabOpen,\n\t\t\t\tsetModalTabOpen,\n\t\t\t\trefreshLibrary,\n\t\t\t\tsaveFontFamilies,\n\t\t\t\tisResolvingLibrary,\n\t\t\t\tisInstalling,\n\t\t\t\tcollections,\n\t\t\t\tgetFontCollection,\n\t\t\t} }\n\t\t>\n\t\t\t{ children }\n\t\t</FontLibraryContext.Provider>\n\t);\n}\n\nexport default FontLibraryProvider;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useContext","useEffect","useState","useMemo","createInterpolateElement","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","Navigator","__experimentalHeading","Heading","Notice","SelectControl","FlexItem","Flex","Button","DropdownMenu","SearchControl","ProgressBar","CheckboxControl","debounce","sprintf","__","_x","isRTL","moreVertical","next","previous","chevronLeft","chevronRight","FontLibraryContext","FontCard","filterFonts","toggleFont","getFontsOutline","isFontFontFaceInOutline","GoogleFontsConfirmDialog","downloadFontFaceAssets","sortFontFaces","CollectionFontVariant","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_CATEGORY","slug","name","LOCAL_STORAGE_ITEM","MIN_WINDOW_HEIGHT","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","notice","setNotice","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFonts","isInstalling","selectedCollection","find","collection","handleStorage","addEventListener","removeEventListener","revokeAccess","setItem","dispatchEvent","Event","fetchFontCollection","resetFilters","e","type","message","collectionFonts","_selectedCollection$f","font_families","collectionCategories","categories","fonts","isLoading","windowHeight","Math","max","innerHeight","pageSize","floor","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","handleToggleVariant","font","face","newFontsToInstall","fontToInstallOutline","resetFontsToInstall","selectFontCount","fontFace","isIndeterminate","isSelectAllChecked","toggleSelectAll","newFonts","handleInstall","fontFamily","Promise","all","map","src","file","error","getSortedFontFaces","fontStyle","fontWeight","ActionsComponent","icon","label","popoverProps","position","controls","title","onClick","className","children","initialPath","Screen","path","justify","level","size","description","margin","placeholder","onChange","__nextHasNoMarginBottom","hideLabelFromVision","__next40pxDefaultSize","role","font_family_settings","navigatorPath","BackButton","status","onRemove","checked","indeterminate","spacing","i","selected","variant","isBusy","disabled","accessibleWhenDisabled","expanded","div","CurrentPage","options","Array","newPage","parseInt","showTooltip","tooltipPosition"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tNavigator,\n\t__experimentalHeading as Heading,\n\tNotice,\n\tSelectControl,\n\tFlexItem,\n\tFlex,\n\tButton,\n\tDropdownMenu,\n\tSearchControl,\n\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tmoreVertical,\n\tnext,\n\tprevious,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport { toggleFont } from './utils/toggleFont';\nimport {\n\tgetFontsOutline,\n\tisFontFontFaceInOutline,\n} from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport CollectionFontVariant from './collection-font-variant';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\n\nconst LOCAL_STORAGE_ITEM = 'wp-font-library-google-fonts-permission';\nconst MIN_WINDOW_HEIGHT = 500;\n\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn window.localStorage.getItem( LOCAL_STORAGE_ITEM ) === 'true';\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ notice, setNotice ] = useState( false );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFonts, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\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}, [ slug, requiresPermission ] );\n\n\tconst revokeAccess = () => {\n\t\twindow.localStorage.setItem( LOCAL_STORAGE_ITEM, 'false' );\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t}, [ slug ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.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 isLoading = ! selectedCollection?.font_families && ! notice;\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst windowHeight = Math.max( window.innerHeight, MIN_WINDOW_HEIGHT );\n\tconst pageSize = Math.floor( ( windowHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\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\tconst selectFontCount =\n\t\tfontsToInstall.length > 0 ? fontsToInstall[ 0 ]?.fontFace?.length : 0;\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tselectFontCount > 0 &&\n\t\tselectFontCount !== selectedFont?.fontFace?.length;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked =\n\t\tselectFontCount === selectedFont?.fontFace?.length;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst newFonts = isSelectAllChecked ? [] : [ selectedFont ];\n\n\t\tsetFontsToInstall( newFonts );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFonts( [ fontFamily ] );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tconst getSortedFontFaces = ( fontFamily ) => {\n\t\tif ( ! fontFamily ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! fontFamily.fontFace || ! fontFamily.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: fontFamily.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( fontFamily.fontFace );\n\t};\n\n\tif ( renderConfirmDialog ) {\n\t\treturn <GoogleFontsConfirmDialog />;\n\t}\n\n\tconst ActionsComponent = () => {\n\t\tif ( slug !== 'google-fonts' || renderConfirmDialog || selectedFont ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t} }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Revoke access to Google Fonts' ),\n\t\t\t\t\t\tonClick: revokeAccess,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isLoading && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<Navigator\n\t\t\t\t\t\tinitialPath=\"/\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Navigator.Screen path=\"/\">\n\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.name }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.description }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t<ActionsComponent />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Flex>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__search\"\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\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\t{ category.name }\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\n\t\t\t\t\t\t\t{ !! selectedCollection?.font_families?.length &&\n\t\t\t\t\t\t\t\t! fonts.length && (\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings.slug\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\tfont={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\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\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFont(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\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} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Navigator.Screen>\n\n\t\t\t\t\t\t<Navigator.Screen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<Navigator.BackButton\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronRight : chevronLeft\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedFont( null );\n\t\t\t\t\t\t\t\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\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{ selectedFont?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __( 'Select font variants to install.' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ getSortedFontFaces( selectedFont ).map(\n\t\t\t\t\t\t\t\t\t\t( face, i ) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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<CollectionFontVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant\n\t\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\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.fontFace\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? face\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontToInstallOutline\n\t\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/>\n\t\t\t\t\t\t\t\t\t\t\t</li>\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</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t\t\t</Navigator.Screen>\n\t\t\t\t\t</Navigator>\n\n\t\t\t\t\t{ selectedFont && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleInstall }\n\t\t\t\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tfontsToInstall.length === 0 || isInstalling\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Install' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! selectedFont && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t\tjustify=\"end\"\n\t\t\t\t\t\t\tspacing={ 6 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__page-selection\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1: Current page number, 2: Total number of pages.\n\t\t\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t\t\t'<div>Page</div>%1$s<div>of %2$s</div>',\n\t\t\t\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t'<CurrentPage />',\n\t\t\t\t\t\t\t\t\t\ttotalPages\n\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\t\tdiv: <div aria-hidden />,\n\t\t\t\t\t\t\t\t\t\tCurrentPage: (\n\t\t\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Current page'\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\tvalue={ page }\n\t\t\t\t\t\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...Array( totalPages ),\n\t\t\t\t\t\t\t\t\t\t\t\t].map( ( e, i ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\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} ) }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetPage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparseInt( newPage )\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"minimal\"\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\t) }\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useContext","useEffect","useState","useMemo","createInterpolateElement","__experimentalSpacer","Spacer","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","Navigator","__experimentalHeading","Heading","Notice","SelectControl","FlexItem","Flex","Button","DropdownMenu","SearchControl","ProgressBar","CheckboxControl","debounce","sprintf","__","_x","isRTL","moreVertical","next","previous","chevronLeft","chevronRight","FontLibraryContext","FontCard","filterFonts","toggleFont","getFontsOutline","isFontFontFaceInOutline","GoogleFontsConfirmDialog","downloadFontFaceAssets","sortFontFaces","CollectionFontVariant","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_CATEGORY","slug","name","LOCAL_STORAGE_ITEM","MIN_WINDOW_HEIGHT","FontCollection","_selectedCollection$c","requiresPermission","getGoogleFontsPermissionFromStorage","window","localStorage","getItem","selectedFont","setSelectedFont","notice","setNotice","fontsToInstall","setFontsToInstall","page","setPage","filters","setFilters","renderConfirmDialog","setRenderConfirmDialog","collections","getFontCollection","installFonts","isInstalling","selectedCollection","find","collection","handleStorage","addEventListener","removeEventListener","revokeAccess","setItem","dispatchEvent","Event","fetchFontCollection","resetFilters","e","type","message","collectionFonts","_selectedCollection$f","font_families","collectionCategories","categories","fonts","isLoading","windowHeight","Math","max","innerHeight","pageSize","floor","totalPages","ceil","length","itemsStart","itemsLimit","items","slice","handleCategoryFilter","category","handleUpdateSearchInput","value","search","debouncedUpdateSearchInput","handleToggleVariant","font","face","newFontsToInstall","fontToInstallOutline","resetFontsToInstall","selectFontCount","fontFace","isIndeterminate","isSelectAllChecked","toggleSelectAll","newFonts","handleInstall","fontFamily","Promise","all","map","src","file","error","getSortedFontFaces","fontStyle","fontWeight","ActionsComponent","icon","label","popoverProps","position","controls","title","onClick","className","children","initialPath","Screen","path","justify","level","size","description","margin","placeholder","onChange","__nextHasNoMarginBottom","hideLabelFromVision","__next40pxDefaultSize","role","font_family_settings","navigatorPath","BackButton","status","onRemove","checked","indeterminate","spacing","i","selected","variant","isBusy","disabled","accessibleWhenDisabled","expanded","div","CurrentPage","options","Array","newPage","parseInt","showTooltip","tooltipPosition"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/font-collection.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tuseContext,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n\tcreateInterpolateElement,\n} from '@wordpress/element';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tNavigator,\n\t__experimentalHeading as Heading,\n\tNotice,\n\tSelectControl,\n\tFlexItem,\n\tFlex,\n\tButton,\n\tDropdownMenu,\n\tSearchControl,\n\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { sprintf, __, _x, isRTL } from '@wordpress/i18n';\nimport {\n\tmoreVertical,\n\tnext,\n\tprevious,\n\tchevronLeft,\n\tchevronRight,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport filterFonts from './utils/filter-fonts';\nimport { toggleFont } from './utils/toggleFont';\nimport {\n\tgetFontsOutline,\n\tisFontFontFaceInOutline,\n} from './utils/fonts-outline';\nimport GoogleFontsConfirmDialog from './google-fonts-confirm-dialog';\nimport { downloadFontFaceAssets } from './utils';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport CollectionFontVariant from './collection-font-variant';\n\nconst DEFAULT_CATEGORY = {\n\tslug: 'all',\n\tname: _x( 'All', 'font categories' ),\n};\n\nconst LOCAL_STORAGE_ITEM = 'wp-font-library-google-fonts-permission';\nconst MIN_WINDOW_HEIGHT = 500;\n\nfunction FontCollection( { slug } ) {\n\tconst requiresPermission = slug === 'google-fonts';\n\n\tconst getGoogleFontsPermissionFromStorage = () => {\n\t\treturn window.localStorage.getItem( LOCAL_STORAGE_ITEM ) === 'true';\n\t};\n\n\tconst [ selectedFont, setSelectedFont ] = useState( null );\n\tconst [ notice, setNotice ] = useState( false );\n\tconst [ fontsToInstall, setFontsToInstall ] = useState( [] );\n\tconst [ page, setPage ] = useState( 1 );\n\tconst [ filters, setFilters ] = useState( {} );\n\tconst [ renderConfirmDialog, setRenderConfirmDialog ] = useState(\n\t\trequiresPermission && ! getGoogleFontsPermissionFromStorage()\n\t);\n\tconst { collections, getFontCollection, installFonts, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\tconst selectedCollection = collections.find(\n\t\t( collection ) => collection.slug === slug\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}, [ slug, requiresPermission ] );\n\n\tconst revokeAccess = () => {\n\t\twindow.localStorage.setItem( LOCAL_STORAGE_ITEM, 'false' );\n\t\twindow.dispatchEvent( new Event( 'storage' ) );\n\t};\n\n\tuseEffect( () => {\n\t\tconst fetchFontCollection = async () => {\n\t\t\ttry {\n\t\t\t\tawait getFontCollection( slug );\n\t\t\t\tresetFilters();\n\t\t\t} catch ( e ) {\n\t\t\t\tif ( ! notice ) {\n\t\t\t\t\tsetNotice( {\n\t\t\t\t\t\ttype: 'error',\n\t\t\t\t\t\tmessage: e?.message,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\t\tfetchFontCollection();\n\t}, [ slug, getFontCollection, setNotice, notice ] );\n\n\tuseEffect( () => {\n\t\tsetSelectedFont( null );\n\t}, [ slug ] );\n\n\tuseEffect( () => {\n\t\t// If the selected fonts change, reset the selected fonts to install\n\t\tsetFontsToInstall( [] );\n\t}, [ selectedFont ] );\n\n\tconst collectionFonts = useMemo(\n\t\t() => selectedCollection?.font_families ?? [],\n\t\t[ selectedCollection ]\n\t);\n\tconst collectionCategories = selectedCollection?.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 isLoading = ! selectedCollection?.font_families && ! notice;\n\n\t// NOTE: The height of the font library modal unavailable to use for rendering font family items is roughly 417px\n\t// The height of each font family item is 61px.\n\tconst windowHeight = Math.max( window.innerHeight, MIN_WINDOW_HEIGHT );\n\tconst pageSize = Math.floor( ( windowHeight - 417 ) / 61 );\n\tconst totalPages = Math.ceil( fonts.length / pageSize );\n\tconst itemsStart = ( page - 1 ) * pageSize;\n\tconst itemsLimit = page * pageSize;\n\tconst items = fonts.slice( itemsStart, itemsLimit );\n\n\tconst handleCategoryFilter = ( category ) => {\n\t\tsetFilters( { ...filters, category } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst handleUpdateSearchInput = ( value ) => {\n\t\tsetFilters( { ...filters, search: value } );\n\t\tsetPage( 1 );\n\t};\n\n\tconst debouncedUpdateSearchInput = debounce( handleUpdateSearchInput, 300 );\n\n\tconst resetFilters = () => {\n\t\tsetFilters( {} );\n\t\tsetPage( 1 );\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\tconst selectFontCount =\n\t\tfontsToInstall.length > 0 ? fontsToInstall[ 0 ]?.fontFace?.length : 0;\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tselectFontCount > 0 &&\n\t\tselectFontCount !== selectedFont?.fontFace?.length;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked =\n\t\tselectFontCount === selectedFont?.fontFace?.length;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst newFonts = isSelectAllChecked ? [] : [ selectedFont ];\n\n\t\tsetFontsToInstall( newFonts );\n\t};\n\n\tconst handleInstall = async () => {\n\t\tsetNotice( null );\n\n\t\tconst fontFamily = fontsToInstall[ 0 ];\n\n\t\ttry {\n\t\t\tif ( fontFamily?.fontFace ) {\n\t\t\t\tawait Promise.all(\n\t\t\t\t\tfontFamily.fontFace.map( async ( fontFace ) => {\n\t\t\t\t\t\tif ( fontFace.src ) {\n\t\t\t\t\t\t\tfontFace.file = await downloadFontFaceAssets(\n\t\t\t\t\t\t\t\tfontFace.src\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t}\n\t\t} catch ( error ) {\n\t\t\t// If any of the fonts fail to download,\n\t\t\t// show an error notice and stop the request from being sent.\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Error installing the fonts, could not be downloaded.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFonts( [ fontFamily ] );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: error.message,\n\t\t\t} );\n\t\t}\n\t\tresetFontsToInstall();\n\t};\n\n\tconst getSortedFontFaces = ( fontFamily ) => {\n\t\tif ( ! fontFamily ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! fontFamily.fontFace || ! fontFamily.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: fontFamily.fontFamily,\n\t\t\t\t\tfontStyle: 'normal',\n\t\t\t\t\tfontWeight: '400',\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn sortFontFaces( fontFamily.fontFace );\n\t};\n\n\tif ( renderConfirmDialog ) {\n\t\treturn <GoogleFontsConfirmDialog />;\n\t}\n\n\tconst ActionsComponent = () => {\n\t\tif ( slug !== 'google-fonts' || renderConfirmDialog || selectedFont ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<DropdownMenu\n\t\t\t\ticon={ moreVertical }\n\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tposition: 'bottom left',\n\t\t\t\t} }\n\t\t\t\tcontrols={ [\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: __( 'Revoke access to Google Fonts' ),\n\t\t\t\t\t\tonClick: revokeAccess,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isLoading && (\n\t\t\t\t<div className=\"font-library-modal__loading\">\n\t\t\t\t\t<ProgressBar />\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! isLoading && (\n\t\t\t\t<>\n\t\t\t\t\t<Navigator\n\t\t\t\t\t\tinitialPath=\"/\"\n\t\t\t\t\t\tclassName=\"font-library-modal__tabpanel-layout\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Navigator.Screen path=\"/\">\n\t\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t<Heading level={ 2 } size={ 13 }>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.name }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ selectedCollection.description }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t<ActionsComponent />\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Flex>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__search\"\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.search }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Font name…' ) }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Search' ) }\n\t\t\t\t\t\t\t\t\t\tonChange={ debouncedUpdateSearchInput }\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\thideLabelFromVision={ false }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Category' ) }\n\t\t\t\t\t\t\t\t\t\tvalue={ filters.category }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCategoryFilter }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ categories &&\n\t\t\t\t\t\t\t\t\t\t\tcategories.map( ( category ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<option\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue={ category.slug }\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ category.slug }\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\t{ category.name }\n\t\t\t\t\t\t\t\t\t\t\t\t</option>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t</SelectControl>\n\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t</Flex>\n\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\n\t\t\t\t\t\t\t{ !! selectedCollection?.font_families?.length &&\n\t\t\t\t\t\t\t\t! fonts.length && (\n\t\t\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'No fonts found. Try with a different search term'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\n\t\t\t\t\t\t\t<div className=\"font-library-modal__fonts-grid__main\">\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ items.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\tkey={\n\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings.slug\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\tfont={\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\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\tnavigatorPath=\"/fontFamily\"\n\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetSelectedFont(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont.font_family_settings\n\t\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} }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</Navigator.Screen>\n\n\t\t\t\t\t\t<Navigator.Screen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<Navigator.BackButton\n\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\tisRTL() ? chevronRight : chevronLeft\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetSelectedFont( null );\n\t\t\t\t\t\t\t\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\t\t/>\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{ selectedFont?.name }\n\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t<Spacer margin={ 1 } />\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<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ __( 'Select font variants to install.' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t{ /*\n\t\t\t\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ getSortedFontFaces( selectedFont ).map(\n\t\t\t\t\t\t\t\t\t\t( face, i ) => (\n\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list-item\"\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<CollectionFontVariant\n\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ selectedFont }\n\t\t\t\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleToggleVariant\n\t\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\tselected={ isFontFontFaceInOutline(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.slug,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tselectedFont.fontFace\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? face\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: null, // If the font has no fontFace, we want to check if the font is in the outline\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfontToInstallOutline\n\t\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/>\n\t\t\t\t\t\t\t\t\t\t\t</li>\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</ul>\n\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t\t\t</Navigator.Screen>\n\t\t\t\t\t</Navigator>\n\n\t\t\t\t\t{ selectedFont && (\n\t\t\t\t\t\t<Flex\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleInstall }\n\t\t\t\t\t\t\t\tisBusy={ isInstalling }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tfontsToInstall.length === 0 || isInstalling\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Install' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</Flex>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! selectedFont && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t\t\tjustify=\"end\"\n\t\t\t\t\t\t\tspacing={ 6 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\texpanded={ false }\n\t\t\t\t\t\t\t\tspacing={ 1 }\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__page-selection\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: 1: Current page number, 2: Total number of pages.\n\t\t\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t\t\t'<div>Page</div>%1$s<div>of %2$s</div>',\n\t\t\t\t\t\t\t\t\t\t\t'paging'\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t'<CurrentPage />',\n\t\t\t\t\t\t\t\t\t\ttotalPages\n\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\t\tdiv: <div aria-hidden />,\n\t\t\t\t\t\t\t\t\t\tCurrentPage: (\n\t\t\t\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Current page'\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\tvalue={ page }\n\t\t\t\t\t\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t\t\t\t\t\t...Array( totalPages ),\n\t\t\t\t\t\t\t\t\t\t\t\t].map( ( e, i ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: i + 1,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: i + 1,\n\t\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} ) }\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={ ( newPage ) =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetPage(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tparseInt( newPage )\n\t\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}\n\t\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"minimal\"\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\t) }\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t<HStack expanded={ false } spacing={ 1 }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page - 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === 1 }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Previous page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? next : previous }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ () => setPage( page + 1 ) }\n\t\t\t\t\t\t\t\t\tdisabled={ page === totalPages }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Next page' ) }\n\t\t\t\t\t\t\t\t\ticon={ isRTL() ? previous : next }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\t\t\ttooltipPosition=\"top\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontCollection;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","getFacePreviewStyle","getFamilyPreviewStyle","jsx","_jsx","getPreviewUrl","fontFace","preview","src","Array","isArray","getDisplayFontFace","font","fontStyle","fontWeight","length","find","face","fontFamily","fake","FontDemo","text","ref","style","name","customPreviewUrl","isIntersecting","setIsIntersecting","isAssetLoaded","setIsAssetLoaded","loadFontFaceAsset","previewUrl","isPreviewImage","match","faceStyles","textDemoStyle","fontSize","lineHeight","opacity","observer","window","IntersectionObserver","entry","observe","current","disconnect","loadAsset","children","loading","alt","className"],"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 {\n\tgetFacePreviewStyle,\n\tgetFamilyPreviewStyle,\n} 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 getDisplayFontFace( font ) {\n\t// if this IS a font face return it\n\tif ( font.fontStyle || font.fontWeight ) {\n\t\treturn font;\n\t}\n\t// if this is a font family with a collection of font faces\n\t// return the first one that is normal and 400 OR just the first one\n\tif ( font.fontFace && font.fontFace.length ) {\n\t\treturn (\n\t\t\tfont.fontFace.find(\n\t\t\t\t( face ) =>\n\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t) || font.fontFace[ 0 ]\n\t\t);\n\t}\n\t// This must be a font family with no font faces\n\t// return a fake font face\n\treturn {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n}\n\nfunction FontDemo( { font, text } ) {\n\tconst ref = useRef( null );\n\n\tconst fontFace = getDisplayFontFace( font );\n\tconst style = getFamilyPreviewStyle( font );\n\ttext = text || font.name;\n\tconst customPreviewUrl = font.preview;\n\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\tfontSize: '18px',\n\t\tlineHeight: 1,\n\t\topacity: isAssetLoaded ? '1' : '0',\n\t\t...style,\n\t\t...faceStyles,\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, isPreviewImage ] );\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\tclassName=\"font-library-modal__font-variant_demo-image\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ textDemoStyle }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-text\"\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontDemo;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__experimentalText","Text","useContext","useEffect","useState","useRef","FontLibraryContext","getFacePreviewStyle","getFamilyPreviewStyle","jsx","_jsx","getPreviewUrl","fontFace","preview","src","Array","isArray","getDisplayFontFace","font","fontStyle","fontWeight","length","find","face","fontFamily","fake","FontDemo","text","ref","style","name","customPreviewUrl","isIntersecting","setIsIntersecting","isAssetLoaded","setIsAssetLoaded","loadFontFaceAsset","previewUrl","isPreviewImage","match","faceStyles","textDemoStyle","fontSize","lineHeight","opacity","observer","window","IntersectionObserver","entry","observe","current","disconnect","loadAsset","children","loading","alt","className"],"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 {\n\tgetFacePreviewStyle,\n\tgetFamilyPreviewStyle,\n} 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 getDisplayFontFace( font ) {\n\t// if this IS a font face return it\n\tif ( font.fontStyle || font.fontWeight ) {\n\t\treturn font;\n\t}\n\t// if this is a font family with a collection of font faces\n\t// return the first one that is normal and 400 OR just the first one\n\tif ( font.fontFace && font.fontFace.length ) {\n\t\treturn (\n\t\t\tfont.fontFace.find(\n\t\t\t\t( face ) =>\n\t\t\t\t\tface.fontStyle === 'normal' && face.fontWeight === '400'\n\t\t\t) || font.fontFace[ 0 ]\n\t\t);\n\t}\n\t// This must be a font family with no font faces\n\t// return a fake font face\n\treturn {\n\t\tfontStyle: 'normal',\n\t\tfontWeight: '400',\n\t\tfontFamily: font.fontFamily,\n\t\tfake: true,\n\t};\n}\n\nfunction FontDemo( { font, text } ) {\n\tconst ref = useRef( null );\n\n\tconst fontFace = getDisplayFontFace( font );\n\tconst style = getFamilyPreviewStyle( font );\n\ttext = text || font.name;\n\tconst customPreviewUrl = font.preview;\n\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\tfontSize: '18px',\n\t\tlineHeight: 1,\n\t\topacity: isAssetLoaded ? '1' : '0',\n\t\t...style,\n\t\t...faceStyles,\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, isPreviewImage ] );\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\tclassName=\"font-library-modal__font-variant_demo-image\"\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<Text\n\t\t\t\t\tstyle={ textDemoStyle }\n\t\t\t\t\tclassName=\"font-library-modal__font-variant_demo-text\"\n\t\t\t\t>\n\t\t\t\t\t{ text }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default FontDemo;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","Modal","privateApis","componentsPrivateApis","store","coreStore","useSelect","useContext","InstalledFonts","FontCollection","UploadFonts","FontLibraryContext","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","DEFAULT_TAB","id","title","UPLOAD_TAB","tabsFromCollections","collections","map","slug","name","length","FontLibraryModal","onRequestClose","defaultTabId","canUserCreate","select","canUser","kind","tabs","push","isFullScreen","className","children","TabList","Tab","tabId","contents","TabPanel","focusable"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport UploadFonts from './upload-fonts';\nimport { FontLibraryContext } from './context';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst DEFAULT_TAB = {\n\tid: 'installed-fonts',\n\ttitle: _x( 'Library', 'Font library' ),\n};\n\nconst UPLOAD_TAB = {\n\tid: 'upload-fonts',\n\ttitle: __( 'Upload' ),\n};\n\nconst tabsFromCollections = ( collections ) =>\n\tcollections.map( ( { slug, name } ) => ( {\n\t\tid: slug,\n\t\ttitle:\n\t\t\tcollections.length === 1 && slug === 'google-fonts'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tdefaultTabId = 'installed-fonts',\n} ) {\n\tconst { collections } = useContext( FontLibraryContext );\n\tconst canUserCreate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', {\n\t\t\tkind: 'postType',\n\t\t\tname: 'wp_font_family',\n\t\t} );\n\t}, [] );\n\n\tconst tabs = [ DEFAULT_TAB ];\n\n\tif ( canUserCreate ) {\n\t\ttabs.push( UPLOAD_TAB );\n\t\ttabs.push( ...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<Tabs defaultTabId={ defaultTabId }>\n\t\t\t\t<div className=\"font-library-modal__tablist-container\">\n\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t{ tabs.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t<Tabs.Tab key={ id } tabId={ id }>\n\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\t\t\t\t{ tabs.map( ( { id } ) => {\n\t\t\t\t\tlet contents;\n\t\t\t\t\tswitch ( id ) {\n\t\t\t\t\t\tcase 'upload-fonts':\n\t\t\t\t\t\t\tcontents = <UploadFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\tcontents = <InstalledFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tcontents = <FontCollection slug={ id } />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\ttabId={ id }\n\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contents }\n\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tabs>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","Modal","privateApis","componentsPrivateApis","store","coreStore","useSelect","useContext","InstalledFonts","FontCollection","UploadFonts","FontLibraryContext","unlock","jsx","_jsx","jsxs","_jsxs","Tabs","DEFAULT_TAB","id","title","UPLOAD_TAB","tabsFromCollections","collections","map","slug","name","length","FontLibraryModal","onRequestClose","defaultTabId","canUserCreate","select","canUser","kind","tabs","push","isFullScreen","className","children","TabList","Tab","tabId","contents","TabPanel","focusable"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tModal,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport InstalledFonts from './installed-fonts';\nimport FontCollection from './font-collection';\nimport UploadFonts from './upload-fonts';\nimport { FontLibraryContext } from './context';\nimport { unlock } from '../../../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst DEFAULT_TAB = {\n\tid: 'installed-fonts',\n\ttitle: _x( 'Library', 'Font library' ),\n};\n\nconst UPLOAD_TAB = {\n\tid: 'upload-fonts',\n\ttitle: __( 'Upload' ),\n};\n\nconst tabsFromCollections = ( collections ) =>\n\tcollections.map( ( { slug, name } ) => ( {\n\t\tid: slug,\n\t\ttitle:\n\t\t\tcollections.length === 1 && slug === 'google-fonts'\n\t\t\t\t? __( 'Install Fonts' )\n\t\t\t\t: name,\n\t} ) );\n\nfunction FontLibraryModal( {\n\tonRequestClose,\n\tdefaultTabId = 'installed-fonts',\n} ) {\n\tconst { collections } = useContext( FontLibraryContext );\n\tconst canUserCreate = useSelect( ( select ) => {\n\t\treturn select( coreStore ).canUser( 'create', {\n\t\t\tkind: 'postType',\n\t\t\tname: 'wp_font_family',\n\t\t} );\n\t}, [] );\n\n\tconst tabs = [ DEFAULT_TAB ];\n\n\tif ( canUserCreate ) {\n\t\ttabs.push( UPLOAD_TAB );\n\t\ttabs.push( ...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<Tabs defaultTabId={ defaultTabId }>\n\t\t\t\t<div className=\"font-library-modal__tablist-container\">\n\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t{ tabs.map( ( { id, title } ) => (\n\t\t\t\t\t\t\t<Tabs.Tab key={ id } tabId={ id }>\n\t\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t</div>\n\t\t\t\t{ tabs.map( ( { id } ) => {\n\t\t\t\t\tlet contents;\n\t\t\t\t\tswitch ( id ) {\n\t\t\t\t\t\tcase 'upload-fonts':\n\t\t\t\t\t\t\tcontents = <UploadFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase 'installed-fonts':\n\t\t\t\t\t\t\tcontents = <InstalledFonts />;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\tcontents = <FontCollection slug={ id } />;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\tkey={ id }\n\t\t\t\t\t\t\ttabId={ id }\n\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contents }\n\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tabs>\n\t\t</Modal>\n\t);\n}\n\nexport default FontLibraryModal;\n"],"mappings":"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","ignoreList":[]}
|