@wordpress/block-library 8.24.1 → 8.25.1-next.79a6196f.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 (509) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/LICENSE.md +1 -1
  3. package/build/audio/edit.js +15 -62
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/audio/edit.native.js +1 -1
  6. package/build/audio/edit.native.js.map +1 -1
  7. package/build/audio/index.js +2 -2
  8. package/build/block/edit.js +157 -19
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +3 -2
  11. package/build/block/index.js.map +1 -1
  12. package/build/block/v1/edit.js +116 -0
  13. package/build/block/v1/edit.js.map +1 -0
  14. package/build/block/{edit.native.js → v1/edit.native.js} +2 -2
  15. package/build/block/v1/edit.native.js.map +1 -0
  16. package/build/button/index.js +2 -2
  17. package/build/button/save.js +1 -1
  18. package/build/button/save.js.map +1 -1
  19. package/build/code/edit.native.js +13 -14
  20. package/build/code/edit.native.js.map +1 -1
  21. package/build/code/index.js +2 -2
  22. package/build/code/save.js +6 -2
  23. package/build/code/save.js.map +1 -1
  24. package/build/comments-title/deprecated.js +1 -1
  25. package/build/comments-title/index.js +1 -1
  26. package/build/cover/edit/inspector-controls.js +1 -1
  27. package/build/cover/edit/inspector-controls.js.map +1 -1
  28. package/build/cover/edit.native.js +1 -0
  29. package/build/cover/edit.native.js.map +1 -1
  30. package/build/details/index.js +2 -2
  31. package/build/embed/deprecated.js +2 -2
  32. package/build/embed/embed-preview.native.js +1 -1
  33. package/build/embed/embed-preview.native.js.map +1 -1
  34. package/build/embed/icons.js +1 -1
  35. package/build/embed/icons.js.map +1 -1
  36. package/build/embed/index.js +2 -2
  37. package/build/embed/transforms.js +2 -2
  38. package/build/embed/util.js +6 -6
  39. package/build/embed/util.js.map +1 -1
  40. package/build/file/edit.js +20 -28
  41. package/build/file/edit.js.map +1 -1
  42. package/build/file/edit.native.js +1 -1
  43. package/build/file/edit.native.js.map +1 -1
  44. package/build/file/index.js +4 -4
  45. package/build/file/save.js +4 -1
  46. package/build/file/save.js.map +1 -1
  47. package/build/form-input/deprecated.js +147 -0
  48. package/build/form-input/deprecated.js.map +1 -0
  49. package/build/form-input/edit.js +1 -1
  50. package/build/form-input/edit.js.map +1 -1
  51. package/build/form-input/index.js +4 -2
  52. package/build/form-input/index.js.map +1 -1
  53. package/build/form-input/save.js +7 -9
  54. package/build/form-input/save.js.map +1 -1
  55. package/build/gallery/edit.js +38 -58
  56. package/build/gallery/edit.js.map +1 -1
  57. package/build/gallery/gallery.js +19 -24
  58. package/build/gallery/gallery.js.map +1 -1
  59. package/build/gallery/gallery.native.js +1 -1
  60. package/build/gallery/gallery.native.js.map +1 -1
  61. package/build/gallery/index.js +8 -4
  62. package/build/gallery/index.js.map +1 -1
  63. package/build/gallery/transforms.js +4 -68
  64. package/build/gallery/transforms.js.map +1 -1
  65. package/build/gallery/v1/gallery.native.js +1 -1
  66. package/build/gallery/v1/gallery.native.js.map +1 -1
  67. package/build/group/edit.js +6 -1
  68. package/build/group/edit.js.map +1 -1
  69. package/build/group/index.js +5 -1
  70. package/build/group/index.js.map +1 -1
  71. package/build/heading/index.js +3 -6
  72. package/build/heading/index.js.map +1 -1
  73. package/build/image/deprecated.js +11 -0
  74. package/build/image/deprecated.js.map +1 -1
  75. package/build/image/edit.native.js +4 -1
  76. package/build/image/edit.native.js.map +1 -1
  77. package/build/image/image.js +35 -71
  78. package/build/image/image.js.map +1 -1
  79. package/build/image/index.js +2 -2
  80. package/build/image/save.js +3 -1
  81. package/build/image/save.js.map +1 -1
  82. package/build/image/view.js +7 -1
  83. package/build/image/view.js.map +1 -1
  84. package/build/list/edit.js +10 -15
  85. package/build/list/edit.js.map +1 -1
  86. package/build/list-item/edit.js +17 -2
  87. package/build/list-item/edit.js.map +1 -1
  88. package/build/list-item/hooks/use-enter.js +5 -3
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-enter.native.js +4 -3
  91. package/build/list-item/hooks/use-enter.native.js.map +1 -1
  92. package/build/list-item/hooks/use-indent-list-item.js +2 -3
  93. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  94. package/build/list-item/hooks/use-merge.js +1 -1
  95. package/build/list-item/hooks/use-merge.js.map +1 -1
  96. package/build/list-item/hooks/use-outdent-list-item.js +3 -17
  97. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  98. package/build/list-item/hooks/use-space.js +8 -4
  99. package/build/list-item/hooks/use-space.js.map +1 -1
  100. package/build/list-item/index.js +10 -3
  101. package/build/list-item/index.js.map +1 -1
  102. package/build/media-text/media-container.native.js +3 -0
  103. package/build/media-text/media-container.native.js.map +1 -1
  104. package/build/navigation/constants.js +3 -1
  105. package/build/navigation/constants.js.map +1 -1
  106. package/build/navigation/edit/index.js +5 -1
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/view.js +25 -1
  109. package/build/navigation/view.js.map +1 -1
  110. package/build/page-list/convert-to-links-modal.js +2 -2
  111. package/build/page-list/convert-to-links-modal.js.map +1 -1
  112. package/build/paragraph/edit.js +54 -32
  113. package/build/paragraph/edit.js.map +1 -1
  114. package/build/paragraph/index.js +2 -4
  115. package/build/paragraph/index.js.map +1 -1
  116. package/build/paragraph/transforms.js +2 -4
  117. package/build/paragraph/transforms.js.map +1 -1
  118. package/build/pattern/edit.js +24 -2
  119. package/build/pattern/edit.js.map +1 -1
  120. package/build/pattern/recursion-detector.js +147 -0
  121. package/build/pattern/recursion-detector.js.map +1 -0
  122. package/build/post-featured-image/edit.js +19 -2
  123. package/build/post-featured-image/edit.js.map +1 -1
  124. package/build/post-featured-image/index.js +4 -0
  125. package/build/post-featured-image/index.js.map +1 -1
  126. package/build/post-title/index.js +1 -3
  127. package/build/post-title/index.js.map +1 -1
  128. package/build/preformatted/index.js +2 -3
  129. package/build/preformatted/index.js.map +1 -1
  130. package/build/pullquote/index.js +5 -7
  131. package/build/pullquote/index.js.map +1 -1
  132. package/build/query/edit/inspector-controls/index.js +3 -1
  133. package/build/query/edit/inspector-controls/index.js.map +1 -1
  134. package/build/query/edit/inspector-controls/taxonomy-controls.js +2 -0
  135. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  136. package/build/query-pagination-numbers/index.js +1 -1
  137. package/build/query-title/index.js +1 -3
  138. package/build/query-title/index.js.map +1 -1
  139. package/build/quote/index.js +3 -5
  140. package/build/quote/index.js.map +1 -1
  141. package/build/quote/transforms.js +7 -6
  142. package/build/quote/transforms.js.map +1 -1
  143. package/build/search/edit.js +3 -5
  144. package/build/search/edit.js.map +1 -1
  145. package/build/search/index.js +0 -4
  146. package/build/search/index.js.map +1 -1
  147. package/build/site-logo/edit.js +7 -6
  148. package/build/site-logo/edit.js.map +1 -1
  149. package/build/site-title/index.js +1 -5
  150. package/build/site-title/index.js.map +1 -1
  151. package/build/social-link/icons/gravatar.js +22 -0
  152. package/build/social-link/icons/gravatar.js.map +1 -0
  153. package/build/social-link/icons/index.js +11 -0
  154. package/build/social-link/icons/index.js.map +1 -1
  155. package/build/social-link/variations.js +7 -0
  156. package/build/social-link/variations.js.map +1 -1
  157. package/build/spacer/edit.native.js +2 -2
  158. package/build/spacer/edit.native.js.map +1 -1
  159. package/build/table/edit.js +3 -1
  160. package/build/table/edit.js.map +1 -1
  161. package/build/table/index.js +9 -10
  162. package/build/table/index.js.map +1 -1
  163. package/build/table-of-contents/edit.js +2 -2
  164. package/build/table-of-contents/edit.js.map +1 -1
  165. package/build/table-of-contents/index.js +5 -2
  166. package/build/table-of-contents/index.js.map +1 -1
  167. package/build/tag-cloud/edit.js +5 -9
  168. package/build/tag-cloud/edit.js.map +1 -1
  169. package/build/utils/caption.js +90 -0
  170. package/build/utils/caption.js.map +1 -0
  171. package/build/utils/constants.js +16 -0
  172. package/build/utils/constants.js.map +1 -0
  173. package/build/utils/remove-anchor-tag.js +2 -1
  174. package/build/utils/remove-anchor-tag.js.map +1 -1
  175. package/build/verse/index.js +3 -5
  176. package/build/verse/index.js.map +1 -1
  177. package/build/video/deprecated.js +2 -2
  178. package/build/video/edit.js +16 -57
  179. package/build/video/edit.js.map +1 -1
  180. package/build/video/edit.native.js +1 -1
  181. package/build/video/edit.native.js.map +1 -1
  182. package/build/video/index.js +2 -2
  183. package/build-module/audio/edit.js +19 -66
  184. package/build-module/audio/edit.js.map +1 -1
  185. package/build-module/audio/edit.native.js +2 -2
  186. package/build-module/audio/edit.native.js.map +1 -1
  187. package/build-module/audio/index.js +2 -2
  188. package/build-module/block/edit.js +160 -22
  189. package/build-module/block/edit.js.map +1 -1
  190. package/build-module/block/index.js +3 -2
  191. package/build-module/block/index.js.map +1 -1
  192. package/build-module/block/v1/edit.js +108 -0
  193. package/build-module/block/v1/edit.js.map +1 -0
  194. package/build-module/block/{edit.native.js → v1/edit.native.js} +2 -2
  195. package/build-module/block/v1/edit.native.js.map +1 -0
  196. package/build-module/button/index.js +2 -2
  197. package/build-module/button/save.js +1 -1
  198. package/build-module/button/save.js.map +1 -1
  199. package/build-module/code/edit.native.js +14 -16
  200. package/build-module/code/edit.native.js.map +1 -1
  201. package/build-module/code/index.js +2 -2
  202. package/build-module/code/save.js +6 -2
  203. package/build-module/code/save.js.map +1 -1
  204. package/build-module/comments-title/deprecated.js +1 -1
  205. package/build-module/comments-title/index.js +1 -1
  206. package/build-module/cover/edit/inspector-controls.js +1 -1
  207. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  208. package/build-module/cover/edit.native.js +1 -0
  209. package/build-module/cover/edit.native.js.map +1 -1
  210. package/build-module/details/index.js +2 -2
  211. package/build-module/embed/deprecated.js +2 -2
  212. package/build-module/embed/embed-preview.native.js +2 -2
  213. package/build-module/embed/embed-preview.native.js.map +1 -1
  214. package/build-module/embed/icons.js +1 -1
  215. package/build-module/embed/icons.js.map +1 -1
  216. package/build-module/embed/index.js +2 -2
  217. package/build-module/embed/transforms.js +2 -2
  218. package/build-module/embed/util.js +6 -6
  219. package/build-module/embed/util.js.map +1 -1
  220. package/build-module/file/edit.js +20 -28
  221. package/build-module/file/edit.js.map +1 -1
  222. package/build-module/file/edit.native.js +1 -1
  223. package/build-module/file/edit.native.js.map +1 -1
  224. package/build-module/file/index.js +4 -4
  225. package/build-module/file/save.js +4 -1
  226. package/build-module/file/save.js.map +1 -1
  227. package/build-module/form-input/deprecated.js +138 -0
  228. package/build-module/form-input/deprecated.js.map +1 -0
  229. package/build-module/form-input/edit.js +1 -1
  230. package/build-module/form-input/edit.js.map +1 -1
  231. package/build-module/form-input/index.js +4 -2
  232. package/build-module/form-input/index.js.map +1 -1
  233. package/build-module/form-input/save.js +8 -10
  234. package/build-module/form-input/save.js.map +1 -1
  235. package/build-module/gallery/edit.js +41 -61
  236. package/build-module/gallery/edit.js.map +1 -1
  237. package/build-module/gallery/gallery.js +18 -21
  238. package/build-module/gallery/gallery.js.map +1 -1
  239. package/build-module/gallery/gallery.native.js +2 -2
  240. package/build-module/gallery/gallery.native.js.map +1 -1
  241. package/build-module/gallery/index.js +8 -4
  242. package/build-module/gallery/index.js.map +1 -1
  243. package/build-module/gallery/transforms.js +4 -68
  244. package/build-module/gallery/transforms.js.map +1 -1
  245. package/build-module/gallery/v1/gallery.native.js +2 -2
  246. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  247. package/build-module/group/edit.js +6 -1
  248. package/build-module/group/edit.js.map +1 -1
  249. package/build-module/group/index.js +5 -1
  250. package/build-module/group/index.js.map +1 -1
  251. package/build-module/heading/index.js +3 -6
  252. package/build-module/heading/index.js.map +1 -1
  253. package/build-module/image/deprecated.js +11 -0
  254. package/build-module/image/deprecated.js.map +1 -1
  255. package/build-module/image/edit.native.js +5 -2
  256. package/build-module/image/edit.native.js.map +1 -1
  257. package/build-module/image/image.js +35 -71
  258. package/build-module/image/image.js.map +1 -1
  259. package/build-module/image/index.js +2 -2
  260. package/build-module/image/save.js +3 -1
  261. package/build-module/image/save.js.map +1 -1
  262. package/build-module/image/view.js +7 -1
  263. package/build-module/image/view.js.map +1 -1
  264. package/build-module/list/edit.js +10 -15
  265. package/build-module/list/edit.js.map +1 -1
  266. package/build-module/list-item/edit.js +18 -3
  267. package/build-module/list-item/edit.js.map +1 -1
  268. package/build-module/list-item/hooks/use-enter.js +5 -3
  269. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  270. package/build-module/list-item/hooks/use-enter.native.js +4 -3
  271. package/build-module/list-item/hooks/use-enter.native.js.map +1 -1
  272. package/build-module/list-item/hooks/use-indent-list-item.js +2 -3
  273. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  274. package/build-module/list-item/hooks/use-merge.js +1 -1
  275. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  276. package/build-module/list-item/hooks/use-outdent-list-item.js +3 -17
  277. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  278. package/build-module/list-item/hooks/use-space.js +8 -4
  279. package/build-module/list-item/hooks/use-space.js.map +1 -1
  280. package/build-module/list-item/index.js +10 -3
  281. package/build-module/list-item/index.js.map +1 -1
  282. package/build-module/media-text/media-container.native.js +3 -0
  283. package/build-module/media-text/media-container.native.js.map +1 -1
  284. package/build-module/navigation/constants.js +1 -0
  285. package/build-module/navigation/constants.js.map +1 -1
  286. package/build-module/navigation/edit/index.js +7 -3
  287. package/build-module/navigation/edit/index.js.map +1 -1
  288. package/build-module/navigation/view.js +25 -1
  289. package/build-module/navigation/view.js.map +1 -1
  290. package/build-module/page-list/convert-to-links-modal.js +2 -2
  291. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  292. package/build-module/paragraph/edit.js +54 -32
  293. package/build-module/paragraph/edit.js.map +1 -1
  294. package/build-module/paragraph/index.js +2 -4
  295. package/build-module/paragraph/index.js.map +1 -1
  296. package/build-module/paragraph/transforms.js +2 -4
  297. package/build-module/paragraph/transforms.js.map +1 -1
  298. package/build-module/pattern/edit.js +26 -4
  299. package/build-module/pattern/edit.js.map +1 -1
  300. package/build-module/pattern/recursion-detector.js +139 -0
  301. package/build-module/pattern/recursion-detector.js.map +1 -0
  302. package/build-module/post-featured-image/edit.js +19 -2
  303. package/build-module/post-featured-image/edit.js.map +1 -1
  304. package/build-module/post-featured-image/index.js +4 -0
  305. package/build-module/post-featured-image/index.js.map +1 -1
  306. package/build-module/post-title/index.js +1 -3
  307. package/build-module/post-title/index.js.map +1 -1
  308. package/build-module/preformatted/index.js +2 -3
  309. package/build-module/preformatted/index.js.map +1 -1
  310. package/build-module/pullquote/index.js +5 -7
  311. package/build-module/pullquote/index.js.map +1 -1
  312. package/build-module/query/edit/inspector-controls/index.js +3 -1
  313. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  314. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +2 -0
  315. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  316. package/build-module/query-pagination-numbers/index.js +1 -1
  317. package/build-module/query-title/index.js +1 -3
  318. package/build-module/query-title/index.js.map +1 -1
  319. package/build-module/quote/index.js +3 -5
  320. package/build-module/quote/index.js.map +1 -1
  321. package/build-module/quote/transforms.js +7 -6
  322. package/build-module/quote/transforms.js.map +1 -1
  323. package/build-module/search/edit.js +3 -5
  324. package/build-module/search/edit.js.map +1 -1
  325. package/build-module/search/index.js +0 -4
  326. package/build-module/search/index.js.map +1 -1
  327. package/build-module/site-logo/edit.js +7 -6
  328. package/build-module/site-logo/edit.js.map +1 -1
  329. package/build-module/site-title/index.js +1 -5
  330. package/build-module/site-title/index.js.map +1 -1
  331. package/build-module/social-link/icons/gravatar.js +14 -0
  332. package/build-module/social-link/icons/gravatar.js.map +1 -0
  333. package/build-module/social-link/icons/index.js +1 -0
  334. package/build-module/social-link/icons/index.js.map +1 -1
  335. package/build-module/social-link/variations.js +8 -1
  336. package/build-module/social-link/variations.js.map +1 -1
  337. package/build-module/spacer/edit.native.js +2 -2
  338. package/build-module/spacer/edit.native.js.map +1 -1
  339. package/build-module/table/edit.js +3 -1
  340. package/build-module/table/edit.js.map +1 -1
  341. package/build-module/table/index.js +9 -10
  342. package/build-module/table/index.js.map +1 -1
  343. package/build-module/table-of-contents/edit.js +1 -1
  344. package/build-module/table-of-contents/edit.js.map +1 -1
  345. package/build-module/table-of-contents/index.js +5 -1
  346. package/build-module/table-of-contents/index.js.map +1 -1
  347. package/build-module/tag-cloud/edit.js +6 -10
  348. package/build-module/tag-cloud/edit.js.map +1 -1
  349. package/build-module/utils/caption.js +82 -0
  350. package/build-module/utils/caption.js.map +1 -0
  351. package/build-module/utils/constants.js +9 -0
  352. package/build-module/utils/constants.js.map +1 -0
  353. package/build-module/utils/remove-anchor-tag.js +2 -1
  354. package/build-module/utils/remove-anchor-tag.js.map +1 -1
  355. package/build-module/verse/index.js +3 -5
  356. package/build-module/verse/index.js.map +1 -1
  357. package/build-module/video/deprecated.js +2 -2
  358. package/build-module/video/edit.js +21 -62
  359. package/build-module/video/edit.js.map +1 -1
  360. package/build-module/video/edit.native.js +2 -2
  361. package/build-module/video/edit.native.js.map +1 -1
  362. package/build-module/video/index.js +2 -2
  363. package/build-style/button/editor-rtl.css +0 -37
  364. package/build-style/button/editor.css +0 -37
  365. package/build-style/button/style-rtl.css +6 -6
  366. package/build-style/button/style.css +6 -6
  367. package/build-style/editor-rtl.css +3 -55
  368. package/build-style/editor.css +3 -55
  369. package/build-style/navigation/editor-rtl.css +2 -4
  370. package/build-style/navigation/editor.css +2 -4
  371. package/build-style/navigation/style-rtl.css +14 -18
  372. package/build-style/navigation/style.css +14 -18
  373. package/build-style/search/style-rtl.css +26 -27
  374. package/build-style/search/style.css +26 -27
  375. package/build-style/social-links/style-rtl.css +14 -2
  376. package/build-style/social-links/style.css +14 -2
  377. package/build-style/style-rtl.css +60 -53
  378. package/build-style/style.css +60 -53
  379. package/build-style/table/editor-rtl.css +1 -14
  380. package/build-style/table/editor.css +1 -14
  381. package/package.json +32 -32
  382. package/src/audio/block.json +2 -2
  383. package/src/audio/edit.js +29 -92
  384. package/src/audio/edit.native.js +2 -1
  385. package/src/audio/test/__snapshots__/edit.native.js.snap +12 -0
  386. package/src/audio/test/edit.native.js +29 -0
  387. package/src/block/edit.js +218 -37
  388. package/src/block/index.js +3 -2
  389. package/src/block/index.php +48 -0
  390. package/src/block/v1/edit.js +163 -0
  391. package/src/block/{edit.native.js → v1/edit.native.js} +2 -2
  392. package/src/button/block.json +2 -2
  393. package/src/button/editor.scss +0 -43
  394. package/src/button/save.js +1 -1
  395. package/src/button/style.scss +6 -6
  396. package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
  397. package/src/buttons/test/edit.native.js +49 -0
  398. package/src/code/block.json +2 -2
  399. package/src/code/edit.native.js +11 -13
  400. package/src/code/save.js +4 -1
  401. package/src/code/test/edit.native.js +2 -2
  402. package/src/comments-title/block.json +1 -1
  403. package/src/cover/edit/inspector-controls.js +1 -1
  404. package/src/cover/edit.native.js +1 -0
  405. package/src/cover/test/edit.native.js +7 -1
  406. package/src/details/block.json +2 -2
  407. package/src/embed/block.json +2 -2
  408. package/src/embed/embed-preview.native.js +2 -1
  409. package/src/embed/icons.js +1 -1
  410. package/src/embed/util.js +2 -2
  411. package/src/file/block.json +4 -4
  412. package/src/file/edit.js +18 -25
  413. package/src/file/edit.native.js +1 -1
  414. package/src/file/save.js +5 -1
  415. package/src/form-input/block.json +2 -2
  416. package/src/form-input/deprecated.js +142 -0
  417. package/src/form-input/edit.js +1 -1
  418. package/src/form-input/index.js +2 -0
  419. package/src/form-input/save.js +27 -24
  420. package/src/gallery/block.json +8 -4
  421. package/src/gallery/edit.js +70 -98
  422. package/src/gallery/gallery.js +22 -36
  423. package/src/gallery/gallery.native.js +6 -2
  424. package/src/gallery/index.php +15 -0
  425. package/src/gallery/transforms.js +2 -55
  426. package/src/gallery/v1/gallery.native.js +2 -1
  427. package/src/group/block.json +5 -1
  428. package/src/group/edit.js +4 -1
  429. package/src/heading/block.json +3 -6
  430. package/src/image/block.json +2 -2
  431. package/src/image/deprecated.js +8 -0
  432. package/src/image/edit.native.js +5 -3
  433. package/src/image/image.js +77 -127
  434. package/src/image/index.php +1 -6
  435. package/src/image/save.js +3 -1
  436. package/src/image/view.js +5 -2
  437. package/src/list/edit.js +27 -35
  438. package/src/list-item/block.json +10 -3
  439. package/src/list-item/edit.js +18 -2
  440. package/src/list-item/hooks/use-enter.js +63 -62
  441. package/src/list-item/hooks/use-enter.native.js +9 -5
  442. package/src/list-item/hooks/use-indent-list-item.js +43 -53
  443. package/src/list-item/hooks/use-merge.js +1 -1
  444. package/src/list-item/hooks/use-outdent-list-item.js +50 -69
  445. package/src/list-item/hooks/use-space.js +7 -4
  446. package/src/media-text/media-container.native.js +3 -1
  447. package/src/navigation/constants.js +2 -0
  448. package/src/navigation/edit/index.js +18 -3
  449. package/src/navigation/editor.scss +1 -1
  450. package/src/navigation/index.php +1 -1
  451. package/src/navigation/style.scss +18 -16
  452. package/src/navigation/view.js +29 -3
  453. package/src/navigation-link/test/__snapshots__/hooks.js.snap +6 -3
  454. package/src/page-list/convert-to-links-modal.js +2 -2
  455. package/src/paragraph/block.json +2 -4
  456. package/src/paragraph/edit.js +53 -40
  457. package/src/paragraph/test/__snapshots__/edit.native.js.snap +12 -0
  458. package/src/paragraph/test/edit.native.js +114 -0
  459. package/src/pattern/edit.js +35 -3
  460. package/src/pattern/index.php +16 -0
  461. package/src/pattern/recursion-detector.js +145 -0
  462. package/src/pattern/test/index.js +74 -0
  463. package/src/post-featured-image/block.json +4 -0
  464. package/src/post-featured-image/edit.js +32 -1
  465. package/src/post-featured-image/index.php +31 -0
  466. package/src/post-title/block.json +1 -3
  467. package/src/preformatted/block.json +2 -3
  468. package/src/pullquote/block.json +5 -7
  469. package/src/query/edit/inspector-controls/index.js +2 -0
  470. package/src/query/edit/inspector-controls/taxonomy-controls.js +2 -0
  471. package/src/query-pagination-numbers/block.json +1 -1
  472. package/src/query-title/block.json +1 -3
  473. package/src/quote/block.json +3 -5
  474. package/src/quote/transforms.js +12 -11
  475. package/src/search/block.json +0 -4
  476. package/src/search/edit.js +2 -8
  477. package/src/search/index.php +3 -7
  478. package/src/search/style.scss +27 -29
  479. package/src/site-logo/edit.js +3 -4
  480. package/src/site-title/block.json +1 -5
  481. package/src/social-link/icons/gravatar.js +10 -0
  482. package/src/social-link/icons/index.js +1 -0
  483. package/src/social-link/index.php +5 -1
  484. package/src/social-link/socials-with-bg.scss +5 -0
  485. package/src/social-link/socials-without-bg.scss +4 -0
  486. package/src/social-link/variations.js +7 -0
  487. package/src/social-links/style.scss +14 -8
  488. package/src/spacer/edit.native.js +4 -2
  489. package/src/table/block.json +9 -10
  490. package/src/table/edit.js +3 -1
  491. package/src/table/editor.scss +1 -17
  492. package/src/table-of-contents/edit.js +1 -1
  493. package/src/table-of-contents/index.js +5 -1
  494. package/src/tag-cloud/edit.js +7 -7
  495. package/src/template-part/index.php +6 -0
  496. package/src/utils/caption.js +108 -0
  497. package/src/utils/constants.js +8 -0
  498. package/src/utils/remove-anchor-tag.js +2 -1
  499. package/src/verse/block.json +3 -5
  500. package/src/video/block.json +2 -2
  501. package/src/video/edit.js +40 -100
  502. package/src/video/edit.native.js +2 -1
  503. package/build/block/edit.native.js.map +0 -1
  504. package/build/table-of-contents/icon.js +0 -22
  505. package/build/table-of-contents/icon.js.map +0 -1
  506. package/build-module/block/edit.native.js.map +0 -1
  507. package/build-module/table-of-contents/icon.js +0 -15
  508. package/build-module/table-of-contents/icon.js.map +0 -1
  509. package/src/table-of-contents/icon.js +0 -18
