@wordpress/block-library 8.7.0 → 8.8.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 (270) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/column/index.js +2 -1
  3. package/build/column/index.js.map +1 -1
  4. package/build/columns/edit.js +24 -6
  5. package/build/columns/edit.js.map +1 -1
  6. package/build/columns/index.js +2 -1
  7. package/build/columns/index.js.map +1 -1
  8. package/build/columns/utils.js +4 -9
  9. package/build/columns/utils.js.map +1 -1
  10. package/build/cover/edit/index.js +46 -50
  11. package/build/cover/edit/index.js.map +1 -1
  12. package/build/cover/edit/{resizable-cover.js → resizable-cover-popover.js} +32 -6
  13. package/build/cover/edit/resizable-cover-popover.js.map +1 -0
  14. package/build/cover/index.js +12 -0
  15. package/build/cover/index.js.map +1 -1
  16. package/build/details/edit.js +67 -0
  17. package/build/details/edit.js.map +1 -0
  18. package/build/details/index.js +110 -0
  19. package/build/details/index.js.map +1 -0
  20. package/build/details/save.js +33 -0
  21. package/build/details/save.js.map +1 -0
  22. package/build/details-content/edit.js +34 -0
  23. package/build/details-content/edit.js.map +1 -0
  24. package/build/details-content/index.js +94 -0
  25. package/build/details-content/index.js.map +1 -0
  26. package/build/details-content/save.js +20 -0
  27. package/build/details-content/save.js.map +1 -0
  28. package/build/details-summary/edit.js +42 -0
  29. package/build/details-summary/edit.js.map +1 -0
  30. package/build/details-summary/index.js +97 -0
  31. package/build/details-summary/index.js.map +1 -0
  32. package/build/details-summary/save.js +24 -0
  33. package/build/details-summary/save.js.map +1 -0
  34. package/build/embed/deprecated.js +4 -1
  35. package/build/embed/deprecated.js.map +1 -1
  36. package/build/embed/embed-link-settings.native.js +1 -1
  37. package/build/embed/embed-link-settings.native.js.map +1 -1
  38. package/build/embed/embed-placeholder.js +1 -1
  39. package/build/embed/embed-placeholder.js.map +1 -1
  40. package/build/embed/index.js +4 -1
  41. package/build/embed/index.js.map +1 -1
  42. package/build/embed/transforms.js +4 -1
  43. package/build/embed/transforms.js.map +1 -1
  44. package/build/embed/util.js +4 -1
  45. package/build/embed/util.js.map +1 -1
  46. package/build/file/edit.native.js +0 -2
  47. package/build/file/edit.native.js.map +1 -1
  48. package/build/gallery/use-get-media.native.js +2 -1
  49. package/build/gallery/use-get-media.native.js.map +1 -1
  50. package/build/image/index.js +4 -2
  51. package/build/image/index.js.map +1 -1
  52. package/build/index.js +24 -6
  53. package/build/index.js.map +1 -1
  54. package/build/media-text/media-container.js +2 -6
  55. package/build/media-text/media-container.js.map +1 -1
  56. package/build/media-text/media-container.native.js +3 -3
  57. package/build/media-text/media-container.native.js.map +1 -1
  58. package/build/navigation/deprecated.js +8 -11
  59. package/build/navigation/deprecated.js.map +1 -1
  60. package/build/navigation/edit/unsaved-inner-blocks.js +1 -14
  61. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  62. package/build/post-author/index.js +0 -1
  63. package/build/post-author/index.js.map +1 -1
  64. package/build/post-featured-image/dimension-controls.js +2 -1
  65. package/build/post-featured-image/dimension-controls.js.map +1 -1
  66. package/build/post-featured-image/edit.js +8 -22
  67. package/build/post-featured-image/edit.js.map +1 -1
  68. package/build/post-time-to-read/edit.js +1 -1
  69. package/build/post-time-to-read/edit.js.map +1 -1
  70. package/build/post-time-to-read/index.js +7 -0
  71. package/build/post-time-to-read/index.js.map +1 -1
  72. package/build/spacer/controls.js +25 -6
  73. package/build/spacer/controls.js.map +1 -1
  74. package/build/spacer/edit.js +14 -4
  75. package/build/spacer/edit.js.map +1 -1
  76. package/build/spacer/save.js +2 -2
  77. package/build/spacer/save.js.map +1 -1
  78. package/build/table/state.js +35 -35
  79. package/build/table/state.js.map +1 -1
  80. package/build/term-description/index.js +1 -2
  81. package/build/term-description/index.js.map +1 -1
  82. package/build/utils/clean-empty-object.js +5 -2
  83. package/build/utils/clean-empty-object.js.map +1 -1
  84. package/build-module/column/index.js +2 -1
  85. package/build-module/column/index.js.map +1 -1
  86. package/build-module/columns/edit.js +24 -6
  87. package/build-module/columns/edit.js.map +1 -1
  88. package/build-module/columns/index.js +2 -1
  89. package/build-module/columns/index.js.map +1 -1
  90. package/build-module/columns/utils.js +4 -8
  91. package/build-module/columns/utils.js.map +1 -1
  92. package/build-module/cover/edit/index.js +48 -52
  93. package/build-module/cover/edit/index.js.map +1 -1
  94. package/build-module/cover/edit/{resizable-cover.js → resizable-cover-popover.js} +31 -6
  95. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -0
  96. package/build-module/cover/index.js +12 -0
  97. package/build-module/cover/index.js.map +1 -1
  98. package/build-module/details/edit.js +52 -0
  99. package/build-module/details/edit.js.map +1 -0
  100. package/build-module/details/index.js +91 -0
  101. package/build-module/details/index.js.map +1 -0
  102. package/build-module/details/save.js +20 -0
  103. package/build-module/details/save.js.map +1 -0
  104. package/build-module/details-content/edit.js +23 -0
  105. package/build-module/details-content/edit.js.map +1 -0
  106. package/build-module/details-content/index.js +76 -0
  107. package/build-module/details-content/index.js.map +1 -0
  108. package/build-module/details-content/save.js +11 -0
  109. package/build-module/details-content/save.js.map +1 -0
  110. package/build-module/details-summary/edit.js +30 -0
  111. package/build-module/details-summary/edit.js.map +1 -0
  112. package/build-module/details-summary/index.js +79 -0
  113. package/build-module/details-summary/index.js.map +1 -0
  114. package/build-module/details-summary/save.js +16 -0
  115. package/build-module/details-summary/save.js.map +1 -0
  116. package/build-module/embed/deprecated.js +4 -1
  117. package/build-module/embed/deprecated.js.map +1 -1
  118. package/build-module/embed/embed-link-settings.native.js +1 -1
  119. package/build-module/embed/embed-link-settings.native.js.map +1 -1
  120. package/build-module/embed/embed-placeholder.js +1 -1
  121. package/build-module/embed/embed-placeholder.js.map +1 -1
  122. package/build-module/embed/index.js +4 -1
  123. package/build-module/embed/index.js.map +1 -1
  124. package/build-module/embed/transforms.js +4 -1
  125. package/build-module/embed/transforms.js.map +1 -1
  126. package/build-module/embed/util.js +4 -1
  127. package/build-module/embed/util.js.map +1 -1
  128. package/build-module/file/edit.native.js +0 -2
  129. package/build-module/file/edit.native.js.map +1 -1
  130. package/build-module/gallery/use-get-media.native.js +2 -1
  131. package/build-module/gallery/use-get-media.native.js.map +1 -1
  132. package/build-module/image/index.js +4 -2
  133. package/build-module/image/index.js.map +1 -1
  134. package/build-module/index.js +21 -6
  135. package/build-module/index.js.map +1 -1
  136. package/build-module/media-text/media-container.js +1 -5
  137. package/build-module/media-text/media-container.js.map +1 -1
  138. package/build-module/media-text/media-container.native.js +1 -1
  139. package/build-module/media-text/media-container.native.js.map +1 -1
  140. package/build-module/navigation/deprecated.js +8 -10
  141. package/build-module/navigation/deprecated.js.map +1 -1
  142. package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -14
  143. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  144. package/build-module/post-author/index.js +0 -1
  145. package/build-module/post-author/index.js.map +1 -1
  146. package/build-module/post-featured-image/dimension-controls.js +2 -1
  147. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  148. package/build-module/post-featured-image/edit.js +8 -22
  149. package/build-module/post-featured-image/edit.js.map +1 -1
  150. package/build-module/post-time-to-read/edit.js +1 -1
  151. package/build-module/post-time-to-read/edit.js.map +1 -1
  152. package/build-module/post-time-to-read/index.js +7 -0
  153. package/build-module/post-time-to-read/index.js.map +1 -1
  154. package/build-module/spacer/controls.js +27 -9
  155. package/build-module/spacer/controls.js.map +1 -1
  156. package/build-module/spacer/edit.js +14 -5
  157. package/build-module/spacer/edit.js.map +1 -1
  158. package/build-module/spacer/save.js +3 -3
  159. package/build-module/spacer/save.js.map +1 -1
  160. package/build-module/table/state.js +35 -33
  161. package/build-module/table/state.js.map +1 -1
  162. package/build-module/term-description/index.js +1 -2
  163. package/build-module/term-description/index.js.map +1 -1
  164. package/build-module/utils/clean-empty-object.js +6 -3
  165. package/build-module/utils/clean-empty-object.js.map +1 -1
  166. package/build-style/columns/style-rtl.css +4 -1
  167. package/build-style/columns/style.css +4 -1
  168. package/build-style/common-rtl.css +1 -1
  169. package/build-style/common.css +1 -1
  170. package/build-style/cover/editor-rtl.css +11 -12
  171. package/build-style/cover/editor.css +11 -12
  172. package/build-style/cover/style-rtl.css +3 -2
  173. package/build-style/cover/style.css +3 -2
  174. package/build-style/details/style-rtl.css +91 -0
  175. package/build-style/details/style.css +91 -0
  176. package/build-style/details-summary/editor-rtl.css +91 -0
  177. package/build-style/details-summary/editor.css +91 -0
  178. package/build-style/details-summary/style-rtl.css +91 -0
  179. package/build-style/details-summary/style.css +91 -0
  180. package/build-style/editor-rtl.css +34 -48
  181. package/build-style/editor.css +34 -48
  182. package/build-style/file/style-rtl.css +4 -3
  183. package/build-style/file/style.css +4 -3
  184. package/build-style/post-excerpt/style-rtl.css +1 -1
  185. package/build-style/post-excerpt/style.css +1 -1
  186. package/build-style/pullquote/style-rtl.css +4 -1
  187. package/build-style/pullquote/style.css +4 -1
  188. package/build-style/shortcode/editor-rtl.css +15 -34
  189. package/build-style/shortcode/editor.css +15 -34
  190. package/build-style/spacer/editor-rtl.css +4 -2
  191. package/build-style/spacer/editor.css +4 -2
  192. package/build-style/style-rtl.css +25 -9
  193. package/build-style/style.css +25 -9
  194. package/package.json +31 -31
  195. package/src/column/block.json +2 -1
  196. package/src/columns/block.json +2 -1
  197. package/src/columns/edit.js +33 -9
  198. package/src/columns/style.scss +5 -1
  199. package/src/columns/utils.js +8 -9
  200. package/src/common.scss +1 -1
  201. package/src/cover/block.json +12 -0
  202. package/src/cover/edit/index.js +44 -37
  203. package/src/cover/edit/resizable-cover-popover.js +82 -0
  204. package/src/cover/editor.scss +20 -13
  205. package/src/cover/index.php +9 -10
  206. package/src/cover/style.scss +2 -1
  207. package/src/cover/test/edit.js +1 -1
  208. package/src/details/block.json +54 -0
  209. package/src/details/edit.js +59 -0
  210. package/src/details/index.js +35 -0
  211. package/src/details/save.js +15 -0
  212. package/src/details/style.scss +3 -0
  213. package/src/details-content/block.json +50 -0
  214. package/src/details-content/edit.js +29 -0
  215. package/src/details-content/index.js +23 -0
  216. package/src/details-content/save.js +12 -0
  217. package/src/details-summary/block.json +53 -0
  218. package/src/details-summary/edit.js +27 -0
  219. package/src/details-summary/editor.scss +3 -0
  220. package/src/details-summary/index.js +23 -0
  221. package/src/details-summary/save.js +13 -0
  222. package/src/details-summary/style.scss +3 -0
  223. package/src/editor.scss +1 -0
  224. package/src/embed/block.json +4 -1
  225. package/src/embed/embed-link-settings.native.js +1 -1
  226. package/src/embed/embed-placeholder.js +1 -1
  227. package/src/file/edit.native.js +0 -2
  228. package/src/file/style.scss +5 -2
  229. package/src/gallery/test/use-get-media.native.js +24 -0
  230. package/src/gallery/use-get-media.native.js +1 -1
  231. package/src/image/block.json +4 -2
  232. package/src/index.js +13 -3
  233. package/src/media-text/media-container.js +1 -5
  234. package/src/media-text/media-container.native.js +1 -1
  235. package/src/navigation/deprecated.js +15 -19
  236. package/src/navigation/edit/unsaved-inner-blocks.js +34 -46
  237. package/src/navigation/index.php +0 -4
  238. package/src/paragraph/test/edit.native.js +356 -1
  239. package/src/post-author/block.json +0 -1
  240. package/src/post-excerpt/index.php +3 -3
  241. package/src/post-excerpt/style.scss +2 -1
  242. package/src/post-featured-image/dimension-controls.js +5 -1
  243. package/src/post-featured-image/edit.js +8 -29
  244. package/src/post-time-to-read/block.json +7 -0
  245. package/src/post-time-to-read/edit.js +1 -1
  246. package/src/post-time-to-read/index.php +3 -3
  247. package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -2
  248. package/src/preformatted/test/edit.native.js +45 -2
  249. package/src/pullquote/style.scss +5 -1
  250. package/src/pullquote/test/edit.native.js +70 -0
  251. package/src/quote/test/edit.native.js +92 -0
  252. package/src/search/index.php +1 -1
  253. package/src/shortcode/editor.scss +26 -5
  254. package/src/spacer/controls.js +42 -17
  255. package/src/spacer/edit.js +23 -4
  256. package/src/spacer/editor.scss +2 -1
  257. package/src/spacer/save.js +3 -3
  258. package/src/style.scss +2 -0
  259. package/src/table/state.js +83 -66
  260. package/src/term-description/block.json +1 -2
  261. package/src/utils/clean-empty-object.js +4 -4
  262. package/src/verse/test/edit.native.js +33 -0
  263. package/build/cover/edit/resizable-cover.js.map +0 -1
  264. package/build/media-text/media-container-icon.js +0 -27
  265. package/build/media-text/media-container-icon.js.map +0 -1
  266. package/build-module/cover/edit/resizable-cover.js.map +0 -1
  267. package/build-module/media-text/media-container-icon.js +0 -17
  268. package/build-module/media-text/media-container-icon.js.map +0 -1
  269. package/src/cover/edit/resizable-cover.js +0 -61
  270. package/src/media-text/media-container-icon.js +0 -12
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/file/edit.native.js"],"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","placeholder","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","container","errorContainer","buttonText","color","placeholderTextColor","render","wasBlockJustInserted","instructions","onFocus","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\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.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\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\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : 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\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\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 file' ) }\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\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\trootTagsToEliminate={ [ 'p' ] }\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'CHOOSE A FILE' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( 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 { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/file/edit.native.js"],"names":["View","TouchableWithoutFeedback","Text","Clipboard","requestImageFailedRetryDialog","requestImageUploadCancelDialog","mediaUploadSync","BlockIcon","MediaPlaceholder","MediaUploadProgress","RichText","PlainText","BlockControls","MediaUpload","InspectorControls","MEDIA_TYPE_ANY","store","blockEditorStore","ToolbarButton","ToolbarGroup","PanelBody","ToggleControl","TextControl","SelectControl","Icon","file","icon","replace","button","external","link","warning","Component","__","_x","compose","withPreferredColorScheme","withDispatch","withSelect","getProtocol","coreStore","styles","URL_COPIED_NOTIFICATION_DURATION_MS","MIN_WIDTH","FileEdit","constructor","props","state","isUploadInProgress","isSidebarLinkSettings","placeholderTextWidth","maxWidth","timerRef","onLayout","bind","onSelectFile","onChangeFileName","onChangeDownloadButtonText","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","getFileComponent","onChangeDownloadButtonVisibility","onCopyURL","onChangeOpenInNewWindow","onChangeLinkDestinationOption","onShowLinkSettings","onFilePressed","mediaUploadStateReset","componentDidMount","attributes","setAttributes","downloadButtonText","undefined","id","url","componentWillUnmount","clearTimeout","componentDidUpdate","prevProps","isSidebarOpened","setState","media","href","fileName","title","textLinkHref","showDownloadButton","newHref","isUrlCopied","setString","setTimeout","newValue","textLinkTarget","payload","mediaUrl","mediaServerId","mediaId","openSidebar","getToolbarEditButton","open","getInspectorControls","isUploadFailed","linkDestinationOptions","value","label","attachmentPage","actionButtonStyle","getStylesFromColorScheme","actionButton","actionButtonDark","isCopyUrlDisabled","dimmedActionButtonStyle","dimmedActionButton","dimmedActionButtonDark","finalButtonStyle","getStyleForAlignment","align","getFlexAlign","alignment","alignSelf","getTextAlignmentForAlignment","nativeEvent","width","layout","paddingLeft","paddingRight","defaultButton","getPlaceholderWidth","placeholderText","placeholder","textWidth","lines","Math","min","openMediaOptions","getMediaOptions","isSelected","isButtonFocused","minWidth","dimmedStyle","disabledButton","errorIconStyle","Object","assign","errorIcon","uploadFailed","container","errorContainer","buttonText","color","placeholderTextColor","render","wasBlockJustInserted","instructions","onFocus","select","clientId","isEditorSidebarOpened","isNotFileHref","getMedia","dispatch","openGeneralSidebar"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\nimport Clipboard from '@react-native-clipboard/clipboard';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\tmediaUploadSync,\n} from '@wordpress/react-native-bridge';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaUploadProgress,\n\tRichText,\n\tPlainText,\n\tBlockControls,\n\tMediaUpload,\n\tInspectorControls,\n\tMEDIA_TYPE_ANY,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n\tTextControl,\n\tSelectControl,\n\tIcon,\n} from '@wordpress/components';\nimport {\n\tfile as icon,\n\treplace,\n\tbutton,\n\texternal,\n\tlink,\n\twarning,\n} from '@wordpress/icons';\nimport { Component } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { getProtocol } from '@wordpress/url';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nconst URL_COPIED_NOTIFICATION_DURATION_MS = 1500;\nconst MIN_WIDTH = 40;\n\nexport class FileEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t\tisSidebarLinkSettings: false,\n\t\t\tplaceholderTextWidth: 0,\n\t\t\tmaxWidth: 0,\n\t\t};\n\n\t\tthis.timerRef = null;\n\n\t\tthis.onLayout = this.onLayout.bind( this );\n\t\tthis.onSelectFile = this.onSelectFile.bind( this );\n\t\tthis.onChangeFileName = this.onChangeFileName.bind( this );\n\t\tthis.onChangeDownloadButtonText =\n\t\t\tthis.onChangeDownloadButtonText.bind( this );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\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.getFileComponent = this.getFileComponent.bind( this );\n\t\tthis.onChangeDownloadButtonVisibility =\n\t\t\tthis.onChangeDownloadButtonVisibility.bind( this );\n\t\tthis.onCopyURL = this.onCopyURL.bind( this );\n\t\tthis.onChangeOpenInNewWindow =\n\t\t\tthis.onChangeOpenInNewWindow.bind( this );\n\n\t\tthis.onChangeLinkDestinationOption =\n\t\t\tthis.onChangeLinkDestinationOption.bind( this );\n\t\tthis.onShowLinkSettings = this.onShowLinkSettings.bind( this );\n\t\tthis.onFilePressed = this.onFilePressed.bind( this );\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { downloadButtonText } = attributes;\n\n\t\tif ( downloadButtonText === undefined || downloadButtonText === '' ) {\n\t\t\tsetAttributes( {\n\t\t\t\tdownloadButtonText: _x( 'Download', 'button label' ),\n\t\t\t} );\n\t\t}\n\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\tclearTimeout( this.timerRef );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tif (\n\t\t\tprevProps.isSidebarOpened &&\n\t\t\t! this.props.isSidebarOpened &&\n\t\t\tthis.state.isSidebarLinkSettings\n\t\t) {\n\t\t\tthis.setState( { isSidebarLinkSettings: false } );\n\t\t}\n\t}\n\n\tonSelectFile( media ) {\n\t\tthis.props.setAttributes( {\n\t\t\thref: media.url,\n\t\t\tfileName: media.title,\n\t\t\ttextLinkHref: media.url,\n\t\t\tid: media.id,\n\t\t} );\n\t}\n\n\tonChangeFileName( fileName ) {\n\t\tthis.props.setAttributes( { fileName } );\n\t}\n\n\tonChangeDownloadButtonText( downloadButtonText ) {\n\t\tthis.props.setAttributes( { downloadButtonText } );\n\t}\n\n\tonChangeDownloadButtonVisibility( showDownloadButton ) {\n\t\tthis.props.setAttributes( { showDownloadButton } );\n\t}\n\n\tonChangeLinkDestinationOption( newHref ) {\n\t\t// Choose Media File or Attachment Page (when file is in Media Library)\n\t\tthis.props.setAttributes( { textLinkHref: newHref } );\n\t}\n\n\tonCopyURL() {\n\t\tif ( this.state.isUrlCopied ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { href } = this.props.attributes;\n\t\tClipboard.setString( href );\n\n\t\tthis.setState( { isUrlCopied: true } );\n\t\tthis.timerRef = setTimeout( () => {\n\t\t\tthis.setState( { isUrlCopied: false } );\n\t\t}, URL_COPIED_NOTIFICATION_DURATION_MS );\n\t}\n\n\tonChangeOpenInNewWindow( newValue ) {\n\t\tthis.props.setAttributes( {\n\t\t\ttextLinkTarget: newValue ? '_blank' : 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\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\thref: payload.mediaUrl,\n\t\t\tid: payload.mediaServerId,\n\t\t\ttextLinkHref: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tthis.props.setAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tid: null,\n\t\t\thref: null,\n\t\t\ttextLinkHref: null,\n\t\t\tfileName: null,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonShowLinkSettings() {\n\t\tthis.setState(\n\t\t\t{\n\t\t\t\tisSidebarLinkSettings: true,\n\t\t\t},\n\t\t\tthis.props.openSidebar\n\t\t);\n\t}\n\n\tgetToolbarEditButton( open ) {\n\t\treturn (\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 file' ) }\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\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Link To' ) }\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tonClick={ this.onShowLinkSettings }\n\t\t\t\t\t/>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t);\n\t}\n\n\tgetInspectorControls(\n\t\t{ showDownloadButton, textLinkTarget, href, textLinkHref },\n\t\tmedia,\n\t\tisUploadInProgress,\n\t\tisUploadFailed\n\t) {\n\t\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\t\tconst attachmentPage = media && media.link;\n\t\tconst { isSidebarLinkSettings } = this.state;\n\n\t\tif ( attachmentPage ) {\n\t\t\tlinkDestinationOptions = [\n\t\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t\t];\n\t\t}\n\n\t\tconst actionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\tconst isCopyUrlDisabled = isUploadFailed || isUploadInProgress;\n\n\t\tconst dimmedActionButtonStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.dimmedActionButton,\n\t\t\tstyles.dimmedActionButtonDark\n\t\t);\n\n\t\tconst finalButtonStyle = isCopyUrlDisabled\n\t\t\t? dimmedActionButtonStyle\n\t\t\t: actionButtonStyle;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t{ isSidebarLinkSettings || (\n\t\t\t\t\t<PanelBody title={ __( 'File block settings' ) } />\n\t\t\t\t) }\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\tonChange={ this.onChangeLinkDestinationOption }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ textLinkTarget === '_blank' }\n\t\t\t\t\t\tonChange={ this.onChangeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isSidebarLinkSettings && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\ticon={ button }\n\t\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\t\tonChange={ this.onChangeDownloadButtonVisibility }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tdisabled={ isCopyUrlDisabled }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tthis.state.isUrlCopied\n\t\t\t\t\t\t\t\t? __( 'Copied!' )\n\t\t\t\t\t\t\t\t: __( 'Copy file URL' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabelStyle={\n\t\t\t\t\t\t\tthis.state.isUrlCopied || finalButtonStyle\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonPress={ this.onCopyURL }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\tgetStyleForAlignment( align ) {\n\t\tconst getFlexAlign = ( alignment ) => {\n\t\t\tswitch ( alignment ) {\n\t\t\t\tcase 'right':\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\tcase 'center':\n\t\t\t\t\treturn 'center';\n\t\t\t\tdefault:\n\t\t\t\t\treturn 'flex-start';\n\t\t\t}\n\t\t};\n\t\treturn { alignSelf: getFlexAlign( align ) };\n\t}\n\n\tgetTextAlignmentForAlignment( align ) {\n\t\tswitch ( align ) {\n\t\t\tcase 'right':\n\t\t\t\treturn 'right';\n\t\t\tcase 'center':\n\t\t\t\treturn 'center';\n\t\t\tdefault:\n\t\t\t\treturn 'left';\n\t\t}\n\t}\n\n\tonFilePressed() {\n\t\tconst { attributes } = this.props;\n\n\t\tif ( this.state.isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( attributes.id );\n\t\t} else if (\n\t\t\tattributes.id &&\n\t\t\tgetProtocol( attributes.href ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\t}\n\n\tonLayout( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { paddingLeft, paddingRight } = styles.defaultButton;\n\t\tthis.setState( {\n\t\t\tmaxWidth: width - ( paddingLeft + paddingRight ),\n\t\t} );\n\t}\n\n\t// Render `Text` with `placeholderText` styled as a placeholder\n\t// to calculate its width which then is set as a `minWidth`\n\t// This should be fixed on RNAztec level. In the mean time,\n\t// We use the same strategy implemented in Button block.\n\tgetPlaceholderWidth( placeholderText ) {\n\t\tconst { maxWidth, placeholderTextWidth } = this.state;\n\t\treturn (\n\t\t\t<Text\n\t\t\t\tstyle={ styles.placeholder }\n\t\t\t\tonTextLayout={ ( { nativeEvent } ) => {\n\t\t\t\t\tconst textWidth =\n\t\t\t\t\t\tnativeEvent.lines[ 0 ] && nativeEvent.lines[ 0 ].width;\n\t\t\t\t\tif ( textWidth && textWidth !== placeholderTextWidth ) {\n\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\tplaceholderTextWidth: Math.min(\n\t\t\t\t\t\t\t\ttextWidth,\n\t\t\t\t\t\t\t\tmaxWidth\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ placeholderText }\n\t\t\t</Text>\n\t\t);\n\t}\n\n\tgetFileComponent( openMediaOptions, getMediaOptions ) {\n\t\tconst { attributes, media, isSelected } = this.props;\n\t\tconst { isButtonFocused, placeholderTextWidth } = this.state;\n\n\t\tconst { fileName, downloadButtonText, id, showDownloadButton, align } =\n\t\t\tattributes;\n\n\t\tconst minWidth =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? MIN_WIDTH\n\t\t\t\t: placeholderTextWidth;\n\n\t\tconst placeholderText =\n\t\t\tisButtonFocused ||\n\t\t\t( ! isButtonFocused &&\n\t\t\t\tdownloadButtonText &&\n\t\t\t\tdownloadButtonText !== '' )\n\t\t\t\t? ''\n\t\t\t\t: __( 'Add text…' );\n\n\t\treturn (\n\t\t\t<MediaUploadProgress\n\t\t\t\tmediaId={ id }\n\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t}\n\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t}\n\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\trenderContent={ ( { isUploadInProgress, isUploadFailed } ) => {\n\t\t\t\t\tconst dimmedStyle =\n\t\t\t\t\t\t( this.state.isUploadInProgress || isUploadFailed ) &&\n\t\t\t\t\t\tstyles.disabledButton;\n\t\t\t\t\tconst finalButtonStyle = [\n\t\t\t\t\t\tstyles.defaultButton,\n\t\t\t\t\t\tdimmedStyle,\n\t\t\t\t\t];\n\n\t\t\t\t\tconst errorIconStyle = Object.assign(\n\t\t\t\t\t\t{},\n\t\t\t\t\t\tstyles.errorIcon,\n\t\t\t\t\t\tstyles.uploadFailed\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\t\t\tonPress={ this.onFilePressed }\n\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\tonLayout={ this.onLayout }\n\t\t\t\t\t\t\t\ttestID=\"file-edit-container\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ this.getPlaceholderWidth( placeholderText ) }\n\t\t\t\t\t\t\t\t{ isUploadInProgress ||\n\t\t\t\t\t\t\t\t\tthis.getToolbarEditButton(\n\t\t\t\t\t\t\t\t\t\topenMediaOptions\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t\t{ isSelected &&\n\t\t\t\t\t\t\t\t\tthis.getInspectorControls(\n\t\t\t\t\t\t\t\t\t\tattributes,\n\t\t\t\t\t\t\t\t\t\tmedia,\n\t\t\t\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<View style={ styles.container }>\n\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\tonChange={ this.onChangeFileName }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'File name' ) }\n\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\tvalue={ fileName }\n\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\ttextAlign={ this.getTextAlignmentForAlignment(\n\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<View style={ styles.errorContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\t\ticon={ warning }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ errorIconStyle }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\t\teditable={ false }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ __( 'Error' ) }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.uploadFailed }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t{ showDownloadButton &&\n\t\t\t\t\t\t\t\t\tthis.state.maxWidth > 0 && (\n\t\t\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\t\t\t\tfinalButtonStyle,\n\t\t\t\t\t\t\t\t\t\t\t\tthis.getStyleForAlignment(\n\t\t\t\t\t\t\t\t\t\t\t\t\talign\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount\n\t\t\t\t\t\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\t\t\t\t\t\tminWidth={ minWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tmaxWidth={ this.state.maxWidth }\n\t\t\t\t\t\t\t\t\t\t\t\tdeleteEnter={ true }\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ styles.buttonText }\n\t\t\t\t\t\t\t\t\t\t\t\tvalue={ downloadButtonText }\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholder={ placeholderText }\n\t\t\t\t\t\t\t\t\t\t\t\tunstableOnFocus={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tonBlur={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tisButtonFocused: false,\n\t\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.buttonText.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyles.placeholderTextColor\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.color\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\t\t\t\t\t\t\t\t\tonChange={\n\t\t\t\t\t\t\t\t\t\t\t\t\tthis\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.onChangeDownloadButtonText\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { attributes, wasBlockJustInserted, isSelected } = this.props;\n\t\tconst { href } = attributes;\n\n\t\tif ( ! href ) {\n\t\t\treturn (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: __( 'File' ),\n\t\t\t\t\t\tinstructions: __( 'CHOOSE A FILE' ),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\t\tautoOpenMediaUpload={ isSelected && wasBlockJustInserted }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_ANY ] }\n\t\t\t\tisReplacingMedia={ true }\n\t\t\t\tonSelect={ this.onSelectFile }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn this.getFileComponent( 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 { attributes, isSelected, clientId } = props;\n\t\tconst { id, href } = attributes;\n\t\tconst { isEditorSidebarOpened } = select( 'core/edit-post' );\n\t\tconst isNotFileHref = id && getProtocol( href ) !== 'file:';\n\t\treturn {\n\t\t\tmedia: isNotFileHref\n\t\t\t\t? select( coreStore ).getMedia( id )\n\t\t\t\t: undefined,\n\t\t\tisSidebarOpened: isSelected && isEditorSidebarOpened(),\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\t\treturn {\n\t\t\topenSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( FileEdit );\n"]}
@@ -13,7 +13,8 @@ const EMPTY_IMAGE_MEDIA = [];
13
13
  * @return {Array} An array of media info options for each gallery image.
