@wordpress/block-library 8.30.0 → 8.32.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 (362) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/block/edit.js +22 -16
  3. package/build/block/edit.js.map +1 -1
  4. package/build/button/edit.native.js +1 -1
  5. package/build/button/edit.native.js.map +1 -1
  6. package/build/code/save.js +3 -1
  7. package/build/code/save.js.map +1 -1
  8. package/build/cover/edit/index.js +2 -1
  9. package/build/cover/edit/index.js.map +1 -1
  10. package/build/details/edit.js +1 -0
  11. package/build/details/edit.js.map +1 -1
  12. package/build/file/edit.js +2 -0
  13. package/build/file/edit.js.map +1 -1
  14. package/build/heading/index.js +4 -3
  15. package/build/heading/index.js.map +1 -1
  16. package/build/image/edit.js +10 -39
  17. package/build/image/edit.js.map +1 -1
  18. package/build/image/image.js +27 -6
  19. package/build/image/image.js.map +1 -1
  20. package/build/media-text/edit.js +33 -9
  21. package/build/media-text/edit.js.map +1 -1
  22. package/build/media-text/index.js +5 -0
  23. package/build/media-text/index.js.map +1 -1
  24. package/build/media-text/media-container.js +30 -11
  25. package/build/media-text/media-container.js.map +1 -1
  26. package/build/media-text/save.js +2 -2
  27. package/build/media-text/save.js.map +1 -1
  28. package/build/navigation/edit/index.js +23 -29
  29. package/build/navigation/edit/index.js.map +1 -1
  30. package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
  31. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  32. package/build/navigation/edit/navigation-menu-selector.js +24 -23
  33. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  34. package/build/navigation/edit/placeholder/index.js +4 -4
  35. package/build/navigation/edit/placeholder/index.js.map +1 -1
  36. package/build/navigation/use-navigation-menu.js +15 -12
  37. package/build/navigation/use-navigation-menu.js.map +1 -1
  38. package/build/navigation/view.js +12 -2
  39. package/build/navigation/view.js.map +1 -1
  40. package/build/navigation-link/edit.js +52 -27
  41. package/build/navigation-link/edit.js.map +1 -1
  42. package/build/navigation-submenu/edit.js +31 -9
  43. package/build/navigation-submenu/edit.js.map +1 -1
  44. package/build/pattern/edit.js +3 -1
  45. package/build/pattern/edit.js.map +1 -1
  46. package/build/post-author/edit.js +1 -0
  47. package/build/post-author/edit.js.map +1 -1
  48. package/build/post-excerpt/edit.js +1 -0
  49. package/build/post-excerpt/edit.js.map +1 -1
  50. package/build/post-featured-image/edit.js +16 -4
  51. package/build/post-featured-image/edit.js.map +1 -1
  52. package/build/post-featured-image/index.js +13 -2
  53. package/build/post-featured-image/index.js.map +1 -1
  54. package/build/post-featured-image/overlay-controls.js +82 -0
  55. package/build/post-featured-image/overlay-controls.js.map +1 -0
  56. package/build/post-featured-image/overlay.js +5 -54
  57. package/build/post-featured-image/overlay.js.map +1 -1
  58. package/build/post-navigation-link/edit.js +1 -0
  59. package/build/post-navigation-link/edit.js.map +1 -1
  60. package/build/post-terms/edit.js +2 -0
  61. package/build/post-terms/edit.js.map +1 -1
  62. package/build/quote/edit.js +18 -23
  63. package/build/quote/edit.js.map +1 -1
  64. package/build/read-more/edit.js +1 -0
  65. package/build/read-more/edit.js.map +1 -1
  66. package/build/search/edit.js +2 -0
  67. package/build/search/edit.js.map +1 -1
  68. package/build/search/edit.native.js +2 -2
  69. package/build/search/edit.native.js.map +1 -1
  70. package/build/site-tagline/edit.js +13 -4
  71. package/build/site-tagline/edit.js.map +1 -1
  72. package/build/site-tagline/index.js +4 -0
  73. package/build/site-tagline/index.js.map +1 -1
  74. package/build/social-link/edit.js +1 -1
  75. package/build/social-link/edit.js.map +1 -1
  76. package/build/social-link/icons/medium.js +1 -1
  77. package/build/social-link/icons/medium.js.map +1 -1
  78. package/build/social-link/icons/reddit.js +1 -1
  79. package/build/social-link/icons/reddit.js.map +1 -1
  80. package/build/table/deprecated.js +285 -175
  81. package/build/table/deprecated.js.map +1 -1
  82. package/build/table/index.js +1 -1
  83. package/build/template-part/edit/index.js +55 -47
  84. package/build/template-part/edit/index.js.map +1 -1
  85. package/build/template-part/edit/inner-blocks.js +106 -10
  86. package/build/template-part/edit/inner-blocks.js.map +1 -1
  87. package/build/template-part/edit/selection-modal.js +1 -9
  88. package/build/template-part/edit/selection-modal.js.map +1 -1
  89. package/build/utils/caption.js +19 -13
  90. package/build/utils/caption.js.map +1 -1
  91. package/build/utils/hooks.js +1 -0
  92. package/build/utils/hooks.js.map +1 -1
  93. package/build/video/edit.native.js +1 -1
  94. package/build/video/edit.native.js.map +1 -1
  95. package/build-module/block/edit.js +23 -17
  96. package/build-module/block/edit.js.map +1 -1
  97. package/build-module/button/edit.native.js +1 -1
  98. package/build-module/button/edit.native.js.map +1 -1
  99. package/build-module/code/save.js +3 -1
  100. package/build-module/code/save.js.map +1 -1
  101. package/build-module/cover/edit/index.js +2 -1
  102. package/build-module/cover/edit/index.js.map +1 -1
  103. package/build-module/details/edit.js +1 -0
  104. package/build-module/details/edit.js.map +1 -1
  105. package/build-module/file/edit.js +2 -0
  106. package/build-module/file/edit.js.map +1 -1
  107. package/build-module/heading/index.js +4 -3
  108. package/build-module/heading/index.js.map +1 -1
  109. package/build-module/image/edit.js +11 -40
  110. package/build-module/image/edit.js.map +1 -1
  111. package/build-module/image/image.js +27 -6
  112. package/build-module/image/image.js.map +1 -1
  113. package/build-module/media-text/edit.js +34 -10
  114. package/build-module/media-text/edit.js.map +1 -1
  115. package/build-module/media-text/index.js +5 -0
  116. package/build-module/media-text/index.js.map +1 -1
  117. package/build-module/media-text/media-container.js +31 -12
  118. package/build-module/media-text/media-container.js.map +1 -1
  119. package/build-module/media-text/save.js +2 -2
  120. package/build-module/media-text/save.js.map +1 -1
  121. package/build-module/navigation/edit/index.js +24 -30
  122. package/build-module/navigation/edit/index.js.map +1 -1
  123. package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
  124. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  125. package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
  126. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  127. package/build-module/navigation/edit/placeholder/index.js +4 -4
  128. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  129. package/build-module/navigation/use-navigation-menu.js +15 -12
  130. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  131. package/build-module/navigation/view.js +12 -2
  132. package/build-module/navigation/view.js.map +1 -1
  133. package/build-module/navigation-link/edit.js +55 -30
  134. package/build-module/navigation-link/edit.js.map +1 -1
  135. package/build-module/navigation-submenu/edit.js +31 -9
  136. package/build-module/navigation-submenu/edit.js.map +1 -1
  137. package/build-module/pattern/edit.js +3 -1
  138. package/build-module/pattern/edit.js.map +1 -1
  139. package/build-module/post-author/edit.js +1 -0
  140. package/build-module/post-author/edit.js.map +1 -1
  141. package/build-module/post-excerpt/edit.js +1 -0
  142. package/build-module/post-excerpt/edit.js.map +1 -1
  143. package/build-module/post-featured-image/edit.js +17 -5
  144. package/build-module/post-featured-image/edit.js.map +1 -1
  145. package/build-module/post-featured-image/index.js +13 -2
  146. package/build-module/post-featured-image/index.js.map +1 -1
  147. package/build-module/post-featured-image/overlay-controls.js +75 -0
  148. package/build-module/post-featured-image/overlay-controls.js.map +1 -0
  149. package/build-module/post-featured-image/overlay.js +7 -56
  150. package/build-module/post-featured-image/overlay.js.map +1 -1
  151. package/build-module/post-navigation-link/edit.js +1 -0
  152. package/build-module/post-navigation-link/edit.js.map +1 -1
  153. package/build-module/post-terms/edit.js +2 -0
  154. package/build-module/post-terms/edit.js.map +1 -1
  155. package/build-module/quote/edit.js +20 -25
  156. package/build-module/quote/edit.js.map +1 -1
  157. package/build-module/read-more/edit.js +1 -0
  158. package/build-module/read-more/edit.js.map +1 -1
  159. package/build-module/search/edit.js +2 -0
  160. package/build-module/search/edit.js.map +1 -1
  161. package/build-module/search/edit.native.js +2 -2
  162. package/build-module/search/edit.native.js.map +1 -1
  163. package/build-module/site-tagline/edit.js +14 -5
  164. package/build-module/site-tagline/edit.js.map +1 -1
  165. package/build-module/site-tagline/index.js +4 -0
  166. package/build-module/site-tagline/index.js.map +1 -1
  167. package/build-module/social-link/edit.js +1 -1
  168. package/build-module/social-link/edit.js.map +1 -1
  169. package/build-module/social-link/icons/medium.js +1 -1
  170. package/build-module/social-link/icons/medium.js.map +1 -1
  171. package/build-module/social-link/icons/reddit.js +1 -1
  172. package/build-module/social-link/icons/reddit.js.map +1 -1
  173. package/build-module/table/deprecated.js +286 -176
  174. package/build-module/table/deprecated.js.map +1 -1
  175. package/build-module/table/index.js +1 -1
  176. package/build-module/template-part/edit/index.js +58 -50
  177. package/build-module/template-part/edit/index.js.map +1 -1
  178. package/build-module/template-part/edit/inner-blocks.js +108 -12
  179. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  180. package/build-module/template-part/edit/selection-modal.js +2 -10
  181. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  182. package/build-module/utils/caption.js +19 -13
  183. package/build-module/utils/caption.js.map +1 -1
  184. package/build-module/utils/hooks.js +1 -0
  185. package/build-module/utils/hooks.js.map +1 -1
  186. package/build-module/video/edit.native.js +1 -1
  187. package/build-module/video/edit.native.js.map +1 -1
  188. package/build-style/audio/theme-rtl.css +1 -1
  189. package/build-style/audio/theme.css +1 -1
  190. package/build-style/cover/style-rtl.css +5 -2
  191. package/build-style/cover/style.css +5 -2
  192. package/build-style/editor-rtl.css +22 -12
  193. package/build-style/editor.css +22 -12
  194. package/build-style/embed/theme-rtl.css +1 -1
  195. package/build-style/embed/theme.css +1 -1
  196. package/build-style/file/editor-rtl.css +3 -0
  197. package/build-style/file/editor.css +3 -0
  198. package/build-style/image/editor-rtl.css +0 -3
  199. package/build-style/image/editor.css +0 -3
  200. package/build-style/image/theme-rtl.css +1 -1
  201. package/build-style/image/theme.css +1 -1
  202. package/build-style/media-text/editor-rtl.css +7 -1
  203. package/build-style/media-text/editor.css +7 -1
  204. package/build-style/pullquote/theme-rtl.css +2 -1
  205. package/build-style/pullquote/theme.css +2 -1
  206. package/build-style/quote/theme-rtl.css +6 -6
  207. package/build-style/quote/theme.css +6 -6
  208. package/build-style/search/style-rtl.css +10 -0
  209. package/build-style/search/style.css +10 -0
  210. package/build-style/social-links/editor-rtl.css +0 -4
  211. package/build-style/social-links/editor.css +0 -4
  212. package/build-style/social-links/style-rtl.css +2 -2
  213. package/build-style/social-links/style.css +2 -2
  214. package/build-style/style-rtl.css +17 -4
  215. package/build-style/style.css +17 -4
  216. package/build-style/table/theme-rtl.css +4 -3
  217. package/build-style/table/theme.css +4 -3
  218. package/build-style/template-part/editor-rtl.css +12 -4
  219. package/build-style/template-part/editor.css +12 -4
  220. package/build-style/template-part/theme-rtl.css +1 -1
  221. package/build-style/template-part/theme.css +1 -1
  222. package/build-style/theme-rtl.css +17 -15
  223. package/build-style/theme.css +17 -15
  224. package/build-style/video/theme-rtl.css +1 -1
  225. package/build-style/video/theme.css +1 -1
  226. package/package.json +34 -34
  227. package/src/archives/index.php +4 -0
  228. package/src/audio/theme.scss +1 -1
  229. package/src/avatar/index.php +6 -0
  230. package/src/block/edit.js +43 -32
  231. package/src/block/index.php +4 -0
  232. package/src/block/test/edit.native.js +67 -0
  233. package/src/button/edit.native.js +1 -1
  234. package/src/calendar/index.php +12 -0
  235. package/src/categories/index.php +6 -0
  236. package/src/code/save.js +7 -1
  237. package/src/comment-author-name/index.php +4 -0
  238. package/src/comment-content/index.php +4 -0
  239. package/src/comment-date/index.php +4 -0
  240. package/src/comment-edit-link/index.php +4 -0
  241. package/src/comment-reply-link/index.php +4 -0
  242. package/src/comment-template/index.php +4 -0
  243. package/src/comments/index.php +10 -0
  244. package/src/comments-pagination/index.php +4 -0
  245. package/src/comments-pagination-next/index.php +4 -0
  246. package/src/comments-pagination-numbers/index.php +4 -0
  247. package/src/comments-pagination-previous/index.php +4 -0
  248. package/src/comments-title/index.php +4 -0
  249. package/src/cover/edit/index.js +4 -1
  250. package/src/cover/index.php +4 -0
  251. package/src/cover/style.scss +6 -2
  252. package/src/details/edit.js +1 -0
  253. package/src/embed/theme.scss +1 -1
  254. package/src/file/edit.js +2 -0
  255. package/src/file/editor.scss +3 -0
  256. package/src/file/index.php +4 -0
  257. package/src/gallery/editor.scss +1 -1
  258. package/src/gallery/index.php +7 -1
  259. package/src/heading/index.js +4 -3
  260. package/src/heading/index.php +4 -0
  261. package/src/home-link/index.php +10 -0
  262. package/src/image/edit.js +11 -40
  263. package/src/image/editor.scss +2 -7
  264. package/src/image/image.js +25 -7
  265. package/src/image/index.php +12 -1
  266. package/src/image/theme.scss +1 -1
  267. package/src/latest-comments/index.php +4 -0
  268. package/src/latest-posts/index.php +8 -0
  269. package/src/loginout/index.php +4 -0
  270. package/src/media-text/block.json +5 -0
  271. package/src/media-text/edit.js +70 -19
  272. package/src/media-text/editor.scss +7 -1
  273. package/src/media-text/index.php +70 -0
  274. package/src/media-text/media-container.js +49 -9
  275. package/src/media-text/save.js +2 -2
  276. package/src/navigation/edit/index.js +67 -71
  277. package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
  278. package/src/navigation/edit/navigation-menu-selector.js +39 -21
  279. package/src/navigation/edit/placeholder/index.js +4 -4
  280. package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
  281. package/src/navigation/index.php +109 -26
  282. package/src/navigation/test/use-navigation-menu.js +21 -21
  283. package/src/navigation/use-navigation-menu.js +23 -9
  284. package/src/navigation/view.js +11 -2
  285. package/src/navigation-link/edit.js +64 -39
  286. package/src/navigation-link/index.php +14 -0
  287. package/src/navigation-submenu/edit.js +34 -10
  288. package/src/navigation-submenu/index.php +8 -0
  289. package/src/page-list/index.php +12 -0
  290. package/src/page-list-item/index.php +2 -0
  291. package/src/pattern/edit.js +4 -0
  292. package/src/pattern/index.php +2 -0
  293. package/src/post-author/edit.js +1 -0
  294. package/src/post-author/index.php +4 -0
  295. package/src/post-author-biography/index.php +4 -0
  296. package/src/post-author-name/index.php +4 -0
  297. package/src/post-comments-form/index.php +6 -0
  298. package/src/post-content/index.php +4 -0
  299. package/src/post-date/index.php +4 -0
  300. package/src/post-excerpt/edit.js +1 -0
  301. package/src/post-excerpt/index.php +4 -0
  302. package/src/post-featured-image/block.json +13 -2
  303. package/src/post-featured-image/edit.js +16 -1
  304. package/src/post-featured-image/editor.scss +1 -1
  305. package/src/post-featured-image/index.php +15 -0
  306. package/src/post-featured-image/overlay-controls.js +88 -0
  307. package/src/post-featured-image/overlay.js +17 -84
  308. package/src/post-navigation-link/edit.js +1 -0
  309. package/src/post-navigation-link/index.php +4 -0
  310. package/src/post-template/index.php +4 -0
  311. package/src/post-terms/edit.js +2 -0
  312. package/src/post-terms/index.php +6 -0
  313. package/src/post-title/index.php +2 -0
  314. package/src/pullquote/theme.scss +3 -1
  315. package/src/query/index.php +2 -0
  316. package/src/query-no-results/index.php +6 -0
  317. package/src/query-pagination/index.php +4 -0
  318. package/src/query-pagination-next/index.php +6 -0
  319. package/src/query-pagination-numbers/index.php +6 -0
  320. package/src/query-pagination-previous/index.php +4 -0
  321. package/src/query-title/index.php +4 -0
  322. package/src/quote/edit.js +27 -37
  323. package/src/quote/test/edit.native.js +4 -6
  324. package/src/quote/theme.scss +1 -2
  325. package/src/read-more/edit.js +1 -0
  326. package/src/read-more/index.php +4 -0
  327. package/src/rss/index.php +4 -0
  328. package/src/search/edit.js +2 -0
  329. package/src/search/edit.native.js +2 -2
  330. package/src/search/index.php +19 -1
  331. package/src/search/style.scss +11 -0
  332. package/src/shortcode/index.php +4 -0
  333. package/src/site-logo/editor.scss +2 -2
  334. package/src/site-logo/index.php +20 -0
  335. package/src/site-tagline/block.json +4 -0
  336. package/src/site-tagline/edit.js +16 -3
  337. package/src/site-tagline/index.php +13 -1
  338. package/src/site-title/index.php +4 -0
  339. package/src/social-link/edit.js +1 -1
  340. package/src/social-link/icons/medium.js +1 -1
  341. package/src/social-link/icons/reddit.js +1 -1
  342. package/src/social-link/index.php +22 -9
  343. package/src/social-link/socials-with-bg.scss +1 -1
  344. package/src/social-link/socials-without-bg.scss +1 -1
  345. package/src/social-links/editor.scss +1 -9
  346. package/src/table/block.json +1 -1
  347. package/src/table/deprecated.js +308 -175
  348. package/src/table/theme.scss +4 -2
  349. package/src/tag-cloud/index.php +4 -0
  350. package/src/template-part/edit/index.js +87 -79
  351. package/src/template-part/edit/inner-blocks.js +126 -13
  352. package/src/template-part/edit/selection-modal.js +1 -22
  353. package/src/template-part/editor.scss +11 -3
  354. package/src/template-part/index.php +12 -0
  355. package/src/template-part/theme.scss +1 -1
  356. package/src/term-description/index.php +4 -0
  357. package/src/utils/caption.js +19 -16
  358. package/src/utils/hooks.js +1 -0
  359. package/src/video/edit.native.js +2 -0
  360. package/src/video/editor.scss +2 -2
  361. package/src/video/theme.scss +1 -1
  362. package/tsconfig.json +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["useEntityBlockEditor","InnerBlocks","useInnerBlocksProps","useSettings","store","blockEditorStore","useSelect","TemplatePartInnerBlocks","postId","id","hasInnerBlocks","layout","tagName","TagName","blockProps","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","usedLayout","inherit","blocks","onInput","onChange","innerBlocksProps","value","renderAppender","undefined","ButtonBlockAppender","createElement"],"sources":["@wordpress/block-library/src/template-part/edit/inner-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor } from '@wordpress/core-data';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nexport default function TemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\tconst usedLayout = layout?.inherit ? defaultLayout || {} : layout;\n\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ id }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: hasInnerBlocks\n\t\t\t? undefined\n\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\tlayout: themeSupportsLayout ? usedLayout : undefined,\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,oBAAoB,QAAQ,sBAAsB;AAC3D,SACCC,WAAW,EACXC,mBAAmB,EACnBC,WAAW,EACXC,KAAK,IAAIC,gBAAgB,QACnB,yBAAyB;AAChC,SAASC,SAAS,QAAQ,iBAAiB;AAE3C,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,MAAM,EAAEC,EAAE;EACVC,cAAc;EACdC,MAAM;EACNC,OAAO,EAAEC,OAAO;EAChBC;AACD,CAAC,EAAG;EACH,MAAMC,mBAAmB,GAAGT,SAAS,CAAIU,MAAM,IAAM;IACpD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEX,gBAAiB,CAAC;IAClD,OAAOY,WAAW,CAAC,CAAC,EAAEC,cAAc;EACrC,CAAC,EAAE,EAAG,CAAC;EACP,MAAM,CAAEC,aAAa,CAAE,GAAGhB,WAAW,CAAE,QAAS,CAAC;EACjD,MAAMiB,UAAU,GAAGT,MAAM,EAAEU,OAAO,GAAGF,aAAa,IAAI,CAAC,CAAC,GAAGR,MAAM;EAEjE,MAAM,CAAEW,MAAM,EAAEC,OAAO,EAAEC,QAAQ,CAAE,GAAGxB,oBAAoB,CACzD,UAAU,EACV,kBAAkB,EAClB;IAAES;EAAG,CACN,CAAC;EAED,MAAMgB,gBAAgB,GAAGvB,mBAAmB,CAAEY,UAAU,EAAE;IACzDY,KAAK,EAAEJ,MAAM;IACbC,OAAO;IACPC,QAAQ;IACRG,cAAc,EAAEjB,cAAc,GAC3BkB,SAAS,GACT3B,WAAW,CAAC4B,mBAAmB;IAClClB,MAAM,EAAEI,mBAAmB,GAAGK,UAAU,GAAGQ;EAC5C,CAAE,CAAC;EAEH,OAAOE,aAAA,CAACjB,OAAO;IAAA,GAAMY;EAAgB,CAAI,CAAC;AAC3C"}