@@ -24,8 +24,8 @@ const metadata = {
24
24
  attribute: "autoplay"
25
25
  },
26
26
  caption: {
27
- type: "string",
28
- source: "html",
27
+ type: "rich-text",
28
+ source: "rich-text",
29
29
  selector: "figcaption",
30
30
  __experimentalRole: "content"
31
31
  },
@@ -8,14 +8,13 @@ import classnames from 'classnames';
8
8
  * WordPress dependencies
9
9
  */
10
10
  import { getBlobByURL, isBlobURL } from '@wordpress/blob';
11
- import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder, ToolbarButton } from '@wordpress/components';
12
- import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
13
- import { useRef, useEffect, useState, useCallback } from '@wordpress/element';
11
+ import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder } from '@wordpress/components';
12
+ import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
13
+ import { useRef, useEffect } from '@wordpress/element';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
- import { useInstanceId, usePrevious } from '@wordpress/compose';
15
+ import { useInstanceId } from '@wordpress/compose';
16
16
  import { useDispatch, useSelect } from '@wordpress/data';
17
- import { video as icon, caption as captionIcon } from '@wordpress/icons';
18
- import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
17
+ import { video as icon } from '@wordpress/icons';
19
18
  import { store as noticesStore } from '@wordpress/notices';
20
19
 
