@wordpress/block-library 9.8.4 → 9.8.6
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/build/block/edit.js +1 -4
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -4
- package/build/button/edit.js.map +1 -1
- package/build/cover/edit/index.js +4 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/image/edit.js +2 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +6 -10
- package/build/image/image.js.map +1 -1
- package/build-module/block/edit.js +1 -4
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +4 -6
- package/build-module/button/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +5 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/image/edit.js +4 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +5 -9
- package/build-module/image/image.js.map +1 -1
- package/build-style/editor-rtl.css +2 -2
- package/build-style/editor.css +2 -2
- package/build-style/group/editor-rtl.css +2 -2
- package/build-style/group/editor.css +2 -2
- package/package.json +11 -11
- package/src/block/edit.js +1 -2
- package/src/button/edit.js +6 -8
- package/src/categories/index.php +1 -1
- package/src/cover/edit/index.js +6 -2
- package/src/group/editor.scss +2 -2
- package/src/image/edit.js +6 -8
- package/src/image/image.js +5 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useSelect","useDispatch","useRef","useMemo","useEffect","useEntityRecord","store","coreStore","useEntityBlockEditor","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","InnerBlocks","patternsPrivateApis","blocksStore","name","patternBlockName","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useLayoutClasses","isOverridableBlock","hasOverridableBlocks","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","innerBlocks","RecursionWarning","blockProps","children","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","ReusableBlockControl","recordId","canOverrideBlocks","hasContent","handleEditOriginal","resetContent","canUserEdit","select","canUser","kind","id","onClick","disabled","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","getBlocks","getSettings","getBlockEditingMode","getBlockBindingsSource","layoutClasses","className","innerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","postId","postType"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n\tInnerBlocks,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock, hasOverridableBlocks } =\n\tunlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nfunction RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockControl( {\n\trecordId,\n\tcanOverrideBlocks,\n\thasContent,\n\thandleEditOriginal,\n\tresetContent,\n} ) {\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_block',\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ recordId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ canUserEdit && !! handleEditOriginal && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! hasContent }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, getSettings, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getBlockBindingsSource } = unlock( select( blocksStore ) );\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( patternClientId ),\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\tvalue: blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ hasResolved && ! isMissing && (\n\t\t\t\t<ReusableBlockControl\n\t\t\t\t\trecordId={ ref }\n\t\t\t\t\tcanOverrideBlocks={ canOverrideBlocks }\n\t\t\t\t\thasContent={ !! content }\n\t\t\t\t\thandleEditOriginal={\n\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t? handleEditOriginal\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tresetContent={ resetContent }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useSelect","useDispatch","useRef","useMemo","useEffect","useEntityRecord","store","coreStore","useEntityBlockEditor","Placeholder","Spinner","ToolbarButton","ToolbarGroup","__","useInnerBlocksProps","RecursionProvider","useHasRecursion","useBlockProps","Warning","privateApis","blockEditorPrivateApis","blockEditorStore","BlockControls","InnerBlocks","patternsPrivateApis","getBlockBindingsSource","name","patternBlockName","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","useLayoutClasses","isOverridableBlock","hasOverridableBlocks","fullAlignments","useInferredLayout","blocks","parentLayout","initialInferredAlignmentRef","length","alignment","current","undefined","isConstrained","type","hasFullAlignment","some","block","includes","attributes","align","layout","setBlockEditMode","setEditMode","mode","forEach","editMode","clientId","innerBlocks","RecursionWarning","blockProps","children","NOOP","ReusableBlockEditRecursionWrapper","props","ref","hasAlreadyRendered","uniqueId","ReusableBlockEdit","ReusableBlockControl","recordId","canOverrideBlocks","hasContent","handleEditOriginal","resetContent","canUserEdit","select","canUser","kind","id","onClick","disabled","content","__unstableParentLayout","patternClientId","setAttributes","record","hasResolved","isMissing","setBlockEditingMode","__unstableMarkLastChangeAsPersistent","onNavigateToEntityRecord","editingMode","hasPatternOverridesSource","getBlocks","getSettings","getBlockEditingMode","layoutClasses","className","innerBlocksProps","templateLock","value","onInput","onChange","renderAppender","ButtonBlockAppender","postId","postType"],"sources":["@wordpress/block-library/src/block/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useRef, useMemo, useEffect } from '@wordpress/element';\nimport {\n\tuseEntityRecord,\n\tstore as coreStore,\n\tuseEntityBlockEditor,\n} from '@wordpress/core-data';\nimport {\n\tPlaceholder,\n\tSpinner,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseInnerBlocksProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tuseBlockProps,\n\tWarning,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n\tBlockControls,\n\tInnerBlocks,\n} from '@wordpress/block-editor';\nimport { privateApis as patternsPrivateApis } from '@wordpress/patterns';\nimport { getBlockBindingsSource } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { name as patternBlockName } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { useLayoutClasses } = unlock( blockEditorPrivateApis );\nconst { isOverridableBlock, hasOverridableBlocks } =\n\tunlock( patternsPrivateApis );\n\nconst fullAlignments = [ 'full', 'wide', 'left', 'right' ];\n\nconst useInferredLayout = ( blocks, parentLayout ) => {\n\tconst initialInferredAlignmentRef = useRef();\n\n\treturn useMemo( () => {\n\t\t// Exit early if the pattern's blocks haven't loaded yet.\n\t\tif ( ! blocks?.length ) {\n\t\t\treturn {};\n\t\t}\n\n\t\tlet alignment = initialInferredAlignmentRef.current;\n\n\t\t// Only track the initial alignment so that temporarily removed\n\t\t// alignments can be reapplied.\n\t\tif ( alignment === undefined ) {\n\t\t\tconst isConstrained = parentLayout?.type === 'constrained';\n\t\t\tconst hasFullAlignment = blocks.some( ( block ) =>\n\t\t\t\tfullAlignments.includes( block.attributes.align )\n\t\t\t);\n\n\t\t\talignment = isConstrained && hasFullAlignment ? 'full' : null;\n\t\t\tinitialInferredAlignmentRef.current = alignment;\n\t\t}\n\n\t\tconst layout = alignment ? parentLayout : undefined;\n\n\t\treturn { alignment, layout };\n\t}, [ blocks, parentLayout ] );\n};\n\nfunction setBlockEditMode( setEditMode, blocks, mode ) {\n\tblocks.forEach( ( block ) => {\n\t\tconst editMode =\n\t\t\tmode ||\n\t\t\t( isOverridableBlock( block ) ? 'contentOnly' : 'disabled' );\n\t\tsetEditMode( block.clientId, editMode );\n\n\t\tsetBlockEditMode(\n\t\t\tsetEditMode,\n\t\t\tblock.innerBlocks,\n\t\t\t// Disable editing for nested patterns.\n\t\t\tblock.name === patternBlockName ? 'disabled' : mode\n\t\t);\n\t} );\n}\n\nfunction RecursionWarning() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nconst NOOP = () => {};\n\n// Wrap the main Edit function for the pattern block with a recursion wrapper\n// that allows short-circuiting rendering as early as possible, before any\n// of the other effects in the block edit have run.\nexport default function ReusableBlockEditRecursionWrapper( props ) {\n\tconst { ref } = props.attributes;\n\tconst hasAlreadyRendered = useHasRecursion( ref );\n\n\tif ( hasAlreadyRendered ) {\n\t\treturn <RecursionWarning />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider uniqueId={ ref }>\n\t\t\t<ReusableBlockEdit { ...props } />\n\t\t</RecursionProvider>\n\t);\n}\n\nfunction ReusableBlockControl( {\n\trecordId,\n\tcanOverrideBlocks,\n\thasContent,\n\thandleEditOriginal,\n\tresetContent,\n} ) {\n\tconst canUserEdit = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( coreStore ).canUser( 'update', {\n\t\t\t\tkind: 'postType',\n\t\t\t\tname: 'wp_block',\n\t\t\t\tid: recordId,\n\t\t\t} ),\n\t\t[ recordId ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ canUserEdit && !! handleEditOriginal && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton onClick={ handleEditOriginal }>\n\t\t\t\t\t\t\t{ __( 'Edit original' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\n\t\t\t{ canOverrideBlocks && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tonClick={ resetContent }\n\t\t\t\t\t\t\tdisabled={ ! hasContent }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction ReusableBlockEdit( {\n\tname,\n\tattributes: { ref, content },\n\t__unstableParentLayout: parentLayout,\n\tclientId: patternClientId,\n\tsetAttributes,\n} ) {\n\tconst { record, hasResolved } = useEntityRecord(\n\t\t'postType',\n\t\t'wp_block',\n\t\tref\n\t);\n\tconst [ blocks ] = useEntityBlockEditor( 'postType', 'wp_block', {\n\t\tid: ref,\n\t} );\n\tconst isMissing = hasResolved && ! record;\n\n\tconst { setBlockEditingMode, __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst {\n\t\tinnerBlocks,\n\t\tonNavigateToEntityRecord,\n\t\teditingMode,\n\t\thasPatternOverridesSource,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks, getSettings, getBlockEditingMode } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\t// For editing link to the site editor if the theme and user permissions support it.\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( patternClientId ),\n\t\t\t\tonNavigateToEntityRecord:\n\t\t\t\t\tgetSettings().onNavigateToEntityRecord,\n\t\t\t\teditingMode: getBlockEditingMode( patternClientId ),\n\t\t\t\thasPatternOverridesSource: !! getBlockBindingsSource(\n\t\t\t\t\t'core/pattern-overrides'\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ patternClientId ]\n\t);\n\n\t// Sync the editing mode of the pattern block with the inner blocks.\n\tuseEffect( () => {\n\t\tsetBlockEditMode(\n\t\t\tsetBlockEditingMode,\n\t\t\tinnerBlocks,\n\t\t\t// Disable editing if the pattern itself is disabled.\n\t\t\teditingMode === 'disabled' || ! hasPatternOverridesSource\n\t\t\t\t? 'disabled'\n\t\t\t\t: undefined\n\t\t);\n\t}, [\n\t\teditingMode,\n\t\tinnerBlocks,\n\t\tsetBlockEditingMode,\n\t\thasPatternOverridesSource,\n\t] );\n\n\tconst canOverrideBlocks = useMemo(\n\t\t() => hasPatternOverridesSource && hasOverridableBlocks( blocks ),\n\t\t[ hasPatternOverridesSource, blocks ]\n\t);\n\n\tconst { alignment, layout } = useInferredLayout( blocks, parentLayout );\n\tconst layoutClasses = useLayoutClasses( { layout }, name );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx(\n\t\t\t'block-library-block__reusable-block-container',\n\t\t\tlayout && layoutClasses,\n\t\t\t{ [ `align${ alignment }` ]: alignment }\n\t\t),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplateLock: 'all',\n\t\tlayout,\n\t\tvalue: blocks,\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\trenderAppender: blocks?.length\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t} );\n\n\tconst handleEditOriginal = () => {\n\t\tonNavigateToEntityRecord( {\n\t\t\tpostId: ref,\n\t\t\tpostType: 'wp_block',\n\t\t} );\n\t};\n\n\tconst resetContent = () => {\n\t\tif ( content ) {\n\t\t\t// Make sure any previous changes are persisted before resetting.\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\t\t\tsetAttributes( { content: undefined } );\n\t\t}\n\t};\n\n\tlet children = null;\n\n\tif ( isMissing ) {\n\t\tchildren = (\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block has been deleted or is unavailable.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n\n\tif ( ! hasResolved ) {\n\t\tchildren = (\n\t\t\t<Placeholder>\n\t\t\t\t<Spinner />\n\t\t\t</Placeholder>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ hasResolved && ! isMissing && (\n\t\t\t\t<ReusableBlockControl\n\t\t\t\t\trecordId={ ref }\n\t\t\t\t\tcanOverrideBlocks={ canOverrideBlocks }\n\t\t\t\t\thasContent={ !! content }\n\t\t\t\t\thandleEditOriginal={\n\t\t\t\t\t\tonNavigateToEntityRecord\n\t\t\t\t\t\t\t? handleEditOriginal\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tresetContent={ resetContent }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ children === null ? (\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t) : (\n\t\t\t\t<div { ...blockProps }>{ children }</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,MAAM,EAAEC,OAAO,EAAEC,SAAS,QAAQ,oBAAoB;AAC/D,SACCC,eAAe,EACfC,KAAK,IAAIC,SAAS,EAClBC,oBAAoB,QACd,sBAAsB;AAC7B,SACCC,WAAW,EACXC,OAAO,EACPC,aAAa,EACbC,YAAY,QACN,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,mBAAmB,EACnBC,iBAAiB,EACjBC,eAAe,EACfC,aAAa,EACbC,OAAO,EACPC,WAAW,IAAIC,sBAAsB,EACrCd,KAAK,IAAIe,gBAAgB,EACzBC,aAAa,EACbC,WAAW,QACL,yBAAyB;AAChC,SAASJ,WAAW,IAAIK,mBAAmB,QAAQ,qBAAqB;AACxE,SAASC,sBAAsB,QAAQ,mBAAmB;;AAE1D;AACA;AACA;AACA,SAASC,IAAI,IAAIC,gBAAgB,QAAQ,SAAS;AAClD,SAASC,MAAM,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAExC,MAAM;EAAEC;AAAiB,CAAC,GAAGP,MAAM,CAAER,sBAAuB,CAAC;AAC7D,MAAM;EAAEgB,kBAAkB;EAAEC;AAAqB,CAAC,GACjDT,MAAM,CAAEJ,mBAAoB,CAAC;AAE9B,MAAMc,cAAc,GAAG,CAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAE;AAE1D,MAAMC,iBAAiB,GAAGA,CAAEC,MAAM,EAAEC,YAAY,KAAM;EACrD,MAAMC,2BAA2B,GAAGxC,MAAM,CAAC,CAAC;EAE5C,OAAOC,OAAO,CAAE,MAAM;IACrB;IACA,IAAK,CAAEqC,MAAM,EAAEG,MAAM,EAAG;MACvB,OAAO,CAAC,CAAC;IACV;IAEA,IAAIC,SAAS,GAAGF,2BAA2B,CAACG,OAAO;;IAEnD;IACA;IACA,IAAKD,SAAS,KAAKE,SAAS,EAAG;MAC9B,MAAMC,aAAa,GAAGN,YAAY,EAAEO,IAAI,KAAK,aAAa;MAC1D,MAAMC,gBAAgB,GAAGT,MAAM,CAACU,IAAI,CAAIC,KAAK,IAC5Cb,cAAc,CAACc,QAAQ,CAAED,KAAK,CAACE,UAAU,CAACC,KAAM,CACjD,CAAC;MAEDV,SAAS,GAAGG,aAAa,IAAIE,gBAAgB,GAAG,MAAM,GAAG,IAAI;MAC7DP,2BAA2B,CAACG,OAAO,GAAGD,SAAS;IAChD;IAEA,MAAMW,MAAM,GAAGX,SAAS,GAAGH,YAAY,GAAGK,SAAS;IAEnD,OAAO;MAAEF,SAAS;MAAEW;IAAO,CAAC;EAC7B,CAAC,EAAE,CAAEf,MAAM,EAAEC,YAAY,CAAG,CAAC;AAC9B,CAAC;AAED,SAASe,gBAAgBA,CAAEC,WAAW,EAAEjB,MAAM,EAAEkB,IAAI,EAAG;EACtDlB,MAAM,CAACmB,OAAO,CAAIR,KAAK,IAAM;IAC5B,MAAMS,QAAQ,GACbF,IAAI,KACFtB,kBAAkB,CAAEe,KAAM,CAAC,GAAG,aAAa,GAAG,UAAU,CAAE;IAC7DM,WAAW,CAAEN,KAAK,CAACU,QAAQ,EAAED,QAAS,CAAC;IAEvCJ,gBAAgB,CACfC,WAAW,EACXN,KAAK,CAACW,WAAW;IACjB;IACAX,KAAK,CAACzB,IAAI,KAAKC,gBAAgB,GAAG,UAAU,GAAG+B,IAChD,CAAC;EACF,CAAE,CAAC;AACJ;AAEA,SAASK,gBAAgBA,CAAA,EAAG;EAC3B,MAAMC,UAAU,GAAG/C,aAAa,CAAC,CAAC;EAClC,oBACCa,IAAA;IAAA,GAAUkC,UAAU;IAAAC,QAAA,eACnBnC,IAAA,CAACZ,OAAO;MAAA+C,QAAA,EACLpD,EAAE,CAAE,yCAA0C;IAAC,CACzC;EAAC,CACN,CAAC;AAER;AAEA,MAAMqD,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;;AAErB;AACA;AACA;AACA,eAAe,SAASC,iCAAiCA,CAAEC,KAAK,EAAG;EAClE,MAAM;IAAEC;EAAI,CAAC,GAAGD,KAAK,CAACf,UAAU;EAChC,MAAMiB,kBAAkB,GAAGtD,eAAe,CAAEqD,GAAI,CAAC;EAEjD,IAAKC,kBAAkB,EAAG;IACzB,oBAAOxC,IAAA,CAACiC,gBAAgB,IAAE,CAAC;EAC5B;EAEA,oBACCjC,IAAA,CAACf,iBAAiB;IAACwD,QAAQ,EAAGF,GAAK;IAAAJ,QAAA,eAClCnC,IAAA,CAAC0C,iBAAiB;MAAA,GAAMJ;IAAK,CAAI;EAAC,CAChB,CAAC;AAEtB;AAEA,SAASK,oBAAoBA,CAAE;EAC9BC,QAAQ;EACRC,iBAAiB;EACjBC,UAAU;EACVC,kBAAkB;EAClBC;AACD,CAAC,EAAG;EACH,MAAMC,WAAW,GAAG/E,SAAS,CAC1BgF,MAAM,IACP,CAAC,CAAEA,MAAM,CAAEzE,SAAU,CAAC,CAAC0E,OAAO,CAAE,QAAQ,EAAE;IACzCC,IAAI,EAAE,UAAU;IAChBxD,IAAI,EAAE,UAAU;IAChByD,EAAE,EAAET;EACL,CAAE,CAAC,EACJ,CAAEA,QAAQ,CACX,CAAC;EAED,oBACCxC,KAAA,CAAAF,SAAA;IAAAiC,QAAA,GACGc,WAAW,IAAI,CAAC,CAAEF,kBAAkB,iBACrC/C,IAAA,CAACR,aAAa;MAAA2C,QAAA,eACbnC,IAAA,CAAClB,YAAY;QAAAqD,QAAA,eACZnC,IAAA,CAACnB,aAAa;UAACyE,OAAO,EAAGP,kBAAoB;UAAAZ,QAAA,EAC1CpD,EAAE,CAAE,eAAgB;QAAC,CACT;MAAC,CACH;IAAC,CACD,CACf,EAEC8D,iBAAiB,iBAClB7C,IAAA,CAACR,aAAa;MAAA2C,QAAA,eACbnC,IAAA,CAAClB,YAAY;QAAAqD,QAAA,eACZnC,IAAA,CAACnB,aAAa;UACbyE,OAAO,EAAGN,YAAc;UACxBO,QAAQ,EAAG,CAAET,UAAY;UAAAX,QAAA,EAEvBpD,EAAE,CAAE,OAAQ;QAAC,CACD;MAAC,CACH;IAAC,CACD,CACf;EAAA,CACA,CAAC;AAEL;AAEA,SAAS2D,iBAAiBA,CAAE;EAC3B9C,IAAI;EACJ2B,UAAU,EAAE;IAAEgB,GAAG;IAAEiB;EAAQ,CAAC;EAC5BC,sBAAsB,EAAE9C,YAAY;EACpCoB,QAAQ,EAAE2B,eAAe;EACzBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,MAAM;IAAEC;EAAY,CAAC,GAAGtF,eAAe,CAC9C,UAAU,EACV,UAAU,EACVgE,GACD,CAAC;EACD,MAAM,CAAE7B,MAAM,CAAE,GAAGhC,oBAAoB,CAAE,UAAU,EAAE,UAAU,EAAE;IAChE2E,EAAE,EAAEd;EACL,CAAE,CAAC;EACH,MAAMuB,SAAS,GAAGD,WAAW,IAAI,CAAED,MAAM;EAEzC,MAAM;IAAEG,mBAAmB;IAAEC;EAAqC,CAAC,GAClE7F,WAAW,CAAEoB,gBAAiB,CAAC;EAEhC,MAAM;IACLyC,WAAW;IACXiC,wBAAwB;IACxBC,WAAW;IACXC;EACD,CAAC,GAAGjG,SAAS,CACVgF,MAAM,IAAM;IACb,MAAM;MAAEkB,SAAS;MAAEC,WAAW;MAAEC;IAAoB,CAAC,GACpDpB,MAAM,CAAE3D,gBAAiB,CAAC;IAC3B;IACA,OAAO;MACNyC,WAAW,EAAEoC,SAAS,CAAEV,eAAgB,CAAC;MACzCO,wBAAwB,EACvBI,WAAW,CAAC,CAAC,CAACJ,wBAAwB;MACvCC,WAAW,EAAEI,mBAAmB,CAAEZ,eAAgB,CAAC;MACnDS,yBAAyB,EAAE,CAAC,CAAExE,sBAAsB,CACnD,wBACD;IACD,CAAC;EACF,CAAC,EACD,CAAE+D,eAAe,CAClB,CAAC;;EAED;EACApF,SAAS,CAAE,MAAM;IAChBoD,gBAAgB,CACfqC,mBAAmB,EACnB/B,WAAW;IACX;IACAkC,WAAW,KAAK,UAAU,IAAI,CAAEC,yBAAyB,GACtD,UAAU,GACVnD,SACJ,CAAC;EACF,CAAC,EAAE,CACFkD,WAAW,EACXlC,WAAW,EACX+B,mBAAmB,EACnBI,yBAAyB,CACxB,CAAC;EAEH,MAAMtB,iBAAiB,GAAGxE,OAAO,CAChC,MAAM8F,yBAAyB,IAAI5D,oBAAoB,CAAEG,MAAO,CAAC,EACjE,CAAEyD,yBAAyB,EAAEzD,MAAM,CACpC,CAAC;EAED,MAAM;IAAEI,SAAS;IAAEW;EAAO,CAAC,GAAGhB,iBAAiB,CAAEC,MAAM,EAAEC,YAAa,CAAC;EACvE,MAAM4D,aAAa,GAAGlE,gBAAgB,CAAE;IAAEoB;EAAO,CAAC,EAAE7B,IAAK,CAAC;EAE1D,MAAMsC,UAAU,GAAG/C,aAAa,CAAE;IACjCqF,SAAS,EAAEvG,IAAI,CACd,+CAA+C,EAC/CwD,MAAM,IAAI8C,aAAa,EACvB;MAAE,CAAG,QAAQzD,SAAW,EAAC,GAAIA;IAAU,CACxC;EACD,CAAE,CAAC;EAEH,MAAM2D,gBAAgB,GAAGzF,mBAAmB,CAAEkD,UAAU,EAAE;IACzDwC,YAAY,EAAE,KAAK;IACnBjD,MAAM;IACNkD,KAAK,EAAEjE,MAAM;IACbkE,OAAO,EAAExC,IAAI;IACbyC,QAAQ,EAAEzC,IAAI;IACd0C,cAAc,EAAEpE,MAAM,EAAEG,MAAM,GAC3BG,SAAS,GACTvB,WAAW,CAACsF;EAChB,CAAE,CAAC;EAEH,MAAMhC,kBAAkB,GAAGA,CAAA,KAAM;IAChCkB,wBAAwB,CAAE;MACzBe,MAAM,EAAEzC,GAAG;MACX0C,QAAQ,EAAE;IACX,CAAE,CAAC;EACJ,CAAC;EAED,MAAMjC,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAKQ,OAAO,EAAG;MACd;MACAQ,oCAAoC,CAAC,CAAC;MACtCL,aAAa,CAAE;QAAEH,OAAO,EAAExC;MAAU,CAAE,CAAC;IACxC;EACD,CAAC;EAED,IAAImB,QAAQ,GAAG,IAAI;EAEnB,IAAK2B,SAAS,EAAG;IAChB3B,QAAQ,gBACPnC,IAAA,CAACZ,OAAO;MAAA+C,QAAA,EACLpD,EAAE,CAAE,2CAA4C;IAAC,CAC3C,CACT;EACF;EAEA,IAAK,CAAE8E,WAAW,EAAG;IACpB1B,QAAQ,gBACPnC,IAAA,CAACrB,WAAW;MAAAwD,QAAA,eACXnC,IAAA,CAACpB,OAAO,IAAE;IAAC,CACC,CACb;EACF;EAEA,oBACCwB,KAAA,CAAAF,SAAA;IAAAiC,QAAA,GACG0B,WAAW,IAAI,CAAEC,SAAS,iBAC3B9D,IAAA,CAAC2C,oBAAoB;MACpBC,QAAQ,EAAGL,GAAK;MAChBM,iBAAiB,EAAGA,iBAAmB;MACvCC,UAAU,EAAG,CAAC,CAAEU,OAAS;MACzBT,kBAAkB,EACjBkB,wBAAwB,GACrBlB,kBAAkB,GAClB/B,SACH;MACDgC,YAAY,EAAGA;IAAc,CAC7B,CACD,EAECb,QAAQ,KAAK,IAAI,gBAClBnC,IAAA;MAAA,GAAUyE;IAAgB,CAAI,CAAC,gBAE/BzE,IAAA;MAAA,GAAUkC,UAAU;MAAAC,QAAA,EAAKA;IAAQ,CAAO,CACxC;EAAA,CACA,CAAC;AAEL","ignoreList":[]}
|
|
@@ -9,7 +9,6 @@ import clsx from 'clsx';
|
|
|
9
9
|
import { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';
|
|
10
10
|
import { getUpdatedLinkAttributes } from './get-updated-link-attributes';
|
|
11
11
|
import removeAnchorTag from '../utils/remove-anchor-tag';
|
|
12
|
-
import { unlock } from '../lock-unlock';
|
|
13
12
|
|
|
14
13
|
/**
|
|
15
14
|
* WordPress dependencies
|
|
@@ -20,9 +19,9 @@ import { Button, ButtonGroup, PanelBody, TextControl, ToolbarButton, Popover } f
|
|
|
20
19
|
import { AlignmentControl, BlockControls, InspectorControls, RichText, useBlockProps, __experimentalUseBorderProps as useBorderProps, __experimentalUseColorProps as useColorProps, __experimentalGetSpacingClassesAndStyles as useSpacingProps, __experimentalGetShadowClassesAndStyles as useShadowProps, __experimentalLinkControl as LinkControl, __experimentalGetElementClassName, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
|
|
21
20
|
import { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';
|
|
22
21
|
import { link, linkOff } from '@wordpress/icons';
|
|
23
|
-
import { createBlock, cloneBlock, getDefaultBlockName,
|
|
22
|
+
import { createBlock, cloneBlock, getDefaultBlockName, getBlockBindingsSource } from '@wordpress/blocks';
|
|
24
23
|
import { useMergeRefs, useRefEffect } from '@wordpress/compose';
|
|
25
|
-
import { useSelect, useDispatch
|
|
24
|
+
import { useSelect, useDispatch } from '@wordpress/data';
|
|
26
25
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
27
26
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
27
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
@@ -146,7 +145,6 @@ function ButtonEdit(props) {
|
|
|
146
145
|
const colorProps = useColorProps(attributes);
|
|
147
146
|
const spacingProps = useSpacingProps(attributes);
|
|
148
147
|
const shadowProps = useShadowProps(attributes);
|
|
149
|
-
const registry = useRegistry();
|
|
150
148
|
const ref = useRef();
|
|
151
149
|
const richTextRef = useRef();
|
|
152
150
|
const blockProps = useBlockProps({
|
|
@@ -195,10 +193,10 @@ function ButtonEdit(props) {
|
|
|
195
193
|
if (!isSelected) {
|
|
196
194
|
return {};
|
|
197
195
|
}
|
|
198
|
-
const blockBindingsSource =
|
|
196
|
+
const blockBindingsSource = getBlockBindingsSource(metadata?.bindings?.url?.source);
|
|
199
197
|
return {
|
|
200
198
|
lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
|
|
201
|
-
|
|
199
|
+
select,
|
|
202
200
|
context,
|
|
203
201
|
args: metadata?.bindings?.url?.args
|
|
204
202
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","unlock","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","blocksStore","useMergeRefs","useRefEffect","useSelect","useDispatch","useRegistry","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","children","map","widthValue","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","registry","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__next40pxDefaultSize","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tstore as blocksStore,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst registry = useRegistry();\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tregistry,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,cAAc,EAAEC,YAAY,QAAQ,aAAa;AAC1D,SAASC,wBAAwB,QAAQ,+BAA+B;AACxE,OAAOC,eAAe,MAAM,4BAA4B;AACxD,SAASC,MAAM,QAAQ,gBAAgB;;AAEvC;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,OAAO,QAAQ,oBAAoB;AACzE,SACCC,MAAM,EACNC,WAAW,EACXC,SAAS,EACTC,WAAW,EACXC,aAAa,EACbC,OAAO,QACD,uBAAuB;AAC9B,SACCC,gBAAgB,EAChBC,aAAa,EACbC,iBAAiB,EACjBC,QAAQ,EACRC,aAAa,EACbC,4BAA4B,IAAIC,cAAc,EAC9CC,2BAA2B,IAAIC,aAAa,EAC5CC,wCAAwC,IAAIC,eAAe,EAC3DC,uCAAuC,IAAIC,cAAc,EACzDC,yBAAyB,IAAIC,WAAW,EACxCC,iCAAiC,EACjCC,KAAK,IAAIC,gBAAgB,EACzBC,mBAAmB,QACb,yBAAyB;AAChC,SAASC,eAAe,EAAEC,eAAe,EAAEC,KAAK,QAAQ,qBAAqB;AAC7E,SAASC,IAAI,EAAEC,OAAO,QAAQ,kBAAkB;AAChD,SACCC,WAAW,EACXC,UAAU,EACVC,mBAAmB,EACnBV,KAAK,IAAIW,WAAW,QACd,mBAAmB;AAC1B,SAASC,YAAY,EAAEC,YAAY,QAAQ,oBAAoB;AAC/D,SAASC,SAAS,EAAEC,WAAW,EAAEC,WAAW,QAAQ,iBAAiB;AAAC,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEtE,MAAMC,aAAa,GAAG,CACrB,GAAGzB,WAAW,CAAC0B,qBAAqB,EACpC;EACCC,EAAE,EAAE,UAAU;EACdC,KAAK,EAAErD,EAAE,CAAE,kBAAmB;AAC/B,CAAC,CACD;AAED,SAASsD,QAAQA,CAAEC,KAAK,EAAG;EAC1B,MAAM;IAAEC,aAAa;IAAEC;EAAgB,CAAC,GAAGf,WAAW,CAAEd,gBAAiB,CAAC;EAC1E,MAAM;IAAE8B,QAAQ;IAAEC,oBAAoB;IAAEC;EAAc,CAAC,GACtDnB,SAAS,CAAEb,gBAAiB,CAAC;EAC9B,MAAMiC,QAAQ,GAAG1D,MAAM,CAAEoD,KAAM,CAAC;EAChCM,QAAQ,CAACC,OAAO,GAAGP,KAAK;EACxB,OAAOf,YAAY,CAAIuB,OAAO,IAAM;IACnC,SAASC,SAASA,CAAEC,KAAK,EAAG;MAC3B,IAAKA,KAAK,CAACC,gBAAgB,IAAID,KAAK,CAACE,OAAO,KAAKnC,KAAK,EAAG;QACxD;MACD;MACA,MAAM;QAAEoC,OAAO;QAAEC;MAAS,CAAC,GAAGR,QAAQ,CAACC,OAAO;MAC9C,IAAKM,OAAO,CAACE,MAAM,EAAG;QACrB;MACD;MACAL,KAAK,CAACM,cAAc,CAAC,CAAC;MACtB,MAAMC,kBAAkB,GAAGd,QAAQ,CAClCC,oBAAoB,CAAEU,QAAS,CAChC,CAAC;MACD,MAAMI,UAAU,GAAGb,aAAa,CAAES,QAAS,CAAC;MAC5C,MAAMK,IAAI,GAAGtC,UAAU,CAAE;QACxB,GAAGoC,kBAAkB;QACrBG,WAAW,EAAEH,kBAAkB,CAACG,WAAW,CAACC,KAAK,CAChD,CAAC,EACDH,UACD;MACD,CAAE,CAAC;MACH,MAAMI,MAAM,GAAG1C,WAAW,CAAEE,mBAAmB,CAAC,CAAE,CAAC;MACnD,MAAMyC,KAAK,GAAGN,kBAAkB,CAACG,WAAW,CAACC,KAAK,CACjDH,UAAU,GAAG,CACd,CAAC;MACD,MAAMM,IAAI,GAAGD,KAAK,CAACR,MAAM,GACtB,CACAlC,UAAU,CAAE;QACX,GAAGoC,kBAAkB;QACrBG,WAAW,EAAEG;MACd,CAAE,CAAC,CACF,GACD,EAAE;MACLtB,aAAa,CACZgB,kBAAkB,CAACH,QAAQ,EAC3B,CAAEK,IAAI,EAAEG,MAAM,EAAE,GAAGE,IAAI,CAAE,EACzB,CACD,CAAC;MACD;MACA;MACAtB,eAAe,CAAEoB,MAAM,CAACR,QAAS,CAAC;IACnC;IAEAN,OAAO,CAACiB,gBAAgB,CAAE,SAAS,EAAEhB,SAAU,CAAC;IAChD,OAAO,MAAM;MACZD,OAAO,CAACkB,mBAAmB,CAAE,SAAS,EAAEjB,SAAU,CAAC;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;AACR;AAEA,SAASkB,UAAUA,CAAE;EAAEC,aAAa;EAAEC;AAAc,CAAC,EAAG;EACvD,SAASC,YAAYA,CAAEC,QAAQ,EAAG;IACjC;IACA,MAAMC,KAAK,GAAGJ,aAAa,KAAKG,QAAQ,GAAGE,SAAS,GAAGF,QAAQ;;IAE/D;IACAF,aAAa,CAAE;MAAEG;IAAM,CAAE,CAAC;EAC3B;EAEA,oBACCxC,IAAA,CAACxC,SAAS;IAAC8C,KAAK,EAAGrD,EAAE,CAAE,UAAW,CAAG;IAAAyF,QAAA,eACpC1C,IAAA,CAACzC,WAAW;MAAC,cAAaN,EAAE,CAAE,cAAe,CAAG;MAAAyF,QAAA,EAC7C,CAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAE,CAACC,GAAG,CAAIC,UAAU,IAAM;QAC5C,oBACC9C,KAAA,CAACxC,MAAM;UAENuF,IAAI,EAAC,OAAO;UACZC,OAAO,EACNF,UAAU,KAAKR,aAAa,GACzB,SAAS,GACTK,SACH;UACDM,OAAO,EAAGA,CAAA,KAAMT,YAAY,CAAEM,UAAW,CAAG;UAAAF,QAAA,GAE1CE,UAAU,EAAE,GACf;QAAA,GAVOA,UAUC,CAAC;MAEX,CAAE;IAAC,CACS;EAAC,CACJ,CAAC;AAEd;AAEA,SAASI,UAAUA,CAAExC,KAAK,EAAG;EAC5B,MAAM;IACLyC,UAAU;IACVZ,aAAa;IACba,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,WAAW;IACX/B,QAAQ;IACRgC;EACD,CAAC,GAAG9C,KAAK;EACT,MAAM;IACL+C,OAAO;IACPC,SAAS;IACTC,UAAU;IACVC,WAAW;IACXC,GAAG;IACHC,KAAK;IACLC,IAAI;IACJC,GAAG;IACHtB,KAAK;IACLuB;EACD,CAAC,GAAGd,UAAU;EAEd,MAAMe,OAAO,GAAGT,OAAO,IAAI,GAAG;EAE9B,SAAStC,SAASA,CAAEC,KAAK,EAAG;IAC3B,IAAKlC,eAAe,CAACiF,OAAO,CAAE/C,KAAK,EAAE,GAAI,CAAC,EAAG;MAC5CgD,YAAY,CAAEhD,KAAM,CAAC;IACtB,CAAC,MAAM,IAAKlC,eAAe,CAACmF,YAAY,CAAEjD,KAAK,EAAE,GAAI,CAAC,EAAG;MACxDkD,MAAM,CAAC,CAAC;MACRC,WAAW,CAACtD,OAAO,EAAEuD,KAAK,CAAC,CAAC;IAC7B;EACD;;EAEA;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAGrH,QAAQ,CAAE,IAAK,CAAC;EAE5D,MAAMsH,WAAW,GAAGvG,cAAc,CAAE+E,UAAW,CAAC;EAChD,MAAMyB,UAAU,GAAGtG,aAAa,CAAE6E,UAAW,CAAC;EAC9C,MAAM0B,YAAY,GAAGrG,eAAe,CAAE2E,UAAW,CAAC;EAClD,MAAM2B,WAAW,GAAGpG,cAAc,CAAEyE,UAAW,CAAC;EAChD,MAAM4B,QAAQ,GAAGjF,WAAW,CAAC,CAAC;EAC9B,MAAMkF,GAAG,GAAG1H,MAAM,CAAC,CAAC;EACpB,MAAMiH,WAAW,GAAGjH,MAAM,CAAC,CAAC;EAC5B,MAAM2H,UAAU,GAAG/G,aAAa,CAAE;IACjC8G,GAAG,EAAEtF,YAAY,CAAE,CAAEgF,gBAAgB,EAAEM,GAAG,CAAG,CAAC;IAC9C7D;EACD,CAAE,CAAC;EACH,MAAM+D,gBAAgB,GAAGlG,mBAAmB,CAAC,CAAC;EAE9C,MAAM,CAAEmG,YAAY,EAAEC,eAAe,CAAE,GAAG/H,QAAQ,CAAE,KAAM,CAAC;EAC3D,MAAMgI,QAAQ,GAAG,CAAC,CAAErB,GAAG;EACvB,MAAMsB,aAAa,GAAG3B,UAAU,KAAK7G,cAAc;EACnD,MAAMyI,QAAQ,GAAG,CAAC,CAAE1B,GAAG,EAAE2B,QAAQ,CAAEzI,YAAa,CAAC;EACjD,MAAM0I,SAAS,GAAG,GAAG,KAAKvB,OAAO;EAEjC,SAASE,YAAYA,CAAEhD,KAAK,EAAG;IAC9BA,KAAK,CAACM,cAAc,CAAC,CAAC;IACtB0D,eAAe,CAAE,IAAK,CAAC;EACxB;EAEA,SAASd,MAAMA,CAAA,EAAG;IACjB/B,aAAa,CAAE;MACdyB,GAAG,EAAErB,SAAS;MACdgB,UAAU,EAAEhB,SAAS;MACrBkB,GAAG,EAAElB;IACN,CAAE,CAAC;IACHyC,eAAe,CAAE,KAAM,CAAC;EACzB;EAEAhI,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEiG,UAAU,EAAG;MACnB+B,eAAe,CAAE,KAAM,CAAC;IACzB;EACD,CAAC,EAAE,CAAE/B,UAAU,CAAG,CAAC;;EAEnB;EACA;EACA,MAAMqC,SAAS,GAAGnI,OAAO,CACxB,OAAQ;IAAEyG,GAAG;IAAEsB,aAAa;IAAEC;EAAS,CAAC,CAAE,EAC1C,CAAEvB,GAAG,EAAEsB,aAAa,EAAEC,QAAQ,CAC/B,CAAC;EAED,MAAMI,WAAW,GAAGlF,QAAQ,CAAE;IAAEc,OAAO,EAAEwC,IAAI;IAAEvC;EAAS,CAAE,CAAC;EAC3D,MAAMoE,SAAS,GAAGlG,YAAY,CAAE,CAAEiG,WAAW,EAAEpB,WAAW,CAAG,CAAC;EAE9D,MAAM;IAAEsB,eAAe,GAAG;EAAM,CAAC,GAAGjG,SAAS,CAC1CkG,MAAM,IAAM;IACb,IAAK,CAAEzC,UAAU,EAAG;MACnB,OAAO,CAAC,CAAC;IACV;IAEA,MAAM0C,mBAAmB,GAAG7I,MAAM,CACjC4I,MAAM,CAAErG,WAAY,CACrB,CAAC,CAACuG,sBAAsB,CAAE/B,QAAQ,EAAEgC,QAAQ,EAAEjC,GAAG,EAAEkC,MAAO,CAAC;IAE3D,OAAO;MACNL,eAAe,EACd,CAAC,CAAE5B,QAAQ,EAAEgC,QAAQ,EAAEjC,GAAG,IAC1B,CAAE+B,mBAAmB,EAAEI,gBAAgB,GAAI;QAC1CpB,QAAQ;QACRvB,OAAO;QACP4C,IAAI,EAAEnC,QAAQ,EAAEgC,QAAQ,EAAEjC,GAAG,EAAEoC;MAChC,CAAE;IACJ,CAAC;EACF,CAAC,EACD,CAAE5C,OAAO,EAAEH,UAAU,EAAEY,QAAQ,EAAEgC,QAAQ,EAAEjC,GAAG,CAC/C,CAAC;EAED,oBACChE,KAAA,CAAAI,SAAA;IAAAwC,QAAA,gBACC1C,IAAA;MAAA,GACM+E,UAAU;MACf7B,SAAS,EAAGvG,IAAI,CAAEoI,UAAU,CAAC7B,SAAS,EAAE;QACvC,CAAG,2CAA2CV,KAAO,EAAC,GACrDA,KAAK;QACN,CAAG,sBAAqB,GAAIuC,UAAU,CAACnB,KAAK,CAACuC;MAC9C,CAAE,CAAG;MAAAzD,QAAA,eAEL1C,IAAA,CAACjC,QAAQ;QACR+G,GAAG,EAAGY,SAAW;QACjB,cAAazI,EAAE,CAAE,aAAc,CAAG;QAClCyG,WAAW,EAAGA,WAAW,IAAIzG,EAAE,CAAE,WAAY,CAAG;QAChDmJ,KAAK,EAAGvC,IAAM;QACdwC,QAAQ,EAAKD,KAAK,IACjB/D,aAAa,CAAE;UACdwB,IAAI,EAAE9G,eAAe,CAAEqJ,KAAM;QAC9B,CAAE,CACF;QACDE,4BAA4B;QAC5BpD,SAAS,EAAGvG,IAAI,CACfuG,SAAS,EACT,uBAAuB,EACvBwB,UAAU,CAACxB,SAAS,EACpBuB,WAAW,CAACvB,SAAS,EACrB;UACC,CAAG,kBAAkBM,SAAW,EAAC,GAAIA,SAAS;UAC9C;UACA;UACA,kBAAkB,EAAEI,KAAK,EAAE2C,MAAM,EAAEC,MAAM,KAAK;QAC/C,CAAC,EACD7H,iCAAiC,CAAE,QAAS,CAC7C,CAAG;QACHiF,KAAK,EAAG;UACP,GAAGa,WAAW,CAACb,KAAK;UACpB,GAAGc,UAAU,CAACd,KAAK;UACnB,GAAGe,YAAY,CAACf,KAAK;UACrB,GAAGgB,WAAW,CAAChB;QAChB,CAAG;QACHR,SAAS,EAAGA,SAAW;QACvBqD,OAAO,EAAGpD,WAAa;QACvBqD,UAAU,EAAC;MAAM,CACjB;IAAC,CACE,CAAC,eACN5G,KAAA,CAACjC,aAAa;MAAC8I,KAAK,EAAC,OAAO;MAAAjE,QAAA,GACzBsC,gBAAgB,KAAK,SAAS,iBAC/BhF,IAAA,CAACpC,gBAAgB;QAChBwI,KAAK,EAAG5C,SAAW;QACnB6C,QAAQ,EAAKO,SAAS,IAAM;UAC3BvE,aAAa,CAAE;YAAEmB,SAAS,EAAEoD;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH,CACD,EACC,CAAEzB,QAAQ,IAAII,SAAS,IAAI,CAAEI,eAAe,iBAC7C3F,IAAA,CAACtC,aAAa;QACbmJ,IAAI,EAAC,MAAM;QACXC,IAAI,EAAG5H,IAAM;QACboB,KAAK,EAAGrD,EAAE,CAAE,MAAO,CAAG;QACtB8J,QAAQ,EAAGhI,eAAe,CAACkF,OAAO,CAAE,GAAI,CAAG;QAC3ClB,OAAO,EAAGmB;MAAc,CACxB,CACD,EACCiB,QAAQ,IAAII,SAAS,IAAI,CAAEI,eAAe,iBAC3C3F,IAAA,CAACtC,aAAa;QACbmJ,IAAI,EAAC,MAAM;QACXC,IAAI,EAAG3H,OAAS;QAChBmB,KAAK,EAAGrD,EAAE,CAAE,QAAS,CAAG;QACxB8J,QAAQ,EAAGhI,eAAe,CAACoF,YAAY,CAAE,GAAI,CAAG;QAChDpB,OAAO,EAAGqB,MAAQ;QAClB4C,QAAQ;MAAA,CACR,CACD;IAAA,CACa,CAAC,EACdzB,SAAS,IACVpC,UAAU,KACR8B,YAAY,IAAIE,QAAQ,CAAE,IAC5B,CAAEQ,eAAe,iBAChB3F,IAAA,CAACrC,OAAO;MACPsJ,SAAS,EAAC,QAAQ;MAClBC,OAAO,EAAGA,CAAA,KAAM;QACfhC,eAAe,CAAE,KAAM,CAAC;QACxBb,WAAW,CAACtD,OAAO,EAAEuD,KAAK,CAAC,CAAC;MAC7B,CAAG;MACH6C,MAAM,EAAG5C,aAAe;MACxB6C,YAAY,EAAGnC,YAAY,GAAG,cAAc,GAAG,KAAO;MACtDoC,kBAAkB,EAAC,8BAA8B;MACjDC,KAAK;MAAA5E,QAAA,eAEL1C,IAAA,CAACtB,WAAW;QACX0H,KAAK,EAAGZ,SAAW;QACnBa,QAAQ,EAAGA,CAAE;UACZvC,GAAG,EAAEyD,MAAM;UACXnC,aAAa,EAAEoC,gBAAgB;UAC/BnC,QAAQ,EAAEoC;QACX,CAAC,KACApF,aAAa,CACZvF,wBAAwB,CAAE;UACzB6G,GAAG;UACHG,GAAG,EAAEyD,MAAM;UACXnC,aAAa,EAAEoC,gBAAgB;UAC/BnC,QAAQ,EAAEoC;QACX,CAAE,CACH,CACA;QACDC,QAAQ,EAAGA,CAAA,KAAM;UAChBtD,MAAM,CAAC,CAAC;UACRC,WAAW,CAACtD,OAAO,EAAEuD,KAAK,CAAC,CAAC;QAC7B,CAAG;QACHqD,kBAAkB,EAAG1C,YAAc;QACnC2C,QAAQ,EAAGzH;MAAe,CAC1B;IAAC,CACM,CACT,eACFH,IAAA,CAAClC,iBAAiB;MAAA4E,QAAA,eACjB1C,IAAA,CAACmC,UAAU;QACVC,aAAa,EAAGI,KAAO;QACvBH,aAAa,EAAGA;MAAe,CAC/B;IAAC,CACgB,CAAC,eACpBrC,IAAA,CAAClC,iBAAiB;MAAC6I,KAAK,EAAC,UAAU;MAAAjE,QAAA,EAChC6C,SAAS,iBACVvF,IAAA,CAACvC,WAAW;QACXoK,qBAAqB;QACrBC,uBAAuB;QACvBC,KAAK,EAAG9K,EAAE,CAAE,UAAW,CAAG;QAC1BmJ,KAAK,EAAGzC,GAAG,IAAI,EAAI;QACnB0C,QAAQ,EAAK2B,MAAM,IAClB3F,aAAa,CAAE;UAAEsB,GAAG,EAAEqE;QAAO,CAAE;MAC/B,CACD;IACD,CACiB,CAAC;EAAA,CACnB,CAAC;AAEL;AAEA,eAAehF,UAAU","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","NEW_TAB_TARGET","NOFOLLOW_REL","getUpdatedLinkAttributes","removeAnchorTag","__","useEffect","useState","useRef","useMemo","Button","ButtonGroup","PanelBody","TextControl","ToolbarButton","Popover","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","__experimentalGetSpacingClassesAndStyles","useSpacingProps","__experimentalGetShadowClassesAndStyles","useShadowProps","__experimentalLinkControl","LinkControl","__experimentalGetElementClassName","store","blockEditorStore","useBlockEditingMode","displayShortcut","isKeyboardEvent","ENTER","link","linkOff","createBlock","cloneBlock","getDefaultBlockName","getBlockBindingsSource","useMergeRefs","useRefEffect","useSelect","useDispatch","jsxs","_jsxs","jsx","_jsx","Fragment","_Fragment","LINK_SETTINGS","DEFAULT_LINK_SETTINGS","id","title","useEnter","props","replaceBlocks","selectionChange","getBlock","getBlockRootClientId","getBlockIndex","propsRef","current","element","onKeyDown","event","defaultPrevented","keyCode","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","innerBlocks","slice","middle","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","children","map","widthValue","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","context","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","borderProps","colorProps","spacingProps","shadowProps","ref","blockProps","blockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","nofollow","includes","isLinkTag","linkValue","useEnterRef","mergedRef","lockUrlControls","select","blockBindingsSource","bindings","source","canUserEditValue","args","fontSize","value","onChange","withoutInteractiveFormatting","border","radius","onMerge","identifier","group","nextAlign","name","icon","shortcut","isActive","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","newURL","newOpensInNewTab","newNofollow","onRemove","forceIsEditingLink","settings","__next40pxDefaultSize","__nextHasNoMarginBottom","label","newRel"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n\tgetBlockBindingsSource,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t\tcontext,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSelected, metadata?.bindings?.url ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName=\"__unstable-block-tools-after\"\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
|
10
10
|
import { useEffect, useMemo, useRef } from '@wordpress/element';
|
|
11
11
|
import { Placeholder, Spinner } from '@wordpress/components';
|
|
12
12
|
import { compose, useResizeObserver } from '@wordpress/compose';
|
|
13
|
-
import { withColors, ColorPalette, useBlockProps, useSettings, useInnerBlocksProps, __experimentalUseGradient, store as blockEditorStore } from '@wordpress/block-editor';
|
|
13
|
+
import { withColors, ColorPalette, useBlockProps, useSettings, useInnerBlocksProps, __experimentalUseGradient, store as blockEditorStore, useBlockEditingMode } from '@wordpress/block-editor';
|
|
14
14
|
import { __ } from '@wordpress/i18n';
|
|
15
15
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
16
16
|
import { isBlobURL } from '@wordpress/blob';
|
|
@@ -205,6 +205,8 @@ function CoverEdit({
|
|
|
205
205
|
const isUploadingMedia = isTemporaryMedia(id, url);
|
|
206
206
|
const isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;
|
|
207
207
|
const isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;
|
|
208
|
+
const blockEditingMode = useBlockEditingMode();
|
|
209
|
+
const hasNonContentControls = blockEditingMode === 'default';
|
|
208
210
|
const [resizeListener, {
|
|
209
211
|
height,
|
|
210
212
|
width
|
|
@@ -335,7 +337,7 @@ function CoverEdit({
|
|
|
335
337
|
};
|
|
336
338
|
if (!useFeaturedImage && !hasInnerBlocks && !hasBackground) {
|
|
337
339
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
338
|
-
children: [blockControls, inspectorControls, isSelected && /*#__PURE__*/_jsx(ResizableCoverPopover, {
|
|
340
|
+
children: [blockControls, inspectorControls, hasNonContentControls && isSelected && /*#__PURE__*/_jsx(ResizableCoverPopover, {
|
|
339
341
|
...resizableCoverProps
|
|
340
342
|
}), /*#__PURE__*/_jsxs(TagName, {
|
|
341
343
|
...blockProps,
|
|
@@ -429,7 +431,7 @@ function CoverEdit({
|
|
|
429
431
|
}), /*#__PURE__*/_jsx("div", {
|
|
430
432
|
...innerBlocksProps
|
|
431
433
|
})]
|
|
432
|
-
}), isSelected && /*#__PURE__*/_jsx(ResizableCoverPopover, {
|
|
434
|
+
}), hasNonContentControls && isSelected && /*#__PURE__*/_jsx(ResizableCoverPopover, {
|
|
433
435
|
...resizableCoverProps
|
|
434
436
|
})]
|
|
435
437
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","featuredImage","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Disable reason: Update the block only when the featured image changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","featuredImage","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Disable reason: Update the block only when the featured image changes.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio ? true : false,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,9 +7,9 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { isBlobURL, createBlobURL } from '@wordpress/blob';
|
|
10
|
-
import {
|
|
10
|
+
import { createBlock, getBlockBindingsSource } from '@wordpress/blocks';
|
|
11
11
|
import { Placeholder } from '@wordpress/components';
|
|
12
|
-
import { useDispatch, useSelect
|
|
12
|
+
import { useDispatch, useSelect } from '@wordpress/data';
|
|
13
13
|
import { BlockIcon, useBlockProps, MediaPlaceholder, store as blockEditorStore, __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, useBlockEditingMode } from '@wordpress/block-editor';
|
|
14
14
|
import { useEffect, useRef, useState } from '@wordpress/element';
|
|
15
15
|
import { __, sprintf } from '@wordpress/i18n';
|
|
@@ -20,7 +20,6 @@ import { useResizeObserver } from '@wordpress/compose';
|
|
|
20
20
|
/**
|
|
21
21
|
* Internal dependencies
|
|
22
22
|
*/
|
|
23
|
-
import { unlock } from '../lock-unlock';
|
|
24
23
|
import { useUploadMediaFromBlobURL } from '../utils/hooks';
|
|
25
24
|
import Image from './image';
|
|
26
25
|
import { isValidFileType } from './utils';
|
|
@@ -88,7 +87,6 @@ export function ImageEdit({
|
|
|
88
87
|
metadata
|
|
89
88
|
} = attributes;
|
|
90
89
|
const [temporaryURL, setTemporaryURL] = useState(attributes.blob);
|
|
91
|
-
const registry = useRegistry();
|
|
92
90
|
const containerRef = useRef();
|
|
93
91
|
// Only observe the max width from the parent container when the parent layout is not flex nor grid.
|
|
94
92
|
// This won't work for them because the container width changes with the image.
|
|
@@ -314,10 +312,10 @@ export function ImageEdit({
|
|
|
314
312
|
if (!isSingleSelected) {
|
|
315
313
|
return {};
|
|
316
314
|
}
|
|
317
|
-
const blockBindingsSource =
|
|
315
|
+
const blockBindingsSource = getBlockBindingsSource(metadata?.bindings?.url?.source);
|
|
318
316
|
return {
|
|
319
317
|
lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
|
|
320
|
-
|
|
318
|
+
select,
|
|
321
319
|
context,
|
|
322
320
|
args: metadata?.bindings?.url?.args
|
|
323
321
|
}),
|