14
14
  */
15
15
 
16
- export default function useGetMedia(innerBlockImages) {
16
+ export default function useGetMedia() {
17
+ let innerBlockImages = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
17
18
  return useSelect(select => {
18
19
  var _select$getMediaItems;
19
20
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.native.js"],"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imagesUploading","some","attributes","url","indexOf","imageIds","filter","id","undefined","map","imageBlock","length","getMediaItems","include","join","per_page","orderby"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA,MAAMC,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,CAAsBC,gBAAtB,EAAyC;AACvD,SAAOL,SAAS,CACbM,MAAF,IAAc;AAAA;;AACb,UAAMC,eAAe,GAAGF,gBAAgB,CAACG,IAAjB,CACvB;AAAA;;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAsB,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,+BAAAA,UAAU,CAAEC,GAAZ,oEAAiBC,OAAjB,CAA0B,OAA1B,OAAwC,CAA9D;AAAA,KADuB,CAAxB;AAGA,UAAMC,QAAQ,GAAGP,gBAAgB,CAC/BQ,MADe,CACP,SAAsB;AAAA,UAApB;AAAEJ,QAAAA;AAAF,OAAoB;AAC9B,YAAM;AAAEK,QAAAA,EAAF;AAAMJ,QAAAA;AAAN,UAAcD,UAApB;AACA,aAAOK,EAAE,KAAKC,SAAP,IAAoB,CAAAL,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEC,OAAL,CAAc,OAAd,OAA4B,CAAvD;AACA,KAJe,EAKfK,GALe,CAKRC,UAAF,IAAkBA,UAAU,CAACR,UAAX,CAAsBK,EAL9B,CAAjB;;AAOA,QAAKF,QAAQ,CAACM,MAAT,KAAoB,CAApB,IAAyBX,eAA9B,EAAgD;AAC/C,aAAOJ,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAEJ,SAAF,CAAN,CAAoBiB,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAER,QAAQ,CAACS,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EACPV,QAAQ,CAACM;AAAO;AAHiB;AAIlCK,MAAAA,OAAO,EAAE;AAJyB,KAAnC,CADD,yEAMQpB,iBANR;AAQA,GAxBc,EAyBf,CAAEE,gBAAF,CAzBe,CAAhB;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imagesUploading = innerBlockImages.some(\n\t\t\t\t( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0\n\t\t\t);\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.filter( ( { attributes } ) => {\n\t\t\t\t\tconst { id, url } = attributes;\n\t\t\t\t\treturn id !== undefined && url?.indexOf( 'file:' ) !== 0;\n\t\t\t\t} )\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id );\n\n\t\t\tif ( imageIds.length === 0 || imagesUploading ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page:\n\t\t\t\t\t\timageIds.length /* 'hard' limit necessary as unbounded queries aren't supported on native */,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/use-get-media.native.js"],"names":["useSelect","store","coreStore","EMPTY_IMAGE_MEDIA","useGetMedia","innerBlockImages","select","imagesUploading","some","attributes","url","indexOf","imageIds","filter","id","undefined","map","imageBlock","length","getMediaItems","include","join","per_page","orderby"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA,MAAMC,iBAAiB,GAAG,EAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,WAAT,GAA8C;AAAA,MAAxBC,gBAAwB,uEAAL,EAAK;AAC5D,SAAOL,SAAS,CACbM,MAAF,IAAc;AAAA;;AACb,UAAMC,eAAe,GAAGF,gBAAgB,CAACG,IAAjB,CACvB;AAAA;;AAAA,UAAE;AAAEC,QAAAA;AAAF,OAAF;AAAA,aAAsB,CAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,+BAAAA,UAAU,CAAEC,GAAZ,oEAAiBC,OAAjB,CAA0B,OAA1B,OAAwC,CAA9D;AAAA,KADuB,CAAxB;AAGA,UAAMC,QAAQ,GAAGP,gBAAgB,CAC/BQ,MADe,CACP,SAAsB;AAAA,UAApB;AAAEJ,QAAAA;AAAF,OAAoB;AAC9B,YAAM;AAAEK,QAAAA,EAAF;AAAMJ,QAAAA;AAAN,UAAcD,UAApB;AACA,aAAOK,EAAE,KAAKC,SAAP,IAAoB,CAAAL,GAAG,SAAH,IAAAA,GAAG,WAAH,YAAAA,GAAG,CAAEC,OAAL,CAAc,OAAd,OAA4B,CAAvD;AACA,KAJe,EAKfK,GALe,CAKRC,UAAF,IAAkBA,UAAU,CAACR,UAAX,CAAsBK,EAL9B,CAAjB;;AAOA,QAAKF,QAAQ,CAACM,MAAT,KAAoB,CAApB,IAAyBX,eAA9B,EAAgD;AAC/C,aAAOJ,iBAAP;AACA;;AAED,oCACCG,MAAM,CAAEJ,SAAF,CAAN,CAAoBiB,aAApB,CAAmC;AAClCC,MAAAA,OAAO,EAAER,QAAQ,CAACS,IAAT,CAAe,GAAf,CADyB;AAElCC,MAAAA,QAAQ,EACPV,QAAQ,CAACM;AAAO;AAHiB;AAIlCK,MAAAA,OAAO,EAAE;AAJyB,KAAnC,CADD,yEAMQpB,iBANR;AAQA,GAxBc,EAyBf,CAAEE,gBAAF,CAzBe,CAAhB;AA2BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst EMPTY_IMAGE_MEDIA = [];\n\n/**\n * Retrieves the extended media info for each gallery image from the store. This is used to\n * determine which image size options are available for the current gallery.\n *\n * @param {Array} innerBlockImages An array of the innerBlock images currently in the gallery.\n *\n * @return {Array} An array of media info options for each gallery image.\n */\nexport default function useGetMedia( innerBlockImages = [] ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst imagesUploading = innerBlockImages.some(\n\t\t\t\t( { attributes } ) => attributes?.url?.indexOf( 'file:' ) === 0\n\t\t\t);\n\t\t\tconst imageIds = innerBlockImages\n\t\t\t\t.filter( ( { attributes } ) => {\n\t\t\t\t\tconst { id, url } = attributes;\n\t\t\t\t\treturn id !== undefined && url?.indexOf( 'file:' ) !== 0;\n\t\t\t\t} )\n\t\t\t\t.map( ( imageBlock ) => imageBlock.attributes.id );\n\n\t\t\tif ( imageIds.length === 0 || imagesUploading ) {\n\t\t\t\treturn EMPTY_IMAGE_MEDIA;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\tselect( coreStore ).getMediaItems( {\n\t\t\t\t\tinclude: imageIds.join( ',' ),\n\t\t\t\t\tper_page:\n\t\t\t\t\t\timageIds.length /* 'hard' limit necessary as unbounded queries aren't supported on native */,\n\t\t\t\t\torderby: 'include',\n\t\t\t\t} ) ?? EMPTY_IMAGE_MEDIA\n\t\t\t);\n\t\t},\n\t\t[ innerBlockImages ]\n\t);\n}\n"]}
@@ -97,10 +97,12 @@ const metadata = {
97
97
  supports: {
98
98
  anchor: true,
99
99
  color: {
100
- __experimentalDuotone: true,
101
100
  text: false,
102
101
  background: false
103
102
  },
103
+ filter: {
104
+ duotone: true
105
+ },
104
106
  __experimentalBorder: {
105
107
  color: true,
106
108
  radius: true,
@@ -116,7 +118,7 @@ const metadata = {
116
118
  selectors: {
117
119
  border: ".wp-block-image img, .wp-block-image .wp-block-image__crop-area",
118
120
  filter: {
119
- duotone: "img, .components-placeholder"
121
+ duotone: ".wp-block-image img, .wp-block-image .components-placeholder"
120
122
  }
121
123
  },
122
124
  styles: [{
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/index.js"],"names":["__","image","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","sizeSlug","url","caption","__experimentalLabel","context","alt","getEditWrapperProps","align","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE,OADC;AAEXC,MAAAA,GAAG,EAAE,8CAFM;AAGX;AACAC,MAAAA,OAAO,EAAEf,EAAE,CAAE,8CAAF;AAJA;AADJ,GAFc;;AAUvBgB,EAAAA,mBAAmB,CAAEJ,UAAF,QAA4B;AAAA,QAAd;AAAEK,MAAAA;AAAF,KAAc;;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEF,QAAAA,OAAF;AAAWG,QAAAA,GAAX;AAAgBJ,QAAAA;AAAhB,UAAwBF,UAA9B;;AAEA,UAAK,CAAEE,GAAP,EAAa;AACZ,eAAOd,EAAE,CAAE,OAAF,CAAT;AACA;;AAED,UAAK,CAAEkB,GAAP,EAAa;AACZ,eAAOH,OAAO,IAAI,EAAlB;AACA,OATiC,CAWlC;AACA;;;AACA,aAAOG,GAAG,IAAKH,OAAO,GAAG,OAAOA,OAAV,GAAoB,EAAhC,CAAV;AACA;AACD,GA1BsB;;AA2BvBI,EAAAA,mBAAmB,CAAEP,UAAF,EAAe;AACjC,WAAO;AACN,oBAAcA,UAAU,CAACQ;AADnB,KAAP;AAGA,GA/BsB;;AAgCvBb,EAAAA,UAhCuB;AAiCvBF,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBF,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMiB,IAAI,GAAG,MAAMlB,SAAS,CAAE;AAAEK,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears—still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/index.js"],"names":["__","image","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","sizeSlug","url","caption","__experimentalLabel","context","alt","getEditWrapperProps","align","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE,OADC;AAEXC,MAAAA,GAAG,EAAE,8CAFM;AAGX;AACAC,MAAAA,OAAO,EAAEf,EAAE,CAAE,8CAAF;AAJA;AADJ,GAFc;;AAUvBgB,EAAAA,mBAAmB,CAAEJ,UAAF,QAA4B;AAAA,QAAd;AAAEK,MAAAA;AAAF,KAAc;;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEF,QAAAA,OAAF;AAAWG,QAAAA,GAAX;AAAgBJ,QAAAA;AAAhB,UAAwBF,UAA9B;;AAEA,UAAK,CAAEE,GAAP,EAAa;AACZ,eAAOd,EAAE,CAAE,OAAF,CAAT;AACA;;AAED,UAAK,CAAEkB,GAAP,EAAa;AACZ,eAAOH,OAAO,IAAI,EAAlB;AACA,OATiC,CAWlC;AACA;;;AACA,aAAOG,GAAG,IAAKH,OAAO,GAAG,OAAOA,OAAV,GAAoB,EAAhC,CAAV;AACA;AACD,GA1BsB;;AA2BvBI,EAAAA,mBAAmB,CAAEP,UAAF,EAAe;AACjC,WAAO;AACN,oBAAcA,UAAU,CAACQ;AADnB,KAAP;AAGA,GA/BsB;;AAgCvBb,EAAAA,UAhCuB;AAiCvBF,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBF,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMiB,IAAI,GAAG,MAAMlB,SAAS,CAAE;AAAEK,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears—still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -40,6 +40,9 @@ import * as commentsPaginationNext from './comments-pagination-next';
40
40
  import * as commentsPaginationNumbers from './comments-pagination-numbers';
41
41
  import * as commentsTitle from './comments-title';
42
42
  import * as cover from './cover';
43
+ import * as details from './details';
44
+ import * as detailsContent from './details-content';
45
+ import * as detailsSummary from './details-summary';
43
46
  import * as embed from './embed';
44
47
  import * as file from './file';
45
48
  import * as gallery from './gallery';
@@ -115,12 +118,24 @@ import isBlockMetadataExperimental from './utils/is-block-metadata-experimental'
115
118
  * Function to get all the block-library blocks in an array
116
119
  */
117
120
 
118
- const getAllBlocks = () => [// Common blocks are grouped at the top to prioritize their display
119
- // in various contexts — like the inserter and auto-complete components.
120
- paragraph, image, heading, gallery, list, listItem, quote, // Register all remaining core blocks.
121
- archives, audio, button, buttons, calendar, categories, ...(window.wp && window.wp.oldEditor ? [classic] : []), // Only add the classic block in WP Context.
122
- code, column, columns, commentAuthorAvatar, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pageListItem, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, tagCloud, textColumns, verse, video, // theme blocks
123
- navigation, navigationLink, navigationSubmenu, siteLogo, siteTitle, siteTagline, query, templatePart, avatar, postTitle, postExcerpt, postFeaturedImage, postContent, postAuthor, postAuthorName, postComment, postCommentsCount, postCommentsLink, postDate, postTerms, postNavigationLink, postTemplate, postTimeToRead, queryPagination, queryPaginationNext, queryPaginationNumbers, queryPaginationPrevious, queryNoResults, readMore, comments, commentAuthorName, commentContent, commentDate, commentEditLink, commentReplyLink, commentTemplate, commentsTitle, commentsPagination, commentsPaginationNext, commentsPaginationNumbers, commentsPaginationPrevious, postCommentsForm, tableOfContents, homeLink, logInOut, termDescription, queryTitle, postAuthorBiography].filter(Boolean);
121
+ const getAllBlocks = () => {
122
+ var _window;
123
+
124
+ const blocks = [// Common blocks are grouped at the top to prioritize their display
125
+ // in various contexts like the inserter and auto-complete components.
126
+ paragraph, image, heading, gallery, list, listItem, quote, // Register all remaining core blocks.
127
+ archives, audio, button, buttons, calendar, categories, ...(window.wp && window.wp.oldEditor ? [classic] : []), // Only add the classic block in WP Context.
128
+ code, column, columns, commentAuthorAvatar, cover, embed, file, group, html, latestComments, latestPosts, mediaText, missing, more, nextpage, pageList, pageListItem, pattern, preformatted, pullquote, reusableBlock, rss, search, separator, shortcode, socialLink, socialLinks, spacer, table, tagCloud, textColumns, verse, video, // theme blocks
129
+ navigation, navigationLink, navigationSubmenu, siteLogo, siteTitle, siteTagline, query, templatePart, avatar, postTitle, postExcerpt, postFeaturedImage, postContent, postAuthor, postAuthorName, postComment, postCommentsCount, postCommentsLink, postDate, postTerms, postNavigationLink, postTemplate, postTimeToRead, queryPagination, queryPaginationNext, queryPaginationNumbers, queryPaginationPrevious, queryNoResults, readMore, comments, commentAuthorName, commentContent, commentDate, commentEditLink, commentReplyLink, commentTemplate, commentsTitle, commentsPagination, commentsPaginationNext, commentsPaginationNumbers, commentsPaginationPrevious, postCommentsForm, tableOfContents, homeLink, logInOut, termDescription, queryTitle, postAuthorBiography];
130
+
131
+ if ((_window = window) !== null && _window !== void 0 && _window.__experimentalEnableDetailsBlocks) {
132
+ blocks.push(details);
133
+ blocks.push(detailsContent);
134
+ blocks.push(detailsSummary);
135
+ }
136
+
137
+ return blocks.filter(Boolean);
138
+ };
124
139
  /**
125
140
  * Function to get all the core blocks in an array.
126
141
  *
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","archives","avatar","audio","button","buttons","calendar","categories","classic","code","column","columns","comments","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsPaginationPrevious","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsTitle","cover","embed","file","gallery","group","heading","homeLink","html","image","latestComments","latestPosts","list","listItem","logInOut","mediaText","missing","more","navigation","navigationLink","navigationSubmenu","nextpage","pattern","pageList","pageListItem","paragraph","postAuthor","postAuthorName","postAuthorBiography","postComment","postCommentsCount","postCommentsForm","postCommentsLink","postContent","postDate","postExcerpt","postFeaturedImage","postNavigationLink","postTemplate","postTerms","postTimeToRead","postTitle","preformatted","pullquote","query","queryNoResults","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryTitle","quote","reusableBlock","readMore","rss","search","separator","shortcode","siteLogo","siteTagline","siteTitle","socialLink","socialLinks","spacer","table","tableOfContents","tagCloud","templatePart","termDescription","textColumns","verse","video","isBlockMetadataExperimental","getAllBlocks","window","wp","oldEditor","filter","Boolean","__experimentalGetCoreBlocks","metadata","registerCoreBlocks","blocks","forEach","init","name","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","enabledExperiments","__experimental","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () =>\n\t[\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\t...( window.wp && window.wp.oldEditor ? [ classic ] : [] ), // Only add the classic block in WP Context.\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermDescription,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t].filter( Boolean );\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks = process.env\n\t.IS_GUTENBERG_PLUGIN\n\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\tgetAllBlocks()\n\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t)\n\t\t\t\t.filter(\n\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t)\n\t\t\t\t.forEach( ( { init } ) => init() );\n\t }\n\t: undefined;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/index.js"],"names":["setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","archives","avatar","audio","button","buttons","calendar","categories","classic","code","column","columns","comments","commentAuthorAvatar","commentAuthorName","commentContent","commentDate","commentEditLink","commentReplyLink","commentTemplate","commentsPaginationPrevious","commentsPagination","commentsPaginationNext","commentsPaginationNumbers","commentsTitle","cover","details","detailsContent","detailsSummary","embed","file","gallery","group","heading","homeLink","html","image","latestComments","latestPosts","list","listItem","logInOut","mediaText","missing","more","navigation","navigationLink","navigationSubmenu","nextpage","pattern","pageList","pageListItem","paragraph","postAuthor","postAuthorName","postAuthorBiography","postComment","postCommentsCount","postCommentsForm","postCommentsLink","postContent","postDate","postExcerpt","postFeaturedImage","postNavigationLink","postTemplate","postTerms","postTimeToRead","postTitle","preformatted","pullquote","query","queryNoResults","queryPagination","queryPaginationNext","queryPaginationNumbers","queryPaginationPrevious","queryTitle","quote","reusableBlock","readMore","rss","search","separator","shortcode","siteLogo","siteTagline","siteTitle","socialLink","socialLinks","spacer","table","tableOfContents","tagCloud","templatePart","termDescription","textColumns","verse","video","isBlockMetadataExperimental","getAllBlocks","blocks","window","wp","oldEditor","__experimentalEnableDetailsBlocks","push","filter","Boolean","__experimentalGetCoreBlocks","metadata","registerCoreBlocks","forEach","init","name","__experimentalRegisterExperimentalCoreBlocks","process","env","IS_GUTENBERG_PLUGIN","enableFSEBlocks","enabledExperiments","__experimental","includes","undefined"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\n// When IS_GUTENBERG_PLUGIN is set to false, imports of experimental blocks\n// are transformed by packages/block-library/src/index.js as follows:\n// import * as experimentalBlock from './experimental-block'\n// becomes\n// const experimentalBlock = null;\n// This enables webpack to eliminate the experimental blocks code from the\n// production build to make the final bundle smaller.\n//\n// See https://github.com/WordPress/gutenberg/pull/40655 for more context.\nimport * as archives from './archives';\nimport * as avatar from './avatar';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as buttons from './buttons';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as classic from './freeform';\nimport * as code from './code';\nimport * as column from './column';\nimport * as columns from './columns';\nimport * as comments from './comments';\nimport * as commentAuthorAvatar from './comment-author-avatar';\nimport * as commentAuthorName from './comment-author-name';\nimport * as commentContent from './comment-content';\nimport * as commentDate from './comment-date';\nimport * as commentEditLink from './comment-edit-link';\nimport * as commentReplyLink from './comment-reply-link';\nimport * as commentTemplate from './comment-template';\nimport * as commentsPaginationPrevious from './comments-pagination-previous';\nimport * as commentsPagination from './comments-pagination';\nimport * as commentsPaginationNext from './comments-pagination-next';\nimport * as commentsPaginationNumbers from './comments-pagination-numbers';\nimport * as commentsTitle from './comments-title';\nimport * as cover from './cover';\nimport * as details from './details';\nimport * as detailsContent from './details-content';\nimport * as detailsSummary from './details-summary';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as gallery from './gallery';\nimport * as group from './group';\nimport * as heading from './heading';\nimport * as homeLink from './home-link';\nimport * as html from './html';\nimport * as image from './image';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as listItem from './list-item';\nimport * as logInOut from './loginout';\nimport * as mediaText from './media-text';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as navigation from './navigation';\nimport * as navigationLink from './navigation-link';\nimport * as navigationSubmenu from './navigation-submenu';\nimport * as nextpage from './nextpage';\nimport * as pattern from './pattern';\nimport * as pageList from './page-list';\nimport * as pageListItem from './page-list-item';\nimport * as paragraph from './paragraph';\nimport * as postAuthor from './post-author';\nimport * as postAuthorName from './post-author-name';\nimport * as postAuthorBiography from './post-author-biography';\nimport * as postComment from './post-comment';\nimport * as postCommentsCount from './post-comments-count';\nimport * as postCommentsForm from './post-comments-form';\nimport * as postCommentsLink from './post-comments-link';\nimport * as postContent from './post-content';\nimport * as postDate from './post-date';\nimport * as postExcerpt from './post-excerpt';\nimport * as postFeaturedImage from './post-featured-image';\nimport * as postNavigationLink from './post-navigation-link';\nimport * as postTemplate from './post-template';\nimport * as postTerms from './post-terms';\nimport * as postTimeToRead from './post-time-to-read';\nimport * as postTitle from './post-title';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as query from './query';\nimport * as queryNoResults from './query-no-results';\nimport * as queryPagination from './query-pagination';\nimport * as queryPaginationNext from './query-pagination-next';\nimport * as queryPaginationNumbers from './query-pagination-numbers';\nimport * as queryPaginationPrevious from './query-pagination-previous';\nimport * as queryTitle from './query-title';\nimport * as quote from './quote';\nimport * as reusableBlock from './block';\nimport * as readMore from './read-more';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as siteLogo from './site-logo';\nimport * as siteTagline from './site-tagline';\nimport * as siteTitle from './site-title';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as tableOfContents from './table-of-contents';\nimport * as tagCloud from './tag-cloud';\nimport * as templatePart from './template-part';\nimport * as termDescription from './term-description';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\n\nimport isBlockMetadataExperimental from './utils/is-block-metadata-experimental';\n\n/**\n * Function to get all the block-library blocks in an array\n */\nconst getAllBlocks = () => {\n\tconst blocks = [\n\t\t// Common blocks are grouped at the top to prioritize their display\n\t\t// in various contexts — like the inserter and auto-complete components.\n\t\tparagraph,\n\t\timage,\n\t\theading,\n\t\tgallery,\n\t\tlist,\n\t\tlistItem,\n\t\tquote,\n\n\t\t// Register all remaining core blocks.\n\t\tarchives,\n\t\taudio,\n\t\tbutton,\n\t\tbuttons,\n\t\tcalendar,\n\t\tcategories,\n\t\t...( window.wp && window.wp.oldEditor ? [ classic ] : [] ), // Only add the classic block in WP Context.\n\t\tcode,\n\t\tcolumn,\n\t\tcolumns,\n\t\tcommentAuthorAvatar,\n\t\tcover,\n\t\tembed,\n\t\tfile,\n\t\tgroup,\n\t\thtml,\n\t\tlatestComments,\n\t\tlatestPosts,\n\t\tmediaText,\n\t\tmissing,\n\t\tmore,\n\t\tnextpage,\n\t\tpageList,\n\t\tpageListItem,\n\t\tpattern,\n\t\tpreformatted,\n\t\tpullquote,\n\t\treusableBlock,\n\t\trss,\n\t\tsearch,\n\t\tseparator,\n\t\tshortcode,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tspacer,\n\t\ttable,\n\t\ttagCloud,\n\t\ttextColumns,\n\t\tverse,\n\t\tvideo,\n\n\t\t// theme blocks\n\t\tnavigation,\n\t\tnavigationLink,\n\t\tnavigationSubmenu,\n\t\tsiteLogo,\n\t\tsiteTitle,\n\t\tsiteTagline,\n\t\tquery,\n\t\ttemplatePart,\n\t\tavatar,\n\t\tpostTitle,\n\t\tpostExcerpt,\n\t\tpostFeaturedImage,\n\t\tpostContent,\n\t\tpostAuthor,\n\t\tpostAuthorName,\n\t\tpostComment,\n\t\tpostCommentsCount,\n\t\tpostCommentsLink,\n\t\tpostDate,\n\t\tpostTerms,\n\t\tpostNavigationLink,\n\t\tpostTemplate,\n\t\tpostTimeToRead,\n\t\tqueryPagination,\n\t\tqueryPaginationNext,\n\t\tqueryPaginationNumbers,\n\t\tqueryPaginationPrevious,\n\t\tqueryNoResults,\n\t\treadMore,\n\t\tcomments,\n\t\tcommentAuthorName,\n\t\tcommentContent,\n\t\tcommentDate,\n\t\tcommentEditLink,\n\t\tcommentReplyLink,\n\t\tcommentTemplate,\n\t\tcommentsTitle,\n\t\tcommentsPagination,\n\t\tcommentsPaginationNext,\n\t\tcommentsPaginationNumbers,\n\t\tcommentsPaginationPrevious,\n\t\tpostCommentsForm,\n\t\ttableOfContents,\n\t\thomeLink,\n\t\tlogInOut,\n\t\ttermDescription,\n\t\tqueryTitle,\n\t\tpostAuthorBiography,\n\t];\n\tif ( window?.__experimentalEnableDetailsBlocks ) {\n\t\tblocks.push( details );\n\t\tblocks.push( detailsContent );\n\t\tblocks.push( detailsSummary );\n\t}\n\treturn blocks.filter( Boolean );\n};\n\n/**\n * Function to get all the core blocks in an array.\n *\n * @example\n * ```js\n * import { __experimentalGetCoreBlocks } from '@wordpress/block-library';\n *\n * const coreBlocks = __experimentalGetCoreBlocks();\n * ```\n */\nexport const __experimentalGetCoreBlocks = () =>\n\tgetAllBlocks().filter(\n\t\t( { metadata } ) => ! isBlockMetadataExperimental( metadata )\n\t);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @param {Array} blocks An optional array of the core blocks being registered.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = (\n\tblocks = __experimentalGetCoreBlocks()\n) => {\n\tblocks.forEach( ( { init } ) => init() );\n\n\tsetDefaultBlockName( paragraph.name );\n\tif ( window.wp && window.wp.oldEditor ) {\n\t\tsetFreeformContentHandlerName( classic.name );\n\t}\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tsetGroupingBlockName( group.name );\n};\n\n/**\n * Function to register experimental core blocks depending on editor settings.\n *\n * @param {boolean} enableFSEBlocks Whether to enable the full site editing blocks.\n * @example\n * ```js\n * import { __experimentalRegisterExperimentalCoreBlocks } from '@wordpress/block-library';\n *\n * __experimentalRegisterExperimentalCoreBlocks( settings );\n * ```\n */\nexport const __experimentalRegisterExperimentalCoreBlocks = process.env\n\t.IS_GUTENBERG_PLUGIN\n\t? ( { enableFSEBlocks } = {} ) => {\n\t\t\tconst enabledExperiments = [ enableFSEBlocks ? 'fse' : null ];\n\t\t\tgetAllBlocks()\n\t\t\t\t.filter( ( { metadata } ) =>\n\t\t\t\t\tisBlockMetadataExperimental( metadata )\n\t\t\t\t)\n\t\t\t\t.filter(\n\t\t\t\t\t( { metadata: { __experimental } } ) =>\n\t\t\t\t\t\t__experimental === true ||\n\t\t\t\t\t\tenabledExperiments.includes( __experimental )\n\t\t\t\t)\n\t\t\t\t.forEach( ( { init } ) => init() );\n\t }\n\t: undefined;\n"]}
@@ -17,11 +17,7 @@ import { useDispatch } from '@wordpress/data';
17
17
  import { forwardRef } from '@wordpress/element';
18
18
  import { isBlobURL } from '@wordpress/blob';
19
19
  import { store as noticesStore } from '@wordpress/notices';
20
- /**
21
- * Internal dependencies
22
- */
23
-
24
- import icon from './media-container-icon';
20
+ import { media as icon } from '@wordpress/icons';
25
21
  /**
26
22
  * Constants
27
23
  */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.js"],"names":["classnames","ResizableBox","Spinner","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","ref","isSelected","isStackedOnMobile","props","isMobile","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","title","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","isContentLocked","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","video"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport icon from './media-container-icon';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( { className, mediaUrl, onSelectMedia } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: ! isContentLocked && mediaPosition === 'left',\n\t\t\tleft: ! isContentLocked && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.js"],"names":["classnames","ResizableBox","Spinner","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","ref","isSelected","isStackedOnMobile","props","isMobile","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","title","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","isContentLocked","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","video"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( { className, mediaUrl, onSelectMedia } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tisContentLocked,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: ! isContentLocked && mediaPosition === 'left',\n\t\t\tleft: ! isContentLocked && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"]}
@@ -16,12 +16,12 @@ import { Component } from '@wordpress/element';
16
16
  import { __ } from '@wordpress/i18n';
17
17
  import { isURL, getProtocol } from '@wordpress/url';
18
18
  import { compose, withPreferredColorScheme } from '@wordpress/compose';
19
+ import { media as icon } from '@wordpress/icons';
19
20
  /**
20
21
  * Internal dependencies
21
22
  */
22
23
 
23
24
  import styles from './style.scss';
24
- import icon from './media-container-icon';
25
25
  import SvgIconRetry from './icon-retry';
26
26
  /**
27
27
  * Constants
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","styles","icon","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport icon from './media-container-icon';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\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.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\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 ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\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\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\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\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\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\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [ withPreferredColorScheme ] )( MediaContainer );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/media-container.native.js"],"names":["View","Text","TouchableWithoutFeedback","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","requestImageFullscreenPreview","Icon","Image","IMAGE_DEFAULT_FOCAL_POINT","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","MediaPlaceholder","MediaUpload","MediaUploadProgress","VIDEO_ASPECT_RATIO","VideoPlayer","Component","__","isURL","getProtocol","compose","withPreferredColorScheme","media","icon","styles","SvgIconRetry","ALLOWED_MEDIA_TYPES","ICON_TYPE","PLACEHOLDER","RETRY","imageFillStyles","MediaContainer","constructor","arguments","updateMediaProgress","bind","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","mediaUploadStateReset","onSelectMediaUploadOption","onMediaPressed","state","isUploadInProgress","componentDidMount","mediaId","mediaUrl","props","params","id","url","type","onSelectMedia","media_type","mediaType","isMediaSelected","onMediaSelected","getIcon","iconType","getStylesFromColorScheme","iconStyle","iconRetry","iconRetryVideo","iconRetryVideoDark","iconPlaceholder","iconPlaceholderDark","setState","payload","onMediaUpdate","mediaServerId","renderImage","openMediaOptions","aligmentStyles","focalPoint","imageFill","isSelected","mediaAlt","mediaWidth","shouldStack","isUploadFailed","retryMessage","focalPointValues","imageWithFocalPoint","height","imageCropped","mediaImageContainer","renderVideo","showVideo","videoPlaceholderStyles","videoPlaceholder","videoPlaceholderDark","retryVideoTextStyles","uploadFailedText","uploadFailedTextVideo","uploadFailedTextVideoDark","mediaVideo","videoContainer","videoContent","aspectRatio","videoPlayer","video","uri","modalIcon","renderContent","mediaElement","renderPlaceholder","title","onFocus","render","onSetOpenPickerRef","coverUrl","open","getMediaOptions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Icon, Image, IMAGE_DEFAULT_FOCAL_POINT } from '@wordpress/components';\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport SvgIconRetry from './icon-retry';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ];\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n};\n\nexport { imageFillStyles } from './media-container.js';\n\nclass MediaContainer extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\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.onMediaPressed = this.onMediaPressed.bind( this );\n\n\t\tthis.state = {\n\t\t\tisUploadInProgress: false,\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { mediaId, mediaUrl } = this.props;\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 ( mediaId && mediaUrl && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tonSelectMediaUploadOption( params ) {\n\t\tconst { id, url, type } = params;\n\t\tconst { onSelectMedia } = this.props;\n\n\t\tonSelectMedia( {\n\t\t\tmedia_type: type,\n\t\t\tid,\n\t\t\turl,\n\t\t} );\n\t}\n\n\tonMediaPressed() {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\tmediaId,\n\t\t\tmediaUrl,\n\t\t\tmediaType,\n\t\t\tisMediaSelected,\n\t\t\tonMediaSelected,\n\t\t} = this.props;\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( mediaId );\n\t\t} else if ( mediaId && getProtocol( mediaUrl ) === 'file:' ) {\n\t\t\trequestImageFailedRetryDialog( mediaId );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE && isMediaSelected ) {\n\t\t\trequestImageFullscreenPreview( mediaUrl );\n\t\t} else if ( mediaType === MEDIA_TYPE_IMAGE ) {\n\t\t\tonMediaSelected();\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tconst { mediaType, getStylesFromColorScheme } = this.props;\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\ticonStyle =\n\t\t\t\t\tmediaType === MEDIA_TYPE_IMAGE\n\t\t\t\t\t\t? styles.iconRetry\n\t\t\t\t\t\t: getStylesFromColorScheme(\n\t\t\t\t\t\t\t\tstyles.iconRetryVideo,\n\t\t\t\t\t\t\t\tstyles.iconRetryVideoDark\n\t\t\t\t\t\t );\n\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...iconStyle } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = getStylesFromColorScheme(\n\t\t\t\t\tstyles.iconPlaceholder,\n\t\t\t\t\tstyles.iconPlaceholderDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t\treturn <Icon icon={ icon } { ...iconStyle } />;\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { onMediaUpdate } = this.props;\n\n\t\tonMediaUpdate( { id: null, url: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\trenderImage( params, openMediaOptions ) {\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tfocalPoint,\n\t\t\timageFill,\n\t\t\tisMediaSelected,\n\t\t\tisSelected,\n\t\t\tmediaAlt,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tshouldStack,\n\t\t} = this.props;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst focalPointValues = ! focalPoint\n\t\t\t? IMAGE_DEFAULT_FOCAL_POINT\n\t\t\t: focalPoint;\n\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\timageFill && styles.imageWithFocalPoint,\n\t\t\t\t\timageFill &&\n\t\t\t\t\t\tshouldStack && {\n\t\t\t\t\t\t\theight: styles.imageFill.height,\n\t\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\timageFill && styles.imageCropped,\n\t\t\t\t\t\t\tstyles.mediaImageContainer,\n\t\t\t\t\t\t\t! isUploadInProgress && aligmentStyles,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\t\tfocalPoint={ imageFill && focalPointValues }\n\t\t\t\t\t\t\tisSelected={ isMediaSelected }\n\t\t\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\tonSelectMediaUploadOption={\n\t\t\t\t\t\t\t\tthis.onSelectMediaUploadOption\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\t\t\twidth={ ! isUploadInProgress && mediaWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderVideo( params ) {\n\t\tconst {\n\t\t\taligmentStyles,\n\t\t\tmediaUrl,\n\t\t\tisSelected,\n\t\t\tgetStylesFromColorScheme,\n\t\t} = this.props;\n\t\tconst { isUploadInProgress } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst showVideo =\n\t\t\tisURL( mediaUrl ) && ! isUploadInProgress && ! isUploadFailed;\n\n\t\tconst videoPlaceholderStyles = getStylesFromColorScheme(\n\t\t\tstyles.videoPlaceholder,\n\t\t\tstyles.videoPlaceholderDark\n\t\t);\n\t\tconst retryVideoTextStyles = [\n\t\t\tstyles.uploadFailedText,\n\t\t\tgetStylesFromColorScheme(\n\t\t\t\tstyles.uploadFailedTextVideo,\n\t\t\t\tstyles.uploadFailedTextVideoDark\n\t\t\t),\n\t\t];\n\n\t\treturn (\n\t\t\t<View style={ styles.mediaVideo }>\n\t\t\t\t<TouchableWithoutFeedback\n\t\t\t\t\taccessible={ ! isSelected }\n\t\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t>\n\t\t\t\t\t<View style={ [ styles.videoContainer, aligmentStyles ] }>\n\t\t\t\t\t\t<View\n\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\tstyles.videoContent,\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\taspectRatio: VIDEO_ASPECT_RATIO,\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\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t<View style={ styles.videoPlayer }>\n\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\t\t\t\tstyle={ styles.video }\n\t\t\t\t\t\t\t\t\t\tsource={ { uri: mediaUrl } }\n\t\t\t\t\t\t\t\t\t\tpaused={ true }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ! showVideo && (\n\t\t\t\t\t\t\t\t<View style={ videoPlaceholderStyles }>\n\t\t\t\t\t\t\t\t\t<View style={ styles.modalIcon }>\n\t\t\t\t\t\t\t\t\t\t{ isUploadFailed\n\t\t\t\t\t\t\t\t\t\t\t? this.getIcon( ICON_TYPE.RETRY )\n\t\t\t\t\t\t\t\t\t\t\t: this.getIcon(\n\t\t\t\t\t\t\t\t\t\t\t\t\tICON_TYPE.PLACEHOLDER\n\t\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\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t<Text style={ retryVideoTextStyles }>\n\t\t\t\t\t\t\t\t\t\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t</TouchableWithoutFeedback>\n\t\t\t</View>\n\t\t);\n\t}\n\n\trenderContent( params, openMediaOptions ) {\n\t\tconst { mediaType } = this.props;\n\t\tlet mediaElement = null;\n\n\t\tswitch ( mediaType ) {\n\t\t\tcase MEDIA_TYPE_IMAGE:\n\t\t\t\tmediaElement = this.renderImage( params, openMediaOptions );\n\t\t\t\tbreak;\n\t\t\tcase MEDIA_TYPE_VIDEO:\n\t\t\t\tmediaElement = this.renderVideo( params );\n\t\t\t\tbreak;\n\t\t}\n\t\treturn mediaElement;\n\t}\n\n\trenderPlaceholder() {\n\t\treturn (\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\tlabels={ {\n\t\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t\t} }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { mediaUrl, mediaId, mediaType, onSetOpenPickerRef } = this.props;\n\t\tconst coverUrl = mediaType === MEDIA_TYPE_IMAGE ? mediaUrl : null;\n\n\t\tif ( mediaUrl ) {\n\t\t\treturn (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tisReplacingMedia={ true }\n\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ mediaId }\n\t\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\t\tonSetOpenPickerRef( open );\n\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ getMediaOptions() }\n\n\t\t\t\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\t\t\t\tcoverUrl={ coverUrl }\n\t\t\t\t\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\t\t\t\t\tonUpdateMediaProgress={\n\t\t\t\t\t\t\t\t\t\tthis.updateMediaProgress\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonMediaUploadStateReset={\n\t\t\t\t\t\t\t\t\t\tthis.mediaUploadStateReset\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\trenderContent={ ( params ) => {\n\t\t\t\t\t\t\t\t\t\treturn this.renderContent(\n\t\t\t\t\t\t\t\t\t\t\tparams,\n\t\t\t\t\t\t\t\t\t\t\topen\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\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\treturn this.renderPlaceholder();\n\t}\n}\n\nexport default compose( [ withPreferredColorScheme ] )( MediaContainer );\n"]}