@wordpress/block-library 9.30.1-next.836ecdcae.0 → 9.31.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.
Files changed (210) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/button/edit.js +6 -1
  3. package/build/button/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/buttons/index.js +2 -1
  7. package/build/buttons/index.js.map +1 -1
  8. package/build/categories/edit.js +3 -1
  9. package/build/categories/edit.js.map +1 -1
  10. package/build/image/edit.native.js +1 -1
  11. package/build/image/edit.native.js.map +1 -1
  12. package/build/image/image.js +5 -8
  13. package/build/image/image.js.map +1 -1
  14. package/build/image/save.js +6 -2
  15. package/build/image/save.js.map +1 -1
  16. package/build/index.js +4 -0
  17. package/build/index.js.map +1 -1
  18. package/build/navigation/edit/index.js +0 -1
  19. package/build/navigation/edit/index.js.map +1 -1
  20. package/build/navigation-link/block-inserter.js +69 -0
  21. package/build/navigation-link/block-inserter.js.map +1 -0
  22. package/build/navigation-link/dialog-wrapper.js +80 -0
  23. package/build/navigation-link/dialog-wrapper.js.map +1 -0
  24. package/build/navigation-link/link-ui.js +34 -82
  25. package/build/navigation-link/link-ui.js.map +1 -1
  26. package/build/navigation-link/page-creator.js +12 -18
  27. package/build/navigation-link/page-creator.js.map +1 -1
  28. package/build/post-date/edit.js +2 -1
  29. package/build/post-date/edit.js.map +1 -1
  30. package/build/post-featured-image/edit.js +7 -2
  31. package/build/post-featured-image/edit.js.map +1 -1
  32. package/build/post-title/edit.js +8 -2
  33. package/build/post-title/edit.js.map +1 -1
  34. package/build/query/edit/pattern-selection.js +9 -1
  35. package/build/query/edit/pattern-selection.js.map +1 -1
  36. package/build/query/index.js +2 -1
  37. package/build/query/index.js.map +1 -1
  38. package/build/rss/edit.js +6 -1
  39. package/build/rss/edit.js.map +1 -1
  40. package/build/site-tagline/index.js +1 -0
  41. package/build/site-tagline/index.js.map +1 -1
  42. package/build/social-link/edit.js +6 -1
  43. package/build/social-link/edit.js.map +1 -1
  44. package/build/social-links/index.js +2 -1
  45. package/build/social-links/index.js.map +1 -1
  46. package/build/spacer/edit.js +2 -1
  47. package/build/spacer/edit.js.map +1 -1
  48. package/build/table-of-contents/edit.js +33 -9
  49. package/build/table-of-contents/edit.js.map +1 -1
  50. package/build/table-of-contents/index.js +4 -0
  51. package/build/table-of-contents/index.js.map +1 -1
  52. package/build/table-of-contents/list.js +6 -3
  53. package/build/table-of-contents/list.js.map +1 -1
  54. package/build/table-of-contents/save.js +6 -3
  55. package/build/table-of-contents/save.js.map +1 -1
  56. package/build/term-template/edit.js +318 -0
  57. package/build/term-template/edit.js.map +1 -0
  58. package/build/term-template/index.js +109 -0
  59. package/build/term-template/index.js.map +1 -0
  60. package/build/term-template/save.js +16 -0
  61. package/build/term-template/save.js.map +1 -0
  62. package/build/term-template/variations.js +83 -0
  63. package/build/term-template/variations.js.map +1 -0
  64. package/build/terms-query/edit.js +20 -0
  65. package/build/terms-query/edit.js.map +1 -0
  66. package/build/terms-query/index.js +83 -0
  67. package/build/terms-query/index.js.map +1 -0
  68. package/build/terms-query/inspector-controls.js +231 -0
  69. package/build/terms-query/inspector-controls.js.map +1 -0
  70. package/build/terms-query/save.js +24 -0
  71. package/build/terms-query/save.js.map +1 -0
  72. package/build/terms-query/terms-query-content.js +71 -0
  73. package/build/terms-query/terms-query-content.js.map +1 -0
  74. package/build/utils/hooks.js +3 -0
  75. package/build/utils/hooks.js.map +1 -1
  76. package/build-module/button/edit.js +7 -2
  77. package/build-module/button/edit.js.map +1 -1
  78. package/build-module/button/edit.native.js +1 -1
  79. package/build-module/button/edit.native.js.map +1 -1
  80. package/build-module/buttons/index.js +2 -1
  81. package/build-module/buttons/index.js.map +1 -1
  82. package/build-module/categories/edit.js +3 -1
  83. package/build-module/categories/edit.js.map +1 -1
  84. package/build-module/image/edit.native.js +1 -1
  85. package/build-module/image/edit.native.js.map +1 -1
  86. package/build-module/image/image.js +5 -8
  87. package/build-module/image/image.js.map +1 -1
  88. package/build-module/image/save.js +6 -2
  89. package/build-module/image/save.js.map +1 -1
  90. package/build-module/index.js +4 -0
  91. package/build-module/index.js.map +1 -1
  92. package/build-module/navigation/edit/index.js +0 -1
  93. package/build-module/navigation/edit/index.js.map +1 -1
  94. package/build-module/navigation-link/block-inserter.js +61 -0
  95. package/build-module/navigation-link/block-inserter.js.map +1 -0
  96. package/build-module/navigation-link/dialog-wrapper.js +75 -0
  97. package/build-module/navigation-link/dialog-wrapper.js.map +1 -0
  98. package/build-module/navigation-link/link-ui.js +37 -85
  99. package/build-module/navigation-link/link-ui.js.map +1 -1
  100. package/build-module/navigation-link/page-creator.js +12 -19
  101. package/build-module/navigation-link/page-creator.js.map +1 -1
  102. package/build-module/post-date/edit.js +3 -2
  103. package/build-module/post-date/edit.js.map +1 -1
  104. package/build-module/post-featured-image/edit.js +9 -4
  105. package/build-module/post-featured-image/edit.js.map +1 -1
  106. package/build-module/post-title/edit.js +9 -3
  107. package/build-module/post-title/edit.js.map +1 -1
  108. package/build-module/query/edit/pattern-selection.js +9 -1
  109. package/build-module/query/edit/pattern-selection.js.map +1 -1
  110. package/build-module/query/index.js +2 -1
  111. package/build-module/query/index.js.map +1 -1
  112. package/build-module/rss/edit.js +8 -3
  113. package/build-module/rss/edit.js.map +1 -1
  114. package/build-module/site-tagline/index.js +1 -0
  115. package/build-module/site-tagline/index.js.map +1 -1
  116. package/build-module/social-link/edit.js +8 -3
  117. package/build-module/social-link/edit.js.map +1 -1
  118. package/build-module/social-links/index.js +2 -1
  119. package/build-module/social-links/index.js.map +1 -1
  120. package/build-module/spacer/edit.js +3 -2
  121. package/build-module/spacer/edit.js.map +1 -1
  122. package/build-module/table-of-contents/edit.js +35 -11
  123. package/build-module/table-of-contents/edit.js.map +1 -1
  124. package/build-module/table-of-contents/index.js +4 -0
  125. package/build-module/table-of-contents/index.js.map +1 -1
  126. package/build-module/table-of-contents/list.js +6 -3
  127. package/build-module/table-of-contents/list.js.map +1 -1
  128. package/build-module/table-of-contents/save.js +6 -3
  129. package/build-module/table-of-contents/save.js.map +1 -1
  130. package/build-module/term-template/edit.js +310 -0
  131. package/build-module/term-template/edit.js.map +1 -0
  132. package/build-module/term-template/index.js +102 -0
  133. package/build-module/term-template/index.js.map +1 -0
  134. package/build-module/term-template/save.js +9 -0
  135. package/build-module/term-template/save.js.map +1 -0
  136. package/build-module/term-template/variations.js +76 -0
  137. package/build-module/term-template/variations.js.map +1 -0
  138. package/build-module/terms-query/edit.js +12 -0
  139. package/build-module/terms-query/edit.js.map +1 -0
  140. package/build-module/terms-query/index.js +76 -0
  141. package/build-module/terms-query/index.js.map +1 -0
  142. package/build-module/terms-query/inspector-controls.js +224 -0
  143. package/build-module/terms-query/inspector-controls.js.map +1 -0
  144. package/build-module/terms-query/save.js +17 -0
  145. package/build-module/terms-query/save.js.map +1 -0
  146. package/build-module/terms-query/terms-query-content.js +63 -0
  147. package/build-module/terms-query/terms-query-content.js.map +1 -0
  148. package/build-module/utils/hooks.js +3 -0
  149. package/build-module/utils/hooks.js.map +1 -1
  150. package/build-style/editor-rtl.css +24 -0
  151. package/build-style/editor.css +24 -0
  152. package/build-style/style-rtl.css +16 -0
  153. package/build-style/style.css +16 -0
  154. package/build-style/term-template/editor-rtl.css +160 -0
  155. package/build-style/term-template/editor.css +160 -0
  156. package/build-style/term-template/style-rtl.css +146 -0
  157. package/build-style/term-template/style.css +146 -0
  158. package/build-style/terms-query/style-rtl.css +140 -0
  159. package/build-style/terms-query/style.css +140 -0
  160. package/build-types/table-of-contents/list.d.ts +2 -1
  161. package/build-types/table-of-contents/list.d.ts.map +1 -1
  162. package/package.json +35 -35
  163. package/src/button/edit.js +12 -1
  164. package/src/button/edit.native.js +1 -1
  165. package/src/buttons/block.json +2 -1
  166. package/src/categories/edit.js +2 -1
  167. package/src/editor.scss +1 -0
  168. package/src/image/edit.native.js +1 -1
  169. package/src/image/image.js +5 -8
  170. package/src/image/save.js +7 -1
  171. package/src/index.js +4 -0
  172. package/src/navigation/edit/index.js +0 -1
  173. package/src/navigation-link/block-inserter.js +65 -0
  174. package/src/navigation-link/dialog-wrapper.js +74 -0
  175. package/src/navigation-link/link-ui.js +32 -95
  176. package/src/navigation-link/page-creator.js +13 -20
  177. package/src/post-date/edit.js +64 -53
  178. package/src/post-date/index.php +5 -13
  179. package/src/post-featured-image/edit.js +19 -3
  180. package/src/post-title/edit.js +14 -2
  181. package/src/query/block.json +2 -1
  182. package/src/query/edit/pattern-selection.js +10 -1
  183. package/src/rss/edit.js +13 -2
  184. package/src/site-tagline/block.json +1 -0
  185. package/src/social-link/edit.js +13 -2
  186. package/src/social-links/block.json +2 -1
  187. package/src/spacer/edit.js +5 -1
  188. package/src/style.scss +2 -0
  189. package/src/table-of-contents/block.json +4 -0
  190. package/src/table-of-contents/edit.js +58 -21
  191. package/src/table-of-contents/list.tsx +7 -2
  192. package/src/table-of-contents/save.js +7 -3
  193. package/src/term-template/block.json +73 -0
  194. package/src/term-template/edit.js +391 -0
  195. package/src/term-template/editor.scss +26 -0
  196. package/src/term-template/index.js +26 -0
  197. package/src/term-template/index.php +224 -0
  198. package/src/term-template/save.js +8 -0
  199. package/src/term-template/style.scss +12 -0
  200. package/src/term-template/variations.js +87 -0
  201. package/src/terms-query/block.json +49 -0
  202. package/src/terms-query/edit.js +10 -0
  203. package/src/terms-query/index.js +24 -0
  204. package/src/terms-query/index.php +44 -0
  205. package/src/terms-query/inspector-controls.js +239 -0
  206. package/src/terms-query/save.js +10 -0
  207. package/src/terms-query/style.scss +6 -0
  208. package/src/terms-query/terms-query-content.js +74 -0
  209. package/src/utils/hooks.js +4 -0
  210. package/tsconfig.tsbuildinfo +1 -1