21
20
  /**
@@ -25,6 +24,7 @@ import { createUpgradedEmbedBlock } from '../embed/util';
25
24
  import VideoCommonSettings from './edit-common-settings';
26
25
  import TracksEditor from './tracks-editor';
27
26
  import Tracks from './tracks';
27
+ import { Caption } from '../utils/caption';
28
28
 
29
29
  // Much of this description is duplicated from MediaPlaceholder.
30
30
  const placeholder = content => {
@@ -39,7 +39,7 @@ const placeholder = content => {
39
39
  const ALLOWED_MEDIA_TYPES = ['video'];
40
40
  const VIDEO_POSTER_ALLOWED_MEDIA_TYPES = ['image'];
41
41
  function VideoEdit({
42
- isSelected,
42
+ isSelected: isSingleSelected,
43
43
  attributes,
44
44
  className,
45
45
  setAttributes,
@@ -51,21 +51,20 @@ function VideoEdit({
51
51
  const posterImageButton = useRef();
52
52
  const {
53
53
  id,
54
- caption,
55
54
  controls,
56
55
  poster,
57
56
  src,
58
57
  tracks
59
58
  } = attributes;
60
- const prevCaption = usePrevious(caption);
61
- const [showCaption, setShowCaption] = useState(!!caption);
62
59
  const isTemporaryVideo = !id && isBlobURL(src);
63
- const mediaUpload = useSelect(select => select(blockEditorStore).getSettings().mediaUpload, []);
60
+ const {
61
+ getSettings
62
+ } = useSelect(blockEditorStore);
64
63
  useEffect(() => {
65
64
  if (!id && isBlobURL(src)) {
66
65
  const file = getBlobByURL(src);
67
66
  if (file) {
68
- mediaUpload({
67
+ getSettings().mediaUpload({
69
68
  filesList: [file],
70
69
  onFileChange: ([media]) => onSelectVideo(media),
71
70
  onError: onUploadError,
@@ -80,26 +79,6 @@ function VideoEdit({
80
79
  videoPlayer.current.load();
81
80
  }
82
81
  }, [poster]);
83
-
84
- // We need to show the caption when changes come from
85
- // history navigation(undo/redo).
86
- useEffect(() => {
87
- if (caption && !prevCaption) {
88
- setShowCaption(true);
89
- }
90
- }, [caption, prevCaption]);
91
-
92
- // Focus the caption when we click to add one.
93
- const captionRef = useCallback(node => {
94
- if (node && !caption) {
95
- node.focus();
96
- }
97
- }, [caption]);
98
- useEffect(() => {
99
- if (!isSelected && !caption) {
100
- setShowCaption(false);
101
- }
102
- }, [isSelected, caption]);
103
82
  function onSelectVideo(media) {
104
83
  if (!media || !media.url) {
105
84
  // In this case there was an error
@@ -186,21 +165,7 @@ function VideoEdit({
186
165
  posterImageButton.current.focus();
187
166
  }
188
167
  const videoPosterDescription = `video-block__poster-image-description-${instanceId}`;
189
- return createElement(Fragment, null, createElement(BlockControls, {
190
- group: "block"
191
- }, createElement(ToolbarButton, {
192
- onClick: () => {
193
- setShowCaption(!showCaption);
194
- if (showCaption && caption) {
195
- setAttributes({
196
- caption: undefined
197
- });
198
- }
199
- },
200
- icon: captionIcon,
201
- isPressed: showCaption,
202
- label: showCaption ? __('Remove caption') : __('Add caption')
203
- })), createElement(BlockControls, null, createElement(TracksEditor, {
168
+ return createElement(Fragment, null, isSingleSelected && createElement(Fragment, null, createElement(BlockControls, null, createElement(TracksEditor, {
204
169
  tracks: tracks,
205
170
  onChange: newTracks => {
206
171
  setAttributes({
@@ -217,7 +182,7 @@ function VideoEdit({
217
182
  onSelect: onSelectVideo,
218
183
  onSelectURL: onSelectURL,
219
184
  onError: onUploadError
220
- })), createElement(InspectorControls, null, createElement(PanelBody, {
185
+ }))), createElement(InspectorControls, null, createElement(PanelBody, {
221
186
  title: __('Settings')
222
187
  }, createElement(VideoCommonSettings, {
223
188
  setAttributes: setAttributes,
@@ -246,7 +211,7 @@ function VideoEdit({
246
211
  }, __('Remove')))))), createElement("figure", {
247
212
  ...blockProps
248
213
  }, createElement(Disabled, {
249
- isDisabled: !isSelected
214
+ isDisabled: !isSingleSelected
250
215
  }, createElement("video", {
251
216
  controls: controls,
252
217
  poster: poster,
@@ -254,19 +219,13 @@ function VideoEdit({
254
219
  ref: videoPlayer
255
220
  }, createElement(Tracks, {
256
221
  tracks: tracks
257
- }))), isTemporaryVideo && createElement(Spinner, null), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
258
- identifier: "caption",
259
- tagName: "figcaption",
260
- className: __experimentalGetElementClassName('caption'),
261
- "aria-label": __('Video caption text'),
262
- ref: captionRef,
263
- placeholder: __('Add caption'),
264
- value: caption,
265
- onChange: value => setAttributes({
266
- caption: value
267
- }),
268
- inlineToolbar: true,
269
- __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
222
+ }))), isTemporaryVideo && createElement(Spinner, null), createElement(Caption, {
223
+ attributes: attributes,
224
+ setAttributes: setAttributes,
225
+ isSelected: isSingleSelected,
226
+ insertBlocksAfter: insertBlocksAfter,
227
+ label: __('Video caption text'),
228
+ showToolbarButton: isSingleSelected
270
229
  })));
271
230
  }
272
231
  export default VideoEdit;
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","useState","useCallback","__","sprintf","useInstanceId","usePrevious","useDispatch","useSelect","video","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","createElement","className","withIllustration","label","instructions","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","prevCaption","showCaption","setShowCaption","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","captionRef","node","focus","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","videoPosterDescription","Fragment","group","onClick","isPressed","onChange","newTracks","mediaId","mediaURL","title","VisualLabel","render","open","variant","ref","hidden","isDisabled","isEmpty","identifier","tagName","inlineToolbar","__unstableOnSplitAtEnd"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\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: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls>\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","store","blockEditorStore","useRef","useEffect","__","sprintf","useInstanceId","useDispatch","useSelect","video","icon","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","Caption","placeholder","content","createElement","className","withIllustration","label","instructions","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","isTemporaryVideo","getSettings","file","mediaUpload","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","url","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","Fragment","onChange","newTracks","group","mediaId","mediaURL","title","VisualLabel","render","open","variant","onClick","ref","hidden","isDisabled","showToolbarButton"],"sources":["@wordpress/block-library/src/video/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\nimport { Caption } from '../utils/caption';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected: isSingleSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, controls, poster, src, tracks } = attributes;\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tgetSettings().mediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\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: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSingleSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<TracksEditor\n\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSingleSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t<Caption\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tlabel={ __( 'Video caption text' ) }\n\t\t\t\t\tshowToolbarButton={ isSingleSelected }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ import { Component } from '@wordpress/element';
11
11
  import { mediaUploadSync, requestImageFailedRetryDialog, requestImageUploadCancelDialog } from '@wordpress/react-native-bridge';
12
12
  import { Icon, ToolbarButton, ToolbarGroup, PanelBody } from '@wordpress/components';
13
13
  import { withPreferredColorScheme, compose } from '@wordpress/compose';
14
- import { BlockCaption, MediaPlaceholder, MediaUpload, MediaUploadProgress, MEDIA_TYPE_VIDEO, BlockControls, VIDEO_ASPECT_RATIO, VideoPlayer, InspectorControls, store as blockEditorStore } from '@wordpress/block-editor';
14
+ import { BlockCaption, MediaPlaceholder, MediaUpload, MediaUploadProgress, MEDIA_TYPE_VIDEO, BlockControls, VIDEO_ASPECT_RATIO, VideoPlayer, InspectorControls, RichText, store as blockEditorStore } from '@wordpress/block-editor';
15
15
  import { __, sprintf } from '@wordpress/i18n';
16
16
  import { isURL, getProtocol } from '@wordpress/url';
17
17
  import { doAction, hasAction } from '@wordpress/hooks';
@@ -311,7 +311,7 @@ class VideoEdit extends Component {
311
311
  }
312
312
  }), createElement(BlockCaption, {
313
313
  accessible: true,
314
- accessibilityLabelCreator: caption => !caption ? /* translators: accessibility text. Empty video caption. */
314
+ accessibilityLabelCreator: caption => RichText.isEmpty(caption) ? /* translators: accessibility text. Empty video caption. */
315
315
  __('Video caption. Empty') : sprintf( /* translators: accessibility text. %s: video caption. */
316
316
  __('Video caption. %s'), caption),
