@wordpress/block-library 9.2.0 → 9.3.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/audio/edit.js +20 -8
- package/build/audio/edit.js.map +1 -1
- package/build/audio/index.js +4 -0
- package/build/audio/index.js.map +1 -1
- package/build/audio/transforms.js +1 -1
- package/build/audio/transforms.js.map +1 -1
- package/build/block/edit.js +0 -1
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +5 -1
- package/build/block/index.js.map +1 -1
- package/build/embed/embed-preview.js +4 -4
- package/build/embed/embed-preview.js.map +1 -1
- package/build/file/edit.js +14 -6
- package/build/file/edit.js.map +1 -1
- package/build/file/index.js +4 -0
- package/build/file/index.js.map +1 -1
- package/build/file/transforms.js +2 -3
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +6 -54
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +9 -8
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/index.js +2 -2
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/save.js +0 -11
- package/build/gallery/save.js.map +1 -1
- package/build/gallery/shared.js +0 -27
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +29 -80
- package/build/gallery/transforms.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +5 -0
- package/build/group/placeholder.js.map +1 -1
- package/build/image/edit.js +13 -21
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +30 -17
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +4 -0
- package/build/image/index.js.map +1 -1
- package/build/image/transforms.js +1 -1
- package/build/image/transforms.js.map +1 -1
- package/build/list-item/edit.js +1 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +8 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/index.js +11 -1
- package/build/list-item/index.js.map +1 -1
- package/build/loginout/index.js +3 -0
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/edit.js +3 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -1
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +1 -1
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/edit.js +1 -1
- package/build/page-list/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/edit.js +3 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-excerpt/index.js +3 -0
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-title/index.js +3 -0
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-toolbar.js +54 -61
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query/index.js +34 -0
- package/build/query/index.js.map +1 -1
- package/build/social-link/edit.js +27 -7
- package/build/social-link/edit.js.map +1 -1
- package/build/table/edit.js +8 -17
- package/build/table/edit.js.map +1 -1
- package/build/template-part/edit/title-modal.js +1 -1
- package/build/template-part/edit/title-modal.js.map +1 -1
- package/build/utils/hooks.js +12 -0
- package/build/utils/hooks.js.map +1 -1
- package/build/video/deprecated.js +4 -0
- package/build/video/deprecated.js.map +1 -1
- package/build/video/edit.js +17 -7
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +4 -0
- package/build/video/index.js.map +1 -1
- package/build/video/transforms.js +1 -1
- package/build/video/transforms.js.map +1 -1
- package/build-module/audio/edit.js +20 -8
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/index.js +4 -0
- package/build-module/audio/index.js.map +1 -1
- package/build-module/audio/transforms.js +1 -1
- package/build-module/audio/transforms.js.map +1 -1
- package/build-module/block/edit.js +0 -1
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +5 -1
- package/build-module/block/index.js.map +1 -1
- package/build-module/embed/embed-preview.js +4 -4
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/file/edit.js +15 -7
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/index.js +4 -0
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/transforms.js +2 -3
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +6 -54
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +10 -9
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/index.js +1 -1
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/save.js +0 -11
- package/build-module/gallery/save.js.map +1 -1
- package/build-module/gallery/shared.js +0 -25
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +29 -80
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +5 -0
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/image/edit.js +12 -20
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +25 -12
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +4 -0
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/transforms.js +1 -1
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +1 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +8 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/index.js +11 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/loginout/index.js +3 -0
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/edit.js +3 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -1
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +1 -1
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/edit.js +1 -1
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/edit.js +4 -2
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +3 -0
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-title/index.js +3 -0
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +3 -2
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +55 -62
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/query/index.js +34 -0
- package/build-module/query/index.js.map +1 -1
- package/build-module/social-link/edit.js +28 -8
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/table/edit.js +9 -18
- package/build-module/table/edit.js.map +1 -1
- package/build-module/template-part/edit/title-modal.js +1 -1
- package/build-module/template-part/edit/title-modal.js.map +1 -1
- package/build-module/utils/hooks.js +11 -0
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/deprecated.js +4 -0
- package/build-module/video/deprecated.js.map +1 -1
- package/build-module/video/edit.js +18 -8
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +4 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/transforms.js +1 -1
- package/build-module/video/transforms.js.map +1 -1
- package/build-style/editor-rtl.css +3 -0
- package/build-style/editor.css +3 -0
- package/build-style/post-comments-form/style-rtl.css +11 -10
- package/build-style/post-comments-form/style.css +11 -10
- package/build-style/query/editor-rtl.css +3 -0
- package/build-style/query/editor.css +3 -0
- package/build-style/social-links/style-rtl.css +91 -91
- package/build-style/social-links/style.css +91 -91
- package/build-style/style-rtl.css +102 -101
- package/build-style/style.css +102 -101
- package/package.json +35 -35
- package/src/audio/block.json +4 -0
- package/src/audio/edit.js +19 -7
- package/src/audio/transforms.js +1 -1
- package/src/block/block.json +5 -1
- package/src/block/edit.js +0 -1
- package/src/button/index.php +14 -1
- package/src/embed/embed-preview.js +4 -6
- package/src/file/block.json +4 -0
- package/src/file/edit.js +19 -6
- package/src/file/transforms.js +1 -2
- package/src/gallery/deprecated.js +6 -55
- package/src/gallery/edit.js +13 -10
- package/src/gallery/gallery-styles.native.scss +0 -2
- package/src/gallery/index.js +1 -1
- package/src/gallery/save.js +0 -10
- package/src/gallery/shared.js +0 -28
- package/src/gallery/transforms.js +56 -99
- package/src/group/block.json +1 -0
- package/src/group/placeholder.js +7 -0
- package/src/image/block.json +4 -0
- package/src/image/edit.js +10 -19
- package/src/image/image.js +36 -14
- package/src/image/index.php +26 -5
- package/src/image/transforms.js +1 -1
- package/src/list-item/block.json +11 -1
- package/src/list-item/edit.js +1 -1
- package/src/list-item/hooks/use-merge.js +19 -5
- package/src/loginout/block.json +3 -0
- package/src/media-text/edit.js +3 -2
- package/src/navigation-submenu/edit.js +1 -1
- package/src/page-list/convert-to-links-modal.js +1 -1
- package/src/page-list/edit.js +1 -1
- package/src/post-comments-form/style.scss +15 -12
- package/src/post-content/block.json +3 -0
- package/src/post-date/edit.js +5 -1
- package/src/post-date/index.php +8 -2
- package/src/post-excerpt/block.json +3 -0
- package/src/post-title/block.json +3 -0
- package/src/query/edit/inspector-controls/index.js +3 -2
- package/src/query/edit/query-toolbar.js +60 -72
- package/src/query/editor.scss +4 -0
- package/src/query/index.js +40 -0
- package/src/social-link/edit.js +29 -3
- package/src/social-links/style.scss +2 -2
- package/src/table/edit.js +11 -24
- package/src/template-part/edit/title-modal.js +1 -1
- package/src/utils/hooks.js +14 -1
- package/src/video/block.json +4 -0
- package/src/video/edit.js +23 -8
- package/src/video/transforms.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
- package/build/gallery/edit-wrapper.js +0 -37
- package/build/gallery/edit-wrapper.js.map +0 -1
- package/build/gallery/v1/constants.js +0 -10
- package/build/gallery/v1/constants.js.map +0 -1
- package/build/gallery/v1/edit.js +0 -399
- package/build/gallery/v1/edit.js.map +0 -1
- package/build/gallery/v1/gallery-button.native.js +0 -55
- package/build/gallery/v1/gallery-button.native.js.map +0 -1
- package/build/gallery/v1/gallery-image.js +0 -285
- package/build/gallery/v1/gallery-image.js.map +0 -1
- package/build/gallery/v1/gallery-image.native.js +0 -297
- package/build/gallery/v1/gallery-image.native.js.map +0 -1
- package/build/gallery/v1/gallery.js +0 -112
- package/build/gallery/v1/gallery.js.map +0 -1
- package/build/gallery/v1/gallery.native.js +0 -139
- package/build/gallery/v1/gallery.native.js.map +0 -1
- package/build/gallery/v1/save.js +0 -81
- package/build/gallery/v1/save.js.map +0 -1
- package/build/gallery/v1/shared.js +0 -17
- package/build/gallery/v1/shared.js.map +0 -1
- package/build/gallery/v1/tiles.native.js +0 -83
- package/build/gallery/v1/tiles.native.js.map +0 -1
- package/build/utils/constants.js +0 -15
- package/build/utils/constants.js.map +0 -1
- package/build-module/gallery/edit-wrapper.js +0 -31
- package/build-module/gallery/edit-wrapper.js.map +0 -1
- package/build-module/gallery/v1/constants.js +0 -4
- package/build-module/gallery/v1/constants.js.map +0 -1
- package/build-module/gallery/v1/edit.js +0 -393
- package/build-module/gallery/v1/edit.js.map +0 -1
- package/build-module/gallery/v1/gallery-button.native.js +0 -46
- package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
- package/build-module/gallery/v1/gallery-image.js +0 -279
- package/build-module/gallery/v1/gallery-image.js.map +0 -1
- package/build-module/gallery/v1/gallery-image.native.js +0 -291
- package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
- package/build-module/gallery/v1/gallery.js +0 -104
- package/build-module/gallery/v1/gallery.js.map +0 -1
- package/build-module/gallery/v1/gallery.native.js +0 -131
- package/build-module/gallery/v1/gallery.native.js.map +0 -1
- package/build-module/gallery/v1/save.js +0 -74
- package/build-module/gallery/v1/save.js.map +0 -1
- package/build-module/gallery/v1/shared.js +0 -10
- package/build-module/gallery/v1/shared.js.map +0 -1
- package/build-module/gallery/v1/tiles.native.js +0 -75
- package/build-module/gallery/v1/tiles.native.js.map +0 -1
- package/build-module/utils/constants.js +0 -9
- package/build-module/utils/constants.js.map +0 -1
- package/src/gallery/edit-wrapper.js +0 -27
- package/src/gallery/v1/constants.js +0 -3
- package/src/gallery/v1/edit.js +0 -450
- package/src/gallery/v1/gallery-button.native.js +0 -47
- package/src/gallery/v1/gallery-image-style.native.scss +0 -109
- package/src/gallery/v1/gallery-image.js +0 -293
- package/src/gallery/v1/gallery-image.native.js +0 -348
- package/src/gallery/v1/gallery-styles.native.scss +0 -8
- package/src/gallery/v1/gallery.js +0 -125
- package/src/gallery/v1/gallery.native.js +0 -162
- package/src/gallery/v1/save.js +0 -98
- package/src/gallery/v1/shared.js +0 -19
- package/src/gallery/v1/tiles-styles.native.scss +0 -11
- package/src/gallery/v1/tiles.native.js +0 -79
- package/src/utils/constants.js +0 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","children","hasLinkTo","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","isWeb","VisualLabel","group","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className=\"gallery-image-sizes\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className=\"gallery-image-sizes__loading\">\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","compose","BaseControl","PanelBody","SelectControl","ToggleControl","RangeControl","Spinner","withNotices","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","useInnerBlocksProps","BlockControls","MediaReplaceFlow","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useGetNewImages","useGetMedia","GapStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","createSuccessNotice","createErrorNotice","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","caption","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","blob","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","handleUpload","icon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","children","hasLinkTo","__nextHasNoMarginBottom","onChange","min","max","Math","required","__next40pxDefaultSize","help","options","hideCancelButton","checked","isWeb","VisualLabel","group","mediaIds","blockGap","style","spacing","isNarrow"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && blockWasJustInserted,\n\t\t\tonFocus,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\tdirectInsert: true,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images to fit' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Randomize order' ) }\n\t\t\t\t\t\tchecked={ !! randomOrder }\n\t\t\t\t\t\tonChange={ toggleRandomOrder }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open images in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className=\"gallery-image-sizes\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className=\"gallery-image-sizes__loading\">\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -8,7 +8,7 @@ import { gallery as icon } from '@wordpress/icons';
|
|
|
8
8
|
*/
|
|
9
9
|
import initBlock from '../utils/init-block';
|
|
10
10
|
import deprecated from './deprecated';
|
|
11
|
-
import edit from './edit
|
|
11
|
+
import edit from './edit';
|
|
12
12
|
const metadata = {
|
|
13
13
|
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
14
14
|
apiVersion: 3,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["gallery","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","images","type","source","selector","query","url","attribute","fullUrl","link","alt","id","caption","ids","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","randomOrder","fixedHeight","linkTarget","linkTo","sizeSlug","allowResize","providesContext","supports","anchor","align","html","units","spacing","margin","padding","blockGap","__experimentalSkipSerialization","__experimentalDefaultControls","color","text","background","gradients","layout","allowSwitching","allowInheriting","allowEditing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","innerBlocks","init"],"sources":["@wordpress/block-library/src/gallery/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit
|
|
1
|
+
{"version":3,"names":["gallery","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","allowedBlocks","description","keywords","textdomain","attributes","images","type","source","selector","query","url","attribute","fullUrl","link","alt","id","caption","ids","items","shortCodeTransforms","columns","minimum","maximum","imageCrop","randomOrder","fixedHeight","linkTarget","linkTo","sizeSlug","allowResize","providesContext","supports","anchor","align","html","units","spacing","margin","padding","blockGap","__experimentalSkipSerialization","__experimentalDefaultControls","color","text","background","gradients","layout","allowSwitching","allowInheriting","allowEditing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","innerBlocks","init"],"sources":["@wordpress/block-library/src/gallery/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { gallery as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcolumns: 2,\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Glacial_lakes%2C_Bhutan.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/image',\n\t\t\t\tattributes: {\n\t\t\t\t\turl: 'https://s.w.org/images/core/5.3/Sediment_off_the_Yucatan_Peninsula.jpg',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,22 +7,11 @@ import clsx from 'clsx';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import { RichText, useBlockProps, useInnerBlocksProps, __experimentalGetElementClassName } from '@wordpress/block-editor';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
import saveWithoutInnerBlocks from './v1/save';
|
|
15
|
-
import { isGalleryV2Enabled } from './shared';
|
|
16
10
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
11
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
18
12
|
export default function saveWithInnerBlocks({
|
|
19
13
|
attributes
|
|
20
14
|
}) {
|
|
21
|
-
if (!isGalleryV2Enabled()) {
|
|
22
|
-
return saveWithoutInnerBlocks({
|
|
23
|
-
attributes
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
15
|
const {
|
|
27
16
|
caption,
|
|
28
17
|
columns,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","RichText","useBlockProps","useInnerBlocksProps","__experimentalGetElementClassName","
|
|
1
|
+
{"version":3,"names":["clsx","RichText","useBlockProps","useInnerBlocksProps","__experimentalGetElementClassName","jsx","_jsx","jsxs","_jsxs","saveWithInnerBlocks","attributes","caption","columns","imageCrop","className","undefined","blockProps","save","innerBlocksProps","children","isEmpty","Content","tagName","value"],"sources":["@wordpress/block-library/src/gallery/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function saveWithInnerBlocks( { attributes } ) {\n\tconst { caption, columns, imageCrop } = attributes;\n\n\tconst className = clsx( 'has-nested-images', {\n\t\t[ `columns-${ columns }` ]: columns !== undefined,\n\t\t[ `columns-default` ]: columns === undefined,\n\t\t'is-cropped': imageCrop,\n\t} );\n\tconst blockProps = useBlockProps.save( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps.save( blockProps );\n\n\treturn (\n\t\t<figure { ...innerBlocksProps }>\n\t\t\t{ innerBlocksProps.children }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SACCC,QAAQ,EACRC,aAAa,EACbC,mBAAmB,EACnBC,iCAAiC,QAC3B,yBAAyB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEjC,eAAe,SAASC,mBAAmBA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC7D,MAAM;IAAEC,OAAO;IAAEC,OAAO;IAAEC;EAAU,CAAC,GAAGH,UAAU;EAElD,MAAMI,SAAS,GAAGd,IAAI,CAAE,mBAAmB,EAAE;IAC5C,CAAG,WAAWY,OAAS,EAAC,GAAIA,OAAO,KAAKG,SAAS;IACjD,CAAG,iBAAgB,GAAIH,OAAO,KAAKG,SAAS;IAC5C,YAAY,EAAEF;EACf,CAAE,CAAC;EACH,MAAMG,UAAU,GAAGd,aAAa,CAACe,IAAI,CAAE;IAAEH;EAAU,CAAE,CAAC;EACtD,MAAMI,gBAAgB,GAAGf,mBAAmB,CAACc,IAAI,CAAED,UAAW,CAAC;EAE/D,oBACCR,KAAA;IAAA,GAAaU,gBAAgB;IAAAC,QAAA,GAC1BD,gBAAgB,CAACC,QAAQ,EACzB,CAAElB,QAAQ,CAACmB,OAAO,CAAET,OAAQ,CAAC,iBAC9BL,IAAA,CAACL,QAAQ,CAACoB,OAAO;MAChBC,OAAO,EAAC,YAAY;MACpBR,SAAS,EAAGd,IAAI,CACf,wBAAwB,EACxBI,iCAAiC,CAAE,SAAU,CAC9C,CAAG;MACHmB,KAAK,EAAGZ;IAAS,CACjB,CACD;EAAA,CACM,CAAC;AAEX","ignoreList":[]}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { Platform } from '@wordpress/element';
|
|
5
1
|
export function defaultColumnsNumber(imageCount) {
|
|
6
2
|
return imageCount ? Math.min(3, imageCount) : 3;
|
|
7
3
|
}
|
|
@@ -14,25 +10,4 @@ export const pickRelevantMediaFiles = (image, sizeSlug = 'large') => {
|
|
|
14
10
|
}
|
|
15
11
|
return imageProps;
|
|
16
12
|
};
|
|
17
|
-
function getGalleryBlockV2Enabled() {
|
|
18
|
-
// We want to fail early here, at least during beta testing phase, to ensure
|
|
19
|
-
// there aren't instances where undefined values cause false negatives.
|
|
20
|
-
if (!window.wp || typeof window.wp.galleryBlockV2Enabled !== 'boolean') {
|
|
21
|
-
throw 'window.wp.galleryBlockV2Enabled is not defined';
|
|
22
|
-
}
|
|
23
|
-
return window.wp.galleryBlockV2Enabled;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* The new gallery block format is not compatible with the use_BalanceTags option
|
|
28
|
-
* in WP versions <= 5.8 https://core.trac.wordpress.org/ticket/54130. The
|
|
29
|
-
* window.wp.galleryBlockV2Enabled flag is set in lib/compat.php. This method
|
|
30
|
-
* can be removed when minimum supported WP version >=5.9.
|
|
31
|
-
*/
|
|
32
|
-
export function isGalleryV2Enabled() {
|
|
33
|
-
if (Platform.isNative) {
|
|
34
|
-
return getGalleryBlockV2Enabled();
|
|
35
|
-
}
|
|
36
|
-
return true;
|
|
37
|
-
}
|
|
38
13
|
//# sourceMappingURL=shared.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["defaultColumnsNumber","imageCount","Math","min","pickRelevantMediaFiles","image","sizeSlug","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","fullUrl","full"],"sources":["@wordpress/block-library/src/gallery/shared.js"],"sourcesContent":["export function defaultColumnsNumber( imageCount ) {\n\treturn imageCount ? Math.min( 3, imageCount ) : 3;\n}\n\nexport const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ sizeSlug ]?.url ||\n\t\timage?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\timage?.url ||\n\t\timage?.source_url;\n\tconst fullUrl =\n\t\timage?.sizes?.full?.url ||\n\t\timage?.media_details?.sizes?.full?.source_url;\n\tif ( fullUrl ) {\n\t\timageProps.fullUrl = fullUrl;\n\t}\n\treturn imageProps;\n};\n"],"mappings":"AAAA,OAAO,SAASA,oBAAoBA,CAAEC,UAAU,EAAG;EAClD,OAAOA,UAAU,GAAGC,IAAI,CAACC,GAAG,CAAE,CAAC,EAAEF,UAAW,CAAC,GAAG,CAAC;AAClD;AAEA,OAAO,MAAMG,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,QAAQ,GAAG,OAAO,KAAM;EACtE,MAAMC,UAAU,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAAEL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAE,CAAC,CAACM,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KAC9C,CAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAE,CAACC,QAAQ,CAAED,GAAI,CACvC,CACD,CAAC;EAEDL,UAAU,CAACO,GAAG,GACbT,KAAK,EAAEU,KAAK,GAAIT,QAAQ,CAAE,EAAEQ,GAAG,IAC/BT,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,QAAQ,CAAE,EAAEW,UAAU,IACrDZ,KAAK,EAAES,GAAG,IACVT,KAAK,EAAEY,UAAU;EAClB,MAAMC,OAAO,GACZb,KAAK,EAAEU,KAAK,EAAEI,IAAI,EAAEL,GAAG,IACvBT,KAAK,EAAEW,aAAa,EAAED,KAAK,EAAEI,IAAI,EAAEF,UAAU;EAC9C,IAAKC,OAAO,EAAG;IACdX,UAAU,CAACW,OAAO,GAAGA,OAAO;EAC7B;EACA,OAAOX,UAAU;AAClB,CAAC","ignoreList":[]}
|
|
@@ -9,7 +9,6 @@ import { addFilter } from '@wordpress/hooks';
|
|
|
9
9
|
* Internal dependencies
|
|
10
10
|
*/
|
|
11
11
|
import { LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_NONE, LINK_DESTINATION_MEDIA } from './constants';
|
|
12
|
-
import { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';
|
|
13
12
|
const parseShortcodeIds = ids => {
|
|
14
13
|
if (!ids) {
|
|
15
14
|
return [];
|
|
@@ -32,7 +31,7 @@ const parseShortcodeIds = ids => {
|
|
|
32
31
|
* @return {Block} The transformed block.
|
|
33
32
|
*/
|
|
34
33
|
function updateThirdPartyTransformToGallery(block) {
|
|
35
|
-
if (
|
|
34
|
+
if (block.name === 'core/gallery' && block.attributes?.images.length > 0) {
|
|
36
35
|
const innerBlocks = block.attributes.images.map(({
|
|
37
36
|
url,
|
|
38
37
|
id,
|
|
@@ -110,36 +109,16 @@ const transforms = {
|
|
|
110
109
|
const validImages = attributes.filter(({
|
|
111
110
|
url
|
|
112
111
|
}) => url);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
});
|
|
120
|
-
return createBlock('core/gallery', {
|
|
121
|
-
align,
|
|
122
|
-
sizeSlug
|
|
123
|
-
}, innerBlocks);
|
|
124
|
-
}
|
|
112
|
+
const innerBlocks = validImages.map(image => {
|
|
113
|
+
// Gallery images can't currently be resized so make sure height and width are undefined.
|
|
114
|
+
image.width = undefined;
|
|
115
|
+
image.height = undefined;
|
|
116
|
+
return createBlock('core/image', image);
|
|
117
|
+
});
|
|
125
118
|
return createBlock('core/gallery', {
|
|
126
|
-
images: validImages.map(({
|
|
127
|
-
id,
|
|
128
|
-
url,
|
|
129
|
-
alt,
|
|
130
|
-
caption
|
|
131
|
-
}) => ({
|
|
132
|
-
id: id.toString(),
|
|
133
|
-
url,
|
|
134
|
-
alt,
|
|
135
|
-
caption
|
|
136
|
-
})),
|
|
137
|
-
ids: validImages.map(({
|
|
138
|
-
id
|
|
139
|
-
}) => parseInt(id, 10)),
|
|
140
119
|
align,
|
|
141
120
|
sizeSlug
|
|
142
|
-
});
|
|
121
|
+
}, innerBlocks);
|
|
143
122
|
}
|
|
144
123
|
}, {
|
|
145
124
|
type: 'shortcode',
|
|
@@ -185,49 +164,21 @@ const transforms = {
|
|
|
185
164
|
return files.length !== 1 && files.every(file => file.type.indexOf('image/') === 0);
|
|
186
165
|
},
|
|
187
166
|
transform(files) {
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
return createBlock('core/gallery', {}, innerBlocks);
|
|
193
|
-
}
|
|
194
|
-
const block = createBlock('core/gallery', {
|
|
195
|
-
images: files.map(file => pickRelevantMediaFiles({
|
|
196
|
-
url: createBlobURL(file)
|
|
197
|
-
}))
|
|
198
|
-
});
|
|
199
|
-
return block;
|
|
167
|
+
const innerBlocks = files.map(file => createBlock('core/image', {
|
|
168
|
+
blob: createBlobURL(file)
|
|
169
|
+
}));
|
|
170
|
+
return createBlock('core/gallery', {}, innerBlocks);
|
|
200
171
|
}
|
|
201
172
|
}],
|
|
202
173
|
to: [{
|
|
203
174
|
type: 'block',
|
|
204
175
|
blocks: ['core/image'],
|
|
205
176
|
transform: ({
|
|
206
|
-
align
|
|
207
|
-
images,
|
|
208
|
-
ids,
|
|
209
|
-
sizeSlug
|
|
177
|
+
align
|
|
210
178
|
}, innerBlocks) => {
|
|
211
|
-
if (
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
attributes: {
|
|
215
|
-
url,
|
|
216
|
-
alt,
|
|
217
|
-
caption,
|
|
218
|
-
title,
|
|
219
|
-
href,
|
|
220
|
-
rel,
|
|
221
|
-
linkClass,
|
|
222
|
-
id,
|
|
223
|
-
sizeSlug: imageSizeSlug,
|
|
224
|
-
linkDestination,
|
|
225
|
-
linkTarget,
|
|
226
|
-
anchor,
|
|
227
|
-
className
|
|
228
|
-
}
|
|
229
|
-
}) => createBlock('core/image', {
|
|
230
|
-
align,
|
|
179
|
+
if (innerBlocks.length > 0) {
|
|
180
|
+
return innerBlocks.map(({
|
|
181
|
+
attributes: {
|
|
231
182
|
url,
|
|
232
183
|
alt,
|
|
233
184
|
caption,
|
|
@@ -241,24 +192,22 @@ const transforms = {
|
|
|
241
192
|
linkTarget,
|
|
242
193
|
anchor,
|
|
243
194
|
className
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
|
|
247
|
-
align
|
|
248
|
-
});
|
|
249
|
-
}
|
|
250
|
-
if (images.length > 0) {
|
|
251
|
-
return images.map(({
|
|
252
|
-
url,
|
|
253
|
-
alt,
|
|
254
|
-
caption
|
|
255
|
-
}, index) => createBlock('core/image', {
|
|
256
|
-
id: ids[index],
|
|
195
|
+
}
|
|
196
|
+
}) => createBlock('core/image', {
|
|
197
|
+
align,
|
|
257
198
|
url,
|
|
258
199
|
alt,
|
|
259
200
|
caption,
|
|
260
|
-
|
|
261
|
-
|
|
201
|
+
title,
|
|
202
|
+
href,
|
|
203
|
+
rel,
|
|
204
|
+
linkClass,
|
|
205
|
+
id,
|
|
206
|
+
sizeSlug: imageSizeSlug,
|
|
207
|
+
linkDestination,
|
|
208
|
+
linkTarget,
|
|
209
|
+
anchor,
|
|
210
|
+
className
|
|
262
211
|
}));
|
|
263
212
|
}
|
|
264
213
|
return createBlock('core/image', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","createBlobURL","addFilter","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","pickRelevantMediaFiles","isGalleryV2Enabled","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","every","attribute","undefined","validImages","filter","image","width","height","caption","toString","tag","named","columns","link","orderby","imageIds","linkTo","randomOrder","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"sources":["@wordpress/block-library/src/gallery/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\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 createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBlock","createBlobURL","addFilter","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","every","attribute","undefined","validImages","filter","image","width","height","tag","named","columns","link","orderby","imageIds","linkTo","randomOrder","imageId","isMatch","priority","files","file","indexOf","blob","to","caption","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className"],"sources":["@wordpress/block-library/src/gallery/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = attributes.filter( ( { url } ) => url );\n\n\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\timage.width = undefined;\n\t\t\t\t\timage.height = undefined;\n\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\t\t\ttransform( { named: { ids, columns = 3, link, orderby } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t\trandomOrder: orderby === 'rand',\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align }, innerBlocks ) => {\n\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t( {\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,SAAS,QAAQ,kBAAkB;;AAE5C;AACA;AACA;AACA,SACCC,2BAA2B,EAC3BC,qBAAqB,EACrBC,sBAAsB,QAChB,aAAa;AAEpB,MAAMC,iBAAiB,GAAKC,GAAG,IAAM;EACpC,IAAK,CAAEA,GAAG,EAAG;IACZ,OAAO,EAAE;EACV;EAEA,OAAOA,GAAG,CAACC,KAAK,CAAE,GAAI,CAAC,CAACC,GAAG,CAAIC,EAAE,IAAMC,QAAQ,CAAED,EAAE,EAAE,EAAG,CAAE,CAAC;AAC5D,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASE,kCAAkCA,CAAEC,KAAK,EAAG;EACpD,IACCA,KAAK,CAACC,IAAI,KAAK,cAAc,IAC7BD,KAAK,CAACE,UAAU,EAAEC,MAAM,CAACC,MAAM,GAAG,CAAC,EAClC;IACD,MAAMC,WAAW,GAAGL,KAAK,CAACE,UAAU,CAACC,MAAM,CAACP,GAAG,CAC9C,CAAE;MAAEU,GAAG;MAAET,EAAE;MAAEU;IAAI,CAAC,KAAM;MACvB,OAAOpB,WAAW,CAAE,YAAY,EAAE;QACjCmB,GAAG;QACHT,EAAE,EAAEA,EAAE,GAAGC,QAAQ,CAAED,EAAE,EAAE,EAAG,CAAC,GAAG,IAAI;QAClCU,GAAG;QACHC,QAAQ,EAAER,KAAK,CAACE,UAAU,CAACM,QAAQ;QACnCC,eAAe,EAAET,KAAK,CAACE,UAAU,CAACO;MACnC,CAAE,CAAC;IACJ,CACD,CAAC;IAED,OAAOT,KAAK,CAACE,UAAU,CAACR,GAAG;IAC3B,OAAOM,KAAK,CAACE,UAAU,CAACC,MAAM;IAC9BH,KAAK,CAACK,WAAW,GAAGA,WAAW;EAChC;EAEA,OAAOL,KAAK;AACb;AACAX,SAAS,CACR,2CAA2C,EAC3C,8CAA8C,EAC9CU,kCACD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASW,oCAAoCA,CAAEC,OAAO,EAAEC,UAAU,EAAG;EACpE,MAAMC,IAAI,GAAGC,KAAK,CAACC,OAAO,CAAEH,UAAW,CAAC,GAAGA,UAAU,GAAG,CAAEA,UAAU,CAAE;EACtE,MAAMI,YAAY,GAAGH,IAAI,CAACI,IAAI,CAC3BC,gBAAgB,IACjBA,gBAAgB,CAACjB,IAAI,KAAK,cAAc,IACxCiB,gBAAgB,CAACb,WAAW,CAACD,MAAM,GAAG,CAAC,IACvC,CAAEc,gBAAgB,CAAChB,UAAU,CAACC,MAAM,EAAEC,MAAM,GAAG,CAAC,IAChD,CAAEO,OAAO,CAACV,IAAI,CAACkB,QAAQ,CAAE,OAAQ,CACnC,CAAC;EAED,IAAKH,YAAY,EAAG;IACnB,MAAMb,MAAM,GAAGa,YAAY,CAACX,WAAW,CAACT,GAAG,CAC1C,CAAE;MAAEM,UAAU,EAAE;QAAEI,GAAG;QAAET,EAAE;QAAEU;MAAI;IAAE,CAAC,MAAQ;MACzCD,GAAG;MACHT,EAAE,EAAEA,EAAE,GAAGC,QAAQ,CAAED,EAAE,EAAE,EAAG,CAAC,GAAG,IAAI;MAClCU;IACD,CAAC,CACF,CAAC;IACD,MAAMb,GAAG,GAAGS,MAAM,CAACP,GAAG,CAAE,CAAE;MAAEC;IAAG,CAAC,KAAMA,EAAG,CAAC;IAC1CmB,YAAY,CAACd,UAAU,CAACC,MAAM,GAAGA,MAAM;IACvCa,YAAY,CAACd,UAAU,CAACR,GAAG,GAAGA,GAAG;EAClC;EAEA,OAAOiB,OAAO;AACf;AACAtB,SAAS,CACR,2CAA2C,EAC3C,gDAAgD,EAChDqB,oCACD,CAAC;AAED,MAAMU,UAAU,GAAG;EAClBP,IAAI,EAAE,CACL;IACCQ,IAAI,EAAE,OAAO;IACbC,YAAY,EAAE,IAAI;IAClBC,MAAM,EAAE,CAAE,YAAY,CAAE;IACxBC,SAAS,EAAItB,UAAU,IAAM;MAC5B;MACA,IAAI;QAAEuB,KAAK;QAAEjB;MAAS,CAAC,GAAGN,UAAU,CAAE,CAAC,CAAE;MACzC;MACAuB,KAAK,GAAGvB,UAAU,CAACwB,KAAK,CACrBC,SAAS,IAAMA,SAAS,CAACF,KAAK,KAAKA,KACtC,CAAC,GACEA,KAAK,GACLG,SAAS;MACZpB,QAAQ,GAAGN,UAAU,CAACwB,KAAK,CACxBC,SAAS,IAAMA,SAAS,CAACnB,QAAQ,KAAKA,QACzC,CAAC,GACEA,QAAQ,GACRoB,SAAS;MAEZ,MAAMC,WAAW,GAAG3B,UAAU,CAAC4B,MAAM,CAAE,CAAE;QAAExB;MAAI,CAAC,KAAMA,GAAI,CAAC;MAE3D,MAAMD,WAAW,GAAGwB,WAAW,CAACjC,GAAG,CAAImC,KAAK,IAAM;QACjD;QACAA,KAAK,CAACC,KAAK,GAAGJ,SAAS;QACvBG,KAAK,CAACE,MAAM,GAAGL,SAAS;QACxB,OAAOzC,WAAW,CAAE,YAAY,EAAE4C,KAAM,CAAC;MAC1C,CAAE,CAAC;MAEH,OAAO5C,WAAW,CACjB,cAAc,EACd;QACCsC,KAAK;QACLjB;MACD,CAAC,EACDH,WACD,CAAC;IACF;EACD,CAAC,EACD;IACCgB,IAAI,EAAE,WAAW;IACjBa,GAAG,EAAE,SAAS;IACdV,SAASA,CAAE;MAAEW,KAAK,EAAE;QAAEzC,GAAG;QAAE0C,OAAO,GAAG,CAAC;QAAEC,IAAI;QAAEC;MAAQ;IAAE,CAAC,EAAG;MAC3D,MAAMC,QAAQ,GAAG9C,iBAAiB,CAAEC,GAAI,CAAC,CAACE,GAAG,CAAIC,EAAE,IAClDC,QAAQ,CAAED,EAAE,EAAE,EAAG,CAClB,CAAC;MAED,IAAI2C,MAAM,GAAGjD,qBAAqB;MAClC,IAAK8C,IAAI,KAAK,MAAM,EAAG;QACtBG,MAAM,GAAGlD,2BAA2B;MACrC,CAAC,MAAM,IAAK+C,IAAI,KAAK,MAAM,EAAG;QAC7BG,MAAM,GAAGhD,sBAAsB;MAChC;MAEA,MAAMwB,YAAY,GAAG7B,WAAW,CAC/B,cAAc,EACd;QACCiD,OAAO,EAAEtC,QAAQ,CAAEsC,OAAO,EAAE,EAAG,CAAC;QAChCI,MAAM;QACNC,WAAW,EAAEH,OAAO,KAAK;MAC1B,CAAC,EACDC,QAAQ,CAAC3C,GAAG,CAAI8C,OAAO,IACtBvD,WAAW,CAAE,YAAY,EAAE;QAAEU,EAAE,EAAE6C;MAAQ,CAAE,CAC5C,CACD,CAAC;MAED,OAAO1B,YAAY;IACpB,CAAC;IACD2B,OAAOA,CAAE;MAAER;IAAM,CAAC,EAAG;MACpB,OAAOP,SAAS,KAAKO,KAAK,CAACzC,GAAG;IAC/B;EACD,CAAC,EACD;IACC;IACA;IACA;IACA;IACA;IACA2B,IAAI,EAAE,OAAO;IACbuB,QAAQ,EAAE,CAAC;IACXD,OAAOA,CAAEE,KAAK,EAAG;MAChB,OACCA,KAAK,CAACzC,MAAM,KAAK,CAAC,IAClByC,KAAK,CAACnB,KAAK,CACRoB,IAAI,IAAMA,IAAI,CAACzB,IAAI,CAAC0B,OAAO,CAAE,QAAS,CAAC,KAAK,CAC/C,CAAC;IAEH,CAAC;IACDvB,SAASA,CAAEqB,KAAK,EAAG;MAClB,MAAMxC,WAAW,GAAGwC,KAAK,CAACjD,GAAG,CAAIkD,IAAI,IACpC3D,WAAW,CAAE,YAAY,EAAE;QAC1B6D,IAAI,EAAE5D,aAAa,CAAE0D,IAAK;MAC3B,CAAE,CACH,CAAC;MAED,OAAO3D,WAAW,CAAE,cAAc,EAAE,CAAC,CAAC,EAAEkB,WAAY,CAAC;IACtD;EACD,CAAC,CACD;EACD4C,EAAE,EAAE,CACH;IACC5B,IAAI,EAAE,OAAO;IACbE,MAAM,EAAE,CAAE,YAAY,CAAE;IACxBC,SAAS,EAAEA,CAAE;MAAEC;IAAM,CAAC,EAAEpB,WAAW,KAAM;MACxC,IAAKA,WAAW,CAACD,MAAM,GAAG,CAAC,EAAG;QAC7B,OAAOC,WAAW,CAACT,GAAG,CACrB,CAAE;UACDM,UAAU,EAAE;YACXI,GAAG;YACHC,GAAG;YACH2C,OAAO;YACPC,KAAK;YACLC,IAAI;YACJC,GAAG;YACHC,SAAS;YACTzD,EAAE;YACFW,QAAQ,EAAE+C,aAAa;YACvB9C,eAAe;YACf+C,UAAU;YACVC,MAAM;YACNC;UACD;QACD,CAAC,KACAvE,WAAW,CAAE,YAAY,EAAE;UAC1BsC,KAAK;UACLnB,GAAG;UACHC,GAAG;UACH2C,OAAO;UACPC,KAAK;UACLC,IAAI;UACJC,GAAG;UACHC,SAAS;UACTzD,EAAE;UACFW,QAAQ,EAAE+C,aAAa;UACvB9C,eAAe;UACf+C,UAAU;UACVC,MAAM;UACNC;QACD,CAAE,CACJ,CAAC;MACF;MACA,OAAOvE,WAAW,CAAE,YAAY,EAAE;QAAEsC;MAAM,CAAE,CAAC;IAC9C;EACD,CAAC;AAEH,CAAC;AAED,eAAeL,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","heading","button","link","text","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","interactivity","clientNavigation","editorStyle","save","transforms","variations","settings","example","innerBlocks","customTextColor","content","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,YAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;IAAA;EAAA;EAAAG,QAAA;IAAAC,qBAAA;IAAAC,qBAAA;IAAAC,sBAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,IAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,MAAA;MAAAC,IAAA;MAAAL,6BAAA;QAAAH,UAAA;QAAAS,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,QAAA;
|
|
1
|
+
{"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","heading","button","link","text","shadow","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","interactivity","clientNavigation","editorStyle","save","transforms","variations","settings","example","innerBlocks","customTextColor","content","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -117,6 +117,11 @@ function GroupPlaceHolder({
|
|
|
117
117
|
const blockProps = useBlockProps({
|
|
118
118
|
className: 'wp-block-group__placeholder'
|
|
119
119
|
});
|
|
120
|
+
useEffect(() => {
|
|
121
|
+
if (variations && variations.length === 1) {
|
|
122
|
+
onSelect(variations[0]);
|
|
123
|
+
}
|
|
124
|
+
}, [onSelect, variations]);
|
|
120
125
|
return /*#__PURE__*/_jsx("div", {
|
|
121
126
|
...blockProps,
|
|
122
127
|
children: /*#__PURE__*/_jsx(Placeholder, {
|