@wordpress/edit-site 3.0.2 → 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 +18 -4
- 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 +1 -1
- package/build/components/editor/global-styles-provider.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 +1 -1
- package/build/components/editor/utils.js.map +1 -1
- package/build/components/{sidebar → global-styles}/border-panel.js +0 -0
- 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 +7 -11
- 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 +6 -7
- 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/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/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/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 +54 -1
- 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 +15 -4
- 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 +1 -1
- package/build-module/components/editor/global-styles-provider.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 +1 -1
- package/build-module/components/editor/utils.js.map +1 -1
- package/build-module/components/{sidebar → global-styles}/border-panel.js +0 -0
- 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 +8 -12
- 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 +6 -7
- 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/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/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/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 +45 -1
- 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 +122 -17
- package/build-style/style.css +122 -17
- package/package.json +26 -26
- package/src/components/block-editor/back-button.js +44 -0
- package/src/components/block-editor/index.js +16 -1
- 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 +1 -1
- package/src/components/editor/index.js +5 -8
- package/src/components/editor/utils.js +1 -0
- package/src/components/{sidebar → global-styles}/border-panel.js +0 -0
- package/src/components/{sidebar → global-styles}/color-palette-panel.js +13 -11
- package/src/components/{sidebar → global-styles}/color-panel.js +12 -17
- package/src/components/global-styles/context-menu.js +54 -0
- package/src/components/{sidebar → global-styles}/dimensions-panel.js +6 -10
- 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/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/style.scss +1 -0
- 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/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 +53 -1
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["set","get","has","mergeWith","mapValues","setWith","clone","createContext","useCallback","useContext","useEffect","useMemo","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","store","blocksStore","useEntityProp","useSelect","useDispatch","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","getValueFromVariable","getPresetVariable","PRESET_METADATA","toCustomProperties","toStyles","editSiteStore","EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","key","elementSelector","blockSelector","join","immutableSet","object","value","GlobalStylesProvider","children","baseStyles","settings","select","getBlockTypes","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t} );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/global-styles-provider.js"],"names":["set","get","has","mergeWith","mapValues","setWith","clone","createContext","useCallback","useContext","useEffect","useMemo","__EXPERIMENTAL_STYLE_PROPERTY","STYLE_PROPERTY","__EXPERIMENTAL_ELEMENTS","ELEMENTS","store","blocksStore","useEntityProp","useSelect","useDispatch","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","getValueFromVariable","getPresetVariable","PRESET_METADATA","toCustomProperties","toStyles","editSiteStore","EMPTY_CONTENT","isGlobalStylesUserThemeJSON","version","EMPTY_CONTENT_STRING","JSON","stringify","GlobalStylesContext","getSetting","context","path","setSetting","newValue","getStyle","propertyName","origin","setStyle","contexts","mergeTreesCustomizer","objValue","srcValue","Array","isArray","useGlobalStylesContext","useGlobalStylesEntityContent","useGlobalStylesReset","content","setContent","canRestart","extractSupportKeys","supports","supportKeys","Object","keys","forEach","name","support","requiresOptOut","push","getBlockMetadata","blockTypes","result","blockType","selector","__experimentalSelector","replace","blockSelectors","split","elements","key","elementSelector","blockSelector","join","immutableSet","object","value","GlobalStylesProvider","children","baseStyles","settings","select","getBlockTypes","getSettings","updateSettings","blocks","__experimentalGlobalStylesBaseStyles","themeStyles","userStyles","mergedStyles","newUserStyles","parse","e","console","error","addUserToSettings","settingsToAdd","presetData","user","userStylesWithOrigin","newMergedStyles","nextValue","root","propertyPath","newContent","newSettings","styles","newStyles","nonGlobalStyles","filter","style","isGlobalStyles","customProperties","globalStyles","css","__experimentalNoWrapper","__experimentalFeatures"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { set, get, has, mergeWith, mapValues, setWith, clone } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tcreateContext,\n\tuseCallback,\n\tuseContext,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__EXPERIMENTAL_STYLE_PROPERTY as STYLE_PROPERTY,\n\t__EXPERIMENTAL_ELEMENTS as ELEMENTS,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tROOT_BLOCK_NAME,\n\tROOT_BLOCK_SELECTOR,\n\tROOT_BLOCK_SUPPORTS,\n\tgetValueFromVariable,\n\tgetPresetVariable,\n\tPRESET_METADATA,\n} from './utils';\nimport { toCustomProperties, toStyles } from './global-styles-renderer';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_CONTENT = { isGlobalStylesUserThemeJSON: true, version: 1 };\nconst EMPTY_CONTENT_STRING = JSON.stringify( EMPTY_CONTENT );\n\nconst GlobalStylesContext = createContext( {\n\t/* eslint-disable no-unused-vars */\n\tgetSetting: ( context, path ) => {},\n\tsetSetting: ( context, path, newValue ) => {},\n\tgetStyle: ( context, propertyName, origin ) => {},\n\tsetStyle: ( context, propertyName, newValue ) => {},\n\tcontexts: {},\n\t/* eslint-enable no-unused-vars */\n} );\n\nconst mergeTreesCustomizer = ( objValue, srcValue ) => {\n\t// We only pass as arrays the presets,\n\t// in which case we want the new array of values\n\t// to override the old array (no merging).\n\tif ( Array.isArray( srcValue ) ) {\n\t\treturn srcValue;\n\t}\n};\n\nexport const useGlobalStylesContext = () => useContext( GlobalStylesContext );\n\nconst useGlobalStylesEntityContent = () => {\n\treturn useEntityProp( 'postType', 'wp_global_styles', 'content' );\n};\n\nexport const useGlobalStylesReset = () => {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst canRestart = !! content && content !== EMPTY_CONTENT_STRING;\n\treturn [\n\t\tcanRestart,\n\t\tuseCallback( () => setContent( EMPTY_CONTENT_STRING ), [ setContent ] ),\n\t];\n};\n\nconst extractSupportKeys = ( supports ) => {\n\tconst supportKeys = [];\n\tObject.keys( STYLE_PROPERTY ).forEach( ( name ) => {\n\t\tif ( ! STYLE_PROPERTY[ name ].support ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Opting out means that, for certain support keys like background color,\n\t\t// blocks have to explicitly set the support value false. If the key is\n\t\t// unset, we still enable it.\n\t\tif ( STYLE_PROPERTY[ name ].requiresOptOut ) {\n\t\t\tif (\n\t\t\t\thas( supports, STYLE_PROPERTY[ name ].support[ 0 ] ) &&\n\t\t\t\tget( supports, STYLE_PROPERTY[ name ].support ) !== false\n\t\t\t) {\n\t\t\t\treturn supportKeys.push( name );\n\t\t\t}\n\t\t}\n\n\t\tif ( get( supports, STYLE_PROPERTY[ name ].support, false ) ) {\n\t\t\treturn supportKeys.push( name );\n\t\t}\n\t} );\n\treturn supportKeys;\n};\n\nconst getBlockMetadata = ( blockTypes ) => {\n\tconst result = {};\n\n\tblockTypes.forEach( ( blockType ) => {\n\t\tconst name = blockType.name;\n\t\tconst supports = extractSupportKeys( blockType?.supports );\n\n\t\tconst selector =\n\t\t\tblockType?.supports?.__experimentalSelector ??\n\t\t\t'.wp-block-' + name.replace( 'core/', '' ).replace( '/', '-' );\n\t\tconst blockSelectors = selector.split( ',' );\n\t\tconst elements = [];\n\t\tObject.keys( ELEMENTS ).forEach( ( key ) => {\n\t\t\tconst elementSelector = [];\n\t\t\tblockSelectors.forEach( ( blockSelector ) => {\n\t\t\t\telementSelector.push( blockSelector + ' ' + ELEMENTS[ key ] );\n\t\t\t} );\n\t\t\telements[ key ] = elementSelector.join( ',' );\n\t\t} );\n\t\tresult[ name ] = {\n\t\t\tname,\n\t\t\tselector,\n\t\t\tsupports,\n\t\t\telements,\n\t\t};\n\t} );\n\n\treturn result;\n};\n\nfunction immutableSet( object, path, value ) {\n\treturn setWith( object ? clone( object ) : {}, path, value, clone );\n}\n\nexport default function GlobalStylesProvider( { children, baseStyles } ) {\n\tconst [ content, setContent ] = useGlobalStylesEntityContent();\n\tconst { blockTypes, settings } = useSelect( ( select ) => {\n\t\treturn {\n\t\t\tblockTypes: select( blocksStore ).getBlockTypes(),\n\t\t\tsettings: select( editSiteStore ).getSettings(),\n\t\t};\n\t}, [] );\n\tconst { updateSettings } = useDispatch( editSiteStore );\n\n\tconst blocks = useMemo( () => getBlockMetadata( blockTypes ), [\n\t\tblockTypes,\n\t] );\n\n\tconst { __experimentalGlobalStylesBaseStyles: themeStyles } = settings;\n\tconst { userStyles, mergedStyles } = useMemo( () => {\n\t\tlet newUserStyles;\n\t\ttry {\n\t\t\tnewUserStyles = content ? JSON.parse( content ) : EMPTY_CONTENT;\n\n\t\t\t// At the moment, we ignore previous user config that\n\t\t\t// is in a different version than the theme config.\n\t\t\tif ( newUserStyles?.version !== baseStyles?.version ) {\n\t\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t\t}\n\t\t} catch ( e ) {\n\t\t\t/* eslint-disable no-console */\n\t\t\tconsole.error( 'User data is not JSON' );\n\t\t\tconsole.error( e );\n\t\t\t/* eslint-enable no-console */\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\t// It is very important to verify if the flag isGlobalStylesUserThemeJSON is true.\n\t\t// If it is not true the content was not escaped and is not safe.\n\t\tif ( ! newUserStyles.isGlobalStylesUserThemeJSON ) {\n\t\t\tnewUserStyles = EMPTY_CONTENT;\n\t\t}\n\n\t\tconst addUserToSettings = ( settingsToAdd ) => {\n\t\t\tPRESET_METADATA.forEach( ( { path } ) => {\n\t\t\t\tconst presetData = get( settingsToAdd, path );\n\t\t\t\tif ( presetData ) {\n\t\t\t\t\tsettingsToAdd = immutableSet( settingsToAdd, path, {\n\t\t\t\t\t\tuser: presetData,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} );\n\t\t\treturn settingsToAdd;\n\t\t};\n\n\t\tlet userStylesWithOrigin = newUserStyles;\n\t\tif ( userStylesWithOrigin.settings ) {\n\t\t\tuserStylesWithOrigin = {\n\t\t\t\t...userStylesWithOrigin,\n\t\t\t\tsettings: addUserToSettings( userStylesWithOrigin.settings ),\n\t\t\t};\n\t\t\tif ( userStylesWithOrigin.settings.blocks ) {\n\t\t\t\tuserStylesWithOrigin.settings = {\n\t\t\t\t\t...userStylesWithOrigin.settings,\n\t\t\t\t\tblocks: mapValues(\n\t\t\t\t\t\tuserStylesWithOrigin.settings.blocks,\n\t\t\t\t\t\taddUserToSettings\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t}\n\t\t}\n\n\t\t// At this point, the version schema of the theme & user\n\t\t// is the same, so we can merge them.\n\t\tconst newMergedStyles = mergeWith(\n\t\t\t{},\n\t\t\tbaseStyles,\n\t\t\tuserStylesWithOrigin,\n\t\t\tmergeTreesCustomizer\n\t\t);\n\n\t\treturn {\n\t\t\tuserStyles: newUserStyles,\n\t\t\tmergedStyles: newMergedStyles,\n\t\t};\n\t}, [ content ] );\n\n\tconst nextValue = useMemo(\n\t\t() => ( {\n\t\t\troot: {\n\t\t\t\tname: ROOT_BLOCK_NAME,\n\t\t\t\tselector: ROOT_BLOCK_SELECTOR,\n\t\t\t\tsupports: ROOT_BLOCK_SUPPORTS,\n\t\t\t\telements: ELEMENTS,\n\t\t\t},\n\t\t\tblocks,\n\t\t\tgetSetting: ( context, propertyPath ) => {\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\t\t\t\tget( userStyles?.settings, path );\n\t\t\t},\n\t\t\tsetSetting: ( context, propertyPath, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? [ 'settings' ]\n\t\t\t\t\t\t: [ 'settings', 'blocks', context ];\n\n\t\t\t\tlet newSettings = get( newContent, path );\n\t\t\t\tif ( ! newSettings ) {\n\t\t\t\t\tnewSettings = {};\n\t\t\t\t\tset( newContent, path, newSettings );\n\t\t\t\t}\n\t\t\t\tset( newSettings, propertyPath, newValue );\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t\tgetStyle: ( context, propertyName, origin = 'merged' ) => {\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\t\t\t\tconst path =\n\t\t\t\t\tcontext === ROOT_BLOCK_NAME\n\t\t\t\t\t\t? propertyPath\n\t\t\t\t\t\t: [ 'blocks', context, ...propertyPath ];\n\n\t\t\t\tif ( origin === 'theme' ) {\n\t\t\t\t\tconst value = get( themeStyles?.styles, path );\n\t\t\t\t\treturn getValueFromVariable( themeStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tif ( origin === 'user' ) {\n\t\t\t\t\tconst value = get( userStyles?.styles, path );\n\n\t\t\t\t\t// We still need to use merged styles here because the\n\t\t\t\t\t// presets used to resolve user variable may be defined a\n\t\t\t\t\t// layer down ( core, theme, or user ).\n\t\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t\t}\n\n\t\t\t\tconst value = get( mergedStyles?.styles, path );\n\t\t\t\treturn getValueFromVariable( mergedStyles, context, value );\n\t\t\t},\n\t\t\tsetStyle: ( context, propertyName, newValue ) => {\n\t\t\t\tconst newContent = { ...userStyles };\n\n\t\t\t\tconst path =\n\t\t\t\t\tROOT_BLOCK_NAME === context\n\t\t\t\t\t\t? [ 'styles' ]\n\t\t\t\t\t\t: [ 'styles', 'blocks', context ];\n\t\t\t\tconst propertyPath = STYLE_PROPERTY[ propertyName ].value;\n\n\t\t\t\tlet newStyles = get( newContent, path );\n\t\t\t\tif ( ! newStyles ) {\n\t\t\t\t\tnewStyles = {};\n\t\t\t\t\tset( newContent, path, newStyles );\n\t\t\t\t}\n\t\t\t\tset(\n\t\t\t\t\tnewStyles,\n\t\t\t\t\tpropertyPath,\n\t\t\t\t\tgetPresetVariable(\n\t\t\t\t\t\tmergedStyles,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\tpropertyName,\n\t\t\t\t\t\tnewValue\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\tsetContent( JSON.stringify( newContent ) );\n\t\t\t},\n\t\t} ),\n\t\t[ content, mergedStyles, themeStyles ]\n\t);\n\n\tuseEffect( () => {\n\t\tconst nonGlobalStyles = settings.styles.filter(\n\t\t\t( style ) => ! style.isGlobalStyles\n\t\t);\n\t\tconst customProperties = toCustomProperties( mergedStyles, blocks );\n\t\tconst globalStyles = toStyles( mergedStyles, blocks );\n\t\tupdateSettings( {\n\t\t\t...settings,\n\t\t\tstyles: [\n\t\t\t\t...nonGlobalStyles,\n\t\t\t\t{\n\t\t\t\t\tcss: customProperties,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t\t__experimentalNoWrapper: true,\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tcss: globalStyles,\n\t\t\t\t\tisGlobalStyles: true,\n\t\t\t\t},\n\t\t\t],\n\t\t\t__experimentalFeatures: mergedStyles.settings,\n\t\t} );\n\t}, [ blocks, mergedStyles ] );\n\n\treturn (\n\t\t<GlobalStylesContext.Provider value={ nextValue }>\n\t\t\t{ children }\n\t\t</GlobalStylesContext.Provider>\n\t);\n}\n"]}
|
|
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { useEffect, useState, useMemo, useCallback } from '@wordpress/element';
|
|
7
|
-
import {
|
|
7
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
8
8
|
import { SlotFillProvider, Popover, Button, Notice } from '@wordpress/components';
|
|
9
9
|
import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
10
10
|
import { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';
|
|
@@ -12,6 +12,7 @@ import { FullscreenMode, InterfaceSkeleton, ComplementaryArea, store as interfac
|
|
|
12
12
|
import { EditorNotices, EditorSnackbars, EntitiesSavedStates, UnsavedChangesWarning, store as editorStore } from '@wordpress/editor';
|
|
13
13
|
import { __ } from '@wordpress/i18n';
|
|
14
14
|
import { PluginArea } from '@wordpress/plugins';
|
|
15
|
+
import { ShortcutProvider } from '@wordpress/keyboard-shortcuts';
|
|
15
16
|
/**
|
|
16
17
|
* Internal dependencies
|
|
17
18
|
*/
|
|
@@ -136,15 +137,13 @@ function Editor({
|
|
|
136
137
|
}
|
|
137
138
|
|
|
138
139
|
if (isListViewOpen) {
|
|
139
|
-
return createElement(
|
|
140
|
-
value: "true"
|
|
141
|
-
}, createElement(ListViewSidebar, null));
|
|
140
|
+
return createElement(ListViewSidebar, null);
|
|
142
141
|
}
|
|
143
142
|
|
|
144
143
|
return null;
|
|
145
144
|
};
|
|
146
145
|
|
|
147
|
-
return createElement(
|
|
146
|
+
return createElement(ShortcutProvider, null, createElement(URLQueryController, null), createElement(SlotFillProvider, null, createElement(EntityProvider, {
|
|
148
147
|
kind: "root",
|
|
149
148
|
type: "site"
|
|
150
149
|
}, createElement(EntityProvider, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","AsyncModeProvider","useSelect","useDispatch","SlotFillProvider","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","FullscreenMode","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","UnsavedChangesWarning","editorStore","__","PluginArea","Header","SidebarComplementaryAreaFills","BlockEditor","KeyboardShortcuts","GlobalStylesProvider","NavigationSidebar","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","editSiteStore","interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","hasFinishedResolution","getEntityRecord","postType","postId","getActiveComplementaryArea","name","updateEditorSettings","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { AsyncModeProvider, useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn (\n\t\t\t\t<AsyncModeProvider value=\"true\">\n\t\t\t\t\t<ListViewSidebar />\n\t\t\t\t</AsyncModeProvider>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</>\n\t);\n}\nexport default Editor;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/index.js"],"names":["useEffect","useState","useMemo","useCallback","useSelect","useDispatch","SlotFillProvider","Popover","Button","Notice","EntityProvider","store","coreStore","BlockContextProvider","BlockBreadcrumb","FullscreenMode","InterfaceSkeleton","ComplementaryArea","interfaceStore","EditorNotices","EditorSnackbars","EntitiesSavedStates","UnsavedChangesWarning","editorStore","__","PluginArea","ShortcutProvider","Header","SidebarComplementaryAreaFills","BlockEditor","KeyboardShortcuts","GlobalStylesProvider","NavigationSidebar","URLQueryController","InserterSidebar","ListViewSidebar","ErrorBoundary","editSiteStore","interfaceLabels","secondarySidebar","drawer","Editor","initialSettings","onError","isInserterOpen","isListViewOpen","sidebarIsOpened","settings","entityId","templateType","page","template","templateResolved","isNavigationOpen","select","isInserterOpened","isListViewOpened","getSettings","getEditedPostType","getEditedPostId","getPage","isNavigationOpened","hasFinishedResolution","getEntityRecord","postType","postId","getActiveComplementaryArea","name","updateEditorSettings","setPage","setIsInserterOpened","updateSettings","defaultTemplateTypes","defaultTemplatePartAreas","isEntitiesSavedStatesOpen","setIsEntitiesSavedStatesOpen","openEntitiesSavedStates","closeEntitiesSavedStates","blockContext","context","queryContext","newQueryContext","document","body","classList","add","remove","siteUrl","__experimentalGlobalStylesUserEntityId","__experimentalGlobalStylesBaseStyles"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tSlotFillProvider,\n\tPopover,\n\tButton,\n\tNotice,\n} from '@wordpress/components';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\nimport { BlockContextProvider, BlockBreadcrumb } from '@wordpress/block-editor';\nimport {\n\tFullscreenMode,\n\tInterfaceSkeleton,\n\tComplementaryArea,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport {\n\tEditorNotices,\n\tEditorSnackbars,\n\tEntitiesSavedStates,\n\tUnsavedChangesWarning,\n\tstore as editorStore,\n} from '@wordpress/editor';\nimport { __ } from '@wordpress/i18n';\nimport { PluginArea } from '@wordpress/plugins';\nimport { ShortcutProvider } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport Header from '../header';\nimport { SidebarComplementaryAreaFills } from '../sidebar';\nimport BlockEditor from '../block-editor';\nimport KeyboardShortcuts from '../keyboard-shortcuts';\nimport GlobalStylesProvider from './global-styles-provider';\nimport NavigationSidebar from '../navigation-sidebar';\nimport URLQueryController from '../url-query-controller';\nimport InserterSidebar from '../secondary-sidebar/inserter-sidebar';\nimport ListViewSidebar from '../secondary-sidebar/list-view-sidebar';\nimport ErrorBoundary from '../error-boundary';\nimport { store as editSiteStore } from '../../store';\n\nconst interfaceLabels = {\n\tsecondarySidebar: __( 'Block Library' ),\n\tdrawer: __( 'Navigation Sidebar' ),\n};\n\nfunction Editor( { initialSettings, onError } ) {\n\tconst {\n\t\tisInserterOpen,\n\t\tisListViewOpen,\n\t\tsidebarIsOpened,\n\t\tsettings,\n\t\tentityId,\n\t\ttemplateType,\n\t\tpage,\n\t\ttemplate,\n\t\ttemplateResolved,\n\t\tisNavigationOpen,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tisInserterOpened,\n\t\t\tisListViewOpened,\n\t\t\tgetSettings,\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetPage,\n\t\t\tisNavigationOpened,\n\t\t} = select( editSiteStore );\n\t\tconst { hasFinishedResolution, getEntityRecord } = select( coreStore );\n\t\tconst postType = getEditedPostType();\n\t\tconst postId = getEditedPostId();\n\n\t\t// The currently selected entity to display. Typically template or template part.\n\t\treturn {\n\t\t\tisInserterOpen: isInserterOpened(),\n\t\t\tisListViewOpen: isListViewOpened(),\n\t\t\tsidebarIsOpened: !! select(\n\t\t\t\tinterfaceStore\n\t\t\t).getActiveComplementaryArea( editSiteStore.name ),\n\t\t\tsettings: getSettings(),\n\t\t\ttemplateType: postType,\n\t\t\tpage: getPage(),\n\t\t\ttemplate: postId\n\t\t\t\t? getEntityRecord( 'postType', postType, postId )\n\t\t\t\t: null,\n\t\t\ttemplateResolved: postId\n\t\t\t\t? hasFinishedResolution( 'getEntityRecord', [\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpostType,\n\t\t\t\t\t\tpostId,\n\t\t\t\t ] )\n\t\t\t\t: false,\n\t\t\tentityId: postId,\n\t\t\tisNavigationOpen: isNavigationOpened(),\n\t\t};\n\t}, [] );\n\tconst { updateEditorSettings } = useDispatch( editorStore );\n\tconst { setPage, setIsInserterOpened, updateSettings } = useDispatch(\n\t\teditSiteStore\n\t);\n\tuseEffect( () => {\n\t\tupdateSettings( initialSettings );\n\t}, [] );\n\n\t// Keep the defaultTemplateTypes in the core/editor settings too,\n\t// so that they can be selected with core/editor selectors in any editor.\n\t// This is needed because edit-site doesn't initialize with EditorProvider,\n\t// which internally uses updateEditorSettings as well.\n\tconst { defaultTemplateTypes, defaultTemplatePartAreas } = settings;\n\tuseEffect( () => {\n\t\tupdateEditorSettings( {\n\t\t\tdefaultTemplateTypes,\n\t\t\tdefaultTemplatePartAreas,\n\t\t} );\n\t}, [ defaultTemplateTypes, defaultTemplatePartAreas ] );\n\n\tconst [\n\t\tisEntitiesSavedStatesOpen,\n\t\tsetIsEntitiesSavedStatesOpen,\n\t] = useState( false );\n\tconst openEntitiesSavedStates = useCallback(\n\t\t() => setIsEntitiesSavedStatesOpen( true ),\n\t\t[]\n\t);\n\tconst closeEntitiesSavedStates = useCallback( () => {\n\t\tsetIsEntitiesSavedStatesOpen( false );\n\t}, [] );\n\n\tconst blockContext = useMemo(\n\t\t() => ( {\n\t\t\t...page?.context,\n\t\t\tqueryContext: [\n\t\t\t\tpage?.context.queryContext || { page: 1 },\n\t\t\t\t( newQueryContext ) =>\n\t\t\t\t\tsetPage( {\n\t\t\t\t\t\t...page,\n\t\t\t\t\t\tcontext: {\n\t\t\t\t\t\t\t...page?.context,\n\t\t\t\t\t\t\tqueryContext: {\n\t\t\t\t\t\t\t\t...page?.context.queryContext,\n\t\t\t\t\t\t\t\t...newQueryContext,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ),\n\t\t\t],\n\t\t} ),\n\t\t[ page?.context ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( isNavigationOpen ) {\n\t\t\tdocument.body.classList.add( 'is-navigation-sidebar-open' );\n\t\t} else {\n\t\t\tdocument.body.classList.remove( 'is-navigation-sidebar-open' );\n\t\t}\n\t}, [ isNavigationOpen ] );\n\n\t// Don't render the Editor until the settings are set and loaded\n\tif ( ! settings?.siteUrl ) {\n\t\treturn null;\n\t}\n\n\tconst secondarySidebar = () => {\n\t\tif ( isInserterOpen ) {\n\t\t\treturn <InserterSidebar />;\n\t\t}\n\t\tif ( isListViewOpen ) {\n\t\t\treturn <ListViewSidebar />;\n\t\t}\n\t\treturn null;\n\t};\n\n\treturn (\n\t\t<ShortcutProvider>\n\t\t\t<URLQueryController />\n\t\t\t<SlotFillProvider>\n\t\t\t\t<EntityProvider kind=\"root\" type=\"site\">\n\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\ttype={ templateType }\n\t\t\t\t\t\tid={ entityId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<EntityProvider\n\t\t\t\t\t\t\tkind=\"postType\"\n\t\t\t\t\t\t\ttype=\"wp_global_styles\"\n\t\t\t\t\t\t\tid={\n\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesUserEntityId\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<BlockContextProvider value={ blockContext }>\n\t\t\t\t\t\t\t\t<GlobalStylesProvider\n\t\t\t\t\t\t\t\t\tbaseStyles={\n\t\t\t\t\t\t\t\t\t\tsettings.__experimentalGlobalStylesBaseStyles\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<ErrorBoundary onError={ onError }>\n\t\t\t\t\t\t\t\t\t\t<FullscreenMode isActive />\n\t\t\t\t\t\t\t\t\t\t<UnsavedChangesWarning />\n\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts.Register />\n\t\t\t\t\t\t\t\t\t\t<SidebarComplementaryAreaFills />\n\t\t\t\t\t\t\t\t\t\t<InterfaceSkeleton\n\t\t\t\t\t\t\t\t\t\t\tlabels={ interfaceLabels }\n\t\t\t\t\t\t\t\t\t\t\tdrawer={ <NavigationSidebar /> }\n\t\t\t\t\t\t\t\t\t\t\tsecondarySidebar={ secondarySidebar() }\n\t\t\t\t\t\t\t\t\t\t\tsidebar={\n\t\t\t\t\t\t\t\t\t\t\t\tsidebarIsOpened && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t<ComplementaryArea.Slot scope=\"core/edit-site\" />\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\theader={\n\t\t\t\t\t\t\t\t\t\t\t\t<Header\n\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tnotices={ <EditorSnackbars /> }\n\t\t\t\t\t\t\t\t\t\t\tcontent={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<EditorNotices />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ template && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<BlockEditor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpen={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsetIsInserterOpened\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ templateResolved &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! template &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsettings?.siteUrl &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tentityId && (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tisDismissible={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"You attempted to edit an item that doesn't exist. Perhaps it was deleted?\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t<KeyboardShortcuts />\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tactions={\n\t\t\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ isEntitiesSavedStatesOpen ? (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<EntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclose={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tcloseEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div className=\"edit-site-editor__toggle-save-panel\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-editor__toggle-save-panel-button\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\topenEntitiesSavedStates\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\taria-expanded={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t'Open save panel'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tfooter={ <BlockBreadcrumb /> }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Popover.Slot />\n\t\t\t\t\t\t\t\t\t\t<PluginArea />\n\t\t\t\t\t\t\t\t\t</ErrorBoundary>\n\t\t\t\t\t\t\t\t</GlobalStylesProvider>\n\t\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t\t</EntityProvider>\n\t\t\t\t\t</EntityProvider>\n\t\t\t\t</EntityProvider>\n\t\t\t</SlotFillProvider>\n\t\t</ShortcutProvider>\n\t);\n}\nexport default Editor;\n"]}
|
|
@@ -17,7 +17,7 @@ import { store as editSiteStore } from '../../store';
|
|
|
17
17
|
|
|
18
18
|
export const ROOT_BLOCK_NAME = 'root';
|
|
19
19
|
export const ROOT_BLOCK_SELECTOR = 'body';
|
|
20
|
-
export const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform'];
|
|
20
|
+
export const ROOT_BLOCK_SUPPORTS = ['background', 'backgroundColor', 'color', 'linkColor', 'fontFamily', 'fontSize', 'fontStyle', 'fontWeight', 'lineHeight', 'textDecoration', 'textTransform', 'padding'];
|
|
21
21
|
export const PRESET_METADATA = [{
|
|
22
22
|
path: ['color', 'palette'],
|
|
23
23
|
valueKey: 'color',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["get","find","forEach","camelCase","isString","useSelect","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","store","editSiteStore","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","index","value","key","useSetting","blockName","settings","select","getSettings","topLevelPath","blockPath","result","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,EAAoBC,OAApB,EAA6BC,SAA7B,EAAwCC,QAAxC,QAAwD,QAAxD;AACA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,+BAA+B,IAAIC,gBAA5C,QAAoE,mBAApE;AACA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA;;AACA,OAAO,MAAMC,eAAe,GAAG,MAAxB;AACP,OAAO,MAAMC,mBAAmB,GAAG,MAA5B;AACP,OAAO,MAAMC,mBAAmB,GAAG,CAClC,YADkC,EAElC,iBAFkC,EAGlC,OAHkC,EAIlC,WAJkC,EAKlC,YALkC,EAMlC,UANkC,EAOlC,WAPkC,EAQlC,YARkC,EASlC,YATkC,EAUlC,gBAVkC,EAWlC,eAXkC,CAA5B;AAcP,OAAO,MAAMC,eAAe,GAAG,CAC9B;AACCC,EAAAA,IAAI,EAAE,CAAE,OAAF,EAAW,SAAX,CADP;AAECC,EAAAA,QAAQ,EAAE,OAFX;AAGCC,EAAAA,WAAW,EAAE,OAHd;AAICC,EAAAA,OAAO,EAAE,CACR;AAAEC,IAAAA,WAAW,EAAE,OAAf;AAAwBC,IAAAA,YAAY,EAAE;AAAtC,GADQ,EAER;AACCD,IAAAA,WAAW,EAAE,kBADd;AAECC,IAAAA,YAAY,EAAE;AAFf,GAFQ,EAMR;AACCD,IAAAA,WAAW,EAAE,cADd;AAECC,IAAAA,YAAY,EAAE;AAFf,GANQ;AAJV,CAD8B,EAiB9B;AACCL,EAAAA,IAAI,EAAE,CAAE,OAAF,EAAW,WAAX,CADP;AAECC,EAAAA,QAAQ,EAAE,UAFX;AAGCC,EAAAA,WAAW,EAAE,UAHd;AAICC,EAAAA,OAAO,EAAE,CACR;AACCC,IAAAA,WAAW,EAAE,qBADd;AAECC,IAAAA,YAAY,EAAE;AAFf,GADQ;AAJV,CAjB8B,EA4B9B;AACCL,EAAAA,IAAI,EAAE,CAAE,YAAF,EAAgB,WAAhB,CADP;AAECC,EAAAA,QAAQ,EAAE,MAFX;AAGCC,EAAAA,WAAW,EAAE,WAHd;AAICC,EAAAA,OAAO,EAAE,CAAE;AAAEC,IAAAA,WAAW,EAAE,WAAf;AAA4BC,IAAAA,YAAY,EAAE;AAA1C,GAAF;AAJV,CA5B8B,EAkC9B;AACCL,EAAAA,IAAI,EAAE,CAAE,YAAF,EAAgB,cAAhB,CADP;AAECC,EAAAA,QAAQ,EAAE,YAFX;AAGCC,EAAAA,WAAW,EAAE,aAHd;AAICC,EAAAA,OAAO,EAAE;AAJV,CAlC8B,CAAxB;AA0CP,MAAMG,iCAAiC,GAAG;AACzCC,EAAAA,SAAS,EAAE,OAD8B;AAEzCC,EAAAA,eAAe,EAAE,OAFwB;AAGzCC,EAAAA,UAAU,EAAE;AAH6B,CAA1C;;AAMA,SAASC,kCAAT,CAA6CC,aAA7C,EAA6D;AAC5D,MAAK,CAAED,kCAAkC,CAACE,GAA1C,EAAgD;AAC/CF,IAAAA,kCAAkC,CAACE,GAAnC,GAAyC,EAAzC;AACAb,IAAAA,eAAe,CAACX,OAAhB,CAAyB,CAAE;AAAEc,MAAAA;AAAF,KAAF,EAAmBW,KAAnB,KAA8B;AACtDH,MAAAA,kCAAkC,CAACE,GAAnC,CAAwCvB,SAAS,CAAEa,WAAF,CAAjD,IACCH,eAAe,CAAEc,KAAF,CADhB;AAEA,KAHD;AAIAzB,IAAAA,OAAO,CAAEkB,iCAAF,EAAqC,CAAEQ,KAAF,EAASC,GAAT,KAAkB;AAC7DL,MAAAA,kCAAkC,CAACE,GAAnC,CAAwCG,GAAxC,IACCL,kCAAkC,CAACE,GAAnC,CAAwCE,KAAxC,CADD;AAEA,KAHM,CAAP;AAIA;;AACD,SAAOJ,kCAAkC,CAACE,GAAnC,CAAwCD,aAAxC,CAAP;AACA;;AAED,OAAO,SAASK,UAAT,CAAqBhB,IAArB,EAA2BiB,SAAS,GAAG,EAAvC,EAA4C;AAAA;;AAClD,QAAMC,QAAQ,GAAG3B,SAAS,CAAI4B,MAAF,IAAc;AACzC,WAAOA,MAAM,CAAExB,aAAF,CAAN,CAAwByB,WAAxB,EAAP;AACA,GAFyB,CAA1B;AAGA,QAAMC,YAAY,GAAI,0BAA0BrB,IAAM,EAAtD;AACA,QAAMsB,SAAS,GAAI,iCAAiCL,SAAW,IAAIjB,IAAM,EAAzE;AACA,QAAMuB,MAAM,WAAGrC,GAAG,CAAEgC,QAAF,EAAYI,SAAZ,CAAN,uCAAiCpC,GAAG,CAAEgC,QAAF,EAAYG,YAAZ,CAAhD;;AACA,MAAKE,MAAM,IAAI9B,gBAAgB,CAAEO,IAAF,CAA/B,EAA0C;AAAA;;AACzC,mCAAOuB,MAAM,CAACC,IAAd,uDAAsBD,MAAM,CAACE,KAA7B,uCAAsCF,MAAM,CAACG,IAA7C;AACA;;AACD,SAAOH,MAAP;AACA;;AAED,SAASI,eAAT,CACCC,MADD,EAECC,OAFD,EAGCC,UAHD,EAICC,cAJD,EAKCC,gBALD,EAME;AACD;AACA,QAAMC,sBAAsB,GAAG,CAC9B/C,GAAG,CAAE0C,MAAF,EAAU,CAAE,UAAF,EAAc,QAAd,EAAwBC,OAAxB,EAAiC,GAAGC,UAApC,CAAV,CAD2B,EAE9B5C,GAAG,CAAE0C,MAAF,EAAU,CAAE,UAAF,EAAc,GAAGE,UAAjB,CAAV,CAF2B,CAA/B;;AAIA,OAAM,MAAMI,cAAZ,IAA8BD,sBAA9B,EAAuD;AACtD,QAAKC,cAAL,EAAsB;AACrB;AACA,YAAMC,OAAO,GAAG,CAAE,MAAF,EAAU,OAAV,EAAmB,MAAnB,CAAhB;;AACA,WAAM,MAAMC,MAAZ,IAAsBD,OAAtB,EAAgC;AAC/B,cAAME,OAAO,GAAGH,cAAc,CAAEE,MAAF,CAA9B;;AACA,YAAKC,OAAL,EAAe;AACd,gBAAMC,YAAY,GAAGnD,IAAI,CACxBkD,OADwB,EAEtBE,MAAF,IACCA,MAAM,CAAER,cAAF,CAAN,KAA6BC,gBAHN,CAAzB;;AAKA,cAAKM,YAAL,EAAoB;AACnB,gBAAKP,cAAc,KAAK,MAAxB,EAAiC;AAChC,qBAAOO,YAAP;AACA,aAHkB,CAInB;;;AACA,kBAAME,+BAA+B,GAAGb,eAAe,CACtDC,MADsD,EAEtDC,OAFsD,EAGtDC,UAHsD,EAItD,MAJsD,EAKtDQ,YAAY,CAACG,IALyC,CAAvD;;AAOA,gBACCD,+BAA+B,CAC9BT,cAD8B,CAA/B,KAEMO,YAAY,CAAEP,cAAF,CAHnB,EAIE;AACD,qBAAOO,YAAP;AACA;;AACD,mBAAOI,SAAP;AACA;AACD;AACD;AACD;AACD;AACD;;AAED,OAAO,SAASC,iBAAT,CAA4Bf,MAA5B,EAAoCC,OAApC,EAA6CxB,YAA7C,EAA2DS,KAA3D,EAAmE;AACzE,MAAK,CAAEA,KAAP,EAAe;AACd,WAAOA,KAAP;AACA;;AAED,QAAM8B,QAAQ,GAAGlC,kCAAkC,CAAEL,YAAF,CAAnD;;AACA,MAAK,CAAEuC,QAAP,EAAkB;AACjB;AACA;AACA,WAAO9B,KAAP;AACA;;AACD,QAAM;AAAEb,IAAAA,QAAF;AAAYD,IAAAA,IAAZ;AAAkBE,IAAAA;AAAlB,MAAkC0C,QAAxC;AAEA,QAAMN,YAAY,GAAGX,eAAe,CACnCC,MADmC,EAEnCC,OAFmC,EAGnC7B,IAHmC,EAInCC,QAJmC,EAKnCa,KALmC,CAApC;;AAQA,MAAK,CAAEwB,YAAP,EAAsB;AACrB;AACA;AACA,WAAOxB,KAAP;AACA;;AAED,SAAQ,cAAcZ,WAAa,IAAIoC,YAAY,CAACG,IAAM,EAA1D;AACA;;AAED,SAASI,0BAAT,CACCjB,MADD,EAECX,SAFD,EAGC6B,QAHD,EAIC,CAAEC,UAAF,EAAcN,IAAd,CAJD,EAKE;AACDM,EAAAA,UAAU,GAAG1D,SAAS,CAAE0D,UAAF,CAAtB;AACA,QAAMH,QAAQ,GAAGlC,kCAAkC,CAAEqC,UAAF,CAAnD;;AACA,MAAK,CAAEH,QAAP,EAAkB;AACjB,WAAOE,QAAP;AACA;;AAED,QAAMR,YAAY,GAAGX,eAAe,CACnCC,MADmC,EAEnCX,SAFmC,EAGnC2B,QAAQ,CAAC5C,IAH0B,EAInC,MAJmC,EAKnCyC,IALmC,CAApC;;AAQA,MAAKH,YAAL,EAAoB;AACnB,UAAM;AAAErC,MAAAA;AAAF,QAAe2C,QAArB;AACA,UAAMrB,MAAM,GAAGe,YAAY,CAAErC,QAAF,CAA3B;AACA,WAAO+C,oBAAoB,CAAEpB,MAAF,EAAUX,SAAV,EAAqBM,MAArB,CAA3B;AACA;;AAED,SAAOuB,QAAP;AACA;;AAED,SAASG,0BAAT,CAAqCrB,MAArC,EAA6CX,SAA7C,EAAwD6B,QAAxD,EAAkE9C,IAAlE,EAAyE;AAAA;;AACxE,QAAMuB,MAAM,YACXrC,GAAG,CAAE0C,MAAF,EAAU,CAAE,UAAF,EAAc,QAAd,EAAwBX,SAAxB,EAAmC,QAAnC,EAA6C,GAAGjB,IAAhD,CAAV,CADQ,yCAEXd,GAAG,CAAE0C,MAAF,EAAU,CAAE,UAAF,EAAc,QAAd,EAAwB,GAAG5B,IAA3B,CAAV,CAFJ;;AAGA,MAAK,CAAEuB,MAAP,EAAgB;AACf,WAAOuB,QAAP;AACA,GANuE,CAOxE;;;AACA,SAAOE,oBAAoB,CAAEpB,MAAF,EAAUX,SAAV,EAAqBM,MAArB,CAA3B;AACA;;AAED,OAAO,SAASyB,oBAAT,CAA+BpB,MAA/B,EAAuCX,SAAvC,EAAkD6B,QAAlD,EAA6D;AACnE,MAAK,CAAEA,QAAF,IAAc,CAAExD,QAAQ,CAAEwD,QAAF,CAA7B,EAA4C;AAC3C,WAAOA,QAAP;AACA;;AAED,MAAII,SAAJ;AACA,QAAMC,yBAAyB,GAAG,MAAlC;AACA,QAAMC,oBAAoB,GAAG,YAA7B;AACA,QAAMC,oBAAoB,GAAG,GAA7B;;AACA,MAAKP,QAAQ,CAACQ,UAAT,CAAqBH,yBAArB,CAAL,EAAwD;AACvDD,IAAAA,SAAS,GAAGJ,QAAQ,CAClBS,KADU,CACHJ,yBAAyB,CAACK,MADvB,EAEVC,KAFU,CAEH,GAFG,CAAZ;AAGA,GAJD,MAIO,IACNX,QAAQ,CAACQ,UAAT,CAAqBF,oBAArB,KACAN,QAAQ,CAACY,QAAT,CAAmBL,oBAAnB,CAFM,EAGL;AACDH,IAAAA,SAAS,GAAGJ,QAAQ,CAClBS,KADU,CACHH,oBAAoB,CAACI,MADlB,EAC0B,CAACH,oBAAoB,CAACG,MADhD,EAEVC,KAFU,CAEH,IAFG,CAAZ;AAGA,GAPM,MAOA;AACN;AACA,WAAOX,QAAP;AACA;;AAED,QAAM,CAAEa,IAAF,EAAQ,GAAG3D,IAAX,IAAoBkD,SAA1B;;AACA,MAAKS,IAAI,KAAK,QAAd,EAAyB;AACxB,WAAOd,0BAA0B,CAAEjB,MAAF,EAAUX,SAAV,EAAqB6B,QAArB,EAA+B9C,IAA/B,CAAjC;AACA;;AACD,MAAK2D,IAAI,KAAK,QAAd,EAAyB;AACxB,WAAOV,0BAA0B,CAAErB,MAAF,EAAUX,SAAV,EAAqB6B,QAArB,EAA+B9C,IAA/B,CAAjC;AACA;;AACD,SAAO8C,QAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/editor/utils.js"],"names":["get","find","forEach","camelCase","isString","useSelect","__EXPERIMENTAL_PATHS_WITH_MERGE","PATHS_WITH_MERGE","store","editSiteStore","ROOT_BLOCK_NAME","ROOT_BLOCK_SELECTOR","ROOT_BLOCK_SUPPORTS","PRESET_METADATA","path","valueKey","cssVarInfix","classes","classSuffix","propertyName","STYLE_PROPERTIES_TO_CSS_VAR_INFIX","linkColor","backgroundColor","background","getPresetMetadataFromStyleProperty","styleProperty","MAP","index","value","key","useSetting","blockName","settings","select","getSettings","topLevelPath","blockPath","result","user","theme","core","findInPresetsBy","styles","context","presetPath","presetProperty","presetValueValue","orderedPresetsByOrigin","presetByOrigin","origins","origin","presets","presetObject","preset","highestPresetObjectWithSameSlug","slug","undefined","getPresetVariable","metadata","getValueFromPresetVariable","variable","presetType","getValueFromVariable","getValueFromCustomVariable","parsedVar","INTERNAL_REFERENCE_PREFIX","CSS_REFERENCE_PREFIX","CSS_REFERENCE_SUFFIX","startsWith","slice","length","split","endsWith","type"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, find, forEach, camelCase, isString } from 'lodash';\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { __EXPERIMENTAL_PATHS_WITH_MERGE as PATHS_WITH_MERGE } from '@wordpress/blocks';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\n\n/* Supporting data */\nexport const ROOT_BLOCK_NAME = 'root';\nexport const ROOT_BLOCK_SELECTOR = 'body';\nexport const ROOT_BLOCK_SUPPORTS = [\n\t'background',\n\t'backgroundColor',\n\t'color',\n\t'linkColor',\n\t'fontFamily',\n\t'fontSize',\n\t'fontStyle',\n\t'fontWeight',\n\t'lineHeight',\n\t'textDecoration',\n\t'textTransform',\n\t'padding',\n];\n\nexport const PRESET_METADATA = [\n\t{\n\t\tpath: [ 'color', 'palette' ],\n\t\tvalueKey: 'color',\n\t\tcssVarInfix: 'color',\n\t\tclasses: [\n\t\t\t{ classSuffix: 'color', propertyName: 'color' },\n\t\t\t{\n\t\t\t\tclassSuffix: 'background-color',\n\t\t\t\tpropertyName: 'background-color',\n\t\t\t},\n\t\t\t{\n\t\t\t\tclassSuffix: 'border-color',\n\t\t\t\tpropertyName: 'border-color',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'color', 'gradients' ],\n\t\tvalueKey: 'gradient',\n\t\tcssVarInfix: 'gradient',\n\t\tclasses: [\n\t\t\t{\n\t\t\t\tclassSuffix: 'gradient-background',\n\t\t\t\tpropertyName: 'background',\n\t\t\t},\n\t\t],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontSizes' ],\n\t\tvalueKey: 'size',\n\t\tcssVarInfix: 'font-size',\n\t\tclasses: [ { classSuffix: 'font-size', propertyName: 'font-size' } ],\n\t},\n\t{\n\t\tpath: [ 'typography', 'fontFamilies' ],\n\t\tvalueKey: 'fontFamily',\n\t\tcssVarInfix: 'font-family',\n\t\tclasses: [],\n\t},\n];\n\nconst STYLE_PROPERTIES_TO_CSS_VAR_INFIX = {\n\tlinkColor: 'color',\n\tbackgroundColor: 'color',\n\tbackground: 'gradient',\n};\n\nfunction getPresetMetadataFromStyleProperty( styleProperty ) {\n\tif ( ! getPresetMetadataFromStyleProperty.MAP ) {\n\t\tgetPresetMetadataFromStyleProperty.MAP = {};\n\t\tPRESET_METADATA.forEach( ( { cssVarInfix }, index ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ camelCase( cssVarInfix ) ] =\n\t\t\t\tPRESET_METADATA[ index ];\n\t\t} );\n\t\tforEach( STYLE_PROPERTIES_TO_CSS_VAR_INFIX, ( value, key ) => {\n\t\t\tgetPresetMetadataFromStyleProperty.MAP[ key ] =\n\t\t\t\tgetPresetMetadataFromStyleProperty.MAP[ value ];\n\t\t} );\n\t}\n\treturn getPresetMetadataFromStyleProperty.MAP[ styleProperty ];\n}\n\nexport function useSetting( path, blockName = '' ) {\n\tconst settings = useSelect( ( select ) => {\n\t\treturn select( editSiteStore ).getSettings();\n\t} );\n\tconst topLevelPath = `__experimentalFeatures.${ path }`;\n\tconst blockPath = `__experimentalFeatures.blocks.${ blockName }.${ path }`;\n\tconst result = get( settings, blockPath ) ?? get( settings, topLevelPath );\n\tif ( result && PATHS_WITH_MERGE[ path ] ) {\n\t\treturn result.user ?? result.theme ?? result.core;\n\t}\n\treturn result;\n}\n\nfunction findInPresetsBy(\n\tstyles,\n\tcontext,\n\tpresetPath,\n\tpresetProperty,\n\tpresetValueValue\n) {\n\t// Block presets take priority above root level presets.\n\tconst orderedPresetsByOrigin = [\n\t\tget( styles, [ 'settings', 'blocks', context, ...presetPath ] ),\n\t\tget( styles, [ 'settings', ...presetPath ] ),\n\t];\n\tfor ( const presetByOrigin of orderedPresetsByOrigin ) {\n\t\tif ( presetByOrigin ) {\n\t\t\t// Preset origins ordered by priority.\n\t\t\tconst origins = [ 'user', 'theme', 'core' ];\n\t\t\tfor ( const origin of origins ) {\n\t\t\t\tconst presets = presetByOrigin[ origin ];\n\t\t\t\tif ( presets ) {\n\t\t\t\t\tconst presetObject = find(\n\t\t\t\t\t\tpresets,\n\t\t\t\t\t\t( preset ) =>\n\t\t\t\t\t\t\tpreset[ presetProperty ] === presetValueValue\n\t\t\t\t\t);\n\t\t\t\t\tif ( presetObject ) {\n\t\t\t\t\t\tif ( presetProperty === 'slug' ) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// if there is a highest priority preset with the same slug but different value the preset we found was overwritten and should be ignored.\n\t\t\t\t\t\tconst highestPresetObjectWithSameSlug = findInPresetsBy(\n\t\t\t\t\t\t\tstyles,\n\t\t\t\t\t\t\tcontext,\n\t\t\t\t\t\t\tpresetPath,\n\t\t\t\t\t\t\t'slug',\n\t\t\t\t\t\t\tpresetObject.slug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\thighestPresetObjectWithSameSlug[\n\t\t\t\t\t\t\t\tpresetProperty\n\t\t\t\t\t\t\t] === presetObject[ presetProperty ]\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn presetObject;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn undefined;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n\nexport function getPresetVariable( styles, context, propertyName, value ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\tconst metadata = getPresetMetadataFromStyleProperty( propertyName );\n\tif ( ! metadata ) {\n\t\t// The property doesn't have preset data\n\t\t// so the value should be returned as it is.\n\t\treturn value;\n\t}\n\tconst { valueKey, path, cssVarInfix } = metadata;\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tcontext,\n\t\tpath,\n\t\tvalueKey,\n\t\tvalue\n\t);\n\n\tif ( ! presetObject ) {\n\t\t// Value wasn't found in the presets,\n\t\t// so it must be a custom value.\n\t\treturn value;\n\t}\n\n\treturn `var:preset|${ cssVarInfix }|${ presetObject.slug }`;\n}\n\nfunction getValueFromPresetVariable(\n\tstyles,\n\tblockName,\n\tvariable,\n\t[ presetType, slug ]\n) {\n\tpresetType = camelCase( presetType );\n\tconst metadata = getPresetMetadataFromStyleProperty( presetType );\n\tif ( ! metadata ) {\n\t\treturn variable;\n\t}\n\n\tconst presetObject = findInPresetsBy(\n\t\tstyles,\n\t\tblockName,\n\t\tmetadata.path,\n\t\t'slug',\n\t\tslug\n\t);\n\n\tif ( presetObject ) {\n\t\tconst { valueKey } = metadata;\n\t\tconst result = presetObject[ valueKey ];\n\t\treturn getValueFromVariable( styles, blockName, result );\n\t}\n\n\treturn variable;\n}\n\nfunction getValueFromCustomVariable( styles, blockName, variable, path ) {\n\tconst result =\n\t\tget( styles, [ 'settings', 'blocks', blockName, 'custom', ...path ] ) ??\n\t\tget( styles, [ 'settings', 'custom', ...path ] );\n\tif ( ! result ) {\n\t\treturn variable;\n\t}\n\t// A variable may reference another variable so we need recursion until we find the value.\n\treturn getValueFromVariable( styles, blockName, result );\n}\n\nexport function getValueFromVariable( styles, blockName, variable ) {\n\tif ( ! variable || ! isString( variable ) ) {\n\t\treturn variable;\n\t}\n\n\tlet parsedVar;\n\tconst INTERNAL_REFERENCE_PREFIX = 'var:';\n\tconst CSS_REFERENCE_PREFIX = 'var(--wp--';\n\tconst CSS_REFERENCE_SUFFIX = ')';\n\tif ( variable.startsWith( INTERNAL_REFERENCE_PREFIX ) ) {\n\t\tparsedVar = variable\n\t\t\t.slice( INTERNAL_REFERENCE_PREFIX.length )\n\t\t\t.split( '|' );\n\t} else if (\n\t\tvariable.startsWith( CSS_REFERENCE_PREFIX ) &&\n\t\tvariable.endsWith( CSS_REFERENCE_SUFFIX )\n\t) {\n\t\tparsedVar = variable\n\t\t\t.slice( CSS_REFERENCE_PREFIX.length, -CSS_REFERENCE_SUFFIX.length )\n\t\t\t.split( '--' );\n\t} else {\n\t\t// Value is raw.\n\t\treturn variable;\n\t}\n\n\tconst [ type, ...path ] = parsedVar;\n\tif ( type === 'preset' ) {\n\t\treturn getValueFromPresetVariable( styles, blockName, variable, path );\n\t}\n\tif ( type === 'custom' ) {\n\t\treturn getValueFromCustomVariable( styles, blockName, variable, path );\n\t}\n\treturn variable;\n}\n"]}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/border-panel.js"],"names":["__experimentalBorderRadiusControl","BorderRadiusControl","__experimentalBorderStyleControl","BorderStyleControl","__experimentalColorGradientControl","ColorGradientControl","PanelBody","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__","useSetting","MIN_BORDER_WIDTH","EMPTY_ARRAY","useHasBorderPanel","supports","name","controls","useHasBorderColorControl","useHasBorderRadiusControl","useHasBorderStyleControl","useHasBorderWidthControl","some","Boolean","includes","BorderPanel","context","getStyle","setStyle","units","availableUnits","hasBorderWidth","borderWidthValue","hasBorderStyle","borderStyle","colors","disableCustomColors","disableCustomGradients","hasBorderColor","borderColor","hasBorderRadius","borderRadiusValues","value","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,iCAAiC,IAAIC,mBADtC,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,kCAAkC,IAAIC,oBAHvC,QAIO,yBAJP;AAKA,SACCC,SADD,EAECC,yBAAyB,IAAIC,WAF9B,EAGCC,4BAA4B,IAAIC,cAHjC,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,iBAA3B;AAEA,MAAMC,gBAAgB,GAAG,CAAzB,C,CAEA;AACA;;AACA,MAAMC,WAAW,GAAG,EAApB;AAEA,OAAO,SAASC,iBAAT,CAA4B;AAAEC,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAA5B,EAAiD;AACvD,QAAMC,QAAQ,GAAG,CAChBC,wBAAwB,CAAE;AAAEH,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CADR,EAEhBG,yBAAyB,CAAE;AAAEJ,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAFT,EAGhBI,wBAAwB,CAAE;AAAEL,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAHR,EAIhBK,wBAAwB,CAAE;AAAEN,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAJR,CAAjB;AAOA,SAAOC,QAAQ,CAACK,IAAT,CAAeC,OAAf,CAAP;AACA;;AAED,SAASL,wBAAT,CAAmC;AAAEH,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAnC,EAAwD;AACvD,SACCL,UAAU,CAAE,oBAAF,EAAwBK,IAAxB,CAAV,IACAD,QAAQ,CAACS,QAAT,CAAmB,aAAnB,CAFD;AAIA;;AAED,SAASL,yBAAT,CAAoC;AAAEJ,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAApC,EAAyD;AACxD,SACCL,UAAU,CAAE,qBAAF,EAAyBK,IAAzB,CAAV,IACAD,QAAQ,CAACS,QAAT,CAAmB,cAAnB,CAFD;AAIA;;AAED,SAASJ,wBAAT,CAAmC;AAAEL,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAnC,EAAwD;AACvD,SACCL,UAAU,CAAE,oBAAF,EAAwBK,IAAxB,CAAV,IACAD,QAAQ,CAACS,QAAT,CAAmB,aAAnB,CAFD;AAIA;;AAED,SAASH,wBAAT,CAAmC;AAAEN,EAAAA,QAAF;AAAYC,EAAAA;AAAZ,CAAnC,EAAwD;AACvD,SACCL,UAAU,CAAE,oBAAF,EAAwBK,IAAxB,CAAV,IACAD,QAAQ,CAACS,QAAT,CAAmB,aAAnB,CAFD;AAIA;;AAED,eAAe,SAASC,WAAT,CAAsB;AACpCC,EAAAA,OAAO,EAAE;AAAEX,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAD2B;AAEpCW,EAAAA,QAFoC;AAGpCC,EAAAA;AAHoC,CAAtB,EAIX;AACH,QAAMC,KAAK,GAAGpB,cAAc,CAAE;AAC7BqB,IAAAA,cAAc,EAAEnB,UAAU,CAAE,eAAF,CAAV,IAAiC,CAAE,IAAF,EAAQ,IAAR,EAAc,KAAd;AADpB,GAAF,CAA5B,CADG,CAKH;;AACA,QAAMoB,cAAc,GAAGV,wBAAwB,CAAE;AAAEN,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAA/C;AACA,QAAMgB,gBAAgB,GAAGL,QAAQ,CAAEX,IAAF,EAAQ,aAAR,CAAjC,CAPG,CASH;;AACA,QAAMiB,cAAc,GAAGb,wBAAwB,CAAE;AAAEL,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAA/C;AACA,QAAMkB,WAAW,GAAGP,QAAQ,CAAEX,IAAF,EAAQ,aAAR,CAA5B,CAXG,CAaH;;AACA,QAAMmB,MAAM,GAAGxB,UAAU,CAAE,eAAF,CAAV,IAAiCE,WAAhD;AACA,QAAMuB,mBAAmB,GAAG,CAAEzB,UAAU,CAAE,cAAF,CAAxC;AACA,QAAM0B,sBAAsB,GAAG,CAAE1B,UAAU,CAAE,sBAAF,CAA3C;AACA,QAAM2B,cAAc,GAAGpB,wBAAwB,CAAE;AAAEH,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAA/C;AACA,QAAMuB,WAAW,GAAGZ,QAAQ,CAAEX,IAAF,EAAQ,aAAR,CAA5B,CAlBG,CAoBH;;AACA,QAAMwB,eAAe,GAAGrB,yBAAyB,CAAE;AAAEJ,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GAAF,CAAjD;AACA,QAAMyB,kBAAkB,GAAGd,QAAQ,CAAEX,IAAF,EAAQ,cAAR,CAAnC;AAEA,SACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGN,EAAE,CAAE,QAAF,CAArB;AAAoC,IAAA,WAAW,EAAG;AAAlD,KACG,CAAEqB,cAAc,IAAIE,cAApB,KACD;AAAK,IAAA,SAAS,EAAC;AAAf,KACGF,cAAc,IACf,cAAC,WAAD;AACC,IAAA,KAAK,EAAGC,gBADT;AAEC,IAAA,KAAK,EAAGtB,EAAE,CAAE,OAAF,CAFX;AAGC,IAAA,GAAG,EAAGE,gBAHP;AAIC,IAAA,QAAQ,EAAK8B,KAAF,IAAa;AACvBd,MAAAA,QAAQ,CACPZ,IADO,EAEP,aAFO,EAGP0B,KAAK,IAAIC,SAHF,CAAR;AAKA,KAVF;AAWC,IAAA,KAAK,EAAGd;AAXT,IAFF,EAgBGI,cAAc,IACf,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGC,WADT;AAEC,IAAA,QAAQ,EAAKQ,KAAF,IACVd,QAAQ,CAAEZ,IAAF,EAAQ,aAAR,EAAuB0B,KAAvB;AAHV,IAjBF,CAFF,EA4BGJ,cAAc,IACf,cAAC,oBAAD;AACC,IAAA,KAAK,EAAG5B,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,UAAU,EAAG6B,WAFd;AAGC,IAAA,MAAM,EAAGJ,MAHV;AAIC,IAAA,SAAS,EAAGQ,SAJb;AAKC,IAAA,mBAAmB,EAAGP,mBALvB;AAMC,IAAA,sBAAsB,EAAGC,sBAN1B;AAOC,IAAA,aAAa,EAAKK,KAAF,IACfd,QAAQ,CAAEZ,IAAF,EAAQ,aAAR,EAAuB0B,KAAvB;AARV,IA7BF,EAyCGF,eAAe,IAChB,cAAC,mBAAD;AACC,IAAA,MAAM,EAAGC,kBADV;AAEC,IAAA,QAAQ,EAAKC,KAAF,IACVd,QAAQ,CAAEZ,IAAF,EAAQ,cAAR,EAAwB0B,KAAxB;AAHV,IA1CF,CADD;AAoDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalBorderRadiusControl as BorderRadiusControl,\n\t__experimentalBorderStyleControl as BorderStyleControl,\n\t__experimentalColorGradientControl as ColorGradientControl,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\n\nconst MIN_BORDER_WIDTH = 0;\n\n// Defining empty array here instead of inline avoids unnecessary re-renders of\n// color control.\nconst EMPTY_ARRAY = [];\n\nexport function useHasBorderPanel( { supports, name } ) {\n\tconst controls = [\n\t\tuseHasBorderColorControl( { supports, name } ),\n\t\tuseHasBorderRadiusControl( { supports, name } ),\n\t\tuseHasBorderStyleControl( { supports, name } ),\n\t\tuseHasBorderWidthControl( { supports, name } ),\n\t];\n\n\treturn controls.some( Boolean );\n}\n\nfunction useHasBorderColorControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customColor', name ) &&\n\t\tsupports.includes( 'borderColor' )\n\t);\n}\n\nfunction useHasBorderRadiusControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customRadius', name ) &&\n\t\tsupports.includes( 'borderRadius' )\n\t);\n}\n\nfunction useHasBorderStyleControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customStyle', name ) &&\n\t\tsupports.includes( 'borderStyle' )\n\t);\n}\n\nfunction useHasBorderWidthControl( { supports, name } ) {\n\treturn (\n\t\tuseSetting( 'border.customWidth', name ) &&\n\t\tsupports.includes( 'borderWidth' )\n\t);\n}\n\nexport default function BorderPanel( {\n\tcontext: { supports, name },\n\tgetStyle,\n\tsetStyle,\n} ) {\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [ 'px', 'em', 'rem' ],\n\t} );\n\n\t// Border width.\n\tconst hasBorderWidth = useHasBorderWidthControl( { supports, name } );\n\tconst borderWidthValue = getStyle( name, 'borderWidth' );\n\n\t// Border style.\n\tconst hasBorderStyle = useHasBorderStyleControl( { supports, name } );\n\tconst borderStyle = getStyle( name, 'borderStyle' );\n\n\t// Border color.\n\tconst colors = useSetting( 'color.palette' ) || EMPTY_ARRAY;\n\tconst disableCustomColors = ! useSetting( 'color.custom' );\n\tconst disableCustomGradients = ! useSetting( 'color.customGradient' );\n\tconst hasBorderColor = useHasBorderColorControl( { supports, name } );\n\tconst borderColor = getStyle( name, 'borderColor' );\n\n\t// Border radius.\n\tconst hasBorderRadius = useHasBorderRadiusControl( { supports, name } );\n\tconst borderRadiusValues = getStyle( name, 'borderRadius' );\n\n\treturn (\n\t\t<PanelBody title={ __( 'Border' ) } initialOpen={ true }>\n\t\t\t{ ( hasBorderWidth || hasBorderStyle ) && (\n\t\t\t\t<div className=\"edit-site-global-styles-sidebar__border-controls-row\">\n\t\t\t\t\t{ hasBorderWidth && (\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tvalue={ borderWidthValue }\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tmin={ MIN_BORDER_WIDTH }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetStyle(\n\t\t\t\t\t\t\t\t\tname,\n\t\t\t\t\t\t\t\t\t'borderWidth',\n\t\t\t\t\t\t\t\t\tvalue || undefined\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasBorderStyle && (\n\t\t\t\t\t\t<BorderStyleControl\n\t\t\t\t\t\t\tvalue={ borderStyle }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetStyle( name, 'borderStyle', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t{ hasBorderColor && (\n\t\t\t\t<ColorGradientControl\n\t\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\t\tcolorValue={ borderColor }\n\t\t\t\t\tcolors={ colors }\n\t\t\t\t\tgradients={ undefined }\n\t\t\t\t\tdisableCustomColors={ disableCustomColors }\n\t\t\t\t\tdisableCustomGradients={ disableCustomGradients }\n\t\t\t\t\tonColorChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderColor', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBorderRadius && (\n\t\t\t\t<BorderRadiusControl\n\t\t\t\t\tvalues={ borderRadiusValues }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetStyle( name, 'borderRadius', value )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n}\n"]}
|
|
@@ -52,7 +52,9 @@ export default function ColorPalettePanel({
|
|
|
52
52
|
slug
|
|
53
53
|
}) => slug);
|
|
54
54
|
}, [contextName]);
|
|
55
|
-
return createElement(
|
|
55
|
+
return createElement("div", {
|
|
56
|
+
className: "edit-site-global-styles-color-palette-panel"
|
|
57
|
+
}, createElement(ColorEdit, {
|
|
56
58
|
immutableColorSlugs: immutableColorSlugs,
|
|
57
59
|
colors: colors,
|
|
58
60
|
onChange: newColors => {
|
|
@@ -60,6 +62,6 @@ export default function ColorPalettePanel({
|
|
|
60
62
|
},
|
|
61
63
|
emptyUI: __('Colors are empty! Add some colors to create your own color palette.'),
|
|
62
64
|
canReset: colors === userColors
|
|
63
|
-
});
|
|
65
|
+
}));
|
|
64
66
|
}
|
|
65
67
|
//# sourceMappingURL=color-palette-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/color-palette-panel.js"],"names":["get","__experimentalColorEdit","ColorEdit","__","useSelect","useSetting","store","editSiteStore","EMPTY_ARRAY","ColorPalettePanel","contextName","getSetting","setSetting","colors","userColors","immutableColorSlugs","select","baseStyles","getSettings","__experimentalGlobalStylesBaseStyles","contextualBasePalette","globalPalette","basePalette","theme","core","map","slug","newColors"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA;AACA;AACA;;AACA,SAASC,uBAAuB,IAAIC,SAApC,QAAqD,uBAArD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AAEA;AACA;AACA;;AACA,SAASC,UAAT,QAA2B,iBAA3B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,aAAvC;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,WAAW,GAAG,EAApB;AAEA,eAAe,SAASC,iBAAT,CAA4B;AAC1CC,EAAAA,WAD0C;AAE1CC,EAAAA,UAF0C;AAG1CC,EAAAA;AAH0C,CAA5B,EAIX;AACH,QAAMC,MAAM,GAAGR,UAAU,CAAE,eAAF,EAAmBK,WAAnB,CAAzB;AACA,QAAMI,UAAU,GAAGH,UAAU,CAAED,WAAF,EAAe,eAAf,CAA7B;AACA,QAAMK,mBAAmB,GAAGX,SAAS,CAClCY,MAAF,IAAc;AAAA;;AACb,UAAMC,UAAU,GAAGD,MAAM,CAAET,aAAF,CAAN,CAAwBW,WAAxB,GACjBC,oCADF;;AAEA,UAAMC,qBAAqB,GAAGpB,GAAG,CAAEiB,UAAF,EAAc,CAC9C,UAD8C,EAE9C,QAF8C,EAG9CP,WAH8C,EAI9C,OAJ8C,EAK9C,SAL8C,CAAd,CAAjC;AAOA,UAAMW,aAAa,GAAGrB,GAAG,CAAEiB,UAAF,EAAc,CACtC,UADsC,EAEtC,OAFsC,EAGtC,SAHsC,CAAd,CAAzB;AAKA,UAAMK,WAAW,6CAChBF,qBADgB,aAChBA,qBADgB,uBAChBA,qBAAqB,CAAEG,KADP,yEAEhBH,qBAFgB,aAEhBA,qBAFgB,uBAEhBA,qBAAqB,CAAEI,IAFP,yCAGhBH,aAHgB,aAGhBA,aAHgB,uBAGhBA,aAAa,CAAEE,KAHC,uCAIhBF,aAJgB,aAIhBA,aAJgB,uBAIhBA,aAAa,CAAEG,IAJhB;;AAKA,QAAK,CAAEF,WAAP,EAAqB;AACpB,aAAOd,WAAP;AACA;;AACD,WAAOc,WAAW,CAACG,GAAZ,CAAiB,CAAE;AAAEC,MAAAA;AAAF,KAAF,KAAgBA,IAAjC,CAAP;AACA,GAzBmC,EA0BpC,CAAEhB,WAAF,CA1BoC,CAArC;AA4BA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,SAAD;AACC,IAAA,mBAAmB,EAAGK,mBADvB;AAEC,IAAA,MAAM,EAAGF,MAFV;AAGC,IAAA,QAAQ,EAAKc,SAAF,IAAiB;AAC3Bf,MAAAA,UAAU,CAAEF,WAAF,EAAe,eAAf,EAAgCiB,SAAhC,CAAV;AACA,KALF;AAMC,IAAA,OAAO,EAAGxB,EAAE,CACX,qEADW,CANb;AASC,IAAA,QAAQ,EAAGU,MAAM,KAAKC;AATvB,IADD,CADD;AAeA","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __experimentalColorEdit as ColorEdit } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\nimport { store as editSiteStore } from '../../store';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation, as in a connected or\n * other pure component which performs `shouldComponentUpdate` check on props.\n * This should be used as a last resort, since the normalized data should be\n * maintained by the reducer result in state.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport default function ColorPalettePanel( {\n\tcontextName,\n\tgetSetting,\n\tsetSetting,\n} ) {\n\tconst colors = useSetting( 'color.palette', contextName );\n\tconst userColors = getSetting( contextName, 'color.palette' );\n\tconst immutableColorSlugs = useSelect(\n\t\t( select ) => {\n\t\t\tconst baseStyles = select( editSiteStore ).getSettings()\n\t\t\t\t.__experimentalGlobalStylesBaseStyles;\n\t\t\tconst contextualBasePalette = get( baseStyles, [\n\t\t\t\t'settings',\n\t\t\t\t'blocks',\n\t\t\t\tcontextName,\n\t\t\t\t'color',\n\t\t\t\t'palette',\n\t\t\t] );\n\t\t\tconst globalPalette = get( baseStyles, [\n\t\t\t\t'settings',\n\t\t\t\t'color',\n\t\t\t\t'palette',\n\t\t\t] );\n\t\t\tconst basePalette =\n\t\t\t\tcontextualBasePalette?.theme ??\n\t\t\t\tcontextualBasePalette?.core ??\n\t\t\t\tglobalPalette?.theme ??\n\t\t\t\tglobalPalette?.core;\n\t\t\tif ( ! basePalette ) {\n\t\t\t\treturn EMPTY_ARRAY;\n\t\t\t}\n\t\t\treturn basePalette.map( ( { slug } ) => slug );\n\t\t},\n\t\t[ contextName ]\n\t);\n\treturn (\n\t\t<div className=\"edit-site-global-styles-color-palette-panel\">\n\t\t\t<ColorEdit\n\t\t\t\timmutableColorSlugs={ immutableColorSlugs }\n\t\t\t\tcolors={ colors }\n\t\t\t\tonChange={ ( newColors ) => {\n\t\t\t\t\tsetSetting( contextName, 'color.palette', newColors );\n\t\t\t\t} }\n\t\t\t\temptyUI={ __(\n\t\t\t\t\t'Colors are empty! Add some colors to create your own color palette.'\n\t\t\t\t) }\n\t\t\t\tcanReset={ colors === userColors }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
@@ -10,7 +10,7 @@ import { __ } from '@wordpress/i18n';
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { useSetting } from '../editor/utils';
|
|
13
|
-
import
|
|
13
|
+
import Palette from './palette';
|
|
14
14
|
export function useHasColorPanel({
|
|
15
15
|
supports
|
|
16
16
|
}) {
|
|
@@ -22,9 +22,7 @@ export default function ColorPanel({
|
|
|
22
22
|
name
|
|
23
23
|
},
|
|
24
24
|
getStyle,
|
|
25
|
-
setStyle
|
|
26
|
-
getSetting,
|
|
27
|
-
setSetting
|
|
25
|
+
setStyle
|
|
28
26
|
}) {
|
|
29
27
|
const solids = useSetting('color.palette', name);
|
|
30
28
|
const gradients = useSetting('color.gradients', name);
|
|
@@ -98,18 +96,16 @@ export default function ColorPanel({
|
|
|
98
96
|
});
|
|
99
97
|
}
|
|
100
98
|
|
|
101
|
-
return createElement(
|
|
99
|
+
return createElement(Fragment, null, createElement(Palette, {
|
|
100
|
+
contextName: name
|
|
101
|
+
}), createElement(PanelColorGradientSettings, {
|
|
102
102
|
title: __('Color'),
|
|
103
103
|
settings: settings,
|
|
104
104
|
colors: solids,
|
|
105
105
|
gradients: gradients,
|
|
106
106
|
disableCustomColors: !areCustomSolidsEnabled,
|
|
107
|
-
disableCustomGradients: !areCustomGradientsEnabled
|
|
108
|
-
|
|
109
|
-
key: 'color-palette-panel-' + name,
|
|
110
|
-
contextName: name,
|
|
111
|
-
getSetting: getSetting,
|
|
112
|
-
setSetting: setSetting
|
|
107
|
+
disableCustomGradients: !areCustomGradientsEnabled,
|
|
108
|
+
showTitle: false
|
|
113
109
|
}));
|
|
114
110
|
}
|
|
115
111
|
//# sourceMappingURL=color-panel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/color-panel.js"],"names":["__experimentalPanelColorGradientSettings","PanelColorGradientSettings","__","useSetting","Palette","useHasColorPanel","supports","includes","ColorPanel","context","name","getStyle","setStyle","solids","gradients","areCustomSolidsEnabled","areCustomGradientsEnabled","isLinkEnabled","isTextEnabled","isBackgroundEnabled","hasLinkColor","length","hasTextColor","hasBackgroundColor","hasGradientColor","settings","color","userColor","push","colorValue","onColorChange","value","label","clearable","backgroundSettings","backgroundColor","userBackgroundColor","gradientSettings","gradient","userGradient","gradientValue","onGradientChange"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalPanelColorGradientSettings as PanelColorGradientSettings } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\n\nimport { useSetting } from '../editor/utils';\nimport Palette from './palette';\n\nexport function useHasColorPanel( { supports } ) {\n\treturn (\n\t\tsupports.includes( 'color' ) ||\n\t\tsupports.includes( 'backgroundColor' ) ||\n\t\tsupports.includes( 'background' ) ||\n\t\tsupports.includes( 'linkColor' )\n\t);\n}\n\nexport default function ColorPanel( {\n\tcontext: { supports, name },\n\tgetStyle,\n\tsetStyle,\n} ) {\n\tconst solids = useSetting( 'color.palette', name );\n\tconst gradients = useSetting( 'color.gradients', name );\n\tconst areCustomSolidsEnabled = useSetting( 'color.custom', name );\n\tconst areCustomGradientsEnabled = useSetting(\n\t\t'color.customGradient',\n\t\tname\n\t);\n\tconst isLinkEnabled = useSetting( 'color.link', name );\n\tconst isTextEnabled = useSetting( 'color.text', name );\n\tconst isBackgroundEnabled = useSetting( 'color.background', name );\n\n\tconst hasLinkColor =\n\t\tsupports.includes( 'linkColor' ) &&\n\t\tisLinkEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasTextColor =\n\t\tsupports.includes( 'color' ) &&\n\t\tisTextEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasBackgroundColor =\n\t\tsupports.includes( 'backgroundColor' ) &&\n\t\tisBackgroundEnabled &&\n\t\t( solids.length > 0 || areCustomSolidsEnabled );\n\tconst hasGradientColor =\n\t\tsupports.includes( 'background' ) &&\n\t\t( gradients.length > 0 || areCustomGradientsEnabled );\n\n\tconst settings = [];\n\n\tif ( hasTextColor ) {\n\t\tconst color = getStyle( name, 'color' );\n\t\tconst userColor = getStyle( name, 'color', 'user' );\n\t\tsettings.push( {\n\t\t\tcolorValue: color,\n\t\t\tonColorChange: ( value ) => setStyle( name, 'color', value ),\n\t\t\tlabel: __( 'Text color' ),\n\t\t\tclearable: color === userColor,\n\t\t} );\n\t}\n\n\tlet backgroundSettings = {};\n\tif ( hasBackgroundColor ) {\n\t\tconst backgroundColor = getStyle( name, 'backgroundColor' );\n\t\tconst userBackgroundColor = getStyle( name, 'backgroundColor', 'user' );\n\t\tbackgroundSettings = {\n\t\t\tcolorValue: backgroundColor,\n\t\t\tonColorChange: ( value ) =>\n\t\t\t\tsetStyle( name, 'backgroundColor', value ),\n\t\t};\n\t\tif ( backgroundColor ) {\n\t\t\tbackgroundSettings.clearable =\n\t\t\t\tbackgroundColor === userBackgroundColor;\n\t\t}\n\t}\n\n\tlet gradientSettings = {};\n\tif ( hasGradientColor ) {\n\t\tconst gradient = getStyle( name, 'background' );\n\t\tconst userGradient = getStyle( name, 'background', 'user' );\n\t\tgradientSettings = {\n\t\t\tgradientValue: gradient,\n\t\t\tonGradientChange: ( value ) =>\n\t\t\t\tsetStyle( name, 'background', value ),\n\t\t};\n\t\tif ( gradient ) {\n\t\t\tgradientSettings.clearable = gradient === userGradient;\n\t\t}\n\t}\n\n\tif ( hasBackgroundColor || hasGradientColor ) {\n\t\tsettings.push( {\n\t\t\t...backgroundSettings,\n\t\t\t...gradientSettings,\n\t\t\tlabel: __( 'Background color' ),\n\t\t} );\n\t}\n\n\tif ( hasLinkColor ) {\n\t\tconst color = getStyle( name, 'linkColor' );\n\t\tconst userColor = getStyle( name, 'linkColor', 'user' );\n\t\tsettings.push( {\n\t\t\tcolorValue: color,\n\t\t\tonColorChange: ( value ) => setStyle( name, 'linkColor', value ),\n\t\t\tlabel: __( 'Link color' ),\n\t\t\tclearable: color === userColor,\n\t\t} );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<Palette contextName={ name } />\n\t\t\t<PanelColorGradientSettings\n\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\tsettings={ settings }\n\t\t\t\tcolors={ solids }\n\t\t\t\tgradients={ gradients }\n\t\t\t\tdisableCustomColors={ ! areCustomSolidsEnabled }\n\t\t\t\tdisableCustomGradients={ ! areCustomGradientsEnabled }\n\t\t\t\tshowTitle={ false }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { __experimentalItemGroup as ItemGroup } from '@wordpress/components';
|
|
7
|
+
import { typography, color, layout } from '@wordpress/icons';
|
|
8
|
+
import { __ } from '@wordpress/i18n';
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { useHasBorderPanel } from './border-panel';
|
|
14
|
+
import { useHasColorPanel } from './color-panel';
|
|
15
|
+
import { useHasDimensionsPanel } from './dimensions-panel';
|
|
16
|
+
import { useHasTypographyPanel } from './typography-panel';
|
|
17
|
+
import NavigationButton from './navigation-button';
|
|
18
|
+
|
|
19
|
+
function ContextMenu({
|
|
20
|
+
context,
|
|
21
|
+
parentMenu = ''
|
|
22
|
+
}) {
|
|
23
|
+
const hasTypographyPanel = useHasTypographyPanel(context);
|
|
24
|
+
const hasColorPanel = useHasColorPanel(context);
|
|
25
|
+
const hasBorderPanel = useHasBorderPanel(context);
|
|
26
|
+
const hasDimensionsPanel = useHasDimensionsPanel(context);
|
|
27
|
+
const hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;
|
|
28
|
+
return createElement(ItemGroup, null, hasTypographyPanel && createElement(NavigationButton, {
|
|
29
|
+
icon: typography,
|
|
30
|
+
path: parentMenu + '/typography'
|
|
31
|
+
}, __('Typography')), hasColorPanel && createElement(NavigationButton, {
|
|
32
|
+
icon: color,
|
|
33
|
+
path: parentMenu + '/colors'
|
|
34
|
+
}, __('Colors')), hasLayoutPanel && createElement(NavigationButton, {
|
|
35
|
+
icon: layout,
|
|
36
|
+
path: parentMenu + '/layout'
|
|
37
|
+
}, __('Layout')));
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default ContextMenu;
|
|
41
|
+
//# sourceMappingURL=context-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/context-menu.js"],"names":["__experimentalItemGroup","ItemGroup","typography","color","layout","__","useHasBorderPanel","useHasColorPanel","useHasDimensionsPanel","useHasTypographyPanel","NavigationButton","ContextMenu","context","parentMenu","hasTypographyPanel","hasColorPanel","hasBorderPanel","hasDimensionsPanel","hasLayoutPanel"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,uBAAuB,IAAIC,SAApC,QAAqD,uBAArD;AACA,SAASC,UAAT,EAAqBC,KAArB,EAA4BC,MAA5B,QAA0C,kBAA1C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,iBAAT,QAAkC,gBAAlC;AACA,SAASC,gBAAT,QAAiC,eAAjC;AACA,SAASC,qBAAT,QAAsC,oBAAtC;AACA,SAASC,qBAAT,QAAsC,oBAAtC;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;;AAEA,SAASC,WAAT,CAAsB;AAAEC,EAAAA,OAAF;AAAWC,EAAAA,UAAU,GAAG;AAAxB,CAAtB,EAAqD;AACpD,QAAMC,kBAAkB,GAAGL,qBAAqB,CAAEG,OAAF,CAAhD;AACA,QAAMG,aAAa,GAAGR,gBAAgB,CAAEK,OAAF,CAAtC;AACA,QAAMI,cAAc,GAAGV,iBAAiB,CAAEM,OAAF,CAAxC;AACA,QAAMK,kBAAkB,GAAGT,qBAAqB,CAAEI,OAAF,CAAhD;AACA,QAAMM,cAAc,GAAGF,cAAc,IAAIC,kBAAzC;AAEA,SACC,cAAC,SAAD,QACGH,kBAAkB,IACnB,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGZ,UADR;AAEC,IAAA,IAAI,EAAGW,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,YAAF,CAJL,CAFF,EASGU,aAAa,IACd,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGZ,KADR;AAEC,IAAA,IAAI,EAAGU,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,QAAF,CAJL,CAVF,EAiBGa,cAAc,IACf,cAAC,gBAAD;AACC,IAAA,IAAI,EAAGd,MADR;AAEC,IAAA,IAAI,EAAGS,UAAU,GAAG;AAFrB,KAIGR,EAAE,CAAE,QAAF,CAJL,CAlBF,CADD;AA4BA;;AAED,eAAeM,WAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalItemGroup as ItemGroup } from '@wordpress/components';\nimport { typography, color, layout } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useHasBorderPanel } from './border-panel';\nimport { useHasColorPanel } from './color-panel';\nimport { useHasDimensionsPanel } from './dimensions-panel';\nimport { useHasTypographyPanel } from './typography-panel';\nimport NavigationButton from './navigation-button';\n\nfunction ContextMenu( { context, parentMenu = '' } ) {\n\tconst hasTypographyPanel = useHasTypographyPanel( context );\n\tconst hasColorPanel = useHasColorPanel( context );\n\tconst hasBorderPanel = useHasBorderPanel( context );\n\tconst hasDimensionsPanel = useHasDimensionsPanel( context );\n\tconst hasLayoutPanel = hasBorderPanel || hasDimensionsPanel;\n\n\treturn (\n\t\t<ItemGroup>\n\t\t\t{ hasTypographyPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ typography }\n\t\t\t\t\tpath={ parentMenu + '/typography' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Typography' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t\t{ hasColorPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ color }\n\t\t\t\t\tpath={ parentMenu + '/colors' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Colors' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t\t{ hasLayoutPanel && (\n\t\t\t\t<NavigationButton\n\t\t\t\t\ticon={ layout }\n\t\t\t\t\tpath={ parentMenu + '/layout' }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Layout' ) }\n\t\t\t\t</NavigationButton>\n\t\t\t) }\n\t\t</ItemGroup>\n\t);\n}\n\nexport default ContextMenu;\n"]}
|
|
@@ -107,7 +107,7 @@ export default function DimensionsPanel({
|
|
|
107
107
|
|
|
108
108
|
const resetPaddingValue = () => setPaddingValues({});
|
|
109
109
|
|
|
110
|
-
const hasPaddingValue = () => paddingValues && Object.keys(paddingValues).length;
|
|
110
|
+
const hasPaddingValue = () => !!paddingValues && Object.keys(paddingValues).length;
|
|
111
111
|
|
|
112
112
|
const marginValues = splitStyleValue(getStyle(name, 'margin'));
|
|
113
113
|
const marginSides = useCustomSides(name, 'margin');
|
|
@@ -120,7 +120,7 @@ export default function DimensionsPanel({
|
|
|
120
120
|
|
|
121
121
|
const resetMarginValue = () => setMarginValues({});
|
|
122
122
|
|
|
123
|
-
const hasMarginValue = () => marginValues && Object.keys(marginValues).length;
|
|
123
|
+
const hasMarginValue = () => !!marginValues && Object.keys(marginValues).length;
|
|
124
124
|
|
|
125
125
|
const gapValue = getStyle(name, '--wp--style--block-gap');
|
|
126
126
|
|
|
@@ -139,8 +139,7 @@ export default function DimensionsPanel({
|
|
|
139
139
|
};
|
|
140
140
|
|
|
141
141
|
return createElement(ToolsPanel, {
|
|
142
|
-
label: __('Dimensions
|
|
143
|
-
header: __('Dimensions'),
|
|
142
|
+
label: __('Dimensions'),
|
|
144
143
|
resetAll: resetAll
|
|
145
144
|
}, showPaddingControl && createElement(ToolsPanelItem, {
|
|
146
145
|
hasValue: hasPaddingValue,
|
|
@@ -169,13 +168,13 @@ export default function DimensionsPanel({
|
|
|
169
168
|
allowReset: false,
|
|
170
169
|
splitOnAxis: isAxialMargin
|
|
171
170
|
})), showGapControl && createElement(ToolsPanelItem, {
|
|
172
|
-
className: "single-column",
|
|
173
171
|
hasValue: hasGapValue,
|
|
174
|
-
label: __('Block
|
|
172
|
+
label: __('Block spacing'),
|
|
175
173
|
onDeselect: resetGapValue,
|
|
176
174
|
isShownByDefault: true
|
|
177
175
|
}, createElement(UnitControl, {
|
|
178
|
-
label: __('Block
|
|
176
|
+
label: __('Block spacing'),
|
|
177
|
+
__unstableInputWidth: "80px",
|
|
179
178
|
min: 0,
|
|
180
179
|
onChange: setGapValue,
|
|
181
180
|
units: units,
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUseCustomSides","useCustomSides","useSetting","AXIAL_SIDES","useHasDimensionsPanel","context","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","name","supports","settings","includes","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","DimensionsPanel","getStyle","setStyle","showPaddingControl","showMarginControl","showGapControl","units","availableUnits","paddingValues","paddingSides","isAxialPadding","some","setPaddingValues","newPaddingValues","padding","resetPaddingValue","hasPaddingValue","Object","keys","length","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","margin","resetMarginValue","hasMarginValue","gapValue","setGapValue","newGapValue","resetGapValue","undefined","hasGapValue","resetAll"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __experimentalUseCustomSides as useCustomSides } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../editor/utils';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( context ) {\n\tconst hasPadding = useHasPadding( context );\n\tconst hasMargin = useHasMargin( context );\n\tconst hasGap = useHasGap( context );\n\n\treturn hasPadding || hasMargin || hasGap;\n}\n\nfunction useHasPadding( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.customPadding', name );\n\n\treturn settings && supports.includes( 'padding' );\n}\n\nfunction useHasMargin( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.customMargin', name );\n\n\treturn settings && supports.includes( 'margin' );\n}\n\nfunction useHasGap( { name, supports } ) {\n\tconst settings = useSetting( 'spacing.blockGap', name );\n\n\treturn settings && supports.includes( '--wp--style--block-gap' );\n}\n\nfunction filterValuesBySides( values, sides ) {\n\tif ( ! sides ) {\n\t\t// If no custom side configuration all sides are opted into by default.\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value ( a string value ).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nexport default function DimensionsPanel( { context, getStyle, setStyle } ) {\n\tconst { name } = context;\n\tconst showPaddingControl = useHasPadding( context );\n\tconst showMarginControl = useHasMargin( context );\n\tconst showGapControl = useHasGap( context );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units', name ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst paddingValues = splitStyleValue( getStyle( name, 'padding' ) );\n\tconst paddingSides = useCustomSides( name, 'padding' );\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tsetStyle( name, 'padding', padding );\n\t};\n\tconst resetPaddingValue = () => setPaddingValues( {} );\n\tconst hasPaddingValue = () =>\n\t\t!! paddingValues && Object.keys( paddingValues ).length;\n\n\tconst marginValues = splitStyleValue( getStyle( name, 'margin' ) );\n\tconst marginSides = useCustomSides( name, 'margin' );\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tsetStyle( name, 'margin', margin );\n\t};\n\tconst resetMarginValue = () => setMarginValues( {} );\n\tconst hasMarginValue = () =>\n\t\t!! marginValues && Object.keys( marginValues ).length;\n\n\tconst gapValue = getStyle( name, '--wp--style--block-gap' );\n\n\tconst setGapValue = ( newGapValue ) => {\n\t\tsetStyle( name, '--wp--style--block-gap', newGapValue );\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! gapValue;\n\n\tconst resetAll = () => {\n\t\tresetPaddingValue();\n\t\tresetMarginValue();\n\t\tresetGapValue();\n\t};\n\n\treturn (\n\t\t<ToolsPanel label={ __( 'Dimensions' ) } resetAll={ resetAll }>\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<BoxControl\n\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<BoxControl\n\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n}\n"]}
|