@wordpress/block-library 9.15.0 → 9.16.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/button/edit.js +2 -1
- package/build/button/edit.js.map +1 -1
- package/build/columns/edit.js +1 -1
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/comment-template/edit.js +2 -2
- package/build/comment-template/edit.js.map +1 -1
- package/build/comments-pagination-next/index.js +7 -6
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-previous/index.js +7 -6
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/cover/deprecated.js +1 -1
- package/build/cover/deprecated.js.map +1 -1
- package/build/details/edit.js +12 -17
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +3 -0
- package/build/details/index.js.map +1 -1
- package/build/embed/util.js +1 -1
- package/build/embed/util.js.map +1 -1
- package/build/file/edit.js +7 -4
- package/build/file/edit.js.map +1 -1
- package/build/file/transforms.js +1 -1
- package/build/file/transforms.js.map +1 -1
- package/build/file/utils/index.js +1 -1
- package/build/file/utils/index.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/transforms.js +2 -2
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-new-images.js +1 -1
- package/build/gallery/use-get-new-images.js.map +1 -1
- package/build/list-item/edit.native.js +2 -2
- package/build/list-item/edit.native.js.map +1 -1
- package/build/media-text/edit.native.js +2 -2
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/media-container.native.js +4 -4
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/edit/index.js +8 -4
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/index.js +15 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation-link/edit.js +1 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +9 -18
- package/build/navigation-link/link-ui.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/index.js +11 -0
- package/build/page-list/index.js.map +1 -1
- package/build/post-author-name/edit.js +41 -12
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-comments-link/index.js +7 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-featured-image/overlay-controls.js +2 -1
- package/build/post-featured-image/overlay-controls.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +1 -1
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +110 -61
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/utils.js +1 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-title/edit.js +39 -14
- package/build/query-title/edit.js.map +1 -1
- package/build/query-total/index.js +7 -1
- package/build/query-total/index.js.map +1 -1
- package/build/quote/transforms.js +1 -1
- package/build/quote/transforms.js.map +1 -1
- package/build/rss/edit.js +1 -0
- package/build/rss/edit.js.map +1 -1
- package/build/rss/index.js +6 -0
- package/build/rss/index.js.map +1 -1
- package/build/search/edit.js +2 -1
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +26 -35
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-links/edit.js +2 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +24 -8
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/button/edit.js +3 -2
- package/build-module/button/edit.js.map +1 -1
- package/build-module/columns/edit.js +1 -1
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comment-template/edit.js +2 -2
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +7 -6
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +7 -6
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/cover/deprecated.js +1 -1
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/details/edit.js +13 -18
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +3 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/embed/util.js +1 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/file/edit.js +7 -4
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/transforms.js +1 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/file/utils/index.js +1 -1
- package/build-module/file/utils/index.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/transforms.js +2 -2
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-new-images.js +1 -1
- package/build-module/gallery/use-get-new-images.js.map +1 -1
- package/build-module/list-item/edit.native.js +2 -2
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/media-text/edit.native.js +2 -2
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/media-container.native.js +4 -4
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +8 -4
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/index.js +15 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +1 -1
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +9 -18
- package/build-module/navigation-link/link-ui.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/index.js +11 -0
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/post-author-name/edit.js +42 -13
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-comments-link/index.js +7 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-featured-image/overlay-controls.js +2 -1
- package/build-module/post-featured-image/overlay-controls.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +111 -62
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/utils.js +1 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-title/edit.js +40 -15
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-total/index.js +7 -1
- package/build-module/query-total/index.js.map +1 -1
- package/build-module/quote/transforms.js +1 -1
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/rss/edit.js +1 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/rss/index.js +6 -0
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/edit.js +3 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +27 -36
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-links/edit.js +2 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +25 -9
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -3
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/editor-rtl.css +6 -43
- package/build-style/editor.css +6 -43
- package/build-style/freeform/editor-rtl.css +2 -4
- package/build-style/freeform/editor.css +2 -4
- package/build-style/gallery/editor-rtl.css +2 -4
- package/build-style/gallery/editor.css +2 -4
- package/build-style/image/style-rtl.css +24 -10
- package/build-style/image/style.css +24 -10
- package/build-style/navigation/style-rtl.css +8 -6
- package/build-style/navigation/style.css +8 -6
- package/build-style/query/editor-rtl.css +0 -27
- package/build-style/query/editor.css +0 -27
- package/build-style/site-logo/editor-rtl.css +2 -8
- package/build-style/site-logo/editor.css +2 -8
- package/build-style/social-links/style-rtl.css +2 -5
- package/build-style/social-links/style.css +2 -5
- package/build-style/style-rtl.css +34 -21
- package/build-style/style.css +34 -21
- package/package.json +35 -35
- package/src/audio/test/transforms.native.js +4 -3
- package/src/button/edit.js +6 -2
- package/src/columns/edit.js +1 -1
- package/src/columns/edit.native.js +1 -1
- package/src/comment-template/edit.js +2 -2
- package/src/comments-pagination-next/block.json +0 -5
- package/src/comments-pagination-next/index.js +6 -0
- package/src/comments-pagination-previous/block.json +0 -5
- package/src/comments-pagination-previous/index.js +6 -0
- package/src/cover/deprecated.js +1 -1
- package/src/cover/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/cover/test/edit.js +7 -7
- package/src/cover/test/edit.native.js +2 -2
- package/src/cover/test/transforms.native.js +9 -5
- package/src/details/block.json +3 -0
- package/src/details/edit.js +12 -23
- package/src/editor.scss +1 -1
- package/src/embed/test/index.js +1 -1
- package/src/embed/util.js +1 -1
- package/src/file/edit.js +4 -3
- package/src/file/test/transforms.native.js +4 -3
- package/src/file/transforms.js +1 -1
- package/src/file/utils/index.js +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/freeform/editor.scss +4 -3
- package/src/gallery/edit.js +1 -1
- package/src/gallery/editor.scss +4 -2
- package/src/gallery/test/transforms.native.js +4 -3
- package/src/gallery/transforms.js +2 -2
- package/src/gallery/use-get-new-images.js +1 -1
- package/src/image/block.json +8 -1
- package/src/image/editor.scss +1 -1
- package/src/image/index.php +9 -13
- package/src/image/style.scss +17 -7
- package/src/image/test/edit.native.js +1 -1
- package/src/image/test/transforms.native.js +4 -3
- package/src/list/test/edit.native.js +1 -1
- package/src/list-item/edit.native.js +2 -2
- package/src/media-text/edit.native.js +2 -2
- package/src/media-text/media-container.native.js +4 -4
- package/src/media-text/test/transforms.native.js +9 -5
- package/src/navigation/edit/index.js +4 -0
- package/src/navigation/index.js +20 -0
- package/src/navigation/style.scss +7 -4
- package/src/navigation-link/edit.js +1 -1
- package/src/navigation-link/link-ui.js +7 -13
- package/src/navigation-submenu/edit.js +1 -1
- package/src/page-list/block.json +11 -0
- package/src/paragraph/style.scss +1 -1
- package/src/post-author-name/edit.js +53 -15
- package/src/post-comments-link/block.json +7 -1
- package/src/post-content/block.json +1 -1
- package/src/post-featured-image/overlay-controls.js +1 -0
- package/src/query/edit/inspector-controls/author-control.js +1 -1
- package/src/query/edit/inspector-controls/index.js +148 -88
- package/src/query/editor.scss +0 -31
- package/src/query/utils.js +1 -1
- package/src/query-title/edit.js +60 -19
- package/src/query-total/block.json +7 -1
- package/src/quote/transforms.js +1 -1
- package/src/rss/block.json +6 -0
- package/src/rss/edit.js +1 -0
- package/src/search/edit.js +6 -2
- package/src/separator/deprecated.scss +1 -1
- package/src/site-logo/edit.js +34 -47
- package/src/site-logo/editor.scss +3 -6
- package/src/social-link/index.php +2 -2
- package/src/social-links/edit.js +1 -0
- package/src/social-links/style.scss +3 -3
- package/src/table-of-contents/edit.js +38 -19
- package/src/video/edit.native.js +3 -3
- package/src/video/test/transforms.native.js +4 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_element","_i18n","_data","_primitives","_blocks","_blob","_notices","_icons","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","_jsxRuntime","MAX_COLUMNS","LINK_OPTIONS","icon","customLink","label","__","value","LINK_DESTINATION_ATTACHMENT","noticeText","imageIcon","LINK_DESTINATION_MEDIA","fullscreen","LINK_DESTINATION_LIGHTBOX","infoText","linkOff","_x","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","useSettings","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","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","createBlobURL","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","jsx","MediaPlaceholder","handleUpload","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","clsx","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","jsxs","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","ToolbarDropdownMenu","linkIcon","onClose","MenuGroup","linkItem","isOptionSelected","MenuItem","iconPosition","onClick","role","info","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tMenuGroup,\n\tMenuItem,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Expand on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\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{ Platform.isNative ? (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null }\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\n\t\t\t\t\t\t\tclassName=\"gallery-image-sizes\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\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<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_element","_i18n","_data","_primitives","_blocks","_blob","_notices","_icons","_sharedIcon","_shared","_utils","_utils2","_gallery","_constants","_useImageSizes","_useGetNewImages","_useGetMedia","_gapStyles","_jsxRuntime","MAX_COLUMNS","LINK_OPTIONS","icon","customLink","label","__","value","LINK_DESTINATION_ATTACHMENT","noticeText","imageIcon","LINK_DESTINATION_MEDIA","fullscreen","LINK_DESTINATION_LIGHTBOX","infoText","linkOff","_x","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","DEFAULT_BLOCK","name","EMPTY_ARRAY","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","lightboxSetting","useSettings","linkOptions","allowEditing","filter","option","columns","imageCrop","randomOrder","linkTarget","linkTo","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","useDispatch","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","innerBlockImages","blockWasJustInserted","multiGallerySelection","useSelect","select","_getBlock$innerBlocks","getBlockName","getMultiSelectedBlockClientIds","_getSettings","_getBlock","wasBlockJustInserted","multiSelectedClientIds","innerBlocks","length","every","_clientId","images","useMemo","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","useGetMedia","newImages","useGetNewImages","useEffect","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","useImageSizes","imageAttributes","image","find","newClassName","newLinkTarget","rel","getUpdatedLinkTargetSettings","pickRelevantMediaFiles","getHrefAndDestination","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","createBlobURL","processedImages","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","createBlock","concat","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","sprintf","setColumnsNumber","toggleImageCrop","toggleRandomOrder","toggleOpenInNewTab","openInNewTab","updateImagesSize","newSizeSlug","getImageSizeAttributes","imageSize","size","window","wp","media","view","settings","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","jsx","MediaPlaceholder","handleUpload","sharedIcon","labels","title","instructions","onSelect","accept","allowedTypes","multiple","onError","blockProps","useBlockProps","clsx","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","orientation","renderAppender","jsxs","View","children","hasLinkTo","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","defaultColumnsNumber","onChange","min","max","Math","required","__next40pxDefaultSize","SelectControl","help","options","hideCancelButton","ToggleControl","checked","isWeb","BaseControl","VisualLabel","Spinner","BlockControls","group","ToolbarDropdownMenu","linkIcon","onClose","MenuGroup","linkItem","isOptionSelected","MenuItem","iconPosition","onClick","role","info","MediaReplaceFlow","mediaIds","default","blockGap","style","spacing"],"sources":["@wordpress/block-library/src/gallery/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tMenuGroup,\n\tMenuItem,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport {\n\tlink as linkIcon,\n\tcustomLink,\n\timage as imageIcon,\n\tlinkOff,\n\tfullscreen,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_LIGHTBOX,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst LINK_OPTIONS = [\n\t{\n\t\ticon: customLink,\n\t\tlabel: __( 'Link images to attachment pages' ),\n\t\tvalue: LINK_DESTINATION_ATTACHMENT,\n\t\tnoticeText: __( 'Attachment Pages' ),\n\t},\n\t{\n\t\ticon: imageIcon,\n\t\tlabel: __( 'Link images to media files' ),\n\t\tvalue: LINK_DESTINATION_MEDIA,\n\t\tnoticeText: __( 'Media Files' ),\n\t},\n\t{\n\t\ticon: fullscreen,\n\t\tlabel: __( 'Enlarge on click' ),\n\t\tvalue: LINK_DESTINATION_LIGHTBOX,\n\t\tnoticeText: __( 'Lightbox effect' ),\n\t\tinfoText: __( 'Scale images with a lightbox effect' ),\n\t},\n\t{\n\t\ticon: linkOff,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tnoticeText: __( 'None' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'Add media' )\n\t: __( 'Drag and drop images, upload, or choose from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nconst DEFAULT_BLOCK = { name: 'core/image' };\nconst EMPTY_ARRAY = [];\n\nexport default function GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst [ lightboxSetting ] = useSettings( 'blocks.core/image.lightbox' );\n\n\tconst linkOptions = ! lightboxSetting?.allowEditing\n\t\t? LINK_OPTIONS.filter(\n\t\t\t\t( option ) => option.value !== LINK_DESTINATION_LIGHTBOX\n\t\t )\n\t\t: LINK_OPTIONS;\n\n\tconst { columns, imageCrop, randomOrder, linkTarget, linkTo, sizeSlug } =\n\t\tattributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst {\n\t\tgetBlock,\n\t\tgetSettings,\n\t\tinnerBlockImages,\n\t\tblockWasJustInserted,\n\t\tmultiGallerySelection,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockName,\n\t\t\t\tgetMultiSelectedBlockClientIds,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\twasBlockJustInserted,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\n\t\t\treturn {\n\t\t\t\tgetBlock: _getBlock,\n\t\t\t\tgetSettings: _getSettings,\n\t\t\t\tinnerBlockImages:\n\t\t\t\t\t_getBlock( clientId )?.innerBlocks ?? EMPTY_ARRAY,\n\t\t\t\tblockWasJustInserted: wasBlockJustInserted(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'inserter_menu'\n\t\t\t\t),\n\t\t\t\tmultiGallerySelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/gallery'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.blob\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tblob: file.blob || createBlobURL( file ),\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\tblob: image.blob,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue,\n\t\t\t\tfalse,\n\t\t\t\tblock.attributes,\n\t\t\t\tlightboxSetting\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.noticeText\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction toggleRandomOrder() {\n\t\tsetAttributes( { randomOrder: ! randomOrder } );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\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{ Platform.isNative ? (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : null }\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\n\t\t\t\t\t\t\tclassName=\"gallery-image-sizes\"\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\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<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t\t{ linkOptions.map( ( linkItem ) => {\n\t\t\t\t\t\t\t\t\tconst isOptionSelected =\n\t\t\t\t\t\t\t\t\t\tlinkTo === linkItem.value;\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\tkey={ linkItem.value }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={ isOptionSelected }\n\t\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t\t'components-dropdown-menu__menu-item',\n\t\t\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t\t\t'is-active':\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisOptionSelected,\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\ticonPosition=\"left\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ linkItem.icon }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tsetLinkTo( linkItem.value );\n\t\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t\t\tinfo={ linkItem.infoText }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ linkItem.label }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t</BlockControls>\n\t\t\t) : null }\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! multiGallerySelection && (\n\t\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<GapStyles\n\t\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tisContentLocked={ isContentLocked }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tmultiGallerySelection={ multiGallerySelection }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -27,7 +27,7 @@ const parseShortcodeIds = ids => {
|
|
|
27
27
|
/**
|
|
28
28
|
* Third party block plugins don't have an easy way to detect if the
|
|
29
29
|
* innerBlocks version of the Gallery is running when they run a
|
|
30
|
-
* 3rdPartyBlock -> GalleryBlock transform so this
|
|
30
|
+
* 3rdPartyBlock -> GalleryBlock transform so this transform filter
|
|
31
31
|
* will handle this. Once the innerBlocks version is the default
|
|
32
32
|
* in a core release, this could be deprecated and removed after
|
|
33
33
|
* plugin authors have been given time to update transforms.
|
|
@@ -164,7 +164,7 @@ const transforms = {
|
|
|
164
164
|
// When created by drag and dropping multiple files on an insertion point. Because multiple
|
|
165
165
|
// files must not be transformed to a gallery when dropped within a gallery there is another transform
|
|
166
166
|
// within the image block to handle that case. Therefore this transform has to have priority 1
|
|
167
|
-
// set so that it
|
|
167
|
+
// set so that it overrides the image block transformation when multiple images are dropped outside
|
|
168
168
|
// of a gallery block.
|
|
169
169
|
type: 'files',
|
|
170
170
|
priority: 1,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_blob","_hooks","_constants","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","createBlock","sizeSlug","linkDestination","addFilter","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","LINK_DESTINATION_NONE","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","randomOrder","imageId","isMatch","priority","files","file","indexOf","blob","createBlobURL","to","caption","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","_default","exports","default"],"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":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_blocks","require","_blob","_hooks","_constants","parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","createBlock","sizeSlug","linkDestination","addFilter","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","LINK_DESTINATION_NONE","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","randomOrder","imageId","isMatch","priority","files","file","indexOf","blob","createBlobURL","to","caption","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","_default","exports","default"],"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 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} 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 overrides the image block transformation when multiple 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":"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","ignoreList":[]}
|
|
@@ -45,7 +45,7 @@ function useGetNewImages(images, imageData) {
|
|
|
45
45
|
|
|
46
46
|
// Now check for any new images that have been added to InnerBlocks and for which
|
|
47
47
|
// we have the imageData we need for setting default block attributes.
|
|
48
|
-
const newImages = images.filter(image => !newCurrentImages.find(currentImage => image.clientId && currentImage.clientId === image.clientId) && imageData?.find(img => img.id === image.id) && !image.
|
|
48
|
+
const newImages = images.filter(image => !newCurrentImages.find(currentImage => image.clientId && currentImage.clientId === image.clientId) && imageData?.find(img => img.id === image.id) && !image.fromSavedContent);
|
|
49
49
|
if (imagesUpdated || newImages?.length > 0) {
|
|
50
50
|
setCurrentImages([...newCurrentImages, ...newImages]);
|
|
51
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","useGetNewImages","images","imageData","currentImages","setCurrentImages","useState","useMemo","getNewImages","imagesUpdated","newCurrentImages","filter","currentImg","find","img","clientId","length","forEach","image","fromSavedContent","currentImage","id","push","newImages"
|
|
1
|
+
{"version":3,"names":["_element","require","useGetNewImages","images","imageData","currentImages","setCurrentImages","useState","useMemo","getNewImages","imagesUpdated","newCurrentImages","filter","currentImg","find","img","clientId","length","forEach","image","fromSavedContent","currentImage","id","push","newImages"],"sources":["@wordpress/block-library/src/gallery/use-get-new-images.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\n\n/**\n * Keeps track of images already in the gallery to allow new innerBlocks to be identified. This\n * is required so default gallery attributes can be applied without overwriting any custom\n * attributes applied to existing images.\n *\n * @param {Array} images Basic image block data taken from current gallery innerBlock\n * @param {Array} imageData The related image data for each of the current gallery images.\n *\n * @return {Array} An array of any new images that have been added to the gallery.\n */\nexport default function useGetNewImages( images, imageData ) {\n\tconst [ currentImages, setCurrentImages ] = useState( [] );\n\n\treturn useMemo( () => getNewImages(), [ images, imageData ] );\n\n\tfunction getNewImages() {\n\t\tlet imagesUpdated = false;\n\n\t\t// First lets check if any images have been deleted.\n\t\tconst newCurrentImages = currentImages.filter( ( currentImg ) =>\n\t\t\timages.find( ( img ) => {\n\t\t\t\treturn currentImg.clientId === img.clientId;\n\t\t\t} )\n\t\t);\n\n\t\tif ( newCurrentImages.length < currentImages.length ) {\n\t\t\timagesUpdated = true;\n\t\t}\n\n\t\t// Now lets see if we have any images hydrated from saved content and if so\n\t\t// add them to currentImages state.\n\t\timages.forEach( ( image ) => {\n\t\t\tif (\n\t\t\t\timage.fromSavedContent &&\n\t\t\t\t! newCurrentImages.find(\n\t\t\t\t\t( currentImage ) => currentImage.id === image.id\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\timagesUpdated = true;\n\t\t\t\tnewCurrentImages.push( image );\n\t\t\t}\n\t\t} );\n\n\t\t// Now check for any new images that have been added to InnerBlocks and for which\n\t\t// we have the imageData we need for setting default block attributes.\n\t\tconst newImages = images.filter(\n\t\t\t( image ) =>\n\t\t\t\t! newCurrentImages.find(\n\t\t\t\t\t( currentImage ) =>\n\t\t\t\t\t\timage.clientId &&\n\t\t\t\t\t\tcurrentImage.clientId === image.clientId\n\t\t\t\t) &&\n\t\t\t\timageData?.find( ( img ) => img.id === image.id ) &&\n\t\t\t\t! image.fromSavedContent\n\t\t);\n\n\t\tif ( imagesUpdated || newImages?.length > 0 ) {\n\t\t\tsetCurrentImages( [ ...newCurrentImages, ...newImages ] );\n\t\t}\n\n\t\treturn newImages.length > 0 ? newImages : null;\n\t}\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACe,SAASC,eAAeA,CAAEC,MAAM,EAAEC,SAAS,EAAG;EAC5D,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG,IAAAC,iBAAQ,EAAE,EAAG,CAAC;EAE1D,OAAO,IAAAC,gBAAO,EAAE,MAAMC,YAAY,CAAC,CAAC,EAAE,CAAEN,MAAM,EAAEC,SAAS,CAAG,CAAC;EAE7D,SAASK,YAAYA,CAAA,EAAG;IACvB,IAAIC,aAAa,GAAG,KAAK;;IAEzB;IACA,MAAMC,gBAAgB,GAAGN,aAAa,CAACO,MAAM,CAAIC,UAAU,IAC1DV,MAAM,CAACW,IAAI,CAAIC,GAAG,IAAM;MACvB,OAAOF,UAAU,CAACG,QAAQ,KAAKD,GAAG,CAACC,QAAQ;IAC5C,CAAE,CACH,CAAC;IAED,IAAKL,gBAAgB,CAACM,MAAM,GAAGZ,aAAa,CAACY,MAAM,EAAG;MACrDP,aAAa,GAAG,IAAI;IACrB;;IAEA;IACA;IACAP,MAAM,CAACe,OAAO,CAAIC,KAAK,IAAM;MAC5B,IACCA,KAAK,CAACC,gBAAgB,IACtB,CAAET,gBAAgB,CAACG,IAAI,CACpBO,YAAY,IAAMA,YAAY,CAACC,EAAE,KAAKH,KAAK,CAACG,EAC/C,CAAC,EACA;QACDZ,aAAa,GAAG,IAAI;QACpBC,gBAAgB,CAACY,IAAI,CAAEJ,KAAM,CAAC;MAC/B;IACD,CAAE,CAAC;;IAEH;IACA;IACA,MAAMK,SAAS,GAAGrB,MAAM,CAACS,MAAM,CAC5BO,KAAK,IACN,CAAER,gBAAgB,CAACG,IAAI,CACpBO,YAAY,IACbF,KAAK,CAACH,QAAQ,IACdK,YAAY,CAACL,QAAQ,KAAKG,KAAK,CAACH,QAClC,CAAC,IACDZ,SAAS,EAAEU,IAAI,CAAIC,GAAG,IAAMA,GAAG,CAACO,EAAE,KAAKH,KAAK,CAACG,EAAG,CAAC,IACjD,CAAEH,KAAK,CAACC,gBACV,CAAC;IAED,IAAKV,aAAa,IAAIc,SAAS,EAAEP,MAAM,GAAG,CAAC,EAAG;MAC7CX,gBAAgB,CAAE,CAAE,GAAGK,gBAAgB,EAAE,GAAGa,SAAS,CAAG,CAAC;IAC1D;IAEA,OAAOA,SAAS,CAACP,MAAM,GAAG,CAAC,GAAGO,SAAS,GAAG,IAAI;EAC/C;AACD","ignoreList":[]}
|
|
@@ -57,7 +57,7 @@ function ListItemEdit({
|
|
|
57
57
|
getBlockParentsByBlockName,
|
|
58
58
|
getBlockRootClientId
|
|
59
59
|
} = select(_blockEditor.store);
|
|
60
|
-
const
|
|
60
|
+
const currentIndentationLevel = getBlockParentsByBlockName(clientId, 'core/list-item', true).length;
|
|
61
61
|
const currentBlockIndex = getBlockIndex(clientId);
|
|
62
62
|
const blockWithInnerBlocks = getBlockCount(clientId) > 0;
|
|
63
63
|
const rootClientId = getBlockRootClientId(clientId);
|
|
@@ -71,7 +71,7 @@ function ListItemEdit({
|
|
|
71
71
|
return {
|
|
72
72
|
blockIndex: currentBlockIndex,
|
|
73
73
|
hasInnerBlocks: blockWithInnerBlocks,
|
|
74
|
-
indentationLevel:
|
|
74
|
+
indentationLevel: currentIndentationLevel,
|
|
75
75
|
numberOfListItems: totalListItems,
|
|
76
76
|
ordered: isOrdered,
|
|
77
77
|
reversed: isReversed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_blockEditor","_i18n","_compose","_data","_element","_hooks","_edit","_style","_interopRequireDefault","_listStyleType","_jsxRuntime","OPACITY","ListItemEdit","attributes","setAttributes","clientId","style","mergeBlocks","contentWidth","setContentWidth","useState","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","useSelect","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","blockEditorStore","currentIdentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","useBlockProps","styles","innerBlocksProps","useInnerBlocksProps","renderAppender","defaultPlaceholderFromScheme","usePreferredColorSchemeStyle","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","useRef","onEnter","useEnter","onMerge","useMerge","onLayout","useCallback","nativeEvent","prevState","width","layout","Math","floor","jsxs","View","children","jsx","default","RichText","__unstableUseSplitSelection","identifier","tagName","onChange","nextContent","value","__","placeholderTextColor","deleteEnter","containerWidth","BlockControls","group","IndentUI"],"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useMerge, useEnter } from './hooks';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tstyle,\n\tmergeBlocks,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIdentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIdentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\t__unstableUseSplitSelection\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_blockEditor","_i18n","_compose","_data","_element","_hooks","_edit","_style","_interopRequireDefault","_listStyleType","_jsxRuntime","OPACITY","ListItemEdit","attributes","setAttributes","clientId","style","mergeBlocks","contentWidth","setContentWidth","useState","placeholder","content","blockIndex","hasInnerBlocks","indentationLevel","numberOfListItems","ordered","reversed","start","useSelect","select","getBlockAttributes","getBlockCount","getBlockIndex","getBlockParentsByBlockName","getBlockRootClientId","blockEditorStore","currentIndentationLevel","length","currentBlockIndex","blockWithInnerBlocks","rootClientId","blockAttributes","totalListItems","isOrdered","isReversed","startValue","blockProps","useBlockProps","styles","innerBlocksProps","useInnerBlocksProps","renderAppender","defaultPlaceholderFromScheme","usePreferredColorSchemeStyle","currentTextColor","color","baseColors","text","defaultPlaceholderTextColor","defaultPlaceholderTextColorWithOpacity","styleWithPlaceholderOpacity","placeholderColor","preventDefault","useRef","onEnter","useEnter","onMerge","useMerge","onLayout","useCallback","nativeEvent","prevState","width","layout","Math","floor","jsxs","View","children","jsx","default","RichText","__unstableUseSplitSelection","identifier","tagName","onChange","nextContent","value","__","placeholderTextColor","deleteEnter","containerWidth","BlockControls","group","IndentUI"],"sources":["@wordpress/block-library/src/list-item/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useMerge, useEnter } from './hooks';\nimport { IndentUI } from './edit.js';\nimport styles from './style.scss';\nimport ListStyleType from './list-style-type';\n\nconst OPACITY = '9e';\n\nexport default function ListItemEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tstyle,\n\tmergeBlocks,\n} ) {\n\tconst [ contentWidth, setContentWidth ] = useState();\n\tconst { placeholder, content } = attributes;\n\tconst {\n\t\tblockIndex,\n\t\thasInnerBlocks,\n\t\tindentationLevel,\n\t\tnumberOfListItems,\n\t\tordered,\n\t\treversed,\n\t\tstart,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockIndex,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst currentIndentationLevel = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/list-item',\n\t\t\t\ttrue\n\t\t\t).length;\n\t\t\tconst currentBlockIndex = getBlockIndex( clientId );\n\t\t\tconst blockWithInnerBlocks = getBlockCount( clientId ) > 0;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst blockAttributes = getBlockAttributes( rootClientId );\n\t\t\tconst totalListItems = getBlockCount( rootClientId );\n\t\t\tconst {\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t} = blockAttributes || {};\n\n\t\t\treturn {\n\t\t\t\tblockIndex: currentBlockIndex,\n\t\t\t\thasInnerBlocks: blockWithInnerBlocks,\n\t\t\t\tindentationLevel: currentIndentationLevel,\n\t\t\t\tnumberOfListItems: totalListItems,\n\t\t\t\tordered: isOrdered,\n\t\t\t\treversed: isReversed,\n\t\t\t\tstart: startValue,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\t...( hasInnerBlocks && styles[ 'wp-block-list-item__nested-blocks' ] ),\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\trenderAppender: false,\n\t} );\n\n\t// Set default placeholder text color from light/dark scheme or base colors\n\tconst defaultPlaceholderFromScheme = usePreferredColorSchemeStyle(\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder' ],\n\t\tstyles[ 'wp-block-list-item__list-item-placeholder--dark' ]\n\t);\n\n\tconst currentTextColor = style?.color || style?.baseColors?.color?.text;\n\n\tconst defaultPlaceholderTextColor = currentTextColor\n\t\t? currentTextColor\n\t\t: defaultPlaceholderFromScheme?.color;\n\n\t// Add hex opacity to default placeholder text color and style object\n\tconst defaultPlaceholderTextColorWithOpacity =\n\t\tdefaultPlaceholderTextColor + OPACITY;\n\n\tconst styleWithPlaceholderOpacity = {\n\t\t...style,\n\t\t...( style?.color && {\n\t\t\tplaceholderColor: style.color + OPACITY,\n\t\t} ),\n\t};\n\n\tconst preventDefault = useRef( false );\n\tconst { onEnter } = useEnter( { content, clientId }, preventDefault );\n\tconst onMerge = useMerge( clientId, mergeBlocks );\n\tconst onLayout = useCallback( ( { nativeEvent } ) => {\n\t\tsetContentWidth( ( prevState ) => {\n\t\t\tconst { width } = nativeEvent.layout;\n\n\t\t\tif ( ! prevState || prevState.width !== width ) {\n\t\t\t\treturn Math.floor( width );\n\t\t\t}\n\t\t\treturn prevState;\n\t\t} );\n\t}, [] );\n\n\treturn (\n\t\t<View style={ styles[ 'wp-block-list-item__list-item-parent' ] }>\n\t\t\t<View style={ styles[ 'wp-block-list-item__list-item' ] }>\n\t\t\t\t<View style={ styles[ 'wp-block-list-item__list-item-icon' ] }>\n\t\t\t\t\t<ListStyleType\n\t\t\t\t\t\tblockIndex={ blockIndex }\n\t\t\t\t\t\tindentationLevel={ indentationLevel }\n\t\t\t\t\t\tnumberOfListItems={ numberOfListItems }\n\t\t\t\t\t\tordered={ ordered }\n\t\t\t\t\t\treversed={ reversed }\n\t\t\t\t\t\tstart={ start }\n\t\t\t\t\t\tstyle={ style }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ styles[ 'wp-block-list-item__list-item-content' ] }\n\t\t\t\t\tonLayout={ onLayout }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\t__unstableUseSplitSelection\n\t\t\t\t\t\tidentifier=\"content\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tonChange={ ( nextContent ) =>\n\t\t\t\t\t\t\tsetAttributes( { content: nextContent } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ content }\n\t\t\t\t\t\tplaceholder={ placeholder || __( 'List' ) }\n\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\tdefaultPlaceholderTextColorWithOpacity\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMerge={ onMerge }\n\t\t\t\t\t\tonEnter={ onEnter }\n\t\t\t\t\t\tstyle={ styleWithPlaceholderOpacity }\n\t\t\t\t\t\tdeleteEnter\n\t\t\t\t\t\tcontainerWidth={ contentWidth }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</View>\n\t\t\t<View { ...innerBlocksProps }></View>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<IndentUI clientId={ clientId } />\n\t\t\t</BlockControls>\n\t\t</View>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -204,7 +204,7 @@ class MediaTextEdit extends _element.Component {
|
|
|
204
204
|
verticalAlignment
|
|
205
205
|
} = attributes;
|
|
206
206
|
const mediaAreaWidth = mediaWidth && !shouldStack ? containerWidth * mediaWidth / 100 - _style.default.mediaAreaPadding.width : containerWidth;
|
|
207
|
-
const
|
|
207
|
+
const alignmentStyles = _style.default[`is-vertically-aligned-${verticalAlignment || 'center'}`];
|
|
208
208
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_mediaContainer.default, {
|
|
209
209
|
commitWidthChange: this.commitWidthChange,
|
|
210
210
|
isMediaSelected: isMediaSelected,
|
|
@@ -224,7 +224,7 @@ class MediaTextEdit extends _element.Component {
|
|
|
224
224
|
imageFill,
|
|
225
225
|
focalPoint,
|
|
226
226
|
isSelected,
|
|
227
|
-
|
|
227
|
+
alignmentStyles,
|
|
228
228
|
shouldStack
|
|
229
229
|
});
|
|
230
230
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_i18n","_blockEditor","_element","_components","_data","_compose","_icons","_constants","_mediaContainer","_interopRequireDefault","_style","_jsxRuntime","TEMPLATE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onMediaThumbnailUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","large","url","media_details","source_url","mediaAlt","alt","mediaId","id","mediaUrl","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","jsx","InspectorControls","children","PanelBody","title","__","ToggleControl","label","checked","onChange","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","aligmentStyles","default","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","isActive","onClick","onVerticalAlignmentChange","alignment","jsxs","Fragment","BlockControls","ToolbarGroup","Button","replace","controls","BlockVerticalAlignmentToolbar","value","View","onLayout","InnerBlocks","template","_default","exports","compose","withColors","withSelect","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { WIDTH_CONSTRAINT_PERCENTAGE } from './constants';\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onMediaThumbnailUpdate = this.onMediaThumbnailUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes.large?.url ||\n\t\t\t\tmedia?.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonMediaThumbnailUpdate( mediaUrl ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonMediaThumbnailUpdate={ this.onMediaThumbnailUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_i18n","_blockEditor","_element","_components","_data","_compose","_icons","_constants","_mediaContainer","_interopRequireDefault","_style","_jsxRuntime","TEMPLATE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onMediaThumbnailUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","large","url","media_details","source_url","mediaAlt","alt","mediaId","id","mediaUrl","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","jsx","InspectorControls","children","PanelBody","title","__","ToggleControl","label","checked","onChange","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","alignmentStyles","default","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","isActive","onClick","onVerticalAlignmentChange","alignment","jsxs","Fragment","BlockControls","ToolbarGroup","Button","replace","controls","BlockVerticalAlignmentToolbar","value","View","onLayout","InnerBlocks","template","_default","exports","compose","withColors","withSelect","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { WIDTH_CONSTRAINT_PERCENTAGE } from './constants';\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onMediaThumbnailUpdate = this.onMediaThumbnailUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' && media.sizes ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes.large?.url ||\n\t\t\t\tmedia?.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonMediaThumbnailUpdate( mediaUrl ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst alignmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonMediaThumbnailUpdate={ this.onMediaThumbnailUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\talignmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"],"mappings":"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","ignoreList":[]}
|