@wordpress/block-library 8.24.0 → 8.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/audio/edit.js +7 -52
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -2
- package/build/block/edit.js +102 -11
- package/build/block/edit.js.map +1 -1
- package/build/block/index.js +3 -2
- package/build/block/index.js.map +1 -1
- package/build/block/v1/edit.js +116 -0
- package/build/block/v1/edit.js.map +1 -0
- package/build/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build/block/v1/edit.native.js.map +1 -0
- package/build/button/index.js +2 -2
- package/build/button/save.js +1 -1
- package/build/button/save.js.map +1 -1
- package/build/code/edit.native.js +13 -14
- package/build/code/edit.native.js.map +1 -1
- package/build/code/index.js +2 -2
- package/build/code/save.js +6 -2
- package/build/code/save.js.map +1 -1
- package/build/details/index.js +2 -2
- package/build/embed/deprecated.js +2 -2
- package/build/embed/embed-preview.native.js +1 -1
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/embed/icons.js +1 -1
- package/build/embed/icons.js.map +1 -1
- package/build/embed/index.js +2 -2
- package/build/embed/transforms.js +2 -2
- package/build/embed/util.js +2 -2
- package/build/file/edit.js +1 -1
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/index.js +4 -4
- package/build/file/save.js +4 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/deprecated.js +147 -0
- package/build/form-input/deprecated.js.map +1 -0
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/index.js +4 -2
- package/build/form-input/index.js.map +1 -1
- package/build/form-input/save.js +7 -9
- package/build/form-input/save.js.map +1 -1
- package/build/gallery/edit.js +2 -41
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +18 -24
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/index.js +4 -4
- package/build/gallery/v1/gallery.native.js +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/group/edit.js +6 -1
- package/build/group/edit.js.map +1 -1
- package/build/heading/index.js +3 -6
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +14 -51
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -2
- package/build/image/save.js +3 -1
- package/build/image/save.js.map +1 -1
- package/build/list-item/index.js +10 -3
- package/build/list-item/index.js.map +1 -1
- package/build/navigation/edit/index.js +1 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +2 -2
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/paragraph/edit.js +54 -32
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +2 -3
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +2 -3
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-title/index.js +1 -3
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/index.js +2 -3
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/index.js +5 -7
- package/build/pullquote/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query-title/index.js +1 -3
- package/build/query-title/index.js.map +1 -1
- package/build/quote/index.js +3 -5
- package/build/quote/index.js.map +1 -1
- package/build/quote/transforms.js +7 -6
- package/build/quote/transforms.js.map +1 -1
- package/build/site-title/index.js +1 -5
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/icons/gravatar.js +22 -0
- package/build/social-link/icons/gravatar.js.map +1 -0
- package/build/social-link/icons/index.js +11 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/variations.js +7 -0
- package/build/social-link/variations.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +9 -10
- package/build/table/index.js.map +1 -1
- package/build/table-of-contents/edit.js +2 -2
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/table-of-contents/index.js +5 -2
- package/build/table-of-contents/index.js.map +1 -1
- package/build/utils/caption.js +90 -0
- package/build/utils/caption.js.map +1 -0
- package/build/utils/remove-anchor-tag.js +2 -1
- package/build/utils/remove-anchor-tag.js.map +1 -1
- package/build/verse/index.js +3 -5
- package/build/verse/index.js.map +1 -1
- package/build/video/deprecated.js +2 -2
- package/build/video/edit.js +8 -52
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build/video/index.js +2 -2
- package/build-module/audio/edit.js +11 -56
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +2 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -2
- package/build-module/block/edit.js +104 -13
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/index.js +3 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/block/v1/edit.js +108 -0
- package/build-module/block/v1/edit.js.map +1 -0
- package/build-module/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/build-module/block/v1/edit.native.js.map +1 -0
- package/build-module/button/index.js +2 -2
- package/build-module/button/save.js +1 -1
- package/build-module/button/save.js.map +1 -1
- package/build-module/code/edit.native.js +14 -16
- package/build-module/code/edit.native.js.map +1 -1
- package/build-module/code/index.js +2 -2
- package/build-module/code/save.js +6 -2
- package/build-module/code/save.js.map +1 -1
- package/build-module/details/index.js +2 -2
- package/build-module/embed/deprecated.js +2 -2
- package/build-module/embed/embed-preview.native.js +2 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/embed/icons.js +1 -1
- package/build-module/embed/icons.js.map +1 -1
- package/build-module/embed/index.js +2 -2
- package/build-module/embed/transforms.js +2 -2
- package/build-module/embed/util.js +2 -2
- package/build-module/file/edit.js +1 -1
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/index.js +4 -4
- package/build-module/file/save.js +4 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/deprecated.js +138 -0
- package/build-module/form-input/deprecated.js.map +1 -0
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/index.js +4 -2
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-input/save.js +8 -10
- package/build-module/form-input/save.js.map +1 -1
- package/build-module/gallery/edit.js +5 -44
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +17 -21
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +2 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/index.js +4 -4
- package/build-module/gallery/v1/gallery.native.js +2 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/group/edit.js +6 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/heading/index.js +3 -6
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +19 -56
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -2
- package/build-module/image/save.js +3 -1
- package/build-module/image/save.js.map +1 -1
- package/build-module/list-item/index.js +10 -3
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +2 -2
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +2 -2
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/paragraph/edit.js +54 -32
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +2 -3
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +2 -3
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-title/index.js +1 -3
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/index.js +2 -3
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/index.js +5 -7
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query-title/index.js +1 -3
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/index.js +3 -5
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/transforms.js +7 -6
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/site-title/index.js +1 -5
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/icons/gravatar.js +14 -0
- package/build-module/social-link/icons/gravatar.js.map +1 -0
- 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/variations.js +8 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +9 -10
- package/build-module/table/index.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/table-of-contents/index.js +5 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/utils/caption.js +82 -0
- package/build-module/utils/caption.js.map +1 -0
- package/build-module/utils/remove-anchor-tag.js +2 -1
- package/build-module/utils/remove-anchor-tag.js.map +1 -1
- package/build-module/verse/index.js +3 -5
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/deprecated.js +2 -2
- package/build-module/video/edit.js +13 -57
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +2 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/index.js +2 -2
- package/build-style/editor-rtl.css +1 -11
- package/build-style/editor.css +1 -11
- package/build-style/social-links/style-rtl.css +14 -2
- package/build-style/social-links/style.css +14 -2
- package/build-style/style-rtl.css +14 -2
- package/build-style/style.css +14 -2
- package/build-style/table/editor-rtl.css +1 -11
- package/build-style/table/editor.css +1 -11
- package/package.json +32 -32
- package/src/audio/block.json +2 -2
- package/src/audio/edit.js +11 -74
- package/src/audio/edit.native.js +2 -1
- package/src/block/edit.js +143 -16
- package/src/block/index.js +3 -2
- package/src/block/index.php +48 -0
- package/src/block/v1/edit.js +163 -0
- package/src/block/{edit.native.js → v1/edit.native.js} +2 -2
- package/src/button/block.json +2 -2
- package/src/button/save.js +1 -1
- package/src/code/block.json +2 -2
- package/src/code/edit.native.js +11 -13
- package/src/code/save.js +4 -1
- package/src/code/test/edit.native.js +2 -2
- package/src/cover/test/edit.native.js +7 -1
- package/src/details/block.json +2 -2
- package/src/embed/block.json +2 -2
- package/src/embed/embed-preview.native.js +2 -1
- package/src/embed/icons.js +1 -1
- package/src/file/block.json +4 -4
- package/src/file/edit.js +1 -1
- package/src/file/edit.native.js +1 -1
- package/src/file/save.js +5 -1
- package/src/form-input/block.json +2 -2
- package/src/form-input/deprecated.js +142 -0
- package/src/form-input/edit.js +1 -1
- package/src/form-input/index.js +2 -0
- package/src/form-input/save.js +27 -24
- package/src/gallery/block.json +4 -4
- package/src/gallery/edit.js +4 -59
- package/src/gallery/gallery.js +19 -36
- package/src/gallery/gallery.native.js +6 -2
- package/src/gallery/v1/gallery.native.js +2 -1
- package/src/group/edit.js +4 -1
- package/src/heading/block.json +3 -6
- package/src/image/block.json +2 -2
- package/src/image/edit.native.js +2 -3
- package/src/image/image.js +24 -93
- package/src/image/save.js +3 -1
- package/src/list-item/block.json +10 -3
- package/src/navigation/edit/index.js +7 -2
- package/src/navigation/index.php +1 -1
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +6 -3
- package/src/page-list/convert-to-links-modal.js +2 -2
- package/src/paragraph/block.json +2 -3
- package/src/paragraph/edit.js +53 -40
- package/src/post-title/block.json +1 -3
- package/src/preformatted/block.json +2 -3
- package/src/pullquote/block.json +5 -7
- package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -0
- package/src/query-title/block.json +1 -3
- package/src/quote/block.json +3 -5
- package/src/quote/transforms.js +12 -11
- package/src/site-title/block.json +1 -5
- package/src/social-link/icons/gravatar.js +10 -0
- package/src/social-link/icons/index.js +1 -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/social-links/style.scss +14 -8
- package/src/table/block.json +9 -10
- package/src/table/edit.js +3 -1
- package/src/table/editor.scss +1 -14
- package/src/table-of-contents/edit.js +1 -1
- package/src/table-of-contents/index.js +5 -1
- package/src/utils/caption.js +108 -0
- package/src/utils/remove-anchor-tag.js +2 -1
- package/src/verse/block.json +3 -5
- package/src/video/block.json +2 -2
- package/src/video/edit.js +12 -74
- package/src/video/edit.native.js +2 -1
- package/build/block/edit.native.js.map +0 -1
- package/build/table-of-contents/icon.js +0 -22
- package/build/table-of-contents/icon.js.map +0 -1
- package/build-module/block/edit.native.js.map +0 -1
- package/build-module/table-of-contents/icon.js +0 -15
- package/build-module/table-of-contents/icon.js.map +0 -1
- package/src/table-of-contents/icon.js +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_galleryImage","_interopRequireDefault","_deprecated","_galleryStyles","_tiles","_i18n","_blockEditor","_element","_reactNativeBridge","_data","_components","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","alignmentHelpers","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","useEffect","mediaUploadSync","isRTL","useSelect","select","blockEditorStore","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","defaultColumnsNumberV1","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","_react","createElement","View","style","flex","default","spacing","styles","galleryTilesContainerSelected","undefined","map","img","ariaLabel","sprintf","__","length","key","id","url","alt","parseInt","isCropped","isFirstItem","isLastItem","isBlockSelected","onRemove","onSelect","onSelectBlock","setAttributes","attrs","caption","fullWidth","BlockCaption","accessible","accessibilityLabelCreator","exports","_default"],"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_galleryImage","_interopRequireDefault","_deprecated","_galleryStyles","_tiles","_i18n","_blockEditor","_element","_reactNativeBridge","_data","_components","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","alignmentHelpers","Gallery","props","isCaptionSelected","setIsCaptionSelected","useState","useEffect","mediaUploadSync","isRTL","useSelect","select","blockEditorStore","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","defaultColumnsNumberV1","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","_react","createElement","View","style","flex","default","spacing","styles","galleryTilesContainerSelected","undefined","map","img","ariaLabel","sprintf","__","length","key","id","url","alt","parseInt","isCropped","isFirstItem","isLastItem","isBlockSelected","onRemove","onSelect","onSelectBlock","setAttributes","attrs","caption","fullWidth","BlockCaption","accessible","accessibilityLabelCreator","RichText","isEmpty","exports","_default"],"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"],"mappings":"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"}
|
package/build/group/edit.js
CHANGED
|
@@ -8,6 +8,7 @@ var _react = require("react");
|
|
|
8
8
|
var _data = require("@wordpress/data");
|
|
9
9
|
var _blockEditor = require("@wordpress/block-editor");
|
|
10
10
|
var _components = require("@wordpress/components");
|
|
11
|
+
var _element = require("@wordpress/element");
|
|
11
12
|
var _i18n = require("@wordpress/i18n");
|
|
12
13
|
var _primitives = require("@wordpress/primitives");
|
|
13
14
|
var _placeholder = _interopRequireWildcard(require("./placeholder"));
|
|
@@ -109,7 +110,10 @@ function GroupEdit({
|
|
|
109
110
|
const layoutSupportEnabled = themeSupportsLayout || type === 'flex' || type === 'grid';
|
|
110
111
|
|
|
111
112
|
// Hooks.
|
|
112
|
-
const
|
|
113
|
+
const ref = (0, _element.useRef)();
|
|
114
|
+
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
115
|
+
ref
|
|
116
|
+
});
|
|
113
117
|
const [showPlaceholder, setShowPlaceholder] = (0, _placeholder.useShouldShowPlaceHolder)({
|
|
114
118
|
attributes,
|
|
115
119
|
usedLayoutType: type,
|
|
@@ -132,6 +136,7 @@ function GroupEdit({
|
|
|
132
136
|
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(layoutSupportEnabled ? blockProps : {
|
|
133
137
|
className: 'wp-block-group__inner-container'
|
|
134
138
|
}, {
|
|
139
|
+
dropZoneElement: ref.current,
|
|
135
140
|
templateLock,
|
|
136
141
|
allowedBlocks,
|
|
137
142
|
renderAppender
|
package/build/group/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blockEditor","_components","_i18n","_primitives","_placeholder","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","__","main","section","article","aside","footer","_react","createElement","InspectorControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help","GroupEdit","attributes","name","setAttributes","clientId","hasInnerBlocks","themeSupportsLayout","useSelect","select","getBlock","getSettings","blockEditorStore","block","innerBlocks","length","supportsLayout","TagName","templateLock","allowedBlocks","layout","type","layoutSupportEnabled","blockProps","useBlockProps","showPlaceholder","setShowPlaceholder","useShouldShowPlaceHolder","usedLayoutType","renderAppender","InnerBlocks","ButtonBlockAppender","innerBlocksProps","useInnerBlocksProps","className","selectBlock","useDispatch","selectVariation","nextVariation","Fragment","View","children","onSelect","_default","exports"],"sources":["@wordpress/block-library/src/group/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( { attributes, name, setAttributes, clientId } ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst {\n\t\ttagName: TagName = 'div',\n\t\ttemplateLock,\n\t\tallowedBlocks,\n\t\tlayout = {},\n\t} = attributes;\n\n\t// Layout settings.\n\tconst { type = 'default' } = layout;\n\tconst layoutSupportEnabled =\n\t\tthemeSupportsLayout || type === 'flex' || type === 'grid';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps();\n\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: type,\n\t\thasInnerBlocks,\n\t} );\n\n\t// Default to the regular appender being rendered.\n\tlet renderAppender;\n\tif ( showPlaceholder ) {\n\t\t// In the placeholder state, ensure the appender is not rendered.\n\t\t// This is needed because `...innerBlocksProps` is used in the placeholder\n\t\t// state so that blocks can dragged onto the placeholder area\n\t\t// from both the list view and in the editor canvas.\n\t\trenderAppender = false;\n\t} else if ( ! hasInnerBlocks ) {\n\t\t// When there is no placeholder, but the block is also empty,\n\t\t// use the larger button appender.\n\t\trenderAppender = InnerBlocks.ButtonBlockAppender;\n\t}\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\tallowedBlocks,\n\t\t\trenderAppender,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tselectBlock( clientId, -1 );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<View>\n\t\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAOA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAKA,IAAAK,YAAA,GAAAC,uBAAA,CAAAN,OAAA;AAA2E,SAAAO,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAF,wBAAAM,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,oBAAAA,GAAA,wBAAAA,GAAA,4BAAAE,OAAA,EAAAF,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,CAAAJ,OAAA,GAAAF,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAlB3E;AACA;AACA;;AAaA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASW,iBAAiBA,CAAE;EAAEC,OAAO;EAAEC;AAAgB,CAAC,EAAG;EAC1D,MAAMC,mBAAmB,GAAG;IAC3BC,MAAM,EAAE,IAAAC,QAAE,EACT,qHACD,CAAC;IACDC,IAAI,EAAE,IAAAD,QAAE,EACP,mFACD,CAAC;IACDE,OAAO,EAAE,IAAAF,QAAE,EACV,kIACD,CAAC;IACDG,OAAO,EAAE,IAAAH,QAAE,EACV,gGACD,CAAC;IACDI,KAAK,EAAE,IAAAJ,QAAE,EACR,uIACD,CAAC;IACDK,MAAM,EAAE,IAAAL,QAAE,EACT,8HACD;EACD,CAAC;EACD,OACC,IAAAM,MAAA,CAAAC,aAAA,EAACxC,YAAA,CAAAyC,iBAAiB;IAACC,KAAK,EAAC;EAAU,GAClC,IAAAH,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA0C,aAAa;IACbC,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAG,IAAAb,QAAE,EAAE,cAAe,CAAG;IAC9Bc,OAAO,EAAG,CACT;MAAED,KAAK,EAAE,IAAAb,QAAE,EAAE,iBAAkB,CAAC;MAAEe,KAAK,EAAE;IAAM,CAAC,EAChD;MAAEF,KAAK,EAAE,UAAU;MAAEE,KAAK,EAAE;IAAS,CAAC,EACtC;MAAEF,KAAK,EAAE,QAAQ;MAAEE,KAAK,EAAE;IAAO,CAAC,EAClC;MAAEF,KAAK,EAAE,WAAW;MAAEE,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEF,KAAK,EAAE,WAAW;MAAEE,KAAK,EAAE;IAAU,CAAC,EACxC;MAAEF,KAAK,EAAE,SAAS;MAAEE,KAAK,EAAE;IAAQ,CAAC,EACpC;MAAEF,KAAK,EAAE,UAAU;MAAEE,KAAK,EAAE;IAAS,CAAC,CACpC;IACHA,KAAK,EAAGnB,OAAS;IACjBoB,QAAQ,EAAGnB,eAAiB;IAC5BoB,IAAI,EAAGnB,mBAAmB,CAAEF,OAAO;EAAI,CACvC,CACiB,CAAC;AAEtB;AAEA,SAASsB,SAASA,CAAE;EAAEC,UAAU;EAAEC,IAAI;EAAEC,aAAa;EAAEC;AAAS,CAAC,EAAG;EACnE,MAAM;IAAEC,cAAc;IAAEC;EAAoB,CAAC,GAAG,IAAAC,eAAS,EACtDC,MAAM,IAAM;IACb,MAAM;MAAEC,QAAQ;MAAEC;IAAY,CAAC,GAAGF,MAAM,CAAEG,kBAAiB,CAAC;IAC5D,MAAMC,KAAK,GAAGH,QAAQ,CAAEL,QAAS,CAAC;IAClC,OAAO;MACNC,cAAc,EAAE,CAAC,EAAIO,KAAK,IAAIA,KAAK,CAACC,WAAW,CAACC,MAAM,CAAE;MACxDR,mBAAmB,EAAEI,WAAW,CAAC,CAAC,EAAEK;IACrC,CAAC;EACF,CAAC,EACD,CAAEX,QAAQ,CACX,CAAC;EAED,MAAM;IACL1B,OAAO,EAAEsC,OAAO,GAAG,KAAK;IACxBC,YAAY;IACZC,aAAa;IACbC,MAAM,GAAG,CAAC;EACX,CAAC,GAAGlB,UAAU;;EAEd;EACA,MAAM;IAAEmB,IAAI,GAAG;EAAU,CAAC,GAAGD,MAAM;EACnC,MAAME,oBAAoB,GACzBf,mBAAmB,IAAIc,IAAI,KAAK,MAAM,IAAIA,IAAI,KAAK,MAAM;;EAE1D;EACA,MAAME,UAAU,GAAG,IAAAC,0BAAa,EAAC,CAAC;EAElC,MAAM,CAAEC,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAC,qCAAwB,EAAE;IACzEzB,UAAU;IACV0B,cAAc,EAAEP,IAAI;IACpBf;EACD,CAAE,CAAC;;EAEH;EACA,IAAIuB,cAAc;EAClB,IAAKJ,eAAe,EAAG;IACtB;IACA;IACA;IACA;IACAI,cAAc,GAAG,KAAK;EACvB,CAAC,MAAM,IAAK,CAAEvB,cAAc,EAAG;IAC9B;IACA;IACAuB,cAAc,GAAGC,wBAAW,CAACC,mBAAmB;EACjD;EAEA,MAAMC,gBAAgB,GAAG,IAAAC,gCAAmB,EAC3CX,oBAAoB,GACjBC,UAAU,GACV;IAAEW,SAAS,EAAE;EAAkC,CAAC,EACnD;IACChB,YAAY;IACZC,aAAa;IACbU;EACD,CACD,CAAC;EAED,MAAM;IAAEM;EAAY,CAAC,GAAG,IAAAC,iBAAW,EAAExB,kBAAiB,CAAC;EAEvD,MAAMyB,eAAe,GAAKC,aAAa,IAAM;IAC5ClC,aAAa,CAAEkC,aAAa,CAACpC,UAAW,CAAC;IACzCiC,WAAW,CAAE9B,QAAQ,EAAE,CAAC,CAAE,CAAC;IAC3BqB,kBAAkB,CAAE,KAAM,CAAC;EAC5B,CAAC;EAED,OACC,IAAArC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAkD,QAAA,QACC,IAAAlD,MAAA,CAAAC,aAAA,EAACZ,iBAAiB;IACjBC,OAAO,EAAGsC,OAAS;IACnBrC,eAAe,EAAKkB,KAAK,IACxBM,aAAa,CAAE;MAAEzB,OAAO,EAAEmB;IAAM,CAAE;EAClC,CACD,CAAC,EACA2B,eAAe,IAChB,IAAApC,MAAA,CAAAC,aAAA,EAACrC,WAAA,CAAAuF,IAAI,QACFR,gBAAgB,CAACS,QAAQ,EAC3B,IAAApD,MAAA,CAAAC,aAAA,EAACpC,YAAA,CAAAS,OAAgB;IAChBwC,IAAI,EAAGA,IAAM;IACbuC,QAAQ,EAAGL;EAAiB,CAC5B,CACI,CACN,EACCf,oBAAoB,IAAI,CAAEG,eAAe,IAC1C,IAAApC,MAAA,CAAAC,aAAA,EAAC2B,OAAO;IAAA,GAAMe;EAAgB,CAAI,CAClC,EAGC,CAAEV,oBAAoB,IAAI,CAAEG,eAAe,IAC5C,IAAApC,MAAA,CAAAC,aAAA,EAAC2B,OAAO;IAAA,GAAMM;EAAU,GACvB,IAAAlC,MAAA,CAAAC,aAAA;IAAA,GAAU0C;EAAgB,CAAI,CACtB,CAET,CAAC;AAEL;AAAC,IAAAW,QAAA,GAEc1C,SAAS;AAAA2C,OAAA,CAAAjF,OAAA,GAAAgF,QAAA"}
|
|
1
|
+
{"version":3,"names":["_data","require","_blockEditor","_components","_element","_i18n","_primitives","_placeholder","_interopRequireWildcard","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","__","main","section","article","aside","footer","_react","createElement","InspectorControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help","GroupEdit","attributes","name","setAttributes","clientId","hasInnerBlocks","themeSupportsLayout","useSelect","select","getBlock","getSettings","blockEditorStore","block","innerBlocks","length","supportsLayout","TagName","templateLock","allowedBlocks","layout","type","layoutSupportEnabled","ref","useRef","blockProps","useBlockProps","showPlaceholder","setShowPlaceholder","useShouldShowPlaceHolder","usedLayoutType","renderAppender","InnerBlocks","ButtonBlockAppender","innerBlocksProps","useInnerBlocksProps","className","dropZoneElement","current","selectBlock","useDispatch","selectVariation","nextVariation","Fragment","View","children","onSelect","_default","exports"],"sources":["@wordpress/block-library/src/group/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { View } from '@wordpress/primitives';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( { attributes, name, setAttributes, clientId } ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst {\n\t\ttagName: TagName = 'div',\n\t\ttemplateLock,\n\t\tallowedBlocks,\n\t\tlayout = {},\n\t} = attributes;\n\n\t// Layout settings.\n\tconst { type = 'default' } = layout;\n\tconst layoutSupportEnabled =\n\t\tthemeSupportsLayout || type === 'flex' || type === 'grid';\n\n\t// Hooks.\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: type,\n\t\thasInnerBlocks,\n\t} );\n\n\t// Default to the regular appender being rendered.\n\tlet renderAppender;\n\tif ( showPlaceholder ) {\n\t\t// In the placeholder state, ensure the appender is not rendered.\n\t\t// This is needed because `...innerBlocksProps` is used in the placeholder\n\t\t// state so that blocks can dragged onto the placeholder area\n\t\t// from both the list view and in the editor canvas.\n\t\trenderAppender = false;\n\t} else if ( ! hasInnerBlocks ) {\n\t\t// When there is no placeholder, but the block is also empty,\n\t\t// use the larger button appender.\n\t\trenderAppender = InnerBlocks.ButtonBlockAppender;\n\t}\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\tdropZoneElement: ref.current,\n\t\t\ttemplateLock,\n\t\t\tallowedBlocks,\n\t\t\trenderAppender,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tselectBlock( clientId, -1 );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<View>\n\t\t\t\t\t{ innerBlocksProps.children }\n\t\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"],"mappings":"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"}
|
package/build/heading/index.js
CHANGED
|
@@ -32,10 +32,9 @@ const metadata = {
|
|
|
32
32
|
type: "string"
|
|
33
33
|
},
|
|
34
34
|
content: {
|
|
35
|
-
type: "
|
|
36
|
-
source: "
|
|
35
|
+
type: "rich-text",
|
|
36
|
+
source: "rich-text",
|
|
37
37
|
selector: "h1,h2,h3,h4,h5,h6",
|
|
38
|
-
"default": "",
|
|
39
38
|
__experimentalRole: "content"
|
|
40
39
|
},
|
|
41
40
|
level: {
|
|
@@ -77,9 +76,7 @@ const metadata = {
|
|
|
77
76
|
__experimentalTextDecoration: true,
|
|
78
77
|
__experimentalWritingMode: true,
|
|
79
78
|
__experimentalDefaultControls: {
|
|
80
|
-
fontSize: true
|
|
81
|
-
fontAppearance: true,
|
|
82
|
-
textTransform: true
|
|
79
|
+
fontSize: true
|
|
83
80
|
}
|
|
84
81
|
},
|
|
85
82
|
__unstablePasteTextInline: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","
|
|
1
|
+
{"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","editorStyle","style","exports","settings","icon","example","__","__experimentalLabel","context","customName","length","sprintf","transforms","deprecated","merge","attributesToMerge","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || content ) ) {\n\t\t\treturn attributes?.metadata?.name || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! content || content.length === 0\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
|
|
@@ -268,7 +268,7 @@ class ImageEdit extends _element.Component {
|
|
|
268
268
|
}
|
|
269
269
|
accessibilityLabelCreator(caption) {
|
|
270
270
|
// Checks if caption is empty.
|
|
271
|
-
return
|
|
271
|
+
return _blockEditor.RichText.isEmpty(caption) ? /* translators: accessibility text. Empty image caption. */
|
|
272
272
|
'Image caption. Empty' : (0, _i18n.sprintf)( /* translators: accessibility text. %s: image caption. */
|
|
273
273
|
(0, _i18n.__)('Image caption. %s'), caption);
|
|
274
274
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_native","_element","_reactNativeBridge","_components","_blockEditor","_i18n","_url","_hooks","_compose","_data","_icons","_coreData","_notices","_editPost","_styles","_interopRequireDefault","_utils","_constants","getUrlForSlug","image","sizeSlug","undefined","media_details","sizes","source_url","LinkSettings","attributes","isLinkSheetVisible","setMappedAttributes","route","useRoute","href","url","label","linkDestination","linkTarget","rel","useEffect","inputValue","newUrl","params","newLinkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_CUSTOM","valueMask","__","linkSettingsOptions","autoFocus","autoFill","openInNewTab","linkRel","placeholder","_x","_react","createElement","PanelBody","title","LinkSettingsNavigation","isVisible","setAttributes","withBottomSheet","hasPicker","options","showIcon","onLinkCellPressed","navigation","navigate","blockSettingsScreens","imageLinkDestinations","imageUrl","attachmentPageUrl","UPLOAD_STATE_IDLE","UPLOAD_STATE_UPLOADING","UPLOAD_STATE_SUCCEEDED","UPLOAD_STATE_FAILED","ImageEdit","Component","constructor","props","state","isCaptionSelected","uploadStatus","replacedFeaturedImage","finishMediaUploadWithSuccess","bind","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","updateMediaProgress","updateImageURL","onSetNewTab","onSetSizeSlug","onImagePressed","onSetFeatured","onFocusCaption","onSelectURL","accessibilityLabelCreator","onSizeChangeValue","componentDidMount","id","console","warn","getProtocol","requestMediaImport","mediaUploadSync","componentWillUnmount","hasAction","doAction","componentDidUpdate","previousProps","featuredImageId","hasQueryArg","updatedUrl","previousId","canImageBeFeatured","setFeaturedImage","align","__unstableMarkNextChangeAsNotPersistent","includes","width","height","aspectRatio","scale","getDerivedStateFromProps","isSelected","caption","trim","length","sprintf","requestImageUploadCancelDialog","requestImageFailedRetryDialog","requestImageFullscreenPreview","setState","payload","mediaUrl","mediaServerId","mediaId","value","updatedLinkTarget","getUpdatedLinkTargetSettings","media","imageDefaultSize","destination","mediaAttributes","alt","additionalAttributes","newURL","createErrorNotice","isURL","isFetchingImage","RNImage","getSize","onFocus","getPlaceholderIcon","Icon","icon","placeholderIcon","getStylesFromColorScheme","styles","iconPlaceholder","iconPlaceholderDark","showLoadingIndicator","View","style","image__loading","ActivityIndicator","animating","getWidth","Object","values","WIDE_ALIGNMENTS","alignments","restAttributes","getAltTextSettings","updateAlt","newAlt","BottomSheetTextControl","initialValue","onChange","textColor","footerNote","Fragment","FooterMessageLink","newValue","closeSettingsBottomSheet","getFeaturedButtonPanel","isFeaturedImage","setFeaturedButtonStyle","setFeaturedButton","setFeaturedButtonDark","removeFeaturedButton","BottomSheet","Cell","labelStyle","cellContainerStyle","setFeaturedButtonCellContainer","separatorType","onPress","MEDIA_ID_NO_FEATURED_IMAGE_SET","isGif","toLowerCase","render","clientId","context","wasBlockJustInserted","shouldUseFastImage","className","hasImageContext","keys","imageSizes","Array","isArray","sizeOptions","filter","slug","map","name","selectedSizeOption","sizeOptionsValid","find","option","getToolbarEditButton","open","BlockControls","ToolbarGroup","ToolbarButton","replace","onClick","getInspectorControls","InspectorControls","panelBody","BlockStyles","BottomSheetSelectControl","fullscreen","titleStyle","featuredImagePanelTitle","FooterMessageControl","content","MediaPlaceholder","allowedTypes","MEDIA_TYPE_IMAGE","onSelect","autoOpenMediaUpload","alignToFlex","left","center","right","full","wide","additionalImageProps","resizeMode","imageCrop","imageContainerStyles","fixedHeight","badgeLabelShown","badgeLabelText","getImageComponent","openMediaOptions","getMediaOptions","Badge","show","TouchableWithoutFeedback","accessible","disabled","MediaUploadProgress","coverUrl","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Image","shapeStyle","BlockCaption","onBlur","insertBlocksAfter","MediaUpload","isReplacingMedia","exports","_default","compose","withSelect","select","getMedia","coreStore","getSettings","blockEditorStore","getEditedPostAttribute","capabilities","isNotFileUrl","shouldGetMedia","withDispatch","dispatch","noticesStore","editPostStore","closeGeneralSidebar","withPreferredColorScheme","default"],"sources":["@wordpress/block-library/src/image/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tImage as RNImage,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\nimport { useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, useEffect } from '@wordpress/element';\nimport {\n\trequestMediaImport,\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tsetFeaturedImage,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tPanelBody,\n\tToolbarButton,\n\tToolbarGroup,\n\tImage,\n\tWIDE_ALIGNMENTS,\n\tLinkSettingsNavigation,\n\tBottomSheet,\n\tBottomSheetTextControl,\n\tBottomSheetSelectControl,\n\tFooterMessageControl,\n\tFooterMessageLink,\n\tBadge,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_IMAGE,\n\tBlockControls,\n\tInspectorControls,\n\tBlockStyles,\n\tstore as blockEditorStore,\n\tblockSettingsScreens,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getProtocol, hasQueryArg, isURL } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\timage as placeholderIcon,\n\treplace,\n\tfullscreen,\n\ttextColor,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { getUpdatedLinkTargetSettings } from './utils';\n\nimport {\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tMEDIA_ID_NO_FEATURED_IMAGE_SET,\n} from './constants';\n\nconst getUrlForSlug = ( image, sizeSlug ) => {\n\tif ( ! sizeSlug ) {\n\t\treturn undefined;\n\t}\n\treturn image?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n};\n\nfunction LinkSettings( {\n\tattributes,\n\timage,\n\tisLinkSheetVisible,\n\tsetMappedAttributes,\n} ) {\n\tconst route = useRoute();\n\tconst { href: url, label, linkDestination, linkTarget, rel } = attributes;\n\n\t// Persist attributes passed from child screen.\n\tuseEffect( () => {\n\t\tconst { inputValue: newUrl } = route.params || {};\n\n\t\tlet newLinkDestination;\n\t\tswitch ( newUrl ) {\n\t\t\tcase attributes.url:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\tbreak;\n\t\t\tcase image?.link:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\tbreak;\n\t\t\tcase '':\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tsetMappedAttributes( {\n\t\t\turl: newUrl,\n\t\t\tlinkDestination: newLinkDestination,\n\t\t} );\n\t}, [ route.params?.inputValue ] );\n\n\tlet valueMask;\n\tswitch ( linkDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\tvalueMask = __( 'Media File' );\n\t\t\tbreak;\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\tvalueMask = __( 'Attachment Page' );\n\t\t\tbreak;\n\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\tvalueMask = __( 'Custom URL' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalueMask = __( 'None' );\n\t\t\tbreak;\n\t}\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tvalueMask,\n\t\t\tautoFocus: false,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\treturn (\n\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ url }\n\t\t\t\trel={ rel }\n\t\t\t\tlabel={ label }\n\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\tsetAttributes={ setMappedAttributes }\n\t\t\t\twithBottomSheet={ false }\n\t\t\t\thasPicker\n\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\tshowIcon={ false }\n\t\t\t\tonLinkCellPressed={ ( { navigation } ) => {\n\t\t\t\t\tnavigation.navigate(\n\t\t\t\t\t\tblockSettingsScreens.imageLinkDestinations,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinputValue: attributes.href,\n\t\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\t\timageUrl: attributes.url,\n\t\t\t\t\t\t\tattachmentPageUrl: image?.link,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nconst UPLOAD_STATE_IDLE = 0;\nconst UPLOAD_STATE_UPLOADING = 1;\nconst UPLOAD_STATE_SUCCEEDED = 2;\nconst UPLOAD_STATE_FAILED = 3;\n\nexport class ImageEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tuploadStatus: UPLOAD_STATE_IDLE,\n\t\t};\n\n\t\tthis.replacedFeaturedImage = false;\n\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.updateImageURL = this.updateImageURL.bind( this );\n\t\tthis.onSetNewTab = this.onSetNewTab.bind( this );\n\t\tthis.onSetSizeSlug = this.onSetSizeSlug.bind( this );\n\t\tthis.onImagePressed = this.onImagePressed.bind( this );\n\t\tthis.onSetFeatured = this.onSetFeatured.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.accessibilityLabelCreator =\n\t\t\tthis.accessibilityLabelCreator.bind( this );\n\t\tthis.setMappedAttributes = this.setMappedAttributes.bind( this );\n\t\tthis.onSizeChangeValue = this.onSizeChangeValue.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\t// This will warn when we have `id` defined, while `url` is undefined.\n\t\t// This may help track this issue: https://github.com/wordpress-mobile/WordPress-Android/issues/9768\n\t\t// where a cancelled image upload was resulting in a subsequent crash.\n\t\tif ( attributes.id && ! attributes.url ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn( 'Attributes has id with no url.' );\n\t\t}\n\n\t\t// Detect any pasted image and start an upload.\n\t\tif (\n\t\t\t! attributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\trequestMediaImport( attributes.url, ( id, url ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\tsetAttributes( { id, url } );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.uploadStatus === UPLOAD_STATE_UPLOADING\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentDidUpdate( previousProps ) {\n\t\tconst { image, attributes, setAttributes, featuredImageId } =\n\t\t\tthis.props;\n\t\tconst { url } = attributes;\n\t\tif ( ! previousProps.image && image ) {\n\t\t\tif ( ! hasQueryArg( url, 'w' ) && attributes?.sizeSlug ) {\n\t\t\t\tconst updatedUrl =\n\t\t\t\t\tgetUrlForSlug( image, attributes.sizeSlug ) ||\n\t\t\t\t\timage.source_url;\n\n\t\t\t\tsetAttributes( { url: updatedUrl } );\n\t\t\t}\n\t\t}\n\n\t\tconst { id } = attributes;\n\t\tconst { id: previousId } = previousProps.attributes;\n\n\t\t// The media changed and the previous media was set as the Featured Image,\n\t\t// we must keep track of the previous media's featured status to act on it\n\t\t// once the new media has a finalized ID.\n\t\tif (\n\t\t\t!! id &&\n\t\t\tid !== previousId &&\n\t\t\t!! featuredImageId &&\n\t\t\tfeaturedImageId === previousId\n\t\t) {\n\t\t\tthis.replacedFeaturedImage = true;\n\t\t}\n\n\t\t// The media changed and now has a finalized ID (e.g. upload completed), we\n\t\t// should attempt to replace the featured image if applicable.\n\t\tif (\n\t\t\tthis.replacedFeaturedImage &&\n\t\t\t!! image &&\n\t\t\tthis.canImageBeFeatured()\n\t\t) {\n\t\t\tthis.replacedFeaturedImage = false;\n\t\t\tsetFeaturedImage( id );\n\t\t}\n\n\t\tconst { align } = attributes;\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } = this.props;\n\n\t\t// Update the attributes if the align is wide or full\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\taccessibilityLabelCreator( caption ) {\n\t\t// Checks if caption is empty.\n\t\treturn ( typeof caption === 'string' && caption.trim().length === 0 ) ||\n\t\t\tcaption === undefined ||\n\t\t\tcaption === null\n\t\t\t? /* translators: accessibility text. Empty image caption. */\n\t\t\t 'Image caption. Empty'\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: image caption. */\n\t\t\t\t\t__( 'Image caption. %s' ),\n\t\t\t\t\tcaption\n\t\t\t );\n\t}\n\n\tonImagePressed() {\n\t\tconst { attributes, image } = this.props;\n\n\t\tif ( this.state.uploadStatus === UPLOAD_STATE_UPLOADING ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t} else if ( ! this.state.isCaptionSelected ) {\n\t\t\trequestImageFullscreenPreview(\n\t\t\t\tattributes.url,\n\t\t\t\timage && image.source_url\n\t\t\t);\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\n\t\tif ( this.state.uploadStatus !== UPLOAD_STATE_UPLOADING ) {\n\t\t\tthis.setState( { uploadStatus: UPLOAD_STATE_UPLOADING } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { url: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_SUCCEEDED } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_FAILED } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { id: null, url: null } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_IDLE } );\n\t}\n\n\tupdateImageURL( url ) {\n\t\tthis.props.setAttributes( {\n\t\t\turl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t} );\n\t}\n\n\tonSetNewTab( value ) {\n\t\tconst updatedLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\tvalue,\n\t\t\tthis.props.attributes\n\t\t);\n\t\tthis.props.setAttributes( updatedLinkTarget );\n\t}\n\n\tonSetSizeSlug( sizeSlug ) {\n\t\tconst { image, setAttributes } = this.props;\n\n\t\tconst url = getUrlForSlug( image, sizeSlug );\n\t\tif ( ! url ) {\n\t\t\treturn null;\n\t\t}\n\t\tsetAttributes( {\n\t\t\turl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug,\n\t\t} );\n\t}\n\n\tonSelectMediaUploadOption( media ) {\n\t\tconst { imageDefaultSize } = this.props;\n\t\tconst { id, url, destination } = this.props.attributes;\n\t\tconst mediaAttributes = {\n\t\t\tid: media.id,\n\t\t\turl: media.url,\n\t\t\tcaption: media.caption,\n\t\t\talt: media.alt,\n\t\t};\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\" option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\tlet href;\n\t\tswitch ( destination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tthis.props.setAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t} );\n\t}\n\n\tonSelectURL( newURL ) {\n\t\tconst { createErrorNotice, imageDefaultSize, setAttributes } =\n\t\t\tthis.props;\n\n\t\tif ( isURL( newURL ) ) {\n\t\t\tthis.setState( {\n\t\t\t\tisFetchingImage: true,\n\t\t\t} );\n\n\t\t\t// Use RN's Image.getSize to determine if URL is a valid image\n\t\t\tRNImage.getSize(\n\t\t\t\tnewURL,\n\t\t\t\t() => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t\t\t} );\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tisFetchingImage: false,\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tcreateErrorNotice( __( 'Image file not found.' ) );\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tisFetchingImage: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonFocusCaption() {\n\t\tif ( this.props.onFocus ) {\n\t\t\tthis.props.onFocus();\n\t\t}\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tisCaptionSelected: true,\n\t\t\t} );\n\t\t}\n\t}\n\n\tgetPlaceholderIcon() {\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t{ ...this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tshowLoadingIndicator() {\n\t\treturn (\n\t\t\t<View style={ styles.image__loading }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tgetWidth() {\n\t\tconst { attributes } = this.props;\n\t\tconst { align, width } = attributes;\n\n\t\treturn Object.values( WIDE_ALIGNMENTS.alignments ).includes( align )\n\t\t\t? '100%'\n\t\t\t: width;\n\t}\n\n\tsetMappedAttributes( { url: href, linkDestination, ...restAttributes } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( ! href && ! linkDestination ) {\n\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t} else if ( ! linkDestination ) {\n\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t}\n\n\t\treturn href === undefined || href === this.props.attributes.href\n\t\t\t? setAttributes( restAttributes )\n\t\t\t: setAttributes( {\n\t\t\t\t\t...restAttributes,\n\t\t\t\t\tlinkDestination,\n\t\t\t\t\thref,\n\t\t\t } );\n\t}\n\n\tgetAltTextSettings() {\n\t\tconst {\n\t\t\tattributes: { alt },\n\t\t} = this.props;\n\n\t\tconst updateAlt = ( newAlt ) => {\n\t\t\tthis.props.setAttributes( { alt: newAlt } );\n\t\t};\n\n\t\treturn (\n\t\t\t<BottomSheetTextControl\n\t\t\t\tinitialValue={ alt }\n\t\t\t\tonChange={ updateAlt }\n\t\t\t\tplaceholder={ __( 'Add alt text' ) }\n\t\t\t\tlabel={ __( 'Alt Text' ) }\n\t\t\t\ticon={ textColor }\n\t\t\t\tfooterNote={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Describe the purpose of the image. Leave empty if decorative.'\n\t\t\t\t\t\t) }{ ' ' }\n\t\t\t\t\t\t<FooterMessageLink\n\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ __( 'What is alt text?' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\tonSizeChangeValue( newValue ) {\n\t\tthis.onSetSizeSlug( newValue );\n\t}\n\n\tonSetFeatured( mediaId ) {\n\t\tconst { closeSettingsBottomSheet } = this.props;\n\t\tsetFeaturedImage( mediaId );\n\t\tcloseSettingsBottomSheet();\n\t}\n\n\tgetFeaturedButtonPanel( isFeaturedImage ) {\n\t\tconst { attributes, getStylesFromColorScheme } = this.props;\n\n\t\tconst setFeaturedButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.setFeaturedButton,\n\t\t\tstyles.setFeaturedButtonDark\n\t\t);\n\n\t\tconst removeFeaturedButton = () => (\n\t\t\t<BottomSheet.Cell\n\t\t\t\tlabel={ __( 'Remove as Featured Image' ) }\n\t\t\t\tlabelStyle={ [\n\t\t\t\t\tsetFeaturedButtonStyle,\n\t\t\t\t\tstyles.removeFeaturedButton,\n\t\t\t\t] }\n\t\t\t\tcellContainerStyle={ styles.setFeaturedButtonCellContainer }\n\t\t\t\tseparatorType={ 'none' }\n\t\t\t\tonPress={ () =>\n\t\t\t\t\tthis.onSetFeatured( MEDIA_ID_NO_FEATURED_IMAGE_SET )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tconst setFeaturedButton = () => (\n\t\t\t<BottomSheet.Cell\n\t\t\t\tlabel={ __( 'Set as Featured Image' ) }\n\t\t\t\tlabelStyle={ setFeaturedButtonStyle }\n\t\t\t\tcellContainerStyle={ styles.setFeaturedButtonCellContainer }\n\t\t\t\tseparatorType={ 'none' }\n\t\t\t\tonPress={ () => this.onSetFeatured( attributes.id ) }\n\t\t\t/>\n\t\t);\n\n\t\treturn isFeaturedImage ? removeFeaturedButton() : setFeaturedButton();\n\t}\n\n\t/**\n\t * Featured images must be set to a successfully uploaded self-hosted image,\n\t * which has an ID.\n\t *\n\t * @return {boolean} Boolean indicating whether or not the current may be set as featured.\n\t */\n\tcanImageBeFeatured() {\n\t\tconst {\n\t\t\tattributes: { id },\n\t\t} = this.props;\n\t\treturn (\n\t\t\ttypeof id !== 'undefined' &&\n\t\t\tthis.state.uploadStatus !== UPLOAD_STATE_UPLOADING &&\n\t\t\tthis.state.uploadStatus !== UPLOAD_STATE_FAILED\n\t\t);\n\t}\n\n\tisGif( url ) {\n\t\treturn url.toLowerCase().includes( '.gif' );\n\t}\n\n\trender() {\n\t\tconst { isCaptionSelected, isFetchingImage } = this.state;\n\t\tconst {\n\t\t\tattributes,\n\t\t\tisSelected,\n\t\t\timage,\n\t\t\tclientId,\n\t\t\timageDefaultSize,\n\t\t\tcontext,\n\t\t\tfeaturedImageId,\n\t\t\twasBlockJustInserted,\n\t\t\tshouldUseFastImage,\n\t\t} = this.props;\n\t\tconst { align, url, alt, id, sizeSlug, className } = attributes;\n\t\tconst hasImageContext = context\n\t\t\t? Object.keys( context ).length > 0\n\t\t\t: false;\n\n\t\tconst imageSizes = Array.isArray( this.props.imageSizes )\n\t\t\t? this.props.imageSizes\n\t\t\t: [];\n\t\t// Only map available image sizes for the user to choose.\n\t\tconst sizeOptions = imageSizes\n\t\t\t.filter( ( { slug } ) => getUrlForSlug( image, slug ) )\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t\tlet selectedSizeOption = sizeSlug || imageDefaultSize;\n\t\tlet sizeOptionsValid = sizeOptions.find(\n\t\t\t( option ) => option.value === selectedSizeOption\n\t\t);\n\n\t\tif ( ! sizeOptionsValid ) {\n\t\t\t// Default to 'full' size if the default large size is not available.\n\t\t\tsizeOptionsValid = sizeOptions.find(\n\t\t\t\t( option ) => option.value === 'full'\n\t\t\t);\n\t\t\tselectedSizeOption = 'full';\n\t\t}\n\n\t\tconst canImageBeFeatured = this.canImageBeFeatured();\n\t\tconst isFeaturedImage =\n\t\t\tcanImageBeFeatured && featuredImageId === attributes.id;\n\n\t\tconst getToolbarEditButton = ( open ) => (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\n\t\tconst getInspectorControls = () => (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) } />\n\t\t\t\t<PanelBody style={ styles.panelBody }>\n\t\t\t\t\t<BlockStyles clientId={ clientId } url={ url } />\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t{ image && sizeOptionsValid && (\n\t\t\t\t\t\t<BottomSheetSelectControl\n\t\t\t\t\t\t\ticon={ fullscreen }\n\t\t\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t\tonChange={ this.onSizeChangeValue }\n\t\t\t\t\t\t\tvalue={ selectedSizeOption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ this.getAltTextSettings() }\n\t\t\t\t</PanelBody>\n\t\t\t\t<LinkSettings\n\t\t\t\t\tattributes={ this.props.attributes }\n\t\t\t\t\timage={ this.props.image }\n\t\t\t\t\tisLinkSheetVisible={ this.state.isLinkSheetVisible }\n\t\t\t\t\tsetMappedAttributes={ this.setMappedAttributes }\n\t\t\t\t/>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Featured Image' ) }\n\t\t\t\t\ttitleStyle={ styles.featuredImagePanelTitle }\n\t\t\t\t>\n\t\t\t\t\t{ canImageBeFeatured &&\n\t\t\t\t\t\tthis.getFeaturedButtonPanel( isFeaturedImage ) }\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Changes to featured image will not be affected by the undo/redo buttons.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tcellContainerStyle={\n\t\t\t\t\t\t\tstyles.setFeaturedButtonCellContainer\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\n\t\tif ( ! url ) {\n\t\t\treturn (\n\t\t\t\t<View style={ styles.content }>\n\t\t\t\t\t{ isFetchingImage && this.showLoadingIndicator() }\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_IMAGE ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getPlaceholderIcon() }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\tconst alignToFlex = {\n\t\t\tleft: 'flex-start',\n\t\t\tcenter: 'center',\n\t\t\tright: 'flex-end',\n\t\t\tfull: 'center',\n\t\t\twide: 'center',\n\t\t};\n\n\t\tconst additionalImageProps = {\n\t\t\theight: '100%',\n\t\t\tresizeMode: context?.imageCrop ? 'cover' : 'contain',\n\t\t};\n\n\t\tconst imageContainerStyles = [\n\t\t\tcontext?.fixedHeight && styles.fixedHeight,\n\t\t];\n\n\t\tconst isGif = this.isGif( url );\n\t\tconst badgeLabelShown = isFeaturedImage || isGif;\n\t\tlet badgeLabelText = '';\n\t\tif ( isFeaturedImage ) {\n\t\t\tbadgeLabelText = __( 'Featured' );\n\t\t} else if ( isGif ) {\n\t\t\tbadgeLabelText = __( 'GIF' );\n\t\t}\n\n\t\tconst getImageComponent = ( openMediaOptions, getMediaOptions ) => (\n\t\t\t<Badge label={ badgeLabelText } show={ badgeLabelShown }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onImagePressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.content }>\n\t\t\t\t\t\t{ isSelected && getInspectorControls() }\n\t\t\t\t\t\t{ isSelected && getMediaOptions() }\n\t\t\t\t\t\t{ ! this.state.isCaptionSelected &&\n\t\t\t\t\t\t\tgetToolbarEditButton( openMediaOptions ) }\n\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\tcoverUrl={ url }\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<View style={ imageContainerStyles }>\n\t\t\t\t\t\t\t\t\t\t{ isFetchingImage &&\n\t\t\t\t\t\t\t\t\t\t\tthis.showLoadingIndicator() }\n\t\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\t\talign={\n\t\t\t\t\t\t\t\t\t\t\t\talign && alignToFlex[ align ]\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t! isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\t\t\t\tisUploadInProgress={\n\t\t\t\t\t\t\t\t\t\t\t\tisUploadInProgress\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshouldUseFastImage={\n\t\t\t\t\t\t\t\t\t\t\t\tshouldUseFastImage\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\topenMediaOptions={\n\t\t\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\t\t\tshapeStyle={\n\t\t\t\t\t\t\t\t\t\t\t\tstyles[ className ] || className\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\twidth={ this.getWidth() }\n\t\t\t\t\t\t\t\t\t\t\t{ ...( hasImageContext\n\t\t\t\t\t\t\t\t\t\t\t\t? additionalImageProps\n\t\t\t\t\t\t\t\t\t\t\t\t: {} ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</View>\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</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t<BlockCaption\n\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\taccessible={ ! this.state.isCaptionSelected }\n\t\t\t\t\taccessibilityLabelCreator={ this.accessibilityLabelCreator }\n\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</Badge>\n\t\t);\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_IMAGE ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn getImageComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { getSettings, wasBlockJustInserted } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\t\tconst {\n\t\t\tattributes: { id, url },\n\t\t\tisSelected,\n\t\t\tclientId,\n\t\t} = props;\n\t\tconst { imageSizes, imageDefaultSize, capabilities } = getSettings();\n\t\tconst isNotFileUrl = id && getProtocol( url ) !== 'file:';\n\t\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\t\tconst shouldGetMedia =\n\t\t\t( isSelected && isNotFileUrl ) ||\n\t\t\t// Edge case to update the image after uploading if the block gets unselected\n\t\t\t// Check if it's the original image and not the resized one with queryparams.\n\t\t\t( ! isSelected &&\n\t\t\t\tisNotFileUrl &&\n\t\t\t\turl &&\n\t\t\t\t! hasQueryArg( url, 'w' ) );\n\t\tconst image = shouldGetMedia ? getMedia( id ) : null;\n\n\t\treturn {\n\t\t\timage,\n\t\t\timageSizes,\n\t\t\timageDefaultSize,\n\t\t\tshouldUseFastImage: capabilities?.shouldUseFastImage === true,\n\t\t\tfeaturedImageId,\n\t\t\twasBlockJustInserted: wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t\tcreateErrorNotice,\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ImageEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_native","_element","_reactNativeBridge","_components","_blockEditor","_i18n","_url","_hooks","_compose","_data","_icons","_coreData","_notices","_editPost","_styles","_interopRequireDefault","_utils","_constants","getUrlForSlug","image","sizeSlug","undefined","media_details","sizes","source_url","LinkSettings","attributes","isLinkSheetVisible","setMappedAttributes","route","useRoute","href","url","label","linkDestination","linkTarget","rel","useEffect","inputValue","newUrl","params","newLinkDestination","LINK_DESTINATION_MEDIA","link","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_NONE","LINK_DESTINATION_CUSTOM","valueMask","__","linkSettingsOptions","autoFocus","autoFill","openInNewTab","linkRel","placeholder","_x","_react","createElement","PanelBody","title","LinkSettingsNavigation","isVisible","setAttributes","withBottomSheet","hasPicker","options","showIcon","onLinkCellPressed","navigation","navigate","blockSettingsScreens","imageLinkDestinations","imageUrl","attachmentPageUrl","UPLOAD_STATE_IDLE","UPLOAD_STATE_UPLOADING","UPLOAD_STATE_SUCCEEDED","UPLOAD_STATE_FAILED","ImageEdit","Component","constructor","props","state","isCaptionSelected","uploadStatus","replacedFeaturedImage","finishMediaUploadWithSuccess","bind","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","updateMediaProgress","updateImageURL","onSetNewTab","onSetSizeSlug","onImagePressed","onSetFeatured","onFocusCaption","onSelectURL","accessibilityLabelCreator","onSizeChangeValue","componentDidMount","id","console","warn","getProtocol","requestMediaImport","mediaUploadSync","componentWillUnmount","hasAction","doAction","componentDidUpdate","previousProps","featuredImageId","hasQueryArg","updatedUrl","previousId","canImageBeFeatured","setFeaturedImage","align","__unstableMarkNextChangeAsNotPersistent","includes","width","height","aspectRatio","scale","getDerivedStateFromProps","isSelected","caption","RichText","isEmpty","sprintf","requestImageUploadCancelDialog","requestImageFailedRetryDialog","requestImageFullscreenPreview","setState","payload","mediaUrl","mediaServerId","mediaId","value","updatedLinkTarget","getUpdatedLinkTargetSettings","media","imageDefaultSize","destination","mediaAttributes","alt","additionalAttributes","newURL","createErrorNotice","isURL","isFetchingImage","RNImage","getSize","onFocus","getPlaceholderIcon","Icon","icon","placeholderIcon","getStylesFromColorScheme","styles","iconPlaceholder","iconPlaceholderDark","showLoadingIndicator","View","style","image__loading","ActivityIndicator","animating","getWidth","Object","values","WIDE_ALIGNMENTS","alignments","restAttributes","getAltTextSettings","updateAlt","newAlt","BottomSheetTextControl","initialValue","onChange","textColor","footerNote","Fragment","FooterMessageLink","newValue","closeSettingsBottomSheet","getFeaturedButtonPanel","isFeaturedImage","setFeaturedButtonStyle","setFeaturedButton","setFeaturedButtonDark","removeFeaturedButton","BottomSheet","Cell","labelStyle","cellContainerStyle","setFeaturedButtonCellContainer","separatorType","onPress","MEDIA_ID_NO_FEATURED_IMAGE_SET","isGif","toLowerCase","render","clientId","context","wasBlockJustInserted","shouldUseFastImage","className","hasImageContext","keys","length","imageSizes","Array","isArray","sizeOptions","filter","slug","map","name","selectedSizeOption","sizeOptionsValid","find","option","getToolbarEditButton","open","BlockControls","ToolbarGroup","ToolbarButton","replace","onClick","getInspectorControls","InspectorControls","panelBody","BlockStyles","BottomSheetSelectControl","fullscreen","titleStyle","featuredImagePanelTitle","FooterMessageControl","content","MediaPlaceholder","allowedTypes","MEDIA_TYPE_IMAGE","onSelect","autoOpenMediaUpload","alignToFlex","left","center","right","full","wide","additionalImageProps","resizeMode","imageCrop","imageContainerStyles","fixedHeight","badgeLabelShown","badgeLabelText","getImageComponent","openMediaOptions","getMediaOptions","Badge","show","TouchableWithoutFeedback","accessible","disabled","MediaUploadProgress","coverUrl","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","isUploadInProgress","isUploadFailed","retryMessage","Image","shapeStyle","BlockCaption","onBlur","insertBlocksAfter","MediaUpload","isReplacingMedia","exports","_default","compose","withSelect","select","getMedia","coreStore","getSettings","blockEditorStore","getEditedPostAttribute","capabilities","isNotFileUrl","shouldGetMedia","withDispatch","dispatch","noticesStore","editPostStore","closeGeneralSidebar","withPreferredColorScheme","default"],"sources":["@wordpress/block-library/src/image/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tActivityIndicator,\n\tImage as RNImage,\n\tTouchableWithoutFeedback,\n\tView,\n} from 'react-native';\nimport { useRoute } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, useEffect } from '@wordpress/element';\nimport {\n\trequestMediaImport,\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n\tsetFeaturedImage,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tPanelBody,\n\tToolbarButton,\n\tToolbarGroup,\n\tImage,\n\tWIDE_ALIGNMENTS,\n\tLinkSettingsNavigation,\n\tBottomSheet,\n\tBottomSheetTextControl,\n\tBottomSheetSelectControl,\n\tFooterMessageControl,\n\tFooterMessageLink,\n\tBadge,\n} from '@wordpress/components';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_IMAGE,\n\tBlockControls,\n\tInspectorControls,\n\tBlockStyles,\n\tstore as blockEditorStore,\n\tblockSettingsScreens,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { getProtocol, hasQueryArg, isURL } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\timage as placeholderIcon,\n\treplace,\n\tfullscreen,\n\ttextColor,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\n/**\n * Internal dependencies\n */\nimport styles from './styles.scss';\nimport { getUpdatedLinkTargetSettings } from './utils';\n\nimport {\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tMEDIA_ID_NO_FEATURED_IMAGE_SET,\n} from './constants';\n\nconst getUrlForSlug = ( image, sizeSlug ) => {\n\tif ( ! sizeSlug ) {\n\t\treturn undefined;\n\t}\n\treturn image?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n};\n\nfunction LinkSettings( {\n\tattributes,\n\timage,\n\tisLinkSheetVisible,\n\tsetMappedAttributes,\n} ) {\n\tconst route = useRoute();\n\tconst { href: url, label, linkDestination, linkTarget, rel } = attributes;\n\n\t// Persist attributes passed from child screen.\n\tuseEffect( () => {\n\t\tconst { inputValue: newUrl } = route.params || {};\n\n\t\tlet newLinkDestination;\n\t\tswitch ( newUrl ) {\n\t\t\tcase attributes.url:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\tbreak;\n\t\t\tcase image?.link:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\tbreak;\n\t\t\tcase '':\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tnewLinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tsetMappedAttributes( {\n\t\t\turl: newUrl,\n\t\t\tlinkDestination: newLinkDestination,\n\t\t} );\n\t}, [ route.params?.inputValue ] );\n\n\tlet valueMask;\n\tswitch ( linkDestination ) {\n\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\tvalueMask = __( 'Media File' );\n\t\t\tbreak;\n\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\tvalueMask = __( 'Attachment Page' );\n\t\t\tbreak;\n\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\tvalueMask = __( 'Custom URL' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tvalueMask = __( 'None' );\n\t\t\tbreak;\n\t}\n\n\tconst linkSettingsOptions = {\n\t\turl: {\n\t\t\tvalueMask,\n\t\t\tautoFocus: false,\n\t\t\tautoFill: false,\n\t\t},\n\t\topenInNewTab: {\n\t\t\tlabel: __( 'Open in new tab' ),\n\t\t},\n\t\tlinkRel: {\n\t\t\tlabel: __( 'Link Rel' ),\n\t\t\tplaceholder: _x( 'None', 'Link rel attribute value placeholder' ),\n\t\t},\n\t};\n\n\treturn (\n\t\t<PanelBody title={ __( 'Link Settings' ) }>\n\t\t\t<LinkSettingsNavigation\n\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\turl={ url }\n\t\t\t\trel={ rel }\n\t\t\t\tlabel={ label }\n\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\tsetAttributes={ setMappedAttributes }\n\t\t\t\twithBottomSheet={ false }\n\t\t\t\thasPicker\n\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\tshowIcon={ false }\n\t\t\t\tonLinkCellPressed={ ( { navigation } ) => {\n\t\t\t\t\tnavigation.navigate(\n\t\t\t\t\t\tblockSettingsScreens.imageLinkDestinations,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tinputValue: attributes.href,\n\t\t\t\t\t\t\tlinkDestination: attributes.linkDestination,\n\t\t\t\t\t\t\timageUrl: attributes.url,\n\t\t\t\t\t\t\tattachmentPageUrl: image?.link,\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t</PanelBody>\n\t);\n}\n\nconst UPLOAD_STATE_IDLE = 0;\nconst UPLOAD_STATE_UPLOADING = 1;\nconst UPLOAD_STATE_SUCCEEDED = 2;\nconst UPLOAD_STATE_FAILED = 3;\n\nexport class ImageEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tuploadStatus: UPLOAD_STATE_IDLE,\n\t\t};\n\n\t\tthis.replacedFeaturedImage = false;\n\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.updateImageURL = this.updateImageURL.bind( this );\n\t\tthis.onSetNewTab = this.onSetNewTab.bind( this );\n\t\tthis.onSetSizeSlug = this.onSetSizeSlug.bind( this );\n\t\tthis.onImagePressed = this.onImagePressed.bind( this );\n\t\tthis.onSetFeatured = this.onSetFeatured.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.bind( this );\n\t\tthis.accessibilityLabelCreator =\n\t\t\tthis.accessibilityLabelCreator.bind( this );\n\t\tthis.setMappedAttributes = this.setMappedAttributes.bind( this );\n\t\tthis.onSizeChangeValue = this.onSizeChangeValue.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\t// This will warn when we have `id` defined, while `url` is undefined.\n\t\t// This may help track this issue: https://github.com/wordpress-mobile/WordPress-Android/issues/9768\n\t\t// where a cancelled image upload was resulting in a subsequent crash.\n\t\tif ( attributes.id && ! attributes.url ) {\n\t\t\t// eslint-disable-next-line no-console\n\t\t\tconsole.warn( 'Attributes has id with no url.' );\n\t\t}\n\n\t\t// Detect any pasted image and start an upload.\n\t\tif (\n\t\t\t! attributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\trequestMediaImport( attributes.url, ( id, url ) => {\n\t\t\t\tif ( url ) {\n\t\t\t\t\tsetAttributes( { id, url } );\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Make sure we mark any temporary images as failed if they failed while\n\t\t// the editor wasn't open.\n\t\tif (\n\t\t\tattributes.id &&\n\t\t\tattributes.url &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.uploadStatus === UPLOAD_STATE_UPLOADING\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tcomponentDidUpdate( previousProps ) {\n\t\tconst { image, attributes, setAttributes, featuredImageId } =\n\t\t\tthis.props;\n\t\tconst { url } = attributes;\n\t\tif ( ! previousProps.image && image ) {\n\t\t\tif ( ! hasQueryArg( url, 'w' ) && attributes?.sizeSlug ) {\n\t\t\t\tconst updatedUrl =\n\t\t\t\t\tgetUrlForSlug( image, attributes.sizeSlug ) ||\n\t\t\t\t\timage.source_url;\n\n\t\t\t\tsetAttributes( { url: updatedUrl } );\n\t\t\t}\n\t\t}\n\n\t\tconst { id } = attributes;\n\t\tconst { id: previousId } = previousProps.attributes;\n\n\t\t// The media changed and the previous media was set as the Featured Image,\n\t\t// we must keep track of the previous media's featured status to act on it\n\t\t// once the new media has a finalized ID.\n\t\tif (\n\t\t\t!! id &&\n\t\t\tid !== previousId &&\n\t\t\t!! featuredImageId &&\n\t\t\tfeaturedImageId === previousId\n\t\t) {\n\t\t\tthis.replacedFeaturedImage = true;\n\t\t}\n\n\t\t// The media changed and now has a finalized ID (e.g. upload completed), we\n\t\t// should attempt to replace the featured image if applicable.\n\t\tif (\n\t\t\tthis.replacedFeaturedImage &&\n\t\t\t!! image &&\n\t\t\tthis.canImageBeFeatured()\n\t\t) {\n\t\t\tthis.replacedFeaturedImage = false;\n\t\t\tsetFeaturedImage( id );\n\t\t}\n\n\t\tconst { align } = attributes;\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } = this.props;\n\n\t\t// Update the attributes if the align is wide or full\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\taccessibilityLabelCreator( caption ) {\n\t\t// Checks if caption is empty.\n\t\treturn RichText.isEmpty( caption )\n\t\t\t? /* translators: accessibility text. Empty image caption. */\n\t\t\t 'Image caption. Empty'\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: image caption. */\n\t\t\t\t\t__( 'Image caption. %s' ),\n\t\t\t\t\tcaption\n\t\t\t );\n\t}\n\n\tonImagePressed() {\n\t\tconst { attributes, image } = this.props;\n\n\t\tif ( this.state.uploadStatus === UPLOAD_STATE_UPLOADING ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.url ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t} else if ( ! this.state.isCaptionSelected ) {\n\t\t\trequestImageFullscreenPreview(\n\t\t\t\tattributes.url,\n\t\t\t\timage && image.source_url\n\t\t\t);\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tupdateMediaProgress( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( payload.mediaUrl ) {\n\t\t\tsetAttributes( { url: payload.mediaUrl } );\n\t\t}\n\n\t\tif ( this.state.uploadStatus !== UPLOAD_STATE_UPLOADING ) {\n\t\t\tthis.setState( { uploadStatus: UPLOAD_STATE_UPLOADING } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { url: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_SUCCEEDED } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_FAILED } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( { id: null, url: null } );\n\t\tthis.setState( { uploadStatus: UPLOAD_STATE_IDLE } );\n\t}\n\n\tupdateImageURL( url ) {\n\t\tthis.props.setAttributes( {\n\t\t\turl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t} );\n\t}\n\n\tonSetNewTab( value ) {\n\t\tconst updatedLinkTarget = getUpdatedLinkTargetSettings(\n\t\t\tvalue,\n\t\t\tthis.props.attributes\n\t\t);\n\t\tthis.props.setAttributes( updatedLinkTarget );\n\t}\n\n\tonSetSizeSlug( sizeSlug ) {\n\t\tconst { image, setAttributes } = this.props;\n\n\t\tconst url = getUrlForSlug( image, sizeSlug );\n\t\tif ( ! url ) {\n\t\t\treturn null;\n\t\t}\n\t\tsetAttributes( {\n\t\t\turl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug,\n\t\t} );\n\t}\n\n\tonSelectMediaUploadOption( media ) {\n\t\tconst { imageDefaultSize } = this.props;\n\t\tconst { id, url, destination } = this.props.attributes;\n\t\tconst mediaAttributes = {\n\t\t\tid: media.id,\n\t\t\turl: media.url,\n\t\t\tcaption: media.caption,\n\t\t\talt: media.alt,\n\t\t};\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\" option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\tlet href;\n\t\tswitch ( destination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tthis.props.setAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t} );\n\t}\n\n\tonSelectURL( newURL ) {\n\t\tconst { createErrorNotice, imageDefaultSize, setAttributes } =\n\t\t\tthis.props;\n\n\t\tif ( isURL( newURL ) ) {\n\t\t\tthis.setState( {\n\t\t\t\tisFetchingImage: true,\n\t\t\t} );\n\n\t\t\t// Use RN's Image.getSize to determine if URL is a valid image\n\t\t\tRNImage.getSize(\n\t\t\t\tnewURL,\n\t\t\t\t() => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\theight: undefined,\n\t\t\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t\t\t} );\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tisFetchingImage: false,\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t\t() => {\n\t\t\t\t\tcreateErrorNotice( __( 'Image file not found.' ) );\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tisFetchingImage: false,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonFocusCaption() {\n\t\tif ( this.props.onFocus ) {\n\t\t\tthis.props.onFocus();\n\t\t}\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tisCaptionSelected: true,\n\t\t\t} );\n\t\t}\n\t}\n\n\tgetPlaceholderIcon() {\n\t\treturn (\n\t\t\t<Icon\n\t\t\t\ticon={ placeholderIcon }\n\t\t\t\t{ ...this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t) }\n\t\t\t/>\n\t\t);\n\t}\n\n\tshowLoadingIndicator() {\n\t\treturn (\n\t\t\t<View style={ styles.image__loading }>\n\t\t\t\t<ActivityIndicator animating />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tgetWidth() {\n\t\tconst { attributes } = this.props;\n\t\tconst { align, width } = attributes;\n\n\t\treturn Object.values( WIDE_ALIGNMENTS.alignments ).includes( align )\n\t\t\t? '100%'\n\t\t\t: width;\n\t}\n\n\tsetMappedAttributes( { url: href, linkDestination, ...restAttributes } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tif ( ! href && ! linkDestination ) {\n\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t} else if ( ! linkDestination ) {\n\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t}\n\n\t\treturn href === undefined || href === this.props.attributes.href\n\t\t\t? setAttributes( restAttributes )\n\t\t\t: setAttributes( {\n\t\t\t\t\t...restAttributes,\n\t\t\t\t\tlinkDestination,\n\t\t\t\t\thref,\n\t\t\t } );\n\t}\n\n\tgetAltTextSettings() {\n\t\tconst {\n\t\t\tattributes: { alt },\n\t\t} = this.props;\n\n\t\tconst updateAlt = ( newAlt ) => {\n\t\t\tthis.props.setAttributes( { alt: newAlt } );\n\t\t};\n\n\t\treturn (\n\t\t\t<BottomSheetTextControl\n\t\t\t\tinitialValue={ alt }\n\t\t\t\tonChange={ updateAlt }\n\t\t\t\tplaceholder={ __( 'Add alt text' ) }\n\t\t\t\tlabel={ __( 'Alt Text' ) }\n\t\t\t\ticon={ textColor }\n\t\t\t\tfooterNote={\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Describe the purpose of the image. Leave empty if decorative.'\n\t\t\t\t\t\t) }{ ' ' }\n\t\t\t\t\t\t<FooterMessageLink\n\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ __( 'What is alt text?' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t}\n\n\tonSizeChangeValue( newValue ) {\n\t\tthis.onSetSizeSlug( newValue );\n\t}\n\n\tonSetFeatured( mediaId ) {\n\t\tconst { closeSettingsBottomSheet } = this.props;\n\t\tsetFeaturedImage( mediaId );\n\t\tcloseSettingsBottomSheet();\n\t}\n\n\tgetFeaturedButtonPanel( isFeaturedImage ) {\n\t\tconst { attributes, getStylesFromColorScheme } = this.props;\n\n\t\tconst setFeaturedButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.setFeaturedButton,\n\t\t\tstyles.setFeaturedButtonDark\n\t\t);\n\n\t\tconst removeFeaturedButton = () => (\n\t\t\t<BottomSheet.Cell\n\t\t\t\tlabel={ __( 'Remove as Featured Image' ) }\n\t\t\t\tlabelStyle={ [\n\t\t\t\t\tsetFeaturedButtonStyle,\n\t\t\t\t\tstyles.removeFeaturedButton,\n\t\t\t\t] }\n\t\t\t\tcellContainerStyle={ styles.setFeaturedButtonCellContainer }\n\t\t\t\tseparatorType={ 'none' }\n\t\t\t\tonPress={ () =>\n\t\t\t\t\tthis.onSetFeatured( MEDIA_ID_NO_FEATURED_IMAGE_SET )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tconst setFeaturedButton = () => (\n\t\t\t<BottomSheet.Cell\n\t\t\t\tlabel={ __( 'Set as Featured Image' ) }\n\t\t\t\tlabelStyle={ setFeaturedButtonStyle }\n\t\t\t\tcellContainerStyle={ styles.setFeaturedButtonCellContainer }\n\t\t\t\tseparatorType={ 'none' }\n\t\t\t\tonPress={ () => this.onSetFeatured( attributes.id ) }\n\t\t\t/>\n\t\t);\n\n\t\treturn isFeaturedImage ? removeFeaturedButton() : setFeaturedButton();\n\t}\n\n\t/**\n\t * Featured images must be set to a successfully uploaded self-hosted image,\n\t * which has an ID.\n\t *\n\t * @return {boolean} Boolean indicating whether or not the current may be set as featured.\n\t */\n\tcanImageBeFeatured() {\n\t\tconst {\n\t\t\tattributes: { id },\n\t\t} = this.props;\n\t\treturn (\n\t\t\ttypeof id !== 'undefined' &&\n\t\t\tthis.state.uploadStatus !== UPLOAD_STATE_UPLOADING &&\n\t\t\tthis.state.uploadStatus !== UPLOAD_STATE_FAILED\n\t\t);\n\t}\n\n\tisGif( url ) {\n\t\treturn url.toLowerCase().includes( '.gif' );\n\t}\n\n\trender() {\n\t\tconst { isCaptionSelected, isFetchingImage } = this.state;\n\t\tconst {\n\t\t\tattributes,\n\t\t\tisSelected,\n\t\t\timage,\n\t\t\tclientId,\n\t\t\timageDefaultSize,\n\t\t\tcontext,\n\t\t\tfeaturedImageId,\n\t\t\twasBlockJustInserted,\n\t\t\tshouldUseFastImage,\n\t\t} = this.props;\n\t\tconst { align, url, alt, id, sizeSlug, className } = attributes;\n\t\tconst hasImageContext = context\n\t\t\t? Object.keys( context ).length > 0\n\t\t\t: false;\n\n\t\tconst imageSizes = Array.isArray( this.props.imageSizes )\n\t\t\t? this.props.imageSizes\n\t\t\t: [];\n\t\t// Only map available image sizes for the user to choose.\n\t\tconst sizeOptions = imageSizes\n\t\t\t.filter( ( { slug } ) => getUrlForSlug( image, slug ) )\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\t\tlet selectedSizeOption = sizeSlug || imageDefaultSize;\n\t\tlet sizeOptionsValid = sizeOptions.find(\n\t\t\t( option ) => option.value === selectedSizeOption\n\t\t);\n\n\t\tif ( ! sizeOptionsValid ) {\n\t\t\t// Default to 'full' size if the default large size is not available.\n\t\t\tsizeOptionsValid = sizeOptions.find(\n\t\t\t\t( option ) => option.value === 'full'\n\t\t\t);\n\t\t\tselectedSizeOption = 'full';\n\t\t}\n\n\t\tconst canImageBeFeatured = this.canImageBeFeatured();\n\t\tconst isFeaturedImage =\n\t\t\tcanImageBeFeatured && featuredImageId === attributes.id;\n\n\t\tconst getToolbarEditButton = ( open ) => (\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\n\t\tconst getInspectorControls = () => (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) } />\n\t\t\t\t<PanelBody style={ styles.panelBody }>\n\t\t\t\t\t<BlockStyles clientId={ clientId } url={ url } />\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t{ image && sizeOptionsValid && (\n\t\t\t\t\t\t<BottomSheetSelectControl\n\t\t\t\t\t\t\ticon={ fullscreen }\n\t\t\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\t\t\toptions={ sizeOptions }\n\t\t\t\t\t\t\tonChange={ this.onSizeChangeValue }\n\t\t\t\t\t\t\tvalue={ selectedSizeOption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ this.getAltTextSettings() }\n\t\t\t\t</PanelBody>\n\t\t\t\t<LinkSettings\n\t\t\t\t\tattributes={ this.props.attributes }\n\t\t\t\t\timage={ this.props.image }\n\t\t\t\t\tisLinkSheetVisible={ this.state.isLinkSheetVisible }\n\t\t\t\t\tsetMappedAttributes={ this.setMappedAttributes }\n\t\t\t\t/>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Featured Image' ) }\n\t\t\t\t\ttitleStyle={ styles.featuredImagePanelTitle }\n\t\t\t\t>\n\t\t\t\t\t{ canImageBeFeatured &&\n\t\t\t\t\t\tthis.getFeaturedButtonPanel( isFeaturedImage ) }\n\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t'Changes to featured image will not be affected by the undo/redo buttons.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tcellContainerStyle={\n\t\t\t\t\t\t\tstyles.setFeaturedButtonCellContainer\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\n\t\tif ( ! url ) {\n\t\t\treturn (\n\t\t\t\t<View style={ styles.content }>\n\t\t\t\t\t{ isFetchingImage && this.showLoadingIndicator() }\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_IMAGE ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getPlaceholderIcon() }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\tconst alignToFlex = {\n\t\t\tleft: 'flex-start',\n\t\t\tcenter: 'center',\n\t\t\tright: 'flex-end',\n\t\t\tfull: 'center',\n\t\t\twide: 'center',\n\t\t};\n\n\t\tconst additionalImageProps = {\n\t\t\theight: '100%',\n\t\t\tresizeMode: context?.imageCrop ? 'cover' : 'contain',\n\t\t};\n\n\t\tconst imageContainerStyles = [\n\t\t\tcontext?.fixedHeight && styles.fixedHeight,\n\t\t];\n\n\t\tconst isGif = this.isGif( url );\n\t\tconst badgeLabelShown = isFeaturedImage || isGif;\n\t\tlet badgeLabelText = '';\n\t\tif ( isFeaturedImage ) {\n\t\t\tbadgeLabelText = __( 'Featured' );\n\t\t} else if ( isGif ) {\n\t\t\tbadgeLabelText = __( 'GIF' );\n\t\t}\n\n\t\tconst getImageComponent = ( openMediaOptions, getMediaOptions ) => (\n\t\t\t<Badge label={ badgeLabelText } show={ badgeLabelShown }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onImagePressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ styles.content }>\n\t\t\t\t\t\t{ isSelected && getInspectorControls() }\n\t\t\t\t\t\t{ isSelected && getMediaOptions() }\n\t\t\t\t\t\t{ ! this.state.isCaptionSelected &&\n\t\t\t\t\t\t\tgetToolbarEditButton( openMediaOptions ) }\n\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\tcoverUrl={ url }\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<View style={ imageContainerStyles }>\n\t\t\t\t\t\t\t\t\t\t{ isFetchingImage &&\n\t\t\t\t\t\t\t\t\t\t\tthis.showLoadingIndicator() }\n\t\t\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\t\t\talign={\n\t\t\t\t\t\t\t\t\t\t\t\talign && alignToFlex[ align ]\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t! isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\t\t\t\t\tisUploadInProgress={\n\t\t\t\t\t\t\t\t\t\t\t\tisUploadInProgress\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tshouldUseFastImage={\n\t\t\t\t\t\t\t\t\t\t\t\tshouldUseFastImage\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\topenMediaOptions={\n\t\t\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\t\t\tshapeStyle={\n\t\t\t\t\t\t\t\t\t\t\t\tstyles[ className ] || className\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\twidth={ this.getWidth() }\n\t\t\t\t\t\t\t\t\t\t\t{ ...( hasImageContext\n\t\t\t\t\t\t\t\t\t\t\t\t? additionalImageProps\n\t\t\t\t\t\t\t\t\t\t\t\t: {} ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</View>\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</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t<BlockCaption\n\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\taccessible={ ! this.state.isCaptionSelected }\n\t\t\t\t\taccessibilityLabelCreator={ this.accessibilityLabelCreator }\n\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</Badge>\n\t\t);\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_IMAGE ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn getImageComponent( open, getMediaOptions );\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, props ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { getSettings, wasBlockJustInserted } =\n\t\t\tselect( blockEditorStore );\n\t\tconst { getEditedPostAttribute } = select( 'core/editor' );\n\t\tconst {\n\t\t\tattributes: { id, url },\n\t\t\tisSelected,\n\t\t\tclientId,\n\t\t} = props;\n\t\tconst { imageSizes, imageDefaultSize, capabilities } = getSettings();\n\t\tconst isNotFileUrl = id && getProtocol( url ) !== 'file:';\n\t\tconst featuredImageId = getEditedPostAttribute( 'featured_media' );\n\n\t\tconst shouldGetMedia =\n\t\t\t( isSelected && isNotFileUrl ) ||\n\t\t\t// Edge case to update the image after uploading if the block gets unselected\n\t\t\t// Check if it's the original image and not the resized one with queryparams.\n\t\t\t( ! isSelected &&\n\t\t\t\tisNotFileUrl &&\n\t\t\t\turl &&\n\t\t\t\t! hasQueryArg( url, 'w' ) );\n\t\tconst image = shouldGetMedia ? getMedia( id ) : null;\n\n\t\treturn {\n\t\t\timage,\n\t\t\timageSizes,\n\t\t\timageDefaultSize,\n\t\t\tshouldUseFastImage: capabilities?.shouldUseFastImage === true,\n\t\t\tfeaturedImageId,\n\t\t\twasBlockJustInserted: wasBlockJustInserted(\n\t\t\t\tclientId,\n\t\t\t\t'inserter_menu'\n\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tdispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t\tcreateErrorNotice,\n\t\t\tcloseSettingsBottomSheet() {\n\t\t\t\tdispatch( editPostStore ).closeGeneralSidebar();\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ImageEdit );\n"],"mappings":"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"}
|