@@ -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","_jsxRuntime","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","jsx","PanelBody","title","children","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","jsxs","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","enablePausedUploads","coverUrl","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","isUploadPaused","isUploadInProgress","isUploadFailed","retryMessage","Image","shapeStyle","BlockCaption","onBlur","insertBlocksAfter","MediaUpload","isReplacingMedia","exports","_default","default","compose","withSelect","select","getEntityRecord","coreStore","getSettings","blockEditorStore","getEditedPostAttribute","capabilities","isNotFileUrl","shouldGetMedia","withDispatch","dispatch","noticesStore","editPostStore","closeGeneralSidebar","withPreferredColorScheme"],"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// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t__(\n\t\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\t)\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\tenablePausedUploads\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\tisUploadPaused,\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\tisUploadPaused={ isUploadPaused }\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\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 { getEntityRecord } = 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\n\t\t\t? getEntityRecord( 'postType', 'attachment', id )\n\t\t\t: 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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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_native","_element","_reactNativeBridge","_components","_blockEditor","_i18n","_url","_hooks","_compose","_data","_icons","_coreData","_notices","_editPost","_styles","_interopRequireDefault","_utils","_constants","_jsxRuntime","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","jsx","PanelBody","title","children","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","jsxs","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","enablePausedUploads","coverUrl","onUpdateMediaProgress","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onMediaUploadStateReset","renderContent","isUploadPaused","isUploadInProgress","isUploadFailed","retryMessage","Image","shapeStyle","BlockCaption","onBlur","insertBlocksAfter","MediaUpload","isReplacingMedia","exports","_default","default","compose","withSelect","select","getEntityRecord","coreStore","getSettings","blockEditorStore","getEditedPostAttribute","capabilities","isNotFileUrl","shouldGetMedia","withDispatch","dispatch","noticesStore","editPostStore","closeGeneralSidebar","withPreferredColorScheme"],"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 relation' ),\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// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t__(\n\t\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\t)\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\tenablePausedUploads\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\tisUploadPaused,\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\tisUploadPaused={ isUploadPaused }\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\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 { getEntityRecord } = 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\n\t\t\t? getEntityRecord( 'postType', 'attachment', id )\n\t\t\t: 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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","ignoreList":[]}
@@ -533,7 +533,7 @@ function Image({
533
533
  lockAltControlsMessage,
534
534
  lockTitleControls = false,
535
535
  lockTitleControlsMessage,
536
- lockCaption = false
536
+ hideCaptionControls = false
537
537
  } = (0, _data.useSelect)(select => {
538
538
  if (!isSingleSelected) {
539
539
  return {};
@@ -541,7 +541,8 @@ function Image({
541
541
  const {
542
542
  url: urlBinding,
543
543
  alt: altBinding,
544
- title: titleBinding
544
+ title: titleBinding,
545
+ caption: captionBinding
545
546
  } = metadata?.bindings || {};
546
547
  const hasParentPattern = !!context['pattern/overrides'];
547
548
  const urlBindingSource = (0, _blocks.getBlockBindingsSource)(urlBinding?.source);
@@ -557,10 +558,7 @@ function Image({
557
558
  // Disable editing the link of the URL if the image is inside a pattern instance.
558
559
  // This is a temporary solution until we support overriding the link on the frontend.
559
560
  hasParentPattern || arePatternOverridesEnabled,
560
- lockCaption:
561
- // Disable editing the caption if the image is inside a pattern instance.
562
- // This is a temporary solution until we support overriding the caption on the frontend.
563
- hasParentPattern,
561
+ hideCaptionControls: !!captionBinding,
564
562
  lockAltControls: !!altBinding && !altBindingSource?.canUserEditValue?.({
565
563
  select,
566
564
  context,
@@ -921,8 +919,7 @@ function Image({
921
919
  isSelected: isSingleSelected,
922
920
  insertBlocksAfter: insertBlocksAfter,
923
921
  label: (0, _i18n.__)('Image caption text'),
924
- showToolbarButton: isSingleSelected && hasNonContentControls && !arePatternOverridesEnabled,
925
- readOnly: lockCaption
922
+ showToolbarButton: isSingleSelected && (hasNonContentControls || isContentOnlyMode) && !hideCaptionControls
926
923
  })]
927
924
  });
928
925
  }