@wordpress/block-library 9.29.0 → 9.29.1-next.f34ab90e9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","blob","containerRef","useRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","altRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","DEFAULT_MEDIA_SIZE_SLUG","mediaAttributes","replace","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\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\tDEFAULT_MEDIA_SIZE_SLUG,\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 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: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\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\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\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, replaceBlock } =\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}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\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\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\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\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\tconst { imageDefaultSize } = getSettings();\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 = DEFAULT_MEDIA_SIZE_SLUG;\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// Normalize newline characters in caption to <br />\n\t\t// to preserve line breaks in both editor and frontend.\n\t\tif (\n\t\t\ttypeof mediaAttributes.caption === 'string' &&\n\t\t\tmediaAttributes.caption.includes( '\\n' )\n\t\t) {\n\t\t\tmediaAttributes.caption = mediaAttributes.caption.replace(\n\t\t\t\t/\\n/g,\n\t\t\t\t'<br>'\n\t\t\t);\n\t\t}\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}\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\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\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\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( 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: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\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\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","blob","containerRef","useRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","captionRef","useEffect","current","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","alt","title","imageDefaultSize","newSize","DEFAULT_MEDIA_SIZE_SLUG","mediaAttributes","replace","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\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\tDEFAULT_MEDIA_SIZE_SLUG,\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 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: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\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\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\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}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\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\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\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\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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\tconst { imageDefaultSize } = getSettings();\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 = DEFAULT_MEDIA_SIZE_SLUG;\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// Normalize newline characters in caption to <br />\n\t\t// to preserve line breaks in both editor and frontend.\n\t\tif (\n\t\t\ttypeof mediaAttributes.caption === 'string' &&\n\t\t\tmediaAttributes.caption.includes( '\\n' )\n\t\t) {\n\t\t\tmediaAttributes.caption = mediaAttributes.caption.replace(\n\t\t\t\t/\\n/g,\n\t\t\t\t'<br>'\n\t\t\t);\n\t\t}\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}\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\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\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\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( 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: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\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\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AASA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAKA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,oBAAA,GAAAd,OAAA;AAKA,IAAAe,UAAA,GAAAf,OAAA;AAOqB,IAAAgB,WAAA,GAAAhB,OAAA;AA7CrB;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAMA;AACA;AACA;;AAUO,MAAMiB,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;EACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAAEL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAE,CAAC,CAACM,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KAC9C,CAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAE,CAACC,QAAQ,CAAED,GAAI,CAClD,CACD,CAAC;EAEDL,UAAU,CAACO,GAAG,GACbT,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,EAAEQ,GAAG,IAC3BT,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,EAAEW,UAAU,IACjDZ,KAAK,CAACS,GAAG;EACV,OAAOP,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAW,OAAA,CAAAd,sBAAA,GAAAA,sBAAA;AASO,MAAMe,eAAe,GAAGA,CAAEC,EAAE,EAAEN,GAAG,KAAMA,GAAG,IAAI,CAAEM,EAAE,IAAI,CAAE,IAAAC,eAAS,EAAEP,GAAI,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AASA,SAASG,OAAOA,CAAEjB,KAAK,EAAEC,IAAI,EAAG;EAAA,IAAAiB,iBAAA,EAAAC,qBAAA;EAC/B,OACC,KAAK,MAAAD,iBAAA,GAAMlB,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,cAAAiB,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,CAAE,IACzC,YAAY,MAAAC,qBAAA,GAAMnB,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,cAAAkB,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE;AAEjE;AAEO,SAASC,SAASA,CAAE;EAC1BC,UAAU;EACVC,aAAa;EACbC,UAAU,EAAEC,gBAAgB;EAC5BC,SAAS;EACTC,iBAAiB;EACjBC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,sBAAsB,EAAEC;AACzB,CAAC,EAAG;EACH,MAAM;IACLtB,GAAG,GAAG,EAAE;IACRuB,OAAO;IACPjB,EAAE;IACFkB,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,WAAW;IACXC,KAAK;IACLC,KAAK;IACLC;EACD,CAAC,GAAGlB,UAAU;EAEd,MAAM,CAAEmB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAC,iBAAQ,EAAErB,UAAU,CAACsB,IAAK,CAAC;EAErE,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC7B;EACA;EACA;EACA,MAAMC,UAAU,GAAGf,YAAY,EAAEgB,IAAI,IAAIhB,YAAY,EAAEiB,OAAO,EAAED,IAAI;EACpE,MAAME,wBAAwB,GAC7B,CAAEH,UAAU,IAAMA,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,MAAQ;EACnE,MAAM,CAAEI,gBAAgB,EAAEC,eAAe,CAAE,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAEnE,MAAM,CAAEC,yBAAyB,EAAE;IAAEpB,KAAK,EAAEqB;EAAiB,CAAC,CAAE,GAC/D,IAAAC,0BAAiB,EAAC,CAAC;EAEpB,MAAMC,gBAAgB,GAAGF,gBAAgB,IAAIA,gBAAgB,GAAG,GAAG;EAEnE,MAAMG,UAAU,GAAG,IAAAZ,eAAM,EAAC,CAAC;EAC3B,IAAAa,kBAAS,EAAE,MAAM;IAChBD,UAAU,CAACE,OAAO,GAAG3B,OAAO;EAC7B,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,MAAM;IAAE4B,uCAAuC;IAAEC;EAAa,CAAC,GAC9D,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAEhC,IAAAL,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE,MAAM,EAAE,MAAM,CAAE,CAAClD,QAAQ,CAAE8B,KAAM,CAAC,EAAG;MAC3CsB,uCAAuC,CAAC,CAAC;MACzCtC,aAAa,CAAE;QACdW,KAAK,EAAE+B,SAAS;QAChB9B,MAAM,EAAE8B,SAAS;QACjB5B,WAAW,EAAE4B,SAAS;QACtB3B,KAAK,EAAE2B;MACR,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEJ,uCAAuC,EAAEtB,KAAK,EAAEhB,aAAa,CAAG,CAAC;EAEtE,MAAM;IACL2C,WAAW;IACXC,oBAAoB;IACpBC,YAAY;IACZC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAEN,kBAAiB,CAAC;EACjC,MAAMO,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAV,iBAAW,EAAEW,cAAa,CAAC;EACzD,SAASC,aAAaA,CAAEC,OAAO,EAAG;IACjCH,iBAAiB,CAAEG,OAAO,EAAE;MAAE5B,IAAI,EAAE;IAAW,CAAE,CAAC;IAClDzB,aAAa,CAAE;MACdsD,GAAG,EAAEZ,SAAS;MACdjD,EAAE,EAAEiD,SAAS;MACbvD,GAAG,EAAEuD,SAAS;MACdrB,IAAI,EAAEqB;IACP,CAAE,CAAC;EACJ;EAEA,SAASa,kBAAkBA,CAAEC,MAAM,EAAG;IACrC,MAAMC,GAAG,GAAGnC,YAAY,CAACe,OAAO,EAAEqB,aAAa,CAACC,WAAW;IAE3D,IAAKH,MAAM,CAACI,KAAK,CAAIC,IAAI,IAAMA,IAAI,YAAYJ,GAAG,CAACK,IAAK,CAAC,EAAG;MAC3D;MACA,MAAMC,KAAK,GAAGP,MAAM;MACpB,MAAMQ,YAAY,GAAGpB,oBAAoB,CAAErC,QAAS,CAAC;MAErD,IAAKwD,KAAK,CAACE,IAAI,CAAIJ,IAAI,IAAM,CAAE,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,EAAG;QAC1D;QACAX,iBAAiB,CAChB,IAAAiB,QAAE,EACD,8DACD,CAAC,EACD;UAAE1E,EAAE,EAAE,6BAA6B;UAAEgC,IAAI,EAAE;QAAW,CACvD,CAAC;MACF;MAEA,MAAM2C,WAAW,GAAGL,KAAK,CACvB/E,MAAM,CAAI6E,IAAI,IAAM,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,CAC7CQ,GAAG,CAAIR,IAAI,IACX,IAAAS,mBAAW,EAAE,YAAY,EAAE;QAC1BjD,IAAI,EAAE,IAAAkD,mBAAa,EAAEV,IAAK;MAC3B,CAAE,CACH,CAAC;MAEF,IAAKhB,YAAY,CAAEmB,YAAa,CAAC,KAAK,cAAc,EAAG;QACtDzB,YAAY,CAAEhC,QAAQ,EAAE6D,WAAY,CAAC;MACtC,CAAC,MAAM,IAAKtB,kBAAkB,CAAE,cAAc,EAAEkB,YAAa,CAAC,EAAG;QAChE,MAAMQ,YAAY,GAAG,IAAAF,mBAAW,EAC/B,cAAc,EACd,CAAC,CAAC,EACFF,WACD,CAAC;QAED7B,YAAY,CAAEhC,QAAQ,EAAEiE,YAAa,CAAC;MACvC;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAKC,KAAK,CAACC,OAAO,CAAEF,KAAM,CAAC,EAAG;MAC7BnB,kBAAkB,CAAEmB,KAAM,CAAC;MAC3B;IACD;IAEA,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACvF,GAAG,EAAG;MAC7Ba,aAAa,CAAE;QACdb,GAAG,EAAEuD,SAAS;QACdmC,GAAG,EAAEnC,SAAS;QACdjD,EAAE,EAAEiD,SAAS;QACboC,KAAK,EAAEpC,SAAS;QAChBhC,OAAO,EAAEgC,SAAS;QAClBrB,IAAI,EAAEqB;MACP,CAAE,CAAC;MACHvB,eAAe,CAAC,CAAC;MAEjB;IACD;IAEA,IAAK,IAAAzB,eAAS,EAAEgF,KAAK,CAACvF,GAAI,CAAC,EAAG;MAC7BgC,eAAe,CAAEuD,KAAK,CAACvF,GAAI,CAAC;MAC5B;IACD;IAEA,MAAM;MAAE4F;IAAiB,CAAC,GAAGpC,WAAW,CAAC,CAAC;;IAE1C;IACA;IACA,IAAIqC,OAAO,GAAGC,kCAAuB;IACrC,IAAKpE,QAAQ,IAAIlB,OAAO,CAAE+E,KAAK,EAAE7D,QAAS,CAAC,EAAG;MAC7CmE,OAAO,GAAGnE,QAAQ;IACnB,CAAC,MAAM,IAAKlB,OAAO,CAAE+E,KAAK,EAAEK,gBAAiB,CAAC,EAAG;MAChDC,OAAO,GAAGD,gBAAgB;IAC3B;IAEA,IAAIG,eAAe,GAAGzG,sBAAsB,CAAEiG,KAAK,EAAEM,OAAQ,CAAC;;IAE9D;IACA;IACA,IACC,OAAOE,eAAe,CAACxE,OAAO,KAAK,QAAQ,IAC3CwE,eAAe,CAACxE,OAAO,CAACxB,QAAQ,CAAE,IAAK,CAAC,EACvC;MACDgG,eAAe,CAACxE,OAAO,GAAGwE,eAAe,CAACxE,OAAO,CAACyE,OAAO,CACxD,KAAK,EACL,MACD,CAAC;IACF;;IAEA;IACA;IACA,IAAKhD,UAAU,CAACE,OAAO,IAAI,CAAE6C,eAAe,CAACxE,OAAO,EAAG;MACtD,MAAM;QAAEA,OAAO,EAAE0E,cAAc;QAAE,GAAGC;MAAoB,CAAC,GACxDH,eAAe;MAChBA,eAAe,GAAGG,mBAAmB;IACtC;IAEA,IAAIC,oBAAoB;IACxB;IACA,IAAK,CAAEZ,KAAK,CAACjF,EAAE,IAAIiF,KAAK,CAACjF,EAAE,KAAKA,EAAE,EAAG;MACpC6F,oBAAoB,GAAG;QACtBzE,QAAQ,EAAEmE;MACX,CAAC;IACF;;IAEA;IACA,IAAIO,eAAe,GAAGxF,UAAU,CAACwF,eAAe;IAChD,IAAK,CAAEA,eAAe,EAAG;MACxB;MACA;MACA;MACA,QACCC,MAAM,EAAEC,EAAE,EAAEf,KAAK,EAAEgB,IAAI,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,IACrDC,gCAAqB;QAErB,KAAK,MAAM;QACX,KAAKC,iCAAsB;UAC1BR,eAAe,GAAGQ,iCAAsB;UACxC;QACD,KAAK,MAAM;QACX,KAAKC,sCAA2B;UAC/BT,eAAe,GAAGS,sCAA2B;UAC7C;QACD,KAAKC,kCAAuB;UAC3BV,eAAe,GAAGU,kCAAuB;UACzC;QACD,KAAKH,gCAAqB;UACzBP,eAAe,GAAGO,gCAAqB;UACvC;MACF;IACD;;IAEA;IACA,IAAII,IAAI;IACR,QAASX,eAAe;MACvB,KAAKQ,iCAAsB;QAC1BG,IAAI,GAAGxB,KAAK,CAACvF,GAAG;QAChB;MACD,KAAK6G,sCAA2B;QAC/BE,IAAI,GAAGxB,KAAK,CAACmB,IAAI;QACjB;IACF;IACAX,eAAe,CAACgB,IAAI,GAAGA,IAAI;IAE3BlG,aAAa,CAAE;MACdqB,IAAI,EAAEqB,SAAS;MACf,GAAGwC,eAAe;MAClB,GAAGI,oBAAoB;MACvBC;IACD,CAAE,CAAC;IACHpE,eAAe,CAAC,CAAC;EAClB;EAEA,SAASgF,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKjH,GAAG,EAAG;MACrBa,aAAa,CAAE;QACdqB,IAAI,EAAEqB,SAAS;QACfvD,GAAG,EAAEiH,MAAM;QACX3G,EAAE,EAAEiD,SAAS;QACb7B,QAAQ,EAAE8B,WAAW,CAAC,CAAC,CAACoC;MACzB,CAAE,CAAC;MACH5D,eAAe,CAAC,CAAC;IAClB;EACD;EAEA,IAAAkF,gCAAyB,EAAE;IAC1BlH,GAAG,EAAE+B,YAAY;IACjBoF,YAAY,EAAEC,8BAAmB;IACjCC,QAAQ,EAAE/B,aAAa;IACvBgC,OAAO,EAAErD;EACV,CAAE,CAAC;EAEH,MAAMsD,UAAU,GAAGlH,eAAe,CAAEC,EAAE,EAAEN,GAAI,CAAC;EAC7C,MAAMmE,GAAG,GAAGoD,UAAU,GAAGvH,GAAG,GAAGuD,SAAS;EACxC,MAAMiE,YAAY,GAAG,CAAC,CAAExH,GAAG,iBAC1B,IAAAX,WAAA,CAAAoI,GAAA;IACC/B,GAAG,EAAG,IAAAV,QAAE,EAAE,YAAa,CAAG;IAC1BW,KAAK,EAAG,IAAAX,QAAE,EAAE,YAAa,CAAG;IAC5BhE,SAAS,EAAC,oBAAoB;IAC9BmD,GAAG,EAAGnE;EAAK,CACX,CACD;EAED,MAAM0H,WAAW,GAAG,IAAAC,yCAAc,EAAE/G,UAAW,CAAC;EAChD,MAAMgH,WAAW,GAAG,IAAAC,oDAAyB,EAAEjH,UAAW,CAAC;EAE3D,MAAMkH,OAAO,GAAG,IAAAC,aAAI,EAAE/G,SAAS,EAAE;IAChC,cAAc,EAAE,CAAC,CAAEe,YAAY;IAC/B,YAAY,EAAE,CAAC,CAAEP,KAAK,IAAI,CAAC,CAAEC,MAAM;IACnC,CAAE,QAASC,QAAQ,EAAG,GAAIA,QAAQ;IAClC,mBAAmB,EAClB,CAAC,CAAEgG,WAAW,CAAC1G,SAAS,IACtB0G,WAAW,CAACM,KAAK,IAClBtI,MAAM,CAACuI,IAAI,CAAEP,WAAW,CAACM,KAAM,CAAC,CAACE,MAAM,GAAG;EAC7C,CAAE,CAAC;EAEH,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,GAAG,EAAElG,YAAY;IACjBnB,SAAS,EAAE8G;EACZ,CAAE,CAAC;;EAEH;EACA,MAAM;IAAEQ,eAAe,GAAG,KAAK;IAAEC;EAAuB,CAAC,GAAG,IAAA3E,eAAS,EAClE4E,MAAM,IAAM;IACb,IAAK,CAAEzH,gBAAgB,EAAG;MACzB,OAAO,CAAC,CAAC;IACV;IAEA,MAAM0H,mBAAmB,GAAG,IAAAC,8BAAsB,EACjD5G,QAAQ,EAAE6G,QAAQ,EAAE3I,GAAG,EAAE4I,MAC1B,CAAC;IAED,OAAO;MACNN,eAAe,EACd,CAAC,CAAExG,QAAQ,EAAE6G,QAAQ,EAAE3I,GAAG,IAC1B,CAAEyI,mBAAmB,EAAEI,gBAAgB,GAAI;QAC1CL,MAAM;QACNrH,OAAO;QACP2H,IAAI,EAAEhH,QAAQ,EAAE6G,QAAQ,EAAE3I,GAAG,EAAE8I;MAChC,CAAE,CAAC;MACJP,sBAAsB,EAAEE,mBAAmB,EAAEM,KAAK,GAC/C,IAAAC,aAAO,EACP;MACA,IAAAhE,QAAE,EAAE,iBAAkB,CAAC,EACvByD,mBAAmB,CAACM,KACpB,CAAC,GACD,IAAA/D,QAAE,EAAE,2BAA4B;IACpC,CAAC;EACF,CAAC,EACD,CAAE7D,OAAO,EAAEJ,gBAAgB,EAAEe,QAAQ,EAAE6G,QAAQ,EAAE3I,GAAG,CACrD,CAAC;EACD,MAAMiJ,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC,IAAA7J,WAAA,CAAA8J,IAAA,EAAC3K,WAAA,CAAA4K,WAAW;MACXpI,SAAS,EAAG,IAAA+G,aAAI,EAAE,gCAAgC,EAAE;QACnD,CAAEL,WAAW,CAAC1G,SAAS,GACtB,CAAC,CAAE0G,WAAW,CAAC1G,SAAS,IAAI,CAAED;MAChC,CAAE,CAAG;MACLsI,IAAI,EACH,CAAEtG,gBAAgB,KAChBuF,eAAe,GAAGgB,cAAW,GAAGD,YAAI,CACtC;MACDE,gBAAgB,EAAG,CAAExI,gBAAgB,IAAIgC,gBAAkB;MAC3DgG,KAAK,EAAG,CAAEhG,gBAAgB,IAAI,IAAAiC,QAAE,EAAE,OAAQ,CAAG;MAC7CwE,YAAY,EACX,CAAElB,eAAe,IACjB,CAAEvF,gBAAgB,IAClB,IAAAiC,QAAE,EACD,8DACD,CACA;MACDgD,KAAK,EAAG;QACPrG,WAAW,EACV,EAAIH,KAAK,IAAIC,MAAM,CAAE,IAAIE,WAAW,GACjCA,WAAW,GACX4B,SAAS;QACb/B,KAAK,EAAEC,MAAM,IAAIE,WAAW,GAAG,MAAM,GAAGH,KAAK;QAC7CC,MAAM,EAAED,KAAK,IAAIG,WAAW,GAAG,MAAM,GAAGF,MAAM;QAC9CgI,SAAS,EAAE7H,KAAK;QAChB,GAAG8F,WAAW,CAACM,KAAK;QACpB,GAAGJ,WAAW,CAACI;MAChB,CAAG;MAAA0B,QAAA,GAEDpB,eAAe,IAChB,CAAEvF,gBAAgB,IAClBwF,sBAAsB,EAErB,CAAED,eAAe,IAAI,CAAEvF,gBAAgB,IAAImG,OAAO,EAClDtG,yBAAyB;IAAA,CACf,CAAC;EAEhB,CAAC;EAED,oBACC,IAAAvD,WAAA,CAAA8J,IAAA,EAAA9J,WAAA,CAAAsK,QAAA;IAAAD,QAAA,gBACC,IAAArK,WAAA,CAAA8J,IAAA;MAAA,GAAahB,UAAU;MAAAuB,QAAA,gBACtB,IAAArK,WAAA,CAAAoI,GAAA,EAACxI,MAAA,CAAAsD,OAAK;QACLR,YAAY,EAAGA,YAAc;QAC7BnB,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BE,gBAAgB,EAAGA,gBAAkB;QACrCE,iBAAiB,EAAGA,iBAAmB;QACvCC,SAAS,EAAGA,SAAW;QACvBoE,aAAa,EAAGA,aAAe;QAC/B0B,WAAW,EAAGA,WAAa;QAC3B/C,aAAa,EAAGA,aAAe;QAC/B9C,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrByC,gBAAgB,EAAGA,gBAAkB;QACrC+F,gBAAgB,EAAGvH,UAAY;QAC/BK,eAAe,EAAGA;MAAiB,CACnC,CAAC,eACF,IAAArD,WAAA,CAAAoI,GAAA,EAAC/I,YAAA,CAAAmL,gBAAgB;QAChBR,IAAI,eAAG,IAAAhK,WAAA,CAAAoI,GAAA,EAAC/I,YAAA,CAAAoL,SAAS;UAACT,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCU,QAAQ,EAAGzE,aAAe;QAC1B0B,WAAW,EAAGA,WAAa;QAC3BM,OAAO,EAAGrD,aAAe;QACzBgF,WAAW,EAAGA,WAAa;QAC3Be,MAAM,EAAC,SAAS;QAChB7C,YAAY,EAAGC,8BAAqB;QACpC6C,YAAY,EAAKrF,KAAK,IAAMA,KAAK,CAACsD,MAAM,KAAK,CAAG;QAChDgC,KAAK,EAAG;UAAE5J,EAAE;UAAE6D;QAAI,CAAG;QACrBqD,YAAY,EAAGA,YAAc;QAC7B2C,mBAAmB,EAAGpI,YAAY,IAAI/B;MAAK,CAC3C,CAAC;IAAA,CACK,CAAC;IAER;IACA;IACAe,gBAAgB,IAAIyB,wBAAwB,IAAIC,gBAAgB;EAAA,CAEhE,CAAC;AAEL;AAAC,IAAA2H,QAAA,GAAAhK,OAAA,CAAAmC,OAAA,GAEc5B,SAAS","ignoreList":[]}
@@ -0,0 +1,90 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { InnerBlocks, useBlockProps, getTypographyClassesAndStyles, __experimentalGetColorClassesAndStyles as getColorClassesAndStyles, __experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles } from '@wordpress/block-editor';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const v1 = {
7
+ // The block supports here are deliberately empty despite this
8
+ // deprecated version of the block having adopted block supports.
9
+ // The attributes added by these supports have been manually
10
+ // added to this deprecated version's attributes definition so
11
+ // that the data isn't lost on migration. All this is so that the
12
+ // automatic application of block support classes doesn't occur
13
+ // as this version of the block had a bug that overrode those
14
+ // classes. If those block support classes are applied during the
15
+ // deprecation process, this deprecation doesn't match and won't
16
+ // run.
17
+ // @see https://github.com/WordPress/gutenberg/pull/55755
18
+ supports: {},
19
+ attributes: {
20
+ submissionMethod: {
21
+ type: 'string',
22
+ default: 'email'
23
+ },
24
+ method: {
25
+ type: 'string',
26
+ default: 'post'
27
+ },
28
+ action: {
29
+ type: 'string'
30
+ },
31
+ email: {
32
+ type: 'string'
33
+ },
34
+ // The following attributes have been added to match the block
35
+ // supports at the time of the deprecation. See above for details.
36
+ anchor: {
37
+ type: 'string',
38
+ source: 'attribute',
39
+ attribute: 'id',
40
+ selector: '*'
41
+ },
42
+ backgroundColor: {
43
+ type: 'string'
44
+ },
45
+ textColor: {
46
+ type: 'string'
47
+ },
48
+ gradient: {
49
+ type: 'string'
50
+ },
51
+ style: {
52
+ type: 'object'
53
+ },
54
+ fontFamily: {
55
+ type: 'string'
56
+ },
57
+ fontSize: {
58
+ type: 'string'
59
+ }
60
+ },
61
+ save({
62
+ attributes
63
+ }) {
64
+ const {
65
+ submissionMethod
66
+ } = attributes;
67
+ const colorProps = getColorClassesAndStyles(attributes);
68
+ const typographyProps = getTypographyClassesAndStyles(attributes);
69
+ const spacingProps = getSpacingClassesAndStyles(attributes);
70
+ const blockProps = useBlockProps.save({
71
+ // In this deprecated version, the block support is deliberately empty.
72
+ // As a result, the useBlockProps.save() does not output style or id attributes,
73
+ // so we apply them explicitly here.
74
+ style: {
75
+ ...colorProps.style,
76
+ ...typographyProps.style,
77
+ ...spacingProps.style
78
+ },
79
+ id: attributes.anchor
80
+ });
81
+ return /*#__PURE__*/_jsx("form", {
82
+ ...blockProps,
83
+ className: "wp-block-form",
84
+ encType: submissionMethod === 'email' ? 'text/plain' : null,
85
+ children: /*#__PURE__*/_jsx(InnerBlocks.Content, {})
86
+ });
87
+ }
88
+ };
89
+ export default [v1];
90
+ //# sourceMappingURL=deprecated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["InnerBlocks","useBlockProps","getTypographyClassesAndStyles","__experimentalGetColorClassesAndStyles","getColorClassesAndStyles","__experimentalGetSpacingClassesAndStyles","getSpacingClassesAndStyles","jsx","_jsx","v1","supports","attributes","submissionMethod","type","default","method","action","email","anchor","source","attribute","selector","backgroundColor","textColor","gradient","style","fontFamily","fontSize","save","colorProps","typographyProps","spacingProps","blockProps","id","className","encType","children","Content"],"sources":["@wordpress/block-library/src/form/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tgetTypographyClassesAndStyles,\n\t__experimentalGetColorClassesAndStyles as getColorClassesAndStyles,\n\t__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,\n} from '@wordpress/block-editor';\n\nconst v1 = {\n\t// The block supports here are deliberately empty despite this\n\t// deprecated version of the block having adopted block supports.\n\t// The attributes added by these supports have been manually\n\t// added to this deprecated version's attributes definition so\n\t// that the data isn't lost on migration. All this is so that the\n\t// automatic application of block support classes doesn't occur\n\t// as this version of the block had a bug that overrode those\n\t// classes. If those block support classes are applied during the\n\t// deprecation process, this deprecation doesn't match and won't\n\t// run.\n\t// @see https://github.com/WordPress/gutenberg/pull/55755\n\tsupports: {},\n\tattributes: {\n\t\tsubmissionMethod: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'email',\n\t\t},\n\t\tmethod: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'post',\n\t\t},\n\t\taction: {\n\t\t\ttype: 'string',\n\t\t},\n\t\temail: {\n\t\t\ttype: 'string',\n\t\t},\n\t\t// The following attributes have been added to match the block\n\t\t// supports at the time of the deprecation. See above for details.\n\t\tanchor: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tattribute: 'id',\n\t\t\tselector: '*',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tgradient: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tstyle: {\n\t\t\ttype: 'object',\n\t\t},\n\t\tfontFamily: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tfontSize: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { submissionMethod } = attributes;\n\t\tconst colorProps = getColorClassesAndStyles( attributes );\n\t\tconst typographyProps = getTypographyClassesAndStyles( attributes );\n\t\tconst spacingProps = getSpacingClassesAndStyles( attributes );\n\t\tconst blockProps = useBlockProps.save( {\n\t\t\t// In this deprecated version, the block support is deliberately empty.\n\t\t\t// As a result, the useBlockProps.save() does not output style or id attributes,\n\t\t\t// so we apply them explicitly here.\n\t\t\tstyle: {\n\t\t\t\t...colorProps.style,\n\t\t\t\t...typographyProps.style,\n\t\t\t\t...spacingProps.style,\n\t\t\t},\n\t\t\tid: attributes.anchor,\n\t\t} );\n\n\t\treturn (\n\t\t\t<form\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName=\"wp-block-form\"\n\t\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t\t>\n\t\t\t\t<InnerBlocks.Content />\n\t\t\t</form>\n\t\t);\n\t},\n};\n\nexport default [ v1 ];\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,WAAW,EACXC,aAAa,EACbC,6BAA6B,EAC7BC,sCAAsC,IAAIC,wBAAwB,EAClEC,wCAAwC,IAAIC,0BAA0B,QAChE,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjC,MAAMC,EAAE,GAAG;EACV;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAC,QAAQ,EAAE,CAAC,CAAC;EACZC,UAAU,EAAE;IACXC,gBAAgB,EAAE;MACjBC,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;IACV,CAAC;IACDC,MAAM,EAAE;MACPF,IAAI,EAAE,QAAQ;MACdC,OAAO,EAAE;IACV,CAAC;IACDE,MAAM,EAAE;MACPH,IAAI,EAAE;IACP,CAAC;IACDI,KAAK,EAAE;MACNJ,IAAI,EAAE;IACP,CAAC;IACD;IACA;IACAK,MAAM,EAAE;MACPL,IAAI,EAAE,QAAQ;MACdM,MAAM,EAAE,WAAW;MACnBC,SAAS,EAAE,IAAI;MACfC,QAAQ,EAAE;IACX,CAAC;IACDC,eAAe,EAAE;MAChBT,IAAI,EAAE;IACP,CAAC;IACDU,SAAS,EAAE;MACVV,IAAI,EAAE;IACP,CAAC;IACDW,QAAQ,EAAE;MACTX,IAAI,EAAE;IACP,CAAC;IACDY,KAAK,EAAE;MACNZ,IAAI,EAAE;IACP,CAAC;IACDa,UAAU,EAAE;MACXb,IAAI,EAAE;IACP,CAAC;IACDc,QAAQ,EAAE;MACTd,IAAI,EAAE;IACP;EACD,CAAC;EACDe,IAAIA,CAAE;IAAEjB;EAAW,CAAC,EAAG;IACtB,MAAM;MAAEC;IAAiB,CAAC,GAAGD,UAAU;IACvC,MAAMkB,UAAU,GAAGzB,wBAAwB,CAAEO,UAAW,CAAC;IACzD,MAAMmB,eAAe,GAAG5B,6BAA6B,CAAES,UAAW,CAAC;IACnE,MAAMoB,YAAY,GAAGzB,0BAA0B,CAAEK,UAAW,CAAC;IAC7D,MAAMqB,UAAU,GAAG/B,aAAa,CAAC2B,IAAI,CAAE;MACtC;MACA;MACA;MACAH,KAAK,EAAE;QACN,GAAGI,UAAU,CAACJ,KAAK;QACnB,GAAGK,eAAe,CAACL,KAAK;QACxB,GAAGM,YAAY,CAACN;MACjB,CAAC;MACDQ,EAAE,EAAEtB,UAAU,CAACO;IAChB,CAAE,CAAC;IAEH,oBACCV,IAAA;MAAA,GACMwB,UAAU;MACfE,SAAS,EAAC,eAAe;MACzBC,OAAO,EAAGvB,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;MAAAwB,QAAA,eAE9D5B,IAAA,CAACR,WAAW,CAACqC,OAAO,IAAE;IAAC,CAClB,CAAC;EAET;AACD,CAAC;AAED,eAAe,CAAE5B,EAAE,CAAE","ignoreList":[]}
@@ -33,7 +33,6 @@ const metadata = {
33
33
  },
