@wordpress/block-editor 11.5.0 → 11.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/block-list/block-invalid-warning.js +63 -80
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +1 -1
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/global-styles/border-panel.js +306 -0
- package/build/components/global-styles/border-panel.js.map +1 -0
- package/build/components/global-styles/hooks.js +57 -3
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +20 -0
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +62 -15
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +20 -13
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/inserter/index.js +29 -17
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/menu.js +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -2
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter/search-results.js +10 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -1
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/link-control/index.js +1 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-item.js +5 -2
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -2
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/off-canvas-editor/appender.js +28 -3
- package/build/components/off-canvas-editor/appender.js.map +1 -1
- package/build/components/off-canvas-editor/branch.js +5 -3
- package/build/components/off-canvas-editor/branch.js.map +1 -1
- package/build/components/off-canvas-editor/index.js +9 -7
- package/build/components/off-canvas-editor/index.js.map +1 -1
- package/build/components/off-canvas-editor/link-ui.js +0 -1
- package/build/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build/components/provider/use-block-sync.js +17 -3
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +0 -3
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/hooks/border.js +91 -240
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/custom-class-name.js +4 -4
- package/build/hooks/custom-class-name.js.map +1 -1
- package/build/hooks/custom-class-name.native.js +3 -4
- package/build/hooks/custom-class-name.native.js.map +1 -1
- package/build/hooks/layout.js +19 -22
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/supports.js +7 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +2 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +27 -1
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +6 -2
- package/build/layouts/constrained.js.map +1 -1
- package/build/private-apis.js +4 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +10 -8
- package/build/store/actions.js.map +1 -1
- package/build/store/selectors.js +19 -3
- package/build/store/selectors.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +15 -9
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +66 -78
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +1 -1
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +6 -3
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +291 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +54 -3
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +2 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +62 -16
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +20 -13
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/inserter/index.js +28 -16
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +4 -2
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter/search-results.js +10 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -1
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/link-control/index.js +1 -1
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-item.js +4 -2
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -2
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/off-canvas-editor/appender.js +28 -4
- package/build-module/components/off-canvas-editor/appender.js.map +1 -1
- package/build-module/components/off-canvas-editor/branch.js +5 -3
- package/build-module/components/off-canvas-editor/branch.js.map +1 -1
- package/build-module/components/off-canvas-editor/index.js +9 -7
- package/build-module/components/off-canvas-editor/index.js.map +1 -1
- package/build-module/components/off-canvas-editor/link-ui.js +0 -1
- package/build-module/components/off-canvas-editor/link-ui.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +17 -3
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +0 -3
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/hooks/border.js +93 -240
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/custom-class-name.js +4 -4
- package/build-module/hooks/custom-class-name.js.map +1 -1
- package/build-module/hooks/custom-class-name.native.js +3 -4
- package/build-module/hooks/custom-class-name.native.js.map +1 -1
- package/build-module/hooks/layout.js +19 -22
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/supports.js +7 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +2 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +27 -1
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +6 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +10 -8
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/selectors.js +17 -3
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +15 -9
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +6 -6
- package/build-style/style.css +6 -6
- package/package.json +31 -31
- package/src/components/block-inspector/style.scss +3 -0
- package/src/components/block-list/block-invalid-warning.js +72 -64
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +20 -2
- package/src/components/block-preview/test/index.js +0 -2
- package/src/components/block-settings-menu-controls/index.js +2 -1
- package/src/components/block-styles/style.scss +2 -2
- package/src/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +16 -14
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +48 -38
- package/src/components/global-styles/border-panel.js +285 -0
- package/src/components/global-styles/hooks.js +74 -1
- package/src/components/global-styles/index.js +2 -0
- package/src/components/global-styles/test/use-global-styles-output.js +1 -1
- package/src/components/global-styles/typography-panel.js +48 -1
- package/src/components/global-styles/use-global-styles-output.js +13 -13
- package/src/components/inserter/index.js +30 -11
- package/src/components/inserter/menu.js +0 -1
- package/src/components/inserter/quick-inserter.js +2 -0
- package/src/components/inserter/search-results.js +7 -1
- package/src/components/inserter/style.scss +3 -0
- package/src/components/inserter/tabs.js +1 -9
- package/src/components/link-control/index.js +1 -1
- package/src/components/link-control/search-item.js +3 -1
- package/src/components/link-control/style.scss +0 -4
- package/src/components/link-control/test/index.js +0 -2
- package/src/components/list-view/use-block-selection.js +0 -2
- package/src/components/off-canvas-editor/appender.js +31 -5
- package/src/components/off-canvas-editor/branch.js +3 -1
- package/src/components/off-canvas-editor/index.js +7 -7
- package/src/components/off-canvas-editor/link-ui.js +0 -1
- package/src/components/provider/use-block-sync.js +21 -4
- package/src/components/rich-text/format-toolbar-container.js +1 -7
- package/src/components/url-popover/test/index.js +0 -2
- package/src/hooks/border.js +94 -225
- package/src/hooks/custom-class-name.js +4 -4
- package/src/hooks/custom-class-name.native.js +3 -4
- package/src/hooks/layout.js +19 -16
- package/src/hooks/supports.js +6 -0
- package/src/hooks/test/style.js +2 -1
- package/src/hooks/test/use-typography-props.js +2 -0
- package/src/hooks/typography.js +2 -0
- package/src/hooks/utils.js +36 -0
- package/src/layouts/constrained.js +23 -17
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +10 -8
- package/src/store/selectors.js +20 -3
- package/src/utils/parse-css-unit-to-px.js +14 -9
- package/src/utils/test/parse-css-unit-to-px.js +1 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/build/hooks/border-radius.js +0 -100
- package/build/hooks/border-radius.js.map +0 -1
- package/build-module/hooks/border-radius.js +0 -84
- package/build-module/hooks/border-radius.js.map +0 -1
- package/src/hooks/border-radius.js +0 -70
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/hooks/utils.js"],"names":["isEmpty","mapValues","get","getBlockSupport","useMemo","useSetting","useSettingsForBlockElement","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","fromEntries","entries","filter","value","Boolean","undefined","normalizePath","path","toString","cloneObject","map","key","immutableSet","normalizedPath","newObject","reduce","acc","i","length","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","styleValue","shouldSkipSerialization","blockType","featureSet","feature","skipSerialization","__experimentalSkipSerialization","includes","useBlockSettings","name","parentLayout","fontFamilies","fontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textDecoration","textTransform","letterSpacing","padding","margin","blockGap","spacingSizes","units","minHeight","layout","rawSettings","typography","custom","spacing","dimensions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, mapValues, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = Object.fromEntries(\n\t\tObject.entries( mapValues( object, cleanEmptyObject ) ).filter(\n\t\t\t( [ , value ] ) => Boolean( value )\n\t\t)\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\n/**\n * Converts a path to an array of its fragments.\n * Supports strings, numbers and arrays:\n *\n * 'foo' => [ 'foo' ]\n * 2 => [ '2' ]\n * [ 'foo', 'bar' ] => [ 'foo', 'bar' ]\n *\n * @param {string|number|Array} path Path\n * @return {Array} Normalized path.\n */\nfunction normalizePath( path ) {\n\tif ( Array.isArray( path ) ) {\n\t\treturn path;\n\t} else if ( typeof path === 'number' ) {\n\t\treturn [ path.toString() ];\n\t}\n\n\treturn [ path ];\n}\n\n/**\n * Clones an object.\n * Non-object values are returned unchanged.\n *\n * @param {*} object Object to clone.\n * @return {*} Cloned object, or original literal non-object value.\n */\nfunction cloneObject( object ) {\n\tif ( typeof object === 'object' ) {\n\t\treturn {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tcloneObject( value ),\n\t\t\t\t] )\n\t\t\t),\n\t\t};\n\t}\n\n\treturn object;\n}\n\n/**\n * Perform an immutable set.\n * Handles nullish initial values.\n * Clones all nested objects in the specified object.\n *\n * @param {Object} object Object to set a value in.\n * @param {number|string|Array} path Path in the object to modify.\n * @param {*} value New value to set.\n * @return {Object} Cloned object with the new value set.\n */\nexport function immutableSet( object, path, value ) {\n\tconst normalizedPath = normalizePath( path );\n\tconst newObject = object ? cloneObject( object ) : {};\n\n\tnormalizedPath.reduce( ( acc, key, i ) => {\n\t\tif ( acc[ key ] === undefined ) {\n\t\t\tacc[ key ] = {};\n\t\t}\n\t\tif ( i === normalizedPath.length - 1 ) {\n\t\t\tacc[ key ] = value;\n\t\t}\n\t\treturn acc[ key ];\n\t}, newObject );\n\n\treturn newObject;\n}\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = get( referenceBlockAttributes, path );\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: immutableSet(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization( blockType, featureSet, feature ) {\n\tconst support = getBlockSupport( blockType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst customFontSize = useSetting( 'typography.customFontSize' );\n\tconst fontStyle = useSetting( 'typography.fontStyle' );\n\tconst fontWeight = useSetting( 'typography.fontWeight' );\n\tconst lineHeight = useSetting( 'typography.lineHeight' );\n\tconst textDecoration = useSetting( 'typography.textDecoration' );\n\tconst textTransform = useSetting( 'typography.textTransform' );\n\tconst letterSpacing = useSetting( 'typography.letterSpacing' );\n\tconst padding = useSetting( 'spacing.padding' );\n\tconst margin = useSetting( 'spacing.margin' );\n\tconst blockGap = useSetting( 'spacing.blockGap' );\n\tconst spacingSizes = useSetting( 'spacing.spacingSizes' );\n\tconst units = useSetting( 'spacing.units' );\n\tconst minHeight = useSetting( 'dimensions.minHeight' );\n\tconst layout = useSetting( 'layout' );\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: fontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: fontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: spacingSizes,\n\t\t\t\t},\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t};\n\t}, [\n\t\tfontFamilies,\n\t\tfontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tspacingSizes,\n\t\tunits,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/hooks/utils.js"],"names":["isEmpty","mapValues","get","getBlockSupport","useMemo","useSetting","useSettingsForBlockElement","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","Object","fromEntries","entries","filter","value","Boolean","undefined","normalizePath","path","toString","cloneObject","map","key","immutableSet","normalizedPath","newObject","reduce","acc","i","length","transformStyles","activeSupports","migrationPaths","result","source","index","results","values","every","isActive","innerBlocks","referenceBlockAttributes","attributes","returnBlock","forEach","support","styleValue","shouldSkipSerialization","blockType","featureSet","feature","skipSerialization","__experimentalSkipSerialization","includes","useBlockSettings","name","parentLayout","fontFamilies","fontSizes","customFontSize","fontStyle","fontWeight","lineHeight","textColumns","textDecoration","textTransform","letterSpacing","padding","margin","blockGap","spacingSizes","units","minHeight","layout","borderColor","borderRadius","borderStyle","borderWidth","customColorsEnabled","customColors","themeColors","defaultColors","defaultPalette","rawSettings","color","palette","custom","theme","default","typography","spacing","border","radius","style","width","dimensions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, mapValues, get } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useSetting } from '../components';\nimport { useSettingsForBlockElement } from '../components/global-styles/hooks';\n\n/**\n * Removed falsy values from nested object.\n *\n * @param {*} object\n * @return {*} Object cleaned from falsy values\n */\nexport const cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = Object.fromEntries(\n\t\tObject.entries( mapValues( object, cleanEmptyObject ) ).filter(\n\t\t\t( [ , value ] ) => Boolean( value )\n\t\t)\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\n/**\n * Converts a path to an array of its fragments.\n * Supports strings, numbers and arrays:\n *\n * 'foo' => [ 'foo' ]\n * 2 => [ '2' ]\n * [ 'foo', 'bar' ] => [ 'foo', 'bar' ]\n *\n * @param {string|number|Array} path Path\n * @return {Array} Normalized path.\n */\nfunction normalizePath( path ) {\n\tif ( Array.isArray( path ) ) {\n\t\treturn path;\n\t} else if ( typeof path === 'number' ) {\n\t\treturn [ path.toString() ];\n\t}\n\n\treturn [ path ];\n}\n\n/**\n * Clones an object.\n * Non-object values are returned unchanged.\n *\n * @param {*} object Object to clone.\n * @return {*} Cloned object, or original literal non-object value.\n */\nfunction cloneObject( object ) {\n\tif ( typeof object === 'object' ) {\n\t\treturn {\n\t\t\t...Object.fromEntries(\n\t\t\t\tObject.entries( object ).map( ( [ key, value ] ) => [\n\t\t\t\t\tkey,\n\t\t\t\t\tcloneObject( value ),\n\t\t\t\t] )\n\t\t\t),\n\t\t};\n\t}\n\n\treturn object;\n}\n\n/**\n * Perform an immutable set.\n * Handles nullish initial values.\n * Clones all nested objects in the specified object.\n *\n * @param {Object} object Object to set a value in.\n * @param {number|string|Array} path Path in the object to modify.\n * @param {*} value New value to set.\n * @return {Object} Cloned object with the new value set.\n */\nexport function immutableSet( object, path, value ) {\n\tconst normalizedPath = normalizePath( path );\n\tconst newObject = object ? cloneObject( object ) : {};\n\n\tnormalizedPath.reduce( ( acc, key, i ) => {\n\t\tif ( acc[ key ] === undefined ) {\n\t\t\tacc[ key ] = {};\n\t\t}\n\t\tif ( i === normalizedPath.length - 1 ) {\n\t\t\tacc[ key ] = value;\n\t\t}\n\t\treturn acc[ key ];\n\t}, newObject );\n\n\treturn newObject;\n}\n\nexport function transformStyles(\n\tactiveSupports,\n\tmigrationPaths,\n\tresult,\n\tsource,\n\tindex,\n\tresults\n) {\n\t// If there are no active supports return early.\n\tif (\n\t\tObject.values( activeSupports ?? {} ).every(\n\t\t\t( isActive ) => ! isActive\n\t\t)\n\t) {\n\t\treturn result;\n\t}\n\t// If the condition verifies we are probably in the presence of a wrapping transform\n\t// e.g: nesting paragraphs in a group or columns and in that case the styles should not be transformed.\n\tif ( results.length === 1 && result.innerBlocks.length === source.length ) {\n\t\treturn result;\n\t}\n\t// For cases where we have a transform from one block to multiple blocks\n\t// or multiple blocks to one block we apply the styles of the first source block\n\t// to the result(s).\n\tlet referenceBlockAttributes = source[ 0 ]?.attributes;\n\t// If we are in presence of transform between more than one block in the source\n\t// that has more than one block in the result\n\t// we apply the styles on source N to the result N,\n\t// if source N does not exists we do nothing.\n\tif ( results.length > 1 && source.length > 1 ) {\n\t\tif ( source[ index ] ) {\n\t\t\treferenceBlockAttributes = source[ index ]?.attributes;\n\t\t} else {\n\t\t\treturn result;\n\t\t}\n\t}\n\tlet returnBlock = result;\n\tObject.entries( activeSupports ).forEach( ( [ support, isActive ] ) => {\n\t\tif ( isActive ) {\n\t\t\tmigrationPaths[ support ].forEach( ( path ) => {\n\t\t\t\tconst styleValue = get( referenceBlockAttributes, path );\n\t\t\t\tif ( styleValue ) {\n\t\t\t\t\treturnBlock = {\n\t\t\t\t\t\t...returnBlock,\n\t\t\t\t\t\tattributes: immutableSet(\n\t\t\t\t\t\t\treturnBlock.attributes,\n\t\t\t\t\t\t\tpath,\n\t\t\t\t\t\t\tstyleValue\n\t\t\t\t\t\t),\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\t} );\n\treturn returnBlock;\n}\n\n/**\n * Check whether serialization of specific block support feature or set should\n * be skipped.\n *\n * @param {string|Object} blockType Block name or block type object.\n * @param {string} featureSet Name of block support feature set.\n * @param {string} feature Name of the individual feature to check.\n *\n * @return {boolean} Whether serialization should occur.\n */\nexport function shouldSkipSerialization( blockType, featureSet, feature ) {\n\tconst support = getBlockSupport( blockType, featureSet );\n\tconst skipSerialization = support?.__experimentalSkipSerialization;\n\n\tif ( Array.isArray( skipSerialization ) ) {\n\t\treturn skipSerialization.includes( feature );\n\t}\n\n\treturn skipSerialization;\n}\n\n/**\n * Based on the block and its context, returns an object of all the block settings.\n * This object can be passed as a prop to all the Styles UI components\n * (TypographyPanel, DimensionsPanel...).\n *\n * @param {string} name Block name.\n * @param {*} parentLayout Parent layout.\n *\n * @return {Object} Settings object.\n */\nexport function useBlockSettings( name, parentLayout ) {\n\tconst fontFamilies = useSetting( 'typography.fontFamilies' );\n\tconst fontSizes = useSetting( 'typography.fontSizes' );\n\tconst customFontSize = useSetting( 'typography.customFontSize' );\n\tconst fontStyle = useSetting( 'typography.fontStyle' );\n\tconst fontWeight = useSetting( 'typography.fontWeight' );\n\tconst lineHeight = useSetting( 'typography.lineHeight' );\n\tconst textColumns = useSetting( 'typography.textColumns' );\n\tconst textDecoration = useSetting( 'typography.textDecoration' );\n\tconst textTransform = useSetting( 'typography.textTransform' );\n\tconst letterSpacing = useSetting( 'typography.letterSpacing' );\n\tconst padding = useSetting( 'spacing.padding' );\n\tconst margin = useSetting( 'spacing.margin' );\n\tconst blockGap = useSetting( 'spacing.blockGap' );\n\tconst spacingSizes = useSetting( 'spacing.spacingSizes' );\n\tconst units = useSetting( 'spacing.units' );\n\tconst minHeight = useSetting( 'dimensions.minHeight' );\n\tconst layout = useSetting( 'layout' );\n\tconst borderColor = useSetting( 'border.color' );\n\tconst borderRadius = useSetting( 'border.radius' );\n\tconst borderStyle = useSetting( 'border.style' );\n\tconst borderWidth = useSetting( 'border.width' );\n\tconst customColorsEnabled = useSetting( 'color.custom' );\n\tconst customColors = useSetting( 'color.palette.custom' );\n\tconst themeColors = useSetting( 'color.palette.theme' );\n\tconst defaultColors = useSetting( 'color.palette.default' );\n\tconst defaultPalette = useSetting( 'color.defaultPalette' );\n\n\tconst rawSettings = useMemo( () => {\n\t\treturn {\n\t\t\tcolor: {\n\t\t\t\tpalette: {\n\t\t\t\t\tcustom: customColors,\n\t\t\t\t\ttheme: themeColors,\n\t\t\t\t\tdefault: defaultColors,\n\t\t\t\t},\n\t\t\t\tdefaultPalette,\n\t\t\t\tcustom: customColorsEnabled,\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontFamilies: {\n\t\t\t\t\tcustom: fontFamilies,\n\t\t\t\t},\n\t\t\t\tfontSizes: {\n\t\t\t\t\tcustom: fontSizes,\n\t\t\t\t},\n\t\t\t\tcustomFontSize,\n\t\t\t\tfontStyle,\n\t\t\t\tfontWeight,\n\t\t\t\tlineHeight,\n\t\t\t\ttextColumns,\n\t\t\t\ttextDecoration,\n\t\t\t\ttextTransform,\n\t\t\t\tletterSpacing,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tspacingSizes: {\n\t\t\t\t\tcustom: spacingSizes,\n\t\t\t\t},\n\t\t\t\tpadding,\n\t\t\t\tmargin,\n\t\t\t\tblockGap,\n\t\t\t\tunits,\n\t\t\t},\n\t\t\tborder: {\n\t\t\t\tcolor: borderColor,\n\t\t\t\tradius: borderRadius,\n\t\t\t\tstyle: borderStyle,\n\t\t\t\twidth: borderWidth,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\tminHeight,\n\t\t\t},\n\t\t\tlayout,\n\t\t\tparentLayout,\n\t\t};\n\t}, [\n\t\tfontFamilies,\n\t\tfontSizes,\n\t\tcustomFontSize,\n\t\tfontStyle,\n\t\tfontWeight,\n\t\tlineHeight,\n\t\ttextColumns,\n\t\ttextDecoration,\n\t\ttextTransform,\n\t\tletterSpacing,\n\t\tpadding,\n\t\tmargin,\n\t\tblockGap,\n\t\tspacingSizes,\n\t\tunits,\n\t\tminHeight,\n\t\tlayout,\n\t\tparentLayout,\n\t\tborderColor,\n\t\tborderRadius,\n\t\tborderStyle,\n\t\tborderWidth,\n\t\tcustomColorsEnabled,\n\t\tcustomColors,\n\t\tthemeColors,\n\t\tdefaultColors,\n\t\tdefaultPalette,\n\t] );\n\n\treturn useSettingsForBlockElement( rawSettings, name );\n}\n"]}
|
|
@@ -21,13 +21,17 @@ export default {
|
|
|
21
21
|
inspectorControls: function DefaultLayoutInspectorControls(_ref) {
|
|
22
22
|
let {
|
|
23
23
|
layout,
|
|
24
|
-
onChange
|
|
24
|
+
onChange,
|
|
25
|
+
layoutBlockSupport = {}
|
|
25
26
|
} = _ref;
|
|
26
27
|
const {
|
|
27
28
|
wideSize,
|
|
28
29
|
contentSize,
|
|
29
30
|
justifyContent = 'center'
|
|
30
31
|
} = layout;
|
|
32
|
+
const {
|
|
33
|
+
allowJustification = true
|
|
34
|
+
} = layoutBlockSupport;
|
|
31
35
|
|
|
32
36
|
const onJustificationChange = value => {
|
|
33
37
|
onChange({ ...layout,
|
|
@@ -89,7 +93,7 @@ export default {
|
|
|
89
93
|
icon: stretchWide
|
|
90
94
|
}))), createElement("p", {
|
|
91
95
|
className: "block-editor-hooks__layout-controls-helptext"
|
|
92
|
-
}, __('Customize the width for all elements that are assigned to the center or wide columns.')), createElement(ToggleGroupControl, {
|
|
96
|
+
}, __('Customize the width for all elements that are assigned to the center or wide columns.')), allowJustification && createElement(ToggleGroupControl, {
|
|
93
97
|
__nextHasNoMarginBottom: true,
|
|
94
98
|
label: __('Justification'),
|
|
95
99
|
value: justifyContent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSetting","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","shouldSkipSerialization","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","wideSize","contentSize","justifyContent","onJustificationChange","value","justificationOptions","icon","units","availableUnits","nextWidth","parseFloat","map","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t\t'%',\n\t\t\t\t'px',\n\t\t\t\t'em',\n\t\t\t\t'rem',\n\t\t\t\t'vw',\n\t\t\t],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\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\t<Icon icon={ positionCenter } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\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\t<Icon icon={ stretchWide } />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t>\n\t\t\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tlabel={ label }\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</ToggleGroupControl>\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__","Icon","positionCenter","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSetting","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","shouldSkipSerialization","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","onJustificationChange","value","justificationOptions","icon","units","availableUnits","nextWidth","parseFloat","map","toolBarControls","DefaultLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\tpositionCenter,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport useSetting from '../components/use-setting';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t\t'%',\n\t\t\t\t'px',\n\t\t\t\t'em',\n\t\t\t\t'rem',\n\t\t\t\t'vw',\n\t\t\t],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<div className=\"block-editor-hooks__layout-controls\">\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\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\t<Icon icon={ positionCenter } />\n\t\t\t\t\t</div>\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-unit\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\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\t<Icon icon={ stretchWide } />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\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}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ rule.value } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n"]}
|
|
@@ -6,6 +6,7 @@ import { ExperimentalBlockEditorProvider } from './components/provider';
|
|
|
6
6
|
import { lock } from './lock-unlock';
|
|
7
7
|
import OffCanvasEditor from './components/off-canvas-editor';
|
|
8
8
|
import LeafMoreMenu from './components/off-canvas-editor/leaf-more-menu';
|
|
9
|
+
import { ComposedPrivateInserter as PrivateInserter } from './components/inserter';
|
|
9
10
|
/**
|
|
10
11
|
* Private @wordpress/block-editor APIs.
|
|
11
12
|
*/
|
|
@@ -14,6 +15,7 @@ export const privateApis = {};
|
|
|
14
15
|
lock(privateApis, { ...globalStyles,
|
|
15
16
|
ExperimentalBlockEditorProvider,
|
|
16
17
|
LeafMoreMenu,
|
|
17
|
-
OffCanvasEditor
|
|
18
|
+
OffCanvasEditor,
|
|
19
|
+
PrivateInserter
|
|
18
20
|
});
|
|
19
21
|
//# sourceMappingURL=private-apis.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/private-apis.js"],"names":["globalStyles","ExperimentalBlockEditorProvider","lock","OffCanvasEditor","LeafMoreMenu","privateApis"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,YAAZ,MAA8B,4BAA9B;AACA,SAASC,+BAAT,QAAgD,uBAAhD;AACA,SAASC,IAAT,QAAqB,eAArB;AACA,OAAOC,eAAP,MAA4B,gCAA5B;AACA,OAAOC,YAAP,MAAyB,+CAAzB;AAEA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,EAApB;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/private-apis.js"],"names":["globalStyles","ExperimentalBlockEditorProvider","lock","OffCanvasEditor","LeafMoreMenu","ComposedPrivateInserter","PrivateInserter","privateApis"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,YAAZ,MAA8B,4BAA9B;AACA,SAASC,+BAAT,QAAgD,uBAAhD;AACA,SAASC,IAAT,QAAqB,eAArB;AACA,OAAOC,eAAP,MAA4B,gCAA5B;AACA,OAAOC,YAAP,MAAyB,+CAAzB;AACA,SAASC,uBAAuB,IAAIC,eAApC,QAA2D,uBAA3D;AAEA;AACA;AACA;;AACA,OAAO,MAAMC,WAAW,GAAG,EAApB;AACPL,IAAI,CAAEK,WAAF,EAAe,EAClB,GAAGP,YADe;AAElBC,EAAAA,+BAFkB;AAGlBG,EAAAA,YAHkB;AAIlBD,EAAAA,eAJkB;AAKlBG,EAAAA;AALkB,CAAf,CAAJ","sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport OffCanvasEditor from './components/off-canvas-editor';\nimport LeafMoreMenu from './components/off-canvas-editor/leaf-more-menu';\nimport { ComposedPrivateInserter as PrivateInserter } from './components/inserter';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockEditorProvider,\n\tLeafMoreMenu,\n\tOffCanvasEditor,\n\tPrivateInserter,\n} );\n"]}
|
|
@@ -224,12 +224,12 @@ export function selectBlock(clientId) {
|
|
|
224
224
|
* clientId (or optionally, its first parent from bottom to top)
|
|
225
225
|
* should be selected.
|
|
226
226
|
*
|
|
227
|
-
* @param {string} clientId
|
|
228
|
-
* @param {boolean}
|
|
227
|
+
* @param {string} clientId Block client ID.
|
|
228
|
+
* @param {boolean} fallbackToParent If true, select the first parent if there is no previous block.
|
|
229
229
|
*/
|
|
230
230
|
|
|
231
231
|
export const selectPreviousBlock = function (clientId) {
|
|
232
|
-
let
|
|
232
|
+
let fallbackToParent = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
233
233
|
return _ref4 => {
|
|
234
234
|
let {
|
|
235
235
|
select,
|
|
@@ -239,7 +239,7 @@ export const selectPreviousBlock = function (clientId) {
|
|
|
239
239
|
|
|
240
240
|
if (previousBlockClientId) {
|
|
241
241
|
dispatch.selectBlock(previousBlockClientId, -1);
|
|
242
|
-
} else if (
|
|
242
|
+
} else if (fallbackToParent) {
|
|
243
243
|
const firstParentClientId = select.getBlockRootClientId(clientId);
|
|
244
244
|
|
|
245
245
|
if (firstParentClientId) {
|
|
@@ -1043,8 +1043,11 @@ export const mergeBlocks = (firstBlockClientId, secondBlockClientId) => _ref16 =
|
|
|
1043
1043
|
* the set of specified client IDs are to be removed.
|
|
1044
1044
|
*
|
|
1045
1045
|
* @param {string|string[]} clientIds Client IDs of blocks to remove.
|
|
1046
|
-
* @param {boolean} selectPrevious True if the previous block
|
|
1047
|
-
*
|
|
1046
|
+
* @param {boolean} selectPrevious True if the previous block
|
|
1047
|
+
* or the immediate parent
|
|
1048
|
+
* (if no previous block exists)
|
|
1049
|
+
* should be selected
|
|
1050
|
+
* when a block is removed.
|
|
1048
1051
|
*/
|
|
1049
1052
|
|
|
1050
1053
|
export const removeBlocks = function (clientIds) {
|
|
@@ -1068,8 +1071,7 @@ export const removeBlocks = function (clientIds) {
|
|
|
1068
1071
|
}
|
|
1069
1072
|
|
|
1070
1073
|
if (selectPrevious) {
|
|
1071
|
-
|
|
1072
|
-
dispatch.selectPreviousBlock(clientIds[0], shouldSelectParent);
|
|
1074
|
+
dispatch.selectPreviousBlock(clientIds[0], selectPrevious);
|
|
1073
1075
|
}
|
|
1074
1076
|
|
|
1075
1077
|
dispatch({
|