@wordpress/edit-site 5.29.0 → 5.30.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/actions/index.js +1 -1
- package/build/components/actions/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +10 -11
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/editor/index.js +1 -15
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/color-palette-panel.js +9 -0
- package/build/components/global-styles/color-palette-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +1 -1
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +2 -2
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +62 -58
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +10 -15
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +118 -76
- 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 +29 -8
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +19 -6
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +151 -79
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js +2 -2
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +8 -14
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +38 -4
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
- package/build/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build/components/global-styles/header.js +1 -1
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/highlighted-colors.js +50 -0
- package/build/components/global-styles/highlighted-colors.js.map +1 -0
- package/build/components/global-styles/preview-colors.js +62 -0
- package/build/components/global-styles/preview-colors.js.map +1 -0
- package/build/components/global-styles/preview-iframe.js +131 -0
- package/build/components/global-styles/preview-iframe.js.map +1 -0
- package/build/components/global-styles/preview-styles.js +163 -0
- package/build/components/global-styles/preview-styles.js.map +1 -0
- package/build/components/global-styles/preview-typography.js +65 -0
- package/build/components/global-styles/preview-typography.js.map +1 -0
- package/build/components/global-styles/screen-block-list.js +1 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +1 -1
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +10 -2
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +2 -2
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-root.js +2 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +10 -2
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +12 -84
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
- package/build/components/global-styles/typography-elements.js.map +1 -0
- package/build/components/global-styles/ui.js +27 -2
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +22 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variation.js +90 -0
- package/build/components/global-styles/variations/variation.js.map +1 -0
- package/build/components/global-styles/variations/variations-color.js +36 -0
- package/build/components/global-styles/variations/variations-color.js.map +1 -0
- package/build/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/build/components/global-styles/variations/variations-panel.js.map +1 -0
- package/build/components/global-styles/variations/variations-typography.js +64 -0
- package/build/components/global-styles/variations/variations-typography.js.map +1 -0
- package/build/components/header-edit-mode/index.js +12 -11
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +10 -2
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/layout/index.js +4 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/page-patterns/index.js +14 -14
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -61
- package/build/components/page-templates-template-parts/hooks.js.map +1 -0
- package/build/components/page-templates-template-parts/index.js +14 -6
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +2 -1
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/save-panel/index.js +18 -3
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +1 -1
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +2 -0
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +1 -2
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
- package/build/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/index.js +2 -2
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/content.js +4 -4
- package/build/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/start-template-options/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +65 -0
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/components/actions/index.js +1 -1
- package/build-module/components/actions/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +10 -11
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/editor/index.js +2 -16
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/color-palette-panel.js +8 -0
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +1 -1
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +4 -4
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +63 -59
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +11 -16
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +121 -79
- 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 +30 -9
- 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 +19 -6
- 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 +151 -79
- 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-variant.js +4 -4
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +9 -15
- 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/index.js +37 -4
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/preview-styles.js.map +1 -1
- package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
- package/build-module/components/global-styles/header.js +1 -1
- package/build-module/components/global-styles/header.js.map +1 -1
- package/build-module/components/global-styles/highlighted-colors.js +43 -0
- package/build-module/components/global-styles/highlighted-colors.js.map +1 -0
- package/build-module/components/global-styles/preview-colors.js +54 -0
- package/build-module/components/global-styles/preview-colors.js.map +1 -0
- package/build-module/components/global-styles/preview-iframe.js +124 -0
- package/build-module/components/global-styles/preview-iframe.js.map +1 -0
- package/build-module/components/global-styles/preview-styles.js +155 -0
- package/build-module/components/global-styles/preview-styles.js.map +1 -0
- package/build-module/components/global-styles/preview-typography.js +58 -0
- package/build-module/components/global-styles/preview-typography.js.map +1 -0
- package/build-module/components/global-styles/screen-block-list.js +1 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +1 -1
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-colors.js +10 -2
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +2 -2
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +2 -2
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +10 -2
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +13 -85
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/{typogrphy-elements.js → typography-elements.js} +1 -1
- package/build-module/components/global-styles/typography-elements.js.map +1 -0
- package/build-module/components/global-styles/ui.js +27 -2
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +21 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variation.js +82 -0
- package/build-module/components/global-styles/variations/variation.js.map +1 -0
- package/build-module/components/global-styles/variations/variations-color.js +28 -0
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -0
- package/build-module/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/build-module/components/global-styles/variations/variations-panel.js.map +1 -0
- package/build-module/components/global-styles/variations/variations-typography.js +56 -0
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -0
- package/build-module/components/header-edit-mode/index.js +13 -12
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +13 -5
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/layout/index.js +4 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-patterns/index.js +14 -14
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/{list/added-by.js → page-templates-template-parts/hooks.js} +2 -59
- package/build-module/components/page-templates-template-parts/hooks.js.map +1 -0
- package/build-module/components/page-templates-template-parts/index.js +13 -5
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/resizable-frame/index.js +2 -1
- package/build-module/components/resizable-frame/index.js.map +1 -1
- package/build-module/components/revisions/index.js.map +1 -1
- package/build-module/components/save-panel/index.js +18 -3
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +1 -1
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +3 -1
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +1 -2
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/delete-modal.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -3
- package/build-module/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js +3 -3
- package/build-module/components/sidebar-navigation-screen-templates-browse/content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +7 -5
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/start-template-options/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +63 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-style/style-rtl.css +163 -286
- package/build-style/style.css +163 -286
- package/package.json +42 -42
- package/src/components/actions/index.js +1 -1
- package/src/components/block-editor/editor-canvas.js +13 -12
- package/src/components/block-editor/style.scss +0 -3
- package/src/components/editor/index.js +0 -20
- package/src/components/global-styles/color-palette-panel.js +11 -1
- package/src/components/global-styles/font-families.js +1 -1
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +5 -5
- package/src/components/global-styles/font-library-modal/context.js +116 -104
- package/src/components/global-styles/font-library-modal/font-card.js +11 -26
- package/src/components/global-styles/font-library-modal/font-collection.js +297 -218
- package/src/components/global-styles/font-library-modal/font-demo.js +38 -4
- package/src/components/global-styles/font-library-modal/index.js +23 -16
- package/src/components/global-styles/font-library-modal/installed-fonts.js +243 -114
- package/src/components/global-styles/font-library-modal/library-font-variant.js +5 -5
- package/src/components/global-styles/font-library-modal/style.scss +15 -8
- package/src/components/global-styles/font-library-modal/upload-fonts.js +17 -19
- package/src/components/global-styles/font-library-modal/utils/index.js +44 -4
- package/src/components/global-styles/font-library-modal/utils/preview-styles.js +2 -1
- package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +7 -18
- package/src/components/global-styles/gradients-palette-panel.js +2 -2
- package/src/components/global-styles/header.js +1 -1
- package/src/components/global-styles/highlighted-colors.js +39 -0
- package/src/components/global-styles/preview-colors.js +61 -0
- package/src/components/global-styles/preview-iframe.js +153 -0
- package/src/components/global-styles/preview-styles.js +185 -0
- package/src/components/global-styles/preview-typography.js +62 -0
- package/src/components/global-styles/screen-block-list.js +1 -1
- package/src/components/global-styles/screen-block.js +4 -1
- package/src/components/global-styles/screen-colors.js +13 -1
- package/src/components/global-styles/screen-revisions/index.js +5 -2
- package/src/components/global-styles/screen-root.js +2 -2
- package/src/components/global-styles/screen-typography.js +19 -2
- package/src/components/global-styles/style-variations-container.js +14 -92
- package/src/components/global-styles/style.scss +0 -34
- package/src/components/global-styles/ui.js +26 -2
- package/src/components/global-styles/utils.js +37 -0
- package/src/components/global-styles/variations/style.scss +44 -0
- package/src/components/global-styles/variations/variation.js +93 -0
- package/src/components/global-styles/variations/variations-color.js +30 -0
- package/src/components/global-styles/{variations-panel.js → variations/variations-panel.js} +1 -1
- package/src/components/global-styles/variations/variations-typography.js +85 -0
- package/src/components/header-edit-mode/index.js +20 -27
- package/src/components/header-edit-mode/more-menu/index.js +17 -8
- package/src/components/header-edit-mode/style.scss +4 -0
- package/src/components/layout/index.js +5 -0
- package/src/components/page-patterns/index.js +21 -21
- package/src/components/{list/added-by.js → page-templates-template-parts/hooks.js} +1 -66
- package/src/components/page-templates-template-parts/index.js +20 -3
- package/src/components/page-templates-template-parts/style.scss +48 -0
- package/src/components/resizable-frame/index.js +1 -0
- package/src/components/revisions/index.js +1 -1
- package/src/components/save-panel/index.js +34 -12
- package/src/components/sidebar/index.js +1 -1
- package/src/components/sidebar-dataviews/default-views.js +3 -1
- package/src/components/sidebar-edit-mode/page-panels/page-status.js +1 -1
- package/src/components/sidebar-edit-mode/template-panel/index.js +1 -1
- package/src/components/sidebar-navigation-screen-main/index.js +0 -2
- package/src/components/sidebar-navigation-screen-navigation-menu/delete-modal.js +1 -1
- package/src/components/sidebar-navigation-screen-navigation-menu/single-navigation-menu.js +0 -2
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +1 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menus.js +1 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
- package/src/components/sidebar-navigation-screen-template/index.js +1 -1
- package/src/components/sidebar-navigation-screen-templates-browse/content.js +3 -3
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +5 -3
- package/src/components/start-template-options/index.js +1 -1
- package/src/hooks/use-theme-style-variations/test/use-theme-style-variations-by-property.js +173 -0
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +68 -1
- package/src/style.scss +2 -2
- package/build/components/global-styles/font-library-modal/collection-font-details.js +0 -50
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -30
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +0 -39
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
- package/build/components/global-styles/font-library-modal/tab-panel-layout.js +0 -67
- package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
- package/build/components/global-styles/preview.js +0 -271
- package/build/components/global-styles/preview.js.map +0 -1
- package/build/components/global-styles/typogrphy-elements.js.map +0 -1
- package/build/components/global-styles/variations-panel.js.map +0 -1
- package/build/components/list/added-by.js.map +0 -1
- package/build/components/list/header.js +0 -55
- package/build/components/list/header.js.map +0 -1
- package/build/components/list/index.js +0 -80
- package/build/components/list/index.js.map +0 -1
- package/build/components/list/table.js +0 -94
- package/build/components/list/table.js.map +0 -1
- package/build/components/list/use-register-shortcuts.js +0 -51
- package/build/components/list/use-register-shortcuts.js.map +0 -1
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js +0 -36
- package/build/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -36
- package/build/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +0 -42
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -23
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +0 -31
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +0 -60
- package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +0 -1
- package/build-module/components/global-styles/preview.js +0 -264
- package/build-module/components/global-styles/preview.js.map +0 -1
- package/build-module/components/global-styles/typogrphy-elements.js.map +0 -1
- package/build-module/components/global-styles/variations-panel.js.map +0 -1
- package/build-module/components/list/added-by.js.map +0 -1
- package/build-module/components/list/header.js +0 -47
- package/build-module/components/list/header.js.map +0 -1
- package/build-module/components/list/index.js +0 -72
- package/build-module/components/list/index.js.map +0 -1
- package/build-module/components/list/table.js +0 -86
- package/build-module/components/list/table.js.map +0 -1
- package/build-module/components/list/use-register-shortcuts.js +0 -45
- package/build-module/components/list/use-register-shortcuts.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js +0 -29
- package/build-module/components/sidebar-navigation-screen-main/template-part-hint.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -27
- package/build-module/components/sidebar-navigation-screen-navigation-menu/edit-button.js.map +0 -1
- package/src/components/global-styles/font-library-modal/collection-font-details.js +0 -56
- package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +0 -33
- package/src/components/global-styles/font-library-modal/library-font-card.js +0 -34
- package/src/components/global-styles/font-library-modal/tab-panel-layout.js +0 -85
- package/src/components/global-styles/preview.js +0 -327
- package/src/components/list/header.js +0 -48
- package/src/components/list/index.js +0 -87
- package/src/components/list/style.scss +0 -188
- package/src/components/list/table.js +0 -140
- package/src/components/list/use-register-shortcuts.js +0 -49
- package/src/components/sidebar-navigation-screen-main/template-part-hint.js +0 -34
- package/src/components/sidebar-navigation-screen-navigation-menu/edit-button.js +0 -22
- /package/src/components/global-styles/{typogrphy-elements.js → typography-elements.js} +0 -0
|
@@ -6,15 +6,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _react = require("react");
|
|
9
|
-
var _i18n = require("@wordpress/i18n");
|
|
10
|
-
var _element = require("@wordpress/element");
|
|
11
9
|
var _components = require("@wordpress/components");
|
|
12
|
-
var
|
|
13
|
-
var
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var
|
|
10
|
+
var _coreData = require("@wordpress/core-data");
|
|
11
|
+
var _data = require("@wordpress/data");
|
|
12
|
+
var _element = require("@wordpress/element");
|
|
13
|
+
var _i18n = require("@wordpress/i18n");
|
|
14
|
+
var _icons = require("@wordpress/icons");
|
|
17
15
|
var _lockUnlock = require("../../../lock-unlock");
|
|
16
|
+
var _context = require("./context");
|
|
17
|
+
var _fontCard = _interopRequireDefault(require("./font-card"));
|
|
18
|
+
var _libraryFontVariant = _interopRequireDefault(require("./library-font-variant"));
|
|
19
|
+
var _sortFontFaces = require("./utils/sort-font-faces");
|
|
18
20
|
/**
|
|
19
21
|
* WordPress dependencies
|
|
20
22
|
*/
|
|
@@ -35,71 +37,74 @@ function InstalledFonts() {
|
|
|
35
37
|
refreshLibrary,
|
|
36
38
|
uninstallFontFamily,
|
|
37
39
|
isResolvingLibrary,
|
|
40
|
+
isInstalling,
|
|
41
|
+
saveFontFamilies,
|
|
42
|
+
getFontFacesActivated,
|
|
43
|
+
fontFamiliesHasChanges,
|
|
38
44
|
notice,
|
|
39
45
|
setNotice
|
|
40
46
|
} = (0, _element.useContext)(_context.FontLibraryContext);
|
|
41
47
|
const [isConfirmDeleteOpen, setIsConfirmDeleteOpen] = (0, _element.useState)(false);
|
|
42
|
-
const
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
48
|
+
const customFontFamilyId = libraryFontSelected?.source === 'custom' && libraryFontSelected?.id;
|
|
49
|
+
const canUserDelete = (0, _data.useSelect)(select => {
|
|
50
|
+
const {
|
|
51
|
+
canUser
|
|
52
|
+
} = select(_coreData.store);
|
|
53
|
+
return customFontFamilyId && canUser('delete', 'font-families', customFontFamilyId);
|
|
54
|
+
}, [customFontFamilyId]);
|
|
55
|
+
const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== 'theme' && canUserDelete;
|
|
56
|
+
const handleUninstallClick = () => {
|
|
57
|
+
setIsConfirmDeleteOpen(true);
|
|
47
58
|
};
|
|
48
|
-
const
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
handleUnselectFont();
|
|
59
|
-
setIsConfirmDeleteOpen(false);
|
|
60
|
-
} catch (error) {
|
|
61
|
-
setNotice({
|
|
62
|
-
type: 'error',
|
|
63
|
-
message: (0, _i18n.__)('There was an error uninstalling the font family. ') + error.message
|
|
64
|
-
});
|
|
59
|
+
const getFontFacesToDisplay = font => {
|
|
60
|
+
if (!font) {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
if (!font.fontFace || !font.fontFace.length) {
|
|
64
|
+
return [{
|
|
65
|
+
fontFamily: font.fontFamily,
|
|
66
|
+
fontStyle: 'normal',
|
|
67
|
+
fontWeight: '400'
|
|
68
|
+
}];
|
|
65
69
|
}
|
|
70
|
+
return (0, _sortFontFaces.sortFontFaces)(font.fontFace);
|
|
66
71
|
};
|
|
67
|
-
const
|
|
68
|
-
|
|
72
|
+
const getFontCardVariantsText = font => {
|
|
73
|
+
const variantsInstalled = font?.fontFace?.length > 0 ? font.fontFace.length : 1;
|
|
74
|
+
const variantsActive = getFontFacesActivated(font.slug, font.source).length;
|
|
75
|
+
return (0, _i18n.sprintf)( /* translators: 1: Active font variants, 2: Total font variants. */
|
|
76
|
+
(0, _i18n.__)('%1$s/%2$s variants active'), variantsActive, variantsInstalled);
|
|
69
77
|
};
|
|
70
|
-
const handleCancelUninstall = () => {
|
|
71
|
-
setIsConfirmDeleteOpen(false);
|
|
72
|
-
};
|
|
73
|
-
const tabDescription = !!libraryFontSelected ? (0, _i18n.__)('Choose font variants. Keep in mind that too many variants could make your site slower.') : null;
|
|
74
|
-
const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== 'theme';
|
|
75
78
|
(0, _element.useEffect)(() => {
|
|
76
|
-
|
|
79
|
+
handleSetLibraryFontSelected(libraryFontSelected);
|
|
77
80
|
refreshLibrary();
|
|
78
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
79
81
|
}, []);
|
|
80
|
-
return (0, _react.createElement)(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
82
|
+
return (0, _react.createElement)("div", {
|
|
83
|
+
className: "font-library-modal__tabpanel-layout"
|
|
84
|
+
}, isResolvingLibrary && (0, _react.createElement)(_components.__experimentalHStack, {
|
|
85
|
+
align: "center"
|
|
86
|
+
}, (0, _react.createElement)(_components.__experimentalSpacer, null), (0, _react.createElement)(_components.Spinner, null), (0, _react.createElement)(_components.__experimentalSpacer, null)), (0, _react.createElement)(_components.__experimentalNavigatorProvider, {
|
|
87
|
+
initialPath: libraryFontSelected ? '/fontFamily' : '/'
|
|
88
|
+
}, (0, _react.createElement)(_components.__experimentalNavigatorScreen, {
|
|
89
|
+
path: "/"
|
|
90
|
+
}, notice && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
91
|
+
margin: 1
|
|
92
|
+
}), (0, _react.createElement)(_components.Notice, {
|
|
93
|
+
status: notice.type,
|
|
94
|
+
onRemove: () => setNotice(null)
|
|
95
|
+
}, notice.message), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
96
|
+
margin: 1
|
|
97
|
+
})), baseCustomFonts.length > 0 && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalText, {
|
|
98
|
+
className: "font-library-modal__subtitle"
|
|
99
|
+
}, (0, _i18n.__)('Installed Fonts')), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
97
100
|
margin: 2
|
|
98
|
-
})
|
|
101
|
+
}), baseCustomFonts.map(font => (0, _react.createElement)(_fontCard.default, {
|
|
99
102
|
font: font,
|
|
100
103
|
key: font.slug,
|
|
104
|
+
navigatorPath: '/fontFamily',
|
|
105
|
+
variantsText: getFontCardVariantsText(font),
|
|
101
106
|
onClick: () => {
|
|
102
|
-
|
|
107
|
+
handleSetLibraryFontSelected(font);
|
|
103
108
|
}
|
|
104
109
|
})), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
105
110
|
margin: 8
|
|
@@ -107,42 +112,109 @@ function InstalledFonts() {
|
|
|
107
112
|
className: "font-library-modal__subtitle"
|
|
108
113
|
}, (0, _i18n.__)('Theme Fonts')), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
109
114
|
margin: 2
|
|
110
|
-
}), baseThemeFonts.map(font => (0, _react.createElement)(
|
|
115
|
+
}), baseThemeFonts.map(font => (0, _react.createElement)(_fontCard.default, {
|
|
111
116
|
font: font,
|
|
112
117
|
key: font.slug,
|
|
118
|
+
navigatorPath: '/fontFamily',
|
|
119
|
+
variantsText: getFontCardVariantsText(font),
|
|
113
120
|
onClick: () => {
|
|
114
|
-
|
|
121
|
+
handleSetLibraryFontSelected(font);
|
|
115
122
|
}
|
|
116
123
|
}))), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
117
124
|
margin: 16
|
|
118
|
-
})),
|
|
125
|
+
})), (0, _react.createElement)(_components.__experimentalNavigatorScreen, {
|
|
126
|
+
path: "/fontFamily"
|
|
127
|
+
}, (0, _react.createElement)(ConfirmDeleteDialog, {
|
|
119
128
|
font: libraryFontSelected,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
129
|
+
isOpen: isConfirmDeleteOpen,
|
|
130
|
+
setIsOpen: setIsConfirmDeleteOpen,
|
|
131
|
+
setNotice: setNotice,
|
|
132
|
+
uninstallFontFamily: uninstallFontFamily,
|
|
133
|
+
handleSetLibraryFontSelected: handleSetLibraryFontSelected
|
|
134
|
+
}), (0, _react.createElement)(_components.Flex, {
|
|
135
|
+
justify: "flex-start"
|
|
136
|
+
}, (0, _react.createElement)(_components.__experimentalNavigatorToParentButton, {
|
|
137
|
+
icon: _icons.chevronLeft,
|
|
138
|
+
size: "small",
|
|
139
|
+
onClick: () => {
|
|
140
|
+
handleSetLibraryFontSelected(null);
|
|
141
|
+
},
|
|
142
|
+
"aria-label": (0, _i18n.__)('Navigate to the previous view')
|
|
143
|
+
}), (0, _react.createElement)(_components.__experimentalHeading, {
|
|
144
|
+
level: 2,
|
|
145
|
+
size: 13,
|
|
146
|
+
className: "edit-site-global-styles-header"
|
|
147
|
+
}, libraryFontSelected?.name)), notice && (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
148
|
+
margin: 1
|
|
149
|
+
}), (0, _react.createElement)(_components.Notice, {
|
|
150
|
+
status: notice.type,
|
|
151
|
+
onRemove: () => setNotice(null)
|
|
152
|
+
}, notice.message), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
153
|
+
margin: 1
|
|
154
|
+
})), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
155
|
+
margin: 4
|
|
156
|
+
}), (0, _react.createElement)(_components.__experimentalText, null, (0, _i18n.__)('Choose font variants. Keep in mind that too many variants could make your site slower.')), (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
157
|
+
margin: 4
|
|
158
|
+
}), (0, _react.createElement)(_components.__experimentalVStack, {
|
|
159
|
+
spacing: 0
|
|
160
|
+
}, (0, _react.createElement)(_components.__experimentalSpacer, {
|
|
161
|
+
margin: 8
|
|
162
|
+
}), getFontFacesToDisplay(libraryFontSelected).map((face, i) => (0, _react.createElement)(_libraryFontVariant.default, {
|
|
163
|
+
font: libraryFontSelected,
|
|
164
|
+
face: face,
|
|
165
|
+
key: `face${i}`
|
|
166
|
+
}))))), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
167
|
+
justify: "flex-end",
|
|
168
|
+
className: "font-library-modal__tabpanel-layout__footer"
|
|
169
|
+
}, isInstalling && (0, _react.createElement)(ProgressBar, null), shouldDisplayDeleteButton && (0, _react.createElement)(_components.Button, {
|
|
137
170
|
isDestructive: true,
|
|
138
171
|
variant: "tertiary",
|
|
139
172
|
onClick: handleUninstallClick
|
|
140
|
-
}, (0, _i18n.__)('Delete'))
|
|
173
|
+
}, (0, _i18n.__)('Delete')), (0, _react.createElement)(_components.Button, {
|
|
141
174
|
variant: "primary",
|
|
142
175
|
onClick: saveFontFamilies,
|
|
143
176
|
disabled: !fontFamiliesHasChanges,
|
|
144
177
|
__experimentalIsFocusable: true
|
|
145
|
-
}, (0, _i18n.__)('Update')));
|
|
178
|
+
}, (0, _i18n.__)('Update'))));
|
|
179
|
+
}
|
|
180
|
+
function ConfirmDeleteDialog({
|
|
181
|
+
font,
|
|
182
|
+
isOpen,
|
|
183
|
+
setIsOpen,
|
|
184
|
+
setNotice,
|
|
185
|
+
uninstallFontFamily,
|
|
186
|
+
handleSetLibraryFontSelected
|
|
187
|
+
}) {
|
|
188
|
+
const navigator = (0, _components.__experimentalUseNavigator)();
|
|
189
|
+
const handleConfirmUninstall = async () => {
|
|
190
|
+
setNotice(null);
|
|
191
|
+
setIsOpen(false);
|
|
192
|
+
try {
|
|
193
|
+
await uninstallFontFamily(font);
|
|
194
|
+
navigator.goBack();
|
|
195
|
+
handleSetLibraryFontSelected(null);
|
|
196
|
+
setNotice({
|
|
197
|
+
type: 'success',
|
|
198
|
+
message: (0, _i18n.__)('Font family uninstalled successfully.')
|
|
199
|
+
});
|
|
200
|
+
} catch (error) {
|
|
201
|
+
setNotice({
|
|
202
|
+
type: 'error',
|
|
203
|
+
message: (0, _i18n.__)('There was an error uninstalling the font family. ') + error.message
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
const handleCancelUninstall = () => {
|
|
208
|
+
setIsOpen(false);
|
|
209
|
+
};
|
|
210
|
+
return (0, _react.createElement)(_components.__experimentalConfirmDialog, {
|
|
211
|
+
isOpen: isOpen,
|
|
212
|
+
cancelButtonText: (0, _i18n.__)('Cancel'),
|
|
213
|
+
confirmButtonText: (0, _i18n.__)('Delete'),
|
|
214
|
+
onCancel: handleCancelUninstall,
|
|
215
|
+
onConfirm: handleConfirmUninstall
|
|
216
|
+
}, font && (0, _i18n.sprintf)( /* translators: %s: Name of the font. */
|
|
217
|
+
(0, _i18n.__)('Are you sure you want to delete "%s" font and all its variants and assets?'), font.name));
|
|
146
218
|
}
|
|
147
219
|
var _default = exports.default = InstalledFonts;
|
|
148
220
|
//# sourceMappingURL=installed-fonts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_components","_tabPanelLayout","_interopRequireDefault","_context","_libraryFontDetails","_libraryFontCard","_confirmDeleteDialog","_lockUnlock","ProgressBar","unlock","componentsPrivateApis","InstalledFonts","baseCustomFonts","libraryFontSelected","baseThemeFonts","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","notice","setNotice","useContext","FontLibraryContext","isConfirmDeleteOpen","setIsConfirmDeleteOpen","useState","handleUnselectFont","handleSelectFont","font","handleConfirmUninstall","type","message","__","error","handleUninstallClick","handleCancelUninstall","tabDescription","shouldDisplayDeleteButton","source","useEffect","_react","createElement","default","title","name","description","handleBack","footer","Footer","Fragment","FlexItem","__experimentalSpacer","margin","Spinner","length","map","key","slug","onClick","__experimentalText","className","saveFontFamilies","fontFamiliesHasChanges","isInstalling","__experimentalHStack","justify","Button","isDestructive","variant","disabled","__experimentalIsFocusable","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport {\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\tButton,\n\tSpinner,\n\tFlexItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport TabPanelLayout from './tab-panel-layout';\nimport { FontLibraryContext } from './context';\nimport LibraryFontDetails from './library-font-details';\nimport LibraryFontCard from './library-font-card';\nimport ConfirmDeleteDialog from './confirm-delete-dialog';\nimport { unlock } from '../../../lock-unlock';\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\tbaseThemeFonts,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tnotice,\n\t\tsetNotice,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\n\tconst handleUnselectFont = () => {\n\t\thandleSetLibraryFontSelected( null );\n\t};\n\n\tconst handleSelectFont = ( font ) => {\n\t\thandleSetLibraryFontSelected( font );\n\t};\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\n\t\ttry {\n\t\t\tawait uninstallFontFamily( libraryFontSelected );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled successfully.' ),\n\t\t\t} );\n\n\t\t\t// If the font was succesfully uninstalled it is unselected.\n\t\t\thandleUnselectFont();\n\t\t\tsetIsConfirmDeleteOpen( false );\n\t\t} catch ( error ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleUninstallClick = async () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsConfirmDeleteOpen( false );\n\t};\n\n\tconst tabDescription = !! libraryFontSelected\n\t\t? __(\n\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t )\n\t\t: null;\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected && libraryFontSelected?.source !== 'theme';\n\n\tuseEffect( () => {\n\t\thandleSelectFont( libraryFontSelected );\n\t\trefreshLibrary();\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [] );\n\n\treturn (\n\t\t<TabPanelLayout\n\t\t\ttitle={ libraryFontSelected?.name || '' }\n\t\t\tdescription={ tabDescription }\n\t\t\tnotice={ notice }\n\t\t\thandleBack={ !! libraryFontSelected && handleUnselectFont }\n\t\t\tfooter={\n\t\t\t\t<Footer\n\t\t\t\t\tshouldDisplayDeleteButton={ shouldDisplayDeleteButton }\n\t\t\t\t\thandleUninstallClick={ handleUninstallClick }\n\t\t\t\t/>\n\t\t\t}\n\t\t>\n\t\t\t<ConfirmDeleteDialog\n\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\tisConfirmDeleteOpen={ isConfirmDeleteOpen }\n\t\t\t\thandleConfirmUninstall={ handleConfirmUninstall }\n\t\t\t\thandleCancelUninstall={ handleCancelUninstall }\n\t\t\t/>\n\n\t\t\t{ ! libraryFontSelected && (\n\t\t\t\t<>\n\t\t\t\t\t{ isResolvingLibrary && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<LibraryFontCard\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSelectFont( font );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Text className=\"font-library-modal__subtitle\">\n\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t</Text>\n\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<LibraryFontCard\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSelectFont( font );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ libraryFontSelected && (\n\t\t\t\t<LibraryFontDetails\n\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\tisConfirmDeleteOpen={ isConfirmDeleteOpen }\n\t\t\t\t\thandleConfirmUninstall={ handleConfirmUninstall }\n\t\t\t\t\thandleCancelUninstall={ handleCancelUninstall }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</TabPanelLayout>\n\t);\n}\n\nfunction Footer( { shouldDisplayDeleteButton, handleUninstallClick } ) {\n\tconst { saveFontFamilies, fontFamiliesHasChanges, isInstalling } =\n\t\tuseContext( FontLibraryContext );\n\treturn (\n\t\t<HStack justify=\"flex-end\">\n\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t<div>\n\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t\t<Button\n\t\t\t\tvariant=\"primary\"\n\t\t\t\tonClick={ saveFontFamilies }\n\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t>\n\t\t\t\t{ __( 'Update' ) }\n\t\t\t</Button>\n\t\t</HStack>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAaA,IAAAG,eAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,QAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,gBAAA,GAAAH,sBAAA,CAAAJ,OAAA;AACA,IAAAQ,oBAAA,GAAAJ,sBAAA,CAAAJ,OAAA;AACA,IAAAS,WAAA,GAAAT,OAAA;AAvBA;AACA;AACA;;AAaA;AACA;AACA;;AAOA,MAAM;EAAEU;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;AAEvD,SAASC,cAAcA,CAAA,EAAG;EACzB,MAAM;IACLC,eAAe;IACfC,mBAAmB;IACnBC,cAAc;IACdC,4BAA4B;IAC5BC,cAAc;IACdC,mBAAmB;IACnBC,kBAAkB;IAClBC,MAAM;IACNC;EACD,CAAC,GAAG,IAAAC,mBAAU,EAAEC,2BAAmB,CAAC;EACpC,MAAM,CAAEC,mBAAmB,EAAEC,sBAAsB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAEzE,MAAMC,kBAAkB,GAAGA,CAAA,KAAM;IAChCX,4BAA4B,CAAE,IAAK,CAAC;EACrC,CAAC;EAED,MAAMY,gBAAgB,GAAKC,IAAI,IAAM;IACpCb,4BAA4B,CAAEa,IAAK,CAAC;EACrC,CAAC;EAED,MAAMC,sBAAsB,GAAG,MAAAA,CAAA,KAAY;IAC1CT,SAAS,CAAE,IAAK,CAAC;IAEjB,IAAI;MACH,MAAMH,mBAAmB,CAAEJ,mBAAoB,CAAC;MAChDO,SAAS,CAAE;QACVU,IAAI,EAAE,SAAS;QACfC,OAAO,EAAE,IAAAC,QAAE,EAAE,uCAAwC;MACtD,CAAE,CAAC;;MAEH;MACAN,kBAAkB,CAAC,CAAC;MACpBF,sBAAsB,CAAE,KAAM,CAAC;IAChC,CAAC,CAAC,OAAQS,KAAK,EAAG;MACjBb,SAAS,CAAE;QACVU,IAAI,EAAE,OAAO;QACbC,OAAO,EACN,IAAAC,QAAE,EAAE,mDAAoD,CAAC,GACzDC,KAAK,CAACF;MACR,CAAE,CAAC;IACJ;EACD,CAAC;EAED,MAAMG,oBAAoB,GAAG,MAAAA,CAAA,KAAY;IACxCV,sBAAsB,CAAE,IAAK,CAAC;EAC/B,CAAC;EAED,MAAMW,qBAAqB,GAAGA,CAAA,KAAM;IACnCX,sBAAsB,CAAE,KAAM,CAAC;EAChC,CAAC;EAED,MAAMY,cAAc,GAAG,CAAC,CAAEvB,mBAAmB,GAC1C,IAAAmB,QAAE,EACF,wFACA,CAAC,GACD,IAAI;EAEP,MAAMK,yBAAyB,GAC9B,CAAC,CAAExB,mBAAmB,IAAIA,mBAAmB,EAAEyB,MAAM,KAAK,OAAO;EAElE,IAAAC,kBAAS,EAAE,MAAM;IAChBZ,gBAAgB,CAAEd,mBAAoB,CAAC;IACvCG,cAAc,CAAC,CAAC;IAChB;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,OACC,IAAAwB,MAAA,CAAAC,aAAA,EAACxC,eAAA,CAAAyC,OAAc;IACdC,KAAK,EAAG9B,mBAAmB,EAAE+B,IAAI,IAAI,EAAI;IACzCC,WAAW,EAAGT,cAAgB;IAC9BjB,MAAM,EAAGA,MAAQ;IACjB2B,UAAU,EAAG,CAAC,CAAEjC,mBAAmB,IAAIa,kBAAoB;IAC3DqB,MAAM,EACL,IAAAP,MAAA,CAAAC,aAAA,EAACO,MAAM;MACNX,yBAAyB,EAAGA,yBAA2B;MACvDH,oBAAoB,EAAGA;IAAsB,CAC7C;EACD,GAED,IAAAM,MAAA,CAAAC,aAAA,EAACnC,oBAAA,CAAAoC,OAAmB;IACnBd,IAAI,EAAGf,mBAAqB;IAC5BU,mBAAmB,EAAGA,mBAAqB;IAC3CM,sBAAsB,EAAGA,sBAAwB;IACjDM,qBAAqB,EAAGA;EAAuB,CAC/C,CAAC,EAEA,CAAEtB,mBAAmB,IACtB,IAAA2B,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAS,QAAA,QACG/B,kBAAkB,IACnB,IAAAsB,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAkD,QAAQ,QACR,IAAAV,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAmD,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACvB,IAAAZ,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAqD,OAAO,MAAE,CAAC,EACX,IAAAb,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAmD,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CACb,CACV,EACCxC,eAAe,CAAC0C,MAAM,GAAG,CAAC,IAC3B,IAAAd,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAS,QAAA,QACGrC,eAAe,CAAC2C,GAAG,CAAI3B,IAAI,IAC5B,IAAAY,MAAA,CAAAC,aAAA,EAACpC,gBAAA,CAAAqC,OAAe;IACfd,IAAI,EAAGA,IAAM;IACb4B,GAAG,EAAG5B,IAAI,CAAC6B,IAAM;IACjBC,OAAO,EAAGA,CAAA,KAAM;MACf/B,gBAAgB,CAAEC,IAAK,CAAC;IACzB;EAAG,CACH,CACA,CAAC,EACH,IAAAY,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAmD,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CACrB,CACF,EAECtC,cAAc,CAACwC,MAAM,GAAG,CAAC,IAC1B,IAAAd,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAS,QAAA,QACC,IAAAT,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAA2D,kBAAI;IAACC,SAAS,EAAC;EAA8B,GAC3C,IAAA5B,QAAE,EAAE,aAAc,CACf,CAAC,EAEP,IAAAQ,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAmD,oBAAM;IAACC,MAAM,EAAG;EAAG,CAAE,CAAC,EACrBtC,cAAc,CAACyC,GAAG,CAAI3B,IAAI,IAC3B,IAAAY,MAAA,CAAAC,aAAA,EAACpC,gBAAA,CAAAqC,OAAe;IACfd,IAAI,EAAGA,IAAM;IACb4B,GAAG,EAAG5B,IAAI,CAAC6B,IAAM;IACjBC,OAAO,EAAGA,CAAA,KAAM;MACf/B,gBAAgB,CAAEC,IAAK,CAAC;IACzB;EAAG,CACH,CACA,CACD,CACF,EACD,IAAAY,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAmD,oBAAM;IAACC,MAAM,EAAG;EAAI,CAAE,CACtB,CACF,EAECvC,mBAAmB,IACpB,IAAA2B,MAAA,CAAAC,aAAA,EAACrC,mBAAA,CAAAsC,OAAkB;IAClBd,IAAI,EAAGf,mBAAqB;IAC5BU,mBAAmB,EAAGA,mBAAqB;IAC3CM,sBAAsB,EAAGA,sBAAwB;IACjDM,qBAAqB,EAAGA;EAAuB,CAC/C,CAEa,CAAC;AAEnB;AAEA,SAASa,MAAMA,CAAE;EAAEX,yBAAyB;EAAEH;AAAqB,CAAC,EAAG;EACtE,MAAM;IAAE2B,gBAAgB;IAAEC,sBAAsB;IAAEC;EAAa,CAAC,GAC/D,IAAA1C,mBAAU,EAAEC,2BAAmB,CAAC;EACjC,OACC,IAAAkB,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAgE,oBAAM;IAACC,OAAO,EAAC;EAAU,GACvBF,YAAY,IAAI,IAAAvB,MAAA,CAAAC,aAAA,EAACjC,WAAW,MAAE,CAAC,EACjC,IAAAgC,MAAA,CAAAC,aAAA,eACGJ,yBAAyB,IAC1B,IAAAG,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAkE,MAAM;IACNC,aAAa;IACbC,OAAO,EAAC,UAAU;IAClBV,OAAO,EAAGxB;EAAsB,GAE9B,IAAAF,QAAE,EAAE,QAAS,CACR,CAEL,CAAC,EACN,IAAAQ,MAAA,CAAAC,aAAA,EAACzC,WAAA,CAAAkE,MAAM;IACNE,OAAO,EAAC,SAAS;IACjBV,OAAO,EAAGG,gBAAkB;IAC5BQ,QAAQ,EAAG,CAAEP,sBAAwB;IACrCQ,yBAAyB;EAAA,GAEvB,IAAAtC,QAAE,EAAE,QAAS,CACR,CACD,CAAC;AAEX;AAAC,IAAAuC,QAAA,GAAAC,OAAA,CAAA9B,OAAA,GAEc/B,cAAc"}
|
|
1
|
+
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_icons","_lockUnlock","_context","_fontCard","_interopRequireDefault","_libraryFontVariant","_sortFontFaces","ProgressBar","unlock","componentsPrivateApis","InstalledFonts","baseCustomFonts","libraryFontSelected","baseThemeFonts","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","fontFamiliesHasChanges","notice","setNotice","useContext","FontLibraryContext","isConfirmDeleteOpen","setIsConfirmDeleteOpen","useState","customFontFamilyId","source","id","canUserDelete","useSelect","select","canUser","coreStore","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","sortFontFaces","getFontCardVariantsText","variantsInstalled","variantsActive","slug","sprintf","__","useEffect","_react","createElement","className","__experimentalHStack","align","__experimentalSpacer","Spinner","__experimentalNavigatorProvider","initialPath","__experimentalNavigatorScreen","path","Fragment","margin","Notice","status","type","onRemove","message","__experimentalText","map","default","key","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","Flex","justify","__experimentalNavigatorToParentButton","icon","chevronLeft","size","__experimentalHeading","level","name","__experimentalVStack","spacing","face","i","Button","isDestructive","variant","disabled","__experimentalIsFocusable","navigator","useNavigator","handleConfirmUninstall","goBack","error","handleCancelUninstall","__experimentalConfirmDialog","cancelButtonText","confirmButtonText","onCancel","onConfirm","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/installed-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n\t__experimentalNavigatorToParentButton as NavigatorToParentButton,\n\t__experimentalUseNavigator as useNavigator,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tNotice,\n\tSpinner,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\tbaseThemeFonts,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tfontFamiliesHasChanges,\n\t\tnotice,\n\t\tsetNotice,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst customFontFamilyId =\n\t\tlibraryFontSelected?.source === 'custom' && libraryFontSelected?.id;\n\n\tconst canUserDelete = useSelect(\n\t\t( select ) => {\n\t\t\tconst { canUser } = select( coreStore );\n\t\t\treturn (\n\t\t\t\tcustomFontFamilyId &&\n\t\t\t\tcanUser( 'delete', 'font-families', customFontFamilyId )\n\t\t\t);\n\t\t},\n\t\t[ customFontFamilyId ]\n\t);\n\n\tconst shouldDisplayDeleteButton =\n\t\t!! libraryFontSelected &&\n\t\tlibraryFontSelected?.source !== 'theme' &&\n\t\tcanUserDelete;\n\n\tconst handleUninstallClick = () => {\n\t\tsetIsConfirmDeleteOpen( true );\n\t};\n\n\tconst getFontFacesToDisplay = ( font ) => {\n\t\tif ( ! font ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( ! font.fontFace || ! font.fontFace.length ) {\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tfontFamily: font.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( font.fontFace );\n\t};\n\n\tconst getFontCardVariantsText = ( font ) => {\n\t\tconst variantsInstalled =\n\t\t\tfont?.fontFace?.length > 0 ? font.fontFace.length : 1;\n\t\tconst variantsActive = getFontFacesActivated(\n\t\t\tfont.slug,\n\t\t\tfont.source\n\t\t).length;\n\t\treturn sprintf(\n\t\t\t/* translators: 1: Active font variants, 2: Total font variants. */\n\t\t\t__( '%1$s/%2$s variants active' ),\n\t\t\tvariantsActive,\n\t\t\tvariantsInstalled\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\thandleSetLibraryFontSelected( libraryFontSelected );\n\t\trefreshLibrary();\n\t}, [] );\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\n\t\t\t\t<HStack align=\"center\">\n\t\t\t\t\t<Spacer />\n\t\t\t\t\t<Spinner />\n\t\t\t\t\t<Spacer />\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t<NavigatorProvider\n\t\t\t\tinitialPath={ libraryFontSelected ? '/fontFamily' : '/' }\n\t\t\t>\n\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Text className=\"font-library-modal__subtitle\">\n\t\t\t\t\t\t\t\t{ __( 'Installed Fonts' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tnavigatorPath={ '/fontFamily' }\n\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( font );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Text className=\"font-library-modal__subtitle\">\n\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\t\t\t\t\t\t\t\tnavigatorPath={ '/fontFamily' }\n\t\t\t\t\t\t\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\t\t\t\t\t\t\tfont\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( font );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Spacer margin={ 16 } />\n\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\thandleSetLibraryFontSelected\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\n\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\taria-label={ __( 'Navigate to the previous view' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\tsize={ 13 }\n\t\t\t\t\t\t\tclassName=\"edit-site-global-styles-header\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ libraryFontSelected?.name }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t</Flex>\n\t\t\t\t\t{ notice && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t<Spacer margin={ 1 } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t<Text>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Choose font variants. Keep in mind that too many variants could make your site slower.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Text>\n\t\t\t\t\t<Spacer margin={ 4 } />\n\t\t\t\t\t<VStack spacing={ 0 }>\n\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t{ getFontFacesToDisplay( libraryFontSelected ).map(\n\t\t\t\t\t\t\t( face, i ) => (\n\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</NavigatorScreen>\n\t\t\t</NavigatorProvider>\n\n\t\t\t<HStack\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\tclassName=\"font-library-modal__tabpanel-layout__footer\"\n\t\t\t>\n\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveFontFamilies }\n\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t__experimentalIsFocusable\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</div>\n\t);\n}\n\nfunction ConfirmDeleteDialog( {\n\tfont,\n\tisOpen,\n\tsetIsOpen,\n\tsetNotice,\n\tuninstallFontFamily,\n\thandleSetLibraryFontSelected,\n} ) {\n\tconst navigator = useNavigator();\n\n\tconst handleConfirmUninstall = async () => {\n\t\tsetNotice( null );\n\t\tsetIsOpen( false );\n\t\ttry {\n\t\t\tawait uninstallFontFamily( font );\n\t\t\tnavigator.goBack();\n\t\t\thandleSetLibraryFontSelected( null );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family uninstalled 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:\n\t\t\t\t\t__( 'There was an error uninstalling the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst handleCancelUninstall = () => {\n\t\tsetIsOpen( false );\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\tonCancel={ handleCancelUninstall }\n\t\t\tonConfirm={ handleConfirmUninstall }\n\t\t>\n\t\t\t{ font &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font and all its variants and assets?'\n\t\t\t\t\t),\n\t\t\t\t\tfont.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default InstalledFonts;\n"],"mappings":"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"}
|
|
@@ -42,7 +42,7 @@ function LibraryFontVariant({
|
|
|
42
42
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
43
43
|
const checkboxId = kebabCase(`${font.slug}-${(0, _utils.getFontFaceVariantName)(face)}`);
|
|
44
44
|
return (0, _react.createElement)("div", {
|
|
45
|
-
className: "font-library-
|
|
45
|
+
className: "font-library-modal__font-card"
|
|
46
46
|
}, (0, _react.createElement)(_components.Flex, {
|
|
47
47
|
justify: "flex-start",
|
|
48
48
|
align: "center",
|
|
@@ -55,7 +55,7 @@ function LibraryFontVariant({
|
|
|
55
55
|
}), (0, _react.createElement)("label", {
|
|
56
56
|
htmlFor: checkboxId
|
|
57
57
|
}, (0, _react.createElement)(_fontDemo.default, {
|
|
58
|
-
|
|
58
|
+
font: face,
|
|
59
59
|
text: displayName,
|
|
60
60
|
onClick: handleToggleActivation
|
|
61
61
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_components","_utils","_context","_fontDemo","_interopRequireDefault","_lockUnlock","LibraryFontVariant","face","font","isFontActivated","toggleActivateFont","useContext","FontLibraryContext","isInstalled","fontFace","length","slug","fontStyle","fontWeight","source","handleToggleActivation","displayName","name","getFontFaceVariantName","kebabCase","unlock","componentsPrivateApis","checkboxId","_react","createElement","className","Flex","justify","align","gap","CheckboxControl","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","default","text","onClick","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport { FontLibraryContext } from './context';\nimport
|
|
1
|
+
{"version":3,"names":["_element","require","_components","_utils","_context","_fontDemo","_interopRequireDefault","_lockUnlock","LibraryFontVariant","face","font","isFontActivated","toggleActivateFont","useContext","FontLibraryContext","isInstalled","fontFace","length","slug","fontStyle","fontWeight","source","handleToggleActivation","displayName","name","getFontFaceVariantName","kebabCase","unlock","componentsPrivateApis","checkboxId","_react","createElement","className","Flex","justify","align","gap","CheckboxControl","checked","onChange","__nextHasNoMarginBottom","id","htmlFor","default","text","onClick","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/library-font-variant.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useContext } from '@wordpress/element';\nimport {\n\tCheckboxControl,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { getFontFaceVariantName } from './utils';\nimport { FontLibraryContext } from './context';\nimport FontDemo from './font-demo';\nimport { unlock } from '../../../lock-unlock';\n\nfunction LibraryFontVariant( { face, font } ) {\n\tconst { isFontActivated, toggleActivateFont } =\n\t\tuseContext( FontLibraryContext );\n\n\tconst isInstalled =\n\t\tfont?.fontFace?.length > 0\n\t\t\t? isFontActivated(\n\t\t\t\t\tfont.slug,\n\t\t\t\t\tface.fontStyle,\n\t\t\t\t\tface.fontWeight,\n\t\t\t\t\tfont.source\n\t\t\t )\n\t\t\t: isFontActivated( font.slug, null, null, font.source );\n\n\tconst handleToggleActivation = () => {\n\t\tif ( font?.fontFace?.length > 0 ) {\n\t\t\ttoggleActivateFont( font, face );\n\t\t\treturn;\n\t\t}\n\t\ttoggleActivateFont( font );\n\t};\n\n\tconst displayName = font.name + ' ' + getFontFaceVariantName( face );\n\tconst { kebabCase } = unlock( componentsPrivateApis );\n\tconst checkboxId = kebabCase(\n\t\t`${ font.slug }-${ getFontFaceVariantName( face ) }`\n\t);\n\n\treturn (\n\t\t<div className=\"font-library-modal__font-card\">\n\t\t\t<Flex justify=\"flex-start\" align=\"center\" gap=\"1rem\">\n\t\t\t\t<CheckboxControl\n\t\t\t\t\tchecked={ isInstalled }\n\t\t\t\t\tonChange={ handleToggleActivation }\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tid={ checkboxId }\n\t\t\t\t/>\n\t\t\t\t<label htmlFor={ checkboxId }>\n\t\t\t\t\t<FontDemo\n\t\t\t\t\t\tfont={ face }\n\t\t\t\t\t\ttext={ displayName }\n\t\t\t\t\t\tonClick={ handleToggleActivation }\n\t\t\t\t\t/>\n\t\t\t\t</label>\n\t\t\t</Flex>\n\t\t</div>\n\t);\n}\n\nexport default LibraryFontVariant;\n"],"mappings":";;;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AASA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAC,sBAAA,CAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AAhBA;AACA;AACA;;AAQA;AACA;AACA;;AAMA,SAASO,kBAAkBA,CAAE;EAAEC,IAAI;EAAEC;AAAK,CAAC,EAAG;EAC7C,MAAM;IAAEC,eAAe;IAAEC;EAAmB,CAAC,GAC5C,IAAAC,mBAAU,EAAEC,2BAAmB,CAAC;EAEjC,MAAMC,WAAW,GAChBL,IAAI,EAAEM,QAAQ,EAAEC,MAAM,GAAG,CAAC,GACvBN,eAAe,CACfD,IAAI,CAACQ,IAAI,EACTT,IAAI,CAACU,SAAS,EACdV,IAAI,CAACW,UAAU,EACfV,IAAI,CAACW,MACL,CAAC,GACDV,eAAe,CAAED,IAAI,CAACQ,IAAI,EAAE,IAAI,EAAE,IAAI,EAAER,IAAI,CAACW,MAAO,CAAC;EAEzD,MAAMC,sBAAsB,GAAGA,CAAA,KAAM;IACpC,IAAKZ,IAAI,EAAEM,QAAQ,EAAEC,MAAM,GAAG,CAAC,EAAG;MACjCL,kBAAkB,CAAEF,IAAI,EAAED,IAAK,CAAC;MAChC;IACD;IACAG,kBAAkB,CAAEF,IAAK,CAAC;EAC3B,CAAC;EAED,MAAMa,WAAW,GAAGb,IAAI,CAACc,IAAI,GAAG,GAAG,GAAG,IAAAC,6BAAsB,EAAEhB,IAAK,CAAC;EACpE,MAAM;IAAEiB;EAAU,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAsB,CAAC;EACrD,MAAMC,UAAU,GAAGH,SAAS,CAC1B,GAAGhB,IAAI,CAACQ,IAAM,IAAI,IAAAO,6BAAsB,EAAEhB,IAAK,CAAG,EACpD,CAAC;EAED,OACC,IAAAqB,MAAA,CAAAC,aAAA;IAAKC,SAAS,EAAC;EAA+B,GAC7C,IAAAF,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAA+B,IAAI;IAACC,OAAO,EAAC,YAAY;IAACC,KAAK,EAAC,QAAQ;IAACC,GAAG,EAAC;EAAM,GACnD,IAAAN,MAAA,CAAAC,aAAA,EAAC7B,WAAA,CAAAmC,eAAe;IACfC,OAAO,EAAGvB,WAAa;IACvBwB,QAAQ,EAAGjB,sBAAwB;IACnCkB,uBAAuB;IACvBC,EAAE,EAAGZ;EAAY,CACjB,CAAC,EACF,IAAAC,MAAA,CAAAC,aAAA;IAAOW,OAAO,EAAGb;EAAY,GAC5B,IAAAC,MAAA,CAAAC,aAAA,EAAC1B,SAAA,CAAAsC,OAAQ;IACRjC,IAAI,EAAGD,IAAM;IACbmC,IAAI,EAAGrB,WAAa;IACpBsB,OAAO,EAAGvB;EAAwB,CAClC,CACK,CACF,CACF,CAAC;AAER;AAAC,IAAAwB,QAAA,GAAAC,OAAA,CAAAJ,OAAA,GAEcnC,kBAAkB"}
|
|
@@ -14,7 +14,6 @@ var _context = require("./context");
|
|
|
14
14
|
var _libFont = require("../../../../lib/lib-font.browser");
|
|
15
15
|
var _makeFamiliesFromFaces = _interopRequireDefault(require("./utils/make-families-from-faces"));
|
|
16
16
|
var _utils = require("./utils");
|
|
17
|
-
var _tabPanelLayout = _interopRequireDefault(require("./tab-panel-layout"));
|
|
18
17
|
var _lockUnlock = require("../../../lock-unlock");
|
|
19
18
|
/**
|
|
20
19
|
* WordPress dependencies
|
|
@@ -29,7 +28,7 @@ const {
|
|
|
29
28
|
} = (0, _lockUnlock.unlock)(_components.privateApis);
|
|
30
29
|
function UploadFonts() {
|
|
31
30
|
const {
|
|
32
|
-
|
|
31
|
+
installFonts,
|
|
33
32
|
notice,
|
|
34
33
|
setNotice
|
|
35
34
|
} = (0, _element.useContext)(_context.FontLibraryContext);
|
|
@@ -133,16 +132,8 @@ function UploadFonts() {
|
|
|
133
132
|
*/
|
|
134
133
|
const handleInstall = async fontFaces => {
|
|
135
134
|
const fontFamilies = (0, _makeFamiliesFromFaces.default)(fontFaces);
|
|
136
|
-
if (fontFamilies.length > 1) {
|
|
137
|
-
setNotice({
|
|
138
|
-
type: 'error',
|
|
139
|
-
message: (0, _i18n.__)('Variants from only one font family can be uploaded at a time.')
|
|
140
|
-
});
|
|
141
|
-
setIsUploading(false);
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
135
|
try {
|
|
145
|
-
await
|
|
136
|
+
await installFonts(fontFamilies);
|
|
146
137
|
setNotice({
|
|
147
138
|
type: 'success',
|
|
148
139
|
message: (0, _i18n.__)('Fonts were installed successfully.')
|
|
@@ -155,13 +146,16 @@ function UploadFonts() {
|
|
|
155
146
|
}
|
|
156
147
|
setIsUploading(false);
|
|
157
148
|
};
|
|
158
|
-
return (0, _react.createElement)(
|
|
159
|
-
|
|
149
|
+
return (0, _react.createElement)("div", {
|
|
150
|
+
className: "font-library-modal__tabpanel-layout"
|
|
160
151
|
}, (0, _react.createElement)(_components.DropZone, {
|
|
161
152
|
onFilesDrop: handleDropZone
|
|
162
153
|
}), (0, _react.createElement)(_components.__experimentalVStack, {
|
|
163
154
|
className: "font-library-modal__local-fonts"
|
|
164
|
-
},
|
|
155
|
+
}, notice && (0, _react.createElement)(_components.Notice, {
|
|
156
|
+
status: notice.type,
|
|
157
|
+
onRemove: () => setNotice(null)
|
|
158
|
+
}, notice.message), isUploading && (0, _react.createElement)(_components.FlexItem, null, (0, _react.createElement)("div", {
|
|
165
159
|
className: "font-library-modal__upload-area"
|
|
166
160
|
}, (0, _react.createElement)(ProgressBar, null))), !isUploading && (0, _react.createElement)(_components.FormFileUpload, {
|
|
167
161
|
accept: _constants.ALLOWED_FILE_EXTENSIONS.map(ext => `.${ext}`).join(','),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","_constants","_context","_libFont","_makeFamiliesFromFaces","_interopRequireDefault","_utils","_tabPanelLayout","_lockUnlock","ProgressBar","unlock","componentsPrivateApis","UploadFonts","installFont","notice","setNotice","useContext","FontLibraryContext","isUploading","setIsUploading","useState","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","allowedFiles","filter","file","has","name","fileExtension","split","pop","toLowerCase","ALLOWED_FILE_EXTENSIONS","includes","add","length","loadFiles","type","message","__","fontFacesLoaded","Promise","all","map","fontFile","fontFaceData","getFontFaceMetadata","loadFontFaceInBrowser","handleInstall","readFileAsArrayBuffer","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","buffer","fontObj","Font","fromDataBuffer","onloadEvent","font","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","makeFamiliesFromFaces","error","_react","createElement","default","DropZone","onFilesDrop","__experimentalVStack","className","FlexItem","FormFileUpload","accept","ext","join","multiple","onChange","render","openFileDialog","Button","onClick","__experimentalSpacer","margin","__experimentalText","_default","exports"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropZone,\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFormFileUpload,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useContext, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_FILE_EXTENSIONS } from './utils/constants';\nimport { FontLibraryContext } from './context';\nimport { Font } from '../../../../lib/lib-font.browser';\nimport makeFamiliesFromFaces from './utils/make-families-from-faces';\nimport { loadFontFaceInBrowser } from './utils';\nimport TabPanelLayout from './tab-panel-layout';\nimport { unlock } from '../../../lock-unlock';\n\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction UploadFonts() {\n\tconst { installFont, notice, setNotice } = useContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\n\tconst handleDropZone = ( files ) => {\n\t\thandleFilesUpload( files );\n\t};\n\tconst onFilesUpload = ( event ) => {\n\t\thandleFilesUpload( event.target.files );\n\t};\n\n\t/**\n\t * Filters the selected files to only allow the ones with the allowed extensions\n\t *\n\t * @param {Array} files The files to be filtered\n\t * @return {void}\n\t */\n\tconst handleFilesUpload = ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tconst allowedFiles = selectedFiles.filter( ( file ) => {\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn false; // Discard duplicates\n\t\t\t}\n\t\t\t// Eliminates files that are not allowed\n\t\t\tconst fileExtension = file.name.split( '.' ).pop().toLowerCase();\n\t\t\tif ( ALLOWED_FILE_EXTENSIONS.includes( fileExtension ) ) {\n\t\t\t\tuniqueFilenames.add( file.name );\n\t\t\t\treturn true; // Keep file if the extension is allowed\n\t\t\t}\n\t\t\treturn false; // Discard file extension not allowed\n\t\t} );\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __( 'No fonts found to install.' ),\n\t\t\t} );\n\t\t\tsetIsUploading( false );\n\t\t}\n\t};\n\n\t/**\n\t * Loads the selected files and reads the font metadata\n\t *\n\t * @param {Array} files The files to be loaded\n\t * @return {void}\n\t */\n\tconst loadFiles = async ( files ) => {\n\t\tconst fontFacesLoaded = await Promise.all(\n\t\t\tfiles.map( async ( fontFile ) => {\n\t\t\t\tconst fontFaceData = await getFontFaceMetadata( fontFile );\n\t\t\t\tawait loadFontFaceInBrowser(\n\t\t\t\t\tfontFaceData,\n\t\t\t\t\tfontFaceData.file,\n\t\t\t\t\t'all'\n\t\t\t\t);\n\t\t\t\treturn fontFaceData;\n\t\t\t} )\n\t\t);\n\t\thandleInstall( fontFacesLoaded );\n\t};\n\n\t// Create a function to read the file as array buffer\n\tasync function readFileAsArrayBuffer( file ) {\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tconst reader = new window.FileReader();\n\t\t\treader.readAsArrayBuffer( file );\n\t\t\treader.onload = () => resolve( reader.result );\n\t\t\treader.onerror = reject;\n\t\t} );\n\t}\n\n\tconst getFontFaceMetadata = async ( fontFile ) => {\n\t\tconst buffer = await readFileAsArrayBuffer( fontFile );\n\t\tconst fontObj = new Font( 'Uploaded Font' );\n\t\tfontObj.fromDataBuffer( buffer, fontFile.name );\n\t\t// Assuming that fromDataBuffer triggers onload event and returning a Promise\n\t\tconst onloadEvent = await new Promise(\n\t\t\t( resolve ) => ( fontObj.onload = resolve )\n\t\t);\n\t\tconst font = onloadEvent.detail.font;\n\t\tconst { name } = font.opentype.tables;\n\t\tconst fontName = name.get( 16 ) || name.get( 1 );\n\t\tconst isItalic = name.get( 2 ).toLowerCase().includes( 'italic' );\n\t\tconst fontWeight =\n\t\t\tfont.opentype.tables[ 'OS/2' ].usWeightClass || 'normal';\n\t\tconst isVariable = !! font.opentype.tables.fvar;\n\t\tconst weightAxis =\n\t\t\tisVariable &&\n\t\t\tfont.opentype.tables.fvar.axes.find(\n\t\t\t\t( { tag } ) => tag === 'wght'\n\t\t\t);\n\t\tconst weightRange = weightAxis\n\t\t\t? `${ weightAxis.minValue } ${ weightAxis.maxValue }`\n\t\t\t: null;\n\t\treturn {\n\t\t\tfile: fontFile,\n\t\t\tfontFamily: fontName,\n\t\t\tfontStyle: isItalic ? 'italic' : 'normal',\n\t\t\tfontWeight: weightRange || fontWeight,\n\t\t};\n\t};\n\n\t/**\n\t * Creates the font family definition and sends it to the server\n\t *\n\t * @param {Array} fontFaces The font faces to be installed\n\t * @return {void}\n\t */\n\tconst handleInstall = async ( fontFaces ) => {\n\t\tconst fontFamilies = makeFamiliesFromFaces( fontFaces );\n\n\t\tif ( fontFamilies.length > 1 ) {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __(\n\t\t\t\t\t'Variants from only one font family can be uploaded at a time.'\n\t\t\t\t),\n\t\t\t} );\n\t\t\tsetIsUploading( false );\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tawait installFont( fontFamilies[ 0 ] );\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\n\t\tsetIsUploading( false );\n\t};\n\n\treturn (\n\t\t<TabPanelLayout notice={ notice }>\n\t\t\t<DropZone onFilesDrop={ handleDropZone } />\n\t\t\t<VStack className=\"font-library-modal__local-fonts\">\n\t\t\t\t{ isUploading && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<div className=\"font-library-modal__upload-area\">\n\t\t\t\t\t\t\t<ProgressBar />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isUploading && (\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\taccept={ ALLOWED_FILE_EXTENSIONS.map(\n\t\t\t\t\t\t\t( ext ) => `.${ ext }`\n\t\t\t\t\t\t).join( ',' ) }\n\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\tonChange={ onFilesUpload }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__upload-area\"\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload font' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t<Text className=\"font-library-modal__upload-area__text\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Uploaded fonts appear in your library and can be used in your theme. Supported formats: .tff, .otf, .woff, and .woff2.'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</TabPanelLayout>\n\t);\n}\n\nexport default UploadFonts;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_constants","_context","_libFont","_makeFamiliesFromFaces","_interopRequireDefault","_utils","_lockUnlock","ProgressBar","unlock","componentsPrivateApis","UploadFonts","installFonts","notice","setNotice","useContext","FontLibraryContext","isUploading","setIsUploading","useState","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","allowedFiles","filter","file","has","name","fileExtension","split","pop","toLowerCase","ALLOWED_FILE_EXTENSIONS","includes","add","length","loadFiles","type","message","__","fontFacesLoaded","Promise","all","map","fontFile","fontFaceData","getFontFaceMetadata","loadFontFaceInBrowser","handleInstall","readFileAsArrayBuffer","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","buffer","fontObj","Font","fromDataBuffer","onloadEvent","font","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","makeFamiliesFromFaces","error","_react","createElement","className","DropZone","onFilesDrop","__experimentalVStack","Notice","status","onRemove","FlexItem","FormFileUpload","accept","ext","join","multiple","onChange","render","openFileDialog","Button","onClick","__experimentalSpacer","margin","__experimentalText","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/upload-fonts.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalSpacer as Spacer,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tButton,\n\tDropZone,\n\tNotice,\n\tFormFileUpload,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useContext, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_FILE_EXTENSIONS } from './utils/constants';\nimport { FontLibraryContext } from './context';\nimport { Font } from '../../../../lib/lib-font.browser';\nimport makeFamiliesFromFaces from './utils/make-families-from-faces';\nimport { loadFontFaceInBrowser } from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { ProgressBar } = unlock( componentsPrivateApis );\n\nfunction UploadFonts() {\n\tconst { installFonts, notice, setNotice } =\n\t\tuseContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\n\tconst handleDropZone = ( files ) => {\n\t\thandleFilesUpload( files );\n\t};\n\tconst onFilesUpload = ( event ) => {\n\t\thandleFilesUpload( event.target.files );\n\t};\n\n\t/**\n\t * Filters the selected files to only allow the ones with the allowed extensions\n\t *\n\t * @param {Array} files The files to be filtered\n\t * @return {void}\n\t */\n\tconst handleFilesUpload = ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tconst allowedFiles = selectedFiles.filter( ( file ) => {\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn false; // Discard duplicates\n\t\t\t}\n\t\t\t// Eliminates files that are not allowed\n\t\t\tconst fileExtension = file.name.split( '.' ).pop().toLowerCase();\n\t\t\tif ( ALLOWED_FILE_EXTENSIONS.includes( fileExtension ) ) {\n\t\t\t\tuniqueFilenames.add( file.name );\n\t\t\t\treturn true; // Keep file if the extension is allowed\n\t\t\t}\n\t\t\treturn false; // Discard file extension not allowed\n\t\t} );\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage: __( 'No fonts found to install.' ),\n\t\t\t} );\n\t\t\tsetIsUploading( false );\n\t\t}\n\t};\n\n\t/**\n\t * Loads the selected files and reads the font metadata\n\t *\n\t * @param {Array} files The files to be loaded\n\t * @return {void}\n\t */\n\tconst loadFiles = async ( files ) => {\n\t\tconst fontFacesLoaded = await Promise.all(\n\t\t\tfiles.map( async ( fontFile ) => {\n\t\t\t\tconst fontFaceData = await getFontFaceMetadata( fontFile );\n\t\t\t\tawait loadFontFaceInBrowser(\n\t\t\t\t\tfontFaceData,\n\t\t\t\t\tfontFaceData.file,\n\t\t\t\t\t'all'\n\t\t\t\t);\n\t\t\t\treturn fontFaceData;\n\t\t\t} )\n\t\t);\n\t\thandleInstall( fontFacesLoaded );\n\t};\n\n\t// Create a function to read the file as array buffer\n\tasync function readFileAsArrayBuffer( file ) {\n\t\treturn new Promise( ( resolve, reject ) => {\n\t\t\tconst reader = new window.FileReader();\n\t\t\treader.readAsArrayBuffer( file );\n\t\t\treader.onload = () => resolve( reader.result );\n\t\t\treader.onerror = reject;\n\t\t} );\n\t}\n\n\tconst getFontFaceMetadata = async ( fontFile ) => {\n\t\tconst buffer = await readFileAsArrayBuffer( fontFile );\n\t\tconst fontObj = new Font( 'Uploaded Font' );\n\t\tfontObj.fromDataBuffer( buffer, fontFile.name );\n\t\t// Assuming that fromDataBuffer triggers onload event and returning a Promise\n\t\tconst onloadEvent = await new Promise(\n\t\t\t( resolve ) => ( fontObj.onload = resolve )\n\t\t);\n\t\tconst font = onloadEvent.detail.font;\n\t\tconst { name } = font.opentype.tables;\n\t\tconst fontName = name.get( 16 ) || name.get( 1 );\n\t\tconst isItalic = name.get( 2 ).toLowerCase().includes( 'italic' );\n\t\tconst fontWeight =\n\t\t\tfont.opentype.tables[ 'OS/2' ].usWeightClass || 'normal';\n\t\tconst isVariable = !! font.opentype.tables.fvar;\n\t\tconst weightAxis =\n\t\t\tisVariable &&\n\t\t\tfont.opentype.tables.fvar.axes.find(\n\t\t\t\t( { tag } ) => tag === 'wght'\n\t\t\t);\n\t\tconst weightRange = weightAxis\n\t\t\t? `${ weightAxis.minValue } ${ weightAxis.maxValue }`\n\t\t\t: null;\n\t\treturn {\n\t\t\tfile: fontFile,\n\t\t\tfontFamily: fontName,\n\t\t\tfontStyle: isItalic ? 'italic' : 'normal',\n\t\t\tfontWeight: weightRange || fontWeight,\n\t\t};\n\t};\n\n\t/**\n\t * Creates the font family definition and sends it to the server\n\t *\n\t * @param {Array} fontFaces The font faces to be installed\n\t * @return {void}\n\t */\n\tconst handleInstall = async ( fontFaces ) => {\n\t\tconst fontFamilies = makeFamiliesFromFaces( fontFaces );\n\n\t\ttry {\n\t\t\tawait installFonts( fontFamilies );\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\n\t\tsetIsUploading( false );\n\t};\n\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t<DropZone onFilesDrop={ handleDropZone } />\n\t\t\t<VStack className=\"font-library-modal__local-fonts\">\n\t\t\t\t{ notice && (\n\t\t\t\t\t<Notice\n\t\t\t\t\t\tstatus={ notice.type }\n\t\t\t\t\t\tonRemove={ () => setNotice( null ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ notice.message }\n\t\t\t\t\t</Notice>\n\t\t\t\t) }\n\t\t\t\t{ isUploading && (\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<div className=\"font-library-modal__upload-area\">\n\t\t\t\t\t\t\t<ProgressBar />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t\t{ ! isUploading && (\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\taccept={ ALLOWED_FILE_EXTENSIONS.map(\n\t\t\t\t\t\t\t( ext ) => `.${ ext }`\n\t\t\t\t\t\t).join( ',' ) }\n\t\t\t\t\t\tmultiple\n\t\t\t\t\t\tonChange={ onFilesUpload }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName=\"font-library-modal__upload-area\"\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload font' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Spacer margin={ 2 } />\n\t\t\t\t<Text className=\"font-library-modal__upload-area__text\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Uploaded fonts appear in your library and can be used in your theme. Supported formats: .tff, .otf, .woff, and .woff2.'\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport default UploadFonts;\n"],"mappings":"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"}
|
|
@@ -15,6 +15,7 @@ exports.makeFontFamilyFormData = makeFontFamilyFormData;
|
|
|
15
15
|
exports.mergeFontFaces = mergeFontFaces;
|
|
16
16
|
exports.mergeFontFamilies = mergeFontFamilies;
|
|
17
17
|
exports.setUIValuesNeeded = setUIValuesNeeded;
|
|
18
|
+
exports.unloadFontFaceInBrowser = unloadFontFaceInBrowser;
|
|
18
19
|
var _components = require("@wordpress/components");
|
|
19
20
|
var _constants = require("./constants");
|
|
20
21
|
var _lockUnlock = require("../../../../lock-unlock");
|
|
@@ -124,7 +125,40 @@ async function loadFontFaceInBrowser(fontFace, source, addTo = 'all') {
|
|
|
124
125
|
iframeDocument.fonts.add(loadedFace);
|
|
125
126
|
}
|
|
126
127
|
}
|
|
127
|
-
|
|
128
|
+
|
|
129
|
+
/*
|
|
130
|
+
* Unloads the font face and remove it from the browser.
|
|
131
|
+
* It also removes it from the iframe document.
|
|
132
|
+
*
|
|
133
|
+
* Note that Font faces that were added to the set using the CSS @font-face rule
|
|
134
|
+
* remain connected to the corresponding CSS, and cannot be deleted.
|
|
135
|
+
*
|
|
136
|
+
* @see https://developer.mozilla.org/en-US/docs/Web/API/FontFaceSet/delete.
|
|
137
|
+
*/
|
|
138
|
+
function unloadFontFaceInBrowser(fontFace, removeFrom = 'all') {
|
|
139
|
+
const unloadFontFace = fonts => {
|
|
140
|
+
fonts.forEach(f => {
|
|
141
|
+
if (f.family === (0, _previewStyles.formatFontFaceName)(fontFace.fontFamily) && f.weight === fontFace.fontWeight && f.style === fontFace.fontStyle) {
|
|
142
|
+
fonts.delete(f);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
};
|
|
146
|
+
if (removeFrom === 'document' || removeFrom === 'all') {
|
|
147
|
+
unloadFontFace(document.fonts);
|
|
148
|
+
}
|
|
149
|
+
if (removeFrom === 'iframe' || removeFrom === 'all') {
|
|
150
|
+
const iframeDocument = document.querySelector('iframe[name="editor-canvas"]').contentDocument;
|
|
151
|
+
unloadFontFace(iframeDocument.fonts);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Retrieves the display source from a font face src.
|
|
157
|
+
*
|
|
158
|
+
* @param {string|string[]} input - The font face src.
|
|
159
|
+
* @return {string|undefined} The display source or undefined if the input is invalid.
|
|
160
|
+
*/
|
|
161
|
+
function getDisplaySrcFromFontFace(input) {
|
|
128
162
|
if (!input) {
|
|
129
163
|
return;
|
|
130
164
|
}
|
|
@@ -134,9 +168,9 @@ function getDisplaySrcFromFontFace(input, urlPrefix) {
|
|
|
134
168
|
} else {
|
|
135
169
|
src = input;
|
|
136
170
|
}
|
|
137
|
-
//
|
|
138
|
-
if (src.startsWith('file:.')
|
|
139
|
-
|
|
171
|
+
// It's expected theme fonts will already be loaded in the browser.
|
|
172
|
+
if (src.startsWith('file:.')) {
|
|
173
|
+
return;
|
|
140
174
|
}
|
|
141
175
|
if (!isUrlEncoded(src)) {
|
|
142
176
|
src = encodeURI(src);
|