34
34
  supports: {
35
35
  anchor: true,
36
- className: false,
37
36
  color: {
38
37
  gradients: true,
39
38
  link: true,
@@ -64,6 +63,7 @@ const metadata = {
64
63
  };
65
64
  import save from './save';
66
65
  import variations from './variations';
66
+ import deprecated from './deprecated';
67
67
 
68
68
  /**
69
69
  * WordPress dependencies
@@ -76,6 +76,7 @@ export { metadata, name };
76
76
  export const settings = {
77
77
  edit,
78
78
  save,
79
+ deprecated,
79
80
  variations,
80
81
  example: {}
81
82
  };
@@ -1 +1 @@
1
- {"version":3,"names":["initBlock","edit","metadata","$schema","apiVersion","__experimental","name","title","category","allowedBlocks","description","keywords","textdomain","icon","attributes","submissionMethod","type","method","action","email","supports","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","save","variations","addFilter","settings","example","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/form/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\tsave,\n\tvariations,\n\texample: {},\n};\n\nexport const init = () => {\n\t// Prevent adding forms inside forms.\n\tconst DISALLOWED_PARENTS = [ 'core/form' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/preventInsertingFormIntoAnotherForm',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/form' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,UAAA;IAAAC,gBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;IAAA;IAAAG,KAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,4BAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;EAAA;AAAA;AAE1B,OAAOQ,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;;AAErC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,MAAM;EAAErC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB3C,IAAI;EACJwC,IAAI;EACJC,UAAU;EACVG,OAAO,EAAE,CAAC;AACX,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGA,CAAA,KAAM;EACzB;EACA,MAAMC,kBAAkB,GAAG,CAAE,WAAW,CAAE;EAC1CJ,SAAS,CACR,0CAA0C,EAC1C,wDAAwD,EACxD,CACCK,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC3C,IAAI,KAAK,WAAW,EAAG;MACrC,OAAO0C,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE5C,IAAI,KAAK+C,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOtD,SAAS,CAAE;IAAEM,IAAI;IAAEJ,QAAQ;IAAE0C;EAAS,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["initBlock","edit","metadata","$schema","apiVersion","__experimental","name","title","category","allowedBlocks","description","keywords","textdomain","icon","attributes","submissionMethod","type","method","action","email","supports","anchor","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalTextDecoration","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","save","variations","deprecated","addFilter","settings","example","init","DISALLOWED_PARENTS","canInsert","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"sources":["@wordpress/block-library/src/form/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n\texample: {},\n};\n\nexport const init = () => {\n\t// Prevent adding forms inside forms.\n\tconst DISALLOWED_PARENTS = [ 'core/form' ];\n\taddFilter(\n\t\t'blockEditor.__unstableCanInsertBlockType',\n\t\t'core/block-library/preventInsertingFormIntoAnotherForm',\n\t\t(\n\t\t\tcanInsert,\n\t\t\tblockType,\n\t\t\trootClientId,\n\t\t\t{ getBlock, getBlockParentsByBlockName }\n\t\t) => {\n\t\t\tif ( blockType.name !== 'core/form' ) {\n\t\t\t\treturn canInsert;\n\t\t\t}\n\n\t\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\t\tconst hasDisallowedParent =\n\t\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\trootClientId,\n\t\t\t\t\t\tdisallowedParentType\n\t\t\t\t\t).length;\n\t\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t}\n\t);\n\n\treturn initBlock( { name, metadata, settings } );\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,cAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,aAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,UAAA;IAAAC,gBAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,MAAA;MAAAF,IAAA;IAAA;IAAAG,KAAA;MAAAH,IAAA;IAAA;EAAA;EAAAI,QAAA;IAAAC,MAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,4BAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;EAAA;AAAA;AAE1B,OAAOQ,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,UAAU,MAAM,cAAc;;AAErC;AACA;AACA;AACA,SAASC,SAAS,QAAQ,kBAAkB;AAE5C,MAAM;EAAErC;AAAK,CAAC,GAAGJ,QAAQ;AAEzB,SAASA,QAAQ,EAAEI,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB3C,IAAI;EACJuC,IAAI;EACJE,UAAU;EACVD,UAAU;EACVI,OAAO,EAAE,CAAC;AACX,CAAC;AAED,OAAO,MAAMC,IAAI,GAAGA,CAAA,KAAM;EACzB;EACA,MAAMC,kBAAkB,GAAG,CAAE,WAAW,CAAE;EAC1CJ,SAAS,CACR,0CAA0C,EAC1C,wDAAwD,EACxD,CACCK,SAAS,EACTC,SAAS,EACTC,YAAY,EACZ;IAAEC,QAAQ;IAAEC;EAA2B,CAAC,KACpC;IACJ,IAAKH,SAAS,CAAC3C,IAAI,KAAK,WAAW,EAAG;MACrC,OAAO0C,SAAS;IACjB;IAEA,KAAM,MAAMK,oBAAoB,IAAIN,kBAAkB,EAAG;MACxD,MAAMO,mBAAmB,GACxBH,QAAQ,CAAED,YAAa,CAAC,EAAE5C,IAAI,KAAK+C,oBAAoB,IACvDD,0BAA0B,CACzBF,YAAY,EACZG,oBACD,CAAC,CAACE,MAAM;MACT,IAAKD,mBAAmB,EAAG;QAC1B,OAAO,KAAK;MACb;IACD;IACA,OAAO,IAAI;EACZ,CACD,CAAC;EAED,OAAOtD,SAAS,CAAE;IAAEM,IAAI;IAAEJ,QAAQ;IAAE0C;EAAS,CAAE,CAAC;AACjD,CAAC","ignoreList":[]}
@@ -12,7 +12,6 @@ export default function save({
12
12
  } = attributes;
13
13
  return /*#__PURE__*/_jsx("form", {
14
14
  ...blockProps,
15
- className: "wp-block-form",
16
15
  encType: submissionMethod === 'email' ? 'text/plain' : null,
17
16
  children: /*#__PURE__*/_jsx(InnerBlocks.Content, {})
18
17
  });
@@ -1 +1 @@
1
- {"version":3,"names":["InnerBlocks","useBlockProps","jsx","_jsx","save","attributes","blockProps","submissionMethod","className","encType","children","Content"],"sources":["@wordpress/block-library/src/form/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst { submissionMethod } = attributes;\n\n\treturn (\n\t\t<form\n\t\t\t{ ...blockProps }\n\t\t\tclassName=\"wp-block-form\"\n\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</form>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErE,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAMC,UAAU,GAAGL,aAAa,CAACG,IAAI,CAAC,CAAC;EACvC,MAAM;IAAEG;EAAiB,CAAC,GAAGF,UAAU;EAEvC,oBACCF,IAAA;IAAA,GACMG,UAAU;IACfE,SAAS,EAAC,eAAe;IACzBC,OAAO,EAAGF,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;IAAAG,QAAA,eAE9DP,IAAA,CAACH,WAAW,CAACW,OAAO,IAAE;EAAC,CAClB,CAAC;AAET","ignoreList":[]}
1
+ {"version":3,"names":["InnerBlocks","useBlockProps","jsx","_jsx","save","attributes","blockProps","submissionMethod","encType","children","Content"],"sources":["@wordpress/block-library/src/form/save.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst blockProps = useBlockProps.save();\n\tconst { submissionMethod } = attributes;\n\n\treturn (\n\t\t<form\n\t\t\t{ ...blockProps }\n\t\t\tencType={ submissionMethod === 'email' ? 'text/plain' : null }\n\t\t>\n\t\t\t<InnerBlocks.Content />\n\t\t</form>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,aAAa,QAAQ,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAErE,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAMC,UAAU,GAAGL,aAAa,CAACG,IAAI,CAAC,CAAC;EACvC,MAAM;IAAEG;EAAiB,CAAC,GAAGF,UAAU;EAEvC,oBACCF,IAAA;IAAA,GACMG,UAAU;IACfE,OAAO,EAAGD,gBAAgB,KAAK,OAAO,GAAG,YAAY,GAAG,IAAM;IAAAE,QAAA,eAE9DN,IAAA,CAACH,WAAW,CAACU,OAAO,IAAE;EAAC,CAClB,CAAC;AAET","ignoreList":[]}
@@ -255,7 +255,9 @@ export default function GalleryEdit(props) {
255
255
  }) => id === block.attributes.id) : null;
256
256
  changedAttributes[block.clientId] = getHrefAndDestination(image, value, false, block.attributes, lightboxSetting);
257
257
  });
