@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
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { useSelect } from '@wordpress/data';
|
|
6
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
7
|
+
import { __experimentalVStack as VStack } from '@wordpress/components';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import TypographyVariations from './variations/variations-typography';
|
|
13
|
+
import ScreenHeader from './header';
|
|
14
|
+
import FontFamilies from './font-families';
|
|
15
|
+
|
|
16
|
+
function ScreenTypeset() {
|
|
17
|
+
const fontLibraryEnabled = useSelect(
|
|
18
|
+
( select ) =>
|
|
19
|
+
select( editorStore ).getEditorSettings().fontLibraryEnabled,
|
|
20
|
+
[]
|
|
21
|
+
);
|
|
22
|
+
|
|
23
|
+
return (
|
|
24
|
+
<>
|
|
25
|
+
<ScreenHeader
|
|
26
|
+
title={ __( 'Typesets' ) }
|
|
27
|
+
description={ __(
|
|
28
|
+
'Fonts and typographic styling applied across the site.'
|
|
29
|
+
) }
|
|
30
|
+
/>
|
|
31
|
+
<div className="edit-site-global-styles-screen">
|
|
32
|
+
<VStack spacing={ 7 }>
|
|
33
|
+
<TypographyVariations />
|
|
34
|
+
|
|
35
|
+
{ fontLibraryEnabled && <FontFamilies /> }
|
|
36
|
+
</VStack>
|
|
37
|
+
</div>
|
|
38
|
+
</>
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export default ScreenTypeset;
|
|
@@ -67,30 +67,44 @@ function ScreenTypographyElement( { element } ) {
|
|
|
67
67
|
>
|
|
68
68
|
<ToggleGroupControlOption
|
|
69
69
|
value="heading"
|
|
70
|
+
showTooltip
|
|
71
|
+
aria-label={ __( 'All headings' ) }
|
|
70
72
|
label={ _x( 'All', 'heading levels' ) }
|
|
71
73
|
/>
|
|
72
74
|
<ToggleGroupControlOption
|
|
73
75
|
value="h1"
|
|
76
|
+
showTooltip
|
|
77
|
+
aria-label={ __( 'Heading 1' ) }
|
|
74
78
|
label={ __( 'H1' ) }
|
|
75
79
|
/>
|
|
76
80
|
<ToggleGroupControlOption
|
|
77
81
|
value="h2"
|
|
82
|
+
showTooltip
|
|
83
|
+
aria-label={ __( 'Heading 2' ) }
|
|
78
84
|
label={ __( 'H2' ) }
|
|
79
85
|
/>
|
|
80
86
|
<ToggleGroupControlOption
|
|
81
87
|
value="h3"
|
|
88
|
+
showTooltip
|
|
89
|
+
aria-label={ __( 'Heading 3' ) }
|
|
82
90
|
label={ __( 'H3' ) }
|
|
83
91
|
/>
|
|
84
92
|
<ToggleGroupControlOption
|
|
85
93
|
value="h4"
|
|
94
|
+
showTooltip
|
|
95
|
+
aria-label={ __( 'Heading 4' ) }
|
|
86
96
|
label={ __( 'H4' ) }
|
|
87
97
|
/>
|
|
88
98
|
<ToggleGroupControlOption
|
|
89
99
|
value="h5"
|
|
100
|
+
showTooltip
|
|
101
|
+
aria-label={ __( 'Heading 5' ) }
|
|
90
102
|
label={ __( 'H5' ) }
|
|
91
103
|
/>
|
|
92
104
|
<ToggleGroupControlOption
|
|
93
105
|
value="h6"
|
|
106
|
+
showTooltip
|
|
107
|
+
aria-label={ __( 'Heading 6' ) }
|
|
94
108
|
label={ __( 'H6' ) }
|
|
95
109
|
/>
|
|
96
110
|
</ToggleGroupControl>
|
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
5
|
import { __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
|
-
import { store as editorStore } from '@wordpress/editor';
|
|
7
6
|
import { useSelect } from '@wordpress/data';
|
|
7
|
+
import { store as editorStore } from '@wordpress/editor';
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
12
|
import TypographyElements from './typography-elements';
|
|
13
|
-
import TypographyVariations from './variations/variations-typography';
|
|
14
|
-
import FontFamilies from './font-families';
|
|
15
13
|
import ScreenHeader from './header';
|
|
14
|
+
import FontSizesCount from './font-sizes/font-sizes-count';
|
|
15
|
+
import TypesetButton from './typeset-button';
|
|
16
|
+
import FontFamilies from './font-families';
|
|
16
17
|
|
|
17
18
|
function ScreenTypography() {
|
|
18
19
|
const fontLibraryEnabled = useSelect(
|
|
@@ -31,10 +32,10 @@ function ScreenTypography() {
|
|
|
31
32
|
/>
|
|
32
33
|
<div className="edit-site-global-styles-screen">
|
|
33
34
|
<VStack spacing={ 7 }>
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
<TypesetButton />
|
|
36
|
+
{ fontLibraryEnabled && <FontFamilies /> }
|
|
36
37
|
<TypographyElements />
|
|
37
|
-
<
|
|
38
|
+
<FontSizesCount />
|
|
38
39
|
</VStack>
|
|
39
40
|
</div>
|
|
40
41
|
</>
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
__experimentalVStack as VStack,
|
|
12
12
|
__experimentalSpacer as Spacer,
|
|
13
13
|
__experimentalItemGroup as ItemGroup,
|
|
14
|
-
__experimentalHeading as Heading,
|
|
15
14
|
__experimentalInputControl as InputControl,
|
|
16
15
|
__experimentalUnitControl as UnitControl,
|
|
17
16
|
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
@@ -395,13 +394,14 @@ function ShadowItem( { shadow, onChange, canRemove, onRemove } ) {
|
|
|
395
394
|
);
|
|
396
395
|
} }
|
|
397
396
|
renderContent={ () => (
|
|
398
|
-
<DropdownContentWrapper
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
397
|
+
<DropdownContentWrapper
|
|
398
|
+
paddingSize="medium"
|
|
399
|
+
className="edit-site-global-styles__shadow-editor__dropdown-content"
|
|
400
|
+
>
|
|
401
|
+
<ShadowPopover
|
|
402
|
+
shadowObj={ shadowObj }
|
|
403
|
+
onChange={ onShadowChange }
|
|
404
|
+
/>
|
|
405
405
|
</DropdownContentWrapper>
|
|
406
406
|
) }
|
|
407
407
|
/>
|
|
@@ -421,71 +421,64 @@ function ShadowPopover( { shadowObj, onChange } ) {
|
|
|
421
421
|
};
|
|
422
422
|
|
|
423
423
|
return (
|
|
424
|
-
<
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
onChange={ ( value ) =>
|
|
483
|
-
onShadowChange( 'spread', value )
|
|
484
|
-
}
|
|
485
|
-
/>
|
|
486
|
-
</Grid>
|
|
487
|
-
</VStack>
|
|
488
|
-
</div>
|
|
424
|
+
<VStack
|
|
425
|
+
spacing={ 4 }
|
|
426
|
+
className="edit-site-global-styles__shadow-editor-panel"
|
|
427
|
+
>
|
|
428
|
+
<ColorPalette
|
|
429
|
+
clearable={ false }
|
|
430
|
+
enableAlpha={ enableAlpha }
|
|
431
|
+
__experimentalIsRenderedInSidebar={
|
|
432
|
+
__experimentalIsRenderedInSidebar
|
|
433
|
+
}
|
|
434
|
+
value={ shadowObj.color }
|
|
435
|
+
onChange={ ( value ) => onShadowChange( 'color', value ) }
|
|
436
|
+
/>
|
|
437
|
+
<ToggleGroupControl
|
|
438
|
+
__nextHasNoMarginBottom
|
|
439
|
+
value={ shadowObj.inset ? 'inset' : 'outset' }
|
|
440
|
+
isBlock
|
|
441
|
+
onChange={ ( value ) =>
|
|
442
|
+
onShadowChange( 'inset', value === 'inset' )
|
|
443
|
+
}
|
|
444
|
+
hideLabelFromVision
|
|
445
|
+
__next40pxDefaultSize
|
|
446
|
+
>
|
|
447
|
+
<ToggleGroupControlOption
|
|
448
|
+
value="outset"
|
|
449
|
+
label={ __( 'Outset' ) }
|
|
450
|
+
/>
|
|
451
|
+
<ToggleGroupControlOption
|
|
452
|
+
value="inset"
|
|
453
|
+
label={ __( 'Inset' ) }
|
|
454
|
+
/>
|
|
455
|
+
</ToggleGroupControl>
|
|
456
|
+
<Grid columns={ 2 } gap={ 4 }>
|
|
457
|
+
<ShadowInputControl
|
|
458
|
+
label={ __( 'X Position' ) }
|
|
459
|
+
value={ shadowObj.x }
|
|
460
|
+
hasNegativeRange
|
|
461
|
+
onChange={ ( value ) => onShadowChange( 'x', value ) }
|
|
462
|
+
/>
|
|
463
|
+
<ShadowInputControl
|
|
464
|
+
label={ __( 'Y Position' ) }
|
|
465
|
+
value={ shadowObj.y }
|
|
466
|
+
hasNegativeRange
|
|
467
|
+
onChange={ ( value ) => onShadowChange( 'y', value ) }
|
|
468
|
+
/>
|
|
469
|
+
<ShadowInputControl
|
|
470
|
+
label={ __( 'Blur' ) }
|
|
471
|
+
value={ shadowObj.blur }
|
|
472
|
+
onChange={ ( value ) => onShadowChange( 'blur', value ) }
|
|
473
|
+
/>
|
|
474
|
+
<ShadowInputControl
|
|
475
|
+
label={ __( 'Spread' ) }
|
|
476
|
+
value={ shadowObj.spread }
|
|
477
|
+
hasNegativeRange
|
|
478
|
+
onChange={ ( value ) => onShadowChange( 'spread', value ) }
|
|
479
|
+
/>
|
|
480
|
+
</Grid>
|
|
481
|
+
</VStack>
|
|
489
482
|
);
|
|
490
483
|
}
|
|
491
484
|
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import {
|
|
10
|
+
BaseControl,
|
|
11
|
+
RangeControl,
|
|
12
|
+
Flex,
|
|
13
|
+
FlexItem,
|
|
14
|
+
useBaseControlProps,
|
|
15
|
+
__experimentalUseCustomUnits as useCustomUnits,
|
|
16
|
+
__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,
|
|
17
|
+
__experimentalUnitControl as UnitControl,
|
|
18
|
+
__experimentalSpacer as Spacer,
|
|
19
|
+
} from '@wordpress/components';
|
|
20
|
+
|
|
21
|
+
const DEFAULT_UNITS = [ 'px', 'em', 'rem', 'vw', 'vh' ];
|
|
22
|
+
|
|
23
|
+
function SizeControl( props ) {
|
|
24
|
+
const { baseControlProps } = useBaseControlProps( props );
|
|
25
|
+
const { value, onChange, fallbackValue, disabled } = props;
|
|
26
|
+
|
|
27
|
+
const units = useCustomUnits( {
|
|
28
|
+
availableUnits: DEFAULT_UNITS,
|
|
29
|
+
} );
|
|
30
|
+
|
|
31
|
+
const [ valueQuantity, valueUnit = 'px' ] =
|
|
32
|
+
parseQuantityAndUnitFromRawValue( value, units );
|
|
33
|
+
|
|
34
|
+
const isValueUnitRelative =
|
|
35
|
+
!! valueUnit && [ 'em', 'rem', 'vw', 'vh' ].includes( valueUnit );
|
|
36
|
+
|
|
37
|
+
// Receives the new value from the UnitControl component as a string containing the value and unit.
|
|
38
|
+
const handleUnitControlChange = ( newValue ) => {
|
|
39
|
+
onChange( newValue );
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
// Receives the new value from the RangeControl component as a number.
|
|
43
|
+
const handleRangeControlChange = ( newValue ) => {
|
|
44
|
+
onChange?.( newValue + valueUnit );
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return (
|
|
48
|
+
<BaseControl { ...baseControlProps }>
|
|
49
|
+
<Flex>
|
|
50
|
+
<FlexItem isBlock>
|
|
51
|
+
<UnitControl
|
|
52
|
+
__next40pxDefaultSize
|
|
53
|
+
__nextHasNoMarginBottom
|
|
54
|
+
label={ __( 'Custom' ) }
|
|
55
|
+
hideLabelFromVision
|
|
56
|
+
value={ value }
|
|
57
|
+
onChange={ handleUnitControlChange }
|
|
58
|
+
units={ units }
|
|
59
|
+
min={ 0 }
|
|
60
|
+
disabled={ disabled }
|
|
61
|
+
/>
|
|
62
|
+
</FlexItem>
|
|
63
|
+
<FlexItem isBlock>
|
|
64
|
+
<Spacer marginX={ 2 } marginBottom={ 0 }>
|
|
65
|
+
<RangeControl
|
|
66
|
+
__next40pxDefaultSize
|
|
67
|
+
__nextHasNoMarginBottom
|
|
68
|
+
label={ __( 'Custom Size' ) }
|
|
69
|
+
hideLabelFromVision
|
|
70
|
+
value={ valueQuantity }
|
|
71
|
+
initialPosition={ fallbackValue }
|
|
72
|
+
withInputField={ false }
|
|
73
|
+
onChange={ handleRangeControlChange }
|
|
74
|
+
min={ 0 }
|
|
75
|
+
max={ isValueUnitRelative ? 10 : 100 }
|
|
76
|
+
step={ isValueUnitRelative ? 0.1 : 1 }
|
|
77
|
+
disabled={ disabled }
|
|
78
|
+
/>
|
|
79
|
+
</Spacer>
|
|
80
|
+
</FlexItem>
|
|
81
|
+
</Flex>
|
|
82
|
+
</BaseControl>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export default SizeControl;
|
|
@@ -110,6 +110,10 @@ export default function StyleVariationsContainer( { gap = 2 } ) {
|
|
|
110
110
|
];
|
|
111
111
|
}, [ fullStyleVariations, userStyles?.blocks, userStyles?.css ] );
|
|
112
112
|
|
|
113
|
+
if ( ! fullStyleVariations || fullStyleVariations?.length < 1 ) {
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
|
|
113
117
|
return (
|
|
114
118
|
<Grid
|
|
115
119
|
columns={ 2 }
|
|
@@ -23,6 +23,17 @@
|
|
|
23
23
|
overflow: hidden;
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
.edit-site-font-size__item {
|
|
27
|
+
white-space: nowrap;
|
|
28
|
+
text-overflow: ellipsis;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
line-break: anywhere;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.edit-site-font-size__item-value {
|
|
34
|
+
color: $gray-700;
|
|
35
|
+
}
|
|
36
|
+
|
|
26
37
|
.edit-site-global-styles-screen {
|
|
27
38
|
margin: $grid-unit-15 $grid-unit-20 $grid-unit-20;
|
|
28
39
|
}
|
|
@@ -41,7 +52,6 @@
|
|
|
41
52
|
color: $gray-700;
|
|
42
53
|
}
|
|
43
54
|
|
|
44
|
-
.edit-site-global-styles-font-families__add-fonts,
|
|
45
55
|
.edit-site-global-styles-font-families__manage-fonts {
|
|
46
56
|
justify-content: center;
|
|
47
57
|
}
|
|
@@ -102,13 +112,13 @@
|
|
|
102
112
|
.edit-site-global-styles__block-preview-panel {
|
|
103
113
|
position: relative;
|
|
104
114
|
width: 100%;
|
|
105
|
-
overflow: auto;
|
|
106
115
|
border: $gray-200 $border-width solid;
|
|
107
116
|
border-radius: $radius-block-ui;
|
|
117
|
+
overflow: hidden;
|
|
108
118
|
}
|
|
109
119
|
|
|
110
120
|
.edit-site-global-styles__shadow-preview-panel {
|
|
111
|
-
height:
|
|
121
|
+
height: $grid-unit-60 * 3;
|
|
112
122
|
border: $gray-200 $border-width solid;
|
|
113
123
|
border-radius: $radius-block-ui;
|
|
114
124
|
overflow: auto;
|
|
@@ -125,16 +135,13 @@
|
|
|
125
135
|
}
|
|
126
136
|
}
|
|
127
137
|
|
|
128
|
-
.edit-site-global-styles__shadow-
|
|
138
|
+
.edit-site-global-styles__shadow-editor__dropdown-content {
|
|
129
139
|
width: 280px;
|
|
130
|
-
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
.edit-site-global-styles__shadow-editor-panel {
|
|
131
143
|
// because tooltip of the range control is too close to the edge and creates overflow
|
|
132
144
|
margin-bottom: $grid-unit-05;
|
|
133
|
-
|
|
134
|
-
& .edit-site-global-styles__shadow-editor-color-palette {
|
|
135
|
-
// color palette adds empty .components-circular-option-picker
|
|
136
|
-
margin-bottom: -1 * $grid-unit-05;
|
|
137
|
-
}
|
|
138
145
|
}
|
|
139
146
|
|
|
140
147
|
.edit-site-global-styles__shadow-editor__dropdown {
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { isRTL, __ } from '@wordpress/i18n';
|
|
5
|
+
import {
|
|
6
|
+
__experimentalItemGroup as ItemGroup,
|
|
7
|
+
__experimentalVStack as VStack,
|
|
8
|
+
__experimentalHStack as HStack,
|
|
9
|
+
FlexItem,
|
|
10
|
+
} from '@wordpress/components';
|
|
11
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
12
|
+
import { useSelect } from '@wordpress/data';
|
|
13
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
14
|
+
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
15
|
+
import { useMemo, useContext } from '@wordpress/element';
|
|
16
|
+
import { Icon, chevronLeft, chevronRight } from '@wordpress/icons';
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies
|
|
20
|
+
*/
|
|
21
|
+
import FontLibraryProvider from './font-library-modal/context';
|
|
22
|
+
import { getFontFamilies } from './utils';
|
|
23
|
+
import { NavigationButtonAsItem } from './navigation-button';
|
|
24
|
+
import Subtitle from './subtitle';
|
|
25
|
+
import { unlock } from '../../lock-unlock';
|
|
26
|
+
import { filterObjectByProperties } from '../../hooks/use-theme-style-variations/use-theme-style-variations-by-property';
|
|
27
|
+
|
|
28
|
+
const { GlobalStylesContext } = unlock( blockEditorPrivateApis );
|
|
29
|
+
const { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );
|
|
30
|
+
|
|
31
|
+
function TypesetButton() {
|
|
32
|
+
const { base } = useContext( GlobalStylesContext );
|
|
33
|
+
const { user: userConfig } = useContext( GlobalStylesContext );
|
|
34
|
+
const config = mergeBaseAndUserConfigs( base, userConfig );
|
|
35
|
+
const allFontFamilies = getFontFamilies( config );
|
|
36
|
+
const hasFonts =
|
|
37
|
+
allFontFamilies.filter( ( font ) => font !== null ).length > 0;
|
|
38
|
+
const variations = useSelect( ( select ) => {
|
|
39
|
+
return select(
|
|
40
|
+
coreStore
|
|
41
|
+
).__experimentalGetCurrentThemeGlobalStylesVariations();
|
|
42
|
+
}, [] );
|
|
43
|
+
const userTypographyConfig = filterObjectByProperties(
|
|
44
|
+
userConfig,
|
|
45
|
+
'typography'
|
|
46
|
+
);
|
|
47
|
+
|
|
48
|
+
const title = useMemo( () => {
|
|
49
|
+
if ( Object.keys( userTypographyConfig ).length === 0 ) {
|
|
50
|
+
return __( 'Default' );
|
|
51
|
+
}
|
|
52
|
+
const activeVariation = variations?.find( ( variation ) => {
|
|
53
|
+
return (
|
|
54
|
+
JSON.stringify(
|
|
55
|
+
filterObjectByProperties( variation, 'typography' )
|
|
56
|
+
) === JSON.stringify( userTypographyConfig )
|
|
57
|
+
);
|
|
58
|
+
} );
|
|
59
|
+
if ( activeVariation ) {
|
|
60
|
+
return activeVariation.title;
|
|
61
|
+
}
|
|
62
|
+
return allFontFamilies.map( ( font ) => font?.name ).join( ', ' );
|
|
63
|
+
}, [ allFontFamilies, userTypographyConfig, variations ] );
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
hasFonts && (
|
|
67
|
+
<VStack spacing={ 2 }>
|
|
68
|
+
<HStack justify="space-between">
|
|
69
|
+
<Subtitle level={ 3 }>{ __( 'Typeset' ) }</Subtitle>
|
|
70
|
+
</HStack>
|
|
71
|
+
<ItemGroup isBordered isSeparated>
|
|
72
|
+
<NavigationButtonAsItem
|
|
73
|
+
path="/typography/typeset"
|
|
74
|
+
aria-label={ __( 'Typeset' ) }
|
|
75
|
+
>
|
|
76
|
+
<HStack direction="row">
|
|
77
|
+
<FlexItem>{ title }</FlexItem>
|
|
78
|
+
<Icon
|
|
79
|
+
icon={ isRTL() ? chevronLeft : chevronRight }
|
|
80
|
+
/>
|
|
81
|
+
</HStack>
|
|
82
|
+
</NavigationButtonAsItem>
|
|
83
|
+
</ItemGroup>
|
|
84
|
+
</VStack>
|
|
85
|
+
)
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export default ( { ...props } ) => (
|
|
90
|
+
<FontLibraryProvider>
|
|
91
|
+
<TypesetButton { ...props } />
|
|
92
|
+
</FontLibraryProvider>
|
|
93
|
+
);
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import {
|
|
6
|
+
__experimentalItemGroup as ItemGroup,
|
|
7
|
+
__experimentalVStack as VStack,
|
|
8
|
+
__experimentalHStack as HStack,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
|
|
11
|
+
import { privateApis as editorPrivateApis } from '@wordpress/editor';
|
|
12
|
+
import { useContext } from '@wordpress/element';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import FontLibraryProvider, {
|
|
18
|
+
FontLibraryContext,
|
|
19
|
+
} from './font-library-modal/context';
|
|
20
|
+
import FontLibraryModal from './font-library-modal';
|
|
21
|
+
import FontFamilyItem from './font-family-item';
|
|
22
|
+
import Subtitle from './subtitle';
|
|
23
|
+
import { getFontFamilies } from './utils';
|
|
24
|
+
import { unlock } from '../../lock-unlock';
|
|
25
|
+
|
|
26
|
+
const { GlobalStylesContext } = unlock( blockEditorPrivateApis );
|
|
27
|
+
const { mergeBaseAndUserConfigs } = unlock( editorPrivateApis );
|
|
28
|
+
|
|
29
|
+
function Typesets() {
|
|
30
|
+
const { modalTabOpen, setModalTabOpen } = useContext( FontLibraryContext );
|
|
31
|
+
const { base } = useContext( GlobalStylesContext );
|
|
32
|
+
const { user: userConfig } = useContext( GlobalStylesContext );
|
|
33
|
+
const config = mergeBaseAndUserConfigs( base, userConfig );
|
|
34
|
+
const allFontFamilies = getFontFamilies( config );
|
|
35
|
+
const hasFonts =
|
|
36
|
+
allFontFamilies.filter( ( font ) => font !== null ).length > 0;
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
hasFonts && (
|
|
40
|
+
<>
|
|
41
|
+
{ !! modalTabOpen && (
|
|
42
|
+
<FontLibraryModal
|
|
43
|
+
onRequestClose={ () => setModalTabOpen( null ) }
|
|
44
|
+
defaultTabId={ modalTabOpen }
|
|
45
|
+
/>
|
|
46
|
+
) }
|
|
47
|
+
|
|
48
|
+
<VStack spacing={ 2 }>
|
|
49
|
+
<HStack justify="space-between">
|
|
50
|
+
<Subtitle level={ 3 }>{ __( 'Fonts' ) }</Subtitle>
|
|
51
|
+
</HStack>
|
|
52
|
+
<ItemGroup isBordered isSeparated>
|
|
53
|
+
{ allFontFamilies.map(
|
|
54
|
+
( font ) =>
|
|
55
|
+
font && (
|
|
56
|
+
<FontFamilyItem
|
|
57
|
+
key={ font.slug }
|
|
58
|
+
font={ font }
|
|
59
|
+
/>
|
|
60
|
+
)
|
|
61
|
+
) }
|
|
62
|
+
</ItemGroup>
|
|
63
|
+
</VStack>
|
|
64
|
+
</>
|
|
65
|
+
)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
export default ( { ...props } ) => (
|
|
70
|
+
<FontLibraryProvider>
|
|
71
|
+
<Typesets { ...props } />
|
|
72
|
+
</FontLibraryProvider>
|
|
73
|
+
);
|
|
@@ -32,7 +32,10 @@ import {
|
|
|
32
32
|
} from './screen-block-list';
|
|
33
33
|
import ScreenBlock from './screen-block';
|
|
34
34
|
import ScreenTypography from './screen-typography';
|
|
35
|
+
import ScreenTypeset from './screen-typeset';
|
|
35
36
|
import ScreenTypographyElement from './screen-typography-element';
|
|
37
|
+
import FontSize from './font-sizes/font-size';
|
|
38
|
+
import FontSizes from './font-sizes/font-sizes';
|
|
36
39
|
import ScreenColors from './screen-colors';
|
|
37
40
|
import ScreenColorPalette from './screen-color-palette';
|
|
38
41
|
import { ScreenShadows, ScreenShadowsEdit } from './screen-shadows';
|
|
@@ -313,6 +316,18 @@ function GlobalStylesUI() {
|
|
|
313
316
|
<ScreenTypography />
|
|
314
317
|
</GlobalStylesNavigationScreen>
|
|
315
318
|
|
|
319
|
+
<GlobalStylesNavigationScreen path="/typography/font-sizes/">
|
|
320
|
+
<FontSizes />
|
|
321
|
+
</GlobalStylesNavigationScreen>
|
|
322
|
+
|
|
323
|
+
<GlobalStylesNavigationScreen path="/typography/font-sizes/:origin/:slug">
|
|
324
|
+
<FontSize />
|
|
325
|
+
</GlobalStylesNavigationScreen>
|
|
326
|
+
|
|
327
|
+
<GlobalStylesNavigationScreen path="/typography/typeset">
|
|
328
|
+
<ScreenTypeset />
|
|
329
|
+
</GlobalStylesNavigationScreen>
|
|
330
|
+
|
|
316
331
|
<GlobalStylesNavigationScreen path="/typography/text">
|
|
317
332
|
<ScreenTypographyElement element="text" />
|
|
318
333
|
</GlobalStylesNavigationScreen>
|
|
@@ -52,7 +52,19 @@ function getFontFamilyFromSetting( fontFamilies, setting ) {
|
|
|
52
52
|
}
|
|
53
53
|
|
|
54
54
|
export function getFontFamilies( themeJson ) {
|
|
55
|
-
const
|
|
55
|
+
const themeFontFamilies =
|
|
56
|
+
themeJson?.settings?.typography?.fontFamilies?.theme;
|
|
57
|
+
const customFontFamilies =
|
|
58
|
+
themeJson?.settings?.typography?.fontFamilies?.custom;
|
|
59
|
+
|
|
60
|
+
let fontFamilies = [];
|
|
61
|
+
if ( themeFontFamilies && customFontFamilies ) {
|
|
62
|
+
fontFamilies = [ ...themeFontFamilies, ...customFontFamilies ];
|
|
63
|
+
} else if ( themeFontFamilies ) {
|
|
64
|
+
fontFamilies = themeFontFamilies;
|
|
65
|
+
} else if ( customFontFamilies ) {
|
|
66
|
+
fontFamilies = customFontFamilies;
|
|
67
|
+
}
|
|
56
68
|
const bodyFontFamilySetting = themeJson?.styles?.typography?.fontFamily;
|
|
57
69
|
const bodyFontFamily = getFontFamilyFromSetting(
|
|
58
70
|
fontFamilies,
|