@wordpress/edit-site 6.3.0 → 6.5.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 +4 -0
- package/build/components/add-new-pattern/index.js +14 -3
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-post/index.js +2 -1
- package/build/components/add-new-post/index.js.map +1 -1
- package/build/components/add-new-template/index.js +3 -1
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/utils.js +2 -2
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +1 -82
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +71 -20
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +14 -5
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +40 -22
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +0 -5
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +25 -5
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +5 -12
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +78 -15
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +2 -3
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +39 -0
- package/build/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js +44 -0
- package/build/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-size.js +213 -0
- package/build/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js +50 -0
- package/build/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build/components/global-styles/font-sizes/font-sizes.js +163 -0
- package/build/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js +67 -0
- package/build/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build/components/global-styles/screen-block.js +10 -8
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +2 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typeset.js +40 -0
- package/build/components/global-styles/screen-typeset.js.map +1 -0
- package/build/components/global-styles/screen-typography-element.js +14 -0
- package/build/components/global-styles/screen-typography-element.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +5 -6
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/shadows-edit-panel.js +50 -59
- package/build/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build/components/global-styles/size-control/index.js +85 -0
- package/build/components/global-styles/size-control/index.js.map +1 -0
- package/build/components/global-styles/style-variations-container.js +3 -0
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typeset-button.js +97 -0
- package/build/components/global-styles/typeset-button.js.map +1 -0
- package/build/components/global-styles/typeset.js +80 -0
- package/build/components/global-styles/typeset.js.map +1 -0
- package/build/components/global-styles/ui.js +12 -0
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/utils.js +10 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/global-styles/variations/variations-color.js.map +1 -1
- package/build/components/global-styles/variations/variations-typography.js +1 -1
- package/build/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build/components/layout/index.js +6 -0
- package/build/components/layout/index.js.map +1 -1
- package/build/components/layout/router.js +14 -6
- package/build/components/layout/router.js.map +1 -1
- package/build/components/page-patterns/fields.js +230 -0
- package/build/components/page-patterns/fields.js.map +1 -0
- package/build/components/page-patterns/header.js +1 -1
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +21 -227
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +26 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates/fields.js +169 -0
- package/build/components/page-templates/fields.js.map +1 -0
- package/build/components/page-templates/index.js +38 -198
- package/build/components/page-templates/index.js.map +1 -1
- package/build/components/post-edit/index.js +117 -0
- package/build/components/post-edit/index.js.map +1 -0
- package/build/components/post-fields/index.js +318 -0
- package/build/components/post-fields/index.js.map +1 -0
- package/build/components/post-list/index.js +339 -0
- package/build/components/post-list/index.js.map +1 -0
- package/build/components/posts-app/router.js +3 -3
- package/build/components/posts-app/router.js.map +1 -1
- package/build/components/sidebar-dataviews/add-new-view.js +2 -2
- package/build/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build/components/sidebar-dataviews/dataview-item.js +2 -3
- package/build/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +103 -91
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-dataviews/index.js +2 -2
- package/build/components/sidebar-dataviews/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/content.js +64 -0
- package/build/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/site-hub/index.js +6 -3
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/style-book/index.js +22 -25
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +3 -4
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -4
- package/build/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build/index.js +4 -2
- package/build/index.js.map +1 -1
- package/build/store/selectors.js +34 -6
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-filtered-template-parts.js +64 -0
- package/build/utils/get-filtered-template-parts.js.map +1 -0
- package/build-module/components/add-new-pattern/index.js +14 -3
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-post/index.js +2 -1
- package/build-module/components/add-new-post/index.js.map +1 -1
- package/build-module/components/add-new-template/index.js +3 -1
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +2 -2
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +1 -82
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +73 -22
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +14 -5
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +42 -24
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +0 -5
- 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 +26 -6
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +5 -12
- 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 +81 -18
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +2 -3
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +32 -0
- package/build-module/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js +37 -0
- package/build-module/components/global-styles/font-sizes/font-size-preview.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-size.js +207 -0
- package/build-module/components/global-styles/font-sizes/font-size.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js +43 -0
- package/build-module/components/global-styles/font-sizes/font-sizes-count.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js +157 -0
- package/build-module/components/global-styles/font-sizes/font-sizes.js.map +1 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js +61 -0
- package/build-module/components/global-styles/font-sizes/rename-font-size-dialog.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +10 -8
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -2
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-typeset.js +34 -0
- package/build-module/components/global-styles/screen-typeset.js.map +1 -0
- package/build-module/components/global-styles/screen-typography-element.js +14 -0
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +5 -6
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/shadows-edit-panel.js +51 -60
- package/build-module/components/global-styles/shadows-edit-panel.js.map +1 -1
- package/build-module/components/global-styles/size-control/index.js +79 -0
- package/build-module/components/global-styles/size-control/index.js.map +1 -0
- package/build-module/components/global-styles/style-variations-container.js +3 -0
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typeset-button.js +89 -0
- package/build-module/components/global-styles/typeset-button.js.map +1 -0
- package/build-module/components/global-styles/typeset.js +71 -0
- package/build-module/components/global-styles/typeset.js.map +1 -0
- package/build-module/components/global-styles/ui.js +12 -0
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/utils.js +10 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-color.js +1 -1
- package/build-module/components/global-styles/variations/variations-color.js.map +1 -1
- package/build-module/components/global-styles/variations/variations-typography.js +1 -2
- package/build-module/components/global-styles/variations/variations-typography.js.map +1 -1
- package/build-module/components/layout/index.js +6 -0
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/layout/router.js +14 -6
- package/build-module/components/layout/router.js.map +1 -1
- package/build-module/components/page-patterns/fields.js +223 -0
- package/build-module/components/page-patterns/fields.js.map +1 -0
- package/build-module/components/page-patterns/header.js +1 -1
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +24 -230
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +26 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-templates/fields.js +160 -0
- package/build-module/components/page-templates/fields.js.map +1 -0
- package/build-module/components/page-templates/index.js +39 -199
- package/build-module/components/page-templates/index.js.map +1 -1
- package/build-module/components/post-edit/index.js +110 -0
- package/build-module/components/post-edit/index.js.map +1 -0
- package/build-module/components/post-fields/index.js +310 -0
- package/build-module/components/post-fields/index.js.map +1 -0
- package/build-module/components/post-list/index.js +333 -0
- package/build-module/components/post-list/index.js.map +1 -0
- package/build-module/components/posts-app/router.js +3 -3
- package/build-module/components/posts-app/router.js.map +1 -1
- package/build-module/components/sidebar-dataviews/add-new-view.js +2 -2
- package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -1
- package/build-module/components/sidebar-dataviews/dataview-item.js +2 -3
- package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +102 -90
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-dataviews/index.js +5 -5
- package/build-module/components/sidebar-dataviews/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js +57 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +2 -47
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +7 -4
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/style-book/index.js +23 -26
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +3 -4
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
- package/build-module/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js.map +1 -1
- package/build-module/index.js +4 -2
- package/build-module/index.js.map +1 -1
- package/build-module/store/selectors.js +35 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-filtered-template-parts.js +57 -0
- package/build-module/utils/get-filtered-template-parts.js.map +1 -0
- package/build-style/posts-rtl.css +749 -492
- package/build-style/posts.css +749 -492
- package/build-style/style-rtl.css +956 -613
- package/build-style/style.css +956 -613
- package/package.json +41 -41
- package/src/components/add-new-pattern/index.js +16 -5
- package/src/components/add-new-post/index.js +2 -1
- package/src/components/add-new-template/index.js +4 -1
- package/src/components/add-new-template/style.scss +4 -6
- package/src/components/add-new-template/utils.js +10 -6
- package/src/components/block-editor/use-site-editor-settings.js +15 -111
- package/src/components/editor/index.js +80 -22
- package/src/components/editor/style.scss +59 -1
- package/src/components/global-styles/block-preview-panel.js +22 -9
- package/src/components/global-styles/font-families.js +65 -32
- package/src/components/global-styles/font-library-modal/context.js +0 -5
- package/src/components/global-styles/font-library-modal/font-collection.js +34 -10
- package/src/components/global-styles/font-library-modal/index.js +6 -9
- package/src/components/global-styles/font-library-modal/installed-fonts.js +115 -16
- package/src/components/global-styles/font-library-modal/style.scss +9 -0
- package/src/components/global-styles/font-library-modal/upload-fonts.js +2 -2
- package/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js +43 -0
- package/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js +37 -0
- package/src/components/global-styles/font-sizes/font-size-preview.js +43 -0
- package/src/components/global-styles/font-sizes/font-size.js +250 -0
- package/src/components/global-styles/font-sizes/font-sizes-count.js +40 -0
- package/src/components/global-styles/font-sizes/font-sizes.js +263 -0
- package/src/components/global-styles/font-sizes/rename-font-size-dialog.js +70 -0
- package/src/components/global-styles/screen-block.js +12 -14
- package/src/components/global-styles/screen-style-variations.js +2 -2
- package/src/components/global-styles/screen-typeset.js +42 -0
- package/src/components/global-styles/screen-typography-element.js +14 -0
- package/src/components/global-styles/screen-typography.js +7 -6
- package/src/components/global-styles/shadows-edit-panel.js +66 -73
- package/src/components/global-styles/size-control/index.js +86 -0
- package/src/components/global-styles/style-variations-container.js +4 -0
- package/src/components/global-styles/style.scss +17 -10
- package/src/components/global-styles/typeset-button.js +93 -0
- package/src/components/global-styles/typeset.js +73 -0
- package/src/components/global-styles/ui.js +15 -0
- package/src/components/global-styles/utils.js +13 -1
- package/src/components/global-styles/variations/variations-color.js +1 -1
- package/src/components/global-styles/variations/variations-typography.js +1 -2
- package/src/components/layout/index.js +11 -0
- package/src/components/layout/router.js +13 -5
- package/src/components/layout/style.scss +34 -8
- package/src/components/page-patterns/fields.js +251 -0
- package/src/components/page-patterns/header.js +1 -1
- package/src/components/page-patterns/index.js +24 -246
- package/src/components/page-patterns/style.scss +82 -85
- package/src/components/page-patterns/use-patterns.js +31 -1
- package/src/components/page-templates/fields.js +157 -0
- package/src/components/page-templates/index.js +46 -192
- package/src/components/page-templates/style.scss +19 -8
- package/src/components/post-edit/index.js +115 -0
- package/src/components/post-edit/style.scss +9 -0
- package/src/components/post-fields/index.js +357 -0
- package/src/components/post-list/index.js +386 -0
- package/src/components/{posts-app → post-list}/style.scss +12 -9
- package/src/components/posts-app/router.js +3 -3
- package/src/components/sidebar-dataviews/add-new-view.js +2 -4
- package/src/components/sidebar-dataviews/dataview-item.js +2 -2
- package/src/components/sidebar-dataviews/default-views.js +116 -104
- package/src/components/sidebar-dataviews/index.js +4 -3
- package/src/components/sidebar-navigation-screen-global-styles/content.js +55 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -55
- package/src/components/site-hub/index.js +11 -2
- package/src/components/site-icon/style.scss +4 -1
- package/src/components/style-book/index.js +27 -32
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -0
- package/src/hooks/push-changes-to-global-styles/index.js +3 -4
- package/src/hooks/use-theme-style-variations/use-theme-style-variations-by-property.js +2 -3
- package/src/index.js +6 -2
- package/src/posts.scss +1 -1
- package/src/store/selectors.js +53 -14
- package/src/store/test/selectors.js +1 -26
- package/src/style.scss +2 -1
- package/src/utils/get-filtered-template-parts.js +61 -0
- package/src/utils/test/get-filtered-template-parts.js +127 -0
- package/build/components/global-styles/screen-background.js +0 -36
- package/build/components/global-styles/screen-background.js.map +0 -1
- package/build/components/posts-app/posts-list.js +0 -568
- package/build/components/posts-app/posts-list.js.map +0 -1
- package/build/utils/clone-deep.js +0 -15
- package/build/utils/clone-deep.js.map +0 -1
- package/build-module/components/global-styles/screen-background.js +0 -30
- package/build-module/components/global-styles/screen-background.js.map +0 -1
- package/build-module/components/posts-app/posts-list.js +0 -560
- package/build-module/components/posts-app/posts-list.js.map +0 -1
- package/build-module/utils/clone-deep.js +0 -9
- package/build-module/utils/clone-deep.js.map +0 -1
- package/src/components/global-styles/screen-background.js +0 -29
- package/src/components/posts-app/posts-list.js +0 -651
- package/src/utils/clone-deep.js +0 -8
|
@@ -31,6 +31,7 @@ const {
|
|
|
31
31
|
useGlobalSetting
|
|
32
32
|
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
33
33
|
function InstalledFonts() {
|
|
34
|
+
var _libraryFontSelected$;
|
|
34
35
|
const {
|
|
35
36
|
baseCustomFonts,
|
|
36
37
|
libraryFontSelected,
|
|
@@ -40,12 +41,11 @@ function InstalledFonts() {
|
|
|
40
41
|
isResolvingLibrary,
|
|
41
42
|
isInstalling,
|
|
42
43
|
saveFontFamilies,
|
|
43
|
-
getFontFacesActivated
|
|
44
|
-
notice,
|
|
45
|
-
setNotice,
|
|
46
|
-
fontFamilies
|
|
44
|
+
getFontFacesActivated
|
|
47
45
|
} = (0, _element.useContext)(_context.FontLibraryContext);
|
|
46
|
+
const [fontFamilies, setFontFamilies] = useGlobalSetting('typography.fontFamilies');
|
|
48
47
|
const [isConfirmDeleteOpen, setIsConfirmDeleteOpen] = (0, _element.useState)(false);
|
|
48
|
+
const [notice, setNotice] = (0, _element.useState)(false);
|
|
49
49
|
const [baseFontFamilies] = useGlobalSetting('typography.fontFamilies', undefined, 'base');
|
|
50
50
|
const globalStylesId = (0, _data.useSelect)(select => {
|
|
51
51
|
const {
|
|
@@ -67,12 +67,31 @@ function InstalledFonts() {
|
|
|
67
67
|
const {
|
|
68
68
|
canUser
|
|
69
69
|
} = select(_coreData.store);
|
|
70
|
-
return customFontFamilyId && canUser('delete',
|
|
70
|
+
return customFontFamilyId && canUser('delete', {
|
|
71
|
+
kind: 'postType',
|
|
72
|
+
name: 'wp_font_family',
|
|
73
|
+
id: customFontFamilyId
|
|
74
|
+
});
|
|
71
75
|
}, [customFontFamilyId]);
|
|
72
76
|
const shouldDisplayDeleteButton = !!libraryFontSelected && libraryFontSelected?.source !== 'theme' && canUserDelete;
|
|
73
77
|
const handleUninstallClick = () => {
|
|
74
78
|
setIsConfirmDeleteOpen(true);
|
|
75
79
|
};
|
|
80
|
+
const handleUpdate = async () => {
|
|
81
|
+
setNotice(null);
|
|
82
|
+
try {
|
|
83
|
+
await saveFontFamilies(fontFamilies);
|
|
84
|
+
setNotice({
|
|
85
|
+
type: 'success',
|
|
86
|
+
message: (0, _i18n.__)('Font family updated successfully.')
|
|
87
|
+
});
|
|
88
|
+
} catch (error) {
|
|
89
|
+
setNotice({
|
|
90
|
+
type: 'error',
|
|
91
|
+
message: (0, _i18n.__)('There was an error updating the font family. ') + error.message
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
};
|
|
76
95
|
const getFontFacesToDisplay = font => {
|
|
77
96
|
if (!font) {
|
|
78
97
|
return [];
|
|
@@ -96,6 +115,37 @@ function InstalledFonts() {
|
|
|
96
115
|
handleSetLibraryFontSelected(libraryFontSelected);
|
|
97
116
|
refreshLibrary();
|
|
98
117
|
}, []);
|
|
118
|
+
|
|
119
|
+
// Get activated fonts count.
|
|
120
|
+
const activeFontsCount = libraryFontSelected ? getFontFacesActivated(libraryFontSelected.slug, libraryFontSelected.source).length : 0;
|
|
121
|
+
const selectedFontsCount = (_libraryFontSelected$ = libraryFontSelected?.fontFace?.length) !== null && _libraryFontSelected$ !== void 0 ? _libraryFontSelected$ : libraryFontSelected?.fontFamily ? 1 : 0;
|
|
122
|
+
|
|
123
|
+
// Check if any fonts are selected.
|
|
124
|
+
const isIndeterminate = activeFontsCount > 0 && activeFontsCount !== selectedFontsCount;
|
|
125
|
+
|
|
126
|
+
// Check if all fonts are selected.
|
|
127
|
+
const isSelectAllChecked = activeFontsCount === selectedFontsCount;
|
|
128
|
+
|
|
129
|
+
// Toggle select all fonts.
|
|
130
|
+
const toggleSelectAll = () => {
|
|
131
|
+
var _fontFamilies$library;
|
|
132
|
+
const initialFonts = (_fontFamilies$library = fontFamilies?.[libraryFontSelected.source]?.filter(f => f.slug !== libraryFontSelected.slug)) !== null && _fontFamilies$library !== void 0 ? _fontFamilies$library : [];
|
|
133
|
+
const newFonts = isSelectAllChecked ? initialFonts : [...initialFonts, libraryFontSelected];
|
|
134
|
+
setFontFamilies({
|
|
135
|
+
...fontFamilies,
|
|
136
|
+
[libraryFontSelected.source]: newFonts
|
|
137
|
+
});
|
|
138
|
+
if (libraryFontSelected.fontFace) {
|
|
139
|
+
libraryFontSelected.fontFace.forEach(face => {
|
|
140
|
+
if (isSelectAllChecked) {
|
|
141
|
+
(0, _utils.unloadFontFaceInBrowser)(face, 'all');
|
|
142
|
+
} else {
|
|
143
|
+
(0, _utils.loadFontFaceInBrowser)(face, (0, _utils.getDisplaySrcFromFontFace)(face?.src), 'all');
|
|
144
|
+
}
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
const hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0;
|
|
99
149
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
100
150
|
className: "font-library-modal__tabpanel-layout",
|
|
101
151
|
children: [isResolvingLibrary && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
@@ -112,39 +162,46 @@ function InstalledFonts() {
|
|
|
112
162
|
status: notice.type,
|
|
113
163
|
onRemove: () => setNotice(null),
|
|
114
164
|
children: notice.message
|
|
115
|
-
}),
|
|
165
|
+
}), !hasFonts && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalText, {
|
|
166
|
+
as: "p",
|
|
167
|
+
children: (0, _i18n.__)('No fonts installed.')
|
|
168
|
+
}), baseThemeFonts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
116
169
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
117
170
|
className: "font-library-modal__fonts-title",
|
|
118
|
-
children:
|
|
171
|
+
children: /* translators: Heading for a list of fonts provided by the theme. */
|
|
172
|
+
(0, _i18n._x)('Theme', 'font source')
|
|
119
173
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
120
174
|
role: "list",
|
|
121
175
|
className: "font-library-modal__fonts-list",
|
|
122
|
-
children:
|
|
176
|
+
children: baseThemeFonts.map(font => /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
123
177
|
className: "font-library-modal__fonts-list-item",
|
|
124
178
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fontCard.default, {
|
|
125
179
|
font: font,
|
|
126
180
|
navigatorPath: "/fontFamily",
|
|
127
181
|
variantsText: getFontCardVariantsText(font),
|
|
128
182
|
onClick: () => {
|
|
183
|
+
setNotice(null);
|
|
129
184
|
handleSetLibraryFontSelected(font);
|
|
130
185
|
}
|
|
131
186
|
})
|
|
132
187
|
}, font.slug))
|
|
133
188
|
})]
|
|
134
|
-
}),
|
|
189
|
+
}), baseCustomFonts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
135
190
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("h2", {
|
|
136
191
|
className: "font-library-modal__fonts-title",
|
|
137
|
-
children:
|
|
192
|
+
children: /* translators: Heading for a list of fonts installed by the user. */
|
|
193
|
+
(0, _i18n._x)('Custom', 'font source')
|
|
138
194
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
139
195
|
role: "list",
|
|
140
196
|
className: "font-library-modal__fonts-list",
|
|
141
|
-
children:
|
|
197
|
+
children: baseCustomFonts.map(font => /*#__PURE__*/(0, _jsxRuntime.jsx)("li", {
|
|
142
198
|
className: "font-library-modal__fonts-list-item",
|
|
143
199
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_fontCard.default, {
|
|
144
200
|
font: font,
|
|
145
201
|
navigatorPath: "/fontFamily",
|
|
146
202
|
variantsText: getFontCardVariantsText(font),
|
|
147
203
|
onClick: () => {
|
|
204
|
+
setNotice(null);
|
|
148
205
|
handleSetLibraryFontSelected(font);
|
|
149
206
|
}
|
|
150
207
|
})
|
|
@@ -168,6 +225,7 @@ function InstalledFonts() {
|
|
|
168
225
|
size: "small",
|
|
169
226
|
onClick: () => {
|
|
170
227
|
handleSetLibraryFontSelected(null);
|
|
228
|
+
setNotice(null);
|
|
171
229
|
},
|
|
172
230
|
label: (0, _i18n.__)('Back')
|
|
173
231
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHeading, {
|
|
@@ -194,7 +252,14 @@ function InstalledFonts() {
|
|
|
194
252
|
margin: 4
|
|
195
253
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
|
|
196
254
|
spacing: 0,
|
|
197
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.
|
|
255
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
|
|
256
|
+
className: "font-library-modal__select-all",
|
|
257
|
+
label: (0, _i18n.__)('Select all'),
|
|
258
|
+
checked: isSelectAllChecked,
|
|
259
|
+
onChange: toggleSelectAll,
|
|
260
|
+
indeterminate: isIndeterminate,
|
|
261
|
+
__nextHasNoMarginBottom: true
|
|
262
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalSpacer, {
|
|
198
263
|
margin: 8
|
|
199
264
|
}), getFontFacesToDisplay(libraryFontSelected).map((face, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_libraryFontVariant.default, {
|
|
200
265
|
font: libraryFontSelected,
|
|
@@ -212,9 +277,7 @@ function InstalledFonts() {
|
|
|
212
277
|
children: (0, _i18n.__)('Delete')
|
|
213
278
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
214
279
|
variant: "primary",
|
|
215
|
-
onClick:
|
|
216
|
-
saveFontFamilies(fontFamilies);
|
|
217
|
-
},
|
|
280
|
+
onClick: handleUpdate,
|
|
218
281
|
disabled: !fontFamiliesHasChanges,
|
|
219
282
|
accessibleWhenDisabled: true,
|
|
220
283
|
children: (0, _i18n.__)('Update')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_icons","_blockEditor","_context","_fontCard","_interopRequireDefault","_libraryFontVariant","_sortFontFaces","_utils","_lockUnlock","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","InstalledFonts","baseCustomFonts","libraryFontSelected","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","notice","setNotice","fontFamilies","useContext","FontLibraryContext","isConfirmDeleteOpen","setIsConfirmDeleteOpen","useState","baseFontFamilies","undefined","globalStylesId","useSelect","select","__experimentalGetCurrentGlobalStylesId","coreStore","globalStyles","useEntityRecord","fontFamiliesHasChanges","edits","settings","typography","themeFonts","theme","map","f","setUIValuesNeeded","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFontFamilyId","id","canUserDelete","canUser","shouldDisplayDeleteButton","handleUninstallClick","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","sortFontFaces","getFontCardVariantsText","variantsInstalled","variantsActive","sprintf","__","useEffect","jsxs","className","children","jsx","ProgressBar","Fragment","__experimentalNavigatorProvider","initialPath","__experimentalNavigatorScreen","path","__experimentalVStack","spacing","Notice","status","type","onRemove","message","role","default","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","Flex","justify","__experimentalNavigatorToParentButton","icon","chevronLeft","size","label","__experimentalHeading","level","__experimentalSpacer","margin","__experimentalText","face","i","__experimentalHStack","Button","isDestructive","variant","disabled","accessibleWhenDisabled","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\tProgressBar,\n} from '@wordpress/components';\nimport { useEntityRecord, 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';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport { setUIValuesNeeded } from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t\tnotice,\n\t\tsetNotice,\n\t\tfontFamilies,\n\t} = useContext( FontLibraryContext );\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst globalStylesId = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn __experimentalGetCurrentGlobalStylesId();\n\t} );\n\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\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\tconst themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\n\t\t: [];\n\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<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{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\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) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Installed Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\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\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\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\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\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\t\t) }\n\t\t\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\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\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\t\t\t);\n\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Theme Fonts' ) }\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\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\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\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\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\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\t\t) }\n\t\t\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\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\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\t\t\t);\n\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( 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{ libraryFontSelected?.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{ __(\n\t\t\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\t\t) }\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<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsaveFontFamilies( fontFamilies );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\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\tsize=\"medium\"\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","_icons","_blockEditor","_context","_fontCard","_interopRequireDefault","_libraryFontVariant","_sortFontFaces","_utils","_lockUnlock","_jsxRuntime","useGlobalSetting","unlock","blockEditorPrivateApis","InstalledFonts","_libraryFontSelected$","baseCustomFonts","libraryFontSelected","handleSetLibraryFontSelected","refreshLibrary","uninstallFontFamily","isResolvingLibrary","isInstalling","saveFontFamilies","getFontFacesActivated","useContext","FontLibraryContext","fontFamilies","setFontFamilies","isConfirmDeleteOpen","setIsConfirmDeleteOpen","useState","notice","setNotice","baseFontFamilies","undefined","globalStylesId","useSelect","select","__experimentalGetCurrentGlobalStylesId","coreStore","globalStyles","useEntityRecord","fontFamiliesHasChanges","edits","settings","typography","themeFonts","theme","map","f","setUIValuesNeeded","source","sort","a","b","name","localeCompare","themeFontsSlugs","Set","slug","baseThemeFonts","concat","filter","has","customFontFamilyId","id","canUserDelete","canUser","kind","shouldDisplayDeleteButton","handleUninstallClick","handleUpdate","type","message","__","error","getFontFacesToDisplay","font","fontFace","length","fontFamily","fontStyle","fontWeight","sortFontFaces","getFontCardVariantsText","variantsInstalled","variantsActive","sprintf","useEffect","activeFontsCount","selectedFontsCount","isIndeterminate","isSelectAllChecked","toggleSelectAll","_fontFamilies$library","initialFonts","newFonts","forEach","face","unloadFontFaceInBrowser","loadFontFaceInBrowser","getDisplaySrcFromFontFace","src","hasFonts","jsxs","className","children","jsx","ProgressBar","Fragment","__experimentalNavigatorProvider","initialPath","__experimentalNavigatorScreen","path","__experimentalVStack","spacing","Notice","status","onRemove","__experimentalText","as","_x","role","default","navigatorPath","variantsText","onClick","ConfirmDeleteDialog","isOpen","setIsOpen","Flex","justify","__experimentalNavigatorToParentButton","icon","chevronLeft","size","label","__experimentalHeading","level","__experimentalSpacer","margin","CheckboxControl","checked","onChange","indeterminate","__nextHasNoMarginBottom","i","__experimentalHStack","Button","isDestructive","variant","disabled","accessibleWhenDisabled","navigator","useNavigator","handleConfirmUninstall","goBack","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\tProgressBar,\n\tCheckboxControl,\n} from '@wordpress/components';\nimport { useEntityRecord, store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useState } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { chevronLeft } from '@wordpress/icons';\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { FontLibraryContext } from './context';\nimport FontCard from './font-card';\nimport LibraryFontVariant from './library-font-variant';\nimport { sortFontFaces } from './utils/sort-font-faces';\nimport {\n\tsetUIValuesNeeded,\n\tloadFontFaceInBrowser,\n\tunloadFontFaceInBrowser,\n\tgetDisplaySrcFromFontFace,\n} from './utils';\nimport { unlock } from '../../../lock-unlock';\n\nconst { useGlobalSetting } = unlock( blockEditorPrivateApis );\n\nfunction InstalledFonts() {\n\tconst {\n\t\tbaseCustomFonts,\n\t\tlibraryFontSelected,\n\t\thandleSetLibraryFontSelected,\n\t\trefreshLibrary,\n\t\tuninstallFontFamily,\n\t\tisResolvingLibrary,\n\t\tisInstalling,\n\t\tsaveFontFamilies,\n\t\tgetFontFacesActivated,\n\t} = useContext( FontLibraryContext );\n\n\tconst [ fontFamilies, setFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies'\n\t);\n\tconst [ isConfirmDeleteOpen, setIsConfirmDeleteOpen ] = useState( false );\n\tconst [ notice, setNotice ] = useState( false );\n\tconst [ baseFontFamilies ] = useGlobalSetting(\n\t\t'typography.fontFamilies',\n\t\tundefined,\n\t\t'base'\n\t);\n\tconst globalStylesId = useSelect( ( select ) => {\n\t\tconst { __experimentalGetCurrentGlobalStylesId } = select( coreStore );\n\t\treturn __experimentalGetCurrentGlobalStylesId();\n\t} );\n\tconst globalStyles = useEntityRecord(\n\t\t'root',\n\t\t'globalStyles',\n\t\tglobalStylesId\n\t);\n\tconst fontFamiliesHasChanges =\n\t\t!! globalStyles?.edits?.settings?.typography?.fontFamilies;\n\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\tconst themeFontsSlugs = new Set( themeFonts.map( ( f ) => f.slug ) );\n\tconst baseThemeFonts = baseFontFamilies?.theme\n\t\t? themeFonts.concat(\n\t\t\t\tbaseFontFamilies.theme\n\t\t\t\t\t.filter( ( f ) => ! themeFontsSlugs.has( f.slug ) )\n\t\t\t\t\t.map( ( f ) => setUIValuesNeeded( f, { source: 'theme' } ) )\n\t\t\t\t\t.sort( ( a, b ) => a.name.localeCompare( b.name ) )\n\t\t )\n\t\t: [];\n\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', {\n\t\t\t\t\tkind: 'postType',\n\t\t\t\t\tname: 'wp_font_family',\n\t\t\t\t\tid: customFontFamilyId,\n\t\t\t\t} )\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 handleUpdate = async () => {\n\t\tsetNotice( null );\n\t\ttry {\n\t\t\tawait saveFontFamilies( fontFamilies );\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'success',\n\t\t\t\tmessage: __( 'Font family updated 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 updating the font family. ' ) +\n\t\t\t\t\terror.message,\n\t\t\t} );\n\t\t}\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\t// Get activated fonts count.\n\tconst activeFontsCount = libraryFontSelected\n\t\t? getFontFacesActivated(\n\t\t\t\tlibraryFontSelected.slug,\n\t\t\t\tlibraryFontSelected.source\n\t\t ).length\n\t\t: 0;\n\n\tconst selectedFontsCount =\n\t\tlibraryFontSelected?.fontFace?.length ??\n\t\t( libraryFontSelected?.fontFamily ? 1 : 0 );\n\n\t// Check if any fonts are selected.\n\tconst isIndeterminate =\n\t\tactiveFontsCount > 0 && activeFontsCount !== selectedFontsCount;\n\n\t// Check if all fonts are selected.\n\tconst isSelectAllChecked = activeFontsCount === selectedFontsCount;\n\n\t// Toggle select all fonts.\n\tconst toggleSelectAll = () => {\n\t\tconst initialFonts =\n\t\t\tfontFamilies?.[ libraryFontSelected.source ]?.filter(\n\t\t\t\t( f ) => f.slug !== libraryFontSelected.slug\n\t\t\t) ?? [];\n\t\tconst newFonts = isSelectAllChecked\n\t\t\t? initialFonts\n\t\t\t: [ ...initialFonts, libraryFontSelected ];\n\n\t\tsetFontFamilies( {\n\t\t\t...fontFamilies,\n\t\t\t[ libraryFontSelected.source ]: newFonts,\n\t\t} );\n\n\t\tif ( libraryFontSelected.fontFace ) {\n\t\t\tlibraryFontSelected.fontFace.forEach( ( face ) => {\n\t\t\t\tif ( isSelectAllChecked ) {\n\t\t\t\t\tunloadFontFaceInBrowser( face, 'all' );\n\t\t\t\t} else {\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 hasFonts = baseThemeFonts.length > 0 || baseCustomFonts.length > 0;\n\treturn (\n\t\t<div className=\"font-library-modal__tabpanel-layout\">\n\t\t\t{ isResolvingLibrary && (\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{ ! isResolvingLibrary && (\n\t\t\t\t<>\n\t\t\t\t\t<NavigatorProvider\n\t\t\t\t\t\tinitialPath={\n\t\t\t\t\t\t\tlibraryFontSelected ? '/fontFamily' : '/'\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t\t\t\t<VStack spacing=\"8\">\n\t\t\t\t\t\t\t\t{ notice && (\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) }\n\t\t\t\t\t\t\t\t{ ! hasFonts && (\n\t\t\t\t\t\t\t\t\t<Text as=\"p\">\n\t\t\t\t\t\t\t\t\t\t{ __( 'No fonts installed.' ) }\n\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseThemeFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Heading for a list of fonts provided by the theme. */\n\t\t\t\t\t\t\t\t\t\t\t\t_x( 'Theme', 'font source' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\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\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseThemeFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\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\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\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\t\t) }\n\t\t\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\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\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\t\t\t);\n\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ baseCustomFonts.length > 0 && (\n\t\t\t\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t\t\t\t<h2 className=\"font-library-modal__fonts-title\">\n\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Heading for a list of fonts installed by the user. */\n\t\t\t\t\t\t\t\t\t\t\t\t_x( 'Custom', 'font source' )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t\t\t\t\t{ /*\n\t\t\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\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t\t\t\t\t\t */\n\t\t\t\t\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__fonts-list\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ baseCustomFonts.map( ( font ) => (\n\t\t\t\t\t\t\t\t\t\t\t\t<li\n\t\t\t\t\t\t\t\t\t\t\t\t\tkey={ font.slug }\n\t\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\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<FontCard\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfont={ font }\n\t\t\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\t\t\tvariantsText={ getFontCardVariantsText(\n\t\t\t\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\t\t) }\n\t\t\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\t\t\tsetNotice( null );\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected(\n\t\t\t\t\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\t\t\t);\n\t\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\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\n\t\t\t\t\t\t<NavigatorScreen path=\"/fontFamily\">\n\t\t\t\t\t\t\t<ConfirmDeleteDialog\n\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\tisOpen={ isConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetIsOpen={ setIsConfirmDeleteOpen }\n\t\t\t\t\t\t\t\tsetNotice={ setNotice }\n\t\t\t\t\t\t\t\tuninstallFontFamily={ uninstallFontFamily }\n\t\t\t\t\t\t\t\thandleSetLibraryFontSelected={\n\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<Flex justify=\"flex-start\">\n\t\t\t\t\t\t\t\t<NavigatorToParentButton\n\t\t\t\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\thandleSetLibraryFontSelected( 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{ libraryFontSelected?.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{ __(\n\t\t\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\t\t) }\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<VStack spacing={ 0 }>\n\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\tclassName=\"font-library-modal__select-all\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Select all' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isSelectAllChecked }\n\t\t\t\t\t\t\t\t\tonChange={ toggleSelectAll }\n\t\t\t\t\t\t\t\t\tindeterminate={ isIndeterminate }\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<Spacer margin={ 8 } />\n\t\t\t\t\t\t\t\t{ getFontFacesToDisplay(\n\t\t\t\t\t\t\t\t\tlibraryFontSelected\n\t\t\t\t\t\t\t\t).map( ( face, i ) => (\n\t\t\t\t\t\t\t\t\t<LibraryFontVariant\n\t\t\t\t\t\t\t\t\t\tfont={ libraryFontSelected }\n\t\t\t\t\t\t\t\t\t\tface={ face }\n\t\t\t\t\t\t\t\t\t\tkey={ `face${ i }` }\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</VStack>\n\t\t\t\t\t\t</NavigatorScreen>\n\t\t\t\t\t</NavigatorProvider>\n\n\t\t\t\t\t<HStack\n\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\tclassName=\"font-library-modal__footer\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isInstalling && <ProgressBar /> }\n\t\t\t\t\t\t{ shouldDisplayDeleteButton && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisDestructive\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleUninstallClick }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ handleUpdate }\n\t\t\t\t\t\t\tdisabled={ ! fontFamiliesHasChanges }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</>\n\t\t\t) }\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\tsize=\"medium\"\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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","ignoreList":[]}
|
|
@@ -24,11 +24,10 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
24
24
|
|
|
25
25
|
function UploadFonts() {
|
|
26
26
|
const {
|
|
27
|
-
installFonts
|
|
28
|
-
notice,
|
|
29
|
-
setNotice
|
|
27
|
+
installFonts
|
|
30
28
|
} = (0, _element.useContext)(_context.FontLibraryContext);
|
|
31
29
|
const [isUploading, setIsUploading] = (0, _element.useState)(false);
|
|
30
|
+
const [notice, setNotice] = (0, _element.useState)(false);
|
|
32
31
|
const handleDropZone = files => {
|
|
33
32
|
handleFilesUpload(files);
|
|
34
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","_constants","_context","_libFont","_makeFamiliesFromFaces","_interopRequireDefault","_utils","_jsxRuntime","UploadFonts","installFonts","notice","setNotice","useContext","FontLibraryContext","isUploading","setIsUploading","useState","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","hasInvalidFiles","checkFilesPromises","map","file","isFont","isFontFile","has","name","fileExtension","split","pop","toLowerCase","ALLOWED_FILE_EXTENSIONS","includes","add","allowedFiles","Promise","all","filter","length","loadFiles","message","__","type","fontFacesLoaded","fontFile","fontFaceData","getFontFaceMetadata","loadFontFaceInBrowser","handleInstall","font","Font","buffer","readFileAsArrayBuffer","fromDataBuffer","error","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","fontObj","onloadEvent","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","makeFamiliesFromFaces","errors","installationErrors","jsxs","className","children","jsx","DropZone","onFilesDrop","__experimentalVStack","Notice","status","__unstableHTML","onRemove","index","FlexItem","ProgressBar","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\tProgressBar,\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';\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 = async ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tlet hasInvalidFiles = false;\n\n\t\t// Use map to create a promise for each file check, then filter with Promise.all.\n\t\tconst checkFilesPromises = selectedFiles.map( async ( file ) => {\n\t\t\tconst isFont = await isFontFile( file );\n\t\t\tif ( ! isFont ) {\n\t\t\t\thasInvalidFiles = true;\n\t\t\t\treturn null; // Return null for invalid files.\n\t\t\t}\n\t\t\t// Check for duplicates\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn null; // Return null for duplicates.\n\t\t\t}\n\t\t\t// Check if the file extension is 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 file; // Return the file if it passes all checks.\n\t\t\t}\n\t\t\treturn null; // Return null for disallowed file extensions.\n\t\t} );\n\n\t\t// Filter out the nulls after all promises have resolved.\n\t\tconst allowedFiles = ( await Promise.all( checkFilesPromises ) ).filter(\n\t\t\t( file ) => null !== file\n\t\t);\n\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tconst message = hasInvalidFiles\n\t\t\t\t? __( 'Sorry, you are not allowed to upload this file type.' )\n\t\t\t\t: __( 'No fonts found to install.' );\n\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage,\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/**\n\t * Checks if a file is a valid Font file.\n\t *\n\t * @param {File} file The file to be checked.\n\t * @return {boolean} Whether the file is a valid font file.\n\t */\n\tasync function isFontFile( file ) {\n\t\tconst font = new Font( 'Uploaded Font' );\n\t\ttry {\n\t\t\tconst buffer = await readFileAsArrayBuffer( file );\n\t\t\tawait font.fromDataBuffer( buffer, 'font' );\n\t\t\treturn true;\n\t\t} catch ( error ) {\n\t\t\treturn false;\n\t\t}\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\terrors: error?.installationErrors,\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\t__unstableHTML\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\t{ notice.errors && (\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{ notice.errors.map( ( error, index ) => (\n\t\t\t\t\t\t\t\t\t<li key={ index }>{ error }</li>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t) }\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: .ttf, .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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_constants","_context","_libFont","_makeFamiliesFromFaces","_interopRequireDefault","_utils","_jsxRuntime","UploadFonts","installFonts","useContext","FontLibraryContext","isUploading","setIsUploading","useState","notice","setNotice","handleDropZone","files","handleFilesUpload","onFilesUpload","event","target","uniqueFilenames","Set","selectedFiles","hasInvalidFiles","checkFilesPromises","map","file","isFont","isFontFile","has","name","fileExtension","split","pop","toLowerCase","ALLOWED_FILE_EXTENSIONS","includes","add","allowedFiles","Promise","all","filter","length","loadFiles","message","__","type","fontFacesLoaded","fontFile","fontFaceData","getFontFaceMetadata","loadFontFaceInBrowser","handleInstall","font","Font","buffer","readFileAsArrayBuffer","fromDataBuffer","error","resolve","reject","reader","window","FileReader","readAsArrayBuffer","onload","result","onerror","fontObj","onloadEvent","detail","opentype","tables","fontName","get","isItalic","fontWeight","usWeightClass","isVariable","fvar","weightAxis","axes","find","tag","weightRange","minValue","maxValue","fontFamily","fontStyle","fontFaces","fontFamilies","makeFamiliesFromFaces","errors","installationErrors","jsxs","className","children","jsx","DropZone","onFilesDrop","__experimentalVStack","Notice","status","__unstableHTML","onRemove","index","FlexItem","ProgressBar","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\tProgressBar,\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';\n\nfunction UploadFonts() {\n\tconst { installFonts } = useContext( FontLibraryContext );\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst [ notice, setNotice ] = 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 = async ( files ) => {\n\t\tsetNotice( null );\n\t\tsetIsUploading( true );\n\t\tconst uniqueFilenames = new Set();\n\t\tconst selectedFiles = [ ...files ];\n\t\tlet hasInvalidFiles = false;\n\n\t\t// Use map to create a promise for each file check, then filter with Promise.all.\n\t\tconst checkFilesPromises = selectedFiles.map( async ( file ) => {\n\t\t\tconst isFont = await isFontFile( file );\n\t\t\tif ( ! isFont ) {\n\t\t\t\thasInvalidFiles = true;\n\t\t\t\treturn null; // Return null for invalid files.\n\t\t\t}\n\t\t\t// Check for duplicates\n\t\t\tif ( uniqueFilenames.has( file.name ) ) {\n\t\t\t\treturn null; // Return null for duplicates.\n\t\t\t}\n\t\t\t// Check if the file extension is 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 file; // Return the file if it passes all checks.\n\t\t\t}\n\t\t\treturn null; // Return null for disallowed file extensions.\n\t\t} );\n\n\t\t// Filter out the nulls after all promises have resolved.\n\t\tconst allowedFiles = ( await Promise.all( checkFilesPromises ) ).filter(\n\t\t\t( file ) => null !== file\n\t\t);\n\n\t\tif ( allowedFiles.length > 0 ) {\n\t\t\tloadFiles( allowedFiles );\n\t\t} else {\n\t\t\tconst message = hasInvalidFiles\n\t\t\t\t? __( 'Sorry, you are not allowed to upload this file type.' )\n\t\t\t\t: __( 'No fonts found to install.' );\n\n\t\t\tsetNotice( {\n\t\t\t\ttype: 'error',\n\t\t\t\tmessage,\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/**\n\t * Checks if a file is a valid Font file.\n\t *\n\t * @param {File} file The file to be checked.\n\t * @return {boolean} Whether the file is a valid font file.\n\t */\n\tasync function isFontFile( file ) {\n\t\tconst font = new Font( 'Uploaded Font' );\n\t\ttry {\n\t\t\tconst buffer = await readFileAsArrayBuffer( file );\n\t\t\tawait font.fromDataBuffer( buffer, 'font' );\n\t\t\treturn true;\n\t\t} catch ( error ) {\n\t\t\treturn false;\n\t\t}\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\terrors: error?.installationErrors,\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\t__unstableHTML\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\t{ notice.errors && (\n\t\t\t\t\t\t\t<ul>\n\t\t\t\t\t\t\t\t{ notice.errors.map( ( error, index ) => (\n\t\t\t\t\t\t\t\t\t<li key={ index }>{ error }</li>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t) }\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: .ttf, .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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","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _components = require("@wordpress/components");
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function ConfirmDeleteFontSizeDialog({
|
|
15
|
+
fontSize,
|
|
16
|
+
isOpen,
|
|
17
|
+
toggleOpen,
|
|
18
|
+
handleRemoveFontSize
|
|
19
|
+
}) {
|
|
20
|
+
const handleConfirm = async () => {
|
|
21
|
+
toggleOpen();
|
|
22
|
+
handleRemoveFontSize(fontSize);
|
|
23
|
+
};
|
|
24
|
+
const handleCancel = () => {
|
|
25
|
+
toggleOpen();
|
|
26
|
+
};
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
|
|
28
|
+
isOpen: isOpen,
|
|
29
|
+
cancelButtonText: (0, _i18n.__)('Cancel'),
|
|
30
|
+
confirmButtonText: (0, _i18n.__)('Delete'),
|
|
31
|
+
onCancel: handleCancel,
|
|
32
|
+
onConfirm: handleConfirm,
|
|
33
|
+
size: "medium",
|
|
34
|
+
children: fontSize && (0, _i18n.sprintf)( /* translators: %s: Name of the font size preset. */
|
|
35
|
+
(0, _i18n.__)('Are you sure you want to delete "%s" font size preset?'), fontSize.name)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
var _default = exports.default = ConfirmDeleteFontSizeDialog;
|
|
39
|
+
//# sourceMappingURL=confirm-delete-font-size-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_jsxRuntime","ConfirmDeleteFontSizeDialog","fontSize","isOpen","toggleOpen","handleRemoveFontSize","handleConfirm","handleCancel","jsx","__experimentalConfirmDialog","cancelButtonText","__","confirmButtonText","onCancel","onConfirm","size","children","sprintf","name","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-delete-font-size-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\nfunction ConfirmDeleteFontSizeDialog( {\n\tfontSize,\n\tisOpen,\n\ttoggleOpen,\n\thandleRemoveFontSize,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\thandleRemoveFontSize( fontSize );\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\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={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ fontSize &&\n\t\t\t\tsprintf(\n\t\t\t\t\t/* translators: %s: Name of the font size preset. */\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Are you sure you want to delete \"%s\" font size preset?'\n\t\t\t\t\t),\n\t\t\t\t\tfontSize.name\n\t\t\t\t) }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmDeleteFontSizeDialog;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAA8C,IAAAE,WAAA,GAAAF,OAAA;AAJ9C;AACA;AACA;;AAIA,SAASG,2BAA2BA,CAAE;EACrCC,QAAQ;EACRC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,oBAAoB,CAAEH,QAAS,CAAC;EACjC,CAAC;EAED,MAAMK,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACC,IAAAJ,WAAA,CAAAQ,GAAA,EAACX,WAAA,CAAAY,2BAAa;IACbN,MAAM,EAAGA,MAAQ;IACjBO,gBAAgB,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;IACnCC,iBAAiB,EAAG,IAAAD,QAAE,EAAE,QAAS,CAAG;IACpCE,QAAQ,EAAGN,YAAc;IACzBO,SAAS,EAAGR,aAAe;IAC3BS,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXd,QAAQ,IACT,IAAAe,aAAO,GACN;IACA,IAAAN,QAAE,EACD,wDACD,CAAC,EACDT,QAAQ,CAACgB,IACV;EAAC,CACY,CAAC;AAElB;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcpB,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _components = require("@wordpress/components");
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
function ConfirmResetFontSizesDialog({
|
|
15
|
+
text,
|
|
16
|
+
confirmButtonText,
|
|
17
|
+
isOpen,
|
|
18
|
+
toggleOpen,
|
|
19
|
+
onConfirm
|
|
20
|
+
}) {
|
|
21
|
+
const handleConfirm = async () => {
|
|
22
|
+
toggleOpen();
|
|
23
|
+
onConfirm();
|
|
24
|
+
};
|
|
25
|
+
const handleCancel = () => {
|
|
26
|
+
toggleOpen();
|
|
27
|
+
};
|
|
28
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
|
|
29
|
+
isOpen: isOpen,
|
|
30
|
+
cancelButtonText: (0, _i18n.__)('Cancel'),
|
|
31
|
+
confirmButtonText: confirmButtonText,
|
|
32
|
+
onCancel: handleCancel,
|
|
33
|
+
onConfirm: handleConfirm,
|
|
34
|
+
size: "medium",
|
|
35
|
+
children: text
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
var _default = exports.default = ConfirmResetFontSizesDialog;
|
|
39
|
+
//# sourceMappingURL=confirm-reset-font-sizes-dialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_jsxRuntime","ConfirmResetFontSizesDialog","text","confirmButtonText","isOpen","toggleOpen","onConfirm","handleConfirm","handleCancel","jsx","__experimentalConfirmDialog","cancelButtonText","__","onCancel","size","children","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/confirm-reset-font-sizes-dialog.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nfunction ConfirmResetFontSizesDialog( {\n\ttext,\n\tconfirmButtonText,\n\tisOpen,\n\ttoggleOpen,\n\tonConfirm,\n} ) {\n\tconst handleConfirm = async () => {\n\t\ttoggleOpen();\n\t\tonConfirm();\n\t};\n\n\tconst handleCancel = () => {\n\t\ttoggleOpen();\n\t};\n\n\treturn (\n\t\t<ConfirmDialog\n\t\t\tisOpen={ isOpen }\n\t\t\tcancelButtonText={ __( 'Cancel' ) }\n\t\t\tconfirmButtonText={ confirmButtonText }\n\t\t\tonCancel={ handleCancel }\n\t\t\tonConfirm={ handleConfirm }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t{ text }\n\t\t</ConfirmDialog>\n\t);\n}\n\nexport default ConfirmResetFontSizesDialog;\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAAqC,IAAAE,WAAA,GAAAF,OAAA;AAJrC;AACA;AACA;;AAIA,SAASG,2BAA2BA,CAAE;EACrCC,IAAI;EACJC,iBAAiB;EACjBC,MAAM;EACNC,UAAU;EACVC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,MAAAA,CAAA,KAAY;IACjCF,UAAU,CAAC,CAAC;IACZC,SAAS,CAAC,CAAC;EACZ,CAAC;EAED,MAAME,YAAY,GAAGA,CAAA,KAAM;IAC1BH,UAAU,CAAC,CAAC;EACb,CAAC;EAED,oBACC,IAAAL,WAAA,CAAAS,GAAA,EAACZ,WAAA,CAAAa,2BAAa;IACbN,MAAM,EAAGA,MAAQ;IACjBO,gBAAgB,EAAG,IAAAC,QAAE,EAAE,QAAS,CAAG;IACnCT,iBAAiB,EAAGA,iBAAmB;IACvCU,QAAQ,EAAGL,YAAc;IACzBF,SAAS,EAAGC,aAAe;IAC3BO,IAAI,EAAC,QAAQ;IAAAC,QAAA,EAEXb;EAAI,CACQ,CAAC;AAElB;AAAC,IAAAc,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcjB,2BAA2B","ignoreList":[]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
8
|
+
var _i18n = require("@wordpress/i18n");
|
|
9
|
+
var _lockUnlock = require("../../../lock-unlock");
|
|
10
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
|
+
/**
|
|
12
|
+
* WordPress dependencies
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const {
|
|
20
|
+
useGlobalStyle
|
|
21
|
+
} = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
|
|
22
|
+
function FontSizePreview({
|
|
23
|
+
fontSize
|
|
24
|
+
}) {
|
|
25
|
+
var _font$fontFamily;
|
|
26
|
+
const [font] = useGlobalStyle('typography');
|
|
27
|
+
const input = fontSize?.fluid?.min && fontSize?.fluid?.max ? {
|
|
28
|
+
minimumFontSize: fontSize.fluid.min,
|
|
29
|
+
maximumFontSize: fontSize.fluid.max
|
|
30
|
+
} : {
|
|
31
|
+
fontSize: fontSize.size
|
|
32
|
+
};
|
|
33
|
+
const computedFontSize = (0, _blockEditor.getComputedFluidTypographyValue)(input);
|
|
34
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
35
|
+
className: "edit-site-typography-preview",
|
|
36
|
+
style: {
|
|
37
|
+
fontSize: computedFontSize,
|
|
38
|
+
fontFamily: (_font$fontFamily = font?.fontFamily) !== null && _font$fontFamily !== void 0 ? _font$fontFamily : 'serif'
|
|
39
|
+
},
|
|
40
|
+
children: (0, _i18n.__)('Aa')
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
var _default = exports.default = FontSizePreview;
|
|
44
|
+
//# sourceMappingURL=font-size-preview.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_blockEditor","require","_i18n","_lockUnlock","_jsxRuntime","useGlobalStyle","unlock","blockEditorPrivateApis","FontSizePreview","fontSize","_font$fontFamily","font","input","fluid","min","max","minimumFontSize","maximumFontSize","size","computedFontSize","getComputedFluidTypographyValue","jsx","className","style","fontFamily","children","__","_default","exports","default"],"sources":["@wordpress/edit-site/src/components/global-styles/font-sizes/font-size-preview.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../../lock-unlock';\nconst { useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nfunction FontSizePreview( { fontSize } ) {\n\tconst [ font ] = useGlobalStyle( 'typography' );\n\n\tconst input =\n\t\tfontSize?.fluid?.min && fontSize?.fluid?.max\n\t\t\t? {\n\t\t\t\t\tminimumFontSize: fontSize.fluid.min,\n\t\t\t\t\tmaximumFontSize: fontSize.fluid.max,\n\t\t\t }\n\t\t\t: {\n\t\t\t\t\tfontSize: fontSize.size,\n\t\t\t };\n\n\tconst computedFontSize = getComputedFluidTypographyValue( input );\n\treturn (\n\t\t<div\n\t\t\tclassName=\"edit-site-typography-preview\"\n\t\t\tstyle={ {\n\t\t\t\tfontSize: computedFontSize,\n\t\t\t\tfontFamily: font?.fontFamily ?? 'serif',\n\t\t\t} }\n\t\t>\n\t\t\t{ __( 'Aa' ) }\n\t\t</div>\n\t);\n}\n\nexport default FontSizePreview;\n"],"mappings":";;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAIA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AAA8C,IAAAG,WAAA,GAAAH,OAAA;AAZ9C;AACA;AACA;;AAOA;AACA;AACA;;AAEA,MAAM;EAAEI;AAAe,CAAC,GAAG,IAAAC,kBAAM,EAAEC,wBAAuB,CAAC;AAE3D,SAASC,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EAAA,IAAAC,gBAAA;EACxC,MAAM,CAAEC,IAAI,CAAE,GAAGN,cAAc,CAAE,YAAa,CAAC;EAE/C,MAAMO,KAAK,GACVH,QAAQ,EAAEI,KAAK,EAAEC,GAAG,IAAIL,QAAQ,EAAEI,KAAK,EAAEE,GAAG,GACzC;IACAC,eAAe,EAAEP,QAAQ,CAACI,KAAK,CAACC,GAAG;IACnCG,eAAe,EAAER,QAAQ,CAACI,KAAK,CAACE;EAChC,CAAC,GACD;IACAN,QAAQ,EAAEA,QAAQ,CAACS;EACnB,CAAC;EAEL,MAAMC,gBAAgB,GAAG,IAAAC,4CAA+B,EAAER,KAAM,CAAC;EACjE,oBACC,IAAAR,WAAA,CAAAiB,GAAA;IACCC,SAAS,EAAC,8BAA8B;IACxCC,KAAK,EAAG;MACPd,QAAQ,EAAEU,gBAAgB;MAC1BK,UAAU,GAAAd,gBAAA,GAAEC,IAAI,EAAEa,UAAU,cAAAd,gBAAA,cAAAA,gBAAA,GAAI;IACjC,CAAG;IAAAe,QAAA,EAED,IAAAC,QAAE,EAAE,IAAK;EAAC,CACR,CAAC;AAER;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcrB,eAAe","ignoreList":[]}
|