258
- updateBlockAttributes(blocks, changedAttributes, true);
258
+ updateBlockAttributes(blocks, changedAttributes, {
259
+ uniqueByBlock: true
260
+ });
259
261
  const linkToText = [...linkOptions].find(linkType => linkType.value === value);
260
262
  createSuccessNotice(sprintf(/* translators: %s: image size settings */
261
263
  __('All gallery image links updated to: %s'), linkToText.noticeText), {
@@ -289,7 +291,9 @@ export default function GalleryEdit(props) {
289
291
  blocks.push(block.clientId);
290
292
  changedAttributes[block.clientId] = getUpdatedLinkTargetSettings(newLinkTarget, block.attributes);
291
293
  });
292
- updateBlockAttributes(blocks, changedAttributes, true);
294
+ updateBlockAttributes(blocks, changedAttributes, {
295
+ uniqueByBlock: true
296
+ });
293
297
  const noticeText = openInNewTab ? __('All gallery images updated to open in new tab') : __('All gallery images updated to not open in new tab');
294
298
  createSuccessNotice(noticeText, {
295
299
  id: 'gallery-attributes-openInNewTab',
@@ -310,7 +314,9 @@ export default function GalleryEdit(props) {
310
314
  }) => id === block.attributes.id) : null;
311
315
  changedAttributes[block.clientId] = getImageSizeAttributes(image, newSizeSlug);
312
316
  });
