@wordpress/block-library 8.14.0 → 8.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 +4 -0
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/index.js +3 -0
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +2 -30
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +2 -1
- package/build/block/index.js.map +1 -1
- package/build/buttons/edit.js +2 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/column/edit.native.js +1 -4
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/deprecated.js +4 -2
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/index.js +2 -1
- package/build/cover/index.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +37 -13
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/file/index.js +1 -2
- package/build/file/index.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/file/view-interactivity.js +23 -0
- package/build/file/view-interactivity.js.map +1 -0
- package/build/file/view.js +1 -15
- package/build/file/view.js.map +1 -1
- package/build/footnotes/edit.js +31 -1
- package/build/footnotes/edit.js.map +1 -1
- package/build/footnotes/format.js +119 -23
- package/build/footnotes/format.js.map +1 -1
- package/build/footnotes/index.js +45 -4
- package/build/footnotes/index.js.map +1 -1
- package/build/gallery/edit.js +8 -6
- package/build/gallery/edit.js.map +1 -1
- package/build/image/deprecated.js +106 -2
- package/build/image/deprecated.js.map +1 -1
- package/build/image/image.js +2 -2
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -1
- package/build/image/index.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +1 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/edit.js +4 -4
- package/build/list/edit.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +10 -1
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/media-text/media-container.native.js +2 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/missing/edit.native.js +7 -5
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/constants.js +10 -4
- package/build/navigation/constants.js.map +1 -1
- package/build/navigation/edit/index.js +16 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +2 -2
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +1 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +4 -4
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -15
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/index.js +2 -3
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +33 -45
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view-interactivity.js +185 -0
- package/build/navigation/view-interactivity.js.map +1 -0
- package/build/navigation/view-modal.js +125 -0
- package/build/navigation/view-modal.js.map +1 -0
- package/build/navigation/view.js +71 -163
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +12 -7
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +2 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +28 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/preformatted/index.js +4 -0
- package/build/preformatted/index.js.map +1 -1
- package/build/query-pagination/edit.js +1 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-title/edit.js +43 -1
- package/build/query-title/edit.js.map +1 -1
- package/build/quote/transforms.js +8 -0
- package/build/quote/transforms.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +4 -3
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/search/view.js +166 -62
- package/build/search/view.js.map +1 -1
- package/build/site-logo/edit.js +1 -0
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/icons/index.js +13 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/icons/threads.js +25 -0
- package/build/social-link/icons/threads.js.map +1 -0
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/import-controls.js +1 -1
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/index.js +3 -0
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +4 -29
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +2 -1
- package/build-module/block/index.js.map +1 -1
- package/build-module/buttons/edit.js +2 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/column/edit.native.js +1 -4
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/deprecated.js +4 -2
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/index.js +2 -1
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +37 -14
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/file/index.js +1 -2
- package/build-module/file/index.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/file/view-interactivity.js +19 -0
- package/build-module/file/view-interactivity.js.map +1 -0
- package/build-module/file/view.js +2 -15
- package/build-module/file/view.js.map +1 -1
- package/build-module/footnotes/edit.js +29 -2
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/footnotes/format.js +120 -25
- package/build-module/footnotes/format.js.map +1 -1
- package/build-module/footnotes/index.js +45 -4
- package/build-module/footnotes/index.js.map +1 -1
- package/build-module/gallery/edit.js +8 -6
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/image/deprecated.js +107 -3
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/image.js +2 -2
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -1
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.js +3 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/edit.js +4 -4
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +10 -1
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/media-text/media-container.native.js +2 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/missing/edit.native.js +8 -6
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/constants.js +8 -3
- package/build-module/navigation/constants.js.map +1 -1
- package/build-module/navigation/edit/index.js +17 -3
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +2 -2
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +4 -4
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -14
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/index.js +2 -3
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +35 -47
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view-interactivity.js +182 -0
- package/build-module/navigation/view-interactivity.js.map +1 -0
- package/build-module/navigation/view-modal.js +120 -0
- package/build-module/navigation/view-modal.js.map +1 -0
- package/build-module/navigation/view.js +72 -163
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +12 -7
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +2 -2
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +27 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/preformatted/index.js +4 -0
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-title/edit.js +44 -3
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/quote/transforms.js +8 -0
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +4 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/search/view.js +166 -62
- package/build-module/search/view.js.map +1 -1
- package/build-module/site-logo/edit.js +1 -0
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/icons/threads.js +15 -0
- package/build-module/social-link/icons/threads.js.map +1 -0
- package/build-module/social-link/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +2 -2
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-style/details/style-rtl.css +4 -2
- package/build-style/details/style.css +4 -2
- package/build-style/footnotes/style-rtl.css +4 -3
- package/build-style/footnotes/style.css +4 -3
- package/build-style/navigation/style-rtl.css +14 -2
- package/build-style/navigation/style.css +14 -2
- package/build-style/preformatted/style-rtl.css +2 -1
- package/build-style/preformatted/style.css +2 -1
- package/build-style/query-pagination/style-rtl.css +4 -2
- package/build-style/query-pagination/style.css +4 -2
- package/build-style/social-links/style-rtl.css +7 -0
- package/build-style/social-links/style.css +7 -0
- package/build-style/style-rtl.css +36 -10
- package/build-style/style.css +36 -10
- package/build-style/video/style-rtl.css +1 -0
- package/build-style/video/style.css +1 -0
- package/package.json +33 -32
- package/src/audio/test/__snapshots__/edit.native.js.snap +118 -33
- package/src/avatar/block.json +3 -0
- package/src/avatar/edit.js +1 -0
- package/src/block/block.json +2 -1
- package/src/block/edit.js +1 -39
- package/src/block/editor.native.scss +2 -2
- package/src/buttons/edit.js +2 -2
- package/src/buttons/test/edit.native.js +4 -0
- package/src/column/edit.native.js +4 -10
- package/src/column/editor.native.scss +0 -4
- package/src/columns/edit.js +1 -0
- package/src/columns/test/edit.native.js +5 -0
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/comment-template/index.php +7 -2
- package/src/cover/block.json +2 -1
- package/src/cover/deprecated.js +2 -0
- package/src/cover/test/edit.native.js +8 -0
- package/src/embed/embed-placeholder.native.js +80 -47
- package/src/embed/styles.native.scss +54 -18
- package/src/embed/test/index.native.js +13 -5
- package/src/file/block.json +1 -2
- package/src/file/index.php +20 -2
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +119 -33
- package/src/file/view-interactivity.js +18 -0
- package/src/file/view.js +5 -14
- package/src/footnotes/block.json +44 -2
- package/src/footnotes/edit.js +33 -2
- package/src/footnotes/format.js +90 -25
- package/src/footnotes/index.js +0 -1
- package/src/footnotes/index.php +207 -0
- package/src/footnotes/style.scss +6 -3
- package/src/gallery/edit.js +42 -38
- package/src/gallery/test/index.native.js +31 -18
- package/src/heading/test/index.native.js +4 -0
- package/src/home-link/index.php +15 -2
- package/src/image/block.json +2 -1
- package/src/image/deprecated.js +109 -3
- package/src/image/image.js +2 -2
- package/src/image/index.php +45 -8
- package/src/image/test/edit.native.js +1 -2
- package/src/index.js +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/list/edit.js +6 -4
- package/src/list/test/edit.native.js +134 -33
- package/src/list-item/hooks/use-merge.js +12 -5
- package/src/media-text/media-container.native.js +1 -0
- package/src/missing/edit.native.js +12 -10
- package/src/missing/style.native.scss +19 -12
- package/src/missing/test/__snapshots__/edit.native.js.snap +42 -13
- package/src/navigation/block.json +2 -3
- package/src/navigation/constants.js +12 -6
- package/src/navigation/edit/index.js +29 -1
- package/src/navigation/edit/inner-blocks.js +2 -2
- package/src/navigation/edit/menu-inspector-controls.js +1 -1
- package/src/navigation/edit/navigation-menu-selector.js +8 -4
- package/src/navigation/edit/unsaved-inner-blocks.js +2 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +17 -21
- package/src/navigation/index.php +50 -18
- package/src/navigation/style.scss +27 -8
- package/src/navigation/use-navigation-menu.js +39 -63
- package/src/navigation/view-interactivity.js +196 -0
- package/src/navigation/view-modal.js +127 -0
- package/src/navigation/view.js +96 -185
- package/src/navigation-link/edit.js +61 -47
- package/src/navigation-submenu/edit.js +2 -2
- package/src/paragraph/test/__snapshots__/edit.native.js.snap +1 -0
- package/src/paragraph/test/edit.native.js +81 -35
- package/src/pattern/edit.js +21 -0
- package/src/pattern/index.php +13 -1
- package/src/post-template/index.php +6 -2
- package/src/post-title/index.php +8 -3
- package/src/preformatted/block.json +4 -0
- package/src/preformatted/style.scss +4 -1
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -0
- package/src/pullquote/test/edit.native.js +12 -4
- package/src/query-pagination/edit.js +17 -14
- package/src/query-title/edit.js +48 -6
- package/src/quote/test/__snapshots__/transforms.native.js.snap +10 -0
- package/src/quote/test/edit.native.js +12 -4
- package/src/quote/test/transforms.native.js +5 -1
- package/src/quote/transforms.js +13 -0
- package/src/rss/edit.js +3 -0
- package/src/search/block.json +1 -0
- package/src/search/edit.js +4 -3
- package/src/search/index.php +26 -4
- package/src/search/test/__snapshots__/edit.native.js.snap +70 -0
- package/src/search/view.js +171 -67
- package/src/site-logo/edit.js +1 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/icons/threads.js +10 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/import-controls.js +2 -2
- package/src/template-part/edit/index.js +1 -1
- package/src/template-part/index.php +7 -16
- package/src/text-columns/edit.js +1 -0
- package/src/video/style.scss +1 -0
- package/build/gallery/shared-icon.native.js +0 -38
- package/build/gallery/shared-icon.native.js.map +0 -1
- package/build-module/gallery/shared-icon.native.js +0 -24
- package/build-module/gallery/shared-icon.native.js.map +0 -1
- package/src/gallery/shared-icon.native.js +0 -23
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","columns","imageCrop","linkTarget","linkTo","sizeSlug","caption","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","length","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","sharedIcon","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","captionIcon","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\tconst innerBlocks =\n\t\t\t\tselect( blockEditorStore ).getBlock( clientId )?.innerBlocks ??\n\t\t\t\t[];\n\t\t\treturn innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t},\n\t} );\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\thandleUpload={ false }\n\t\t\ticon={ sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Gallery' ),\n\t\t\t\tinstructions: PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tonError={ onUploadError }\n\t\t\t{ ...mediaPlaceholderProps }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\tmultiple={ true }\n\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<GapStyles\n\t\t\t\t\tblockGap={ attributes.style?.spacing?.blockGap }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","allowedBlocks","PLACEHOLDER_TEXT","Platform","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","isSelected","insertBlocksAfter","isContentLocked","onFocus","columns","imageCrop","linkTarget","linkTo","sizeSlug","caption","showCaption","setShowCaption","prevCaption","captionRef","node","focus","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","selectBlock","blockEditorStore","createSuccessNotice","createErrorNotice","noticesStore","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","wasBlockJustInserted","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","imageSizeOptions","imageAttributes","image","find","newClassName","newLinkTarget","rel","linkDestination","raw","alt","alt_text","isValidFileType","file","nativeFileData","mediaTypeSelector","media_type","some","mediaType","indexOf","updateImages","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","concat","sort","a","b","length","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","imagesUploading","mediaPlaceholderProps","web","addToGallery","disableMediaButtons","native","isAppender","autoOpenMediaUpload","mediaPlaceholder","sharedIcon","title","instructions","blockProps","nativeInnerBlockProps","marginHorizontal","marginVertical","innerBlocksProps","orientation","renderAppender","children","hasLinkTo","Math","min","isWeb","captionIcon","style","spacing","blockGap","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { compose, usePrevious } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tRangeControl,\n\tSpinner,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tBlockControls,\n\tMediaReplaceFlow,\n} from '@wordpress/block-editor';\nimport {\n\tPlatform,\n\tuseCallback,\n\tuseEffect,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { caption as captionIcon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\nimport GapStyles from './gap-styles';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst allowedBlocks = [ 'core/image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tisSelected,\n\t\tinsertBlocksAfter,\n\t\tisContentLocked,\n\t\tonFocus,\n\t} = props;\n\n\tconst { columns, imageCrop, linkTarget, linkTo, sizeSlug, caption } =\n\t\tattributes;\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst prevCaption = usePrevious( caption );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t\tselectBlock,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\tconst innerBlocks =\n\t\t\t\tselect( blockEditorStore ).getBlock( clientId )?.innerBlocks ??\n\t\t\t\t[];\n\t\t\treturn innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst wasBlockJustInserted = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\t// Update the images data without creating new undo levels.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? imageData.find( ( { id } ) => id === imageAttributes.id )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\n\t\tlet newLinkTarget;\n\t\tif ( imageAttributes.linkTarget || imageAttributes.rel ) {\n\t\t\t// When transformed from image blocks, the link destination and rel attributes are inherited.\n\t\t\tnewLinkTarget = {\n\t\t\t\tlinkTarget: imageAttributes.linkTarget,\n\t\t\t\trel: imageAttributes.rel,\n\t\t\t};\n\t\t} else {\n\t\t\t// When an image is added, update the link destination and rel attributes according to the gallery settings\n\t\t\tnewLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\t\tlinkTarget,\n\t\t\t\tattributes\n\t\t\t);\n\t\t}\n\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( image, sizeSlug ),\n\t\t\t...getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tlinkTo,\n\t\t\t\timageAttributes?.linkDestination\n\t\t\t),\n\t\t\t...newLinkTarget,\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t\tcaption: imageAttributes.caption || image.caption?.raw,\n\t\t\talt: imageAttributes.alt || image.alt_text,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\t// It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.\n\t\tconst nativeFileData =\n\t\t\tPlatform.isNative && file.id\n\t\t\t\t? imageData.find( ( { id } ) => id === file.id )\n\t\t\t\t: null;\n\n\t\tconst mediaTypeSelector = nativeFileData\n\t\t\t? nativeFileData?.media_type\n\t\t\t: file.type;\n\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => mediaTypeSelector?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tcreateErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\texistingImageBlocks\n\t\t\t\t.concat( newBlocks )\n\t\t\t\t.sort(\n\t\t\t\t\t( a, b ) =>\n\t\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t\t)\n\t\t);\n\n\t\t// Select the first block to scroll into view when new blocks are added.\n\t\tif ( newBlocks?.length > 0 ) {\n\t\t\tselectBlock( newBlocks[ 0 ].clientId );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? imageData.find( ( { id } ) => id === block.attributes.id )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some( ( img ) =>\n\t\t! Platform.isNative\n\t\t\t? ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t\t\t: img.url?.indexOf( 'file:' ) === 0\n\t);\n\n\t// MediaPlaceholder props are different between web and native hence, we provide a platform-specific set.\n\tconst mediaPlaceholderProps = Platform.select( {\n\t\tweb: {\n\t\t\taddToGallery: false,\n\t\t\tdisableMediaButtons: imagesUploading,\n\t\t\tvalue: {},\n\t\t},\n\t\tnative: {\n\t\t\taddToGallery: hasImageIds,\n\t\t\tisAppender: hasImages,\n\t\t\tdisableMediaButtons:\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading,\n\t\t\tvalue: hasImageIds ? images : {},\n\t\t\tautoOpenMediaUpload:\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted,\n\t\t\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: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tconst nativeInnerBlockProps = Platform.isNative && {\n\t\tmarginHorizontal: 0,\n\t\tmarginVertical: 0,\n\t};\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks,\n\t\torientation: 'horizontal',\n\t\trenderAppender: false,\n\t\t...nativeInnerBlockProps,\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn (\n\t\t\t<View { ...innerBlocksProps }>\n\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source images.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Resolution' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ Platform.isWeb && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\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\ticon={ captionIcon }\n\t\t\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\t\thandleUpload={ false }\n\t\t\t\t\t\t\tonSelect={ updateImages }\n\t\t\t\t\t\t\tname={ __( 'Add' ) }\n\t\t\t\t\t\t\tmultiple={ true }\n\t\t\t\t\t\t\tmediaIds={ images\n\t\t\t\t\t\t\t\t.filter( ( image ) => image.id )\n\t\t\t\t\t\t\t\t.map( ( image ) => image.id ) }\n\t\t\t\t\t\t\taddToGallery={ hasImageIds }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\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\tshowCaption={ showCaption }\n\t\t\t\tref={ Platform.isWeb ? captionRef : undefined }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={\n\t\t\t\t\t! hasImages || Platform.isNative\n\t\t\t\t\t\t? mediaPlaceholder\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\tblockProps={ innerBlocksProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [ withViewportMatch( { isNarrow: '< small' } ) ] )(\n\tGalleryEdit\n);\n"]}
|
|
@@ -560,12 +560,116 @@ const v5 = {
|
|
|
560
560
|
};
|
|
561
561
|
/**
|
|
562
562
|
* Deprecation for adding width and height as style rules on the inner img.
|
|
563
|
-
* It also updates the widht and height attributes to be strings instead of numbers.
|
|
564
563
|
*
|
|
565
564
|
* @see https://github.com/WordPress/gutenberg/pull/31366
|
|
566
565
|
*/
|
|
567
566
|
|
|
568
567
|
const v6 = {
|
|
568
|
+
attributes: {
|
|
569
|
+
align: {
|
|
570
|
+
type: 'string'
|
|
571
|
+
},
|
|
572
|
+
url: {
|
|
573
|
+
type: 'string',
|
|
574
|
+
source: 'attribute',
|
|
575
|
+
selector: 'img',
|
|
576
|
+
attribute: 'src',
|
|
577
|
+
__experimentalRole: 'content'
|
|
578
|
+
},
|
|
579
|
+
alt: {
|
|
580
|
+
type: 'string',
|
|
581
|
+
source: 'attribute',
|
|
582
|
+
selector: 'img',
|
|
583
|
+
attribute: 'alt',
|
|
584
|
+
default: '',
|
|
585
|
+
__experimentalRole: 'content'
|
|
586
|
+
},
|
|
587
|
+
caption: {
|
|
588
|
+
type: 'string',
|
|
589
|
+
source: 'html',
|
|
590
|
+
selector: 'figcaption',
|
|
591
|
+
__experimentalRole: 'content'
|
|
592
|
+
},
|
|
593
|
+
title: {
|
|
594
|
+
type: 'string',
|
|
595
|
+
source: 'attribute',
|
|
596
|
+
selector: 'img',
|
|
597
|
+
attribute: 'title',
|
|
598
|
+
__experimentalRole: 'content'
|
|
599
|
+
},
|
|
600
|
+
href: {
|
|
601
|
+
type: 'string',
|
|
602
|
+
source: 'attribute',
|
|
603
|
+
selector: 'figure > a',
|
|
604
|
+
attribute: 'href',
|
|
605
|
+
__experimentalRole: 'content'
|
|
606
|
+
},
|
|
607
|
+
rel: {
|
|
608
|
+
type: 'string',
|
|
609
|
+
source: 'attribute',
|
|
610
|
+
selector: 'figure > a',
|
|
611
|
+
attribute: 'rel'
|
|
612
|
+
},
|
|
613
|
+
linkClass: {
|
|
614
|
+
type: 'string',
|
|
615
|
+
source: 'attribute',
|
|
616
|
+
selector: 'figure > a',
|
|
617
|
+
attribute: 'class'
|
|
618
|
+
},
|
|
619
|
+
id: {
|
|
620
|
+
type: 'number',
|
|
621
|
+
__experimentalRole: 'content'
|
|
622
|
+
},
|
|
623
|
+
width: {
|
|
624
|
+
type: 'number'
|
|
625
|
+
},
|
|
626
|
+
height: {
|
|
627
|
+
type: 'number'
|
|
628
|
+
},
|
|
629
|
+
aspectRatio: {
|
|
630
|
+
type: 'string'
|
|
631
|
+
},
|
|
632
|
+
scale: {
|
|
633
|
+
type: 'string'
|
|
634
|
+
},
|
|
635
|
+
sizeSlug: {
|
|
636
|
+
type: 'string'
|
|
637
|
+
},
|
|
638
|
+
linkDestination: {
|
|
639
|
+
type: 'string'
|
|
640
|
+
},
|
|
641
|
+
linkTarget: {
|
|
642
|
+
type: 'string',
|
|
643
|
+
source: 'attribute',
|
|
644
|
+
selector: 'figure > a',
|
|
645
|
+
attribute: 'target'
|
|
646
|
+
}
|
|
647
|
+
},
|
|
648
|
+
supports: {
|
|
649
|
+
anchor: true,
|
|
650
|
+
behaviors: {
|
|
651
|
+
lightbox: true
|
|
652
|
+
},
|
|
653
|
+
color: {
|
|
654
|
+
text: false,
|
|
655
|
+
background: false
|
|
656
|
+
},
|
|
657
|
+
filter: {
|
|
658
|
+
duotone: true
|
|
659
|
+
},
|
|
660
|
+
__experimentalBorder: {
|
|
661
|
+
color: true,
|
|
662
|
+
radius: true,
|
|
663
|
+
width: true,
|
|
664
|
+
__experimentalSkipSerialization: true,
|
|
665
|
+
__experimentalDefaultControls: {
|
|
666
|
+
color: true,
|
|
667
|
+
radius: true,
|
|
668
|
+
width: true
|
|
669
|
+
}
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
|
|
569
673
|
save({
|
|
570
674
|
attributes
|
|
571
675
|
}) {
|
|
@@ -587,7 +691,7 @@ const v6 = {
|
|
|
587
691
|
title
|
|
588
692
|
} = attributes;
|
|
589
693
|
const newRel = !rel ? undefined : rel;
|
|
590
|
-
const borderProps = (0, _blockEditor.
|
|
694
|
+
const borderProps = (0, _blockEditor.__experimentalGetBorderClassesAndStyles)(attributes);
|
|
591
695
|
const classes = (0, _classnames.default)({
|
|
592
696
|
[`align${align}`]: align,
|
|
593
697
|
[`size-${sizeSlug}`]: sizeSlug,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["v1","attributes","url","type","source","selector","attribute","alt","default","caption","href","id","align","width","height","save","extraImageProps","image","figureStyle","maxWidth","RichText","isEmpty","v2","v3","linkDestination","classes","v4","title","rel","linkClass","sizeSlug","linkTarget","supports","anchor","newRel","undefined","figure","useBlockProps","className","v5","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","__experimentalStyle","spacing","margin","v6","aspectRatio","scale","borderProps","style","Object","keys","length","imageClasses","objectFit"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName as getBorderClassesAndStyles,\n} from '@wordpress/block-editor';\n\n/**\n * Deprecation for adding the `wp-image-${id}` class to the image block for\n * responsive images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/4898\n */\nconst v1 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height } = attributes;\n\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\tconst image = <img src={ url } alt={ alt } { ...extraImageProps } />;\n\n\t\tlet figureStyle = {};\n\n\t\tif ( width ) {\n\t\t\tfigureStyle = { width };\n\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t}\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\tstyle={ figureStyle }\n\t\t\t>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding the `is-resized` class to the image block to fix\n * captions on resized images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/6496\n */\nconst v2 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for image floats including a wrapping div.\n *\n * @see https://github.com/WordPress/gutenberg/pull/7721\n */\nconst v3 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ classes }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for removing the outer div wrapper around aligned images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/38657\n */\nconst v4 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for moving existing border radius styles onto the inner img\n * element where new border block support styles must be applied.\n * It will also add a new `.has-custom-border` class for existing blocks\n * with border radii set. This class is required to improve caption position\n * and styling when an image within a gallery has a custom border or\n * rounded corners.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v5 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\t__experimentalDuotone: 'img',\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalStyle: {\n\t\t\tspacing: {\n\t\t\t\tmargin: '0 0 1em 0',\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding width and height as style rules on the inner img.\n * It also updates the widht and height attributes to be strings instead of numbers.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v6 = {\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ getBorderClassesAndStyles( 'caption' ) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["v1","attributes","url","type","source","selector","attribute","alt","default","caption","href","id","align","width","height","save","extraImageProps","image","figureStyle","maxWidth","RichText","isEmpty","v2","v3","linkDestination","classes","v4","title","rel","linkClass","sizeSlug","linkTarget","supports","anchor","newRel","undefined","figure","useBlockProps","className","v5","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","__experimentalStyle","spacing","margin","v6","__experimentalRole","aspectRatio","scale","behaviors","lightbox","filter","duotone","__experimentalSkipSerialization","borderProps","style","Object","keys","length","imageClasses","objectFit"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n\t__experimentalGetBorderClassesAndStyles as getBorderClassesAndStyles,\n} from '@wordpress/block-editor';\n\n/**\n * Deprecation for adding the `wp-image-${id}` class to the image block for\n * responsive images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/4898\n */\nconst v1 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height } = attributes;\n\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\tconst image = <img src={ url } alt={ alt } { ...extraImageProps } />;\n\n\t\tlet figureStyle = {};\n\n\t\tif ( width ) {\n\t\t\tfigureStyle = { width };\n\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t}\n\n\t\treturn (\n\t\t\t<figure\n\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\tstyle={ figureStyle }\n\t\t\t>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding the `is-resized` class to the image block to fix\n * captions on resized images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/6496\n */\nconst v2 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for image floats including a wrapping div.\n *\n * @see https://github.com/WordPress/gutenberg/pull/7721\n */\nconst v3 = {\n\tattributes: {\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'array',\n\t\t\tsource: 'children',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'none',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst { url, alt, caption, align, href, width, height, id } =\n\t\t\tattributes;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure className={ classes }>\n\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for removing the outer div wrapper around aligned images.\n *\n * @see https://github.com/WordPress/gutenberg/pull/38657\n */\nconst v4 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for moving existing border radius styles onto the inner img\n * element where new border block support styles must be applied.\n * It will also add a new `.has-custom-border` class for existing blocks\n * with border radii set. This class is required to improve caption position\n * and styling when an image within a gallery has a custom border or\n * rounded corners.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v5 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tcolor: {\n\t\t\t__experimentalDuotone: 'img',\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tradius: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tradius: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalStyle: {\n\t\t\tspacing: {\n\t\t\t\tmargin: '0 0 1em 0',\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\n/**\n * Deprecation for adding width and height as style rules on the inner img.\n *\n * @see https://github.com/WordPress/gutenberg/pull/31366\n */\nconst v6 = {\n\tattributes: {\n\t\talign: {\n\t\t\ttype: 'string',\n\t\t},\n\t\turl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'src',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\talt: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'alt',\n\t\t\tdefault: '',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\tcaption: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'html',\n\t\t\tselector: 'figcaption',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\ttitle: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'img',\n\t\t\tattribute: 'title',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'href',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tid: {\n\t\t\ttype: 'number',\n\t\t\t__experimentalRole: 'content',\n\t\t},\n\t\twidth: {\n\t\t\ttype: 'number',\n\t\t},\n\t\theight: {\n\t\t\ttype: 'number',\n\t\t},\n\t\taspectRatio: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tscale: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tsizeSlug: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure > a',\n\t\t\tattribute: 'target',\n\t\t},\n\t},\n\tsupports: {\n\t\tanchor: true,\n\t\tbehaviors: {\n\t\t\tlightbox: true,\n\t\t},\n\t\tcolor: {\n\t\t\ttext: false,\n\t\t\tbackground: false,\n\t\t},\n\t\tfilter: {\n\t\t\tduotone: true,\n\t\t},\n\t\t__experimentalBorder: {\n\t\t\tcolor: true,\n\t\t\tradius: true,\n\t\t\twidth: true,\n\t\t\t__experimentalSkipSerialization: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tcolor: true,\n\t\t\t\tradius: true,\n\t\t\t\twidth: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tcaption,\n\t\t\talign,\n\t\t\thref,\n\t\t\trel,\n\t\t\tlinkClass,\n\t\t\twidth,\n\t\t\theight,\n\t\t\taspectRatio,\n\t\t\tscale,\n\t\t\tid,\n\t\t\tlinkTarget,\n\t\t\tsizeSlug,\n\t\t\ttitle,\n\t\t} = attributes;\n\n\t\tconst newRel = ! rel ? undefined : rel;\n\t\tconst borderProps = getBorderClassesAndStyles( attributes );\n\n\t\tconst classes = classnames( {\n\t\t\t[ `align${ align }` ]: align,\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'is-resized': width || height,\n\t\t\t'has-custom-border':\n\t\t\t\t!! borderProps.className ||\n\t\t\t\t( borderProps.style &&\n\t\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t\t} );\n\n\t\tconst imageClasses = classnames( borderProps.className, {\n\t\t\t[ `wp-image-${ id }` ]: !! id,\n\t\t} );\n\n\t\tconst image = (\n\t\t\t<img\n\t\t\t\tsrc={ url }\n\t\t\t\talt={ alt }\n\t\t\t\tclassName={ imageClasses || undefined }\n\t\t\t\tstyle={ {\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\taspectRatio,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t} }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\ttitle={ title }\n\t\t\t/>\n\t\t);\n\n\t\tconst figure = (\n\t\t\t<>\n\t\t\t\t{ href ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t{ figure }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nexport default [ v6, v5, v4, v3, v2, v1 ];\n"]}
|
package/build/image/image.js
CHANGED
|
@@ -475,8 +475,8 @@ function Image({
|
|
|
475
475
|
ref: imageRef,
|
|
476
476
|
className: borderProps.className,
|
|
477
477
|
style: {
|
|
478
|
-
width: width && height || aspectRatio ? '100%' :
|
|
479
|
-
height: width && height || aspectRatio ? '100%' :
|
|
478
|
+
width: width && height || aspectRatio ? '100%' : undefined,
|
|
479
|
+
height: width && height || aspectRatio ? '100%' : undefined,
|
|
480
480
|
objectFit: scale,
|
|
481
481
|
...borderProps.style
|
|
482
482
|
}
|