@wordpress/edit-site 3.0.1-next.253d9b6e21.0 → 3.0.3
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/README.md +1 -1
- package/build/components/block-editor/back-button.js +60 -0
- package/build/components/block-editor/back-button.js.map +1 -0
- package/build/components/block-editor/index.js +20 -5
- package/build/components/block-editor/index.js.map +1 -1
- package/build/components/edit-template-part-menu-button/index.js +63 -0
- package/build/components/edit-template-part-menu-button/index.js.map +1 -0
- package/build/components/editor/global-styles-provider.js +15 -2
- package/build/components/editor/global-styles-provider.js.map +1 -1
- package/build/components/editor/global-styles-renderer.js +8 -8
- package/build/components/editor/global-styles-renderer.js.map +1 -1
- package/build/components/editor/index.js +7 -7
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor/utils.js +4 -9
- package/build/components/editor/utils.js.map +1 -1
- package/build/components/{sidebar → global-styles}/border-panel.js +2 -2
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
- package/build/components/global-styles/color-palette-panel.js.map +1 -0
- package/build/components/{sidebar → global-styles}/color-panel.js +24 -21
- package/build/components/global-styles/color-panel.js.map +1 -0
- package/build/components/global-styles/context-menu.js +58 -0
- package/build/components/global-styles/context-menu.js.map +1 -0
- package/build/components/{sidebar → global-styles}/dimensions-panel.js +58 -8
- package/build/components/global-styles/dimensions-panel.js.map +1 -0
- package/build/components/global-styles/header.js +54 -0
- package/build/components/global-styles/header.js.map +1 -0
- package/build/components/global-styles/index.js +89 -0
- package/build/components/global-styles/index.js.map +1 -0
- package/build/components/global-styles/navigation-button.js +43 -0
- package/build/components/global-styles/navigation-button.js.map +1 -0
- package/build/components/global-styles/palette.js +57 -0
- package/build/components/global-styles/palette.js.map +1 -0
- package/build/components/global-styles/preview.js +59 -0
- package/build/components/global-styles/preview.js.map +1 -0
- package/build/components/global-styles/screen-block-list.js +76 -0
- package/build/components/global-styles/screen-block-list.js.map +1 -0
- package/build/components/global-styles/screen-block.js +45 -0
- package/build/components/global-styles/screen-block.js.map +1 -0
- package/build/components/global-styles/screen-color-palette.js +48 -0
- package/build/components/global-styles/screen-color-palette.js.map +1 -0
- package/build/components/global-styles/screen-colors.js +51 -0
- package/build/components/global-styles/screen-colors.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +60 -0
- package/build/components/global-styles/screen-layout.js.map +1 -0
- package/build/components/global-styles/screen-root.js +44 -0
- package/build/components/global-styles/screen-root.js.map +1 -0
- package/build/components/global-styles/screen-typography.js +50 -0
- package/build/components/global-styles/screen-typography.js.map +1 -0
- package/build/components/global-styles/subtitle.js +25 -0
- package/build/components/global-styles/subtitle.js.map +1 -0
- package/build/components/{sidebar → global-styles}/typography-panel.js +1 -3
- package/build/components/global-styles/typography-panel.js.map +1 -0
- package/build/components/header/document-actions/index.js +1 -1
- package/build/components/header/document-actions/index.js.map +1 -1
- package/build/components/header/plugin-more-menu-item/index.js +82 -0
- package/build/components/header/plugin-more-menu-item/index.js.map +1 -0
- package/build/components/header/plugin-sidebar-more-menu-item/index.js +75 -0
- package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build/components/header/undo-redo/redo.js +1 -1
- package/build/components/header/undo-redo/redo.js.map +1 -1
- package/build/components/header/undo-redo/undo.js +1 -1
- package/build/components/header/undo-redo/undo.js.map +1 -1
- package/build/components/keyboard-shortcuts/index.js +2 -10
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/navigation-sidebar/index.js +1 -1
- package/build/components/navigation-sidebar/index.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-panel/constants.js +10 -10
- package/build/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
- package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -3
- package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
- package/build/components/save-button/index.js +1 -1
- package/build/components/save-button/index.js.map +1 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build/components/sidebar/global-styles-sidebar.js +11 -161
- package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar/index.js +1 -6
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar/plugin-sidebar/index.js +95 -0
- package/build/components/sidebar/plugin-sidebar/index.js.map +1 -0
- package/build/components/template-details/index.js +12 -6
- package/build/components/template-details/index.js.map +1 -1
- package/build/components/template-details/template-areas.js +73 -0
- package/build/components/template-details/template-areas.js.map +1 -0
- package/build/components/template-part-converter/convert-to-regular.js +3 -3
- package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build/components/template-part-converter/index.js +1 -1
- package/build/components/template-part-converter/index.js.map +1 -1
- package/build/components/url-query-controller/index.js +1 -1
- package/build/components/url-query-controller/index.js.map +1 -1
- package/build/index.js +24 -0
- package/build/index.js.map +1 -1
- package/build/store/actions.js +60 -7
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +19 -1
- package/build/store/constants.js.map +1 -1
- package/build/store/reducer.js +16 -7
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +91 -9
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +48 -0
- package/build-module/components/block-editor/back-button.js.map +1 -0
- package/build-module/components/block-editor/index.js +17 -5
- package/build-module/components/block-editor/index.js.map +1 -1
- package/build-module/components/edit-template-part-menu-button/index.js +49 -0
- package/build-module/components/edit-template-part-menu-button/index.js.map +1 -0
- package/build-module/components/editor/global-styles-provider.js +16 -3
- package/build-module/components/editor/global-styles-provider.js.map +1 -1
- package/build-module/components/editor/global-styles-renderer.js +8 -8
- package/build-module/components/editor/global-styles-renderer.js.map +1 -1
- package/build-module/components/editor/index.js +4 -5
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/editor/utils.js +2 -7
- package/build-module/components/editor/utils.js.map +1 -1
- package/build-module/components/{sidebar → global-styles}/border-panel.js +2 -2
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
- package/build-module/components/global-styles/color-palette-panel.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/color-panel.js +25 -22
- package/build-module/components/global-styles/color-panel.js.map +1 -0
- package/build-module/components/global-styles/context-menu.js +41 -0
- package/build-module/components/global-styles/context-menu.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/dimensions-panel.js +58 -9
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -0
- package/build-module/components/global-styles/header.js +41 -0
- package/build-module/components/global-styles/header.js.map +1 -0
- package/build-module/components/global-styles/index.js +70 -0
- package/build-module/components/global-styles/index.js.map +1 -0
- package/build-module/components/global-styles/navigation-button.js +31 -0
- package/build-module/components/global-styles/navigation-button.js.map +1 -0
- package/build-module/components/global-styles/palette.js +43 -0
- package/build-module/components/global-styles/palette.js.map +1 -0
- package/build-module/components/global-styles/preview.js +50 -0
- package/build-module/components/global-styles/preview.js.map +1 -0
- package/build-module/components/global-styles/screen-block-list.js +58 -0
- package/build-module/components/global-styles/screen-block-list.js.map +1 -0
- package/build-module/components/global-styles/screen-block.js +32 -0
- package/build-module/components/global-styles/screen-block.js.map +1 -0
- package/build-module/components/global-styles/screen-color-palette.js +35 -0
- package/build-module/components/global-styles/screen-color-palette.js.map +1 -0
- package/build-module/components/global-styles/screen-colors.js +38 -0
- package/build-module/components/global-styles/screen-colors.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +44 -0
- package/build-module/components/global-styles/screen-layout.js.map +1 -0
- package/build-module/components/global-styles/screen-root.js +29 -0
- package/build-module/components/global-styles/screen-root.js.map +1 -0
- package/build-module/components/global-styles/screen-typography.js +37 -0
- package/build-module/components/global-styles/screen-typography.js.map +1 -0
- package/build-module/components/global-styles/subtitle.js +17 -0
- package/build-module/components/global-styles/subtitle.js.map +1 -0
- package/build-module/components/{sidebar → global-styles}/typography-panel.js +1 -2
- package/build-module/components/global-styles/typography-panel.js.map +1 -0
- package/build-module/components/header/document-actions/index.js +1 -1
- package/build-module/components/header/document-actions/index.js.map +1 -1
- package/build-module/components/header/plugin-more-menu-item/index.js +70 -0
- package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -0
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
- package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
- package/build-module/components/header/undo-redo/redo.js +1 -1
- package/build-module/components/header/undo-redo/redo.js.map +1 -1
- package/build-module/components/header/undo-redo/undo.js +1 -1
- package/build-module/components/header/undo-redo/undo.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/index.js +3 -11
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/index.js +1 -1
- package/build-module/components/navigation-sidebar/index.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js +5 -3
- package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
- package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -3
- package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
- package/build-module/components/save-button/index.js +1 -1
- package/build-module/components/save-button/index.js.map +1 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
- package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
- package/build-module/components/sidebar/global-styles-sidebar.js +13 -159
- package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar/index.js +2 -7
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar/plugin-sidebar/index.js +84 -0
- package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -0
- package/build-module/components/template-details/index.js +13 -8
- package/build-module/components/template-details/index.js.map +1 -1
- package/build-module/components/template-details/template-areas.js +60 -0
- package/build-module/components/template-details/template-areas.js.map +1 -0
- package/build-module/components/template-part-converter/convert-to-regular.js +3 -3
- package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build-module/components/template-part-converter/index.js +1 -1
- package/build-module/components/template-part-converter/index.js.map +1 -1
- package/build-module/components/url-query-controller/index.js +1 -1
- package/build-module/components/url-query-controller/index.js.map +1 -1
- package/build-module/index.js +3 -0
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +51 -7
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/constants.js +13 -0
- package/build-module/store/constants.js.map +1 -1
- package/build-module/store/reducer.js +16 -7
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +85 -9
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +158 -19
- package/build-style/style.css +158 -19
- package/package.json +26 -26
- package/src/components/block-editor/back-button.js +44 -0
- package/src/components/block-editor/index.js +18 -2
- package/src/components/block-editor/style.scss +26 -0
- package/src/components/edit-template-part-menu-button/index.js +57 -0
- package/src/components/editor/global-styles-provider.js +19 -3
- package/src/components/editor/global-styles-renderer.js +8 -5
- package/src/components/editor/index.js +5 -8
- package/src/components/editor/test/global-styles-provider.js +131 -0
- package/src/components/editor/test/global-styles-renderer.js +1 -1
- package/src/components/editor/test/utils.js +146 -0
- package/src/components/editor/utils.js +2 -7
- package/src/components/{sidebar → global-styles}/border-panel.js +2 -2
- package/src/components/{sidebar → global-styles}/color-palette-panel.js +13 -11
- package/src/components/{sidebar → global-styles}/color-panel.js +43 -28
- package/src/components/global-styles/context-menu.js +54 -0
- package/src/components/{sidebar → global-styles}/dimensions-panel.js +60 -9
- package/src/components/global-styles/header.js +50 -0
- package/src/components/global-styles/index.js +81 -0
- package/src/components/global-styles/navigation-button.js +35 -0
- package/src/components/global-styles/palette.js +67 -0
- package/src/components/global-styles/preview.js +41 -0
- package/src/components/global-styles/screen-block-list.js +59 -0
- package/src/components/global-styles/screen-block.js +28 -0
- package/src/components/global-styles/screen-color-palette.js +33 -0
- package/src/components/global-styles/screen-colors.js +36 -0
- package/src/components/global-styles/screen-layout.js +45 -0
- package/src/components/global-styles/screen-root.js +43 -0
- package/src/components/global-styles/screen-typography.js +33 -0
- package/src/components/global-styles/style.scss +35 -0
- package/src/components/global-styles/subtitle.js +10 -0
- package/src/components/{sidebar → global-styles}/typography-panel.js +1 -2
- package/src/components/header/document-actions/index.js +1 -1
- package/src/components/header/plugin-more-menu-item/index.js +71 -0
- package/src/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
- package/src/components/header/undo-redo/redo.js +4 -1
- package/src/components/header/undo-redo/undo.js +4 -1
- package/src/components/keyboard-shortcuts/index.js +25 -40
- package/src/components/navigation-sidebar/index.js +1 -1
- package/src/components/navigation-sidebar/navigation-panel/constants.js +9 -4
- package/src/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -1
- package/src/components/navigation-sidebar/navigation-panel/style.scss +1 -0
- package/src/components/navigation-sidebar/navigation-toggle/style.scss +3 -2
- package/src/components/save-button/index.js +1 -1
- package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
- package/src/components/sidebar/global-styles-sidebar.js +14 -187
- package/src/components/sidebar/index.js +2 -7
- package/src/components/sidebar/plugin-sidebar/index.js +80 -0
- package/src/components/sidebar/style.scss +40 -0
- package/src/components/template-details/index.js +17 -7
- package/src/components/template-details/style.scss +36 -27
- package/src/components/template-details/template-areas.js +66 -0
- package/src/components/template-part-converter/convert-to-regular.js +2 -8
- package/src/components/template-part-converter/index.js +1 -1
- package/src/components/url-query-controller/index.js +1 -1
- package/src/index.js +3 -0
- package/src/store/actions.js +59 -7
- package/src/store/constants.js +15 -0
- package/src/store/reducer.js +26 -12
- package/src/store/selectors.js +96 -9
- package/src/store/test/reducer.js +40 -23
- package/src/store/test/selectors.js +34 -3
- package/src/style.scss +1 -0
- package/build/components/sidebar/border-panel.js.map +0 -1
- package/build/components/sidebar/color-palette-panel.js.map +0 -1
- package/build/components/sidebar/color-panel.js.map +0 -1
- package/build/components/sidebar/dimensions-panel.js.map +0 -1
- package/build/components/sidebar/typography-panel.js.map +0 -1
- package/build-module/components/sidebar/border-panel.js.map +0 -1
- package/build-module/components/sidebar/color-palette-panel.js.map +0 -1
- package/build-module/components/sidebar/color-panel.js.map +0 -1
- package/build-module/components/sidebar/dimensions-panel.js.map +0 -1
- package/build-module/components/sidebar/typography-panel.js.map +0 -1
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
__experimentalToolsPanel as ToolsPanel,
|
|
7
7
|
__experimentalToolsPanelItem as ToolsPanelItem,
|
|
8
8
|
__experimentalBoxControl as BoxControl,
|
|
9
|
+
__experimentalUnitControl as UnitControl,
|
|
9
10
|
__experimentalUseCustomUnits as useCustomUnits,
|
|
10
11
|
} from '@wordpress/components';
|
|
11
12
|
import { __experimentalUseCustomSides as useCustomSides } from '@wordpress/block-editor';
|
|
@@ -15,11 +16,14 @@ import { __experimentalUseCustomSides as useCustomSides } from '@wordpress/block
|
|
|
15
16
|
*/
|
|
16
17
|
import { useSetting } from '../editor/utils';
|
|
17
18
|
|
|
19
|
+
const AXIAL_SIDES = [ 'horizontal', 'vertical' ];
|
|
20
|
+
|
|
18
21
|
export function useHasDimensionsPanel( context ) {
|
|
19
22
|
const hasPadding = useHasPadding( context );
|
|
20
23
|
const hasMargin = useHasMargin( context );
|
|
24
|
+
const hasGap = useHasGap( context );
|
|
21
25
|
|
|
22
|
-
return hasPadding || hasMargin;
|
|
26
|
+
return hasPadding || hasMargin || hasGap;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
function useHasPadding( { name, supports } ) {
|
|
@@ -34,6 +38,12 @@ function useHasMargin( { name, supports } ) {
|
|
|
34
38
|
return settings && supports.includes( 'margin' );
|
|
35
39
|
}
|
|
36
40
|
|
|
41
|
+
function useHasGap( { name, supports } ) {
|
|
42
|
+
const settings = useSetting( 'spacing.blockGap', name );
|
|
43
|
+
|
|
44
|
+
return settings && supports.includes( '--wp--style--block-gap' );
|
|
45
|
+
}
|
|
46
|
+
|
|
37
47
|
function filterValuesBySides( values, sides ) {
|
|
38
48
|
if ( ! sides ) {
|
|
39
49
|
// If no custom side configuration all sides are opted into by default.
|
|
@@ -42,7 +52,17 @@ function filterValuesBySides( values, sides ) {
|
|
|
42
52
|
|
|
43
53
|
// Only include sides opted into within filtered values.
|
|
44
54
|
const filteredValues = {};
|
|
45
|
-
sides.forEach( ( side ) =>
|
|
55
|
+
sides.forEach( ( side ) => {
|
|
56
|
+
if ( side === 'vertical' ) {
|
|
57
|
+
filteredValues.top = values.top;
|
|
58
|
+
filteredValues.bottom = values.bottom;
|
|
59
|
+
}
|
|
60
|
+
if ( side === 'horizontal' ) {
|
|
61
|
+
filteredValues.left = values.left;
|
|
62
|
+
filteredValues.right = values.right;
|
|
63
|
+
}
|
|
64
|
+
filteredValues[ side ] = values[ side ];
|
|
65
|
+
} );
|
|
46
66
|
|
|
47
67
|
return filteredValues;
|
|
48
68
|
}
|
|
@@ -66,6 +86,7 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
66
86
|
const { name } = context;
|
|
67
87
|
const showPaddingControl = useHasPadding( context );
|
|
68
88
|
const showMarginControl = useHasMargin( context );
|
|
89
|
+
const showGapControl = useHasGap( context );
|
|
69
90
|
const units = useCustomUnits( {
|
|
70
91
|
availableUnits: useSetting( 'spacing.units', name ) || [
|
|
71
92
|
'%',
|
|
@@ -78,6 +99,9 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
78
99
|
|
|
79
100
|
const paddingValues = splitStyleValue( getStyle( name, 'padding' ) );
|
|
80
101
|
const paddingSides = useCustomSides( name, 'padding' );
|
|
102
|
+
const isAxialPadding =
|
|
103
|
+
paddingSides &&
|
|
104
|
+
paddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );
|
|
81
105
|
|
|
82
106
|
const setPaddingValues = ( newPaddingValues ) => {
|
|
83
107
|
const padding = filterValuesBySides( newPaddingValues, paddingSides );
|
|
@@ -85,10 +109,13 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
85
109
|
};
|
|
86
110
|
const resetPaddingValue = () => setPaddingValues( {} );
|
|
87
111
|
const hasPaddingValue = () =>
|
|
88
|
-
paddingValues && Object.keys( paddingValues ).length;
|
|
112
|
+
!! paddingValues && Object.keys( paddingValues ).length;
|
|
89
113
|
|
|
90
114
|
const marginValues = splitStyleValue( getStyle( name, 'margin' ) );
|
|
91
115
|
const marginSides = useCustomSides( name, 'margin' );
|
|
116
|
+
const isAxialMargin =
|
|
117
|
+
marginSides &&
|
|
118
|
+
marginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );
|
|
92
119
|
|
|
93
120
|
const setMarginValues = ( newMarginValues ) => {
|
|
94
121
|
const margin = filterValuesBySides( newMarginValues, marginSides );
|
|
@@ -96,19 +123,24 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
96
123
|
};
|
|
97
124
|
const resetMarginValue = () => setMarginValues( {} );
|
|
98
125
|
const hasMarginValue = () =>
|
|
99
|
-
marginValues && Object.keys( marginValues ).length;
|
|
126
|
+
!! marginValues && Object.keys( marginValues ).length;
|
|
127
|
+
|
|
128
|
+
const gapValue = getStyle( name, '--wp--style--block-gap' );
|
|
129
|
+
|
|
130
|
+
const setGapValue = ( newGapValue ) => {
|
|
131
|
+
setStyle( name, '--wp--style--block-gap', newGapValue );
|
|
132
|
+
};
|
|
133
|
+
const resetGapValue = () => setGapValue( undefined );
|
|
134
|
+
const hasGapValue = () => !! gapValue;
|
|
100
135
|
|
|
101
136
|
const resetAll = () => {
|
|
102
137
|
resetPaddingValue();
|
|
103
138
|
resetMarginValue();
|
|
139
|
+
resetGapValue();
|
|
104
140
|
};
|
|
105
141
|
|
|
106
142
|
return (
|
|
107
|
-
<ToolsPanel
|
|
108
|
-
label={ __( 'Dimensions options' ) }
|
|
109
|
-
header={ __( 'Dimensions' ) }
|
|
110
|
-
resetAll={ resetAll }
|
|
111
|
-
>
|
|
143
|
+
<ToolsPanel label={ __( 'Dimensions' ) } resetAll={ resetAll }>
|
|
112
144
|
{ showPaddingControl && (
|
|
113
145
|
<ToolsPanelItem
|
|
114
146
|
hasValue={ hasPaddingValue }
|
|
@@ -123,6 +155,7 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
123
155
|
sides={ paddingSides }
|
|
124
156
|
units={ units }
|
|
125
157
|
allowReset={ false }
|
|
158
|
+
splitOnAxis={ isAxialPadding }
|
|
126
159
|
/>
|
|
127
160
|
</ToolsPanelItem>
|
|
128
161
|
) }
|
|
@@ -140,6 +173,24 @@ export default function DimensionsPanel( { context, getStyle, setStyle } ) {
|
|
|
140
173
|
sides={ marginSides }
|
|
141
174
|
units={ units }
|
|
142
175
|
allowReset={ false }
|
|
176
|
+
splitOnAxis={ isAxialMargin }
|
|
177
|
+
/>
|
|
178
|
+
</ToolsPanelItem>
|
|
179
|
+
) }
|
|
180
|
+
{ showGapControl && (
|
|
181
|
+
<ToolsPanelItem
|
|
182
|
+
hasValue={ hasGapValue }
|
|
183
|
+
label={ __( 'Block spacing' ) }
|
|
184
|
+
onDeselect={ resetGapValue }
|
|
185
|
+
isShownByDefault={ true }
|
|
186
|
+
>
|
|
187
|
+
<UnitControl
|
|
188
|
+
label={ __( 'Block spacing' ) }
|
|
189
|
+
__unstableInputWidth="80px"
|
|
190
|
+
min={ 0 }
|
|
191
|
+
onChange={ setGapValue }
|
|
192
|
+
units={ units }
|
|
193
|
+
value={ gapValue }
|
|
143
194
|
/>
|
|
144
195
|
</ToolsPanelItem>
|
|
145
196
|
) }
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalHStack as HStack,
|
|
6
|
+
__experimentalVStack as VStack,
|
|
7
|
+
__experimentalSpacer as Spacer,
|
|
8
|
+
__experimentalHeading as Heading,
|
|
9
|
+
__experimentalView as View,
|
|
10
|
+
} from '@wordpress/components';
|
|
11
|
+
import { isRTL, __ } from '@wordpress/i18n';
|
|
12
|
+
import { chevronRight, chevronLeft, Icon } from '@wordpress/icons';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import NavigationButton from './navigation-button';
|
|
18
|
+
|
|
19
|
+
function ScreenHeader( { back, title, description } ) {
|
|
20
|
+
return (
|
|
21
|
+
<VStack spacing={ 2 }>
|
|
22
|
+
<HStack spacing={ 2 }>
|
|
23
|
+
<View>
|
|
24
|
+
<NavigationButton
|
|
25
|
+
path={ back }
|
|
26
|
+
icon={
|
|
27
|
+
<Icon
|
|
28
|
+
icon={ isRTL() ? chevronRight : chevronLeft }
|
|
29
|
+
variant="muted"
|
|
30
|
+
/>
|
|
31
|
+
}
|
|
32
|
+
size="small"
|
|
33
|
+
isBack
|
|
34
|
+
aria-label={ __( 'Navigate to the previous view' ) }
|
|
35
|
+
/>
|
|
36
|
+
</View>
|
|
37
|
+
<Spacer>
|
|
38
|
+
<Heading level={ 5 }>{ title }</Heading>
|
|
39
|
+
</Spacer>
|
|
40
|
+
</HStack>
|
|
41
|
+
{ description && (
|
|
42
|
+
<p className="edit-site-global-styles-header__description">
|
|
43
|
+
{ description }
|
|
44
|
+
</p>
|
|
45
|
+
) }
|
|
46
|
+
</VStack>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
export default ScreenHeader;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { map } from 'lodash';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* WordPress dependencies
|
|
8
|
+
*/
|
|
9
|
+
import {
|
|
10
|
+
__experimentalNavigatorProvider as NavigatorProvider,
|
|
11
|
+
__experimentalNavigatorScreen as NavigatorScreen,
|
|
12
|
+
} from '@wordpress/components';
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Internal dependencies
|
|
16
|
+
*/
|
|
17
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
18
|
+
import ScreenRoot from './screen-root';
|
|
19
|
+
import ScreenBlockList from './screen-block-list';
|
|
20
|
+
import ScreenBlock from './screen-block';
|
|
21
|
+
import ScreenTypography from './screen-typography';
|
|
22
|
+
import ScreenColors from './screen-colors';
|
|
23
|
+
import ScreenColorPalette from './screen-color-palette';
|
|
24
|
+
import ScreenLayout from './screen-layout';
|
|
25
|
+
|
|
26
|
+
function ContextScreens( { name } ) {
|
|
27
|
+
const parentMenu = name === undefined ? '' : '/blocks/' + name;
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<>
|
|
31
|
+
<NavigatorScreen path={ parentMenu + '/typography' }>
|
|
32
|
+
<ScreenTypography name={ name } />
|
|
33
|
+
</NavigatorScreen>
|
|
34
|
+
|
|
35
|
+
<NavigatorScreen path={ parentMenu + '/colors' }>
|
|
36
|
+
<ScreenColors name={ name } />
|
|
37
|
+
</NavigatorScreen>
|
|
38
|
+
|
|
39
|
+
<NavigatorScreen path={ parentMenu + '/colors/palette' }>
|
|
40
|
+
<ScreenColorPalette name={ name } />
|
|
41
|
+
</NavigatorScreen>
|
|
42
|
+
|
|
43
|
+
<NavigatorScreen path={ parentMenu + '/layout' }>
|
|
44
|
+
<ScreenLayout name={ name } />
|
|
45
|
+
</NavigatorScreen>
|
|
46
|
+
</>
|
|
47
|
+
);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
function GlobalStyles() {
|
|
51
|
+
const { blocks } = useGlobalStylesContext();
|
|
52
|
+
|
|
53
|
+
return (
|
|
54
|
+
<NavigatorProvider initialPath="/">
|
|
55
|
+
<NavigatorScreen path="/">
|
|
56
|
+
<ScreenRoot />
|
|
57
|
+
</NavigatorScreen>
|
|
58
|
+
|
|
59
|
+
<NavigatorScreen path="/blocks">
|
|
60
|
+
<ScreenBlockList />
|
|
61
|
+
</NavigatorScreen>
|
|
62
|
+
|
|
63
|
+
{ map( blocks, ( block, name ) => (
|
|
64
|
+
<NavigatorScreen
|
|
65
|
+
key={ 'menu-block-' + name }
|
|
66
|
+
path={ '/blocks/' + name }
|
|
67
|
+
>
|
|
68
|
+
<ScreenBlock name={ name } />
|
|
69
|
+
</NavigatorScreen>
|
|
70
|
+
) ) }
|
|
71
|
+
|
|
72
|
+
<ContextScreens />
|
|
73
|
+
|
|
74
|
+
{ map( blocks, ( _, name ) => (
|
|
75
|
+
<ContextScreens key={ 'screens-block-' + name } name={ name } />
|
|
76
|
+
) ) }
|
|
77
|
+
</NavigatorProvider>
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export default GlobalStyles;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalUseNavigator as useNavigator,
|
|
6
|
+
__experimentalItem as Item,
|
|
7
|
+
FlexItem,
|
|
8
|
+
__experimentalHStack as HStack,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
import { Icon } from '@wordpress/icons';
|
|
11
|
+
|
|
12
|
+
function NavigationButton( {
|
|
13
|
+
path,
|
|
14
|
+
icon,
|
|
15
|
+
children,
|
|
16
|
+
isBack = false,
|
|
17
|
+
...props
|
|
18
|
+
} ) {
|
|
19
|
+
const navigator = useNavigator();
|
|
20
|
+
return (
|
|
21
|
+
<Item onClick={ () => navigator.push( path, { isBack } ) } { ...props }>
|
|
22
|
+
{ icon && (
|
|
23
|
+
<HStack justify="flex-start">
|
|
24
|
+
<FlexItem>
|
|
25
|
+
<Icon icon={ icon } size={ 24 } />
|
|
26
|
+
</FlexItem>
|
|
27
|
+
<FlexItem>{ children }</FlexItem>
|
|
28
|
+
</HStack>
|
|
29
|
+
) }
|
|
30
|
+
{ ! icon && children }
|
|
31
|
+
</Item>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export default NavigationButton;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalItemGroup as ItemGroup,
|
|
6
|
+
FlexItem,
|
|
7
|
+
__experimentalHStack as HStack,
|
|
8
|
+
__experimentalZStack as ZStack,
|
|
9
|
+
__experimentalVStack as VStack,
|
|
10
|
+
FlexBlock,
|
|
11
|
+
ColorIndicator,
|
|
12
|
+
} from '@wordpress/components';
|
|
13
|
+
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Internal dependencies
|
|
17
|
+
*/
|
|
18
|
+
import Subtitle from './subtitle';
|
|
19
|
+
import { useSetting } from '../editor/utils';
|
|
20
|
+
import NavigationButton from './navigation-button';
|
|
21
|
+
|
|
22
|
+
function Palette( { contextName } ) {
|
|
23
|
+
const colors = useSetting( 'color.palette', contextName );
|
|
24
|
+
const screenPath =
|
|
25
|
+
contextName === 'root'
|
|
26
|
+
? '/colors/palette'
|
|
27
|
+
: '/blocks/' + contextName + '/colors/palette';
|
|
28
|
+
|
|
29
|
+
return (
|
|
30
|
+
<div className="edit-site-global-style-palette">
|
|
31
|
+
<VStack spacing={ 1 }>
|
|
32
|
+
<Subtitle>{ __( 'Palette' ) }</Subtitle>
|
|
33
|
+
<ItemGroup isBordered isSeparated>
|
|
34
|
+
<NavigationButton path={ screenPath }>
|
|
35
|
+
<HStack>
|
|
36
|
+
<FlexBlock>
|
|
37
|
+
<ZStack isLayered={ false } offset={ -8 }>
|
|
38
|
+
{ colors
|
|
39
|
+
.slice( 0, 5 )
|
|
40
|
+
.map( ( { color } ) => (
|
|
41
|
+
<ColorIndicator
|
|
42
|
+
key={ color }
|
|
43
|
+
colorValue={ color }
|
|
44
|
+
/>
|
|
45
|
+
) ) }
|
|
46
|
+
</ZStack>
|
|
47
|
+
</FlexBlock>
|
|
48
|
+
<FlexItem>
|
|
49
|
+
{ sprintf(
|
|
50
|
+
// Translators: %d: Number of palette colors.
|
|
51
|
+
_n(
|
|
52
|
+
'%d color',
|
|
53
|
+
'%d colors',
|
|
54
|
+
colors.length
|
|
55
|
+
),
|
|
56
|
+
colors.length
|
|
57
|
+
) }
|
|
58
|
+
</FlexItem>
|
|
59
|
+
</HStack>
|
|
60
|
+
</NavigationButton>
|
|
61
|
+
</ItemGroup>
|
|
62
|
+
</VStack>
|
|
63
|
+
</div>
|
|
64
|
+
);
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
export default Palette;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalHStack as HStack,
|
|
6
|
+
__experimentalVStack as VStack,
|
|
7
|
+
Card,
|
|
8
|
+
ColorIndicator,
|
|
9
|
+
} from '@wordpress/components';
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Internal dependencies
|
|
13
|
+
*/ import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
14
|
+
|
|
15
|
+
const StylesPreview = () => {
|
|
16
|
+
const { getStyle } = useGlobalStylesContext();
|
|
17
|
+
const fontFamily = getStyle( 'root', 'fontFamily' ) ?? 'serif';
|
|
18
|
+
const textColor = getStyle( 'root', 'color' ) ?? 'black';
|
|
19
|
+
const linkColor = getStyle( 'root', 'linkColor' ) ?? 'blue';
|
|
20
|
+
const backgroundColor = getStyle( 'root', 'backgroundColor' ) ?? 'white';
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<Card
|
|
24
|
+
className="edit-site-global-styles-preview"
|
|
25
|
+
style={ { background: backgroundColor } }
|
|
26
|
+
>
|
|
27
|
+
<HStack spacing={ 5 }>
|
|
28
|
+
<div>
|
|
29
|
+
<span style={ { fontFamily, fontSize: '80px' } }>A</span>
|
|
30
|
+
<span style={ { fontFamily, fontSize: '80px' } }>a</span>
|
|
31
|
+
</div>
|
|
32
|
+
<VStack spacing={ 2 }>
|
|
33
|
+
<ColorIndicator colorValue={ textColor } />
|
|
34
|
+
<ColorIndicator colorValue={ linkColor } />
|
|
35
|
+
</VStack>
|
|
36
|
+
</HStack>
|
|
37
|
+
</Card>
|
|
38
|
+
);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
export default StylesPreview;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { getBlockType } from '@wordpress/blocks';
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Internal dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
11
|
+
import { useHasBorderPanel } from './border-panel';
|
|
12
|
+
import { useHasColorPanel } from './color-panel';
|
|
13
|
+
import { useHasDimensionsPanel } from './dimensions-panel';
|
|
14
|
+
import { useHasTypographyPanel } from './typography-panel';
|
|
15
|
+
import ScreenHeader from './header';
|
|
16
|
+
import NavigationButton from './navigation-button';
|
|
17
|
+
|
|
18
|
+
function BlockMenuItem( { block } ) {
|
|
19
|
+
const { blocks } = useGlobalStylesContext();
|
|
20
|
+
const context = blocks[ block.name ];
|
|
21
|
+
const hasTypographyPanel = useHasTypographyPanel( context );
|
|
22
|
+
const hasColorPanel = useHasColorPanel( context );
|
|
23
|
+
const hasBorderPanel = useHasBorderPanel( context );
|
|
24
|
+
const hasDimensionsPanel = useHasDimensionsPanel( context );
|
|
25
|
+
const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;
|
|
26
|
+
const hasBlockMenuItem =
|
|
27
|
+
hasTypographyPanel || hasColorPanel || hasLayoutPanel;
|
|
28
|
+
|
|
29
|
+
if ( ! hasBlockMenuItem ) {
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return (
|
|
34
|
+
<NavigationButton path={ '/blocks/' + block.name }>
|
|
35
|
+
{ block.title }
|
|
36
|
+
</NavigationButton>
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
function ScreenBlockList() {
|
|
41
|
+
const { blocks } = useGlobalStylesContext();
|
|
42
|
+
const visibleBlocks = Object.keys( blocks )
|
|
43
|
+
.map( ( name ) => getBlockType( name ) )
|
|
44
|
+
.filter( ( blockType ) => !! blockType );
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<>
|
|
48
|
+
<ScreenHeader back="/" title={ __( 'Blocks' ) } />
|
|
49
|
+
{ visibleBlocks.map( ( block ) => (
|
|
50
|
+
<BlockMenuItem
|
|
51
|
+
block={ block }
|
|
52
|
+
key={ 'menu-itemblock-' + block.name }
|
|
53
|
+
/>
|
|
54
|
+
) ) }
|
|
55
|
+
</>
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export default ScreenBlockList;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { getBlockType } from '@wordpress/blocks';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
10
|
+
import ContextMenu from './context-menu';
|
|
11
|
+
import ScreenHeader from './header';
|
|
12
|
+
|
|
13
|
+
function ScreenBlock( { name } ) {
|
|
14
|
+
const blockType = getBlockType( name );
|
|
15
|
+
const { blocks } = useGlobalStylesContext();
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<>
|
|
19
|
+
<ScreenHeader back="/blocks" title={ blockType.title } />
|
|
20
|
+
<ContextMenu
|
|
21
|
+
parentMenu={ '/blocks/' + name }
|
|
22
|
+
context={ blocks[ name ] }
|
|
23
|
+
/>
|
|
24
|
+
</>
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export default ScreenBlock;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
10
|
+
import ColorPalettePanel from './color-palette-panel';
|
|
11
|
+
import ScreenHeader from './header';
|
|
12
|
+
|
|
13
|
+
function ScreenColorPalette( { name } ) {
|
|
14
|
+
const { getSetting, setSetting } = useGlobalStylesContext();
|
|
15
|
+
const parentMenu = name === undefined ? '' : '/blocks/' + name;
|
|
16
|
+
|
|
17
|
+
return (
|
|
18
|
+
<>
|
|
19
|
+
<ScreenHeader
|
|
20
|
+
back={ parentMenu + '/colors' }
|
|
21
|
+
title={ __( 'Color Palette' ) }
|
|
22
|
+
description={ __( 'Edit the color palette.' ) }
|
|
23
|
+
/>
|
|
24
|
+
<ColorPalettePanel
|
|
25
|
+
contextName={ name }
|
|
26
|
+
getSetting={ getSetting }
|
|
27
|
+
setSetting={ setSetting }
|
|
28
|
+
/>
|
|
29
|
+
</>
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default ScreenColorPalette;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
10
|
+
import ColorPanel from './color-panel';
|
|
11
|
+
import ScreenHeader from './header';
|
|
12
|
+
|
|
13
|
+
function ScreenColors( { name } ) {
|
|
14
|
+
const { root, blocks, getStyle, setStyle } = useGlobalStylesContext();
|
|
15
|
+
const context = name === undefined ? root : blocks[ name ];
|
|
16
|
+
const parentMenu = name === undefined ? '' : '/blocks/' + name;
|
|
17
|
+
|
|
18
|
+
return (
|
|
19
|
+
<>
|
|
20
|
+
<ScreenHeader
|
|
21
|
+
back={ parentMenu ? parentMenu : '/' }
|
|
22
|
+
title={ __( 'Colors' ) }
|
|
23
|
+
description={ __(
|
|
24
|
+
'Manage color palettes and how they affect the different elements of the site.'
|
|
25
|
+
) }
|
|
26
|
+
/>
|
|
27
|
+
<ColorPanel
|
|
28
|
+
context={ context }
|
|
29
|
+
getStyle={ getStyle }
|
|
30
|
+
setStyle={ setStyle }
|
|
31
|
+
/>
|
|
32
|
+
</>
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default ScreenColors;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Internal dependencies
|
|
8
|
+
*/
|
|
9
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
10
|
+
import BorderPanel, { useHasBorderPanel } from './border-panel';
|
|
11
|
+
import DimensionsPanel, { useHasDimensionsPanel } from './dimensions-panel';
|
|
12
|
+
import ScreenHeader from './header';
|
|
13
|
+
|
|
14
|
+
function ScreenLayout( { name } ) {
|
|
15
|
+
const { root, blocks, getStyle, setStyle } = useGlobalStylesContext();
|
|
16
|
+
const context = name === undefined ? root : blocks[ name ];
|
|
17
|
+
const parentMenu = name === undefined ? '' : '/blocks/' + name;
|
|
18
|
+
const hasBorderPanel = useHasBorderPanel( context );
|
|
19
|
+
const hasDimensionsPanel = useHasDimensionsPanel( context );
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<>
|
|
23
|
+
<ScreenHeader
|
|
24
|
+
back={ parentMenu ? parentMenu : '/' }
|
|
25
|
+
title={ __( 'Layout' ) }
|
|
26
|
+
/>
|
|
27
|
+
{ hasDimensionsPanel && (
|
|
28
|
+
<DimensionsPanel
|
|
29
|
+
context={ context }
|
|
30
|
+
getStyle={ getStyle }
|
|
31
|
+
setStyle={ setStyle }
|
|
32
|
+
/>
|
|
33
|
+
) }
|
|
34
|
+
{ hasBorderPanel && (
|
|
35
|
+
<BorderPanel
|
|
36
|
+
context={ context }
|
|
37
|
+
getStyle={ getStyle }
|
|
38
|
+
setStyle={ setStyle }
|
|
39
|
+
/>
|
|
40
|
+
) }
|
|
41
|
+
</>
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export default ScreenLayout;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
__experimentalItemGroup as ItemGroup,
|
|
6
|
+
__experimentalItem as Item,
|
|
7
|
+
} from '@wordpress/components';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Internal dependencies
|
|
12
|
+
*/
|
|
13
|
+
import StylesPreview from './preview';
|
|
14
|
+
import NavigationButton from './navigation-button';
|
|
15
|
+
import { useGlobalStylesContext } from '../editor/global-styles-provider';
|
|
16
|
+
import ContextMenu from './context-menu';
|
|
17
|
+
|
|
18
|
+
function ScreenRoot() {
|
|
19
|
+
const { root } = useGlobalStylesContext();
|
|
20
|
+
|
|
21
|
+
return (
|
|
22
|
+
<>
|
|
23
|
+
<StylesPreview />
|
|
24
|
+
|
|
25
|
+
<ContextMenu context={ root } />
|
|
26
|
+
|
|
27
|
+
<ItemGroup>
|
|
28
|
+
<Item>
|
|
29
|
+
<p>
|
|
30
|
+
{ __(
|
|
31
|
+
'Customize the appearance of specific blocks for the whole site.'
|
|
32
|
+
) }
|
|
33
|
+
</p>
|
|
34
|
+
</Item>
|
|
35
|
+
<NavigationButton path="/blocks">
|
|
36
|
+
{ __( 'Blocks' ) }
|
|
37
|
+
</NavigationButton>
|
|
38
|
+
</ItemGroup>
|
|
39
|
+
</>
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export default ScreenRoot;
|