@wordpress/block-library 8.27.0 → 8.27.2

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.
Files changed (48) hide show
  1. package/build/block/edit.js +4 -5
  2. package/build/block/edit.js.map +1 -1
  3. package/build/button/edit.js +2 -2
  4. package/build/button/edit.js.map +1 -1
  5. package/build/cover/edit/index.js +2 -1
  6. package/build/cover/edit/index.js.map +1 -1
  7. package/build/cover/edit/inspector-controls.js +13 -1
  8. package/build/cover/edit/inspector-controls.js.map +1 -1
  9. package/build/cover/index.js +3 -0
  10. package/build/cover/index.js.map +1 -1
  11. package/build/image/edit.js +17 -4
  12. package/build/image/edit.js.map +1 -1
  13. package/build/image/image.js +28 -28
  14. package/build/image/image.js.map +1 -1
  15. package/build-module/block/edit.js +4 -5
  16. package/build-module/block/edit.js.map +1 -1
  17. package/build-module/button/edit.js +2 -2
  18. package/build-module/button/edit.js.map +1 -1
  19. package/build-module/cover/edit/index.js +2 -1
  20. package/build-module/cover/edit/index.js.map +1 -1
  21. package/build-module/cover/edit/inspector-controls.js +14 -2
  22. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  23. package/build-module/cover/index.js +3 -0
  24. package/build-module/cover/index.js.map +1 -1
  25. package/build-module/image/edit.js +17 -4
  26. package/build-module/image/edit.js.map +1 -1
  27. package/build-module/image/image.js +29 -29
  28. package/build-module/image/image.js.map +1 -1
  29. package/build-style/cover/style-rtl.css +1 -2
  30. package/build-style/cover/style.css +1 -2
  31. package/build-style/style-rtl.css +1 -2
  32. package/build-style/style.css +1 -2
  33. package/package.json +10 -10
  34. package/src/block/edit.js +3 -4
  35. package/src/button/edit.js +3 -4
  36. package/src/cover/block.json +3 -0
  37. package/src/cover/edit/index.js +2 -1
  38. package/src/cover/edit/inspector-controls.js +14 -1
  39. package/src/cover/style.scss +2 -3
  40. package/src/file/index.php +3 -3
  41. package/src/image/edit.js +23 -4
  42. package/src/image/image.js +23 -36
  43. package/src/image/index.php +1 -1
  44. package/src/navigation/index.php +12 -16
  45. package/src/pattern/index.php +2 -0
  46. package/src/post-navigation-link/index.php +3 -3
  47. package/src/query/index.php +1 -1
  48. package/src/search/index.php +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","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","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","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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( { isDark: newIsDark } );\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( '&amp;', '&' );\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} );\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/>\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\tshowHandle: true,\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={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\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={ true }\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 = classnames(\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\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={ classnames( 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{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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={ true }\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={ classnames(\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":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACxE,SAASC,SAAS,EAAEC,OAAO,EAAEC,MAAM,QAAQ,oBAAoB;AAC/D,SAASC,WAAW,EAAEC,OAAO,QAAQ,uBAAuB;AAC5D,SAASC,OAAO,EAAEC,iBAAiB,QAAQ,oBAAoB;AAC/D,SACCC,UAAU,EACVC,YAAY,EACZC,aAAa,EACbC,WAAW,EACXC,mBAAmB,EACnBC,yBAAyB,EACzBd,KAAK,IAAIe,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASnB,KAAK,IAAIoB,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SACCC,mBAAmB,EACnBC,qBAAqB,EACrBC,qBAAqB,EACrBC,eAAe,EACfC,uBAAuB,EACvBC,oBAAoB,EACpBC,aAAa,QACP,WAAW;AAClB,OAAOC,sBAAsB,MAAM,sBAAsB;AACzD,OAAOC,kBAAkB,MAAM,kBAAkB;AACjD,OAAOC,gBAAgB,MAAM,qBAAqB;AAClD,OAAOC,qBAAqB,MAAM,2BAA2B;AAC7D,SACCC,aAAa,EACbC,eAAe,EACfC,wBAAwB,EACxBC,qBAAqB,QACf,eAAe;AAEtB,SAASC,sBAAsBA,CAAEC,UAAU,EAAG;EAC7C,OAAO,CACN,CACC,gBAAgB,EAChB;IACCC,KAAK,EAAE,QAAQ;IACfC,WAAW,EAAEvB,EAAE,CAAE,cAAe,CAAC;IACjC,GAAGqB;EACJ,CAAC,CACD,CACD;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMG,gBAAgB,GAAGA,CAAEC,EAAE,EAAEC,GAAG,KAAM,CAAED,EAAE,IAAItB,SAAS,CAAEuB,GAAI,CAAC;AAEhE,SAASC,SAASA,CAAE;EACnBN,UAAU;EACVO,QAAQ;EACRC,UAAU;EACVC,YAAY;EACZC,aAAa;EACbC,eAAe;EACfC,eAAe;EACfC,OAAO,EAAE;IAAEC,MAAM;IAAEC;EAAS;AAC7B,CAAC,EAAG;EACH,MAAM;IACLC,eAAe;IACfZ,EAAE;IACFC,GAAG,EAAEY,WAAW;IAChBC,cAAc,EAAEC,sBAAsB;IACtCC,gBAAgB;IAChBC,QAAQ;IACRC,UAAU;IACVC,WAAW;IACXC,MAAM;IACNC,UAAU;IACVC,SAAS;IACTC,aAAa;IACbC,GAAG;IACHC,aAAa;IACbC,YAAY;IACZC,OAAO,EAAEC,OAAO,GAAG,KAAK;IACxBC;EACD,CAAC,GAAGjC,UAAU;EAEd,MAAM,CAAEkC,aAAa,CAAE,GAAGxE,aAAa,CACtC,UAAU,EACVqD,QAAQ,EACR,gBAAgB,EAChBD,MACD,CAAC;EAED,MAAM;IAAEqB;EAAwC,CAAC,GAChDtD,WAAW,CAAEH,gBAAiB,CAAC;EAChC,MAAM0D,KAAK,GAAGxD,SAAS,CACpByD,MAAM,IACPH,aAAa,IACbG,MAAM,CAAEzE,SAAU,CAAC,CAAC0E,QAAQ,CAAEJ,aAAa,EAAE;IAAErB,OAAO,EAAE;EAAO,CAAE,CAAC,EACnE,CAAEqB,aAAa,CAChB,CAAC;EACD,MAAMK,QAAQ,GAAGH,KAAK,EAAEI,UAAU;;EAElC;EACA;EACA;EACA;EACA3E,SAAS,CAAE,MAAM;IAChB,CAAE,YAAY;MACb,IAAK,CAAEuD,gBAAgB,EAAG;QACzB;MACD;MAEA,MAAMqB,sBAAsB,GAAG,MAAM9C,aAAa,CAAE4C,QAAS,CAAC;MAE9D,IAAIG,eAAe,GAAGjC,YAAY,CAACkC,KAAK;MACxC,IAAK,CAAEV,kBAAkB,EAAG;QAC3BS,eAAe,GAAGD,sBAAsB;QACxCN,uCAAuC,CAAC,CAAC;QACzCxB,eAAe,CAAE+B,eAAgB,CAAC;MACnC;MAEA,MAAME,SAAS,GAAGhD,eAAe,CAChCyB,QAAQ,EACRqB,eAAe,EACfD,sBACD,CAAC;MACDN,uCAAuC,CAAC,CAAC;MACzCzB,aAAa,CAAE;QAAEc,MAAM,EAAEoB;MAAU,CAAE,CAAC;IACvC,CAAC,EAAG,CAAC;IACL;IACA;EACD,CAAC,EAAE,CAAEL,QAAQ,CAAG,CAAC;;EAEjB;EACA;EACA;EACA;EACA,MAAMlC,GAAG,GAAGe,gBAAgB,GACzBmB,QAAQ;EACR;EACAtB,WAAW,EAAE4B,UAAU,CAAE,OAAO,EAAE,GAAI,CAAC;EAC1C,MAAM3B,cAAc,GAAGE,gBAAgB,GACpCnC,qBAAqB,GACrBkC,sBAAsB;EAEzB,MAAM;IAAE2B;EAAkB,CAAC,GAAGjE,WAAW,CAAEE,YAAa,CAAC;EACzD,MAAM;IAAEgE,aAAa;IAAEC;EAAc,CAAC,GAAGvE,yBAAyB,CAAC,CAAC;EAEpE,MAAMwE,aAAa,GAAG,MAAQC,QAAQ,IAAM;IAC3C,MAAMC,eAAe,GAAGnE,mBAAmB,CAAEkE,QAAS,CAAC;IACvD,MAAME,OAAO,GAAG,CAAEF,QAAQ,EAAEG,IAAI,EAAEH,QAAQ,EAAEI,UAAU,CAAE,CAACC,QAAQ,CAChEtE,qBACD,CAAC;IAED,MAAMwD,sBAAsB,GAAG,MAAM9C,aAAa,CACjDyD,OAAO,GAAGF,QAAQ,EAAE7C,GAAG,GAAGmD,SAC3B,CAAC;IAED,IAAId,eAAe,GAAGjC,YAAY,CAACkC,KAAK;IACxC,IAAK,CAAEV,kBAAkB,EAAG;MAC3BS,eAAe,GAAGD,sBAAsB;MACxC9B,eAAe,CAAE+B,eAAgB,CAAC;;MAElC;MACAP,uCAAuC,CAAC,CAAC;IAC1C;;IAEA;IACA;IACA;IACA,MAAMsB,WAAW,GAChBxC,WAAW,KAAKuC,SAAS,IAAInC,QAAQ,KAAK,GAAG,GAAG,EAAE,GAAGA,QAAQ;IAE9D,MAAMuB,SAAS,GAAGhD,eAAe,CAChC6D,WAAW,EACXf,eAAe,EACfD,sBACD,CAAC;IAED/B,aAAa,CAAE;MACd,GAAGyC,eAAe;MAClB7B,UAAU,EAAEkC,SAAS;MACrBpC,gBAAgB,EAAEoC,SAAS;MAC3BnC,QAAQ,EAAEoC,WAAW;MACrBjC,MAAM,EAAEoB;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMc,YAAY,GAAGA,CAAA,KAAM;IAC1B,IAAIhB,eAAe,GAAGjC,YAAY,CAACkC,KAAK;IACxC,IAAK,CAAEV,kBAAkB,EAAG;MAC3BS,eAAe,GAAG5C,qBAAqB;MACvCa,eAAe,CAAE6C,SAAU,CAAC;;MAE5B;MACArB,uCAAuC,CAAC,CAAC;IAC1C;IAEA,MAAMS,SAAS,GAAGhD,eAAe,CAChCyB,QAAQ,EACRqB,eAAe,EACf7C,wBACD,CAAC;IAEDa,aAAa,CAAE;MACdL,GAAG,EAAEmD,SAAS;MACdpD,EAAE,EAAEoD,SAAS;MACbtC,cAAc,EAAEsC,SAAS;MACzBlC,UAAU,EAAEkC,SAAS;MACrBjC,WAAW,EAAEiC,SAAS;MACtB/B,UAAU,EAAE+B,SAAS;MACrBpC,gBAAgB,EAAEoC,SAAS;MAC3BhC,MAAM,EAAEoB;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMe,iBAAiB,GAAG,MAAQjB,eAAe,IAAM;IACtD,MAAMD,sBAAsB,GAAG,MAAM9C,aAAa,CAAEU,GAAI,CAAC;IACzD,MAAMuC,SAAS,GAAGhD,eAAe,CAChCyB,QAAQ,EACRqB,eAAe,EACfD,sBACD,CAAC;IAED9B,eAAe,CAAE+B,eAAgB,CAAC;;IAElC;IACAP,uCAAuC,CAAC,CAAC;IAEzCzB,aAAa,CAAE;MACduB,kBAAkB,EAAE,IAAI;MACxBT,MAAM,EAAEoB;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMgB,gBAAgB,GAAG,MAAQH,WAAW,IAAM;IACjD,MAAMhB,sBAAsB,GAAG,MAAM9C,aAAa,CAAEU,GAAI,CAAC;IACzD,MAAMuC,SAAS,GAAGhD,eAAe,CAChC6D,WAAW,EACXhD,YAAY,CAACkC,KAAK,EAClBF,sBACD,CAAC;IAED/B,aAAa,CAAE;MACdW,QAAQ,EAAEoC,WAAW;MACrBjC,MAAM,EAAEoB;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMiB,aAAa,GAAKC,OAAO,IAAM;IACpChB,iBAAiB,CAAEgB,OAAO,EAAE;MAAET,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD,CAAC;EAED,MAAMU,gBAAgB,GAAG5D,gBAAgB,CAAEC,EAAE,EAAEC,GAAI,CAAC;EAEpD,MAAM2D,iBAAiB,GAAG/E,qBAAqB,KAAKiC,cAAc;EAClE,MAAM+C,iBAAiB,GAAG/E,qBAAqB,KAAKgC,cAAc;EAElE,MAAM,CAAEgD,cAAc,EAAE;IAAEC,MAAM;IAAEC;EAAM,CAAC,CAAE,GAAGjG,iBAAiB,CAAC,CAAC;EACjE,MAAMkG,sBAAsB,GAAGvG,OAAO,CAAE,MAAM;IAC7C,OAAO;MACNqG,MAAM,EAAExC,aAAa,KAAK,IAAI,GAAGD,SAAS,GAAG,MAAM;MACnD0C,KAAK,EAAE;IACR,CAAC;EACF,CAAC,EAAE,CAAE1C,SAAS,EAAEC,aAAa,CAAG,CAAC;EAEjC,MAAM2C,iBAAiB,GACtB5C,SAAS,IAAIC,aAAa,GACtB,GAAGD,SAAW,GAAGC,aAAe,EAAC,GAClCD,SAAS;EAEb,MAAM6C,YAAY,GAAG,EAAIhD,WAAW,IAAIE,UAAU,CAAE;EAEpD,MAAM+C,KAAK,GAAG;IACb9C,SAAS,EAAE4C,iBAAiB,IAAId;EACjC,CAAC;EAED,MAAMiB,eAAe,GAAGpE,GAAG,GAAI,OAAOA,GAAK,GAAE,GAAGmD,SAAS;EAEzD,MAAMkB,kBAAkB,GAAGpF,aAAa,CAAEgC,UAAW,CAAC;EAEtD,MAAMqD,OAAO,GAAG;IAAEC,eAAe,EAAEnE,YAAY,CAACkC;EAAM,CAAC;EACvD,MAAMkC,UAAU,GAAG;IAClBC,cAAc,EACbxD,UAAU,IAAIiD,YAAY,GACvBjF,aAAa,CAAEgC,UAAW,CAAC,GAC3BkC;EACL,CAAC;EAED,MAAMuB,aAAa,GAAG,CAAC,EAAI1E,GAAG,IAAII,YAAY,CAACkC,KAAK,IAAIK,aAAa,CAAE;EAEvE,MAAMgC,cAAc,GAAGpG,SAAS,CAC7ByD,MAAM,IACPA,MAAM,CAAE3D,gBAAiB,CAAC,CAACuG,QAAQ,CAAE1E,QAAS,CAAC,CAAC2E,WAAW,CAACC,MAAM,GAClE,CAAC,EACF,CAAE5E,QAAQ,CACX,CAAC;EAED,MAAM6E,GAAG,GAAGrH,MAAM,CAAC,CAAC;EACpB,MAAMsH,UAAU,GAAG/G,aAAa,CAAE;IAAE8G;EAAI,CAAE,CAAC;;EAE3C;EACA,MAAM,CAAEE,SAAS,CAAE,GAAG/G,WAAW,CAAE,sBAAuB,CAAC;EAC3D,MAAMgH,YAAY,GAAGD,SAAS,EAAEH,MAAM,GAAG,CAAC;EAC1C,MAAMK,mBAAmB,GAAGzF,sBAAsB,CAAE;IACnD0F,QAAQ,EAAEF,YAAY,GAAG,OAAO,GAAG/B;EACpC,CAAE,CAAC;EAEH,MAAMkC,gBAAgB,GAAGlH,mBAAmB,CAC3C;IACCmH,SAAS,EAAE;EACZ,CAAC,EACD;IACC;IACA;IACAC,QAAQ,EAAE,CAAEZ,cAAc,GAAGQ,mBAAmB,GAAGhC,SAAS;IAC5DqC,8BAA8B,EAAE,IAAI;IACpChE,aAAa;IACbC,YAAY;IACZgE,eAAe,EAAEV,GAAG,CAACW;EACtB,CACD,CAAC;EAED,MAAMC,YAAY,GAAGjI,MAAM,CAAC,CAAC;EAC7B,MAAMkI,eAAe,GAAG;IACvBhC,iBAAiB;IACjBD,iBAAiB;IACjBgC,YAAY;IACZhB,cAAc;IACd3E,GAAG;IACHkE,YAAY;IACZ9D;EACD,CAAC;EAED,MAAMyF,sBAAsB,GAAG,MAAAA,CAAA,KAAY;IAC1C,MAAMC,mBAAmB,GAAG,CAAE/E,gBAAgB;IAE9C,MAAMqB,sBAAsB,GAAG0D,mBAAmB,GAC/C,MAAMxG,aAAa,CAAE4C,QAAS,CAAC,GAC/B1C,wBAAwB;IAE3B,MAAM6C,eAAe,GAAG,CAAET,kBAAkB,GACzCQ,sBAAsB,GACtBhC,YAAY,CAACkC,KAAK;IAErB,IAAK,CAAEV,kBAAkB,EAAG;MAC3B,IAAKkE,mBAAmB,EAAG;QAC1BxF,eAAe,CAAE+B,eAAgB,CAAC;MACnC,CAAC,MAAM;QACN/B,eAAe,CAAE6C,SAAU,CAAC;MAC7B;;MAEA;MACArB,uCAAuC,CAAC,CAAC;IAC1C;IAEA,MAAMsB,WAAW,GAAGpC,QAAQ,KAAK,GAAG,GAAG,EAAE,GAAGA,QAAQ;IACpD,MAAMuB,SAAS,GAAGhD,eAAe,CAChC6D,WAAW,EACXf,eAAe,EACfD,sBACD,CAAC;IAED/B,aAAa,CAAE;MACdN,EAAE,EAAEoD,SAAS;MACbnD,GAAG,EAAEmD,SAAS;MACdpC,gBAAgB,EAAE+E,mBAAmB;MACrC9E,QAAQ,EAAEoC,WAAW;MACrBvC,cAAc,EAAEE,gBAAgB,GAC7BnC,qBAAqB,GACrBuE,SAAS;MACZhC,MAAM,EAAEoB;IACT,CAAE,CAAC;EACJ,CAAC;EAED,MAAMwD,aAAa,GAClBC,aAAA,CAAC7G,kBAAkB;IAClBQ,UAAU,EAAGA,UAAY;IACzBU,aAAa,EAAGA,aAAe;IAC/BuC,aAAa,EAAGA,aAAe;IAC/BgD,eAAe,EAAGA,eAAiB;IACnCC,sBAAsB,EAAGA;EAAwB,CACjD,CACD;EAED,MAAMI,iBAAiB,GACtBD,aAAA,CAAC9G,sBAAsB;IACtBS,UAAU,EAAGA,UAAY;IACzBU,aAAa,EAAGA,aAAe;IAC/BH,QAAQ,EAAGA,QAAU;IACrBI,eAAe,EAAGgD,iBAAmB;IACrC4C,QAAQ,EAAGnB,GAAK;IAChBa,eAAe,EAAGA,eAAiB;IACnCC,sBAAsB,EAAGA,sBAAwB;IACjDM,cAAc,EAAG5C,gBAAkB;IACnCF,YAAY,EAAGA;EAAc,CAC7B,CACD;EAED,MAAM+C,mBAAmB,GAAG;IAC3Bd,SAAS,EAAE,uCAAuC;IAClDpF,QAAQ;IACR4D,MAAM;IACNzC,SAAS,EAAE4C,iBAAiB;IAC5BoC,aAAa,EAAEA,CAAA,KAAM;MACpBhG,aAAa,CAAE;QAAEiB,aAAa,EAAE;MAAK,CAAE,CAAC;MACxCf,eAAe,CAAE,KAAM,CAAC;IACzB,CAAC;IACD+F,QAAQ,EAAIC,KAAK,IAAM;MACtBlG,aAAa,CAAE;QAAEgB,SAAS,EAAEkF;MAAM,CAAE,CAAC;IACtC,CAAC;IACDC,YAAY,EAAIC,YAAY,IAAM;MACjClG,eAAe,CAAE,IAAK,CAAC;MACvBF,aAAa,CAAE;QAAEgB,SAAS,EAAEoF;MAAa,CAAE,CAAC;IAC7C,CAAC;IACDC,UAAU,EAAE,IAAI;IAChBC,IAAI,EAAE3C,sBAAsB;IAC5BD;EACD,CAAC;EAED,IAAK,CAAEhD,gBAAgB,IAAI,CAAE4D,cAAc,IAAI,CAAED,aAAa,EAAG;IAChE,OACCsB,aAAA,CAAAY,QAAA,QACGb,aAAa,EACbE,iBAAiB,EACjB9F,UAAU,IACX6F,aAAA,CAAC3G,qBAAqB;MAAA,GAAM+G;IAAmB,CAAI,CACnD,EACDJ,aAAA,CAACrE,OAAO;MAAA,GACFqD,UAAU;MACfM,SAAS,EAAGlI,UAAU,CACrB,gBAAgB,EAChB4H,UAAU,CAACM,SACZ,CAAG;MACHnB,KAAK,EAAG;QACP,GAAGa,UAAU,CAACb,KAAK;QACnB9C,SAAS,EAAE4C,iBAAiB,IAAId;MACjC;IAAG,GAEDU,cAAc,EAChBmC,aAAA,CAAC5G,gBAAgB;MAChBwD,aAAa,EAAGA,aAAe;MAC/BiE,OAAO,EAAGrD,aAAe;MACzBqC,sBAAsB,EAAGA;IAAwB,GAEjDG,aAAA;MAAKV,SAAS,EAAC;IAAgD,GAC9DU,aAAA,CAAChI,YAAY;MACZ8I,mBAAmB,EAAG,IAAM;MAC5BP,KAAK,EAAGnG,YAAY,CAACkC,KAAO;MAC5ByE,QAAQ,EAAGzD,iBAAmB;MAC9B0D,SAAS,EAAG;IAAO,CACnB,CACG,CACY,CACV,CACR,CAAC;EAEL;EAEA,MAAMC,OAAO,GAAG7J,UAAU,CACzB;IACC,eAAe,EAAE+D,MAAM;IACvB,UAAU,EAAE,CAAEA,MAAM;IACpB,cAAc,EAAEuC,gBAAgB;IAChC,cAAc,EAAExC,WAAW;IAC3B,aAAa,EAAEE,UAAU;IACzB,6BAA6B,EAC5B,CAAErC,uBAAuB,CAAE4B,eAAgB;EAC7C,CAAC,EACD3B,oBAAoB,CAAE2B,eAAgB,CACvC,CAAC;EAED,OACCqF,aAAA,CAAAY,QAAA,QACGb,aAAa,EACbE,iBAAiB,EACnBD,aAAA,CAACrE,OAAO;IAAA,GACFqD,UAAU;IACfM,SAAS,EAAGlI,UAAU,CAAE6J,OAAO,EAAEjC,UAAU,CAACM,SAAU,CAAG;IACzDnB,KAAK,EAAG;MAAE,GAAGA,KAAK;MAAE,GAAGa,UAAU,CAACb;IAAM,CAAG;IAC3C,YAAWnE;EAAK,GAEd6D,cAAc,EACd,CAAE,CAAE9C,gBAAgB,IAAIf,GAAG,KAC5BgG,aAAA;IACC,eAAY,MAAM;IAClBV,SAAS,EAAGlI,UAAU,CACrB,4BAA4B,EAC5B0B,eAAe,CAAEkC,QAAS,CAAC,EAC3B;MACC,CAAEZ,YAAY,CAAC8G,KAAK,GAAI9G,YAAY,CAAC8G,KAAK;MAC1C,oBAAoB,EAAElG,QAAQ,KAAKmC,SAAS;MAC5C;MACA;MACA;MACA,qCAAqC,EACpCnD,GAAG,IAAI2C,aAAa,IAAI3B,QAAQ,KAAK,CAAC;MACvC,yBAAyB,EAAE2B,aAAa;MACxC,CAAED,aAAa,GAAIA;IACpB,CACD,CAAG;IACHyB,KAAK,EAAG;MAAEC,eAAe,EAAEzB,aAAa;MAAE,GAAG2B;IAAQ;EAAG,CACxD,CACD,EAEC,CAAEtE,GAAG,IAAIe,gBAAgB,IAC1BiF,aAAA,CAACrI,WAAW;IACX2H,SAAS,EAAC,0CAA0C;IACpD6B,gBAAgB,EAAG;EAAM,CACzB,CACD,EAECnH,GAAG,IACJ2D,iBAAiB,KACfO,YAAY,GACb8B,aAAA;IACCjB,GAAG,EAAGY,YAAc;IACpBL,SAAS,EAAC,kCAAkC;IAC5C/D,GAAG,EAAGA,GAAK;IACX6F,GAAG,EAAGpH,GAAK;IACXmE,KAAK,EAAGK;EAAY,CACpB,CAAC,GAEFwB,aAAA;IACCjB,GAAG,EAAGY,YAAc;IACpB0B,IAAI,EAAG9F,GAAG,GAAG,KAAK,GAAG4B,SAAW;IAChC,cAAa5B,GAAG,GAAGA,GAAG,GAAG4B,SAAW;IACpCmC,SAAS,EAAGlI,UAAU,CACrB6J,OAAO,EACP,kCACD,CAAG;IACH9C,KAAK,EAAG;MAAEC,eAAe;MAAEC;IAAmB;EAAG,CACjD,CACD,CAAE,EACFrE,GAAG,IAAI4D,iBAAiB,IACzBoC,aAAA;IACCjB,GAAG,EAAGY,YAAc;IACpBL,SAAS,EAAC,kCAAkC;IAC5CgC,QAAQ;IACRC,KAAK;IACLC,IAAI;IACJJ,GAAG,EAAGpH,GAAK;IACXmE,KAAK,EAAGK;EAAY,CACpB,CACD,EACCd,gBAAgB,IAAIsC,aAAA,CAACpI,OAAO,MAAE,CAAC,EACjCoI,aAAA,CAAC5G,gBAAgB;IAChBqI,mBAAmB;IACnB7E,aAAa,EAAGA,aAAe;IAC/BiE,OAAO,EAAGrD,aAAe;IACzBqC,sBAAsB,EAAGA;EAAwB,CACjD,CAAC,EACFG,aAAA;IAAA,GAAUX;EAAgB,CAAI,CACtB,CAAC,EACRlF,UAAU,IACX6F,aAAA,CAAC3G,qBAAqB;IAAA,GAAM+G;EAAmB,CAAI,CAEnD,CAAC;AAEL;AAEA,eAAevI,OAAO,CAAE,CACvBE,UAAU,CAAE;EAAEqC,YAAY,EAAE;AAAmB,CAAE,CAAC,CACjD,CAAC,CAAEH,SAAU,CAAC"}
1
+ {"version":3,"names":["classnames","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","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","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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( { isDark: newIsDark } );\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( '&amp;', '&' );\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} );\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/>\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={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\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={ true }\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 = classnames(\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\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={ classnames( 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{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\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={ true }\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={ classnames(\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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"}
@@ -5,13 +5,17 @@ import { createElement, Fragment } from "react";
5
5
  import { useMemo } from '@wordpress/element';
6
6
  import { Button, ExternalLink, FocalPointPicker, PanelBody, PanelRow, RangeControl, TextareaControl, ToggleControl, SelectControl, __experimentalUseCustomUnits as useCustomUnits, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
7
7
  import { useInstanceId } from '@wordpress/compose';
8
- import { InspectorControls, useSettings, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseGradient, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients } from '@wordpress/block-editor';
8
+ import { InspectorControls, useSettings, __experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown, __experimentalUseGradient, __experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
9
9
  import { __ } from '@wordpress/i18n';
10
10
 
11
11
  /**
12
12
  * Internal dependencies
13
13
  */
14
14
  import { COVER_MIN_HEIGHT, mediaPosition } from '../shared';
15
+ import { unlock } from '../../lock-unlock';
16
+ const {
17
+ cleanEmptyObject
18
+ } = unlock(blockEditorPrivateApis);
15
19
  function CoverHeightInput({
16
20
  onChange,
17
21
  onUnitChange,
@@ -215,8 +219,16 @@ export default function CoverInspectorControls({
215
219
  value: minHeight,
216
220
  unit: minHeightUnit,
217
221
  onChange: newMinHeight => setAttributes({
218
- minHeight: newMinHeight
222
+ minHeight: newMinHeight,
223
+ style: cleanEmptyObject({
224
+ ...attributes?.style,
225
+ dimensions: {
226
+ ...attributes?.style?.dimensions,
227
+ aspectRatio: undefined // Reset aspect ratio when minHeight is set.
228
+ }
229
+ })
219
230
  }),
231
+
220
232
  onUnitChange: nextUnit => setAttributes({
221
233
  minHeightUnit: nextUnit
222
234
  })
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__","COVER_MIN_HEIGHT","mediaPosition","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSettings","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","privateApis","blockEditorPrivateApis","__","COVER_MIN_HEIGHT","mediaPosition","unlock","cleanEmptyObject","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","availableUnits","units","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","createElement","label","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","Fragment","title","__nextHasNoMarginBottom","checked","onDragStart","onDrag","newFocalPoint","newAlt","help","href","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","hasValue","onDeselect","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","dimensions","aspectRatio","nextUnit","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -126,6 +126,9 @@ const metadata = {
126
126
  __experimentalSkipSerialization: ["gradients"],
127
127
  enableContrastChecker: false
128
128
  },
129
+ dimensions: {
130
+ aspectRatio: true
131
+ },
129
132
  typography: {
130
133
  fontSize: true,
131
134
  lineHeight: true,
@@ -1 +1 @@
1
- {"version":3,"names":["__","cover","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","usesContext","supports","anchor","align","html","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","__experimentalDuotone","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","editorStyle","save","transforms","variations","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
1
+ {"version":3,"names":["__","cover","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","usesContext","supports","anchor","align","html","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","__experimentalDuotone","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","editorStyle","save","transforms","variations","settings","example","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -19,6 +19,7 @@ import { store as noticesStore } from '@wordpress/notices';
19
19
  /**
20
20
  * Internal dependencies
21
21
  */
22
+ import { unlock } from '../lock-unlock';
22
23
  import Image from './image';
23
24
 
24
25
  /**
@@ -294,16 +295,28 @@ export function ImageEdit({
294
295
  });
295
296
 
296
297
  // Much of this description is duplicated from MediaPlaceholder.
297
- const isUrlAttributeConnected = !!metadata?.bindings?.url;
298
+ const {
299
+ lockUrlControls = false
300
+ } = useSelect(select => {
301
+ if (!isSelected) {
302
+ return {};
303
+ }
304
+ const {
305
+ getBlockBindingsSource
306
+ } = unlock(select(blockEditorStore));
307
+ return {
308
+ lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing === true
309
+ };
310
+ }, [isSelected]);
298
311
  const placeholder = content => {
299
312
  return createElement(Placeholder, {
300
313
  className: classnames('block-editor-media-placeholder', {
301
314
  [borderProps.className]: !!borderProps.className && !isSelected
302
315
  }),
303
316
  withIllustration: true,
304
- icon: isUrlAttributeConnected ? pluginsIcon : icon,
317
+ icon: lockUrlControls ? pluginsIcon : icon,
305
318
  label: __('Image'),
306
- instructions: !isUrlAttributeConnected && __('Upload an image file, pick one from your media library, or add one with a URL.'),
319
+ instructions: !lockUrlControls && __('Upload an image file, pick one from your media library, or add one with a URL.'),
307
320
  style: {
308
321
  aspectRatio: !(width && height) && aspectRatio ? aspectRatio : undefined,
309
322
  width: height && aspectRatio ? '100%' : width,
@@ -311,7 +324,7 @@ export function ImageEdit({
311
324
  objectFit: scale,
312
325
  ...borderProps.style
313
326
  }
314
- }, isUrlAttributeConnected ? createElement("span", {
327
+ }, lockUrlControls ? createElement("span", {
315
328
  className: 'block-bindings-media-placeholder-message'
316
329
  }, __('Connected to a custom field')) : content);
317
330
  };
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","useBlockEditingMode","useEffect","useRef","useState","__","image","icon","plugins","pluginsIcon","noticesStore","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","ref","imageDefaultSize","mediaUpload","select","getSettings","settings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","href","onSelectURL","newURL","isTemp","file","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","classes","style","keys","length","blockProps","isUrlAttributeConnected","bindings","placeholder","content","withIllustration","label","instructions","objectFit","containerRef","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst isUrlAttributeConnected = !! metadata?.bindings?.url;\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ isUrlAttributeConnected ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! isUrlAttributeConnected &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ isUrlAttributeConnected ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","getBlobByURL","isBlobURL","revokeBlobURL","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","store","blockEditorStore","__experimentalUseBorderProps","useBorderProps","useBlockEditingMode","useEffect","useRef","useState","__","image","icon","plugins","pluginsIcon","noticesStore","unlock","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isTemporaryImage","id","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","ref","imageDefaultSize","mediaUpload","select","getSettings","settings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","href","onSelectURL","newURL","isTemp","file","filesList","onFileChange","img","allowedTypes","onError","isExternal","mediaPreview","createElement","borderProps","classes","style","keys","length","blockProps","lockUrlControls","getBlockBindingsSource","bindings","source","lockAttributesEditing","placeholder","content","withIllustration","label","instructions","objectFit","containerRef","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\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 { getBlockBindingsSource } = unlock(\n\t\t\t\tselect( blockEditorStore )\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\tgetBlockBindingsSource( metadata?.bindings?.url?.source )\n\t\t\t\t\t\t?.lockAttributesEditing === true,\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "react";
3
3
  * WordPress dependencies
4
4
  */
5
5
  import { isBlobURL } from '@wordpress/blob';
6
- import { ExternalLink, ResizableBox, Spinner, TextareaControl, ToggleControl, TextControl, ToolbarButton, ToolbarGroup, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
6
+ import { ExternalLink, ResizableBox, Spinner, TextareaControl, TextControl, ToolbarButton, ToolbarGroup, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
7
7
  import { useViewportMatch } from '@wordpress/compose';
8
8
  import { useSelect, useDispatch } from '@wordpress/data';
9
9
  import { BlockControls, InspectorControls, __experimentalImageURLInputUI as ImageURLInputUI, MediaReplaceFlow, store as blockEditorStore, useSettings, __experimentalImageEditor as ImageEditor, __experimentalUseBorderProps as useBorderProps, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
@@ -231,6 +231,25 @@ export default function Image({
231
231
  function onSetHref(props) {
232
232
  setAttributes(props);
233
233
  }
234
+ function onSetLightbox(enable) {
235
+ if (enable && !lightboxSetting?.enabled) {
236
+ setAttributes({
237
+ lightbox: {
238
+ enabled: true
239
+ }
240
+ });
241
+ } else if (!enable && lightboxSetting?.enabled) {
242
+ setAttributes({
243
+ lightbox: {
244
+ enabled: false
245
+ }
246
+ });
247
+ } else {
248
+ setAttributes({
249
+ lightbox: undefined
250
+ });
251
+ }
252
+ }
234
253
  function onSetTitle(value) {
235
254
  // This is the HTML title attribute, separate from the media object
236
255
  // title.
@@ -292,9 +311,8 @@ export default function Image({
292
311
  availableUnits: ['px']
293
312
  });
294
313
  const [lightboxSetting] = useSettings('lightbox');
295
- const showLightboxToggle = !!lightbox || lightboxSetting?.allowEditing === true;
314
+ const showLightboxSetting = !!lightbox || lightboxSetting?.allowEditing === true;
296
315
  const lightboxChecked = !!lightbox?.enabled || !lightbox && !!lightboxSetting?.enabled;
297
- const lightboxToggleDisabled = linkDestination && linkDestination !== 'none';
298
316
  const dimensionsControl = createElement(DimensionsTool, {
299
317
  value: {
300
318
  width,
@@ -359,9 +377,9 @@ export default function Image({
359
377
  title: titleBinding
360
378
  } = metadata?.bindings || {};
361
379
  return {
362
- lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source?.name)?.lockAttributesEditing === true,
363
- lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source?.name)?.lockAttributesEditing === true,
364
- lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source?.name)?.lockAttributesEditing === true
380
+ lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source)?.lockAttributesEditing === true,
381
+ lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source)?.lockAttributesEditing === true,
382
+ lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source)?.lockAttributesEditing === true
365
383
  };
366
384
  }, [isSelected]);
367
385
  const controls = createElement(Fragment, null, createElement(BlockControls, {
@@ -374,7 +392,10 @@ export default function Image({
374
392
  mediaLink: image && image.link,
375
393
  linkTarget: linkTarget,
376
394
  linkClass: linkClass,
377
- rel: rel
395
+ rel: rel,
396
+ showLightboxSetting: showLightboxSetting,
397
+ lightboxEnabled: lightboxChecked,
398
+ onSetLightbox: onSetLightbox
378
399
  }), allowCrop && createElement(ToolbarButton, {
379
400
  onClick: () => setIsEditingImage(true),
380
401
  icon: crop,
@@ -421,28 +442,7 @@ export default function Image({
421
442
  value: sizeSlug,
422
443
  onChange: updateImage,
423
444
  options: imageSizeOptions
424
- }), showLightboxToggle && createElement(ToolsPanelItem, {
425
- hasValue: () => !!lightbox,
426
- label: __('Expand on click'),
427
- onDeselect: () => {
428
- setAttributes({
429
- lightbox: undefined
430
- });
431
- },
432
- isShownByDefault: true
433
- }, createElement(ToggleControl, {
434
- label: __('Expand on click'),
435
- checked: lightboxChecked,
436
- onChange: newValue => {
437
- setAttributes({
438
- lightbox: {
439
- enabled: newValue
440
- }
441
- });
442
- },
443
- disabled: lightboxToggleDisabled,
444
- help: lightboxToggleDisabled ? __('“Expand on click” scales the image up, and can’t be combined with a link.') : ''
445
- })))), createElement(InspectorControls, {
445
+ }))), createElement(InspectorControls, {
446
446
  group: "advanced"
447
447
  }, createElement(TextControl, {
448
448
  __nextHasNoMarginBottom: true,