1
+ {"version":3,"names":["useEntityBlockEditor","store","coreStore","InnerBlocks","useInnerBlocksProps","useSettings","blockEditorStore","useBlockEditingMode","useSelect","useMemo","parse","useRenderAppender","hasInnerBlocks","blockEditingMode","ButtonBlockAppender","useLayout","layout","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","inherit","NonEditableTemplatePartPreview","postId","id","tagName","TagName","blockProps","content","editedBlocks","getEditedEntityRecord","editedRecord","context","blocks","undefined","innerBlocksProps","value","onInput","onChange","renderAppender","createElement","EditableTemplatePartInnerBlocks","TemplatePartInnerBlocks","canViewTemplatePart","canEditTemplatePart","_select$canUser","_select$canUser2","canUser","TemplatePartInnerBlocksComponent"],"sources":["@wordpress/block-library/src/template-part/edit/inner-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityBlockEditor, store as coreStore } from '@wordpress/core-data';\nimport {\n\tInnerBlocks,\n\tuseInnerBlocksProps,\n\tuseSettings,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { parse } from '@wordpress/blocks';\n\nfunction useRenderAppender( hasInnerBlocks ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\t// Disable appending when the editing mode is 'contentOnly'. This is so that the user can't\n\t// append into a template part when editing a page in the site editor. See\n\t// DisableNonPageContentBlocks. Ideally instead of (mis)using editing mode there would be a\n\t// block editor API for achieving this.\n\tif ( blockEditingMode === 'contentOnly' ) {\n\t\treturn false;\n\t}\n\tif ( ! hasInnerBlocks ) {\n\t\treturn InnerBlocks.ButtonBlockAppender;\n\t}\n}\n\nfunction useLayout( layout ) {\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst [ defaultLayout ] = useSettings( 'layout' );\n\tif ( themeSupportsLayout ) {\n\t\treturn layout?.inherit ? defaultLayout || {} : layout;\n\t}\n}\n\nfunction NonEditableTemplatePartPreview( {\n\tpostId: id,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tuseBlockEditingMode( 'disabled' );\n\n\tconst { content, editedBlocks } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! id ) {\n\t\t\t\treturn {};\n\t\t\t}\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst editedRecord = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\tid,\n\t\t\t\t{ context: 'view' }\n\t\t\t);\n\t\t\treturn {\n\t\t\t\teditedBlocks: editedRecord.blocks,\n\t\t\t\tcontent: editedRecord.content,\n\t\t\t};\n\t\t},\n\t\t[ id ]\n\t);\n\n\tconst blocks = useMemo( () => {\n\t\tif ( ! id ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tif ( editedBlocks ) {\n\t\t\treturn editedBlocks;\n\t\t}\n\n\t\tif ( ! content || typeof content !== 'string' ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn parse( content );\n\t}, [ id, editedBlocks, content ] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput: () => {},\n\t\tonChange: () => {},\n\t\trenderAppender: false,\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nfunction EditableTemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\t'wp_template_part',\n\t\t{ id }\n\t);\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tvalue: blocks,\n\t\tonInput,\n\t\tonChange,\n\t\trenderAppender: useRenderAppender( hasInnerBlocks ),\n\t\tlayout: useLayout( layout ),\n\t} );\n\n\treturn <TagName { ...innerBlocksProps } />;\n}\n\nexport default function TemplatePartInnerBlocks( {\n\tpostId: id,\n\thasInnerBlocks,\n\tlayout,\n\ttagName: TagName,\n\tblockProps,\n} ) {\n\tconst { canViewTemplatePart, canEditTemplatePart } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tcanViewTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'read', 'templates' ) ?? false,\n\t\t\t\tcanEditTemplatePart:\n\t\t\t\t\tselect( coreStore ).canUser( 'create', 'templates' ) ??\n\t\t\t\t\tfalse,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tif ( ! canViewTemplatePart ) {\n\t\treturn null;\n\t}\n\n\tconst TemplatePartInnerBlocksComponent = canEditTemplatePart\n\t\t? EditableTemplatePartInnerBlocks\n\t\t: NonEditableTemplatePartPreview;\n\n\treturn (\n\t\t<TemplatePartInnerBlocksComponent\n\t\t\tpostId={ id }\n\t\t\thasInnerBlocks={ hasInnerBlocks }\n\t\t\tlayout={ layout }\n\t\t\ttagName={ TagName }\n\t\t\tblockProps={ blockProps }\n\t\t/>\n\t);\n}\n"],"mappings":"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"}
@@ -13,7 +13,7 @@ import { SearchControl, __experimentalHStack as HStack } from '@wordpress/compon
13
13
  /**
14
14
  * Internal dependencies
15
15
  */