313
- updateBlockAttributes(blocks, changedAttributes, true);
317
+ updateBlockAttributes(blocks, changedAttributes, {
318
+ uniqueByBlock: true
319
+ });
314
320
  const imageSize = imageSizeOptions.find(size => size.value === newSizeSlug);
315
321
  createSuccessNotice(sprintf(/* translators: %s: image size settings */
316
322
  __('All gallery image sizes updated to: %s'), (_imageSize$label = imageSize?.label) !== null && _imageSize$label !== void 0 ? _imageSize$label : newSizeSlug), {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","SelectControl","ToggleControl","RangeControl","MenuGroup","MenuItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToolbarDropdownMenu","PanelBody","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","useSettings","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","View","createBlock","createBlobURL","noticesStore","link","linkIcon","customLink","image","imageIcon","linkOff","fullscreen","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","useToolsPanelDropdownMenuProps","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_LIGHTBOX","DEFAULT_MEDIA_SIZE_SLUG","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","LINK_OPTIONS","icon","label","value","noticeText","infoText","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","_imageSize$label","imageSize","size","window","wp","media","view","settings","defaultProps","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","dropdownMenuProps","children","hasLinkTo","isWeb","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","group","onClose","linkItem","isOptionSelected","iconPosition","onClick","role","info","mediaIds","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarDropdownMenu,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ Platform.isWeb && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t!! columns && columns !== images.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetColumnsNumber( 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\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\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={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t\t{ Platform.isNative && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","SelectControl","ToggleControl","RangeControl","MenuGroup","MenuItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToolbarDropdownMenu","PanelBody","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","useSettings","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","View","createBlock","createBlobURL","noticesStore","link","linkIcon","customLink","image","imageIcon","linkOff","fullscreen","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","useToolsPanelDropdownMenuProps","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","LINK_DESTINATION_LIGHTBOX","DEFAULT_MEDIA_SIZE_SLUG","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","LINK_OPTIONS","icon","label","value","noticeText","infoText","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","uniqueByBlock","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","_imageSize$label","imageSize","size","window","wp","media","view","settings","defaultProps","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","dropdownMenuProps","children","hasLinkTo","isWeb","resetAll","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","group","onClose","linkItem","isOptionSelected","iconPosition","onClick","role","info","mediaIds","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToolbarDropdownMenu,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n\tDEFAULT_MEDIA_SIZE_SLUG,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, {\n\t\t\tuniqueByBlock: true,\n\t\t} );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize?.label ?? newSizeSlug\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ Platform.isWeb && (\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tcolumns: undefined,\n\t\t\t\t\t\t\t\timageCrop: true,\n\t\t\t\t\t\t\t\trandomOrder: false,\n\t\t\t\t\t\t\t} );\n\n\t\t\t\t\t\t\tif ( sizeSlug !== DEFAULT_MEDIA_SIZE_SLUG ) {\n\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif ( linkTarget ) {\n\t\t\t\t\t\t\t\ttoggleOpenInNewTab( false );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t!! columns && columns !== images.length\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetColumnsNumber( 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\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber(\n\t\t\t\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\t\tmax={ Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_COLUMNS,\n\t\t\t\t\t\t\t\t\t\timages.length\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tsizeSlug !== DEFAULT_MEDIA_SIZE_SLUG\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tupdateImagesSize( DEFAULT_MEDIA_SIZE_SLUG )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\thasValue={ () => ! imageCrop }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { imageCrop: true } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\thasValue={ () => !! randomOrder }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { randomOrder: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\thasValue={ () => !! linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () => toggleOpenInNewTab( false ) }\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={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t) }\n\t\t\t\t{ Platform.isNative && (\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb ? (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\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</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}