@wordpress/block-library 8.6.0 → 8.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/buttons/index.js +1 -0
- package/build/buttons/index.js.map +1 -1
- package/build/buttons/transforms.js +1 -0
- package/build/buttons/transforms.js.map +1 -1
- package/build/columns/edit.js +4 -2
- package/build/columns/edit.js.map +1 -1
- package/build/columns/index.js +4 -0
- package/build/columns/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -2
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/gallery/edit.js +8 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/use-image-sizes.js +1 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/group/deprecated.js +4 -2
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +22 -5
- package/build/group/edit.js.map +1 -1
- package/build/group/placeholder.js +11 -1
- package/build/group/placeholder.js.map +1 -1
- package/build/group/variations.js +23 -3
- package/build/group/variations.js.map +1 -1
- package/build/image/edit.js +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +8 -6
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +7 -2
- package/build/image/index.js.map +1 -1
- package/build/latest-posts/edit.js +1 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/media-text/deprecated.js +228 -18
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +3 -3
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +1 -1
- package/build/navigation/edit/index.js +1 -12
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +1 -4
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/index.js +0 -1
- package/build/navigation/index.js.map +1 -1
- package/build/post-date/edit.js +2 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +4 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-date/variations.js +28 -0
- package/build/post-date/variations.js.map +1 -0
- package/build/post-excerpt/edit.js +39 -10
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +2 -2
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-time-to-read/index.js +17 -1
- package/build/post-time-to-read/index.js.map +1 -1
- package/build/quote/index.js +1 -0
- package/build/quote/index.js.map +1 -1
- package/build/spacer/edit.js +16 -6
- package/build/spacer/edit.js.map +1 -1
- package/build-module/buttons/index.js +1 -0
- package/build-module/buttons/index.js.map +1 -1
- package/build-module/buttons/transforms.js +1 -0
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/columns/edit.js +4 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/index.js +4 -0
- package/build-module/columns/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -2
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/gallery/edit.js +8 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +1 -1
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/group/deprecated.js +4 -2
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/edit.js +21 -5
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/placeholder.js +11 -1
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/group/variations.js +24 -1
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/edit.js +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +8 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +7 -2
- package/build-module/image/index.js.map +1 -1
- package/build-module/latest-posts/edit.js +1 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/media-text/deprecated.js +227 -18
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +3 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +1 -1
- package/build-module/navigation/edit/index.js +1 -12
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +1 -4
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +0 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/post-date/edit.js +2 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +3 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-date/variations.js +18 -0
- package/build-module/post-date/variations.js.map +1 -0
- package/build-module/post-excerpt/edit.js +38 -11
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +2 -2
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-time-to-read/index.js +17 -1
- package/build-module/post-time-to-read/index.js.map +1 -1
- package/build-module/quote/index.js +1 -0
- package/build-module/quote/index.js.map +1 -1
- package/build-module/spacer/edit.js +16 -6
- package/build-module/spacer/edit.js.map +1 -1
- package/build-style/categories/editor-rtl.css +5 -0
- package/build-style/categories/editor.css +5 -0
- package/build-style/categories/style-rtl.css +4 -0
- package/build-style/categories/style.css +4 -0
- package/build-style/editor-rtl.css +6 -0
- package/build-style/editor.css +6 -0
- package/build-style/navigation/style-rtl.css +2 -0
- package/build-style/navigation/style.css +2 -0
- package/build-style/post-featured-image/editor-rtl.css +1 -0
- package/build-style/post-featured-image/editor.css +1 -0
- package/build-style/post-template/style-rtl.css +1 -1
- package/build-style/post-template/style.css +1 -1
- package/build-style/post-time-to-read/style-rtl.css +91 -0
- package/build-style/post-time-to-read/style.css +91 -0
- package/build-style/search/style-rtl.css +8 -7
- package/build-style/search/style.css +8 -7
- package/build-style/style-rtl.css +19 -8
- package/build-style/style.css +19 -8
- package/package.json +31 -31
- package/src/buttons/block.json +1 -0
- package/src/categories/editor.scss +5 -0
- package/src/categories/style.scss +4 -0
- package/src/columns/block.json +4 -0
- package/src/columns/edit.js +2 -1
- package/src/comments/index.php +1 -0
- package/src/cover/edit/inspector-controls.js +4 -5
- package/src/cover/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/cover/test/edit.js +324 -0
- package/src/gallery/edit.js +5 -2
- package/src/gallery/use-image-sizes.js +1 -1
- package/src/group/deprecated.js +4 -2
- package/src/group/edit.js +27 -9
- package/src/group/placeholder.js +13 -1
- package/src/group/variations.js +14 -1
- package/src/home-link/index.php +2 -2
- package/src/image/block.json +7 -2
- package/src/image/edit.js +1 -1
- package/src/image/edit.native.js +1 -1
- package/src/image/image.js +15 -7
- package/src/image/index.php +7 -2
- package/src/image/test/__snapshots__/transforms.native.js.snap +1 -1
- package/src/latest-comments/style.scss +1 -1
- package/src/latest-posts/edit.js +3 -0
- package/src/media-text/block.json +1 -1
- package/src/media-text/deprecated.js +235 -3
- package/src/media-text/edit.js +7 -6
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +4 -4
- package/src/navigation/block.json +0 -1
- package/src/navigation/edit/index.js +0 -13
- package/src/navigation/edit/inner-blocks.js +0 -3
- package/src/navigation/style.scss +6 -4
- package/src/navigation-link/index.php +2 -1
- package/src/navigation-submenu/index.php +30 -76
- package/src/post-author/index.php +1 -1
- package/src/post-date/edit.js +4 -1
- package/src/post-date/index.js +2 -0
- package/src/post-date/variations.js +20 -0
- package/src/post-excerpt/edit.js +48 -16
- package/src/post-featured-image/dimension-controls.js +2 -2
- package/src/post-featured-image/editor.scss +1 -0
- package/src/post-template/block.json +1 -1
- package/src/post-template/style.scss +1 -1
- package/src/post-time-to-read/block.json +17 -1
- package/src/post-time-to-read/style.scss +4 -0
- package/src/query-title/index.php +2 -5
- package/src/quote/block.json +1 -0
- package/src/search/style.scss +16 -12
- package/src/spacer/edit.js +18 -5
- package/src/style.scss +1 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/src/cover/test/block-controls.js +0 -62
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","compose","usePrevious","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","ToolbarButton","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useCallback","useEffect","useState","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","caption","captionIcon","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\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\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\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\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\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/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","compose","usePrevious","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","ToolbarButton","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useCallback","useEffect","useState","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","caption","captionIcon","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","clearSelectedBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","length","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t\tclearSelectedBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\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\tif ( newImages?.length > 0 ) {\n\t\t\tclearSelectedBlock();\n\t\t}\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\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\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\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/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { useMemo } from '@wordpress/element';
|
|
5
5
|
/**
|
|
6
6
|
* Calculates the image sizes that are avaible for the current gallery images in order to
|
|
7
|
-
* populate the '
|
|
7
|
+
* populate the 'Resolution' selector.
|
|
8
8
|
*
|
|
9
9
|
* @param {Array} images Basic image block data taken from current gallery innerBlock
|
|
10
10
|
* @param {boolean} isSelected Is the block currently selected in the editor.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-image-sizes.js"],"names":["useMemo","useImageSizes","images","isSelected","getSettings","getImageSizing","length","imageSizes","resizedImages","reduce","currentResizedImages","img","id","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","resizedImageSizes","Object","values","filter","some","map","name","value","label"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,aAAT,CAAwBC,MAAxB,EAAgCC,UAAhC,EAA4CC,WAA5C,EAA0D;AACxE,SAAOJ,OAAO,CAAE,MAAMK,cAAc,EAAtB,EAA0B,CAAEH,MAAF,EAAUC,UAAV,CAA1B,CAAd;;AAEA,WAASE,cAAT,GAA0B;AACzB,QAAK,CAAEH,MAAF,IAAYA,MAAM,CAACI,MAAP,KAAkB,CAAnC,EAAuC;AACtC;AACA;;AACD,UAAM;AAAEC,MAAAA;AAAF,QAAiBH,WAAW,EAAlC;AACA,QAAII,aAAa,GAAG,EAApB;;AAEA,QAAKL,UAAL,EAAkB;AACjBK,MAAAA,aAAa,GAAGN,MAAM,CAACO,MAAP,CAAe,CAAEC,oBAAF,EAAwBC,GAAxB,KAAiC;AAC/D,YAAK,CAAEA,GAAG,CAACC,EAAX,EAAgB;AACf,iBAAOF,oBAAP;AACA;;AAED,cAAMG,KAAK,GAAGN,UAAU,CAACE,MAAX,CAAmB,CAAEK,YAAF,EAAgBC,IAAhB,KAA0B;AAAA;;AAC1D,gBAAMC,UAAU,iBAAGL,GAAG,CAACE,KAAP,uEAAG,WAAaE,IAAI,CAACE,IAAlB,CAAH,yDAAG,qBAA0BC,GAA7C;AACA,gBAAMC,eAAe,yBACpBR,GAAG,CAACS,aADgB,gFACpB,mBAAmBP,KADC,oFACpB,sBAA4BE,IAAI,CAACE,IAAjC,CADoB,2DACpB,uBAAyCI,UAD1C;AAEA,iBAAO,EACN,GAAGP,YADG;AAEN,aAAEC,IAAI,CAACE,IAAP,GAAeD,UAAU,IAAIG;AAFvB,WAAP;AAIA,SARa,EAQX,EARW,CAAd;AASA,eAAO,EACN,GAAGT,oBADG;AAEN,WAAEY,QAAQ,CAAEX,GAAG,CAACC,EAAN,EAAU,EAAV,CAAV,GAA4BC;AAFtB,SAAP;AAIA,OAlBe,EAkBb,EAlBa,CAAhB;AAmBA;;AACD,UAAMU,iBAAiB,GAAGC,MAAM,CAACC,MAAP,CAAejB,aAAf,CAA1B;AACA,WAAOD,UAAU,CACfmB,MADK,CACG;AAAA,UAAE;AAAET,QAAAA;AAAF,OAAF;AAAA,aACRM,iBAAiB,CAACI,IAAlB,CAA0Bd,KAAF,IAAaA,KAAK,CAAEI,IAAF,CAA1C,CADQ;AAAA,KADH,EAILW,GAJK,CAIA;AAAA,UAAE;AAAEC,QAAAA,IAAF;AAAQZ,QAAAA;AAAR,OAAF;AAAA,aAAwB;AAAEa,QAAAA,KAAK,EAAEb,IAAT;AAAec,QAAAA,KAAK,EAAEF;AAAtB,OAAxB;AAAA,KAJA,CAAP;AAKA;AACD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Calculates the image sizes that are avaible for the current gallery images in order to\n * populate the '
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/use-image-sizes.js"],"names":["useMemo","useImageSizes","images","isSelected","getSettings","getImageSizing","length","imageSizes","resizedImages","reduce","currentResizedImages","img","id","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","resizedImageSizes","Object","values","filter","some","map","name","value","label"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,aAAT,CAAwBC,MAAxB,EAAgCC,UAAhC,EAA4CC,WAA5C,EAA0D;AACxE,SAAOJ,OAAO,CAAE,MAAMK,cAAc,EAAtB,EAA0B,CAAEH,MAAF,EAAUC,UAAV,CAA1B,CAAd;;AAEA,WAASE,cAAT,GAA0B;AACzB,QAAK,CAAEH,MAAF,IAAYA,MAAM,CAACI,MAAP,KAAkB,CAAnC,EAAuC;AACtC;AACA;;AACD,UAAM;AAAEC,MAAAA;AAAF,QAAiBH,WAAW,EAAlC;AACA,QAAII,aAAa,GAAG,EAApB;;AAEA,QAAKL,UAAL,EAAkB;AACjBK,MAAAA,aAAa,GAAGN,MAAM,CAACO,MAAP,CAAe,CAAEC,oBAAF,EAAwBC,GAAxB,KAAiC;AAC/D,YAAK,CAAEA,GAAG,CAACC,EAAX,EAAgB;AACf,iBAAOF,oBAAP;AACA;;AAED,cAAMG,KAAK,GAAGN,UAAU,CAACE,MAAX,CAAmB,CAAEK,YAAF,EAAgBC,IAAhB,KAA0B;AAAA;;AAC1D,gBAAMC,UAAU,iBAAGL,GAAG,CAACE,KAAP,uEAAG,WAAaE,IAAI,CAACE,IAAlB,CAAH,yDAAG,qBAA0BC,GAA7C;AACA,gBAAMC,eAAe,yBACpBR,GAAG,CAACS,aADgB,gFACpB,mBAAmBP,KADC,oFACpB,sBAA4BE,IAAI,CAACE,IAAjC,CADoB,2DACpB,uBAAyCI,UAD1C;AAEA,iBAAO,EACN,GAAGP,YADG;AAEN,aAAEC,IAAI,CAACE,IAAP,GAAeD,UAAU,IAAIG;AAFvB,WAAP;AAIA,SARa,EAQX,EARW,CAAd;AASA,eAAO,EACN,GAAGT,oBADG;AAEN,WAAEY,QAAQ,CAAEX,GAAG,CAACC,EAAN,EAAU,EAAV,CAAV,GAA4BC;AAFtB,SAAP;AAIA,OAlBe,EAkBb,EAlBa,CAAhB;AAmBA;;AACD,UAAMU,iBAAiB,GAAGC,MAAM,CAACC,MAAP,CAAejB,aAAf,CAA1B;AACA,WAAOD,UAAU,CACfmB,MADK,CACG;AAAA,UAAE;AAAET,QAAAA;AAAF,OAAF;AAAA,aACRM,iBAAiB,CAACI,IAAlB,CAA0Bd,KAAF,IAAaA,KAAK,CAAEI,IAAF,CAA1C,CADQ;AAAA,KADH,EAILW,GAJK,CAIA;AAAA,UAAE;AAAEC,QAAAA,IAAF;AAAQZ,QAAAA;AAAR,OAAF;AAAA,aAAwB;AAAEa,QAAAA,KAAK,EAAEb,IAAT;AAAec,QAAAA,KAAK,EAAEF;AAAtB,OAAxB;AAAA,KAJA,CAAP;AAKA;AACD","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Calculates the image sizes that are avaible for the current gallery images in order to\n * populate the 'Resolution' selector.\n *\n * @param {Array} images Basic image block data taken from current gallery innerBlock\n * @param {boolean} isSelected Is the block currently selected in the editor.\n * @param {Function} getSettings Block editor store selector.\n *\n * @return {Array} An array of image size options.\n */\nexport default function useImageSizes( images, isSelected, getSettings ) {\n\treturn useMemo( () => getImageSizing(), [ images, isSelected ] );\n\n\tfunction getImageSizing() {\n\t\tif ( ! images || images.length === 0 ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { imageSizes } = getSettings();\n\t\tlet resizedImages = {};\n\n\t\tif ( isSelected ) {\n\t\t\tresizedImages = images.reduce( ( currentResizedImages, img ) => {\n\t\t\t\tif ( ! img.id ) {\n\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t}\n\n\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\tconst defaultUrl = img.sizes?.[ size.slug ]?.url;\n\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\timg.media_details?.sizes?.[ size.slug ]?.source_url;\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t};\n\t\t\t\t}, {} );\n\t\t\t\treturn {\n\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t[ parseInt( img.id, 10 ) ]: sizes,\n\t\t\t\t};\n\t\t\t}, {} );\n\t\t}\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n}\n"]}
|
|
@@ -51,7 +51,8 @@ const deprecated = [// Version with default layout.
|
|
|
51
51
|
default: 'div'
|
|
52
52
|
},
|
|
53
53
|
templateLock: {
|
|
54
|
-
type: 'string'
|
|
54
|
+
type: ['string', 'boolean'],
|
|
55
|
+
enum: ['all', 'insert', false]
|
|
55
56
|
}
|
|
56
57
|
},
|
|
57
58
|
supports: {
|
|
@@ -144,7 +145,8 @@ const deprecated = [// Version with default layout.
|
|
|
144
145
|
default: 'div'
|
|
145
146
|
},
|
|
146
147
|
templateLock: {
|
|
147
|
-
type: 'string'
|
|
148
|
+
type: ['string', 'boolean'],
|
|
149
|
+
enum: ['all', 'insert', false]
|
|
148
150
|
}
|
|
149
151
|
},
|
|
150
152
|
supports: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/deprecated.js"],"names":["classnames","InnerBlocks","getColorClassName","useBlockProps","useInnerBlocksProps","migrateAttributes","attributes","tagName","customTextColor","customBackgroundColor","style","color","text","background","restAttributes","deprecated","type","default","templateLock","supports","__experimentalOnEnter","__experimentalSettings","align","anchor","ariaLabel","html","gradients","link","__experimentalDefaultControls","spacing","margin","padding","blockGap","__experimentalBorder","radius","width","typography","fontSize","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalLayout","save","Tag","isEligible","layout","inherit","contentSize","migrate","backgroundColor","textColor","backgroundClass","textClass","className","styles","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\n\nconst migrateAttributes = ( attributes ) => {\n\tif ( ! attributes.tagName ) {\n\t\tattributes = {\n\t\t\t...attributes,\n\t\t\ttagName: 'div',\n\t\t};\n\t}\n\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\n\tconst { customTextColor, customBackgroundColor, ...restAttributes } =\n\t\tattributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst deprecated = [\n\t// Version with default layout.\n\t{\n\t\tattributes: {\n\t\t\ttagName: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'div',\n\t\t\t},\n\t\t\ttemplateLock: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\t__experimentalOnEnter: true,\n\t\t\t__experimentalSettings: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tariaLabel: true,\n\t\t\thtml: false,\n\t\t\tcolor: {\n\t\t\t\tgradients: true,\n\t\t\t\tlink: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tbackground: true,\n\t\t\t\t\ttext: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\tpadding: true,\n\t\t\t\tblockGap: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tpadding: true,\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t__experimentalBorder: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tcolor: true,\n\t\t\t\t\tradius: true,\n\t\t\t\t\tstyle: true,\n\t\t\t\t\twidth: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\tlineHeight: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t\t__experimentalLetterSpacing: true,\n\t\t\t\t__experimentalTextTransform: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tfontSize: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t__experimentalLayout: true,\n\t\t},\n\t\tsave( { attributes: { tagName: Tag } } ) {\n\t\t\treturn (\n\t\t\t\t<Tag { ...useInnerBlocksProps.save( useBlockProps.save() ) } />\n\t\t\t);\n\t\t},\n\t\tisEligible: ( { layout } ) =>\n\t\t\t! layout ||\n\t\t\tlayout.inherit ||\n\t\t\t( layout.contentSize && layout.type !== 'constrained' ),\n\t\tmigrate: ( attributes ) => {\n\t\t\tconst { layout = null } = attributes;\n\t\t\tif ( ! layout ) {\n\t\t\t\treturn attributes;\n\t\t\t}\n\t\t\tif ( layout.inherit || layout.contentSize ) {\n\t\t\t\treturn {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\ttype: 'constrained',\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t},\n\t// Version of the block with the double div.\n\t{\n\t\tattributes: {\n\t\t\ttagName: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'div',\n\t\t\t},\n\t\t\ttemplateLock: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tcolor: {\n\t\t\t\tgradients: true,\n\t\t\t\tlink: true,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalBorder: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { tagName: Tag } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<Tag { ...useBlockProps.save() }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t},\n\t},\n\t// Version of the block without global styles support\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst className = classnames( backgroundClass, textClass, {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t// Version of the group block with a bug that made text color class not applied.\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst className = classnames( backgroundClass, {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t// v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`.\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { backgroundColor, customBackgroundColor } = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( backgroundClass, {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/deprecated.js"],"names":["classnames","InnerBlocks","getColorClassName","useBlockProps","useInnerBlocksProps","migrateAttributes","attributes","tagName","customTextColor","customBackgroundColor","style","color","text","background","restAttributes","deprecated","type","default","templateLock","enum","supports","__experimentalOnEnter","__experimentalSettings","align","anchor","ariaLabel","html","gradients","link","__experimentalDefaultControls","spacing","margin","padding","blockGap","__experimentalBorder","radius","width","typography","fontSize","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalLayout","save","Tag","isEligible","layout","inherit","contentSize","migrate","backgroundColor","textColor","backgroundClass","textClass","className","styles","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\n\nconst migrateAttributes = ( attributes ) => {\n\tif ( ! attributes.tagName ) {\n\t\tattributes = {\n\t\t\t...attributes,\n\t\t\ttagName: 'div',\n\t\t};\n\t}\n\n\tif ( ! attributes.customTextColor && ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = { color: {} };\n\tif ( attributes.customTextColor ) {\n\t\tstyle.color.text = attributes.customTextColor;\n\t}\n\tif ( attributes.customBackgroundColor ) {\n\t\tstyle.color.background = attributes.customBackgroundColor;\n\t}\n\n\tconst { customTextColor, customBackgroundColor, ...restAttributes } =\n\t\tattributes;\n\n\treturn {\n\t\t...restAttributes,\n\t\tstyle,\n\t};\n};\n\nconst deprecated = [\n\t// Version with default layout.\n\t{\n\t\tattributes: {\n\t\t\ttagName: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'div',\n\t\t\t},\n\t\t\ttemplateLock: {\n\t\t\t\ttype: [ 'string', 'boolean' ],\n\t\t\t\tenum: [ 'all', 'insert', false ],\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\t__experimentalOnEnter: true,\n\t\t\t__experimentalSettings: true,\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tariaLabel: true,\n\t\t\thtml: false,\n\t\t\tcolor: {\n\t\t\t\tgradients: true,\n\t\t\t\tlink: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tbackground: true,\n\t\t\t\t\ttext: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tmargin: [ 'top', 'bottom' ],\n\t\t\t\tpadding: true,\n\t\t\t\tblockGap: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tpadding: true,\n\t\t\t\t\tblockGap: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t__experimentalBorder: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\tstyle: true,\n\t\t\t\twidth: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tcolor: true,\n\t\t\t\t\tradius: true,\n\t\t\t\t\tstyle: true,\n\t\t\t\t\twidth: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\tlineHeight: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t\t__experimentalLetterSpacing: true,\n\t\t\t\t__experimentalTextTransform: true,\n\t\t\t\t__experimentalDefaultControls: {\n\t\t\t\t\tfontSize: true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t__experimentalLayout: true,\n\t\t},\n\t\tsave( { attributes: { tagName: Tag } } ) {\n\t\t\treturn (\n\t\t\t\t<Tag { ...useInnerBlocksProps.save( useBlockProps.save() ) } />\n\t\t\t);\n\t\t},\n\t\tisEligible: ( { layout } ) =>\n\t\t\t! layout ||\n\t\t\tlayout.inherit ||\n\t\t\t( layout.contentSize && layout.type !== 'constrained' ),\n\t\tmigrate: ( attributes ) => {\n\t\t\tconst { layout = null } = attributes;\n\t\t\tif ( ! layout ) {\n\t\t\t\treturn attributes;\n\t\t\t}\n\t\t\tif ( layout.inherit || layout.contentSize ) {\n\t\t\t\treturn {\n\t\t\t\t\t...attributes,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\ttype: 'constrained',\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t},\n\t},\n\t// Version of the block with the double div.\n\t{\n\t\tattributes: {\n\t\t\ttagName: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'div',\n\t\t\t},\n\t\t\ttemplateLock: {\n\t\t\t\ttype: [ 'string', 'boolean' ],\n\t\t\t\tenum: [ 'all', 'insert', false ],\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tcolor: {\n\t\t\t\tgradients: true,\n\t\t\t\tlink: true,\n\t\t\t},\n\t\t\tspacing: {\n\t\t\t\tpadding: true,\n\t\t\t},\n\t\t\t__experimentalBorder: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst { tagName: Tag } = attributes;\n\n\t\t\treturn (\n\t\t\t\t<Tag { ...useBlockProps.save() }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</Tag>\n\t\t\t);\n\t\t},\n\t},\n\t// Version of the block without global styles support\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst className = classnames( backgroundClass, textClass, {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t// Version of the group block with a bug that made text color class not applied.\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\t\t\tconst className = classnames( backgroundClass, {\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<div className=\"wp-block-group__inner-container\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t// v1 of group block. Deprecated to add an inner-container div around `InnerBlocks.Content`.\n\t{\n\t\tattributes: {\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t},\n\t\tmigrate: migrateAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst { backgroundColor, customBackgroundColor } = attributes;\n\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( backgroundClass, {\n\t\t\t\t'has-background': backgroundColor || customBackgroundColor,\n\t\t\t} );\n\n\t\t\tconst styles = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ styles }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
|
|
@@ -7,6 +7,7 @@ import { useDispatch, useSelect } from '@wordpress/data';
|
|
|
7
7
|
import { InnerBlocks, useBlockProps, InspectorControls, useInnerBlocksProps, useSetting, store as blockEditorStore } from '@wordpress/block-editor';
|
|
8
8
|
import { SelectControl } from '@wordpress/components';
|
|
9
9
|
import { __ } from '@wordpress/i18n';
|
|
10
|
+
import { View } from '@wordpress/primitives';
|
|
10
11
|
/**
|
|
11
12
|
* Internal dependencies
|
|
12
13
|
*/
|
|
@@ -108,7 +109,7 @@ function GroupEdit(_ref2) {
|
|
|
108
109
|
const {
|
|
109
110
|
type = 'default'
|
|
110
111
|
} = usedLayout;
|
|
111
|
-
const layoutSupportEnabled = themeSupportsLayout || type === 'flex'; // Hooks.
|
|
112
|
+
const layoutSupportEnabled = themeSupportsLayout || type === 'flex' || type === 'grid'; // Hooks.
|
|
112
113
|
|
|
113
114
|
const blockProps = useBlockProps({
|
|
114
115
|
className: !layoutSupportEnabled ? layoutClassNames : null
|
|
@@ -117,12 +118,27 @@ function GroupEdit(_ref2) {
|
|
|
117
118
|
attributes,
|
|
118
119
|
usedLayoutType: usedLayout === null || usedLayout === void 0 ? void 0 : usedLayout.type,
|
|
119
120
|
hasInnerBlocks
|
|
120
|
-
});
|
|
121
|
+
}); // Default to the regular appender being rendered.
|
|
122
|
+
|
|
123
|
+
let renderAppender;
|
|
124
|
+
|
|
125
|
+
if (showPlaceholder) {
|
|
126
|
+
// In the placeholder state, ensure the appender is not rendered.
|
|
127
|
+
// This is needed because `...innerBlocksProps` is used in the placeholder
|
|
128
|
+
// state so that blocks can dragged onto the placeholder area
|
|
129
|
+
// from both the list view and in the editor canvas.
|
|
130
|
+
renderAppender = false;
|
|
131
|
+
} else if (!hasInnerBlocks) {
|
|
132
|
+
// When there is no placeholder, but the block is also empty,
|
|
133
|
+
// use the larger button appender.
|
|
134
|
+
renderAppender = InnerBlocks.ButtonBlockAppender;
|
|
135
|
+
}
|
|
136
|
+
|
|
121
137
|
const innerBlocksProps = useInnerBlocksProps(layoutSupportEnabled ? blockProps : {
|
|
122
138
|
className: 'wp-block-group__inner-container'
|
|
123
139
|
}, {
|
|
124
140
|
templateLock,
|
|
125
|
-
renderAppender
|
|
141
|
+
renderAppender,
|
|
126
142
|
__unstableDisableLayoutClassNames: !layoutSupportEnabled
|
|
127
143
|
});
|
|
128
144
|
const {
|
|
@@ -140,11 +156,11 @@ function GroupEdit(_ref2) {
|
|
|
140
156
|
onSelectTagName: value => setAttributes({
|
|
141
157
|
tagName: value
|
|
142
158
|
})
|
|
143
|
-
}), showPlaceholder && createElement(GroupPlaceHolder, {
|
|
159
|
+
}), showPlaceholder && createElement(View, innerBlocksProps, innerBlocksProps.children, createElement(GroupPlaceHolder, {
|
|
144
160
|
clientId: clientId,
|
|
145
161
|
name: name,
|
|
146
162
|
onSelect: selectVariation
|
|
147
|
-
}), layoutSupportEnabled && !showPlaceholder && createElement(TagName, innerBlocksProps), !layoutSupportEnabled && !showPlaceholder && createElement(TagName, blockProps, createElement("div", innerBlocksProps)));
|
|
163
|
+
})), layoutSupportEnabled && !showPlaceholder && createElement(TagName, innerBlocksProps), !layoutSupportEnabled && !showPlaceholder && createElement(TagName, blockProps, createElement("div", innerBlocksProps)));
|
|
148
164
|
}
|
|
149
165
|
|
|
150
166
|
export default GroupEdit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["useDispatch","useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","GroupPlaceHolder","useShouldShowPlaceHolder","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","main","section","article","aside","footer","label","value","GroupEdit","attributes","name","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","TagName","templateLock","layout","defaultLayout","usedLayout","type","layoutSupportEnabled","blockProps","className","showPlaceholder","setShowPlaceholder","usedLayoutType","innerBlocksProps","renderAppender","undefined","ButtonBlockAppender","__unstableDisableLayoutClassNames","selectBlock","selectVariation","nextVariation"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( {\n\tattributes,\n\tname,\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\n\t// Layout settings.\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type === 'flex';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps( {\n\t\tclassName: ! layoutSupportEnabled ? layoutClassNames : null,\n\t} );\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: usedLayout?.type,\n\t\thasInnerBlocks,\n\t} );\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\trenderAppender: hasInnerBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t\t__unstableDisableLayoutClassNames: ! layoutSupportEnabled,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tselectBlock( clientId, -1 );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tname={ name }\n\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["useDispatch","useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","View","GroupPlaceHolder","useShouldShowPlaceHolder","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","main","section","article","aside","footer","label","value","GroupEdit","attributes","name","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","TagName","templateLock","layout","defaultLayout","usedLayout","type","layoutSupportEnabled","blockProps","className","showPlaceholder","setShowPlaceholder","usedLayoutType","renderAppender","ButtonBlockAppender","innerBlocksProps","__unstableDisableLayoutClassNames","selectBlock","selectVariation","nextVariation","children"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( {\n\tattributes,\n\tname,\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\n\t// Layout settings.\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled =\n\t\tthemeSupportsLayout || type === 'flex' || type === 'grid';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps( {\n\t\tclassName: ! layoutSupportEnabled ? layoutClassNames : null,\n\t} );\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: usedLayout?.type,\n\t\thasInnerBlocks,\n\t} );\n\n\t// Default to the regular appender being rendered.\n\tlet renderAppender;\n\tif ( showPlaceholder ) {\n\t\t// In the placeholder state, ensure the appender is not rendered.\n\t\t// This is needed because `...innerBlocksProps` is used in the placeholder\n\t\t// state so that blocks can dragged onto the placeholder area\n\t\t// from both the list view and in the editor canvas.\n\t\trenderAppender = false;\n\t} else if ( ! hasInnerBlocks ) {\n\t\t// When there is no placeholder, but the block is also empty,\n\t\t// use the larger button appender.\n\t\trenderAppender = InnerBlocks.ButtonBlockAppender;\n\t}\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\trenderAppender,\n\t\t\t__unstableDisableLayoutClassNames: ! layoutSupportEnabled,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tselectBlock( clientId, -1 );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"]}
|
|
@@ -43,6 +43,16 @@ const getGroupPlaceholderIcons = function () {
|
|
|
43
43
|
viewBox: "0 0 44 32"
|
|
44
44
|
}, createElement(Path, {
|
|
45
45
|
d: "M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z"
|
|
46
|
+
})),
|
|
47
|
+
'group-grid': createElement(SVG, {
|
|
48
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
49
|
+
width: "44",
|
|
50
|
+
height: "32",
|
|
51
|
+
viewBox: "0 0 44 32"
|
|
52
|
+
}, createElement(Path, {
|
|
53
|
+
d: "m20.30137,-0.00025l-18.9728,0c-0.86524,0.07234 -1.41711,0.79149 -1.41711,1.89149l0,12.64468c0,0.6 0.73401,0.96383 1.0304,0.96383l19.67469,0.03617c0.29639,0 1.0304,-0.4 1.0304,-1l-0.03576,-12.7532c0,-1.1 -0.76644,-1.78297 -1.30983,-1.78297zm0.52975,16.60851l-19.99654,-0.03617c-0.29639,0 -0.92312,0.36383 -0.92312,0.96383l-0.03576,12.68085c0,1.1 0.8022,1.81915 1.34559,1.81915l19.00857,0c0.54339,0 1.45287,-0.71915 1.45287,-1.81915l0,-12.53617c0,-0.6 -0.5552,-1.07234 -0.8516,-1.07234z"
|
|
54
|
+
}), createElement(Path, {
|
|
55
|
+
d: "m42.73056,-0.03617l-18.59217,0c-0.84788,0.07234 -1.38868,0.79149 -1.38868,1.89149l0,12.64468c0,0.6 0.71928,0.96383 1.00973,0.96383l19.27997,0.03617c0.29045,0 1.00973,-0.4 1.00973,-1l-0.03504,-12.7532c0,-1.1 -0.75106,-1.78297 -1.28355,-1.78297zm0.51912,16.60851l-19.59537,-0.03617c-0.29045,0 -0.9046,0.36383 -0.9046,0.96383l-0.03504,12.68085c0,1.1 0.78611,1.81915 1.31859,1.81915l18.62721,0c0.53249,0 1.42372,-0.71915 1.42372,-1.81915l0,-12.53617c0,-0.6 -0.54407,-1.07234 -0.83451,-1.07234z"
|
|
46
56
|
}))
|
|
47
57
|
};
|
|
48
58
|
return icons === null || icons === void 0 ? void 0 : icons[name];
|
|
@@ -84,7 +94,7 @@ export function useShouldShowPlaceHolder(_ref) {
|
|
|
84
94
|
* condition.
|
|
85
95
|
*/
|
|
86
96
|
|
|
87
|
-
const [showPlaceholder, setShowPlaceholder] = useState(!hasInnerBlocks && !backgroundColor && !fontSize && !textColor && !style && usedLayoutType !== 'flex');
|
|
97
|
+
const [showPlaceholder, setShowPlaceholder] = useState(!hasInnerBlocks && !backgroundColor && !fontSize && !textColor && !style && usedLayoutType !== 'flex' && usedLayoutType !== 'grid');
|
|
88
98
|
useEffect(() => {
|
|
89
99
|
if (!!hasInnerBlocks || !!backgroundColor || !!fontSize || !!textColor || !!style || usedLayoutType === 'flex') {
|
|
90
100
|
setShowPlaceholder(false);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/placeholder.js"],"names":["useSelect","useBlockProps","__","store","blocksStore","Path","SVG","Button","Placeholder","useState","useEffect","getGroupPlaceholderIcons","name","icons","group","useShouldShowPlaceHolder","attributes","style","undefined","backgroundColor","textColor","fontSize","usedLayoutType","hasInnerBlocks","showPlaceholder","setShowPlaceholder","GroupPlaceHolder","onSelect","variations","select","getBlockVariations","blockProps","className","map","variation","title","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Path, SVG, Button, Placeholder } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Returns a custom variation icon.\n *\n * @param {string} name The block variation name.\n *\n * @return {JSX.Element} The SVG element.\n */\nconst getGroupPlaceholderIcons = ( name = 'group' ) => {\n\tconst icons = {\n\t\tgroup: (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-row': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-stack': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t};\n\treturn icons?.[ name ];\n};\n\n/**\n * A custom hook to tell the Group block whether to show the variation placeholder.\n *\n * @param {Object} props Arguments to pass to hook.\n * @param {Object} [props.attributes] The block's attributes.\n * @param {string} [props.usedLayoutType] The block's current layout type.\n * @param {boolean} [props.hasInnerBlocks] Whether the block has inner blocks.\n *\n * @return {[boolean, Function]} A state value and setter function.\n */\nexport function useShouldShowPlaceHolder( {\n\tattributes = {\n\t\tstyle: undefined,\n\t\tbackgroundColor: undefined,\n\t\ttextColor: undefined,\n\t\tfontSize: undefined,\n\t},\n\tusedLayoutType = '',\n\thasInnerBlocks = false,\n} ) {\n\tconst { style, backgroundColor, textColor, fontSize } = attributes;\n\t/*\n\t * Shows the placeholder when no known styles are set,\n\t * or when a non-default layout has been selected.\n\t * Should the Group block support more style presets in the\n\t * future, e.g., attributes.spacingSize, we can add them to the\n\t * condition.\n\t */\n\tconst [ showPlaceholder, setShowPlaceholder ] = useState(\n\t\t! hasInnerBlocks &&\n\t\t\t! backgroundColor &&\n\t\t\t! fontSize &&\n\t\t\t! textColor &&\n\t\t\t! style &&\n\t\t\tusedLayoutType !== 'flex'\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t!! hasInnerBlocks ||\n\t\t\t!! backgroundColor ||\n\t\t\t!! fontSize ||\n\t\t\t!! textColor ||\n\t\t\t!! style ||\n\t\t\tusedLayoutType === 'flex'\n\t\t) {\n\t\t\tsetShowPlaceholder( false );\n\t\t}\n\t}, [\n\t\tbackgroundColor,\n\t\tfontSize,\n\t\ttextColor,\n\t\tstyle,\n\t\tusedLayoutType,\n\t\thasInnerBlocks,\n\t] );\n\n\treturn [ showPlaceholder, setShowPlaceholder ];\n}\n\n/**\n * Display group variations if none is selected.\n *\n * @param {Object} props Component props.\n * @param {string} props.name The block's name.\n * @param {Function} props.onSelect Function to set block's attributes.\n *\n * @return {JSX.Element} The placeholder.\n */\nfunction GroupPlaceHolder( { name, onSelect } ) {\n\tconst variations = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockVariations( name, 'block' ),\n\t\t[ name ]\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-group__placeholder',\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\tinstructions={ __( 'Group blocks together. Select a layout:' ) }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Taken from BlockVariationPicker component.\n\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<ul\n\t\t\t\t\trole=\"list\"\n\t\t\t\t\tclassName=\"wp-block-group-placeholder__variations\"\n\t\t\t\t\taria-label={ __( 'Block variations' ) }\n\t\t\t\t>\n\t\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t\t<li key={ variation.name }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\ticon={ getGroupPlaceholderIcons(\n\t\t\t\t\t\t\t\t\tvariation.name\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticonSize={ 44 }\n\t\t\t\t\t\t\t\tonClick={ () => onSelect( variation ) }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-group-placeholder__variation-button\"\n\t\t\t\t\t\t\t\tlabel={ `${ variation.title }: ${ variation.description }` }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t</ul>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nexport default GroupPlaceHolder;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/placeholder.js"],"names":["useSelect","useBlockProps","__","store","blocksStore","Path","SVG","Button","Placeholder","useState","useEffect","getGroupPlaceholderIcons","name","icons","group","useShouldShowPlaceHolder","attributes","style","undefined","backgroundColor","textColor","fontSize","usedLayoutType","hasInnerBlocks","showPlaceholder","setShowPlaceholder","GroupPlaceHolder","onSelect","variations","select","getBlockVariations","blockProps","className","map","variation","title","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Path, SVG, Button, Placeholder } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Returns a custom variation icon.\n *\n * @param {string} name The block variation name.\n *\n * @return {JSX.Element} The SVG element.\n */\nconst getGroupPlaceholderIcons = ( name = 'group' ) => {\n\tconst icons = {\n\t\tgroup: (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-row': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-stack': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-grid': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"m20.30137,-0.00025l-18.9728,0c-0.86524,0.07234 -1.41711,0.79149 -1.41711,1.89149l0,12.64468c0,0.6 0.73401,0.96383 1.0304,0.96383l19.67469,0.03617c0.29639,0 1.0304,-0.4 1.0304,-1l-0.03576,-12.7532c0,-1.1 -0.76644,-1.78297 -1.30983,-1.78297zm0.52975,16.60851l-19.99654,-0.03617c-0.29639,0 -0.92312,0.36383 -0.92312,0.96383l-0.03576,12.68085c0,1.1 0.8022,1.81915 1.34559,1.81915l19.00857,0c0.54339,0 1.45287,-0.71915 1.45287,-1.81915l0,-12.53617c0,-0.6 -0.5552,-1.07234 -0.8516,-1.07234z\" />\n\t\t\t\t<Path d=\"m42.73056,-0.03617l-18.59217,0c-0.84788,0.07234 -1.38868,0.79149 -1.38868,1.89149l0,12.64468c0,0.6 0.71928,0.96383 1.00973,0.96383l19.27997,0.03617c0.29045,0 1.00973,-0.4 1.00973,-1l-0.03504,-12.7532c0,-1.1 -0.75106,-1.78297 -1.28355,-1.78297zm0.51912,16.60851l-19.59537,-0.03617c-0.29045,0 -0.9046,0.36383 -0.9046,0.96383l-0.03504,12.68085c0,1.1 0.78611,1.81915 1.31859,1.81915l18.62721,0c0.53249,0 1.42372,-0.71915 1.42372,-1.81915l0,-12.53617c0,-0.6 -0.54407,-1.07234 -0.83451,-1.07234z\" />\n\t\t\t</SVG>\n\t\t),\n\t};\n\treturn icons?.[ name ];\n};\n\n/**\n * A custom hook to tell the Group block whether to show the variation placeholder.\n *\n * @param {Object} props Arguments to pass to hook.\n * @param {Object} [props.attributes] The block's attributes.\n * @param {string} [props.usedLayoutType] The block's current layout type.\n * @param {boolean} [props.hasInnerBlocks] Whether the block has inner blocks.\n *\n * @return {[boolean, Function]} A state value and setter function.\n */\nexport function useShouldShowPlaceHolder( {\n\tattributes = {\n\t\tstyle: undefined,\n\t\tbackgroundColor: undefined,\n\t\ttextColor: undefined,\n\t\tfontSize: undefined,\n\t},\n\tusedLayoutType = '',\n\thasInnerBlocks = false,\n} ) {\n\tconst { style, backgroundColor, textColor, fontSize } = attributes;\n\t/*\n\t * Shows the placeholder when no known styles are set,\n\t * or when a non-default layout has been selected.\n\t * Should the Group block support more style presets in the\n\t * future, e.g., attributes.spacingSize, we can add them to the\n\t * condition.\n\t */\n\tconst [ showPlaceholder, setShowPlaceholder ] = useState(\n\t\t! hasInnerBlocks &&\n\t\t\t! backgroundColor &&\n\t\t\t! fontSize &&\n\t\t\t! textColor &&\n\t\t\t! style &&\n\t\t\tusedLayoutType !== 'flex' &&\n\t\t\tusedLayoutType !== 'grid'\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t!! hasInnerBlocks ||\n\t\t\t!! backgroundColor ||\n\t\t\t!! fontSize ||\n\t\t\t!! textColor ||\n\t\t\t!! style ||\n\t\t\tusedLayoutType === 'flex'\n\t\t) {\n\t\t\tsetShowPlaceholder( false );\n\t\t}\n\t}, [\n\t\tbackgroundColor,\n\t\tfontSize,\n\t\ttextColor,\n\t\tstyle,\n\t\tusedLayoutType,\n\t\thasInnerBlocks,\n\t] );\n\n\treturn [ showPlaceholder, setShowPlaceholder ];\n}\n\n/**\n * Display group variations if none is selected.\n *\n * @param {Object} props Component props.\n * @param {string} props.name The block's name.\n * @param {Function} props.onSelect Function to set block's attributes.\n *\n * @return {JSX.Element} The placeholder.\n */\nfunction GroupPlaceHolder( { name, onSelect } ) {\n\tconst variations = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockVariations( name, 'block' ),\n\t\t[ name ]\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-group__placeholder',\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\tinstructions={ __( 'Group blocks together. Select a layout:' ) }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Taken from BlockVariationPicker component.\n\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<ul\n\t\t\t\t\trole=\"list\"\n\t\t\t\t\tclassName=\"wp-block-group-placeholder__variations\"\n\t\t\t\t\taria-label={ __( 'Block variations' ) }\n\t\t\t\t>\n\t\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t\t<li key={ variation.name }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\ticon={ getGroupPlaceholderIcons(\n\t\t\t\t\t\t\t\t\tvariation.name\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticonSize={ 44 }\n\t\t\t\t\t\t\t\tonClick={ () => onSelect( variation ) }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-group-placeholder__variation-button\"\n\t\t\t\t\t\t\t\tlabel={ `${ variation.title }: ${ variation.description }` }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t) ) }\n\t\t\t\t</ul>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nexport default GroupPlaceHolder;\n"]}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
var _window;
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
4
|
* WordPress dependencies
|
|
3
5
|
*/
|
|
4
6
|
import { __, _x } from '@wordpress/i18n';
|
|
5
|
-
import { group, row, stack } from '@wordpress/icons';
|
|
7
|
+
import { group, row, stack, grid } from '@wordpress/icons';
|
|
6
8
|
const variations = [{
|
|
7
9
|
name: 'group',
|
|
8
10
|
title: __('Group'),
|
|
@@ -55,5 +57,26 @@ const variations = [{
|
|
|
55
57
|
},
|
|
56
58
|
icon: stack
|
|
57
59
|
}];
|
|
60
|
+
|
|
61
|
+
if ((_window = window) !== null && _window !== void 0 && _window.__experimentalEnableGroupGridVariation) {
|
|
62
|
+
variations.push({
|
|
63
|
+
name: 'group-grid',
|
|
64
|
+
title: __('Grid'),
|
|
65
|
+
description: __('Arrange blocks in a grid.'),
|
|
66
|
+
attributes: {
|
|
67
|
+
layout: {
|
|
68
|
+
type: 'grid'
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
scope: ['block', 'inserter', 'transform'],
|
|
72
|
+
isActive: blockAttributes => {
|
|
73
|
+
var _blockAttributes$layo9;
|
|
74
|
+
|
|
75
|
+
return ((_blockAttributes$layo9 = blockAttributes.layout) === null || _blockAttributes$layo9 === void 0 ? void 0 : _blockAttributes$layo9.type) === 'grid';
|
|
76
|
+
},
|
|
77
|
+
icon: grid
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
|
|
58
81
|
export default variations;
|
|
59
82
|
//# sourceMappingURL=variations.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","_x","group","row","stack","variations","name","title","description","attributes","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,KAAT,EAAgBC,GAAhB,EAAqBC,KAArB,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","_x","group","row","stack","grid","variations","name","title","description","attributes","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation","window","__experimentalEnableGroupGridVariation","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { group, row, stack, grid } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a container.' ),\n\t\tattributes: { layout: { type: 'constrained' } },\n\t\tisDefault: true,\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default' ||\n\t\t\tblockAttributes.layout?.type === 'constrained',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: _x( 'Row', 'single horizontal line' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t},\n];\n\nif ( window?.__experimentalEnableGroupGridVariation ) {\n\tvariations.push( {\n\t\tname: 'group-grid',\n\t\ttitle: __( 'Grid' ),\n\t\tdescription: __( 'Arrange blocks in a grid.' ),\n\t\tattributes: { layout: { type: 'grid' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'grid',\n\t\ticon: grid,\n\t} );\n}\n\nexport default variations;\n"]}
|