16
- import { useAlternativeBlockPatterns, useAlternativeTemplateParts, useCreateTemplatePartFromBlocks } from './utils/hooks';
16
+ import { useAlternativeBlockPatterns, useAlternativeTemplateParts } from './utils/hooks';
17
17
  import { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';
18
18
  import { searchPatterns } from '../../utils/search-patterns';
19
19
  export default function TemplatePartSelectionModal({
@@ -27,6 +27,7 @@ export default function TemplatePartSelectionModal({
27
27
  const {
28
28
  templateParts
29
29
  } = useAlternativeTemplateParts(area, templatePartId);
30
+
30
31
  // We can map template parts to block patters to reuse the BlockPatternsList UI
31
32
  const filteredTemplateParts = useMemo(() => {
32
33
  const partsAsPatterns = templateParts.map(templatePart => mapTemplatePartToBlockPattern(templatePart));
@@ -37,7 +38,6 @@ export default function TemplatePartSelectionModal({
37
38
  const filteredBlockPatterns = useMemo(() => {
38
39
  return searchPatterns(blockPatterns, searchValue);
39
40
  }, [blockPatterns, searchValue]);
40
- const shownBlockPatterns = useAsyncList(filteredBlockPatterns);
41
41
  const {
42
42
  createSuccessNotice
43
43
  } = useDispatch(noticesStore);
@@ -53,7 +53,6 @@ export default function TemplatePartSelectionModal({
53
53
  });
54
54
  onClose();
55
55
  };
56
- const createFromBlocks = useCreateTemplatePartFromBlocks(area, setAttributes);
57
56
  const hasTemplateParts = !!filteredTemplateParts.length;
58
57
  const hasBlockPatterns = !!filteredBlockPatterns.length;
59
58
  return createElement("div", {
@@ -72,13 +71,6 @@ export default function TemplatePartSelectionModal({
72
71
  onClickPattern: pattern => {
73
72
  onTemplatePartSelect(pattern.templatePart);
74
73
  }
75
- })), hasBlockPatterns && createElement("div", null, createElement("h2", null, __('Patterns')), createElement(BlockPatternsList, {
76
- blockPatterns: filteredBlockPatterns,
77
- shownPatterns: shownBlockPatterns,
78
- onClickPattern: (pattern, blocks) => {
79
- createFromBlocks(blocks, pattern.title);
80
- onClose();
81
- }
82
74
  })), !hasTemplateParts && !hasBlockPatterns && createElement(HStack, {
83
75
  alignment: "center"
84
76
  }, createElement("p", null, __('No results found.'))));
@@ -1 +1 @@
1
- {"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","useCreateTemplatePartFromBlocks","mapTemplatePartToBlockPattern","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","shownTemplateParts","blockPatterns","filteredBlockPatterns","shownBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","createFromBlocks","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","blocks","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseCreateTemplatePartFromBlocks,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\tconst shownBlockPatterns = useAsyncList( filteredBlockPatterns );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst createFromBlocks = useCreateTemplatePartFromBlocks(\n\t\tarea,\n\t\tsetAttributes\n\t);\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ hasBlockPatterns && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Patterns' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tshownPatterns={ shownBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ ( pattern, blocks ) => {\n\t\t\t\t\t\t\tcreateFromBlocks( blocks, pattern.title );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useMemo","useState","__","sprintf","store","noticesStore","useDispatch","useAsyncList","__experimentalBlockPatternsList","BlockPatternsList","SearchControl","__experimentalHStack","HStack","useAlternativeBlockPatterns","useAlternativeTemplateParts","mapTemplatePartToBlockPattern","searchPatterns","TemplatePartSelectionModal","setAttributes","onClose","templatePartId","area","clientId","searchValue","setSearchValue","templateParts","filteredTemplateParts","partsAsPatterns","map","templatePart","shownTemplateParts","blockPatterns","filteredBlockPatterns","createSuccessNotice","onTemplatePartSelect","slug","theme","undefined","title","rendered","type","hasTemplateParts","length","hasBlockPatterns","createElement","className","__nextHasNoMarginBottom","onChange","value","label","placeholder","shownPatterns","onClickPattern","pattern","alignment"],"sources":["@wordpress/block-library/src/template-part/edit/selection-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useDispatch } from '@wordpress/data';\nimport { useAsyncList } from '@wordpress/compose';\nimport { __experimentalBlockPatternsList as BlockPatternsList } from '@wordpress/block-editor';\nimport {\n\tSearchControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n} from './utils/hooks';\nimport { mapTemplatePartToBlockPattern } from './utils/map-template-part-to-block-pattern';\nimport { searchPatterns } from '../../utils/search-patterns';\n\nexport default function TemplatePartSelectionModal( {\n\tsetAttributes,\n\tonClose,\n\ttemplatePartId = null,\n\tarea,\n\tclientId,\n} ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\n\t// We can map template parts to block patters to reuse the BlockPatternsList UI\n\tconst filteredTemplateParts = useMemo( () => {\n\t\tconst partsAsPatterns = templateParts.map( ( templatePart ) =>\n\t\t\tmapTemplatePartToBlockPattern( templatePart )\n\t\t);\n\n\t\treturn searchPatterns( partsAsPatterns, searchValue );\n\t}, [ templateParts, searchValue ] );\n\tconst shownTemplateParts = useAsyncList( filteredTemplateParts );\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\treturn searchPatterns( blockPatterns, searchValue );\n\t}, [ blockPatterns, searchValue ] );\n\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst onTemplatePartSelect = ( templatePart ) => {\n\t\tsetAttributes( {\n\t\t\tslug: templatePart.slug,\n\t\t\ttheme: templatePart.theme,\n\t\t\tarea: undefined,\n\t\t} );\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: template part title. */\n\t\t\t\t__( 'Template Part \"%s\" inserted.' ),\n\t\t\t\ttemplatePart.title?.rendered || templatePart.slug\n\t\t\t),\n\t\t\t{\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t\tonClose();\n\t};\n\n\tconst hasTemplateParts = !! filteredTemplateParts.length;\n\tconst hasBlockPatterns = !! filteredBlockPatterns.length;\n\n\treturn (\n\t\t<div className=\"block-library-template-part__selection-content\">\n\t\t\t<div className=\"block-library-template-part__selection-search\">\n\t\t\t\t<SearchControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonChange={ setSearchValue }\n\t\t\t\t\tvalue={ searchValue }\n\t\t\t\t\tlabel={ __( 'Search for replacements' ) }\n\t\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t{ hasTemplateParts && (\n\t\t\t\t<div>\n\t\t\t\t\t<h2>{ __( 'Existing template parts' ) }</h2>\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tblockPatterns={ filteredTemplateParts }\n\t\t\t\t\t\tshownPatterns={ shownTemplateParts }\n\t\t\t\t\t\tonClickPattern={ ( pattern ) => {\n\t\t\t\t\t\t\tonTemplatePartSelect( pattern.templatePart );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ ! hasTemplateParts && ! hasBlockPatterns && (\n\t\t\t\t<HStack alignment=\"center\">\n\t\t\t\t\t<p>{ __( 'No results found.' ) }</p>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
@@ -19,11 +19,8 @@ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
19
19
  * Internal dependencies
20
20
  */
21
21
  import { unlock } from '../lock-unlock';
22
- const {
23
- PrivateRichText: RichText
24
- } = unlock(blockEditorPrivateApis);
25
22
  export function Caption({
26
- key = 'caption',
23
+ attributeKey = 'caption',
27
24
  attributes,
28
25
  setAttributes,
29
26
  isSelected,
@@ -32,10 +29,18 @@ export function Caption({
32
29
  label = __('Caption text'),
33
30
  showToolbarButton = true,
34
31
  className,
35
- disableEditing
32
+ readOnly,
33
+ tagName = 'figcaption',
34
+ addLabel = __('Add caption'),
35
+ removeLabel = __('Remove caption'),
36
+ icon = captionIcon,
37
+ ...props
36
38
  }) {
37
- const caption = attributes[key];
39
+ const caption = attributes[attributeKey];
38
40
  const prevCaption = usePrevious(caption);
41
+ const {
42
+ PrivateRichText: RichText
43
+ } = unlock(blockEditorPrivateApis);
39
44
  const isCaptionEmpty = RichText.isEmpty(caption);
40
45
  const isPrevCaptionEmpty = RichText.isEmpty(prevCaption);
41
46
  const [showCaption, setShowCaption] = useState(!isCaptionEmpty);
@@ -66,27 +71,28 @@ export function Caption({
66
71
  setShowCaption(!showCaption);
67
72
  if (showCaption && caption) {
68
73
  setAttributes({
69
- caption: undefined
74
+ [attributeKey]: undefined
70
75
  });
71
76
  }
72
77
  },
73
- icon: captionIcon,
78
+ icon: icon,
74
79
  isPressed: showCaption,
75
- label: showCaption ? __('Remove caption') : __('Add caption')
80
+ label: showCaption ? removeLabel : addLabel
76
81
  })), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
77
- identifier: key,
78
- tagName: "figcaption",
82
+ identifier: attributeKey,
83
+ tagName: tagName,
79
84
  className: classnames(className, __experimentalGetElementClassName('caption')),
80
85
  ref: ref,
81
86
  "aria-label": label,
82
87
  placeholder: placeholder,
83
88
  value: caption,
84
89
  onChange: value => setAttributes({
85
- caption: value
90
+ [attributeKey]: value
86
91
  }),
87
92
  inlineToolbar: true,
88
93
  __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())),
89
- disableEditing: disableEditing
94
+ readOnly: readOnly,
95
+ ...props
90
96
  }));
91
97
  }
92
98
  //# sourceMappingURL=caption.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","useState","useEffect","useCallback","usePrevious","__","BlockControls","__experimentalGetElementClassName","privateApis","blockEditorPrivateApis","ToolbarButton","caption","captionIcon","createBlock","getDefaultBlockName","unlock","PrivateRichText","RichText","Caption","key","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","label","showToolbarButton","className","disableEditing","prevCaption","isCaptionEmpty","isEmpty","isPrevCaptionEmpty","showCaption","setShowCaption","ref","node","focus","createElement","Fragment","group","onClick","undefined","icon","isPressed","identifier","tagName","value","onChange","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/utils/caption.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\t__experimentalGetElementClassName,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { PrivateRichText: RichText } = unlock( blockEditorPrivateApis );\n\nexport function Caption( {\n\tkey = 'caption',\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tplaceholder = __( 'Add caption' ),\n\tlabel = __( 'Caption text' ),\n\tshowToolbarButton = true,\n\tclassName,\n\tdisableEditing,\n} ) {\n\tconst caption = attributes[ key ];\n\tconst prevCaption = usePrevious( caption );\n\tconst isCaptionEmpty = RichText.isEmpty( caption );\n\tconst isPrevCaptionEmpty = RichText.isEmpty( prevCaption );\n\tconst [ showCaption, setShowCaption ] = useState( ! isCaptionEmpty );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( ! isCaptionEmpty && isPrevCaptionEmpty ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ isCaptionEmpty, isPrevCaptionEmpty ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && isCaptionEmpty ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, isCaptionEmpty ] );\n\n\t// Focus the caption when we click to add one.\n\tconst ref = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && isCaptionEmpty ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ isCaptionEmpty ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showToolbarButton && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier={ key }\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tdisableEditing={ disableEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,oBAAoB;AACrE,SAASC,WAAW,QAAQ,oBAAoB;AAChD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,aAAa,EACbC,iCAAiC,EACjCC,WAAW,IAAIC,sBAAsB,QAC/B,yBAAyB;AAChC,SAASC,aAAa,QAAQ,uBAAuB;AACrD,SAASC,OAAO,IAAIC,WAAW,QAAQ,kBAAkB;AACzD,SAASC,WAAW,EAAEC,mBAAmB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,SAASC,MAAM,QAAQ,gBAAgB;AAEvC,MAAM;EAAEC,eAAe,EAAEC;AAAS,CAAC,GAAGF,MAAM,CAAEN,sBAAuB,CAAC;AAEtE,OAAO,SAASS,OAAOA,CAAE;EACxBC,GAAG,GAAG,SAAS;EACfC,UAAU;EACVC,aAAa;EACbC,UAAU;EACVC,iBAAiB;EACjBC,WAAW,GAAGnB,EAAE,CAAE,aAAc,CAAC;EACjCoB,KAAK,GAAGpB,EAAE,CAAE,cAAe,CAAC;EAC5BqB,iBAAiB,GAAG,IAAI;EACxBC,SAAS;EACTC;AACD,CAAC,EAAG;EACH,MAAMjB,OAAO,GAAGS,UAAU,CAAED,GAAG,CAAE;EACjC,MAAMU,WAAW,GAAGzB,WAAW,CAAEO,OAAQ,CAAC;EAC1C,MAAMmB,cAAc,GAAGb,QAAQ,CAACc,OAAO,CAAEpB,OAAQ,CAAC;EAClD,MAAMqB,kBAAkB,GAAGf,QAAQ,CAACc,OAAO,CAAEF,WAAY,CAAC;EAC1D,MAAM,CAAEI,WAAW,EAAEC,cAAc,CAAE,GAAGjC,QAAQ,CAAE,CAAE6B,cAAe,CAAC;;EAEpE;EACA;EACA5B,SAAS,CAAE,MAAM;IAChB,IAAK,CAAE4B,cAAc,IAAIE,kBAAkB,EAAG;MAC7CE,cAAc,CAAE,IAAK,CAAC;IACvB;EACD,CAAC,EAAE,CAAEJ,cAAc,EAAEE,kBAAkB,CAAG,CAAC;EAE3C9B,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEoB,UAAU,IAAIQ,cAAc,EAAG;MACrCI,cAAc,CAAE,KAAM,CAAC;IACxB;EACD,CAAC,EAAE,CAAEZ,UAAU,EAAEQ,cAAc,CAAG,CAAC;;EAEnC;EACA,MAAMK,GAAG,GAAGhC,WAAW,CACpBiC,IAAI,IAAM;IACX,IAAKA,IAAI,IAAIN,cAAc,EAAG;MAC7BM,IAAI,CAACC,KAAK,CAAC,CAAC;IACb;EACD,CAAC,EACD,CAAEP,cAAc,CACjB,CAAC;EACD,OACCQ,aAAA,CAAAC,QAAA,QACGb,iBAAiB,IAClBY,aAAA,CAAChC,aAAa;IAACkC,KAAK,EAAC;EAAO,GAC3BF,aAAA,CAAC5B,aAAa;IACb+B,OAAO,EAAGA,CAAA,KAAM;MACfP,cAAc,CAAE,CAAED,WAAY,CAAC;MAC/B,IAAKA,WAAW,IAAItB,OAAO,EAAG;QAC7BU,aAAa,CAAE;UAAEV,OAAO,EAAE+B;QAAU,CAAE,CAAC;MACxC;IACD,CAAG;IACHC,IAAI,EAAG/B,WAAa;IACpBgC,SAAS,EAAGX,WAAa;IACzBR,KAAK,EACJQ,WAAW,GACR5B,EAAE,CAAE,gBAAiB,CAAC,GACtBA,EAAE,CAAE,aAAc;EACrB,CACD,CACa,CACf,EACC4B,WAAW,KACV,CAAEhB,QAAQ,CAACc,OAAO,CAAEpB,OAAQ,CAAC,IAAIW,UAAU,CAAE,IAC9CgB,aAAA,CAACrB,QAAQ;IACR4B,UAAU,EAAG1B,GAAK;IAClB2B,OAAO,EAAC,YAAY;IACpBnB,SAAS,EAAG3B,UAAU,CACrB2B,SAAS,EACTpB,iCAAiC,CAAE,SAAU,CAC9C,CAAG;IACH4B,GAAG,EAAGA,GAAK;IACX,cAAaV,KAAO;IACpBD,WAAW,EAAGA,WAAa;IAC3BuB,KAAK,EAAGpC,OAAS;IACjBqC,QAAQ,EAAKD,KAAK,IACjB1B,aAAa,CAAE;MAAEV,OAAO,EAAEoC;IAAM,CAAE,CAClC;IACDE,aAAa;IACbC,sBAAsB,EAAGA,CAAA,KACxB3B,iBAAiB,CAChBV,WAAW,CAAEC,mBAAmB,CAAC,CAAE,CACpC,CACA;IACDc,cAAc,EAAGA;EAAgB,CACjC,CAEF,CAAC;AAEL"}
1
+ {"version":3,"names":["classnames","useState","useEffect","useCallback","usePrevious","__","BlockControls","__experimentalGetElementClassName","privateApis","blockEditorPrivateApis","ToolbarButton","caption","captionIcon","createBlock","getDefaultBlockName","unlock","Caption","attributeKey","attributes","setAttributes","isSelected","insertBlocksAfter","placeholder","label","showToolbarButton","className","readOnly","tagName","addLabel","removeLabel","icon","props","prevCaption","PrivateRichText","RichText","isCaptionEmpty","isEmpty","isPrevCaptionEmpty","showCaption","setShowCaption","ref","node","focus","createElement","Fragment","group","onClick","undefined","isPressed","identifier","value","onChange","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/utils/caption.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useCallback } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\t__experimentalGetElementClassName,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { ToolbarButton } from '@wordpress/components';\nimport { caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nexport function Caption( {\n\tattributeKey = 'caption',\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tplaceholder = __( 'Add caption' ),\n\tlabel = __( 'Caption text' ),\n\tshowToolbarButton = true,\n\tclassName,\n\treadOnly,\n\ttagName = 'figcaption',\n\taddLabel = __( 'Add caption' ),\n\tremoveLabel = __( 'Remove caption' ),\n\ticon = captionIcon,\n\t...props\n} ) {\n\tconst caption = attributes[ attributeKey ];\n\tconst prevCaption = usePrevious( caption );\n\tconst { PrivateRichText: RichText } = unlock( blockEditorPrivateApis );\n\tconst isCaptionEmpty = RichText.isEmpty( caption );\n\tconst isPrevCaptionEmpty = RichText.isEmpty( prevCaption );\n\tconst [ showCaption, setShowCaption ] = useState( ! isCaptionEmpty );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( ! isCaptionEmpty && isPrevCaptionEmpty ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ isCaptionEmpty, isPrevCaptionEmpty ] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && isCaptionEmpty ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, isCaptionEmpty ] );\n\n\t// Focus the caption when we click to add one.\n\tconst ref = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && isCaptionEmpty ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ isCaptionEmpty ]\n\t);\n\treturn (\n\t\t<>\n\t\t\t{ showToolbarButton && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t[ attributeKey ]: undefined,\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\ticon={ icon }\n\t\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\t\tlabel={ showCaption ? removeLabel : addLabel }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ showCaption &&\n\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier={ attributeKey }\n\t\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { [ attributeKey ]: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\treadOnly={ readOnly }\n\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -63,6 +63,7 @@ export function useUploadMediaFromBlobURL(args = {}) {
63
63
  onChange(media);
64
64
  },
65
65
  onError: message => {
66
+ revokeBlobURL(url);
66
67
  onError(message);
67
68
  }
68
69
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\tonError( message );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOb,SAAS,CACbc,MAAM,IACPA,MAAM,CAAEL,SAAU,CAAC,CAACM,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGf,MAAM,CAAEc,IAAK,CAAC;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGnB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBiB,UAAU,CAACE,OAAO,GAAGH,IAAI;EAC1B,CAAE,CAAC;EAEHf,SAAS,CAAE,MAAM;IAChB,IACC,CAAEgB,UAAU,CAACE,OAAO,CAACC,GAAG,IACxB,CAAEhB,SAAS,CAAEa,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGlB,YAAY,CAAEc,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGP,UAAU,CAACE,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCO,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAKxB,SAAS,CAAEwB,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAf,aAAa,CAAEe,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;MAClB,CAAC;MACDJ,OAAO,EAAIK,OAAO,IAAM;QACvBL,OAAO,CAAEK,OAAQ,CAAC;MACnB;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEX,WAAW,CAAG,CAAC;AACrB"}
1
+ {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOb,SAAS,CACbc,MAAM,IACPA,MAAM,CAAEL,SAAU,CAAC,CAACM,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGf,MAAM,CAAEc,IAAK,CAAC;EACjC,MAAM;IAAEE;EAAY,CAAC,GAAGnB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBiB,UAAU,CAACE,OAAO,GAAGH,IAAI;EAC1B,CAAE,CAAC;EAEHf,SAAS,CAAE,MAAM;IAChB,IACC,CAAEgB,UAAU,CAACE,OAAO,CAACC,GAAG,IACxB,CAAEhB,SAAS,CAAEa,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGlB,YAAY,CAAEc,UAAU,CAACE,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGP,UAAU,CAACE,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCO,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAKxB,SAAS,CAAEwB,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAf,aAAa,CAAEe,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;MAClB,CAAC;MACDJ,OAAO,EAAIK,OAAO,IAAM;QACvBxB,aAAa,CAAEe,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;MACnB;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAEX,WAAW,CAAG,CAAC;AACrB"}
@@ -276,7 +276,7 @@ class VideoEdit extends Component {
276
276
  isUploadFailed,
277
277
  retryMessage
278
278
  }) => {
279
- const showVideo = isURL(src) && !isUploadInProgress && !isUploadFailed;
279
+ const showVideo = isURL(src) && getProtocol(attributes.src) !== 'file:' && !isUploadInProgress && !isUploadFailed;
280
280
  const icon = this.getIcon(isUploadFailed ? ICON_TYPE.RETRY : ICON_TYPE.UPLOAD);
281
281
  const styleIconContainer = isUploadFailed ? style.modalIconRetry : style.modalIcon;
282
282
  const iconContainer = createElement(View, {
@@ -1 +1 @@
1
- {"version":3,"names":["View","TouchableWithoutFeedback","Text","Component","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","Icon","ToolbarButton","ToolbarGroup","PanelBody","withPreferredColorScheme","compose","BlockCaption","MediaPlaceholder","MediaUpload","MediaUploadProgress","MEDIA_TYPE_VIDEO","BlockControls","VIDEO_ASPECT_RATIO","VideoPlayer","InspectorControls","RichText","store","blockEditorStore","__","sprintf","isURL","getProtocol","doAction","hasAction","video","SvgIcon","replace","withDispatch","withSelect","noticesStore","createUpgradedEmbedBlock","style","SvgIconRetry","VideoCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","src","componentWillUnmount","isUploadInProgress","getDerivedStateFromProps","isSelected","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","test","embedBlock","undefined","poster","event","width","nativeEvent","layout","height","getIcon","iconType","iconStyle","createElement","icon","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","render","wasBlockJustInserted","toolbarEditButton","allowedTypes","isReplacingMedia","onSelect","open","getMediaOptions","label","onClick","flex","onFocus","autoOpenMediaUpload","accessible","onPress","disabled","title","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","containerStyle","containerFocused","container","onLayout","videoContainer","source","uri","paused","placeholderContainer","placeholderContainerDark","uploadFailedText","accessibilityLabelCreator","caption","isEmpty","clientId","onBlur","insertBlocksAfter","select","dispatch"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.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.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\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.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\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\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\tif ( ! src ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused\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\t{ ! showVideo && (\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\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\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{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\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\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\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);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockCaption\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
1
+ {"version":3,"names":["View","TouchableWithoutFeedback","Text","Component","mediaUploadSync","requestImageFailedRetryDialog","requestImageUploadCancelDialog","Icon","ToolbarButton","ToolbarGroup","PanelBody","withPreferredColorScheme","compose","BlockCaption","MediaPlaceholder","MediaUpload","MediaUploadProgress","MEDIA_TYPE_VIDEO","BlockControls","VIDEO_ASPECT_RATIO","VideoPlayer","InspectorControls","RichText","store","blockEditorStore","__","sprintf","isURL","getProtocol","doAction","hasAction","video","SvgIcon","replace","withDispatch","withSelect","noticesStore","createUpgradedEmbedBlock","style","SvgIconRetry","VideoCommonSettings","ICON_TYPE","PLACEHOLDER","RETRY","UPLOAD","VideoEdit","constructor","props","state","isCaptionSelected","videoContainerHeight","mediaUploadStateReset","bind","onSelectMediaUploadOption","onSelectURL","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","updateMediaProgress","onVideoPressed","onVideoContanerLayout","onFocusCaption","componentDidMount","attributes","id","src","componentWillUnmount","isUploadInProgress","getDerivedStateFromProps","isSelected","setState","payload","setAttributes","mediaUrl","url","mediaServerId","mediaId","createErrorNotice","onReplace","test","embedBlock","undefined","poster","event","width","nativeEvent","layout","height","getIcon","iconType","iconStyle","createElement","icon","getStylesFromColorScheme","iconDark","iconUploading","iconUploadingDark","render","wasBlockJustInserted","toolbarEditButton","allowedTypes","isReplacingMedia","onSelect","open","getMediaOptions","label","onClick","flex","onFocus","autoOpenMediaUpload","accessible","onPress","disabled","title","onFinishMediaUploadWithSuccess","onFinishMediaUploadWithFailure","onUpdateMediaProgress","onMediaUploadStateReset","renderContent","isUploadFailed","retryMessage","showVideo","styleIconContainer","modalIconRetry","modalIcon","iconContainer","videoStyle","containerStyle","containerFocused","container","onLayout","videoContainer","source","uri","paused","placeholderContainer","placeholderContainerDark","uploadFailedText","accessibilityLabelCreator","caption","isEmpty","clientId","onBlur","insertBlocksAfter","select","dispatch"],"sources":["@wordpress/block-library/src/video/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, TouchableWithoutFeedback, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport {\n\tmediaUploadSync,\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n} from '@wordpress/react-native-bridge';\nimport {\n\tIcon,\n\tToolbarButton,\n\tToolbarGroup,\n\tPanelBody,\n} from '@wordpress/components';\nimport { withPreferredColorScheme, compose } from '@wordpress/compose';\nimport {\n\tBlockCaption,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadProgress,\n\tMEDIA_TYPE_VIDEO,\n\tBlockControls,\n\tVIDEO_ASPECT_RATIO,\n\tVideoPlayer,\n\tInspectorControls,\n\tRichText,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { isURL, getProtocol } from '@wordpress/url';\nimport { doAction, hasAction } from '@wordpress/hooks';\nimport { video as SvgIcon, replace } from '@wordpress/icons';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport style from './style.scss';\nimport SvgIconRetry from './icon-retry';\nimport VideoCommonSettings from './edit-common-settings';\n\nconst ICON_TYPE = {\n\tPLACEHOLDER: 'placeholder',\n\tRETRY: 'retry',\n\tUPLOAD: 'upload',\n};\n\nclass VideoEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\n\t\tthis.state = {\n\t\t\tisCaptionSelected: false,\n\t\t\tvideoContainerHeight: 0,\n\t\t};\n\n\t\tthis.mediaUploadStateReset = this.mediaUploadStateReset.bind( this );\n\t\tthis.onSelectMediaUploadOption =\n\t\t\tthis.onSelectMediaUploadOption.bind( this );\n\t\tthis.onSelectURL = this.onSelectURL.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.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.onVideoPressed = this.onVideoPressed.bind( this );\n\t\tthis.onVideoContanerLayout = this.onVideoContanerLayout.bind( this );\n\t\tthis.onFocusCaption = this.onFocusCaption.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { attributes } = this.props;\n\t\tif ( attributes.id && getProtocol( attributes.src ) === 'file:' ) {\n\t\t\tmediaUploadSync();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\t// This action will only exist if the user pressed the trash button on the block holder.\n\t\tif (\n\t\t\thasAction( 'blocks.onRemoveBlockCheckUpload' ) &&\n\t\t\tthis.state.isUploadInProgress\n\t\t) {\n\t\t\tdoAction(\n\t\t\t\t'blocks.onRemoveBlockCheckUpload',\n\t\t\t\tthis.props.attributes.id\n\t\t\t);\n\t\t}\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\t// Avoid a UI flicker in the toolbar by insuring that isCaptionSelected\n\t\t// is updated immediately any time the isSelected prop becomes false.\n\t\treturn {\n\t\t\tisCaptionSelected: props.isSelected && state.isCaptionSelected,\n\t\t};\n\t}\n\n\tonVideoPressed() {\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.src ) === 'file:'\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( attributes.id );\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tisCaptionSelected: false,\n\t\t} );\n\t}\n\n\tonFocusCaption() {\n\t\tif ( ! this.state.isCaptionSelected ) {\n\t\t\tthis.setState( { isCaptionSelected: true } );\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\t\tsetAttributes( { src: payload.mediaUrl, id: payload.mediaServerId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tfinishMediaUploadWithFailure( payload ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: payload.mediaId } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tmediaUploadStateReset() {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id: null, src: null } );\n\t\tthis.setState( { isUploadInProgress: false } );\n\t}\n\n\tonSelectMediaUploadOption( { id, url } ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { id, src: url } );\n\t}\n\n\tonSelectURL( url ) {\n\t\tconst { createErrorNotice, onReplace, setAttributes } = this.props;\n\n\t\tif ( isURL( url ) && /^https?:/.test( getProtocol( url ) ) ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetAttributes( { src: url, id: undefined, poster: undefined } );\n\t\t} else {\n\t\t\tcreateErrorNotice( __( 'Invalid URL.' ) );\n\t\t}\n\t}\n\n\tonVideoContanerLayout( event ) {\n\t\tconst { width } = event.nativeEvent.layout;\n\t\tconst height = width / VIDEO_ASPECT_RATIO;\n\t\tif ( height !== this.state.videoContainerHeight ) {\n\t\t\tthis.setState( { videoContainerHeight: height } );\n\t\t}\n\t}\n\n\tgetIcon( iconType ) {\n\t\tlet iconStyle;\n\t\tswitch ( iconType ) {\n\t\t\tcase ICON_TYPE.RETRY:\n\t\t\t\treturn <Icon icon={ SvgIconRetry } { ...style.icon } />;\n\t\t\tcase ICON_TYPE.PLACEHOLDER:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.icon,\n\t\t\t\t\tstyle.iconDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t\tcase ICON_TYPE.UPLOAD:\n\t\t\t\ticonStyle = this.props.getStylesFromColorScheme(\n\t\t\t\t\tstyle.iconUploading,\n\t\t\t\t\tstyle.iconUploadingDark\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\n\t\treturn <Icon icon={ SvgIcon } { ...iconStyle } />;\n\t}\n\n\trender() {\n\t\tconst { setAttributes, attributes, isSelected, wasBlockJustInserted } =\n\t\t\tthis.props;\n\t\tconst { id, src } = attributes;\n\t\tconst { videoContainerHeight } = this.state;\n\n\t\tconst toolbarEditButton = (\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\tisReplacingMedia\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t{ getMediaOptions() }\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit video' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t></MediaUpload>\n\t\t);\n\n\t\tif ( ! src ) {\n\t\t\treturn (\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tallowedTypes={ [ MEDIA_TYPE_VIDEO ] }\n\t\t\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\t\t\ticon={ this.getIcon( ICON_TYPE.PLACEHOLDER ) }\n\t\t\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\t\t\tautoOpenMediaUpload={\n\t\t\t\t\t\t\tisSelected && wasBlockJustInserted\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tonPress={ this.onVideoPressed }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t>\n\t\t\t\t<View style={ { flex: 1 } }>\n\t\t\t\t\t{ ! this.state.isCaptionSelected && (\n\t\t\t\t\t\t<BlockControls>{ toolbarEditButton }</BlockControls>\n\t\t\t\t\t) }\n\t\t\t\t\t{ isSelected && (\n\t\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t</InspectorControls>\n\t\t\t\t\t) }\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonMediaUploadStateReset={ this.mediaUploadStateReset }\n\t\t\t\t\t\trenderContent={ ( {\n\t\t\t\t\t\t\tisUploadInProgress,\n\t\t\t\t\t\t\tisUploadFailed,\n\t\t\t\t\t\t\tretryMessage,\n\t\t\t\t\t\t} ) => {\n\t\t\t\t\t\t\tconst showVideo =\n\t\t\t\t\t\t\t\tisURL( src ) &&\n\t\t\t\t\t\t\t\tgetProtocol( attributes.src ) !== 'file:' &&\n\t\t\t\t\t\t\t\t! isUploadInProgress &&\n\t\t\t\t\t\t\t\t! isUploadFailed;\n\n\t\t\t\t\t\t\tconst icon = this.getIcon(\n\t\t\t\t\t\t\t\tisUploadFailed\n\t\t\t\t\t\t\t\t\t? ICON_TYPE.RETRY\n\t\t\t\t\t\t\t\t\t: ICON_TYPE.UPLOAD\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tconst styleIconContainer = isUploadFailed\n\t\t\t\t\t\t\t\t? style.modalIconRetry\n\t\t\t\t\t\t\t\t: style.modalIcon;\n\n\t\t\t\t\t\t\tconst iconContainer = (\n\t\t\t\t\t\t\t\t<View style={ styleIconContainer }>\n\t\t\t\t\t\t\t\t\t{ icon }\n\t\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\tconst videoStyle = {\n\t\t\t\t\t\t\t\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t...style.video,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\tconst containerStyle =\n\t\t\t\t\t\t\t\tshowVideo && isSelected\n\t\t\t\t\t\t\t\t\t? style.containerFocused\n\t\t\t\t\t\t\t\t\t: style.container;\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<View\n\t\t\t\t\t\t\t\t\tonLayout={ this.onVideoContanerLayout }\n\t\t\t\t\t\t\t\t\tstyle={ containerStyle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ showVideo && (\n\t\t\t\t\t\t\t\t\t\t<View style={ style.videoContainer }>\n\t\t\t\t\t\t\t\t\t\t\t<VideoPlayer\n\t\t\t\t\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\t\t\t\t\tisSelected &&\n\t\t\t\t\t\t\t\t\t\t\t\t\t! this.state\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t.isCaptionSelected\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\tstyle={ videoStyle }\n\t\t\t\t\t\t\t\t\t\t\t\tsource={ { uri: src } }\n\t\t\t\t\t\t\t\t\t\t\t\tpaused\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\t{ ! showVideo && (\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\theight: videoContainerHeight,\n\t\t\t\t\t\t\t\t\t\t\t\twidth: '100%',\n\t\t\t\t\t\t\t\t\t\t\t\t...this.props.getStylesFromColorScheme(\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainer,\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.placeholderContainerDark\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{ videoContainerHeight > 0 &&\n\t\t\t\t\t\t\t\t\t\t\t\ticonContainer }\n\t\t\t\t\t\t\t\t\t\t\t{ isUploadFailed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\t\t\t\t\tstyle={\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle.uploadFailedText\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\t\t{ retryMessage }\n\t\t\t\t\t\t\t\t\t\t\t\t</Text>\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);\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<BlockCaption\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\tRichText.isEmpty( caption )\n\t\t\t\t\t\t\t\t? /* translators: accessibility text. Empty video caption. */\n\t\t\t\t\t\t\t\t __( 'Video caption. Empty' )\n\t\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: video caption. */\n\t\t\t\t\t\t\t\t\t\t__( 'Video caption. %s' ),\n\t\t\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclientId={ this.props.clientId }\n\t\t\t\t\t\tisSelected={ this.state.isCaptionSelected }\n\t\t\t\t\t\tonFocus={ this.onFocusCaption }\n\t\t\t\t\t\tonBlur={ this.props.onBlur } // Always assign onBlur as props.\n\t\t\t\t\t\tinsertBlocksAfter={ this.props.insertBlocksAfter }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => ( {\n\t\twasBlockJustInserted: select( blockEditorStore ).wasBlockJustInserted(\n\t\t\tclientId,\n\t\t\t'inserter_menu'\n\t\t),\n\t} ) ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { createErrorNotice } = dispatch( noticesStore );\n\n\t\treturn { createErrorNotice };\n\t} ),\n\twithPreferredColorScheme,\n] )( VideoEdit );\n"],"mappings":"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"}
@@ -95,6 +95,6 @@
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
98
- .wp-block-audio {
98
+ :where(.wp-block-audio) {
99
99
  margin: 0 0 1em 0;
100
100
  }
@@ -95,6 +95,6 @@
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
98
- .wp-block-audio {
98
+ :where(.wp-block-audio) {
99
99
  margin: 0 0 1em 0;
100
100
  }
@@ -86,15 +86,18 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
+ :where(.wp-block-cover-image, .wp-block-cover) {
90
+ min-height: 430px;
91
+ padding: 1em;
92
+ }
93
+
89
94
  .wp-block-cover-image,
90
95
  .wp-block-cover {
91
96
  position: relative;
92
97
  background-position: center center;
93
- min-height: 430px;
94
98
  display: flex;
95
99
  justify-content: center;
96
100
  align-items: center;
97
- padding: 1em;
98
101
  overflow: hidden;
99
102
  overflow: clip;
100
103
  box-sizing: border-box; direction: ltr;
@@ -86,15 +86,18 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
+ :where(.wp-block-cover-image, .wp-block-cover) {
90
+ min-height: 430px;
91
+ padding: 1em;
92
+ }
93
+
89
94
  .wp-block-cover-image,
90
95
  .wp-block-cover {
91
96
  position: relative;
92
97
  background-position: center center;
93
- min-height: 430px;
94
98
  display: flex;
95
99
  justify-content: center;
96
100
  align-items: center;
97
- padding: 1em;
98
101
  overflow: hidden;
99
102
  overflow: clip;
100
103
  box-sizing: border-box;
@@ -590,6 +590,9 @@ html :where(.wp-block-column) {
590
590
  .wp-block[data-align=left] > .wp-block-file, .wp-block[data-align=right] > .wp-block-file {
591
591
  height: auto;
592
592
  }
593
+ .wp-block[data-align=center] > .wp-block-file {
594
+ text-align: center;
595
+ }
593
596
  .wp-block-file .components-resizable-box__container {
594
597
  margin-bottom: 1em;
595
598
  }
@@ -1311,9 +1314,6 @@ figure.wp-block-gallery .components-spinner {
1311
1314
  outline: 2px solid transparent !important;
1312
1315
  }
1313
1316
 
1314
- .wp-block-image.wp-block-image:not(.is-selected) .components-placeholder__fieldset {
1315
- display: none;
1316
- }
1317
1317
  .wp-block-image.wp-block-image.is-selected .components-placeholder {
1318
1318
  color: #1e1e1e;
1319
1319
  background-color: #fff;
@@ -1513,7 +1513,8 @@ figure.wp-block-image:not(.wp-block) {
1513
1513
  width: 100% !important;
1514
1514
  }
1515
1515
 
1516
- .wp-block-media-text.is-image-fill .editor-media-container__resizer {
1516
+ .wp-block-media-text.is-image-fill .editor-media-container__resizer,
1517
+ .wp-block-media-text.is-image-fill .components-placeholder.has-illustration {
1517
1518
  height: 100% !important;
1518
1519
  }
1519
1520
 
@@ -1521,6 +1522,11 @@ figure.wp-block-image:not(.wp-block) {
1521
1522
  max-width: unset;
1522
1523
  }
1523
1524
 
1525
+ /* Make the featured image placeholder the same height as the media selection area. */
1526
+ .wp-block-media-text--placeholder-image {
1527
+ min-height: 205px;
1528
+ }
1529
+
1524
1530
  .block-editor-block-list__block[data-type="core/more"] {
1525
1531
  max-width: 100%;
1526
1532
  text-align: center;
@@ -2550,9 +2556,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2550
2556
  display: inline-block;
2551
2557
  margin-right: 8px;
2552
2558
  }
2553
- .wp-block-social-links.wp-block-social-links {
2554
- background: none;
2555
- }
2556
2559
 
2557
2560
  .wp-social-link:hover {
2558
2561
  transform: none;
@@ -2602,7 +2605,6 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2602
2605
  .wp-block-social-links .wp-block-social-links__social-prompt {
2603
2606
  min-height: 24px;
2604
2607
  list-style: none;
2605
- order: 2;
2606
2608
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2607
2609
  font-size: 13px;
2608
2610
  line-height: 24px;
@@ -2753,10 +2755,14 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2753
2755
  z-index: 2;
2754
2756
  }
2755
2757
 
2756
- .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected,
2757
- .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted,
2758
- .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected {
2759
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
2758
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-highlighted::after, .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-selected::after,
2759
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-highlighted::after,
2760
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-selected::after {
2761
+ box-shadow: 0 0 0 var(--wp-admin-border-width-focus) var(--wp-block-synced-color);
2762
+ }
2763
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.is-hovered::after,
2764
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.is-hovered::after {
2765
+ box-shadow: 0 0 0 1px var(--wp-block-synced-color);
2760
2766
  }
2761
2767
  .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.block-editor-block-list__block:not([contenteditable]):focus::after,
2762
2768
  .is-outline-mode .block-editor-block-list__block:not(.remove-outline).is-reusable.block-editor-block-list__block:not([contenteditable]):focus::after {
@@ -2767,6 +2773,10 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2767
2773
  box-shadow: 0 0 0 var(--wp-admin-border-width-focus) #fff;
2768
2774
  }
2769
2775
 
2776
+ .is-outline-mode .block-editor-block-list__block:not(.remove-outline).wp-block-template-part.has-editable-outline::after {
2777
+ border: none;
2778
+ }
2779
+
2770
2780
  .wp-block-text-columns .block-editor-rich-text__editable:focus {
2771
2781
  outline: 1px solid #ddd;
2772
2782
  }