@wordpress/block-library 8.28.3 → 8.29.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/buttons/edit.js +1 -6
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -7
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/edit.js +5 -0
- package/build/columns/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/index.js +1 -0
- package/build/details/index.js.map +1 -1
- package/build/gallery/edit.js +5 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/group/variations.js +12 -15
- package/build/group/variations.js.map +1 -1
- package/build/list/edit.js +5 -0
- package/build/list/edit.js.map +1 -1
- package/build/pattern/edit.js +12 -9
- package/build/pattern/edit.js.map +1 -1
- package/build-module/buttons/edit.js +2 -7
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -7
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +5 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/index.js +1 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/gallery/edit.js +5 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/group/variations.js +12 -15
- package/build-module/group/variations.js.map +1 -1
- package/build-module/list/edit.js +5 -0
- package/build-module/list/edit.js.map +1 -1
- package/build-module/pattern/edit.js +13 -10
- package/build-module/pattern/edit.js.map +1 -1
- package/package.json +34 -34
- package/src/avatar/index.php +12 -1
- package/src/buttons/edit.js +3 -16
- package/src/buttons/edit.native.js +1 -17
- package/src/columns/edit.js +6 -0
- package/src/cover/edit/inspector-controls.js +5 -1
- package/src/details/block.json +1 -0
- package/src/gallery/edit.js +3 -9
- package/src/group/variations.js +3 -6
- package/src/list/edit.js +5 -0
- package/src/pattern/edit.js +13 -10
- package/src/post-author-biography/index.php +4 -3
- package/src/post-author-name/index.php +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","ColumnsEditContainer","attributes","setAttributes","clientId","isStackedOnMobile","verticalAlignment","templateLock","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlocks","getBlockCount","innerBlocks","preventRemovalBlockIndexes","reduce","acc","block","index","push","Math","max","registry","getBlockOrder","updateBlockAttributes","replaceInnerBlocks","classes","blockProps","className","innerBlocksProps","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","updateColumns","previousColumns","newColumns","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","createElement","Fragment","onChange","value","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","min","status","isDismissible","checked","Placeholder","name","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = innerBlocks.reduce(\n\t\t\t\t( acc, block, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( block.clientId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: getBlockCount( clientId ),\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst registry = useRegistry();\n\tconst { getBlocks, getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to overide anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\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\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\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\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","Notice","PanelBody","RangeControl","ToggleControl","InspectorControls","useInnerBlocksProps","BlockControls","BlockVerticalAlignmentToolbar","__experimentalBlockVariationPicker","useBlockProps","store","blockEditorStore","useDispatch","useSelect","useRegistry","createBlock","createBlocksFromInnerBlocksTemplate","blocksStore","hasExplicitPercentColumnWidths","getMappedColumnWidths","getRedistributedColumnWidths","toWidthPrecision","DEFAULT_BLOCK","name","ColumnsEditContainer","attributes","setAttributes","clientId","isStackedOnMobile","verticalAlignment","templateLock","count","canInsertColumnBlock","minCount","select","canInsertBlockType","canRemoveBlock","getBlocks","getBlockCount","innerBlocks","preventRemovalBlockIndexes","reduce","acc","block","index","push","Math","max","registry","getBlockOrder","updateBlockAttributes","replaceInnerBlocks","classes","blockProps","className","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","updateAlignment","newVerticalAlignment","innerBlockClientIds","batch","updateColumns","previousColumns","newColumns","hasExplicitWidths","isAddingColumn","newColumnWidth","widths","Array","from","length","map","width","slice","createElement","Fragment","onChange","value","title","__nextHasNoMarginBottom","__next40pxDefaultSize","label","min","status","isDismissible","checked","Placeholder","blockType","defaultVariation","variations","getBlockVariations","getBlockType","getDefaultBlockVariation","icon","src","onSelect","nextVariation","allowSkip","ColumnsEdit","props","hasInnerBlocks","Component"],"sources":["@wordpress/block-library/src/columns/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\n\nimport {\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\t__experimentalBlockVariationPicker,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tcreateBlock,\n\tcreateBlocksFromInnerBlocksTemplate,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport {\n\thasExplicitPercentColumnWidths,\n\tgetMappedColumnWidths,\n\tgetRedistributedColumnWidths,\n\ttoWidthPrecision,\n} from './utils';\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/column',\n};\n\nfunction ColumnsEditContainer( { attributes, setAttributes, clientId } ) {\n\tconst { isStackedOnMobile, verticalAlignment, templateLock } = attributes;\n\tconst { count, canInsertColumnBlock, minCount } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tcanInsertBlockType,\n\t\t\t\tcanRemoveBlock,\n\t\t\t\tgetBlocks,\n\t\t\t\tgetBlockCount,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\n\t\t\t// Get the indexes of columns for which removal is prevented.\n\t\t\t// The highest index will be used to determine the minimum column count.\n\t\t\tconst preventRemovalBlockIndexes = innerBlocks.reduce(\n\t\t\t\t( acc, block, index ) => {\n\t\t\t\t\tif ( ! canRemoveBlock( block.clientId ) ) {\n\t\t\t\t\t\tacc.push( index );\n\t\t\t\t\t}\n\t\t\t\t\treturn acc;\n\t\t\t\t},\n\t\t\t\t[]\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tcount: getBlockCount( clientId ),\n\t\t\t\tcanInsertColumnBlock: canInsertBlockType(\n\t\t\t\t\t'core/column',\n\t\t\t\t\tclientId\n\t\t\t\t),\n\t\t\t\tminCount: Math.max( ...preventRemovalBlockIndexes ) + 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst registry = useRegistry();\n\tconst { getBlocks, getBlockOrder } = useSelect( blockEditorStore );\n\tconst { updateBlockAttributes, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst classes = classnames( {\n\t\t[ `are-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t[ `is-not-stacked-on-mobile` ]: ! isStackedOnMobile,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\ttemplateLock,\n\t} );\n\n\t/**\n\t * Update all child Column blocks with a new vertical alignment setting\n\t * based on whatever alignment is passed in. This allows change to parent\n\t * to overide anything set on a individual column basis.\n\t *\n\t * @param {string} newVerticalAlignment The vertical alignment setting.\n\t */\n\tfunction updateAlignment( newVerticalAlignment ) {\n\t\tconst innerBlockClientIds = getBlockOrder( clientId );\n\n\t\t// Update own and child Column block vertical alignments.\n\t\t// This is a single action; the batching prevents creating multiple history records.\n\t\tregistry.batch( () => {\n\t\t\tsetAttributes( { verticalAlignment: newVerticalAlignment } );\n\t\t\tupdateBlockAttributes( innerBlockClientIds, {\n\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t} );\n\t\t} );\n\t}\n\n\t/**\n\t * Updates the column count, including necessary revisions to child Column\n\t * blocks to grant required or redistribute available space.\n\t *\n\t * @param {number} previousColumns Previous column count.\n\t * @param {number} newColumns New column count.\n\t */\n\tfunction updateColumns( previousColumns, newColumns ) {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tconst hasExplicitWidths = hasExplicitPercentColumnWidths( innerBlocks );\n\n\t\t// Redistribute available width for existing inner blocks.\n\t\tconst isAddingColumn = newColumns > previousColumns;\n\n\t\tif ( isAddingColumn && hasExplicitWidths ) {\n\t\t\t// If adding a new column, assign width to the new column equal to\n\t\t\t// as if it were `1 / columns` of the total available space.\n\t\t\tconst newColumnWidth = toWidthPrecision( 100 / newColumns );\n\n\t\t\t// Redistribute in consideration of pending block insertion as\n\t\t\t// constraining the available working width.\n\t\t\tconst widths = getRedistributedColumnWidths(\n\t\t\t\tinnerBlocks,\n\t\t\t\t100 - newColumnWidth\n\t\t\t);\n\n\t\t\tinnerBlocks = [\n\t\t\t\t...getMappedColumnWidths( innerBlocks, widths ),\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column', {\n\t\t\t\t\t\twidth: `${ newColumnWidth }%`,\n\t\t\t\t\t} );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( isAddingColumn ) {\n\t\t\tinnerBlocks = [\n\t\t\t\t...innerBlocks,\n\t\t\t\t...Array.from( {\n\t\t\t\t\tlength: newColumns - previousColumns,\n\t\t\t\t} ).map( () => {\n\t\t\t\t\treturn createBlock( 'core/column' );\n\t\t\t\t} ),\n\t\t\t];\n\t\t} else if ( newColumns < previousColumns ) {\n\t\t\t// The removed column will be the last of the inner blocks.\n\t\t\tinnerBlocks = innerBlocks.slice(\n\t\t\t\t0,\n\t\t\t\t-( previousColumns - newColumns )\n\t\t\t);\n\t\t\tif ( hasExplicitWidths ) {\n\t\t\t\t// Redistribute as if block is already removed.\n\t\t\t\tconst widths = getRedistributedColumnWidths( innerBlocks, 100 );\n\n\t\t\t\tinnerBlocks = getMappedColumnWidths( innerBlocks, widths );\n\t\t\t}\n\t\t}\n\n\t\treplaceInnerBlocks( clientId, innerBlocks );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ canInsertColumnBlock && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ count }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tupdateColumns(\n\t\t\t\t\t\t\t\t\t\tcount,\n\t\t\t\t\t\t\t\t\t\tMath.max( minCount, value )\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\tmin={ Math.max( 1, minCount ) }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, count ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ count > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\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\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n\nfunction Placeholder( { clientId, name, setAttributes } ) {\n\tconst { blockType, defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockVariations,\n\t\t\t\tgetBlockType,\n\t\t\t\tgetDefaultBlockVariation,\n\t\t\t} = select( blocksStore );\n\n\t\t\treturn {\n\t\t\t\tblockType: getBlockType( name ),\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ),\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst { replaceInnerBlocks } = useDispatch( blockEditorStore );\n\tconst blockProps = useBlockProps();\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<__experimentalBlockVariationPicker\n\t\t\t\ticon={ blockType?.icon?.src }\n\t\t\t\tlabel={ blockType?.title }\n\t\t\t\tvariations={ variations }\n\t\t\t\tonSelect={ ( nextVariation = defaultVariation ) => {\n\t\t\t\t\tif ( nextVariation.attributes ) {\n\t\t\t\t\t\tsetAttributes( nextVariation.attributes );\n\t\t\t\t\t}\n\t\t\t\t\tif ( nextVariation.innerBlocks ) {\n\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\tcreateBlocksFromInnerBlocksTemplate(\n\t\t\t\t\t\t\t\tnextVariation.innerBlocks\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tallowSkip\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nconst ColumnsEdit = ( props ) => {\n\tconst { clientId } = props;\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlocks( clientId ).length > 0,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? ColumnsEditContainer : Placeholder;\n\n\treturn <Component { ...props } />;\n};\n\nexport default ColumnsEdit;\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,MAAM,EACNC,SAAS,EACTC,YAAY,EACZC,aAAa,QACP,uBAAuB;AAE9B,SACCC,iBAAiB,EACjBC,mBAAmB,EACnBC,aAAa,EACbC,6BAA6B,EAC7BC,kCAAkC,EAClCC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,WAAW,EAAEC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACrE,SACCC,WAAW,EACXC,mCAAmC,EACnCN,KAAK,IAAIO,WAAW,QACd,mBAAmB;;AAE1B;AACA;AACA;AACA,SACCC,8BAA8B,EAC9BC,qBAAqB,EACrBC,4BAA4B,EAC5BC,gBAAgB,QACV,SAAS;AAEhB,MAAMC,aAAa,GAAG;EACrBC,IAAI,EAAE;AACP,CAAC;AAED,SAASC,oBAAoBA,CAAE;EAAEC,UAAU;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EACxE,MAAM;IAAEC,iBAAiB;IAAEC,iBAAiB;IAAEC;EAAa,CAAC,GAAGL,UAAU;EACzE,MAAM;IAAEM,KAAK;IAAEC,oBAAoB;IAAEC;EAAS,CAAC,GAAGpB,SAAS,CACxDqB,MAAM,IAAM;IACb,MAAM;MACLC,kBAAkB;MAClBC,cAAc;MACdC,SAAS;MACTC;IACD,CAAC,GAAGJ,MAAM,CAAEvB,gBAAiB,CAAC;IAC9B,MAAM4B,WAAW,GAAGF,SAAS,CAAEV,QAAS,CAAC;;IAEzC;IACA;IACA,MAAMa,0BAA0B,GAAGD,WAAW,CAACE,MAAM,CACpD,CAAEC,GAAG,EAAEC,KAAK,EAAEC,KAAK,KAAM;MACxB,IAAK,CAAER,cAAc,CAAEO,KAAK,CAAChB,QAAS,CAAC,EAAG;QACzCe,GAAG,CAACG,IAAI,CAAED,KAAM,CAAC;MAClB;MACA,OAAOF,GAAG;IACX,CAAC,EACD,EACD,CAAC;IAED,OAAO;MACNX,KAAK,EAAEO,aAAa,CAAEX,QAAS,CAAC;MAChCK,oBAAoB,EAAEG,kBAAkB,CACvC,aAAa,EACbR,QACD,CAAC;MACDM,QAAQ,EAAEa,IAAI,CAACC,GAAG,CAAE,GAAGP,0BAA2B,CAAC,GAAG;IACvD,CAAC;EACF,CAAC,EACD,CAAEb,QAAQ,CACX,CAAC;EAED,MAAMqB,QAAQ,GAAGlC,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEuB,SAAS;IAAEY;EAAc,CAAC,GAAGpC,SAAS,CAAEF,gBAAiB,CAAC;EAClE,MAAM;IAAEuC,qBAAqB;IAAEC;EAAmB,CAAC,GAClDvC,WAAW,CAAED,gBAAiB,CAAC;EAEhC,MAAMyC,OAAO,GAAGtD,UAAU,CAAE;IAC3B,CAAG,0BAA0B+B,iBAAmB,EAAC,GAAIA,iBAAiB;IACtE,CAAG,0BAAyB,GAAI,CAAED;EACnC,CAAE,CAAC;EAEH,MAAMyB,UAAU,GAAG5C,aAAa,CAAE;IACjC6C,SAAS,EAAEF;EACZ,CAAE,CAAC;EACH,MAAMG,gBAAgB,GAAGlD,mBAAmB,CAAEgD,UAAU,EAAE;IACzDG,YAAY,EAAElC,aAAa;IAC3BmC,YAAY,EAAE,IAAI;IAClBC,WAAW,EAAE,YAAY;IACzBC,cAAc,EAAE,KAAK;IACrB7B;EACD,CAAE,CAAC;;EAEH;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAAS8B,eAAeA,CAAEC,oBAAoB,EAAG;IAChD,MAAMC,mBAAmB,GAAGb,aAAa,CAAEtB,QAAS,CAAC;;IAErD;IACA;IACAqB,QAAQ,CAACe,KAAK,CAAE,MAAM;MACrBrC,aAAa,CAAE;QAAEG,iBAAiB,EAAEgC;MAAqB,CAAE,CAAC;MAC5DX,qBAAqB,CAAEY,mBAAmB,EAAE;QAC3CjC,iBAAiB,EAAEgC;MACpB,CAAE,CAAC;IACJ,CAAE,CAAC;EACJ;;EAEA;AACD;AACA;AACA;AACA;AACA;AACA;EACC,SAASG,aAAaA,CAAEC,eAAe,EAAEC,UAAU,EAAG;IACrD,IAAI3B,WAAW,GAAGF,SAAS,CAAEV,QAAS,CAAC;IACvC,MAAMwC,iBAAiB,GAAGjD,8BAA8B,CAAEqB,WAAY,CAAC;;IAEvE;IACA,MAAM6B,cAAc,GAAGF,UAAU,GAAGD,eAAe;IAEnD,IAAKG,cAAc,IAAID,iBAAiB,EAAG;MAC1C;MACA;MACA,MAAME,cAAc,GAAGhD,gBAAgB,CAAE,GAAG,GAAG6C,UAAW,CAAC;;MAE3D;MACA;MACA,MAAMI,MAAM,GAAGlD,4BAA4B,CAC1CmB,WAAW,EACX,GAAG,GAAG8B,cACP,CAAC;MAED9B,WAAW,GAAG,CACb,GAAGpB,qBAAqB,CAAEoB,WAAW,EAAE+B,MAAO,CAAC,EAC/C,GAAGC,KAAK,CAACC,IAAI,CAAE;QACdC,MAAM,EAAEP,UAAU,GAAGD;MACtB,CAAE,CAAC,CAACS,GAAG,CAAE,MAAM;QACd,OAAO3D,WAAW,CAAE,aAAa,EAAE;UAClC4D,KAAK,EAAG,GAAGN,cAAgB;QAC5B,CAAE,CAAC;MACJ,CAAE,CAAC,CACH;IACF,CAAC,MAAM,IAAKD,cAAc,EAAG;MAC5B7B,WAAW,GAAG,CACb,GAAGA,WAAW,EACd,GAAGgC,KAAK,CAACC,IAAI,CAAE;QACdC,MAAM,EAAEP,UAAU,GAAGD;MACtB,CAAE,CAAC,CAACS,GAAG,CAAE,MAAM;QACd,OAAO3D,WAAW,CAAE,aAAc,CAAC;MACpC,CAAE,CAAC,CACH;IACF,CAAC,MAAM,IAAKmD,UAAU,GAAGD,eAAe,EAAG;MAC1C;MACA1B,WAAW,GAAGA,WAAW,CAACqC,KAAK,CAC9B,CAAC,EACD,EAAGX,eAAe,GAAGC,UAAU,CAChC,CAAC;MACD,IAAKC,iBAAiB,EAAG;QACxB;QACA,MAAMG,MAAM,GAAGlD,4BAA4B,CAAEmB,WAAW,EAAE,GAAI,CAAC;QAE/DA,WAAW,GAAGpB,qBAAqB,CAAEoB,WAAW,EAAE+B,MAAO,CAAC;MAC3D;IACD;IAEAnB,kBAAkB,CAAExB,QAAQ,EAAEY,WAAY,CAAC;EAC5C;EAEA,OACCsC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACvE,aAAa,QACbuE,aAAA,CAACtE,6BAA6B;IAC7BwE,QAAQ,EAAGnB,eAAiB;IAC5BoB,KAAK,EAAGnD;EAAmB,CAC3B,CACa,CAAC,EAChBgD,aAAA,CAACzE,iBAAiB,QACjByE,aAAA,CAAC5E,SAAS;IAACgF,KAAK,EAAGlF,EAAE,CAAE,UAAW;EAAG,GAClCiC,oBAAoB,IACrB6C,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAC3E,YAAY;IACZgF,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGrF,EAAE,CAAE,SAAU,CAAG;IACzBiF,KAAK,EAAGjD,KAAO;IACfgD,QAAQ,EAAKC,KAAK,IACjBhB,aAAa,CACZjC,KAAK,EACLe,IAAI,CAACC,GAAG,CAAEd,QAAQ,EAAE+C,KAAM,CAC3B,CACA;IACDK,GAAG,EAAGvC,IAAI,CAACC,GAAG,CAAE,CAAC,EAAEd,QAAS,CAAG;IAC/Bc,GAAG,EAAGD,IAAI,CAACC,GAAG,CAAE,CAAC,EAAEhB,KAAM;EAAG,CAC5B,CAAC,EACAA,KAAK,GAAG,CAAC,IACV8C,aAAA,CAAC7E,MAAM;IACNsF,MAAM,EAAC,SAAS;IAChBC,aAAa,EAAG;EAAO,GAErBxF,EAAE,CACH,iFACD,CACO,CAER,CACF,EACD8E,aAAA,CAAC1E,aAAa;IACb+E,uBAAuB;IACvBE,KAAK,EAAGrF,EAAE,CAAE,iBAAkB,CAAG;IACjCyF,OAAO,EAAG5D,iBAAmB;IAC7BmD,QAAQ,EAAGA,CAAA,KACVrD,aAAa,CAAE;MACdE,iBAAiB,EAAE,CAAEA;IACtB,CAAE;EACF,CACD,CACS,CACO,CAAC,EACpBiD,aAAA;IAAA,GAAUtB;EAAgB,CAAI,CAC7B,CAAC;AAEL;AAEA,SAASkC,WAAWA,CAAE;EAAE9D,QAAQ;EAAEJ,IAAI;EAAEG;AAAc,CAAC,EAAG;EACzD,MAAM;IAAEgE,SAAS;IAAEC,gBAAgB;IAAEC;EAAW,CAAC,GAAG/E,SAAS,CAC1DqB,MAAM,IAAM;IACb,MAAM;MACL2D,kBAAkB;MAClBC,YAAY;MACZC;IACD,CAAC,GAAG7D,MAAM,CAAEjB,WAAY,CAAC;IAEzB,OAAO;MACNyE,SAAS,EAAEI,YAAY,CAAEvE,IAAK,CAAC;MAC/BoE,gBAAgB,EAAEI,wBAAwB,CAAExE,IAAI,EAAE,OAAQ,CAAC;MAC3DqE,UAAU,EAAEC,kBAAkB,CAAEtE,IAAI,EAAE,OAAQ;IAC/C,CAAC;EACF,CAAC,EACD,CAAEA,IAAI,CACP,CAAC;EACD,MAAM;IAAE4B;EAAmB,CAAC,GAAGvC,WAAW,CAAED,gBAAiB,CAAC;EAC9D,MAAM0C,UAAU,GAAG5C,aAAa,CAAC,CAAC;EAElC,OACCoE,aAAA;IAAA,GAAUxB;EAAU,GACnBwB,aAAA,CAACrE,kCAAkC;IAClCwF,IAAI,EAAGN,SAAS,EAAEM,IAAI,EAAEC,GAAK;IAC7Bb,KAAK,EAAGM,SAAS,EAAET,KAAO;IAC1BW,UAAU,EAAGA,UAAY;IACzBM,QAAQ,EAAGA,CAAEC,aAAa,GAAGR,gBAAgB,KAAM;MAClD,IAAKQ,aAAa,CAAC1E,UAAU,EAAG;QAC/BC,aAAa,CAAEyE,aAAa,CAAC1E,UAAW,CAAC;MAC1C;MACA,IAAK0E,aAAa,CAAC5D,WAAW,EAAG;QAChCY,kBAAkB,CACjBxB,QAAQ,EACRX,mCAAmC,CAClCmF,aAAa,CAAC5D,WACf,CAAC,EACD,IACD,CAAC;MACF;IACD,CAAG;IACH6D,SAAS;EAAA,CACT,CACG,CAAC;AAER;AAEA,MAAMC,WAAW,GAAKC,KAAK,IAAM;EAChC,MAAM;IAAE3E;EAAS,CAAC,GAAG2E,KAAK;EAC1B,MAAMC,cAAc,GAAG1F,SAAS,CAC7BqB,MAAM,IACPA,MAAM,CAAEvB,gBAAiB,CAAC,CAAC0B,SAAS,CAAEV,QAAS,CAAC,CAAC8C,MAAM,GAAG,CAAC,EAC5D,CAAE9C,QAAQ,CACX,CAAC;EACD,MAAM6E,SAAS,GAAGD,cAAc,GAAG/E,oBAAoB,GAAGiE,WAAW;EAErE,OAAOZ,aAAA,CAAC2B,SAAS;IAAA,GAAMF;EAAK,CAAI,CAAC;AAClC,CAAC;AAED,eAAeD,WAAW"}
|
|
@@ -217,7 +217,7 @@ export default function CoverInspectorControls({
|
|
|
217
217
|
isShownByDefault: true,
|
|
218
218
|
panelId: clientId
|
|
219
219
|
}, createElement(CoverHeightInput, {
|
|
220
|
-
value: minHeight,
|
|
220
|
+
value: attributes?.style?.dimensions?.aspectRatio ? '' : minHeight,
|
|
221
221
|
unit: minHeightUnit,
|
|
222
222
|
onChange: newMinHeight => setAttributes({
|
|
223
223
|
minHeight: newMinHeight,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","newMinHeight","dimensions","aspectRatio","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\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\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: 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] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\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\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","dimensions","aspectRatio","newMinHeight","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\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\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: 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] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tattributes?.style?.dimensions?.aspectRatio\n\t\t\t\t\t\t\t\t? ''\n\t\t\t\t\t\t\t\t: minHeight\n\t\t\t\t\t\t}\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\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\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,OAAO,QAAQ,oBAAoB;AAC5C,SACCC,MAAM,EACNC,YAAY,EACZC,gBAAgB,EAChBC,SAAS,EACTC,QAAQ,EACRC,YAAY,EACZC,eAAe,EACfC,aAAa,EACbC,aAAa,EACbC,4BAA4B,IAAIC,cAAc,EAC9CC,4BAA4B,IAAIC,cAAc,EAC9CC,yBAAyB,IAAIC,WAAW,EACxCC,8CAA8C,IAAIC,gCAAgC,QAC5E,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SACCC,iBAAiB,EACjBC,WAAW,EACXC,2CAA2C,IAAIC,6BAA6B,EAC5EC,yBAAyB,EACzBC,iDAAiD,IAAIC,mCAAmC,EACxFC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,WAAW;AAC3D,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAiB,CAAC,GAAGD,MAAM,CAAEJ,sBAAuB,CAAC;AAE7D,SAASM,gBAAgBA,CAAE;EAC1BC,QAAQ;EACRC,YAAY;EACZC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG;AACT,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGpB,aAAa,CAAEH,WAAY,CAAC;EAC/C,MAAMwB,OAAO,GAAI,4BAA4BD,UAAY,EAAC;EAC1D,MAAME,IAAI,GAAGJ,IAAI,KAAK,IAAI;EAE1B,MAAM,CAAEK,cAAc,CAAE,GAAGrB,WAAW,CAAE,eAAgB,CAAC;EACzD,MAAMsB,KAAK,GAAG/B,cAAc,CAAE;IAC7B8B,cAAc,EAAEA,cAAc,IAAI,CAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAE;IACnEE,aAAa,EAAE;MAAEC,EAAE,EAAE,GAAG;MAAE,GAAG,EAAE,EAAE;MAAEC,EAAE,EAAE,EAAE;MAAEC,GAAG,EAAE,EAAE;MAAEC,EAAE,EAAE,EAAE;MAAEC,EAAE,EAAE;IAAG;EACpE,CAAE,CAAC;EAEH,MAAMC,cAAc,GAAKC,gBAAgB,IAAM;IAC9C,MAAMC,UAAU,GACfD,gBAAgB,KAAK,EAAE,GACpBE,UAAU,CAAEF,gBAAiB,CAAC,GAC9BG,SAAS;IAEb,IAAKC,KAAK,CAAEH,UAAW,CAAC,IAAIA,UAAU,KAAKE,SAAS,EAAG;MACtD;IACD;IACAnB,QAAQ,CAAEiB,UAAW,CAAC;EACvB,CAAC;EAED,MAAMI,aAAa,GAAGvD,OAAO,CAAE,MAAM;IACpC,MAAM,CAAEwD,cAAc,CAAE,GAAGvC,gCAAgC,CAAEoB,KAAM,CAAC;IACpE,OAAO,CAAEmB,cAAc,EAAEpB,IAAI,CAAE,CAACqB,IAAI,CAAE,EAAG,CAAC;EAC3C,CAAC,EAAE,CAAErB,IAAI,EAAEC,KAAK,CAAG,CAAC;EAEpB,MAAMqB,GAAG,GAAGlB,IAAI,GAAGX,gBAAgB,GAAG,CAAC;EAEvC,OACC8B,aAAA,CAAC5C,WAAW;IACX6C,KAAK,EAAGhC,EAAE,CAAE,yBAA0B,CAAG;IACzCiC,EAAE,EAAGtB,OAAS;IACduB,wBAAwB;IACxBJ,GAAG,EAAGA,GAAK;IACXxB,QAAQ,EAAGe,cAAgB;IAC3Bd,YAAY,EAAGA,YAAc;IAC7B4B,oBAAoB,EAAG,MAAQ;IAC/BrB,KAAK,EAAGA,KAAO;IACfL,KAAK,EAAGkB;EAAe,CACvB,CAAC;AAEJ;AACA,eAAe,SAASS,sBAAsBA,CAAE;EAC/CC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,eAAe;EACfC,QAAQ;EACRC,eAAe;EACfC,cAAc;EACdC;AACD,CAAC,EAAG;EACH,MAAM;IACLC,gBAAgB;IAChBC,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,GAAG;IACHC;EACD,CAAC,GAAGhB,UAAU;EACd,MAAM;IACLiB,iBAAiB;IACjBC,iBAAiB;IACjBC,YAAY;IACZC,GAAG;IACHC;EACD,CAAC,GAAGhB,eAAe;EAEnB,MAAM;IAAEiB,aAAa;IAAEC;EAAY,CAAC,GAAGjE,yBAAyB,CAAC,CAAC;EAElE,MAAMkE,cAAc,GAAGA,CAAA,KAAM;IAC5BvB,aAAa,CAAE;MACdU,WAAW,EAAE,CAAEA,WAAW;MAC1B,IAAK,CAAEA,WAAW,GAAG;QAAED,UAAU,EAAEtB;MAAU,CAAC,GAAG,CAAC,CAAC;IACpD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMqC,gBAAgB,GAAGA,CAAA,KAAM;IAC9BxB,aAAa,CAAE;MACdW,UAAU,EAAE,CAAEA;IACf,CAAE,CAAC;EACJ,CAAC;EAED,MAAMc,oBAAoB,GACzBT,iBAAiB,IACfC,iBAAiB,KAAM,CAAEP,WAAW,IAAIC,UAAU,CAAI;EAEzD,MAAMe,2BAA2B,GAAKvD,KAAK,IAAM;IAChD,MAAM,CAAEwD,UAAU,EAAEC,QAAQ,CAAE,GAAGV,YAAY,CAACW,OAAO,GAClD,CAAEX,YAAY,CAACW,OAAO,CAACC,KAAK,EAAE,gBAAgB,CAAE,GAChD,CAAE3B,QAAQ,CAAC0B,OAAO,CAACC,KAAK,EAAE,oBAAoB,CAAE;IACnDH,UAAU,CAAEC,QAAQ,CAAE,GAAGhE,aAAa,CAAEO,KAAM,CAAC;EAChD,CAAC;EAED,MAAM4D,qBAAqB,GAAGxE,mCAAmC,CAAC,CAAC;EAEnE,MAAMyE,mBAAmB,GAAG;IAC3BC,MAAM,EAAEvE,EAAE,CACT,qHACD,CAAC;IACDwE,IAAI,EAAExE,EAAE,CACP,kFACD,CAAC;IACDyE,OAAO,EAAEzE,EAAE,CACV,kIACD,CAAC;IACD0E,OAAO,EAAE1E,EAAE,CACV,gGACD,CAAC;IACD2E,KAAK,EAAE3E,EAAE,CACR,uIACD,CAAC;IACD4E,MAAM,EAAE5E,EAAE,CACT,8HACD;EACD,CAAC;EAED,OACC+B,aAAA,CAAA8C,QAAA,QACC9C,aAAA,CAACxC,iBAAiB,QACf,CAAC,CAAEkE,GAAG,IACP1B,aAAA,CAACvD,SAAS;IAACsG,KAAK,EAAG9E,EAAE,CAAE,UAAW;EAAG,GAClCuD,iBAAiB,IAClBxB,aAAA,CAAA8C,QAAA,QACC9C,aAAA,CAACnD,aAAa;IACbmG,uBAAuB;IACvB/C,KAAK,EAAGhC,EAAE,CAAE,kBAAmB,CAAG;IAClCgF,OAAO,EAAGhC,WAAa;IACvB1C,QAAQ,EAAGuD;EAAgB,CAC3B,CAAC,EAEF9B,aAAA,CAACnD,aAAa;IACbmG,uBAAuB;IACvB/C,KAAK,EAAGhC,EAAE,CAAE,qBAAsB,CAAG;IACrCgF,OAAO,EAAG/B,UAAY;IACtB3C,QAAQ,EAAGwD;EAAkB,CAC7B,CACA,CACF,EACCC,oBAAoB,IACrBhC,aAAA,CAACxD,gBAAgB;IAChBwG,uBAAuB;IACvBE,qBAAqB;IACrBjD,KAAK,EAAGhC,EAAE,CAAE,aAAc,CAAG;IAC7ByD,GAAG,EAAGA,GAAK;IACXhD,KAAK,EAAGsC,UAAY;IACpBmC,WAAW,EAAGlB,2BAA6B;IAC3CmB,MAAM,EAAGnB,2BAA6B;IACtC1D,QAAQ,EAAK8E,aAAa,IACzB9C,aAAa,CAAE;MACdS,UAAU,EAAEqC;IACb,CAAE;EACF,CACD,CACD,EACC,CAAEvC,gBAAgB,IAAIY,GAAG,IAAI,CAAEH,iBAAiB,IACjDvB,aAAA,CAACpD,eAAe;IACfoG,uBAAuB;IACvB/C,KAAK,EAAGhC,EAAE,CAAE,kBAAmB,CAAG;IAClCS,KAAK,EAAG2C,GAAK;IACb9C,QAAQ,EAAK+E,MAAM,IAClB/C,aAAa,CAAE;MAAEc,GAAG,EAAEiC;IAAO,CAAE,CAC/B;IACDC,IAAI,EACHvD,aAAA,CAAA8C,QAAA,QACC9C,aAAA,CAACzD,YAAY;MAACiH,IAAI,EAAC;IAAuD,GACvEvF,EAAE,CACH,oCACD,CACa,CAAC,EACf+B,aAAA,WAAK,CAAC,EACJ/B,EAAE,CAAE,4BAA6B,CAClC;EACF,CACD,CACD,EACD+B,aAAA,CAACtD,QAAQ,QACRsD,aAAA,CAAC1D,MAAM;IACNmH,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,OAAO;IACZC,SAAS,EAAC,mCAAmC;IAC7CC,OAAO,EAAG/C;EAAc,GAEtB5C,EAAE,CAAE,aAAc,CACb,CACC,CACA,CAEM,CAAC,EAClBqE,qBAAqB,CAACuB,oBAAoB,IAC3C7D,aAAA,CAACxC,iBAAiB;IAACsG,KAAK,EAAC;EAAO,GAC/B9D,aAAA,CAACrC,6BAA6B;IAC7BoG,iCAAiC;IACjCC,QAAQ,EAAG,CACV;MACCC,UAAU,EAAEtC,YAAY,CAACuC,KAAK;MAC9BtC,aAAa;MACb3B,KAAK,EAAEhC,EAAE,CAAE,SAAU,CAAC;MACtBkG,aAAa,EAAE1D,eAAe;MAC9B2D,gBAAgB,EAAEvC,WAAW;MAC7BwC,gBAAgB,EAAE,IAAI;MACtBC,cAAc,EAAEA,CAAA,MAAQ;QACvB3C,YAAY,EAAEjC,SAAS;QACvB6E,kBAAkB,EAAE7E,SAAS;QAC7B8E,QAAQ,EAAE9E,SAAS;QACnB+E,cAAc,EAAE/E;MACjB,CAAC;IACF,CAAC,CACC;IACHgF,OAAO,EAAGlE,QAAU;IAAA,GACf8B;EAAqB,CAC1B,CAAC,EACFtC,aAAA,CAAC9C,cAAc;IACdyH,QAAQ,EAAGA,CAAA,KAAM;MAChB;MACA;MACA,OAAO5D,QAAQ,KAAKrB,SAAS,GAC1B,KAAK,GACLqB,QAAQ,MAAOW,GAAG,GAAG,EAAE,GAAG,GAAG,CAAE;IACnC,CAAG;IACHzB,KAAK,EAAGhC,EAAE,CAAE,iBAAkB,CAAG;IACjC2G,UAAU,EAAGA,CAAA,KAAMhE,cAAc,CAAEc,GAAG,GAAG,EAAE,GAAG,GAAI,CAAG;IACrD4C,cAAc,EAAGA,CAAA,MAAQ;MACxBvD,QAAQ,EAAEW,GAAG,GAAG,EAAE,GAAG;IACtB,CAAC,CAAI;IACL2C,gBAAgB;IAChBK,OAAO,EAAGlE;EAAU,GAEpBR,aAAA,CAACrD,YAAY;IACZqG,uBAAuB;IACvB/C,KAAK,EAAGhC,EAAE,CAAE,iBAAkB,CAAG;IACjCS,KAAK,EAAGqC,QAAU;IAClBxC,QAAQ,EAAKsG,WAAW,IACvBjE,cAAc,CAAEiE,WAAY,CAC5B;IACD9E,GAAG,EAAG,CAAG;IACT+E,GAAG,EAAG,GAAK;IACXC,IAAI,EAAG,EAAI;IACXC,QAAQ;IACR9B,qBAAqB;EAAA,CACrB,CACc,CACE,CACnB,EACDlD,aAAA,CAACxC,iBAAiB;IAACsG,KAAK,EAAC;EAAY,GACpC9D,aAAA,CAAC9C,cAAc;IACdyH,QAAQ,EAAGA,CAAA,KAAM,CAAC,CAAExD,SAAW;IAC/BlB,KAAK,EAAGhC,EAAE,CAAE,gBAAiB,CAAG;IAChC2G,UAAU,EAAGA,CAAA,KACZrE,aAAa,CAAE;MACdY,SAAS,EAAEzB,SAAS;MACpB0B,aAAa,EAAE1B;IAChB,CAAE,CACF;IACD4E,cAAc,EAAGA,CAAA,MAAQ;MACxBnD,SAAS,EAAEzB,SAAS;MACpB0B,aAAa,EAAE1B;IAChB,CAAC,CAAI;IACL2E,gBAAgB,EAAG,IAAM;IACzBK,OAAO,EAAGlE;EAAU,GAEpBR,aAAA,CAAC1B,gBAAgB;IAChBI,KAAK,EACJ4B,UAAU,EAAE+B,KAAK,EAAE4C,UAAU,EAAEC,WAAW,GACvC,EAAE,GACF/D,SACH;IACD1C,IAAI,EAAG2C,aAAe;IACtB7C,QAAQ,EAAK4G,YAAY,IACxB5E,aAAa,CAAE;MACdY,SAAS,EAAEgE,YAAY;MACvB9C,KAAK,EAAEhE,gBAAgB,CAAE;QACxB,GAAGiC,UAAU,EAAE+B,KAAK;QACpB4C,UAAU,EAAE;UACX,GAAG3E,UAAU,EAAE+B,KAAK,EAAE4C,UAAU;UAChCC,WAAW,EAAExF,SAAS,CAAE;QACzB;MACD,CAAE;IACH,CAAE,CACF;IACDlB,YAAY,EAAK4G,QAAQ,IACxB7E,aAAa,CAAE;MACda,aAAa,EAAEgE;IAChB,CAAE;EACF,CACD,CACc,CACE,CAAC,EACpBpF,aAAA,CAACxC,iBAAiB;IAACsG,KAAK,EAAC;EAAU,GAClC9D,aAAA,CAAClD,aAAa;IACbkG,uBAAuB;IACvBE,qBAAqB;IACrBjD,KAAK,EAAGhC,EAAE,CAAE,cAAe,CAAG;IAC9BoH,OAAO,EAAG,CACT;MAAEpF,KAAK,EAAEhC,EAAE,CAAE,iBAAkB,CAAC;MAAES,KAAK,EAAE;IAAM,CAAC,EAChD;MAAEuB,KAAK,EAAE,UAAU;MAAEvB,KAAK,EAAE;IAAS,CAAC,EACtC;MAAEuB,KAAK,EAAE,QAAQ;MAAEvB,KAAK,EAAE;IAAO,CAAC,EAClC;MAAEuB,KAAK,EAAE,WAAW;MAAEvB,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEuB,KAAK,EAAE,WAAW;MAAEvB,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEuB,KAAK,EAAE,SAAS;MAAEvB,KAAK,EAAE;IAAQ,CAAC,EACpC;MAAEuB,KAAK,EAAE,UAAU;MAAEvB,KAAK,EAAE;IAAS,CAAC,CACpC;IACHA,KAAK,EAAG4C,OAAS;IACjB/C,QAAQ,EAAKG,KAAK,IACjB6B,aAAa,CAAE;MAAEe,OAAO,EAAE5C;IAAM,CAAE,CAClC;IACD6E,IAAI,EAAGhB,mBAAmB,CAAEjB,OAAO;EAAI,CACvC,CACiB,CAClB,CAAC;AAEL"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["details","icon","__","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","showContent","type","summary","source","selector","supports","align","color","gradients","link","__experimentalDefaultControls","background","text","__experimentalBorder","width","style","html","spacing","margin","padding","blockGap","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowEditing","interactivity","clientNavigation","editorStyle","edit","save","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/details/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: 'La Mancha',\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tsave,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAN,KAAA;MAAAO,KAAA;MAAAC,KAAA;IAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAV,6BAAA;QAAAQ,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,YAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAnB,KAAA;AAAA;AAE5C,OAAOoB,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;
|
|
1
|
+
{"version":3,"names":["details","icon","__","initBlock","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","showContent","type","summary","source","selector","supports","__experimentalOnEnter","align","color","gradients","link","__experimentalDefaultControls","background","text","__experimentalBorder","width","style","html","spacing","margin","padding","blockGap","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowEditing","interactivity","clientNavigation","editorStyle","edit","save","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/details/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { details as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsummary: 'La Mancha',\n\t\t\tshowContent: true,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tsave,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,IAAI,QAAQ,kBAAkB;AAClD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,WAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;IAAA;EAAA;EAAAC,QAAA;IAAAC,qBAAA;IAAAC,KAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAN,KAAA;MAAAO,KAAA;MAAAC,KAAA;IAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;MAAAV,6BAAA;QAAAQ,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAnB,6BAAA;QAAAY,QAAA;MAAA;IAAA;IAAAQ,MAAA;MAAAC,YAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAnB,KAAA;AAAA;AAE5C,OAAOoB,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAE5C;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM6C,QAAQ,GAAG;EACvBnD,IAAI;EACJoD,OAAO,EAAE;IACRxC,UAAU,EAAE;MACXG,OAAO,EAAE,WAAW;MACpBF,WAAW,EAAE;IACd,CAAC;IACDwC,WAAW,EAAE,CACZ;MACC/C,IAAI,EAAE,gBAAgB;MACtBM,UAAU,EAAE;QACX0C,OAAO,EAAErD,EAAE,CACV,kOACD;MACD;IACD,CAAC;EAEH,CAAC;EACDiD,IAAI;EACJD;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAMrD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAEgD;AAAS,CAAE,CAAC"}
|
|
@@ -48,6 +48,9 @@ const PLACEHOLDER_TEXT = Platform.isNative ? __('Add media') : __('Drag images,
|
|
|
48
48
|
const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative ? {
|
|
49
49
|
type: 'stepper'
|
|
50
50
|
} : {};
|
|
51
|
+
const DEFAULT_BLOCK = {
|
|
52
|
+
name: 'core/image'
|
|
53
|
+
};
|
|
51
54
|
const EMPTY_ARRAY = [];
|
|
52
55
|
function GalleryEdit(props) {
|
|
53
56
|
const {
|
|
@@ -81,7 +84,6 @@ function GalleryEdit(props) {
|
|
|
81
84
|
const {
|
|
82
85
|
getBlock,
|
|
83
86
|
getSettings,
|
|
84
|
-
preferredStyle,
|
|
85
87
|
innerBlockImages,
|
|
86
88
|
blockWasJustInserted,
|
|
87
89
|
multiGallerySelection
|
|
@@ -94,12 +96,10 @@ function GalleryEdit(props) {
|
|
|
94
96
|
getBlock: _getBlock,
|
|
95
97
|
wasBlockJustInserted
|
|
96
98
|
} = select(blockEditorStore);
|
|
97
|
-
const preferredStyleVariations = _getSettings().__experimentalPreferredStyleVariations;
|
|
98
99
|
const multiSelectedClientIds = getMultiSelectedBlockClientIds();
|
|
99
100
|
return {
|
|
100
101
|
getBlock: _getBlock,
|
|
101
102
|
getSettings: _getSettings,
|
|
102
|
-
preferredStyle: preferredStyleVariations?.value?.['core/image'],
|
|
103
103
|
innerBlockImages: (_getBlock$innerBlocks = _getBlock(clientId)?.innerBlocks) !== null && _getBlock$innerBlocks !== void 0 ? _getBlock$innerBlocks : EMPTY_ARRAY,
|
|
104
104
|
blockWasJustInserted: wasBlockJustInserted(clientId, 'inserter_menu'),
|
|
105
105
|
multiGallerySelection: multiSelectedClientIds.length && multiSelectedClientIds.every(_clientId => getBlockName(_clientId) === 'core/gallery')
|
|
@@ -146,8 +146,6 @@ function GalleryEdit(props) {
|
|
|
146
146
|
let newClassName;
|
|
147
147
|
if (imageAttributes.className && imageAttributes.className !== '') {
|
|
148
148
|
newClassName = imageAttributes.className;
|
|
149
|
-
} else {
|
|
150
|
-
newClassName = preferredStyle ? `is-style-${preferredStyle}` : undefined;
|
|
151
149
|
}
|
|
152
150
|
let newLinkTarget;
|
|
153
151
|
if (imageAttributes.linkTarget || imageAttributes.rel) {
|
|
@@ -355,6 +353,8 @@ function GalleryEdit(props) {
|
|
|
355
353
|
marginVertical: 0
|
|
356
354
|
};
|
|
357
355
|
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
356
|
+
defaultBlock: DEFAULT_BLOCK,
|
|
357
|
+
directInsert: true,
|
|
358
358
|
orientation: 'horizontal',
|
|
359
359
|
renderAppender: false,
|
|
360
360
|
...nativeInnerBlockProps
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","preferredStyleVariations","__experimentalPreferredStyleVariations","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","createElement","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Fragment","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","isWeb","VisualLabel","group","name","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tpreferredStyle,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst preferredStyleVariations =\n\t\t\t\t_getSettings().__experimentalPreferredStyleVariations;\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tpreferredStyle:\n\t\t\t\t\tpreferredStyleVariations?.value?.[ 'core/image' ],\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","createElement","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","children","hasLinkTo","Fragment","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","isWeb","VisualLabel","group","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":"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"}
|
|
@@ -42,21 +42,18 @@ const variations = [{
|
|
|
42
42
|
scope: ['block', 'inserter', 'transform'],
|
|
43
43
|
isActive: blockAttributes => blockAttributes.layout?.type === 'flex' && blockAttributes.layout?.orientation === 'vertical',
|
|
44
44
|
icon: stack
|
|
45
|
+
}, {
|
|
46
|
+
name: 'group-grid',
|
|
47
|
+
title: __('Grid'),
|
|
48
|
+
description: __('Arrange blocks in a grid.'),
|
|
49
|
+
attributes: {
|
|
50
|
+
layout: {
|
|
51
|
+
type: 'grid'
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
scope: ['block', 'inserter', 'transform'],
|
|
55
|
+
isActive: blockAttributes => blockAttributes.layout?.type === 'grid',
|
|
56
|
+
icon: grid
|
|
45
57
|
}];
|
|
46
|
-
if (window?.__experimentalEnableGroupGridVariation) {
|
|
47
|
-
variations.push({
|
|
48
|
-
name: 'group-grid',
|
|
49
|
-
title: __('Grid'),
|
|
50
|
-
description: __('Arrange blocks in a grid.'),
|
|
51
|
-
attributes: {
|
|
52
|
-
layout: {
|
|
53
|
-
type: 'grid'
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
scope: ['block', 'inserter', 'transform'],
|
|
57
|
-
isActive: blockAttributes => blockAttributes.layout?.type === 'grid',
|
|
58
|
-
icon: grid
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
58
|
export default variations;
|
|
62
59
|
//# sourceMappingURL=variations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","group","row","stack","grid","variations","name","title","description","attributes","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation"
|
|
1
|
+
{"version":3,"names":["__","_x","group","row","stack","grid","variations","name","title","description","attributes","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"sources":["@wordpress/block-library/src/group/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { group, row, stack, grid } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a container.' ),\n\t\tattributes: { layout: { type: 'constrained' } },\n\t\tisDefault: true,\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default' ||\n\t\t\tblockAttributes.layout?.type === 'constrained',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: _x( 'Row', 'single horizontal line' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t},\n\t{\n\t\tname: 'group-grid',\n\t\ttitle: __( 'Grid' ),\n\t\tdescription: __( 'Arrange blocks in a grid.' ),\n\t\tattributes: { layout: { type: 'grid' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'grid',\n\t\ticon: grid,\n\t},\n];\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,KAAK,EAAEC,GAAG,EAAEC,KAAK,EAAEC,IAAI,QAAQ,kBAAkB;AAE1D,MAAMC,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAER,EAAE,CAAE,OAAQ,CAAC;EACpBS,WAAW,EAAET,EAAE,CAAE,+BAAgC,CAAC;EAClDU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAc;EAAE,CAAC;EAC/CC,SAAS,EAAE,IAAI;EACfC,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1B,CAAEA,eAAe,CAACL,MAAM,IACxB,CAAEK,eAAe,CAACL,MAAM,EAAEC,IAAI,IAC9BI,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,SAAS,IAC1CI,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,aAAa;EAC/CK,IAAI,EAAEf;AACP,CAAC,EACD;EACCK,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEP,EAAE,CAAE,KAAK,EAAE,wBAAyB,CAAC;EAC5CQ,WAAW,EAAET,EAAE,CAAE,8BAA+B,CAAC;EACjDU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEM,QAAQ,EAAE;IAAS;EAAE,CAAC;EAC5DJ,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM,KACrC,CAAEI,eAAe,CAACL,MAAM,EAAEQ,WAAW,IACtCH,eAAe,CAACL,MAAM,EAAEQ,WAAW,KAAK,YAAY,CAAE;EACxDF,IAAI,EAAEd;AACP,CAAC,EACD;EACCI,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAER,EAAE,CAAE,OAAQ,CAAC;EACpBS,WAAW,EAAET,EAAE,CAAE,4BAA6B,CAAC;EAC/CU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEO,WAAW,EAAE;IAAW;EAAE,CAAC;EACjEL,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM,IACvCI,eAAe,CAACL,MAAM,EAAEQ,WAAW,KAAK,UAAU;EACnDF,IAAI,EAAEb;AACP,CAAC,EACD;EACCG,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAER,EAAE,CAAE,MAAO,CAAC;EACnBS,WAAW,EAAET,EAAE,CAAE,2BAA4B,CAAC;EAC9CU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAO;EAAE,CAAC;EACxCE,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM;EACxCK,IAAI,EAAEZ;AACP,CAAC,CACD;AAED,eAAeC,UAAU"}
|
|
@@ -17,6 +17,9 @@ import deprecated from '@wordpress/deprecated';
|
|
|
17
17
|
import OrderedListSettings from './ordered-list-settings';
|
|
18
18
|
import { migrateToListV2 } from './utils';
|
|
19
19
|
import TagName from './tag-name';
|
|
20
|
+
const DEFAULT_BLOCK = {
|
|
21
|
+
name: 'core/list-item'
|
|
22
|
+
};
|
|
20
23
|
const TEMPLATE = [['core/list-item']];
|
|
21
24
|
const NATIVE_MARGIN_SPACING = 8;
|
|
22
25
|
|
|
@@ -115,6 +118,8 @@ export default function Edit({
|
|
|
115
118
|
}
|
|
116
119
|
});
|
|
117
120
|
const innerBlocksProps = useInnerBlocksProps(blockProps, {
|
|
121
|
+
defaultBlock: DEFAULT_BLOCK,
|
|
122
|
+
directInsert: true,
|
|
118
123
|
template: TEMPLATE,
|
|
119
124
|
templateLock: false,
|
|
120
125
|
templateInsertUpdatesSelection: true,
|