@wordpress/edit-site 4.18.0 → 5.0.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 +8 -0
- package/build/components/add-new-template/add-custom-template-modal.js +4 -1
- package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build/components/add-new-template/index.js +8 -5
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template-part.js +21 -6
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/add-new-template/new-template.js +12 -8
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js +15 -30
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +64 -0
- package/build/components/block-editor/editor-canvas.js.map +1 -0
- package/build/components/block-editor/index.js +61 -59
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/block-editor/resizable-editor.js +13 -85
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/editor/index.js +80 -127
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +42 -0
- package/build/components/global-styles/block-preview-panel.js.map +1 -0
- package/build/components/global-styles/context-menu.js +6 -2
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/custom-css.js +61 -0
- package/build/components/global-styles/custom-css.js.map +1 -0
- package/build/components/global-styles/dimensions-panel.js +42 -2
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/global-styles-provider.js +15 -2
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/hooks.js +37 -2
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/palette.js +9 -2
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +2 -1
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +10 -2
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-border.js +43 -0
- package/build/components/global-styles/screen-border.js.map +1 -0
- package/build/components/global-styles/screen-colors.js +1 -1
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +42 -0
- package/build/components/global-styles/screen-css.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +0 -5
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-root.js +14 -1
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +3 -3
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +52 -16
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/ui.js +50 -4
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +47 -8
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +3 -3
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
- package/build/components/global-styles-renderer/index.js.map +1 -0
- package/build/components/header-edit-mode/document-actions/index.js +14 -5
- package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build/components/header-edit-mode/index.js +31 -17
- package/build/components/header-edit-mode/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +14 -1
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/layout/index.js +231 -0
- package/build/components/layout/index.js.map +1 -0
- package/build/components/list/header.js +5 -1
- package/build/components/list/header.js.map +1 -1
- package/build/components/list/index.js +4 -22
- package/build/components/list/index.js.map +1 -1
- package/build/components/list/table.js +1 -1
- package/build/components/list/table.js.map +1 -1
- package/build/components/list/use-register-shortcuts.js +3 -0
- package/build/components/list/use-register-shortcuts.js.map +1 -1
- package/build/components/navigate-to-link/index.js +1 -3
- package/build/components/navigate-to-link/index.js.map +1 -1
- package/build/components/routes/index.js +1 -1
- package/build/components/routes/index.js.map +1 -1
- package/build/components/save-button/index.js +20 -2
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/sidebar/index.js +42 -0
- package/build/components/sidebar/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +1 -1
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-card/index.js +4 -2
- package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build/components/sidebar-navigation-item/index.js +53 -0
- package/build/components/sidebar-navigation-item/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +49 -0
- package/build/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-main/index.js +76 -0
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build/components/site-icon/index.js +70 -0
- package/build/components/site-icon/index.js.map +1 -0
- package/build/components/site-title/index.js +55 -0
- package/build/components/site-title/index.js.map +1 -0
- package/build/components/style-book/index.js +173 -0
- package/build/components/style-book/index.js.map +1 -0
- package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
- package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build/components/template-details/index.js +4 -2
- package/build/components/template-details/index.js.map +1 -1
- package/build/index.js +2 -45
- package/build/index.js.map +1 -1
- package/build/store/actions.js +93 -43
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +35 -107
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +69 -78
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal.js +3 -1
- package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build-module/components/add-new-template/index.js +7 -5
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +18 -6
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +13 -9
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js +15 -28
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +51 -0
- package/build-module/components/block-editor/editor-canvas.js.map +1 -0
- package/build-module/components/block-editor/index.js +61 -60
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/block-editor/resizable-editor.js +15 -82
- package/build-module/components/block-editor/resizable-editor.js.map +1 -1
- package/build-module/components/editor/index.js +81 -124
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/block-preview-panel.js +32 -0
- package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
- package/build-module/components/global-styles/context-menu.js +7 -3
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/custom-css.js +51 -0
- package/build-module/components/global-styles/custom-css.js.map +1 -0
- package/build-module/components/global-styles/dimensions-panel.js +43 -3
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/global-styles-provider.js +15 -2
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +32 -4
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/palette.js +10 -4
- package/build-module/components/global-styles/palette.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +2 -1
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +8 -2
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-border.js +27 -0
- package/build-module/components/global-styles/screen-border.js.map +1 -0
- package/build-module/components/global-styles/screen-colors.js +1 -1
- package/build-module/components/global-styles/screen-colors.js.map +1 -1
- package/build-module/components/global-styles/screen-css.js +28 -0
- package/build-module/components/global-styles/screen-css.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +0 -4
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +14 -1
- package/build-module/components/global-styles/screen-root.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/typography-panel.js +53 -16
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/ui.js +48 -5
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +48 -9
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +4 -4
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
- package/build-module/components/global-styles-renderer/index.js.map +1 -0
- package/build-module/components/header-edit-mode/document-actions/index.js +14 -6
- package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
- package/build-module/components/header-edit-mode/index.js +27 -16
- package/build-module/components/header-edit-mode/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +13 -1
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/layout/index.js +203 -0
- package/build-module/components/layout/index.js.map +1 -0
- package/build-module/components/list/header.js +5 -1
- package/build-module/components/list/header.js.map +1 -1
- package/build-module/components/list/index.js +4 -19
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/list/table.js +1 -1
- package/build-module/components/list/table.js.map +1 -1
- package/build-module/components/list/use-register-shortcuts.js +3 -0
- package/build-module/components/list/use-register-shortcuts.js.map +1 -1
- package/build-module/components/navigate-to-link/index.js +1 -3
- package/build-module/components/navigate-to-link/index.js.map +1 -1
- package/build-module/components/routes/index.js +1 -1
- package/build-module/components/routes/index.js.map +1 -1
- package/build-module/components/save-button/index.js +21 -2
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +30 -0
- package/build-module/components/sidebar/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +3 -3
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-card/index.js +3 -2
- package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-item/index.js +40 -0
- package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +39 -0
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
- package/build-module/components/site-icon/index.js +55 -0
- package/build-module/components/site-icon/index.js.map +1 -0
- package/build-module/components/site-title/index.js +43 -0
- package/build-module/components/site-title/index.js.map +1 -0
- package/build-module/components/style-book/index.js +156 -0
- package/build-module/components/style-book/index.js.map +1 -0
- package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
- package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
- package/build-module/components/template-details/index.js +3 -2
- package/build-module/components/template-details/index.js.map +1 -1
- package/build-module/index.js +5 -36
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +87 -42
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +35 -102
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +60 -72
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +558 -354
- package/build-style/style.css +558 -354
- package/package.json +33 -31
- package/src/components/add-new-template/add-custom-template-modal.js +6 -1
- package/src/components/add-new-template/index.js +6 -3
- package/src/components/add-new-template/new-template-part.js +15 -3
- package/src/components/add-new-template/new-template.js +14 -7
- package/src/components/add-new-template/style.scss +0 -4
- package/src/components/app/index.js +14 -43
- package/src/components/block-editor/editor-canvas.js +69 -0
- package/src/components/block-editor/index.js +102 -87
- package/src/components/block-editor/resizable-editor.js +12 -112
- package/src/components/block-editor/style.scss +25 -1
- package/src/components/code-editor/style.scss +1 -1
- package/src/components/editor/index.js +170 -236
- package/src/components/editor/style.scss +1 -29
- package/src/components/global-styles/block-preview-panel.js +29 -0
- package/src/components/global-styles/context-menu.js +11 -2
- package/src/components/global-styles/custom-css.js +73 -0
- package/src/components/global-styles/dimensions-panel.js +56 -1
- package/src/components/global-styles/global-styles-provider.js +39 -17
- package/src/components/global-styles/hooks.js +44 -3
- package/src/components/global-styles/palette.js +16 -2
- package/src/components/global-styles/screen-block-list.js +2 -1
- package/src/components/global-styles/screen-block.js +9 -1
- package/src/components/global-styles/screen-border.js +23 -0
- package/src/components/global-styles/screen-colors.js +2 -1
- package/src/components/global-styles/screen-css.js +33 -0
- package/src/components/global-styles/screen-layout.js +0 -3
- package/src/components/global-styles/screen-root.js +30 -1
- package/src/components/global-styles/screen-style-variations.js +5 -2
- package/src/components/global-styles/style.scss +31 -2
- package/src/components/global-styles/test/typography-utils.js +82 -98
- package/src/components/global-styles/test/use-global-styles-output.js +6 -6
- package/src/components/global-styles/typography-panel.js +57 -15
- package/src/components/global-styles/ui.js +47 -4
- package/src/components/global-styles/use-global-styles-output.js +52 -10
- package/src/components/global-styles/utils.js +8 -5
- package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
- package/src/components/header-edit-mode/document-actions/index.js +16 -10
- package/src/components/header-edit-mode/document-actions/style.scss +8 -1
- package/src/components/header-edit-mode/index.js +104 -82
- package/src/components/header-edit-mode/style.scss +5 -33
- package/src/components/keyboard-shortcuts/index.js +17 -0
- package/src/components/layout/index.js +278 -0
- package/src/components/layout/style.scss +176 -0
- package/src/components/list/header.js +5 -1
- package/src/components/list/index.js +12 -31
- package/src/components/list/style.scss +10 -4
- package/src/components/list/table.js +1 -1
- package/src/components/list/use-register-shortcuts.js +4 -0
- package/src/components/navigate-to-link/index.js +2 -8
- package/src/components/routes/index.js +1 -1
- package/src/components/save-button/index.js +17 -1
- package/src/components/sidebar/index.js +34 -0
- package/src/components/sidebar/style.scss +8 -0
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
- package/src/components/sidebar-edit-mode/index.js +3 -3
- package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
- package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
- package/src/components/sidebar-edit-mode/style.scss +0 -13
- package/src/components/sidebar-edit-mode/template-card/index.js +3 -2
- package/src/components/sidebar-navigation-item/index.js +51 -0
- package/src/components/sidebar-navigation-item/style.scss +17 -0
- package/src/components/sidebar-navigation-screen/index.js +55 -0
- package/src/components/sidebar-navigation-screen/style.scss +41 -0
- package/src/components/sidebar-navigation-screen-main/index.js +72 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
- package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
- package/src/components/site-icon/index.js +56 -0
- package/src/components/site-icon/style.scss +10 -0
- package/src/components/site-title/index.js +39 -0
- package/src/components/style-book/index.js +193 -0
- package/src/components/style-book/style.scss +78 -0
- package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
- package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
- package/src/components/template-details/index.js +3 -2
- package/src/components/template-details/style.scss +4 -0
- package/src/index.js +3 -53
- package/src/store/actions.js +93 -48
- package/src/store/reducer.js +29 -91
- package/src/store/selectors.js +61 -101
- package/src/store/test/actions.js +3 -15
- package/src/store/test/reducer.js +8 -192
- package/src/store/test/selectors.js +3 -42
- package/src/style.scss +19 -3
- package/build/components/editor/global-styles-renderer.js.map +0 -1
- package/build/components/navigation-sidebar/index.js +0 -62
- package/build/components/navigation-sidebar/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
- package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
- package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
- package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build/components/url-query-controller/index.js.map +0 -1
- package/build-module/components/editor/global-styles-renderer.js.map +0 -1
- package/build-module/components/navigation-sidebar/index.js +0 -45
- package/build-module/components/navigation-sidebar/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
- package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
- package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
- package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
- package/build-module/components/url-query-controller/index.js.map +0 -1
- package/src/components/navigation-sidebar/index.js +0 -46
- package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
- package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
- package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -159
- package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
- package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
- package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
- package/src/components/navigation-sidebar/navigation-toggle/test/__snapshots__/index.js.snap +0 -41
- package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -69
|
@@ -7,7 +7,7 @@ describe( 'typography utils', () => {
|
|
|
7
7
|
describe( 'getTypographyFontSizeValue', () => {
|
|
8
8
|
[
|
|
9
9
|
{
|
|
10
|
-
message: '
|
|
10
|
+
message: 'returns value when fluid typography is deactivated',
|
|
11
11
|
preset: {
|
|
12
12
|
size: '28px',
|
|
13
13
|
},
|
|
@@ -16,7 +16,7 @@ describe( 'typography utils', () => {
|
|
|
16
16
|
},
|
|
17
17
|
|
|
18
18
|
{
|
|
19
|
-
message: '
|
|
19
|
+
message: 'returns value where font size is 0',
|
|
20
20
|
preset: {
|
|
21
21
|
size: 0,
|
|
22
22
|
},
|
|
@@ -25,7 +25,7 @@ describe( 'typography utils', () => {
|
|
|
25
25
|
},
|
|
26
26
|
|
|
27
27
|
{
|
|
28
|
-
message: "
|
|
28
|
+
message: "returns value where font size is '0'",
|
|
29
29
|
preset: {
|
|
30
30
|
size: '0',
|
|
31
31
|
},
|
|
@@ -34,17 +34,16 @@ describe( 'typography utils', () => {
|
|
|
34
34
|
},
|
|
35
35
|
|
|
36
36
|
{
|
|
37
|
-
message:
|
|
38
|
-
'Default return non-fluid value where `size` is undefined.',
|
|
37
|
+
message: 'returns value where `size` is `null`.',
|
|
39
38
|
preset: {
|
|
40
|
-
size:
|
|
39
|
+
size: null,
|
|
41
40
|
},
|
|
42
|
-
typographySettings:
|
|
43
|
-
expected:
|
|
41
|
+
typographySettings: null,
|
|
42
|
+
expected: null,
|
|
44
43
|
},
|
|
45
44
|
|
|
46
45
|
{
|
|
47
|
-
message: '
|
|
46
|
+
message: 'returns value when fluid is `false`',
|
|
48
47
|
preset: {
|
|
49
48
|
size: '28px',
|
|
50
49
|
fluid: false,
|
|
@@ -56,84 +55,94 @@ describe( 'typography utils', () => {
|
|
|
56
55
|
},
|
|
57
56
|
|
|
58
57
|
{
|
|
59
|
-
message:
|
|
60
|
-
'Should coerce integer to `px` and return fluid value.',
|
|
58
|
+
message: 'returns already clamped value',
|
|
61
59
|
preset: {
|
|
62
|
-
size:
|
|
63
|
-
fluid:
|
|
60
|
+
size: 'clamp(21px, 1.313rem + ((1vw - 7.68px) * 2.524), 42px)',
|
|
61
|
+
fluid: false,
|
|
64
62
|
},
|
|
65
63
|
typographySettings: {
|
|
66
64
|
fluid: true,
|
|
67
65
|
},
|
|
68
66
|
expected:
|
|
69
|
-
'clamp(
|
|
67
|
+
'clamp(21px, 1.313rem + ((1vw - 7.68px) * 2.524), 42px)',
|
|
70
68
|
},
|
|
71
69
|
|
|
72
70
|
{
|
|
73
|
-
message: '
|
|
71
|
+
message: 'returns value with unsupported unit',
|
|
74
72
|
preset: {
|
|
75
|
-
size:
|
|
73
|
+
size: '1000%',
|
|
74
|
+
fluid: false,
|
|
75
|
+
},
|
|
76
|
+
typographySettings: {
|
|
76
77
|
fluid: true,
|
|
77
78
|
},
|
|
79
|
+
expected: '1000%',
|
|
80
|
+
},
|
|
81
|
+
|
|
82
|
+
{
|
|
83
|
+
message: 'returns clamp value with rem min and max units',
|
|
84
|
+
preset: {
|
|
85
|
+
size: '1.75rem',
|
|
86
|
+
},
|
|
78
87
|
typographySettings: {
|
|
79
88
|
fluid: true,
|
|
80
89
|
},
|
|
81
90
|
expected:
|
|
82
|
-
'clamp(
|
|
91
|
+
'clamp(1.313rem, 1.313rem + ((1vw - 0.48rem) * 0.84), 1.75rem)',
|
|
83
92
|
},
|
|
84
93
|
|
|
85
94
|
{
|
|
86
|
-
message: '
|
|
95
|
+
message: 'returns clamp value with eem min and max units',
|
|
87
96
|
preset: {
|
|
88
|
-
size: '
|
|
89
|
-
fluid: false,
|
|
97
|
+
size: '1.75em',
|
|
90
98
|
},
|
|
91
99
|
typographySettings: {
|
|
92
100
|
fluid: true,
|
|
93
101
|
},
|
|
94
102
|
expected:
|
|
95
|
-
'clamp(
|
|
103
|
+
'clamp(1.313em, 1.313rem + ((1vw - 0.48em) * 0.84), 1.75em)',
|
|
96
104
|
},
|
|
97
105
|
|
|
98
106
|
{
|
|
99
|
-
message: '
|
|
107
|
+
message: 'returns clamp value for floats',
|
|
100
108
|
preset: {
|
|
101
|
-
size: '
|
|
102
|
-
fluid: false,
|
|
109
|
+
size: '100.175px',
|
|
103
110
|
},
|
|
104
111
|
typographySettings: {
|
|
105
112
|
fluid: true,
|
|
106
113
|
},
|
|
107
|
-
expected:
|
|
114
|
+
expected:
|
|
115
|
+
'clamp(75.131px, 4.696rem + ((1vw - 7.68px) * 3.01), 100.175px)',
|
|
108
116
|
},
|
|
109
117
|
|
|
110
118
|
{
|
|
111
|
-
message: '
|
|
119
|
+
message: 'coerces integer to `px` and returns clamp value',
|
|
112
120
|
preset: {
|
|
113
|
-
size:
|
|
121
|
+
size: 33,
|
|
122
|
+
fluid: true,
|
|
114
123
|
},
|
|
115
124
|
typographySettings: {
|
|
116
125
|
fluid: true,
|
|
117
126
|
},
|
|
118
127
|
expected:
|
|
119
|
-
'clamp(
|
|
128
|
+
'clamp(24.75px, 1.547rem + ((1vw - 7.68px) * 0.992), 33px)',
|
|
120
129
|
},
|
|
121
130
|
|
|
122
131
|
{
|
|
123
|
-
message: '
|
|
132
|
+
message: 'coerces float to `px` and returns clamp value',
|
|
124
133
|
preset: {
|
|
125
|
-
size:
|
|
134
|
+
size: 100.23,
|
|
135
|
+
fluid: true,
|
|
126
136
|
},
|
|
127
137
|
typographySettings: {
|
|
128
138
|
fluid: true,
|
|
129
139
|
},
|
|
130
140
|
expected:
|
|
131
|
-
'clamp(75.
|
|
141
|
+
'clamp(75.173px, 4.698rem + ((1vw - 7.68px) * 3.012), 100.23px)',
|
|
132
142
|
},
|
|
133
143
|
|
|
134
144
|
{
|
|
135
|
-
message:
|
|
136
|
-
'Should return default fluid values with empty fluid array.',
|
|
145
|
+
message: 'returns clamp value when `fluid` is empty array',
|
|
137
146
|
preset: {
|
|
138
147
|
size: '28px',
|
|
139
148
|
fluid: [],
|
|
@@ -142,11 +151,11 @@ describe( 'typography utils', () => {
|
|
|
142
151
|
fluid: true,
|
|
143
152
|
},
|
|
144
153
|
expected:
|
|
145
|
-
'clamp(21px, 1.313rem + ((1vw - 7.68px) *
|
|
154
|
+
'clamp(21px, 1.313rem + ((1vw - 7.68px) * 0.841), 28px)',
|
|
146
155
|
},
|
|
147
156
|
|
|
148
157
|
{
|
|
149
|
-
message: '
|
|
158
|
+
message: 'returns clamp value when `fluid` is `null`',
|
|
150
159
|
preset: {
|
|
151
160
|
size: '28px',
|
|
152
161
|
fluid: null,
|
|
@@ -155,12 +164,12 @@ describe( 'typography utils', () => {
|
|
|
155
164
|
fluid: true,
|
|
156
165
|
},
|
|
157
166
|
expected:
|
|
158
|
-
'clamp(21px, 1.313rem + ((1vw - 7.68px) *
|
|
167
|
+
'clamp(21px, 1.313rem + ((1vw - 7.68px) * 0.841), 28px)',
|
|
159
168
|
},
|
|
160
169
|
|
|
161
170
|
{
|
|
162
171
|
message:
|
|
163
|
-
'
|
|
172
|
+
'returns clamp value if min font size is greater than max',
|
|
164
173
|
preset: {
|
|
165
174
|
size: '3rem',
|
|
166
175
|
fluid: {
|
|
@@ -176,7 +185,7 @@ describe( 'typography utils', () => {
|
|
|
176
185
|
},
|
|
177
186
|
|
|
178
187
|
{
|
|
179
|
-
message: '
|
|
188
|
+
message: 'returns value with invalid min/max fluid units',
|
|
180
189
|
preset: {
|
|
181
190
|
size: '10em',
|
|
182
191
|
fluid: {
|
|
@@ -192,20 +201,30 @@ describe( 'typography utils', () => {
|
|
|
192
201
|
|
|
193
202
|
{
|
|
194
203
|
message:
|
|
195
|
-
'
|
|
204
|
+
'returns value when size is < lower bounds and no fluid min/max set',
|
|
196
205
|
preset: {
|
|
197
206
|
size: '3px',
|
|
198
207
|
},
|
|
199
208
|
typographySettings: {
|
|
200
209
|
fluid: true,
|
|
201
210
|
},
|
|
202
|
-
expected:
|
|
203
|
-
'clamp(3px, 0.188rem + ((1vw - 7.68px) * 0.18), 4.5px)',
|
|
211
|
+
expected: '3px',
|
|
204
212
|
},
|
|
205
213
|
|
|
206
214
|
{
|
|
207
215
|
message:
|
|
208
|
-
'
|
|
216
|
+
'returns value when size is equal to lower bounds and no fluid min/max set',
|
|
217
|
+
preset: {
|
|
218
|
+
size: '14px',
|
|
219
|
+
},
|
|
220
|
+
typographySettings: {
|
|
221
|
+
fluid: true,
|
|
222
|
+
},
|
|
223
|
+
expected: '14px',
|
|
224
|
+
},
|
|
225
|
+
|
|
226
|
+
{
|
|
227
|
+
message: 'returns clamp value with different min max units',
|
|
209
228
|
preset: {
|
|
210
229
|
size: '28px',
|
|
211
230
|
fluid: {
|
|
@@ -219,10 +238,9 @@ describe( 'typography utils', () => {
|
|
|
219
238
|
expected:
|
|
220
239
|
'clamp(20px, 1.25rem + ((1vw - 7.68px) * 93.75), 50rem)',
|
|
221
240
|
},
|
|
222
|
-
|
|
241
|
+
|
|
223
242
|
{
|
|
224
|
-
message:
|
|
225
|
-
' Should return clamp value with default fluid max value.',
|
|
243
|
+
message: 'returns clamp value where no fluid max size is set',
|
|
226
244
|
preset: {
|
|
227
245
|
size: '28px',
|
|
228
246
|
fluid: {
|
|
@@ -233,12 +251,11 @@ describe( 'typography utils', () => {
|
|
|
233
251
|
fluid: true,
|
|
234
252
|
},
|
|
235
253
|
expected:
|
|
236
|
-
'clamp(2.6rem, 2.6rem + ((1vw - 0.48rem) *
|
|
254
|
+
'clamp(2.6rem, 2.6rem + ((1vw - 0.48rem) * -1.635), 28px)',
|
|
237
255
|
},
|
|
238
256
|
|
|
239
257
|
{
|
|
240
|
-
message:
|
|
241
|
-
'Should return clamp value with default fluid min value.',
|
|
258
|
+
message: 'returns clamp value where no fluid min size is set',
|
|
242
259
|
preset: {
|
|
243
260
|
size: '28px',
|
|
244
261
|
fluid: {
|
|
@@ -253,90 +270,57 @@ describe( 'typography utils', () => {
|
|
|
253
270
|
},
|
|
254
271
|
|
|
255
272
|
{
|
|
256
|
-
message:
|
|
257
|
-
|
|
258
|
-
size: '14px',
|
|
259
|
-
},
|
|
260
|
-
typographySettings: {
|
|
261
|
-
fluid: true,
|
|
262
|
-
},
|
|
263
|
-
expected:
|
|
264
|
-
'clamp(14px, 0.875rem + ((1vw - 7.68px) * 0.841), 21px)',
|
|
265
|
-
},
|
|
266
|
-
|
|
267
|
-
{
|
|
268
|
-
message: 'adjust computed min in rem to min limit.',
|
|
269
|
-
preset: {
|
|
270
|
-
size: '1.1rem',
|
|
271
|
-
},
|
|
272
|
-
typographySettings: {
|
|
273
|
-
fluid: true,
|
|
274
|
-
},
|
|
275
|
-
expected:
|
|
276
|
-
'clamp(0.875rem, 0.875rem + ((1vw - 0.48rem) * 1.49), 1.65rem)',
|
|
277
|
-
},
|
|
278
|
-
|
|
279
|
-
{
|
|
280
|
-
message: 'adjust computed min in em to min limit.',
|
|
281
|
-
preset: {
|
|
282
|
-
size: '1.1em',
|
|
283
|
-
},
|
|
284
|
-
typographySettings: {
|
|
285
|
-
fluid: true,
|
|
286
|
-
},
|
|
287
|
-
expected:
|
|
288
|
-
'clamp(0.875em, 0.875rem + ((1vw - 0.48em) * 1.49), 1.65em)',
|
|
289
|
-
},
|
|
290
|
-
|
|
291
|
-
{
|
|
292
|
-
message: 'adjust fluid min value in px to min limit',
|
|
273
|
+
message:
|
|
274
|
+
'should not apply lower bound test when fluid values are set',
|
|
293
275
|
preset: {
|
|
294
|
-
size: '
|
|
276
|
+
size: '1.5rem',
|
|
295
277
|
fluid: {
|
|
296
|
-
min: '
|
|
278
|
+
min: '0.5rem',
|
|
279
|
+
max: '5rem',
|
|
297
280
|
},
|
|
298
281
|
},
|
|
299
282
|
typographySettings: {
|
|
300
283
|
fluid: true,
|
|
301
284
|
},
|
|
302
285
|
expected:
|
|
303
|
-
'clamp(
|
|
286
|
+
'clamp(0.5rem, 0.5rem + ((1vw - 0.48rem) * 8.654), 5rem)',
|
|
304
287
|
},
|
|
305
288
|
|
|
306
289
|
{
|
|
307
|
-
message:
|
|
290
|
+
message:
|
|
291
|
+
'should not apply lower bound test when only fluid min is set',
|
|
308
292
|
preset: {
|
|
309
|
-
size: '
|
|
293
|
+
size: '20px',
|
|
310
294
|
fluid: {
|
|
311
|
-
min: '
|
|
295
|
+
min: '12px',
|
|
312
296
|
},
|
|
313
297
|
},
|
|
314
298
|
typographySettings: {
|
|
315
299
|
fluid: true,
|
|
316
300
|
},
|
|
317
301
|
expected:
|
|
318
|
-
'clamp(
|
|
302
|
+
'clamp(12px, 0.75rem + ((1vw - 7.68px) * 0.962), 20px)',
|
|
319
303
|
},
|
|
320
304
|
|
|
321
305
|
{
|
|
322
|
-
message:
|
|
306
|
+
message:
|
|
307
|
+
'should not apply lower bound test when only fluid max is set',
|
|
323
308
|
preset: {
|
|
324
|
-
size: '
|
|
309
|
+
size: '0.875rem',
|
|
325
310
|
fluid: {
|
|
326
|
-
|
|
327
|
-
max: '5rem',
|
|
311
|
+
max: '20rem',
|
|
328
312
|
},
|
|
329
313
|
},
|
|
330
314
|
typographySettings: {
|
|
331
315
|
fluid: true,
|
|
332
316
|
},
|
|
333
317
|
expected:
|
|
334
|
-
'clamp(0.875rem, 0.875rem + ((1vw - 0.48rem) *
|
|
318
|
+
'clamp(0.875rem, 0.875rem + ((1vw - 0.48rem) * 36.779), 20rem)',
|
|
335
319
|
},
|
|
336
320
|
|
|
337
321
|
{
|
|
338
322
|
message:
|
|
339
|
-
'
|
|
323
|
+
'returns clamp value when min and max font sizes are equal',
|
|
340
324
|
preset: {
|
|
341
325
|
size: '4rem',
|
|
342
326
|
fluid: {
|
|
@@ -711,7 +711,7 @@ describe( 'global styles renderer', () => {
|
|
|
711
711
|
},
|
|
712
712
|
typography: {
|
|
713
713
|
fontFamily: 'sans-serif',
|
|
714
|
-
fontSize: '
|
|
714
|
+
fontSize: '15px',
|
|
715
715
|
},
|
|
716
716
|
};
|
|
717
717
|
|
|
@@ -725,7 +725,7 @@ describe( 'global styles renderer', () => {
|
|
|
725
725
|
'--wp--style--root--padding-left: 33px',
|
|
726
726
|
'background-color: var(--wp--preset--color--light-green-cyan)',
|
|
727
727
|
'font-family: sans-serif',
|
|
728
|
-
'font-size:
|
|
728
|
+
'font-size: 15px',
|
|
729
729
|
] );
|
|
730
730
|
} );
|
|
731
731
|
|
|
@@ -739,7 +739,7 @@ describe( 'global styles renderer', () => {
|
|
|
739
739
|
'padding-bottom: 33px',
|
|
740
740
|
'padding-left: 33px',
|
|
741
741
|
'font-family: sans-serif',
|
|
742
|
-
'font-size:
|
|
742
|
+
'font-size: 15px',
|
|
743
743
|
] );
|
|
744
744
|
} );
|
|
745
745
|
|
|
@@ -757,7 +757,7 @@ describe( 'global styles renderer', () => {
|
|
|
757
757
|
'padding-bottom: 33px',
|
|
758
758
|
'padding-left: 33px',
|
|
759
759
|
'font-family: sans-serif',
|
|
760
|
-
'font-size:
|
|
760
|
+
'font-size: 15px',
|
|
761
761
|
] );
|
|
762
762
|
} );
|
|
763
763
|
|
|
@@ -782,7 +782,7 @@ describe( 'global styles renderer', () => {
|
|
|
782
782
|
'padding-bottom: 33px',
|
|
783
783
|
'padding-left: 33px',
|
|
784
784
|
'font-family: sans-serif',
|
|
785
|
-
'font-size: clamp(14px, 0.875rem + ((1vw - 7.68px) * 0.
|
|
785
|
+
'font-size: clamp(14px, 0.875rem + ((1vw - 7.68px) * 0.12), 15px)',
|
|
786
786
|
] );
|
|
787
787
|
} );
|
|
788
788
|
|
|
@@ -807,7 +807,7 @@ describe( 'global styles renderer', () => {
|
|
|
807
807
|
'padding-bottom: 33px',
|
|
808
808
|
'padding-left: 33px',
|
|
809
809
|
'font-family: sans-serif',
|
|
810
|
-
'font-size:
|
|
810
|
+
'font-size: 15px',
|
|
811
811
|
] );
|
|
812
812
|
} );
|
|
813
813
|
} );
|
|
@@ -7,6 +7,7 @@ import {
|
|
|
7
7
|
__experimentalFontAppearanceControl as FontAppearanceControl,
|
|
8
8
|
__experimentalLetterSpacingControl as LetterSpacingControl,
|
|
9
9
|
__experimentalTextTransformControl as TextTransformControl,
|
|
10
|
+
__experimentalTextDecorationControl as TextDecorationControl,
|
|
10
11
|
} from '@wordpress/block-editor';
|
|
11
12
|
import {
|
|
12
13
|
FontSizePicker,
|
|
@@ -19,7 +20,6 @@ import { __ } from '@wordpress/i18n';
|
|
|
19
20
|
* Internal dependencies
|
|
20
21
|
*/
|
|
21
22
|
import { getSupportedGlobalStylesPanels, useSetting, useStyle } from './hooks';
|
|
22
|
-
import { getTypographyFontSizeValue } from './typography-utils';
|
|
23
23
|
|
|
24
24
|
export function useHasTypographyPanel( name ) {
|
|
25
25
|
const hasFontFamily = useHasFontFamilyControl( name );
|
|
@@ -102,6 +102,13 @@ function useHasTextTransformControl( name, element ) {
|
|
|
102
102
|
return supports.includes( 'textTransform' );
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
+
function useHasTextDecorationControl( name, element ) {
|
|
106
|
+
// This is an exception for link elements.
|
|
107
|
+
// We shouldn't allow other blocks or elements to set textDecoration
|
|
108
|
+
// because this will be inherited by their children.
|
|
109
|
+
return ! name && element === 'link';
|
|
110
|
+
}
|
|
111
|
+
|
|
105
112
|
function useStyleWithReset( path, blockName ) {
|
|
106
113
|
const [ style, setStyle ] = useStyle( path, blockName );
|
|
107
114
|
const [ userStyle ] = useStyle( path, blockName, 'user' );
|
|
@@ -110,6 +117,26 @@ function useStyleWithReset( path, blockName ) {
|
|
|
110
117
|
return [ style, setStyle, hasStyle, resetStyle ];
|
|
111
118
|
}
|
|
112
119
|
|
|
120
|
+
function useFontSizeWithReset( path, blockName ) {
|
|
121
|
+
const [ fontSize, setStyleCallback ] = useStyle( path, blockName );
|
|
122
|
+
const [ userStyle ] = useStyle( path, blockName, 'user' );
|
|
123
|
+
const hasFontSize = () => !! userStyle;
|
|
124
|
+
const resetFontSize = () => setStyleCallback( undefined );
|
|
125
|
+
const setFontSize = ( newValue, metadata ) => {
|
|
126
|
+
if ( !! metadata?.slug ) {
|
|
127
|
+
newValue = `var:preset|font-size|${ metadata?.slug }`;
|
|
128
|
+
}
|
|
129
|
+
setStyleCallback( newValue );
|
|
130
|
+
};
|
|
131
|
+
|
|
132
|
+
return {
|
|
133
|
+
fontSize,
|
|
134
|
+
setFontSize,
|
|
135
|
+
hasFontSize,
|
|
136
|
+
resetFontSize,
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
|
|
113
140
|
function useFontAppearance( prefix, name ) {
|
|
114
141
|
const [ fontStyle, setFontStyle ] = useStyle(
|
|
115
142
|
prefix + 'typography.fontStyle',
|
|
@@ -152,19 +179,8 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
152
179
|
} else if ( element && element !== 'text' ) {
|
|
153
180
|
prefix = `elements.${ element }.`;
|
|
154
181
|
}
|
|
155
|
-
const [ fluidTypography ] = useSetting( 'typography.fluid', name );
|
|
156
182
|
const [ fontSizes ] = useSetting( 'typography.fontSizes', name );
|
|
157
183
|
|
|
158
|
-
// Convert static font size values to fluid font sizes if fluidTypography is activated.
|
|
159
|
-
const fontSizesWithFluidValues = fontSizes.map( ( font ) => {
|
|
160
|
-
if ( !! fluidTypography ) {
|
|
161
|
-
font.size = getTypographyFontSizeValue( font, {
|
|
162
|
-
fluid: fluidTypography,
|
|
163
|
-
} );
|
|
164
|
-
}
|
|
165
|
-
return font;
|
|
166
|
-
} );
|
|
167
|
-
|
|
168
184
|
const disableCustomFontSizes = ! useSetting(
|
|
169
185
|
'typography.customFontSize',
|
|
170
186
|
name
|
|
@@ -182,6 +198,10 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
182
198
|
const appearanceControlLabel = useAppearanceControlLabel( name );
|
|
183
199
|
const hasLetterSpacingControl = useHasLetterSpacingControl( name, element );
|
|
184
200
|
const hasTextTransformControl = useHasTextTransformControl( name, element );
|
|
201
|
+
const hasTextDecorationControl = useHasTextDecorationControl(
|
|
202
|
+
name,
|
|
203
|
+
element
|
|
204
|
+
);
|
|
185
205
|
|
|
186
206
|
/* Disable font size controls when the option to style all headings is selected. */
|
|
187
207
|
let hasFontSizeEnabled = supports.includes( 'fontSize' );
|
|
@@ -191,8 +211,8 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
191
211
|
|
|
192
212
|
const [ fontFamily, setFontFamily, hasFontFamily, resetFontFamily ] =
|
|
193
213
|
useStyleWithReset( prefix + 'typography.fontFamily', name );
|
|
194
|
-
const
|
|
195
|
-
|
|
214
|
+
const { fontSize, setFontSize, hasFontSize, resetFontSize } =
|
|
215
|
+
useFontSizeWithReset( prefix + 'typography.fontSize', name );
|
|
196
216
|
const {
|
|
197
217
|
fontStyle,
|
|
198
218
|
setFontStyle,
|
|
@@ -215,6 +235,12 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
215
235
|
hasTextTransform,
|
|
216
236
|
resetTextTransform,
|
|
217
237
|
] = useStyleWithReset( prefix + 'typography.textTransform', name );
|
|
238
|
+
const [
|
|
239
|
+
textDecoration,
|
|
240
|
+
setTextDecoration,
|
|
241
|
+
hasTextDecoration,
|
|
242
|
+
resetTextDecoration,
|
|
243
|
+
] = useStyleWithReset( prefix + 'typography.textDecoration', name );
|
|
218
244
|
|
|
219
245
|
const resetAll = () => {
|
|
220
246
|
resetFontFamily();
|
|
@@ -253,7 +279,7 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
253
279
|
<FontSizePicker
|
|
254
280
|
value={ fontSize }
|
|
255
281
|
onChange={ setFontSize }
|
|
256
|
-
fontSizes={
|
|
282
|
+
fontSizes={ fontSizes }
|
|
257
283
|
disableCustomFontSizes={ disableCustomFontSizes }
|
|
258
284
|
withReset={ false }
|
|
259
285
|
withSlider
|
|
@@ -339,6 +365,22 @@ export default function TypographyPanel( { name, element, headingLevel } ) {
|
|
|
339
365
|
/>
|
|
340
366
|
</ToolsPanelItem>
|
|
341
367
|
) }
|
|
368
|
+
{ hasTextDecorationControl && (
|
|
369
|
+
<ToolsPanelItem
|
|
370
|
+
className="single-column"
|
|
371
|
+
label={ __( 'Text decoration' ) }
|
|
372
|
+
hasValue={ hasTextDecoration }
|
|
373
|
+
onDeselect={ resetTextDecoration }
|
|
374
|
+
isShownByDefault
|
|
375
|
+
>
|
|
376
|
+
<TextDecorationControl
|
|
377
|
+
value={ textDecoration }
|
|
378
|
+
onChange={ setTextDecoration }
|
|
379
|
+
size="__unstable-large"
|
|
380
|
+
__unstableInputWidth="auto"
|
|
381
|
+
/>
|
|
382
|
+
</ToolsPanelItem>
|
|
383
|
+
) }
|
|
342
384
|
</ToolsPanel>
|
|
343
385
|
);
|
|
344
386
|
}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import {
|
|
5
5
|
__experimentalNavigatorProvider as NavigatorProvider,
|
|
6
6
|
__experimentalNavigatorScreen as NavigatorScreen,
|
|
7
|
+
__experimentalUseNavigator as useNavigator,
|
|
7
8
|
} from '@wordpress/components';
|
|
8
9
|
import { getBlockTypes } from '@wordpress/blocks';
|
|
9
10
|
|
|
@@ -24,6 +25,9 @@ import ScreenHeadingColor from './screen-heading-color';
|
|
|
24
25
|
import ScreenButtonColor from './screen-button-color';
|
|
25
26
|
import ScreenLayout from './screen-layout';
|
|
26
27
|
import ScreenStyleVariations from './screen-style-variations';
|
|
28
|
+
import ScreenBorder from './screen-border';
|
|
29
|
+
import StyleBook from '../style-book';
|
|
30
|
+
import ScreenCSS from './screen-css';
|
|
27
31
|
|
|
28
32
|
function GlobalStylesNavigationScreen( { className, ...props } ) {
|
|
29
33
|
return (
|
|
@@ -40,7 +44,8 @@ function GlobalStylesNavigationScreen( { className, ...props } ) {
|
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
function ContextScreens( { name } ) {
|
|
43
|
-
const parentMenu =
|
|
47
|
+
const parentMenu =
|
|
48
|
+
name === undefined ? '' : '/blocks/' + encodeURIComponent( name );
|
|
44
49
|
|
|
45
50
|
return (
|
|
46
51
|
<>
|
|
@@ -108,6 +113,10 @@ function ContextScreens( { name } ) {
|
|
|
108
113
|
<ScreenButtonColor name={ name } />
|
|
109
114
|
</GlobalStylesNavigationScreen>
|
|
110
115
|
|
|
116
|
+
<GlobalStylesNavigationScreen path={ parentMenu + '/border' }>
|
|
117
|
+
<ScreenBorder name={ name } />
|
|
118
|
+
</GlobalStylesNavigationScreen>
|
|
119
|
+
|
|
111
120
|
<GlobalStylesNavigationScreen path={ parentMenu + '/layout' }>
|
|
112
121
|
<ScreenLayout name={ name } />
|
|
113
122
|
</GlobalStylesNavigationScreen>
|
|
@@ -115,9 +124,36 @@ function ContextScreens( { name } ) {
|
|
|
115
124
|
);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
|
-
function
|
|
119
|
-
const
|
|
127
|
+
function GlobalStylesStyleBook( { onClose } ) {
|
|
128
|
+
const navigator = useNavigator();
|
|
129
|
+
const { path } = navigator.location;
|
|
130
|
+
return (
|
|
131
|
+
<StyleBook
|
|
132
|
+
isSelected={ ( blockName ) =>
|
|
133
|
+
// Match '/blocks/core%2Fbutton' and
|
|
134
|
+
// '/blocks/core%2Fbutton/typography', but not
|
|
135
|
+
// '/blocks/core%2Fbuttons'.
|
|
136
|
+
path === `/blocks/${ encodeURIComponent( blockName ) }` ||
|
|
137
|
+
path.startsWith(
|
|
138
|
+
`/blocks/${ encodeURIComponent( blockName ) }/`
|
|
139
|
+
)
|
|
140
|
+
}
|
|
141
|
+
onSelect={ ( blockName ) => {
|
|
142
|
+
// Clear navigator history by going back to the root.
|
|
143
|
+
const depth = path.match( /\//g ).length;
|
|
144
|
+
for ( let i = 0; i < depth; i++ ) {
|
|
145
|
+
navigator.goBack();
|
|
146
|
+
}
|
|
147
|
+
// Now go to the selected block.
|
|
148
|
+
navigator.goTo( '/blocks/' + encodeURIComponent( blockName ) );
|
|
149
|
+
} }
|
|
150
|
+
onClose={ onClose }
|
|
151
|
+
/>
|
|
152
|
+
);
|
|
153
|
+
}
|
|
120
154
|
|
|
155
|
+
function GlobalStylesUI( { isStyleBookOpened, onCloseStyleBook } ) {
|
|
156
|
+
const blocks = getBlockTypes();
|
|
121
157
|
return (
|
|
122
158
|
<NavigatorProvider
|
|
123
159
|
className="edit-site-global-styles-sidebar__navigator-provider"
|
|
@@ -138,7 +174,7 @@ function GlobalStylesUI() {
|
|
|
138
174
|
{ blocks.map( ( block ) => (
|
|
139
175
|
<GlobalStylesNavigationScreen
|
|
140
176
|
key={ 'menu-block-' + block.name }
|
|
141
|
-
path={ '/blocks/' + block.name }
|
|
177
|
+
path={ '/blocks/' + encodeURIComponent( block.name ) }
|
|
142
178
|
>
|
|
143
179
|
<ScreenBlock name={ block.name } />
|
|
144
180
|
</GlobalStylesNavigationScreen>
|
|
@@ -152,6 +188,13 @@ function GlobalStylesUI() {
|
|
|
152
188
|
name={ block.name }
|
|
153
189
|
/>
|
|
154
190
|
) ) }
|
|
191
|
+
|
|
192
|
+
{ isStyleBookOpened && (
|
|
193
|
+
<GlobalStylesStyleBook onClose={ onCloseStyleBook } />
|
|
194
|
+
) }
|
|
195
|
+
<GlobalStylesNavigationScreen path="/css">
|
|
196
|
+
<ScreenCSS />
|
|
197
|
+
</GlobalStylesNavigationScreen>
|
|
155
198
|
</NavigatorProvider>
|
|
156
199
|
);
|
|
157
200
|
}
|