@wordpress/block-library 9.1.0 → 9.3.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 (387) hide show
  1. package/CHANGELOG.md +21 -17
  2. package/build/audio/edit.js +20 -8
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +0 -1
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +5 -1
  11. package/build/block/index.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/embed/embed-preview.js +4 -4
  15. package/build/embed/embed-preview.js.map +1 -1
  16. package/build/file/edit.js +14 -6
  17. package/build/file/edit.js.map +1 -1
  18. package/build/file/index.js +4 -0
  19. package/build/file/index.js.map +1 -1
  20. package/build/file/transforms.js +2 -3
  21. package/build/file/transforms.js.map +1 -1
  22. package/build/gallery/deprecated.js +6 -54
  23. package/build/gallery/deprecated.js.map +1 -1
  24. package/build/gallery/edit.js +9 -8
  25. package/build/gallery/edit.js.map +1 -1
  26. package/build/gallery/index.js +2 -2
  27. package/build/gallery/index.js.map +1 -1
  28. package/build/gallery/save.js +0 -11
  29. package/build/gallery/save.js.map +1 -1
  30. package/build/gallery/shared.js +0 -27
  31. package/build/gallery/shared.js.map +1 -1
  32. package/build/gallery/transforms.js +29 -80
  33. package/build/gallery/transforms.js.map +1 -1
  34. package/build/group/index.js +1 -0
  35. package/build/group/index.js.map +1 -1
  36. package/build/group/placeholder.js +5 -0
  37. package/build/group/placeholder.js.map +1 -1
  38. package/build/image/edit.js +13 -21
  39. package/build/image/edit.js.map +1 -1
  40. package/build/image/image.js +33 -19
  41. package/build/image/image.js.map +1 -1
  42. package/build/image/index.js +4 -0
  43. package/build/image/index.js.map +1 -1
  44. package/build/image/transforms.js +1 -1
  45. package/build/image/transforms.js.map +1 -1
  46. package/build/list-item/edit.js +1 -1
  47. package/build/list-item/edit.js.map +1 -1
  48. package/build/list-item/hooks/use-merge.js +8 -1
  49. package/build/list-item/hooks/use-merge.js.map +1 -1
  50. package/build/list-item/index.js +11 -1
  51. package/build/list-item/index.js.map +1 -1
  52. package/build/lock-unlock.js +1 -1
  53. package/build/lock-unlock.js.map +1 -1
  54. package/build/loginout/index.js +3 -0
  55. package/build/loginout/index.js.map +1 -1
  56. package/build/media-text/edit.js +3 -2
  57. package/build/media-text/edit.js.map +1 -1
  58. package/build/navigation-submenu/edit.js +1 -1
  59. package/build/navigation-submenu/edit.js.map +1 -1
  60. package/build/page-list/convert-to-links-modal.js +1 -1
  61. package/build/page-list/convert-to-links-modal.js.map +1 -1
  62. package/build/page-list/edit.js +1 -1
  63. package/build/page-list/edit.js.map +1 -1
  64. package/build/post-content/index.js +3 -0
  65. package/build/post-content/index.js.map +1 -1
  66. package/build/post-date/edit.js +3 -1
  67. package/build/post-date/edit.js.map +1 -1
  68. package/build/post-excerpt/index.js +3 -0
  69. package/build/post-excerpt/index.js.map +1 -1
  70. package/build/post-title/index.js +3 -0
  71. package/build/post-title/index.js.map +1 -1
  72. package/build/query/edit/inspector-controls/index.js +3 -2
  73. package/build/query/edit/inspector-controls/index.js.map +1 -1
  74. package/build/query/edit/query-toolbar.js +54 -61
  75. package/build/query/edit/query-toolbar.js.map +1 -1
  76. package/build/query/index.js +34 -0
  77. package/build/query/index.js.map +1 -1
  78. package/build/quote/edit.js +1 -0
  79. package/build/quote/edit.js.map +1 -1
  80. package/build/site-tagline/index.js +1 -0
  81. package/build/site-tagline/index.js.map +1 -1
  82. package/build/site-title/index.js +1 -0
  83. package/build/site-title/index.js.map +1 -1
  84. package/build/social-link/edit.js +9 -3
  85. package/build/social-link/edit.js.map +1 -1
  86. package/build/table/edit.js +8 -17
  87. package/build/table/edit.js.map +1 -1
  88. package/build/table-of-contents/index.js +1 -1
  89. package/build/template-part/edit/title-modal.js +1 -1
  90. package/build/template-part/edit/title-modal.js.map +1 -1
  91. package/build/utils/caption.js +2 -1
  92. package/build/utils/caption.js.map +1 -1
  93. package/build/utils/hooks.js +12 -0
  94. package/build/utils/hooks.js.map +1 -1
  95. package/build/verse/index.js +1 -0
  96. package/build/verse/index.js.map +1 -1
  97. package/build/video/deprecated.js +4 -0
  98. package/build/video/deprecated.js.map +1 -1
  99. package/build/video/edit.js +17 -7
  100. package/build/video/edit.js.map +1 -1
  101. package/build/video/index.js +4 -0
  102. package/build/video/index.js.map +1 -1
  103. package/build/video/transforms.js +1 -1
  104. package/build/video/transforms.js.map +1 -1
  105. package/build-module/audio/edit.js +20 -8
  106. package/build-module/audio/edit.js.map +1 -1
  107. package/build-module/audio/index.js +4 -0
  108. package/build-module/audio/index.js.map +1 -1
  109. package/build-module/audio/transforms.js +1 -1
  110. package/build-module/audio/transforms.js.map +1 -1
  111. package/build-module/block/edit.js +0 -1
  112. package/build-module/block/edit.js.map +1 -1
  113. package/build-module/block/index.js +5 -1
  114. package/build-module/block/index.js.map +1 -1
  115. package/build-module/button/index.js +1 -0
  116. package/build-module/button/index.js.map +1 -1
  117. package/build-module/embed/embed-preview.js +4 -4
  118. package/build-module/embed/embed-preview.js.map +1 -1
  119. package/build-module/file/edit.js +15 -7
  120. package/build-module/file/edit.js.map +1 -1
  121. package/build-module/file/index.js +4 -0
  122. package/build-module/file/index.js.map +1 -1
  123. package/build-module/file/transforms.js +2 -3
  124. package/build-module/file/transforms.js.map +1 -1
  125. package/build-module/gallery/deprecated.js +6 -54
  126. package/build-module/gallery/deprecated.js.map +1 -1
  127. package/build-module/gallery/edit.js +10 -9
  128. package/build-module/gallery/edit.js.map +1 -1
  129. package/build-module/gallery/index.js +1 -1
  130. package/build-module/gallery/index.js.map +1 -1
  131. package/build-module/gallery/save.js +0 -11
  132. package/build-module/gallery/save.js.map +1 -1
  133. package/build-module/gallery/shared.js +0 -25
  134. package/build-module/gallery/shared.js.map +1 -1
  135. package/build-module/gallery/transforms.js +29 -80
  136. package/build-module/gallery/transforms.js.map +1 -1
  137. package/build-module/group/index.js +1 -0
  138. package/build-module/group/index.js.map +1 -1
  139. package/build-module/group/placeholder.js +5 -0
  140. package/build-module/group/placeholder.js.map +1 -1
  141. package/build-module/image/edit.js +12 -20
  142. package/build-module/image/edit.js.map +1 -1
  143. package/build-module/image/image.js +28 -14
  144. package/build-module/image/image.js.map +1 -1
  145. package/build-module/image/index.js +4 -0
  146. package/build-module/image/index.js.map +1 -1
  147. package/build-module/image/transforms.js +1 -1
  148. package/build-module/image/transforms.js.map +1 -1
  149. package/build-module/list-item/edit.js +1 -1
  150. package/build-module/list-item/edit.js.map +1 -1
  151. package/build-module/list-item/hooks/use-merge.js +8 -1
  152. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  153. package/build-module/list-item/index.js +11 -1
  154. package/build-module/list-item/index.js.map +1 -1
  155. package/build-module/lock-unlock.js +1 -1
  156. package/build-module/lock-unlock.js.map +1 -1
  157. package/build-module/loginout/index.js +3 -0
  158. package/build-module/loginout/index.js.map +1 -1
  159. package/build-module/media-text/edit.js +3 -2
  160. package/build-module/media-text/edit.js.map +1 -1
  161. package/build-module/navigation-submenu/edit.js +1 -1
  162. package/build-module/navigation-submenu/edit.js.map +1 -1
  163. package/build-module/page-list/convert-to-links-modal.js +1 -1
  164. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  165. package/build-module/page-list/edit.js +1 -1
  166. package/build-module/page-list/edit.js.map +1 -1
  167. package/build-module/post-content/index.js +3 -0
  168. package/build-module/post-content/index.js.map +1 -1
  169. package/build-module/post-date/edit.js +4 -2
  170. package/build-module/post-date/edit.js.map +1 -1
  171. package/build-module/post-excerpt/index.js +3 -0
  172. package/build-module/post-excerpt/index.js.map +1 -1
  173. package/build-module/post-title/index.js +3 -0
  174. package/build-module/post-title/index.js.map +1 -1
  175. package/build-module/query/edit/inspector-controls/index.js +3 -2
  176. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  177. package/build-module/query/edit/query-toolbar.js +55 -62
  178. package/build-module/query/edit/query-toolbar.js.map +1 -1
  179. package/build-module/query/index.js +34 -0
  180. package/build-module/query/index.js.map +1 -1
  181. package/build-module/quote/edit.js +1 -0
  182. package/build-module/quote/edit.js.map +1 -1
  183. package/build-module/site-tagline/index.js +1 -0
  184. package/build-module/site-tagline/index.js.map +1 -1
  185. package/build-module/site-title/index.js +1 -0
  186. package/build-module/site-title/index.js.map +1 -1
  187. package/build-module/social-link/edit.js +9 -3
  188. package/build-module/social-link/edit.js.map +1 -1
  189. package/build-module/table/edit.js +9 -18
  190. package/build-module/table/edit.js.map +1 -1
  191. package/build-module/table-of-contents/index.js +1 -1
  192. package/build-module/template-part/edit/title-modal.js +1 -1
  193. package/build-module/template-part/edit/title-modal.js.map +1 -1
  194. package/build-module/utils/caption.js +2 -1
  195. package/build-module/utils/caption.js.map +1 -1
  196. package/build-module/utils/hooks.js +11 -0
  197. package/build-module/utils/hooks.js.map +1 -1
  198. package/build-module/verse/index.js +1 -0
  199. package/build-module/verse/index.js.map +1 -1
  200. package/build-module/video/deprecated.js +4 -0
  201. package/build-module/video/deprecated.js.map +1 -1
  202. package/build-module/video/edit.js +18 -8
  203. package/build-module/video/edit.js.map +1 -1
  204. package/build-module/video/index.js +4 -0
  205. package/build-module/video/index.js.map +1 -1
  206. package/build-module/video/transforms.js +1 -1
  207. package/build-module/video/transforms.js.map +1 -1
  208. package/build-style/audio/style-rtl.css +1 -1
  209. package/build-style/audio/style.css +1 -1
  210. package/build-style/audio/theme-rtl.css +2 -2
  211. package/build-style/audio/theme.css +2 -2
  212. package/build-style/common-rtl.css +1 -3
  213. package/build-style/common.css +1 -3
  214. package/build-style/editor-rtl.css +3 -12
  215. package/build-style/editor.css +3 -12
  216. package/build-style/embed/style-rtl.css +1 -1
  217. package/build-style/embed/style.css +1 -1
  218. package/build-style/embed/theme-rtl.css +2 -2
  219. package/build-style/embed/theme.css +2 -2
  220. package/build-style/image/editor-rtl.css +0 -12
  221. package/build-style/image/editor.css +0 -12
  222. package/build-style/image/style-rtl.css +7 -1
  223. package/build-style/image/style.css +7 -1
  224. package/build-style/media-text/style-rtl.css +4 -0
  225. package/build-style/media-text/style.css +4 -0
  226. package/build-style/navigation/style-rtl.css +1 -0
  227. package/build-style/navigation/style.css +1 -0
  228. package/build-style/post-comments-form/style-rtl.css +11 -10
  229. package/build-style/post-comments-form/style.css +11 -10
  230. package/build-style/query/editor-rtl.css +3 -0
  231. package/build-style/query/editor.css +3 -0
  232. package/build-style/reset-rtl.css +1 -5
  233. package/build-style/reset.css +1 -5
  234. package/build-style/search/style-rtl.css +1 -2
  235. package/build-style/search/style.css +1 -2
  236. package/build-style/social-links/style-rtl.css +91 -91
  237. package/build-style/social-links/style.css +91 -91
  238. package/build-style/style-rtl.css +119 -110
  239. package/build-style/style.css +119 -110
  240. package/build-style/table/theme-rtl.css +2 -2
  241. package/build-style/table/theme.css +2 -2
  242. package/build-style/theme-rtl.css +8 -8
  243. package/build-style/theme.css +8 -8
  244. package/build-style/video/style-rtl.css +1 -1
  245. package/build-style/video/style.css +1 -1
  246. package/build-style/video/theme-rtl.css +2 -2
  247. package/build-style/video/theme.css +2 -2
  248. package/package.json +35 -35
  249. package/src/audio/block.json +4 -0
  250. package/src/audio/edit.js +19 -7
  251. package/src/audio/style.scss +1 -1
  252. package/src/audio/theme.scss +1 -1
  253. package/src/audio/transforms.js +1 -1
  254. package/src/block/block.json +5 -1
  255. package/src/block/edit.js +0 -1
  256. package/src/button/block.json +1 -0
  257. package/src/button/index.php +14 -1
  258. package/src/embed/embed-preview.js +4 -6
  259. package/src/embed/style.scss +1 -1
  260. package/src/embed/theme.scss +1 -1
  261. package/src/file/block.json +4 -0
  262. package/src/file/edit.js +19 -6
  263. package/src/file/transforms.js +1 -2
  264. package/src/gallery/deprecated.js +6 -55
  265. package/src/gallery/edit.js +13 -10
  266. package/src/gallery/gallery-styles.native.scss +0 -2
  267. package/src/gallery/index.js +1 -1
  268. package/src/gallery/save.js +0 -10
  269. package/src/gallery/shared.js +0 -28
  270. package/src/gallery/transforms.js +56 -99
  271. package/src/group/block.json +1 -0
  272. package/src/group/placeholder.js +7 -0
  273. package/src/image/block.json +4 -0
  274. package/src/image/edit.js +10 -19
  275. package/src/image/editor.scss +0 -13
  276. package/src/image/image.js +45 -16
  277. package/src/image/index.php +26 -5
  278. package/src/image/style.scss +11 -1
  279. package/src/image/transforms.js +1 -1
  280. package/src/list-item/block.json +11 -1
  281. package/src/list-item/edit.js +1 -1
  282. package/src/list-item/hooks/use-merge.js +19 -5
  283. package/src/lock-unlock.js +1 -1
  284. package/src/loginout/block.json +3 -0
  285. package/src/media-text/edit.js +3 -2
  286. package/src/media-text/index.php +68 -18
  287. package/src/media-text/style.scss +4 -0
  288. package/src/navigation/index.php +5 -3
  289. package/src/navigation/style.scss +1 -0
  290. package/src/navigation-submenu/edit.js +1 -1
  291. package/src/page-list/convert-to-links-modal.js +1 -1
  292. package/src/page-list/edit.js +1 -1
  293. package/src/paragraph/test/__snapshots__/edit.native.js.snap +30 -0
  294. package/src/paragraph/test/edit.native.js +99 -0
  295. package/src/post-comments-form/style.scss +15 -12
  296. package/src/post-content/block.json +3 -0
  297. package/src/post-date/edit.js +5 -1
  298. package/src/post-date/index.php +9 -3
  299. package/src/post-excerpt/block.json +3 -0
  300. package/src/post-title/block.json +3 -0
  301. package/src/query/edit/inspector-controls/index.js +3 -2
  302. package/src/query/edit/query-toolbar.js +60 -72
  303. package/src/query/editor.scss +4 -0
  304. package/src/query/index.js +40 -0
  305. package/src/quote/edit.js +1 -0
  306. package/src/reset.scss +11 -12
  307. package/src/site-tagline/block.json +1 -0
  308. package/src/site-title/block.json +1 -0
  309. package/src/social-link/edit.js +9 -3
  310. package/src/social-links/style.scss +2 -2
  311. package/src/table/edit.js +11 -24
  312. package/src/table/theme.scss +1 -1
  313. package/src/table-of-contents/block.json +1 -1
  314. package/src/template-part/edit/title-modal.js +1 -1
  315. package/src/template-part/index.php +1 -1
  316. package/src/utils/caption.js +5 -1
  317. package/src/utils/hooks.js +14 -1
  318. package/src/verse/block.json +1 -0
  319. package/src/video/block.json +4 -0
  320. package/src/video/edit.js +23 -8
  321. package/src/video/style.scss +1 -1
  322. package/src/video/theme.scss +1 -1
  323. package/src/video/transforms.js +1 -1
  324. package/tsconfig.tsbuildinfo +1 -1
  325. package/build/gallery/edit-wrapper.js +0 -37
  326. package/build/gallery/edit-wrapper.js.map +0 -1
  327. package/build/gallery/v1/constants.js +0 -10
  328. package/build/gallery/v1/constants.js.map +0 -1
  329. package/build/gallery/v1/edit.js +0 -399
  330. package/build/gallery/v1/edit.js.map +0 -1
  331. package/build/gallery/v1/gallery-button.native.js +0 -55
  332. package/build/gallery/v1/gallery-button.native.js.map +0 -1
  333. package/build/gallery/v1/gallery-image.js +0 -285
  334. package/build/gallery/v1/gallery-image.js.map +0 -1
  335. package/build/gallery/v1/gallery-image.native.js +0 -297
  336. package/build/gallery/v1/gallery-image.native.js.map +0 -1
  337. package/build/gallery/v1/gallery.js +0 -112
  338. package/build/gallery/v1/gallery.js.map +0 -1
  339. package/build/gallery/v1/gallery.native.js +0 -139
  340. package/build/gallery/v1/gallery.native.js.map +0 -1
  341. package/build/gallery/v1/save.js +0 -81
  342. package/build/gallery/v1/save.js.map +0 -1
  343. package/build/gallery/v1/shared.js +0 -17
  344. package/build/gallery/v1/shared.js.map +0 -1
  345. package/build/gallery/v1/tiles.native.js +0 -83
  346. package/build/gallery/v1/tiles.native.js.map +0 -1
  347. package/build/utils/constants.js +0 -15
  348. package/build/utils/constants.js.map +0 -1
  349. package/build-module/gallery/edit-wrapper.js +0 -31
  350. package/build-module/gallery/edit-wrapper.js.map +0 -1
  351. package/build-module/gallery/v1/constants.js +0 -4
  352. package/build-module/gallery/v1/constants.js.map +0 -1
  353. package/build-module/gallery/v1/edit.js +0 -393
  354. package/build-module/gallery/v1/edit.js.map +0 -1
  355. package/build-module/gallery/v1/gallery-button.native.js +0 -46
  356. package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
  357. package/build-module/gallery/v1/gallery-image.js +0 -279
  358. package/build-module/gallery/v1/gallery-image.js.map +0 -1
  359. package/build-module/gallery/v1/gallery-image.native.js +0 -291
  360. package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
  361. package/build-module/gallery/v1/gallery.js +0 -104
  362. package/build-module/gallery/v1/gallery.js.map +0 -1
  363. package/build-module/gallery/v1/gallery.native.js +0 -131
  364. package/build-module/gallery/v1/gallery.native.js.map +0 -1
  365. package/build-module/gallery/v1/save.js +0 -74
  366. package/build-module/gallery/v1/save.js.map +0 -1
  367. package/build-module/gallery/v1/shared.js +0 -10
  368. package/build-module/gallery/v1/shared.js.map +0 -1
  369. package/build-module/gallery/v1/tiles.native.js +0 -75
  370. package/build-module/gallery/v1/tiles.native.js.map +0 -1
  371. package/build-module/utils/constants.js +0 -9
  372. package/build-module/utils/constants.js.map +0 -1
  373. package/src/gallery/edit-wrapper.js +0 -27
  374. package/src/gallery/v1/constants.js +0 -3
  375. package/src/gallery/v1/edit.js +0 -450
  376. package/src/gallery/v1/gallery-button.native.js +0 -47
  377. package/src/gallery/v1/gallery-image-style.native.scss +0 -109
  378. package/src/gallery/v1/gallery-image.js +0 -293
  379. package/src/gallery/v1/gallery-image.native.js +0 -348
  380. package/src/gallery/v1/gallery-styles.native.scss +0 -8
  381. package/src/gallery/v1/gallery.js +0 -125
  382. package/src/gallery/v1/gallery.native.js +0 -162
  383. package/src/gallery/v1/save.js +0 -98
  384. package/src/gallery/v1/shared.js +0 -19
  385. package/src/gallery/v1/tiles-styles.native.scss +0 -11
  386. package/src/gallery/v1/tiles.native.js +0 -79
  387. package/src/utils/constants.js +0 -8
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","hasUploadStarted","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst hasUploadStarted = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStarted.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStarted.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOb,SAAS,CACbc,MAAM,IACPA,MAAM,CAAEL,SAAU,CAAC,CAACM,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGf,MAAM,CAAEc,IAAK,CAAC;EACjC,MAAME,gBAAgB,GAAGhB,MAAM,CAAE,KAAM,CAAC;EACxC,MAAM;IAAEiB;EAAY,CAAC,GAAGpB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBiB,UAAU,CAACG,OAAO,GAAGJ,IAAI;EAC1B,CAAE,CAAC;EAEHf,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKiB,gBAAgB,CAACE,OAAO,EAAG;MAC/B;IACD;IAEA,IACC,CAAEH,UAAU,CAACG,OAAO,CAACC,GAAG,IACxB,CAAEjB,SAAS,CAAEa,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGnB,YAAY,CAAEc,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGR,UAAU,CAACG,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACE,OAAO,GAAG,IAAI;IAE/BM,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAKzB,SAAS,CAAEyB,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAhB,aAAa,CAAEgB,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;QACjBX,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC,CAAC;MACDK,OAAO,EAAIK,OAAO,IAAM;QACvBzB,aAAa,CAAEgB,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;QAClBZ,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,WAAW,CAAG,CAAC;AACrB","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","useLayoutEffect","useEffect","useRef","getBlobByURL","isBlobURL","revokeBlobURL","store","blockEditorStore","coreStore","useViewportMatch","useCanEditEntity","kind","name","recordId","select","canUserEditEntityRecord","useUploadMediaFromBlobURL","args","latestArgs","hasUploadStarted","getSettings","current","url","file","allowedTypes","onChange","onError","mediaUpload","filesList","onFileChange","media","message","useToolsPanelDropdownMenuProps","isMobile","popoverProps","placement","offset"],"sources":["@wordpress/block-library/src/utils/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useLayoutEffect, useEffect, useRef } from '@wordpress/element';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Returns whether the current user can edit the given entity.\n *\n * @param {string} kind Entity kind.\n * @param {string} name Entity name.\n * @param {string} recordId Record's id.\n */\nexport function useCanEditEntity( kind, name, recordId ) {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).canUserEditEntityRecord( kind, name, recordId ),\n\t\t[ kind, name, recordId ]\n\t);\n}\n\n/**\n * Handles uploading a media file from a blob URL on mount.\n *\n * @param {Object} args Upload media arguments.\n * @param {string} args.url Blob URL.\n * @param {?Array} args.allowedTypes Array of allowed media types.\n * @param {Function} args.onChange Function called when the media is uploaded.\n * @param {Function} args.onError Function called when an error happens.\n */\nexport function useUploadMediaFromBlobURL( args = {} ) {\n\tconst latestArgs = useRef( args );\n\tconst hasUploadStarted = useRef( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tuseLayoutEffect( () => {\n\t\tlatestArgs.current = args;\n\t} );\n\n\tuseEffect( () => {\n\t\t// Uploading is a special effect that can't be canceled via the cleanup method.\n\t\t// The extra check avoids duplicate uploads in development mode (React.StrictMode).\n\t\tif ( hasUploadStarted.current ) {\n\t\t\treturn;\n\t\t}\n\t\tif (\n\t\t\t! latestArgs.current.url ||\n\t\t\t! isBlobURL( latestArgs.current.url )\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( latestArgs.current.url );\n\t\tif ( ! file ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst { url, allowedTypes, onChange, onError } = latestArgs.current;\n\t\tconst { mediaUpload } = getSettings();\n\n\t\thasUploadStarted.current = true;\n\n\t\tmediaUpload( {\n\t\t\tfilesList: [ file ],\n\t\t\tallowedTypes,\n\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\tif ( isBlobURL( media?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonChange( media );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t\tonError: ( message ) => {\n\t\t\t\trevokeBlobURL( url );\n\t\t\t\tonError( message );\n\t\t\t\thasUploadStarted.current = false;\n\t\t\t},\n\t\t} );\n\t}, [ getSettings ] );\n}\n\nexport function useToolsPanelDropdownMenuProps() {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\treturn ! isMobile\n\t\t? {\n\t\t\t\tpopoverProps: {\n\t\t\t\t\tplacement: 'left-start',\n\t\t\t\t\t// For non-mobile, inner sidebar width (248px) - button width (24px) - border (1px) + padding (16px) + spacing (20px)\n\t\t\t\t\toffset: 259,\n\t\t\t\t},\n\t\t }\n\t\t: {};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,eAAe,EAAEC,SAAS,EAAEC,MAAM,QAAQ,oBAAoB;AACvE,SAASC,YAAY,EAAEC,SAAS,EAAEC,aAAa,QAAQ,iBAAiB;AACxE,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,gBAAgB,QAAQ,oBAAoB;;AAErD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,IAAI,EAAEC,IAAI,EAAEC,QAAQ,EAAG;EACxD,OAAOd,SAAS,CACbe,MAAM,IACPA,MAAM,CAAEN,SAAU,CAAC,CAACO,uBAAuB,CAAEJ,IAAI,EAAEC,IAAI,EAAEC,QAAS,CAAC,EACpE,CAAEF,IAAI,EAAEC,IAAI,EAAEC,QAAQ,CACvB,CAAC;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,yBAAyBA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAG;EACtD,MAAMC,UAAU,GAAGhB,MAAM,CAAEe,IAAK,CAAC;EACjC,MAAME,gBAAgB,GAAGjB,MAAM,CAAE,KAAM,CAAC;EACxC,MAAM;IAAEkB;EAAY,CAAC,GAAGrB,SAAS,CAAEQ,gBAAiB,CAAC;EAErDP,eAAe,CAAE,MAAM;IACtBkB,UAAU,CAACG,OAAO,GAAGJ,IAAI;EAC1B,CAAE,CAAC;EAEHhB,SAAS,CAAE,MAAM;IAChB;IACA;IACA,IAAKkB,gBAAgB,CAACE,OAAO,EAAG;MAC/B;IACD;IACA,IACC,CAAEH,UAAU,CAACG,OAAO,CAACC,GAAG,IACxB,CAAElB,SAAS,CAAEc,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC,EACpC;MACD;IACD;IAEA,MAAMC,IAAI,GAAGpB,YAAY,CAAEe,UAAU,CAACG,OAAO,CAACC,GAAI,CAAC;IACnD,IAAK,CAAEC,IAAI,EAAG;MACb;IACD;IAEA,MAAM;MAAED,GAAG;MAAEE,YAAY;MAAEC,QAAQ;MAAEC;IAAQ,CAAC,GAAGR,UAAU,CAACG,OAAO;IACnE,MAAM;MAAEM;IAAY,CAAC,GAAGP,WAAW,CAAC,CAAC;IAErCD,gBAAgB,CAACE,OAAO,GAAG,IAAI;IAE/BM,WAAW,CAAE;MACZC,SAAS,EAAE,CAAEL,IAAI,CAAE;MACnBC,YAAY;MACZK,YAAY,EAAEA,CAAE,CAAEC,KAAK,CAAE,KAAM;QAC9B,IAAK1B,SAAS,CAAE0B,KAAK,EAAER,GAAI,CAAC,EAAG;UAC9B;QACD;QAEAjB,aAAa,CAAEiB,GAAI,CAAC;QACpBG,QAAQ,CAAEK,KAAM,CAAC;QACjBX,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC,CAAC;MACDK,OAAO,EAAIK,OAAO,IAAM;QACvB1B,aAAa,CAAEiB,GAAI,CAAC;QACpBI,OAAO,CAAEK,OAAQ,CAAC;QAClBZ,gBAAgB,CAACE,OAAO,GAAG,KAAK;MACjC;IACD,CAAE,CAAC;EACJ,CAAC,EAAE,CAAED,WAAW,CAAG,CAAC;AACrB;AAEA,OAAO,SAASY,8BAA8BA,CAAA,EAAG;EAChD,MAAMC,QAAQ,GAAGxB,gBAAgB,CAAE,QAAQ,EAAE,GAAI,CAAC;EAClD,OAAO,CAAEwB,QAAQ,GACd;IACAC,YAAY,EAAE;MACbC,SAAS,EAAE,YAAY;MACvB;MACAC,MAAM,EAAE;IACT;EACA,CAAC,GACD,CAAC,CAAC;AACN","ignoreList":[]}
@@ -63,6 +63,7 @@ const metadata = {
63
63
  __experimentalLetterSpacing: true,
64
64
  __experimentalTextTransform: true,
65
65
  __experimentalTextDecoration: true,
66
+ __experimentalWritingMode: true,
66
67
  __experimentalDefaultControls: {
67
68
  fontSize: true
68
69
  }
@@ -1 +1 @@
1
- {"version":3,"names":["__","verse","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","content","type","source","selector","__unstablePreserveWhiteSpace","__experimentalRole","textAlign","supports","anchor","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","link","text","dimensions","minHeight","typography","fontSize","__experimentalFontFamily","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","spacing","margin","padding","__experimentalBorder","radius","width","style","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/verse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { verse as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work.\n\t\t\tcontent: __(\n\t\t\t\t'WHAT was he doing, the great god Pan,\\n\tDown in the reeds by the river?\\nSpreading ruin and scattering ban,\\nSplashing and paddling with hoofs of a goat,\\nAnd breaking the golden lilies afloat\\n With the dragon-fly on the river.'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + '\\n\\n' + attributesToMerge.content,\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,4BAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAL,IAAA;IAAA;EAAA;EAAAM,QAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAH,6BAAA;QAAAH,UAAA;QAAAO,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAN,6BAAA;QAAAM,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,wBAAA;MAAAC,UAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAf,6BAAA;QAAAQ,QAAA;MAAA;IAAA;IAAAQ,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAlB,6BAAA;QAAAiB,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAApB,KAAA;MAAAqB,KAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAF,KAAA;EAAAG,WAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE9C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM+C,QAAQ,GAAG;EACvBtD,IAAI;EACJuD,OAAO,EAAE;IACR1C,UAAU,EAAE;MACX;MACA;MACAC,OAAO,EAAEhB,EAAE,CACV,yOACD;MACA;IACD;EACD,CAAC;EACDuD,UAAU;EACVnD,UAAU;EACVsD,KAAKA,CAAE3C,UAAU,EAAE4C,iBAAiB,EAAG;IACtC,OAAO;MACN3C,OAAO,EAAED,UAAU,CAACC,OAAO,GAAG,MAAM,GAAG2C,iBAAiB,CAAC3C;IAC1D,CAAC;EACF,CAAC;EACDX,IAAI;EACJiD;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAMzD,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEkD;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","verse","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","content","type","source","selector","__unstablePreserveWhiteSpace","__experimentalRole","textAlign","supports","anchor","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","link","text","dimensions","minHeight","typography","fontSize","__experimentalFontFamily","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","spacing","margin","padding","__experimentalBorder","radius","width","style","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/verse/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { verse as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\t/* eslint-disable @wordpress/i18n-no-collapsible-whitespace */\n\t\t\t// translators: Sample content for the Verse block. Can be replaced with a more locale-adequate work.\n\t\t\tcontent: __(\n\t\t\t\t'WHAT was he doing, the great god Pan,\\n\tDown in the reeds by the river?\\nSpreading ruin and scattering ban,\\nSplashing and paddling with hoofs of a goat,\\nAnd breaking the golden lilies afloat\\n With the dragon-fly on the river.'\n\t\t\t),\n\t\t\t/* eslint-enable @wordpress/i18n-no-collapsible-whitespace */\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent: attributes.content + '\\n\\n' + attributesToMerge.content,\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,4BAAA;MAAAC,kBAAA;IAAA;IAAAC,SAAA;MAAAL,IAAA;IAAA;EAAA;EAAAM,QAAA;IAAAC,MAAA;IAAAC,UAAA;MAAAC,eAAA;MAAAC,cAAA;MAAAC,6BAAA;QAAAF,eAAA;MAAA;IAAA;IAAAG,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAH,6BAAA;QAAAH,UAAA;QAAAO,IAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,SAAA;MAAAN,6BAAA;QAAAM,SAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,wBAAA;MAAAC,UAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,yBAAA;MAAAhB,6BAAA;QAAAQ,QAAA;MAAA;IAAA;IAAAS,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAnB,6BAAA;QAAAkB,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAArB,KAAA;MAAAsB,KAAA;IAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAF,KAAA;EAAAG,WAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE/C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMgD,QAAQ,GAAG;EACvBvD,IAAI;EACJwD,OAAO,EAAE;IACR3C,UAAU,EAAE;MACX;MACA;MACAC,OAAO,EAAEhB,EAAE,CACV,yOACD;MACA;IACD;EACD,CAAC;EACDwD,UAAU;EACVpD,UAAU;EACVuD,KAAKA,CAAE5C,UAAU,EAAE6C,iBAAiB,EAAG;IACtC,OAAO;MACN5C,OAAO,EAAED,UAAU,CAACC,OAAO,GAAG,MAAM,GAAG4C,iBAAiB,CAAC5C;IAC1D,CAAC;EACF,CAAC;EACDX,IAAI;EACJkD;AACD,CAAC;AAED,OAAO,MAAMM,IAAI,GAAGA,CAAA,KAAM1D,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEmD;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -64,6 +64,10 @@ const metadata = {
64
64
  attribute: "preload",
65
65
  "default": "metadata"
66
66
  },
67
+ blob: {
68
+ type: "string",
69
+ __experimentalRole: "local"
70
+ },
67
71
  src: {
68
72
  type: "string",
69
73
  source: "attribute",
@@ -1 +1 @@
1
- {"version":3,"names":["RichText","useBlockProps","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","autoplay","type","source","selector","attribute","caption","__experimentalRole","controls","id","loop","muted","poster","preload","src","playsInline","tracks","items","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","Tracks","jsx","_jsx","jsxs","_jsxs","blockAttributes","v1","save","children","autoPlay","undefined","isEmpty","Content","tagName","value","deprecated"],"sources":["@wordpress/block-library/src/video/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport Tracks from './tracks';\n\nconst { attributes: blockAttributes } = metadata;\n\n// In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname\n// to the video figcaption element.\nconst v1 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tautoplay,\n\t\t\tcaption,\n\t\t\tcontrols,\n\t\t\tloop,\n\t\t\tmuted,\n\t\t\tposter,\n\t\t\tpreload,\n\t\t\tsrc,\n\t\t\tplaysInline,\n\t\t\ttracks,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t{ src && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tloop={ loop }\n\t\t\t\t\t\tmuted={ muted }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tplaysInline={ playsInline }\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) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst deprecated = [ v1 ];\n\nexport default deprecated;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["RichText","useBlockProps","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","autoplay","type","source","selector","attribute","caption","__experimentalRole","controls","id","loop","muted","poster","preload","blob","src","playsInline","tracks","items","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","Tracks","jsx","_jsx","jsxs","_jsxs","blockAttributes","v1","save","children","autoPlay","undefined","isEmpty","Content","tagName","value","deprecated"],"sources":["@wordpress/block-library/src/video/deprecated.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport Tracks from './tracks';\n\nconst { attributes: blockAttributes } = metadata;\n\n// In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname\n// to the video figcaption element.\nconst v1 = {\n\tattributes: blockAttributes,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tautoplay,\n\t\t\tcaption,\n\t\t\tcontrols,\n\t\t\tloop,\n\t\t\tmuted,\n\t\t\tposter,\n\t\t\tpreload,\n\t\t\tsrc,\n\t\t\tplaysInline,\n\t\t\ttracks,\n\t\t} = attributes;\n\t\treturn (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t{ src && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tloop={ loop }\n\t\t\t\t\t\tmuted={ muted }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tplaysInline={ playsInline }\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) }\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t},\n};\n\nconst deprecated = [ v1 ];\n\nexport default deprecated;\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { isBlobURL } from '@wordpress/blob';
10
10
  import { BaseControl, Button, Disabled, PanelBody, Spinner, Placeholder } from '@wordpress/components';
11
11
  import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaUpload, MediaUploadCheck, MediaReplaceFlow, useBlockProps } from '@wordpress/block-editor';
12
- import { useRef, useEffect } from '@wordpress/element';
12
+ import { useRef, useEffect, useState } from '@wordpress/element';
13
13
  import { __, sprintf } from '@wordpress/i18n';
14
14
  import { useInstanceId } from '@wordpress/compose';
15
15
  import { useDispatch } from '@wordpress/data';
@@ -60,9 +60,9 @@ function VideoEdit({
60
60
  src,
61
61
  tracks
62
62
  } = attributes;
63
- const isTemporaryVideo = !id && isBlobURL(src);
63
+ const [temporaryURL, setTemporaryURL] = useState(attributes.blob);
64
64
  useUploadMediaFromBlobURL({
65
- url: src,
65
+ url: temporaryURL,
66
66
  allowedTypes: ALLOWED_MEDIA_TYPES,
67
67
  onChange: onSelectVideo,
68
68
  onError: onUploadError
@@ -82,19 +82,27 @@ function VideoEdit({
82
82
  src: undefined,
83
83
  id: undefined,
84
84
  poster: undefined,
85
- caption: undefined
85
+ caption: undefined,
86
+ blob: undefined
86
87
  });
88
+ setTemporaryURL();
89
+ return;
90
+ }
91
+ if (isBlobURL(media.url)) {
92
+ setTemporaryURL(media.url);
87
93
  return;
88
94
  }
89
95
 
90
96
  // Sets the block's attribute and updates the edit component from the
91
97
  // selected media.
92
98
  setAttributes({
99
+ blob: undefined,
93
100
  src: media.url,
94
101
  id: media.id,
95
102
  poster: media.image?.src !== media.icon ? media.image?.src : undefined,
96
103
  caption: media.caption
97
104
  });
105
+ setTemporaryURL();
98
106
  }
99
107
  function onSelectURL(newSrc) {
100
108
  if (newSrc !== src) {
@@ -109,10 +117,12 @@ function VideoEdit({
109
117
  return;
110
118
  }
111
119
  setAttributes({
120
+ blob: undefined,
112
121
  src: newSrc,
113
122
  id: undefined,
114
123
  poster: undefined
115
124
  });
125
+ setTemporaryURL();
116
126
  }
117
127
  }
118
128
  const {
@@ -124,12 +134,12 @@ function VideoEdit({
124
134
  });
125
135
  }
126
136
  const classes = clsx(className, {
127
- 'is-transient': isTemporaryVideo
137
+ 'is-transient': !!temporaryURL
128
138
  });
129
139
  const blockProps = useBlockProps({
130
140
  className: classes
131
141
  });
132
- if (!src) {
142
+ if (!src && !temporaryURL) {
133
143
  return /*#__PURE__*/_jsx("div", {
134
144
  ...blockProps,
135
145
  children: /*#__PURE__*/_jsx(MediaPlaceholder, {
@@ -227,13 +237,13 @@ function VideoEdit({
227
237
  children: /*#__PURE__*/_jsx("video", {
228
238
  controls: controls,
229
239
  poster: poster,
230
- src: src,
240
+ src: src || temporaryURL,
231
241
  ref: videoPlayer,
232
242
  children: /*#__PURE__*/_jsx(Tracks, {
233
243
  tracks: tracks
234
244
  })
235
245
  })
236
- }), isTemporaryVideo && /*#__PURE__*/_jsx(Spinner, {}), /*#__PURE__*/_jsx(Caption, {
246
+ }), !!temporaryURL && /*#__PURE__*/_jsx(Spinner, {}), /*#__PURE__*/_jsx(Caption, {
237
247
  attributes: attributes,
238
248
  setAttributes: setAttributes,
239
249
  isSelected: isSingleSelected,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","placeholder","content","className","withIllustration","label","instructions","children","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","isTemporaryVideo","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","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 clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { 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} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } 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 { useUploadMediaFromBlobURL } from '../utils/hooks';\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\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\n\tuseUploadMediaFromBlobURL( {\n\t\turl: src,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\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 = clsx( 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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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","useBlockProps","useRef","useEffect","useState","__","sprintf","useInstanceId","useDispatch","video","icon","store","noticesStore","createUpgradedEmbedBlock","useUploadMediaFromBlobURL","VideoCommonSettings","TracksEditor","Tracks","Caption","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","placeholder","content","className","withIllustration","label","instructions","children","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","isSingleSelected","attributes","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","temporaryURL","setTemporaryURL","blob","url","allowedTypes","onChange","onSelectVideo","onError","onUploadError","current","load","media","undefined","caption","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelect","accept","value","onSelectPoster","onRemovePoster","focus","videoPosterDescription","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 clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { 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} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useDispatch } 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 { useUploadMediaFromBlobURL } from '../utils/hooks';\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\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 [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectVideo,\n\t\tonError: onUploadError,\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\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\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\tblob: undefined,\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\tsetTemporaryURL();\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( {\n\t\t\t\tblob: undefined,\n\t\t\t\tsrc: newSrc,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\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 = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src && ! temporaryURL ) {\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 || temporaryURL }\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{ !! temporaryURL && <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":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,WAAW,EACXC,MAAM,EACNC,QAAQ,EACRC,SAAS,EACTC,OAAO,EACPC,WAAW,QACL,uBAAuB;AAC9B,SACCC,aAAa,EACbC,SAAS,EACTC,iBAAiB,EACjBC,gBAAgB,EAChBC,WAAW,EACXC,gBAAgB,EAChBC,gBAAgB,EAChBC,aAAa,QACP,yBAAyB;AAChC,SAASC,MAAM,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AAChE,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,aAAa,QAAQ,oBAAoB;AAClD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;AAChD,SAASC,KAAK,IAAIC,YAAY,QAAQ,oBAAoB;;AAE1D;AACA;AACA;AACA,SAASC,wBAAwB,QAAQ,eAAe;AACxD,SAASC,yBAAyB,QAAQ,gBAAgB;AAC1D,OAAOC,mBAAmB,MAAM,wBAAwB;AACxD,OAAOC,YAAY,MAAM,iBAAiB;AAC1C,OAAOC,MAAM,MAAM,UAAU;AAC7B,SAASC,OAAO,QAAQ,kBAAkB;;AAE1C;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AACA,MAAMC,WAAW,GAAKC,OAAO,IAAM;EAClC,oBACCN,IAAA,CAAC3B,WAAW;IACXkC,SAAS,EAAC,gCAAgC;IAC1CC,gBAAgB;IAChBlB,IAAI,EAAGA,IAAM;IACbmB,KAAK,EAAGxB,EAAE,CAAE,OAAQ,CAAG;IACvByB,YAAY,EAAGzB,EAAE,CAChB,+EACD,CAAG;IAAA0B,QAAA,EAEDL;EAAO,CACG,CAAC;AAEhB,CAAC;AAED,MAAMM,mBAAmB,GAAG,CAAE,OAAO,CAAE;AACvC,MAAMC,gCAAgC,GAAG,CAAE,OAAO,CAAE;AAEpD,SAASC,SAASA,CAAE;EACnBC,UAAU,EAAEC,gBAAgB;EAC5BC,UAAU;EACVV,SAAS;EACTW,aAAa;EACbC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,UAAU,GAAGlC,aAAa,CAAE2B,SAAU,CAAC;EAC7C,MAAMQ,WAAW,GAAGxC,MAAM,CAAC,CAAC;EAC5B,MAAMyC,iBAAiB,GAAGzC,MAAM,CAAC,CAAC;EAClC,MAAM;IAAE0C,EAAE;IAAEC,QAAQ;IAAEC,MAAM;IAAEC,GAAG;IAAEC;EAAO,CAAC,GAAGX,UAAU;EACxD,MAAM,CAAEY,YAAY,EAAEC,eAAe,CAAE,GAAG9C,QAAQ,CAAEiC,UAAU,CAACc,IAAK,CAAC;EAErErC,yBAAyB,CAAE;IAC1BsC,GAAG,EAAEH,YAAY;IACjBI,YAAY,EAAErB,mBAAmB;IACjCsB,QAAQ,EAAEC,aAAa;IACvBC,OAAO,EAAEC;EACV,CAAE,CAAC;EAEHtD,SAAS,CAAE,MAAM;IAChB;IACA,IAAKuC,WAAW,CAACgB,OAAO,EAAG;MAC1BhB,WAAW,CAACgB,OAAO,CAACC,IAAI,CAAC,CAAC;IAC3B;EACD,CAAC,EAAE,CAAEb,MAAM,CAAG,CAAC;EAEf,SAASS,aAAaA,CAAEK,KAAK,EAAG;IAC/B,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACR,GAAG,EAAG;MAC7B;MACA;MACA;MACAd,aAAa,CAAE;QACdS,GAAG,EAAEc,SAAS;QACdjB,EAAE,EAAEiB,SAAS;QACbf,MAAM,EAAEe,SAAS;QACjBC,OAAO,EAAED,SAAS;QAClBV,IAAI,EAAEU;MACP,CAAE,CAAC;MACHX,eAAe,CAAC,CAAC;MACjB;IACD;IAEA,IAAK/D,SAAS,CAAEyE,KAAK,CAACR,GAAI,CAAC,EAAG;MAC7BF,eAAe,CAAEU,KAAK,CAACR,GAAI,CAAC;MAC5B;IACD;;IAEA;IACA;IACAd,aAAa,CAAE;MACda,IAAI,EAAEU,SAAS;MACfd,GAAG,EAAEa,KAAK,CAACR,GAAG;MACdR,EAAE,EAAEgB,KAAK,CAAChB,EAAE;MACZE,MAAM,EACLc,KAAK,CAACG,KAAK,EAAEhB,GAAG,KAAKa,KAAK,CAAClD,IAAI,GAAGkD,KAAK,CAACG,KAAK,EAAEhB,GAAG,GAAGc,SAAS;MAC/DC,OAAO,EAAEF,KAAK,CAACE;IAChB,CAAE,CAAC;IACHZ,eAAe,CAAC,CAAC;EAClB;EAEA,SAASc,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKlB,GAAG,EAAG;MACrB;MACA,MAAMmB,UAAU,GAAGrD,wBAAwB,CAAE;QAC5CwB,UAAU,EAAE;UAAEe,GAAG,EAAEa;QAAO;MAC3B,CAAE,CAAC;MACH,IAAKJ,SAAS,KAAKK,UAAU,IAAI1B,SAAS,EAAG;QAC5CA,SAAS,CAAE0B,UAAW,CAAC;QACvB;MACD;MACA5B,aAAa,CAAE;QACda,IAAI,EAAEU,SAAS;QACfd,GAAG,EAAEkB,MAAM;QACXrB,EAAE,EAAEiB,SAAS;QACbf,MAAM,EAAEe;MACT,CAAE,CAAC;MACHX,eAAe,CAAC,CAAC;IAClB;EACD;EAEA,MAAM;IAAEiB;EAAkB,CAAC,GAAG3D,WAAW,CAAEI,YAAa,CAAC;EACzD,SAAS6C,aAAaA,CAAEW,OAAO,EAAG;IACjCD,iBAAiB,CAAEC,OAAO,EAAE;MAAEC,IAAI,EAAE;IAAW,CAAE,CAAC;EACnD;EAEA,MAAMC,OAAO,GAAGpF,IAAI,CAAEyC,SAAS,EAAE;IAChC,cAAc,EAAE,CAAC,CAAEsB;EACpB,CAAE,CAAC;EAEH,MAAMsB,UAAU,GAAGtE,aAAa,CAAE;IACjC0B,SAAS,EAAE2C;EACZ,CAAE,CAAC;EAEH,IAAK,CAAEvB,GAAG,IAAI,CAAEE,YAAY,EAAG;IAC9B,oBACC7B,IAAA;MAAA,GAAUmD,UAAU;MAAAxC,QAAA,eACnBX,IAAA,CAACvB,gBAAgB;QAChBa,IAAI,eAAGU,IAAA,CAACzB,SAAS;UAACe,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpC8D,QAAQ,EAAGjB,aAAe;QAC1BS,WAAW,EAAGA,WAAa;QAC3BS,MAAM,EAAC,SAAS;QAChBpB,YAAY,EAAGrB,mBAAqB;QACpC0C,KAAK,EAAGrC,UAAY;QACpBmB,OAAO,EAAGC,aAAe;QACzBhC,WAAW,EAAGA;MAAa,CAC3B;IAAC,CACE,CAAC;EAER;EAEA,SAASkD,cAAcA,CAAEZ,KAAK,EAAG;IAChCzB,aAAa,CAAE;MAAEQ,MAAM,EAAEiB,KAAK,CAACX;IAAI,CAAE,CAAC;EACvC;EAEA,SAASwB,cAAcA,CAAA,EAAG;IACzBtC,aAAa,CAAE;MAAEQ,MAAM,EAAEe;IAAU,CAAE,CAAC;;IAEtC;IACAlB,iBAAiB,CAACe,OAAO,CAACmB,KAAK,CAAC,CAAC;EAClC;EAEA,MAAMC,sBAAsB,GAAI,yCAAyCrC,UAAY,EAAC;EAEtF,oBACCjB,KAAA,CAAAF,SAAA;IAAAS,QAAA,GACGK,gBAAgB,iBACjBZ,KAAA,CAAAF,SAAA;MAAAS,QAAA,gBACCX,IAAA,CAAC1B,aAAa;QAAAqC,QAAA,eACbX,IAAA,CAACJ,YAAY;UACZgC,MAAM,EAAGA,MAAQ;UACjBM,QAAQ,EAAKyB,SAAS,IAAM;YAC3BzC,aAAa,CAAE;cAAEU,MAAM,EAAE+B;YAAU,CAAE,CAAC;UACvC;QAAG,CACH;MAAC,CACY,CAAC,eAChB3D,IAAA,CAAC1B,aAAa;QAACsF,KAAK,EAAC,OAAO;QAAAjD,QAAA,eAC3BX,IAAA,CAACpB,gBAAgB;UAChBiF,OAAO,EAAGrC,EAAI;UACdsC,QAAQ,EAAGnC,GAAK;UAChBM,YAAY,EAAGrB,mBAAqB;UACpCyC,MAAM,EAAC,SAAS;UAChBD,QAAQ,EAAGjB,aAAe;UAC1BS,WAAW,EAAGA,WAAa;UAC3BR,OAAO,EAAGC;QAAe,CACzB;MAAC,CACY,CAAC;IAAA,CACf,CACF,eACDrC,IAAA,CAACxB,iBAAiB;MAAAmC,QAAA,eACjBP,KAAA,CAACjC,SAAS;QAAC4F,KAAK,EAAG9E,EAAE,CAAE,UAAW,CAAG;QAAA0B,QAAA,gBACpCX,IAAA,CAACL,mBAAmB;UACnBuB,aAAa,EAAGA,aAAe;UAC/BD,UAAU,EAAGA;QAAY,CACzB,CAAC,eACFjB,IAAA,CAACrB,gBAAgB;UAAAgC,QAAA,eAChBP,KAAA,CAACpC,WAAW;YAACuC,SAAS,EAAC,6BAA6B;YAAAI,QAAA,gBACnDX,IAAA,CAAChC,WAAW,CAACgG,WAAW;cAAArD,QAAA,EACrB1B,EAAE,CAAE,cAAe;YAAC,CACE,CAAC,eAC1Be,IAAA,CAACtB,WAAW;cACXqF,KAAK,EAAG9E,EAAE,CAAE,qBAAsB,CAAG;cACrCmE,QAAQ,EAAGG,cAAgB;cAC3BtB,YAAY,EACXpB,gCACA;cACDoD,MAAM,EAAGA,CAAE;gBAAEC;cAAK,CAAC,kBAClBlE,IAAA,CAAC/B,MAAM;gBACNkG,OAAO,EAAC,SAAS;gBACjBC,OAAO,EAAGF,IAAM;gBAChBG,GAAG,EAAG9C,iBAAmB;gBACzB,oBACCmC,sBACA;gBAAA/C,QAAA,EAEC,CAAEe,MAAM,GACPzC,EAAE,CAAE,QAAS,CAAC,GACdA,EAAE,CAAE,SAAU;cAAC,CACX;YACN,CACH,CAAC,eACFe,IAAA;cAAGwB,EAAE,EAAGkC,sBAAwB;cAACY,MAAM;cAAA3D,QAAA,EACpCe,MAAM,GACLxC,OAAO,EACP;cACAD,EAAE,CACD,oCACD,CAAC,EACDyC,MACA,CAAC,GACDzC,EAAE,CACF,6CACA;YAAC,CACF,CAAC,EACF,CAAC,CAAEyC,MAAM,iBACV1B,IAAA,CAAC/B,MAAM;cACNmG,OAAO,EAAGZ,cAAgB;cAC1BW,OAAO,EAAC,UAAU;cAAAxD,QAAA,EAEhB1B,EAAE,CAAE,QAAS;YAAC,CACT,CACR;UAAA,CACW;QAAC,CACG,CAAC;MAAA,CACT;IAAC,CACM,CAAC,eACpBmB,KAAA;MAAA,GAAa+C,UAAU;MAAAxC,QAAA,gBAMtBX,IAAA,CAAC9B,QAAQ;QAACqG,UAAU,EAAG,CAAEvD,gBAAkB;QAAAL,QAAA,eAC1CX,IAAA;UACCyB,QAAQ,EAAGA,QAAU;UACrBC,MAAM,EAAGA,MAAQ;UACjBC,GAAG,EAAGA,GAAG,IAAIE,YAAc;UAC3BwC,GAAG,EAAG/C,WAAa;UAAAX,QAAA,eAEnBX,IAAA,CAACH,MAAM;YAAC+B,MAAM,EAAGA;UAAQ,CAAE;QAAC,CACtB;MAAC,CACC,CAAC,EACT,CAAC,CAAEC,YAAY,iBAAI7B,IAAA,CAAC5B,OAAO,IAAE,CAAC,eAChC4B,IAAA,CAACF,OAAO;QACPmB,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BH,UAAU,EAAGC,gBAAkB;QAC/BG,iBAAiB,EAAGA,iBAAmB;QACvCV,KAAK,EAAGxB,EAAE,CAAE,oBAAqB,CAAG;QACpCuF,iBAAiB,EAAGxD;MAAkB,CACtC,CAAC;IAAA,CACK,CAAC;EAAA,CACR,CAAC;AAEL;AAEA,eAAeF,SAAS","ignoreList":[]}
@@ -68,6 +68,10 @@ const metadata = {
68
68
  attribute: "preload",
69
69
  "default": "metadata"
70
70
  },
71
+ blob: {
72
+ type: "string",
73
+ __experimentalRole: "local"
74
+ },
71
75
  src: {
72
76
  type: "string",
73
77
  source: "attribute",
@@ -1 +1 @@
1
- {"version":3,"names":["__","video","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","autoplay","type","source","selector","attribute","caption","__experimentalRole","controls","id","loop","muted","poster","preload","src","playsInline","tracks","items","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","init"],"sources":["@wordpress/block-library/src/video/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm',\n\t\t\t// translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block.\n\t\t\tcaption: __( 'Wood thrush singing in Central Park, NYC.' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAJ,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAG,kBAAA;IAAA;IAAAC,QAAA;MAAAN,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;IAAA;IAAAI,EAAA;MAAAP,IAAA;MAAAK,kBAAA;IAAA;IAAAG,IAAA;MAAAR,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAM,KAAA;MAAAT,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAO,MAAA;MAAAV,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAQ,OAAA;MAAAX,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;IAAA;IAAAS,GAAA;MAAAZ,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAE,kBAAA;IAAA;IAAAQ,WAAA;MAAAb,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAW,MAAA;MAAAT,kBAAA;MAAAL,IAAA;MAAAe,KAAA;QAAAf,IAAA;MAAA;MAAA;IAAA;EAAA;EAAAgB,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAEpC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMqC,QAAQ,GAAG;EACvB5C,IAAI;EACJ6C,OAAO,EAAE;IACRhC,UAAU,EAAE;MACXc,GAAG,EAAE,+GAA+G;MACpH;MACAR,OAAO,EAAErB,EAAE,CAAE,2CAA4C;IAC1D;EACD,CAAC;EACD6C,UAAU;EACVzC,UAAU;EACVC,IAAI;EACJuC;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM7C,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEwC;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","video","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","autoplay","type","source","selector","attribute","caption","__experimentalRole","controls","id","loop","muted","poster","preload","blob","src","playsInline","tracks","items","supports","anchor","align","spacing","margin","padding","__experimentalDefaultControls","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","init"],"sources":["@wordpress/block-library/src/video/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { video as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsrc: 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Wood_thrush_in_Central_Park_switch_sides_%2816510%29.webm',\n\t\t\t// translators: Caption accompanying a video of the wood thrush singing, which serves as an example for the Video block.\n\t\t\tcaption: __( 'Wood thrush singing in Central Park, NYC.' ),\n\t\t},\n\t},\n\ttransforms,\n\tdeprecated,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,KAAK,IAAIC,IAAI,QAAQ,kBAAkB;;AAEhD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAC,OAAA;MAAAJ,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAG,kBAAA;IAAA;IAAAC,QAAA;MAAAN,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;IAAA;IAAAI,EAAA;MAAAP,IAAA;MAAAK,kBAAA;IAAA;IAAAG,IAAA;MAAAR,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAM,KAAA;MAAAT,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAO,MAAA;MAAAV,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAQ,OAAA;MAAAX,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;IAAA;IAAAS,IAAA;MAAAZ,IAAA;MAAAK,kBAAA;IAAA;IAAAQ,GAAA;MAAAb,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAE,kBAAA;IAAA;IAAAS,WAAA;MAAAd,IAAA;MAAAC,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAY,MAAA;MAAAV,kBAAA;MAAAL,IAAA;MAAAgB,KAAA;QAAAhB,IAAA;MAAA;MAAA;IAAA;EAAA;EAAAiB,QAAA;IAAAC,MAAA;IAAAC,KAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAE1B,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAErC;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMsC,QAAQ,GAAG;EACvB7C,IAAI;EACJ8C,OAAO,EAAE;IACRjC,UAAU,EAAE;MACXe,GAAG,EAAE,+GAA+G;MACpH;MACAT,OAAO,EAAErB,EAAE,CAAE,2CAA4C;IAC1D;EACD,CAAC;EACD8C,UAAU;EACV1C,UAAU;EACVC,IAAI;EACJwC;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEM,IAAI;EAAEH,QAAQ;EAAEyC;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -15,7 +15,7 @@ const transforms = {
15
15
  // It's already done as part of the `componentDidMount`
16
16
  // in the video block
17
17
  const block = createBlock('core/video', {
18
- src: createBlobURL(file)
18
+ blob: createBlobURL(file)
19
19
  });
20
20
  return block;
21
21
  }
@@ -1 +1 @@
1
- {"version":3,"names":["createBlobURL","createBlock","transforms","from","type","isMatch","files","length","indexOf","transform","file","block","src","tag","attributes","shortcode","named","mp4","m4v","webm","ogv","flv","poster","loop","autoplay","preload","node","nodeName","children","firstChild","videoElement","hasAttribute","undefined","controls","muted","getAttribute","playsInline"],"sources":["@wordpress/block-library/src/video/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length === 1 &&\n\t\t\t\t\tfiles[ 0 ].type.indexOf( 'video/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst file = files[ 0 ];\n\t\t\t\t// We don't need to upload the media directly here\n\t\t\t\t// It's already done as part of the `componentDidMount`\n\t\t\t\t// in the video block\n\t\t\t\tconst block = createBlock( 'core/video', {\n\t\t\t\t\tsrc: createBlobURL( file ),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'video',\n\t\t\tattributes: {\n\t\t\t\tsrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( {\n\t\t\t\t\t\tnamed: { src, mp4, m4v, webm, ogv, flv },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\treturn src || mp4 || m4v || webm || ogv || flv;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tposter: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { poster } } ) => {\n\t\t\t\t\t\treturn poster;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloop: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { loop } } ) => {\n\t\t\t\t\t\treturn loop;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tautoplay: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { autoplay } } ) => {\n\t\t\t\t\t\treturn autoplay;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpreload: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { preload } } ) => {\n\t\t\t\t\t\treturn preload;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'P' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'VIDEO',\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst videoElement = node.firstChild;\n\t\t\t\tconst attributes = {\n\t\t\t\t\tautoplay: videoElement.hasAttribute( 'autoplay' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tcontrols: videoElement.hasAttribute( 'controls' )\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: false,\n\t\t\t\t\tloop: videoElement.hasAttribute( 'loop' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tmuted: videoElement.hasAttribute( 'muted' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tpreload:\n\t\t\t\t\t\tvideoElement.getAttribute( 'preload' ) || undefined,\n\t\t\t\t\tplaysInline: videoElement.hasAttribute( 'playsinline' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tposter: videoElement.getAttribute( 'poster' ) || undefined,\n\t\t\t\t\tsrc: videoElement.getAttribute( 'src' ) || undefined,\n\t\t\t\t};\n\t\t\t\treturn createBlock( 'core/video', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,WAAW,QAAQ,mBAAmB;AAE/C,MAAMC,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,OAAOA,CAAEC,KAAK,EAAG;MAChB,OACCA,KAAK,CAACC,MAAM,KAAK,CAAC,IAClBD,KAAK,CAAE,CAAC,CAAE,CAACF,IAAI,CAACI,OAAO,CAAE,QAAS,CAAC,KAAK,CAAC;IAE3C,CAAC;IACDC,SAASA,CAAEH,KAAK,EAAG;MAClB,MAAMI,IAAI,GAAGJ,KAAK,CAAE,CAAC,CAAE;MACvB;MACA;MACA;MACA,MAAMK,KAAK,GAAGV,WAAW,CAAE,YAAY,EAAE;QACxCW,GAAG,EAAEZ,aAAa,CAAEU,IAAK;MAC1B,CAAE,CAAC;MACH,OAAOC,KAAK;IACb;EACD,CAAC,EACD;IACCP,IAAI,EAAE,WAAW;IACjBS,GAAG,EAAE,OAAO;IACZC,UAAU,EAAE;MACXF,GAAG,EAAE;QACJR,IAAI,EAAE,QAAQ;QACdW,SAAS,EAAEA,CAAE;UACZC,KAAK,EAAE;YAAEJ,GAAG;YAAEK,GAAG;YAAEC,GAAG;YAAEC,IAAI;YAAEC,GAAG;YAAEC;UAAI;QACxC,CAAC,KAAM;UACN,OAAOT,GAAG,IAAIK,GAAG,IAAIC,GAAG,IAAIC,IAAI,IAAIC,GAAG,IAAIC,GAAG;QAC/C;MACD,CAAC;MACDC,MAAM,EAAE;QACPlB,IAAI,EAAE,QAAQ;QACdW,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEM;UAAO;QAAE,CAAC,KAAM;UACvC,OAAOA,MAAM;QACd;MACD,CAAC;MACDC,IAAI,EAAE;QACLnB,IAAI,EAAE,QAAQ;QACdW,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEO;UAAK;QAAE,CAAC,KAAM;UACrC,OAAOA,IAAI;QACZ;MACD,CAAC;MACDC,QAAQ,EAAE;QACTpB,IAAI,EAAE,QAAQ;QACdW,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAEQ;UAAS;QAAE,CAAC,KAAM;UACzC,OAAOA,QAAQ;QAChB;MACD,CAAC;MACDC,OAAO,EAAE;QACRrB,IAAI,EAAE,QAAQ;QACdW,SAAS,EAAEA,CAAE;UAAEC,KAAK,EAAE;YAAES;UAAQ;QAAE,CAAC,KAAM;UACxC,OAAOA,OAAO;QACf;MACD;IACD;EACD,CAAC,EACD;IACCrB,IAAI,EAAE,KAAK;IACXC,OAAO,EAAIqB,IAAI,IACdA,IAAI,CAACC,QAAQ,KAAK,GAAG,IACrBD,IAAI,CAACE,QAAQ,CAACrB,MAAM,KAAK,CAAC,IAC1BmB,IAAI,CAACG,UAAU,CAACF,QAAQ,KAAK,OAAO;IACrClB,SAAS,EAAIiB,IAAI,IAAM;MACtB,MAAMI,YAAY,GAAGJ,IAAI,CAACG,UAAU;MACpC,MAAMf,UAAU,GAAG;QAClBU,QAAQ,EAAEM,YAAY,CAACC,YAAY,CAAE,UAAW,CAAC,GAC9C,IAAI,GACJC,SAAS;QACZC,QAAQ,EAAEH,YAAY,CAACC,YAAY,CAAE,UAAW,CAAC,GAC9CC,SAAS,GACT,KAAK;QACRT,IAAI,EAAEO,YAAY,CAACC,YAAY,CAAE,MAAO,CAAC,GACtC,IAAI,GACJC,SAAS;QACZE,KAAK,EAAEJ,YAAY,CAACC,YAAY,CAAE,OAAQ,CAAC,GACxC,IAAI,GACJC,SAAS;QACZP,OAAO,EACNK,YAAY,CAACK,YAAY,CAAE,SAAU,CAAC,IAAIH,SAAS;QACpDI,WAAW,EAAEN,YAAY,CAACC,YAAY,CAAE,aAAc,CAAC,GACpD,IAAI,GACJC,SAAS;QACZV,MAAM,EAAEQ,YAAY,CAACK,YAAY,CAAE,QAAS,CAAC,IAAIH,SAAS;QAC1DpB,GAAG,EAAEkB,YAAY,CAACK,YAAY,CAAE,KAAM,CAAC,IAAIH;MAC5C,CAAC;MACD,OAAO/B,WAAW,CAAE,YAAY,EAAEa,UAAW,CAAC;IAC/C;EACD,CAAC;AAEH,CAAC;AAED,eAAeZ,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["createBlobURL","createBlock","transforms","from","type","isMatch","files","length","indexOf","transform","file","block","blob","tag","attributes","src","shortcode","named","mp4","m4v","webm","ogv","flv","poster","loop","autoplay","preload","node","nodeName","children","firstChild","videoElement","hasAttribute","undefined","controls","muted","getAttribute","playsInline"],"sources":["@wordpress/block-library/src/video/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlobURL } from '@wordpress/blob';\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'files',\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length === 1 &&\n\t\t\t\t\tfiles[ 0 ].type.indexOf( 'video/' ) === 0\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tconst file = files[ 0 ];\n\t\t\t\t// We don't need to upload the media directly here\n\t\t\t\t// It's already done as part of the `componentDidMount`\n\t\t\t\t// in the video block\n\t\t\t\tconst block = createBlock( 'core/video', {\n\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'video',\n\t\t\tattributes: {\n\t\t\t\tsrc: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( {\n\t\t\t\t\t\tnamed: { src, mp4, m4v, webm, ogv, flv },\n\t\t\t\t\t} ) => {\n\t\t\t\t\t\treturn src || mp4 || m4v || webm || ogv || flv;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tposter: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { poster } } ) => {\n\t\t\t\t\t\treturn poster;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tloop: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { loop } } ) => {\n\t\t\t\t\t\treturn loop;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tautoplay: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { autoplay } } ) => {\n\t\t\t\t\t\treturn autoplay;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tpreload: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { preload } } ) => {\n\t\t\t\t\t\treturn preload;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'P' &&\n\t\t\t\tnode.children.length === 1 &&\n\t\t\t\tnode.firstChild.nodeName === 'VIDEO',\n\t\t\ttransform: ( node ) => {\n\t\t\t\tconst videoElement = node.firstChild;\n\t\t\t\tconst attributes = {\n\t\t\t\t\tautoplay: videoElement.hasAttribute( 'autoplay' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tcontrols: videoElement.hasAttribute( 'controls' )\n\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t: false,\n\t\t\t\t\tloop: videoElement.hasAttribute( 'loop' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tmuted: videoElement.hasAttribute( 'muted' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tpreload:\n\t\t\t\t\t\tvideoElement.getAttribute( 'preload' ) || undefined,\n\t\t\t\t\tplaysInline: videoElement.hasAttribute( 'playsinline' )\n\t\t\t\t\t\t? true\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tposter: videoElement.getAttribute( 'poster' ) || undefined,\n\t\t\t\t\tsrc: videoElement.getAttribute( 'src' ) || undefined,\n\t\t\t\t};\n\t\t\t\treturn createBlock( 'core/video', attributes );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":"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","ignoreList":[]}
@@ -89,7 +89,7 @@
89
89
  .wp-block-audio {
90
90
  box-sizing: border-box;
91
91
  }
92
- .wp-block-audio figcaption {
92
+ .wp-block-audio :where(figcaption) {
93
93
  margin-top: 0.5em;
94
94
  margin-bottom: 1em;
95
95
  }
@@ -89,7 +89,7 @@
89
89
  .wp-block-audio {
90
90
  box-sizing: border-box;
91
91
  }
92
- .wp-block-audio figcaption {
92
+ .wp-block-audio :where(figcaption) {
93
93
  margin-top: 0.5em;
94
94
  margin-bottom: 1em;
95
95
  }
@@ -86,12 +86,12 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
- .wp-block-audio figcaption {
89
+ .wp-block-audio :where(figcaption) {
90
90
  color: #555;
91
91
  font-size: 13px;
92
92
  text-align: center;
93
93
  }
94
- .is-dark-theme .wp-block-audio figcaption {
94
+ .is-dark-theme .wp-block-audio :where(figcaption) {
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
@@ -86,12 +86,12 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
- .wp-block-audio figcaption {
89
+ .wp-block-audio :where(figcaption) {
90
90
  color: #555;
91
91
  font-size: 13px;
92
92
  text-align: center;
93
93
  }
94
- .is-dark-theme .wp-block-audio figcaption {
94
+ .is-dark-theme .wp-block-audio :where(figcaption) {
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
@@ -206,7 +206,6 @@
206
206
  .screen-reader-text {
207
207
  border: 0;
208
208
  clip: rect(1px, 1px, 1px, 1px);
209
- -webkit-clip-path: inset(50%);
210
209
  clip-path: inset(50%);
211
210
  height: 1px;
212
211
  margin: -1px;
@@ -220,8 +219,7 @@
220
219
  .screen-reader-text:focus {
221
220
  background-color: #ddd;
222
221
  clip: auto !important;
223
- -webkit-clip-path: none;
224
- clip-path: none;
222
+ clip-path: none;
225
223
  color: #444;
226
224
  display: block;
227
225
  font-size: 1em;
@@ -208,7 +208,6 @@
208
208
  .screen-reader-text {
209
209
  border: 0;
210
210
  clip: rect(1px, 1px, 1px, 1px);
211
- -webkit-clip-path: inset(50%);
212
211
  clip-path: inset(50%);
213
212
  height: 1px;
214
213
  margin: -1px;
@@ -222,8 +221,7 @@
222
221
  .screen-reader-text:focus {
223
222
  background-color: #ddd;
224
223
  clip: auto !important;
225
- -webkit-clip-path: none;
226
- clip-path: none;
224
+ clip-path: none;
227
225
  color: #444;
228
226
  display: block;
229
227
  font-size: 1em;
@@ -1359,18 +1359,6 @@ figure.wp-block-image:not(.wp-block) {
1359
1359
  overflow: visible !important;
1360
1360
  }
1361
1361
 
1362
- .wp-block-image__aspect-ratio {
1363
- height: 46px;
1364
- margin-bottom: -8px;
1365
- display: flex;
1366
- align-items: center;
1367
- }
1368
- .wp-block-image__aspect-ratio .components-button {
1369
- width: 36px;
1370
- padding-right: 0;
1371
- padding-left: 0;
1372
- }
1373
-
1374
1362
  .wp-block-image__toolbar_content_textarea {
1375
1363
  width: 250px;
1376
1364
  }
@@ -2769,6 +2757,9 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2769
2757
  .block-library-query-toolbar__popover .components-popover__content {
2770
2758
  min-width: 230px;
2771
2759
  }
2760
+ .block-library-query-toolbar__popover .components-popover__content .block-library-query-toolbar__popover-number-control {
2761
+ margin-bottom: 8px;
2762
+ }
2772
2763
 
2773
2764
  .wp-block-query__create-new-link {
2774
2765
  padding: 0 52px 16px 16px;
@@ -1368,18 +1368,6 @@ figure.wp-block-image:not(.wp-block) {
1368
1368
  overflow: visible !important;
1369
1369
  }
1370
1370
 
1371
- .wp-block-image__aspect-ratio {
1372
- height: 46px;
1373
- margin-bottom: -8px;
1374
- display: flex;
1375
- align-items: center;
1376
- }
1377
- .wp-block-image__aspect-ratio .components-button {
1378
- width: 36px;
1379
- padding-left: 0;
1380
- padding-right: 0;
1381
- }
1382
-
1383
1371
  .wp-block-image__toolbar_content_textarea {
1384
1372
  width: 250px;
1385
1373
  }
@@ -2778,6 +2766,9 @@ body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-op
2778
2766
  .block-library-query-toolbar__popover .components-popover__content {
2779
2767
  min-width: 230px;
2780
2768
  }
2769
+ .block-library-query-toolbar__popover .components-popover__content .block-library-query-toolbar__popover-number-control {
2770
+ margin-bottom: 8px;
2771
+ }
2781
2772
 
2782
2773
  .wp-block-query__create-new-link {
2783
2774
  padding: 0 16px 16px 52px;
@@ -108,7 +108,7 @@
108
108
  .wp-block-embed {
109
109
  overflow-wrap: break-word;
110
110
  }
111
- .wp-block-embed figcaption {
111
+ .wp-block-embed :where(figcaption) {
112
112
  margin-top: 0.5em;
113
113
  margin-bottom: 1em;
114
114
  }
@@ -108,7 +108,7 @@
108
108
  .wp-block-embed {
109
109
  overflow-wrap: break-word;
110
110
  }
111
- .wp-block-embed figcaption {
111
+ .wp-block-embed :where(figcaption) {
112
112
  margin-top: 0.5em;
113
113
  margin-bottom: 1em;
114
114
  }
@@ -86,12 +86,12 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
- .wp-block-embed figcaption {
89
+ .wp-block-embed :where(figcaption) {
90
90
  color: #555;
91
91
  font-size: 13px;
92
92
  text-align: center;
93
93
  }
94
- .is-dark-theme .wp-block-embed figcaption {
94
+ .is-dark-theme .wp-block-embed :where(figcaption) {
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
@@ -86,12 +86,12 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
- .wp-block-embed figcaption {
89
+ .wp-block-embed :where(figcaption) {
90
90
  color: #555;
91
91
  font-size: 13px;
92
92
  text-align: center;
93
93
  }
94
- .is-dark-theme .wp-block-embed figcaption {
94
+ .is-dark-theme .wp-block-embed :where(figcaption) {
95
95
  color: rgba(255, 255, 255, 0.65);
96
96
  }
97
97
 
@@ -224,18 +224,6 @@ figure.wp-block-image:not(.wp-block) {
224
224
  overflow: visible !important;
225
225
  }
226
226
 
227
- .wp-block-image__aspect-ratio {
228
- height: 46px;
229
- margin-bottom: -8px;
230
- display: flex;
231
- align-items: center;
232
- }
233
- .wp-block-image__aspect-ratio .components-button {
234
- width: 36px;
235
- padding-right: 0;
236
- padding-left: 0;
237
- }
238
-
239
227
  .wp-block-image__toolbar_content_textarea {
240
228
  width: 250px;
241
229
  }
@@ -224,18 +224,6 @@ figure.wp-block-image:not(.wp-block) {
224
224
  overflow: visible !important;
225
225
  }
226
226
 
227
- .wp-block-image__aspect-ratio {
228
- height: 46px;
229
- margin-bottom: -8px;
230
- display: flex;
231
- align-items: center;
232
- }
233
- .wp-block-image__aspect-ratio .components-button {
234
- width: 36px;
235
- padding-left: 0;
236
- padding-right: 0;
237
- }
238
-
239
227
  .wp-block-image__toolbar_content_textarea {
240
228
  width: 250px;
241
229
  }
@@ -86,6 +86,9 @@
86
86
  /**
87
87
  * Reset the WP Admin page styles for Gutenberg-like pages.
88
88
  */
89
+ .wp-block-image a {
90
+ display: inline-block;
91
+ }
89
92
  .wp-block-image img {
90
93
  height: auto;
91
94
  max-width: 100%;
@@ -102,6 +105,9 @@
102
105
  .wp-block-image.aligncenter {
103
106
  text-align: center;
104
107
  }
108
+ .wp-block-image.alignfull a, .wp-block-image.alignwide a {
109
+ width: 100%;
110
+ }
105
111
  .wp-block-image.alignfull img, .wp-block-image.alignwide img {
106
112
  height: auto;
107
113
  width: 100%;
@@ -137,7 +143,7 @@
137
143
  margin-right: auto;
138
144
  margin-left: auto;
139
145
  }
140
- .wp-block-image figcaption {
146
+ .wp-block-image :where(figcaption) {
141
147
  margin-top: 0.5em;
142
148
  margin-bottom: 1em;
143
149
  }