317
317
  clientId: this.props.clientId,
@@ -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","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","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\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={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\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={ true }\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={ true }\n\t\t\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t\t\t! 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={ true }\n\t\t\t\tonSelect={ this.onSelectMediaUploadOption }\n\t\t\t\tonSelectURL={ this.onSelectURL }\n\t\t\t\trender={ ( { open, getMediaOptions } ) => {\n\t\t\t\t\treturn (\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={ true }\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={ true }\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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"}
@@ -27,8 +27,8 @@ const metadata = {
27
27
  attribute: "autoplay"
28
28
  },
29
29
  caption: {
30
- type: "string",
31
- source: "html",
30
+ type: "rich-text",
31
+ source: "rich-text",
32
32
  selector: "figcaption",
33
33
  __experimentalRole: "content"
34
34
  },
@@ -109,43 +109,6 @@
109
109
  opacity: 0.8;
110
110
  }
111
111
 
112
- .wp-block-button__inline-link {
113
- color: #757575;
114
- height: 0;
115
- overflow: hidden;
116
- max-width: 290px;
117
- }
118
- .wp-block-button__inline-link-input__suggestions {
119
- max-width: 290px;
120
- }
121
- @media (min-width: 782px) {
122
- .wp-block-button__inline-link {
123
- max-width: 260px;
124
- }
125
- .wp-block-button__inline-link-input__suggestions {
126
- max-width: 260px;
127
- }
128
- }
129
- @media (min-width: 960px) {
130
- .wp-block-button__inline-link {
131
- max-width: 290px;
132
- }
133
- .wp-block-button__inline-link-input__suggestions {
134
- max-width: 290px;
135
- }
136
- }
137
- .is-selected .wp-block-button__inline-link {
138
- height: auto;
139
- overflow: visible;
140
- }
141
-
142
- .wp-button-label__width .components-button-group {
143
- display: block;
144
- }
145
- .wp-button-label__width .components-base-control__field {
146
- margin-bottom: 12px;
147
- }
148
-
149
112
  div[data-type="core/button"] {
150
113
  display: table;
151
114
  }
@@ -110,43 +110,6 @@
110
110
  opacity: 0.8;
111
111
  }
112
112
 
113
- .wp-block-button__inline-link {
114
- color: #757575;
115
- height: 0;
116
- overflow: hidden;
117
- max-width: 290px;
118
- }
119
- .wp-block-button__inline-link-input__suggestions {
120
- max-width: 290px;
121
- }
122
- @media (min-width: 782px) {
123
- .wp-block-button__inline-link {
124
- max-width: 260px;
125
- }
126
- .wp-block-button__inline-link-input__suggestions {
127
- max-width: 260px;
128
- }
129
- }
130
- @media (min-width: 960px) {
131
- .wp-block-button__inline-link {
132
- max-width: 290px;
133
- }
134
- .wp-block-button__inline-link-input__suggestions {
135
- max-width: 290px;
136
- }
137
- }
138
- .is-selected .wp-block-button__inline-link {
139
- height: auto;
140
- overflow: visible;
141
- }
142
-
143
- .wp-button-label__width .components-button-group {
144
- display: block;
145
- }
146
- .wp-button-label__width .components-base-control__field {
147
- margin-bottom: 12px;
148
- }
149
-
150
113
  div[data-type="core/button"] {
151
114
  display: table;
152
115
  }
@@ -154,19 +154,19 @@
154
154
  border-radius: 0 !important;
155
155
  }
156
156
 
157
- .wp-block-button.is-style-outline > .wp-block-button__link,
158
- .wp-block-button .wp-block-button__link.is-style-outline {
157
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link,
158
+ .wp-block-button .wp-block-button__link:where(.is-style-outline) {
159
159
  border: 2px solid currentColor;
160
160
  padding: 0.667em 1.333em;
161
161
  }
162
162
 
163
- .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
164
- .wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color) {
163
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-text-color),
164
+ .wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color) {
165
165
  color: currentColor;
166
166
  }
167
167
 
168
- .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background),
169
- .wp-block-button .wp-block-button__link.is-style-outline:not(.has-background) {
168
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-background),
169
+ .wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background) {
170
170
  background-color: transparent;
171
171
  background-image: none;
172
172
  }
@@ -155,19 +155,19 @@
155
155
  border-radius: 0 !important;
156
156
  }
157
157
 
158
- .wp-block-button.is-style-outline > .wp-block-button__link,
159
- .wp-block-button .wp-block-button__link.is-style-outline {
158
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link,
159
+ .wp-block-button .wp-block-button__link:where(.is-style-outline) {
160
160
  border: 2px solid currentColor;
161
161
  padding: 0.667em 1.333em;
162
162
  }
163
163
 
164
- .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color),
165
- .wp-block-button .wp-block-button__link.is-style-outline:not(.has-text-color) {
164
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-text-color),
165
+ .wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-text-color) {
166
166
  color: currentColor;
167
167
  }
168
168
 
169
- .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-background),
170
- .wp-block-button .wp-block-button__link.is-style-outline:not(.has-background) {
169
+ .wp-block-button:where(.is-style-outline) > .wp-block-button__link:not(.has-background),
170
+ .wp-block-button .wp-block-button__link:where(.is-style-outline):not(.has-background) {
171
171
  background-color: transparent;
172
172
  background-image: none;
173
173
  }