@wordpress/block-library 8.0.0 → 8.2.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 (558) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/edit.js +1 -0
  4. package/build/archives/edit.js.map +1 -1
  5. package/build/audio/edit.js +2 -0
  6. package/build/audio/edit.js.map +1 -1
  7. package/build/categories/edit.js +1 -1
  8. package/build/categories/edit.js.map +1 -1
  9. package/build/comments/edit/comments-inspector-controls.js +9 -3
  10. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  11. package/build/cover/edit/inspector-controls.js +1 -1
  12. package/build/cover/edit/inspector-controls.js.map +1 -1
  13. package/build/embed/embed-preview.js +1 -0
  14. package/build/embed/embed-preview.js.map +1 -1
  15. package/build/file/inspector.js +1 -0
  16. package/build/file/inspector.js.map +1 -1
  17. package/build/freeform/edit.js +21 -6
  18. package/build/freeform/edit.js.map +1 -1
  19. package/build/freeform/modal.js +97 -0
  20. package/build/freeform/modal.js.map +1 -0
  21. package/build/gallery/edit.js +15 -2
  22. package/build/gallery/edit.js.map +1 -1
  23. package/build/gallery/gallery.js +3 -16
  24. package/build/gallery/gallery.js.map +1 -1
  25. package/build/gallery/v1/edit.js +2 -0
  26. package/build/gallery/v1/edit.js.map +1 -1
  27. package/build/group/edit.js +1 -0
  28. package/build/group/edit.js.map +1 -1
  29. package/build/group/index.js +3 -0
  30. package/build/group/index.js.map +1 -1
  31. package/build/image/image.js +7 -10
  32. package/build/image/image.js.map +1 -1
  33. package/build/latest-posts/edit.js +11 -8
  34. package/build/latest-posts/edit.js.map +1 -1
  35. package/build/media-text/edit.js +1 -0
  36. package/build/media-text/edit.js.map +1 -1
  37. package/build/missing/edit.native.js +2 -2
  38. package/build/missing/edit.native.js.map +1 -1
  39. package/build/navigation/edit/index.js +9 -7
  40. package/build/navigation/edit/index.js.map +1 -1
  41. package/build/navigation/edit/menu-inspector-controls.js +81 -22
  42. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  43. package/build/navigation/edit/navigation-menu-selector.js +15 -10
  44. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  45. package/build/navigation/edit/utils.js +81 -0
  46. package/build/navigation/edit/utils.js.map +1 -1
  47. package/build/navigation/leaf-more-menu.js +95 -0
  48. package/build/navigation/leaf-more-menu.js.map +1 -0
  49. package/build/navigation-link/edit.js +10 -61
  50. package/build/navigation-link/edit.js.map +1 -1
  51. package/build/navigation-link/update-attributes.js +3 -3
  52. package/build/navigation-link/update-attributes.js.map +1 -1
  53. package/build/navigation-submenu/edit.js +7 -72
  54. package/build/navigation-submenu/edit.js.map +1 -1
  55. package/build/page-list/edit.js +16 -15
  56. package/build/page-list/edit.js.map +1 -1
  57. package/build/page-list/index.js +29 -2
  58. package/build/page-list/index.js.map +1 -1
  59. package/build/page-list-item/edit.js +9 -5
  60. package/build/page-list-item/edit.js.map +1 -1
  61. package/build/page-list-item/index.js +2 -1
  62. package/build/page-list-item/index.js.map +1 -1
  63. package/build/post-author/edit.js +2 -0
  64. package/build/post-author/edit.js.map +1 -1
  65. package/build/post-featured-image/dimension-controls.js +1 -0
  66. package/build/post-featured-image/dimension-controls.js.map +1 -1
  67. package/build/post-featured-image/overlay.js +0 -1
  68. package/build/post-featured-image/overlay.js.map +1 -1
  69. package/build/query/edit/index.js +2 -1
  70. package/build/query/edit/index.js.map +1 -1
  71. package/build/query/edit/inspector-controls/index.js +11 -5
  72. package/build/query/edit/inspector-controls/index.js.map +1 -1
  73. package/build/query/edit/inspector-controls/order-control.js +1 -0
  74. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  75. package/build/query/edit/inspector-controls/sticky-control.js +1 -0
  76. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  77. package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
  78. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  79. package/build/query/edit/query-content.js +10 -4
  80. package/build/query/edit/query-content.js.map +1 -1
  81. package/build/query/edit/query-placeholder.js +17 -12
  82. package/build/query/edit/query-placeholder.js.map +1 -1
  83. package/build/query/utils.js +73 -1
  84. package/build/query/utils.js.map +1 -1
  85. package/build/search/edit.js +2 -2
  86. package/build/search/edit.js.map +1 -1
  87. package/build/social-link/edit.js +2 -1
  88. package/build/social-link/edit.js.map +1 -1
  89. package/build/social-links/edit.js +0 -1
  90. package/build/social-links/edit.js.map +1 -1
  91. package/build/table/edit.js +1 -0
  92. package/build/table/edit.js.map +1 -1
  93. package/build/table-of-contents/edit.js +1 -1
  94. package/build/table-of-contents/edit.js.map +1 -1
  95. package/build/tag-cloud/edit.js +1 -0
  96. package/build/tag-cloud/edit.js.map +1 -1
  97. package/build/template-part/edit/advanced-controls.js +23 -2
  98. package/build/template-part/edit/advanced-controls.js.map +1 -1
  99. package/build/template-part/edit/import-controls.js +160 -0
  100. package/build/template-part/edit/import-controls.js.map +1 -0
  101. package/build/template-part/edit/index.js +2 -1
  102. package/build/template-part/edit/index.js.map +1 -1
  103. package/build/template-part/edit/utils/transformers.js +48 -0
  104. package/build/template-part/edit/utils/transformers.js.map +1 -0
  105. package/build/video/edit-common-settings.js +6 -5
  106. package/build/video/edit-common-settings.js.map +1 -1
  107. package/build/video/edit.js +1 -0
  108. package/build/video/edit.js.map +1 -1
  109. package/build/video/tracks-editor.js +1 -0
  110. package/build/video/tracks-editor.js.map +1 -1
  111. package/build-module/archives/edit.js +1 -0
  112. package/build-module/archives/edit.js.map +1 -1
  113. package/build-module/audio/edit.js +2 -0
  114. package/build-module/audio/edit.js.map +1 -1
  115. package/build-module/categories/edit.js +1 -1
  116. package/build-module/categories/edit.js.map +1 -1
  117. package/build-module/comments/edit/comments-inspector-controls.js +9 -3
  118. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  119. package/build-module/cover/edit/inspector-controls.js +3 -3
  120. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  121. package/build-module/embed/embed-preview.js +1 -0
  122. package/build-module/embed/embed-preview.js.map +1 -1
  123. package/build-module/file/inspector.js +1 -0
  124. package/build-module/file/inspector.js.map +1 -1
  125. package/build-module/freeform/edit.js +22 -8
  126. package/build-module/freeform/edit.js.map +1 -1
  127. package/build-module/freeform/modal.js +90 -0
  128. package/build-module/freeform/modal.js.map +1 -0
  129. package/build-module/gallery/edit.js +16 -3
  130. package/build-module/gallery/edit.js.map +1 -1
  131. package/build-module/gallery/gallery.js +4 -16
  132. package/build-module/gallery/gallery.js.map +1 -1
  133. package/build-module/gallery/v1/edit.js +2 -0
  134. package/build-module/gallery/v1/edit.js.map +1 -1
  135. package/build-module/group/edit.js +1 -0
  136. package/build-module/group/edit.js.map +1 -1
  137. package/build-module/group/index.js +3 -0
  138. package/build-module/group/index.js.map +1 -1
  139. package/build-module/image/image.js +7 -10
  140. package/build-module/image/image.js.map +1 -1
  141. package/build-module/latest-posts/edit.js +12 -9
  142. package/build-module/latest-posts/edit.js.map +1 -1
  143. package/build-module/media-text/edit.js +1 -0
  144. package/build-module/media-text/edit.js.map +1 -1
  145. package/build-module/missing/edit.native.js +2 -2
  146. package/build-module/missing/edit.native.js.map +1 -1
  147. package/build-module/navigation/edit/index.js +9 -7
  148. package/build-module/navigation/edit/index.js.map +1 -1
  149. package/build-module/navigation/edit/menu-inspector-controls.js +80 -25
  150. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  151. package/build-module/navigation/edit/navigation-menu-selector.js +16 -11
  152. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  153. package/build-module/navigation/edit/utils.js +75 -0
  154. package/build-module/navigation/edit/utils.js.map +1 -1
  155. package/build-module/navigation/leaf-more-menu.js +76 -0
  156. package/build-module/navigation/leaf-more-menu.js.map +1 -0
  157. package/build-module/navigation-link/edit.js +10 -62
  158. package/build-module/navigation-link/edit.js.map +1 -1
  159. package/build-module/navigation-link/update-attributes.js +3 -3
  160. package/build-module/navigation-link/update-attributes.js.map +1 -1
  161. package/build-module/navigation-submenu/edit.js +6 -72
  162. package/build-module/navigation-submenu/edit.js.map +1 -1
  163. package/build-module/page-list/edit.js +17 -15
  164. package/build-module/page-list/edit.js.map +1 -1
  165. package/build-module/page-list/index.js +30 -3
  166. package/build-module/page-list/index.js.map +1 -1
  167. package/build-module/page-list-item/edit.js +9 -6
  168. package/build-module/page-list-item/edit.js.map +1 -1
  169. package/build-module/page-list-item/index.js +2 -1
  170. package/build-module/page-list-item/index.js.map +1 -1
  171. package/build-module/post-author/edit.js +2 -0
  172. package/build-module/post-author/edit.js.map +1 -1
  173. package/build-module/post-featured-image/dimension-controls.js +1 -0
  174. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  175. package/build-module/post-featured-image/overlay.js +0 -1
  176. package/build-module/post-featured-image/overlay.js.map +1 -1
  177. package/build-module/query/edit/index.js +2 -1
  178. package/build-module/query/edit/index.js.map +1 -1
  179. package/build-module/query/edit/inspector-controls/index.js +11 -5
  180. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  181. package/build-module/query/edit/inspector-controls/order-control.js +1 -0
  182. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  183. package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
  184. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  185. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
  186. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  187. package/build-module/query/edit/query-content.js +9 -2
  188. package/build-module/query/edit/query-content.js.map +1 -1
  189. package/build-module/query/edit/query-placeholder.js +16 -12
  190. package/build-module/query/edit/query-placeholder.js.map +1 -1
  191. package/build-module/query/utils.js +69 -0
  192. package/build-module/query/utils.js.map +1 -1
  193. package/build-module/search/edit.js +2 -2
  194. package/build-module/search/edit.js.map +1 -1
  195. package/build-module/social-link/edit.js +4 -3
  196. package/build-module/social-link/edit.js.map +1 -1
  197. package/build-module/social-links/edit.js +0 -1
  198. package/build-module/social-links/edit.js.map +1 -1
  199. package/build-module/table/edit.js +1 -0
  200. package/build-module/table/edit.js.map +1 -1
  201. package/build-module/table-of-contents/edit.js +1 -1
  202. package/build-module/table-of-contents/edit.js.map +1 -1
  203. package/build-module/tag-cloud/edit.js +1 -0
  204. package/build-module/tag-cloud/edit.js.map +1 -1
  205. package/build-module/template-part/edit/advanced-controls.js +22 -2
  206. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  207. package/build-module/template-part/edit/import-controls.js +146 -0
  208. package/build-module/template-part/edit/import-controls.js.map +1 -0
  209. package/build-module/template-part/edit/index.js +2 -1
  210. package/build-module/template-part/edit/index.js.map +1 -1
  211. package/build-module/template-part/edit/utils/transformers.js +40 -0
  212. package/build-module/template-part/edit/utils/transformers.js.map +1 -0
  213. package/build-module/video/edit-common-settings.js +6 -5
  214. package/build-module/video/edit-common-settings.js.map +1 -1
  215. package/build-module/video/edit.js +1 -0
  216. package/build-module/video/edit.js.map +1 -1
  217. package/build-module/video/tracks-editor.js +1 -0
  218. package/build-module/video/tracks-editor.js.map +1 -1
  219. package/build-style/archives/editor-rtl.css +3 -3
  220. package/build-style/archives/editor.css +3 -3
  221. package/build-style/archives/style-rtl.css +3 -3
  222. package/build-style/archives/style.css +3 -3
  223. package/build-style/audio/editor-rtl.css +3 -3
  224. package/build-style/audio/editor.css +3 -3
  225. package/build-style/audio/style-rtl.css +3 -3
  226. package/build-style/audio/style.css +3 -3
  227. package/build-style/audio/theme-rtl.css +3 -3
  228. package/build-style/audio/theme.css +3 -3
  229. package/build-style/avatar/editor-rtl.css +3 -3
  230. package/build-style/avatar/editor.css +3 -3
  231. package/build-style/avatar/style-rtl.css +3 -3
  232. package/build-style/avatar/style.css +3 -3
  233. package/build-style/block/editor-rtl.css +3 -3
  234. package/build-style/block/editor.css +3 -3
  235. package/build-style/button/editor-rtl.css +3 -3
  236. package/build-style/button/editor.css +3 -3
  237. package/build-style/button/style-rtl.css +3 -3
  238. package/build-style/button/style.css +3 -3
  239. package/build-style/buttons/editor-rtl.css +3 -3
  240. package/build-style/buttons/editor.css +3 -3
  241. package/build-style/buttons/style-rtl.css +3 -3
  242. package/build-style/buttons/style.css +3 -3
  243. package/build-style/calendar/style-rtl.css +3 -3
  244. package/build-style/calendar/style.css +3 -3
  245. package/build-style/categories/editor-rtl.css +3 -3
  246. package/build-style/categories/editor.css +3 -3
  247. package/build-style/categories/style-rtl.css +3 -3
  248. package/build-style/categories/style.css +3 -3
  249. package/build-style/classic-rtl.css +3 -3
  250. package/build-style/classic.css +3 -3
  251. package/build-style/code/editor-rtl.css +3 -3
  252. package/build-style/code/editor.css +3 -3
  253. package/build-style/code/style-rtl.css +3 -3
  254. package/build-style/code/style.css +3 -3
  255. package/build-style/code/theme-rtl.css +3 -3
  256. package/build-style/code/theme.css +3 -3
  257. package/build-style/columns/editor-rtl.css +3 -3
  258. package/build-style/columns/editor.css +3 -3
  259. package/build-style/columns/style-rtl.css +3 -3
  260. package/build-style/columns/style.css +3 -3
  261. package/build-style/comment-author-avatar/editor-rtl.css +3 -3
  262. package/build-style/comment-author-avatar/editor.css +3 -3
  263. package/build-style/comment-content/style-rtl.css +3 -3
  264. package/build-style/comment-content/style.css +3 -3
  265. package/build-style/comment-template/style-rtl.css +3 -3
  266. package/build-style/comment-template/style.css +3 -3
  267. package/build-style/comments/editor-rtl.css +3 -3
  268. package/build-style/comments/editor.css +3 -3
  269. package/build-style/comments/style-rtl.css +3 -3
  270. package/build-style/comments/style.css +3 -3
  271. package/build-style/comments-pagination/editor-rtl.css +3 -3
  272. package/build-style/comments-pagination/editor.css +3 -3
  273. package/build-style/comments-pagination/style-rtl.css +3 -3
  274. package/build-style/comments-pagination/style.css +3 -3
  275. package/build-style/comments-pagination-numbers/editor-rtl.css +3 -3
  276. package/build-style/comments-pagination-numbers/editor.css +3 -3
  277. package/build-style/comments-title/editor-rtl.css +3 -3
  278. package/build-style/comments-title/editor.css +3 -3
  279. package/build-style/common-rtl.css +3 -3
  280. package/build-style/common.css +3 -3
  281. package/build-style/cover/editor-rtl.css +3 -3
  282. package/build-style/cover/editor.css +3 -3
  283. package/build-style/cover/style-rtl.css +3 -3
  284. package/build-style/cover/style.css +3 -3
  285. package/build-style/editor-elements-rtl.css +3 -3
  286. package/build-style/editor-elements.css +3 -3
  287. package/build-style/editor-rtl.css +7 -9
  288. package/build-style/editor.css +7 -9
  289. package/build-style/elements-rtl.css +3 -3
  290. package/build-style/elements.css +3 -3
  291. package/build-style/embed/editor-rtl.css +3 -3
  292. package/build-style/embed/editor.css +3 -3
  293. package/build-style/embed/style-rtl.css +3 -3
  294. package/build-style/embed/style.css +3 -3
  295. package/build-style/embed/theme-rtl.css +3 -3
  296. package/build-style/embed/theme.css +3 -3
  297. package/build-style/file/editor-rtl.css +3 -3
  298. package/build-style/file/editor.css +3 -3
  299. package/build-style/file/style-rtl.css +3 -3
  300. package/build-style/file/style.css +3 -3
  301. package/build-style/freeform/editor-rtl.css +3 -3
  302. package/build-style/freeform/editor.css +3 -3
  303. package/build-style/gallery/editor-rtl.css +3 -3
  304. package/build-style/gallery/editor.css +3 -3
  305. package/build-style/gallery/style-rtl.css +3 -3
  306. package/build-style/gallery/style.css +3 -3
  307. package/build-style/gallery/theme-rtl.css +3 -3
  308. package/build-style/gallery/theme.css +3 -3
  309. package/build-style/group/editor-rtl.css +3 -3
  310. package/build-style/group/editor.css +3 -3
  311. package/build-style/group/style-rtl.css +3 -3
  312. package/build-style/group/style.css +3 -3
  313. package/build-style/group/theme-rtl.css +3 -3
  314. package/build-style/group/theme.css +3 -3
  315. package/build-style/heading/style-rtl.css +3 -3
  316. package/build-style/heading/style.css +3 -3
  317. package/build-style/html/editor-rtl.css +3 -3
  318. package/build-style/html/editor.css +3 -3
  319. package/build-style/image/editor-rtl.css +3 -3
  320. package/build-style/image/editor.css +3 -3
  321. package/build-style/image/style-rtl.css +3 -3
  322. package/build-style/image/style.css +3 -3
  323. package/build-style/image/theme-rtl.css +3 -3
  324. package/build-style/image/theme.css +3 -3
  325. package/build-style/latest-comments/style-rtl.css +3 -3
  326. package/build-style/latest-comments/style.css +3 -3
  327. package/build-style/latest-posts/editor-rtl.css +3 -3
  328. package/build-style/latest-posts/editor.css +3 -3
  329. package/build-style/latest-posts/style-rtl.css +3 -3
  330. package/build-style/latest-posts/style.css +3 -3
  331. package/build-style/list/style-rtl.css +3 -3
  332. package/build-style/list/style.css +3 -3
  333. package/build-style/media-text/editor-rtl.css +3 -3
  334. package/build-style/media-text/editor.css +3 -3
  335. package/build-style/media-text/style-rtl.css +3 -3
  336. package/build-style/media-text/style.css +3 -3
  337. package/build-style/more/editor-rtl.css +3 -3
  338. package/build-style/more/editor.css +3 -3
  339. package/build-style/navigation/editor-rtl.css +3 -9
  340. package/build-style/navigation/editor.css +3 -9
  341. package/build-style/navigation/style-rtl.css +3 -4
  342. package/build-style/navigation/style.css +3 -4
  343. package/build-style/navigation-link/editor-rtl.css +3 -3
  344. package/build-style/navigation-link/editor.css +3 -3
  345. package/build-style/navigation-link/style-rtl.css +3 -3
  346. package/build-style/navigation-link/style.css +3 -3
  347. package/build-style/navigation-submenu/editor-rtl.css +3 -3
  348. package/build-style/navigation-submenu/editor.css +3 -3
  349. package/build-style/nextpage/editor-rtl.css +3 -3
  350. package/build-style/nextpage/editor.css +3 -3
  351. package/build-style/page-list/editor-rtl.css +7 -3
  352. package/build-style/page-list/editor.css +7 -3
  353. package/build-style/page-list/style-rtl.css +3 -3
  354. package/build-style/page-list/style.css +3 -3
  355. package/build-style/paragraph/editor-rtl.css +3 -3
  356. package/build-style/paragraph/editor.css +3 -3
  357. package/build-style/paragraph/style-rtl.css +3 -3
  358. package/build-style/paragraph/style.css +3 -3
  359. package/build-style/post-author/style-rtl.css +3 -3
  360. package/build-style/post-author/style.css +3 -3
  361. package/build-style/post-comments-form/editor-rtl.css +3 -3
  362. package/build-style/post-comments-form/editor.css +3 -3
  363. package/build-style/post-comments-form/style-rtl.css +3 -3
  364. package/build-style/post-comments-form/style.css +3 -3
  365. package/build-style/post-date/style-rtl.css +3 -3
  366. package/build-style/post-date/style.css +3 -3
  367. package/build-style/post-excerpt/editor-rtl.css +3 -3
  368. package/build-style/post-excerpt/editor.css +3 -3
  369. package/build-style/post-excerpt/style-rtl.css +3 -3
  370. package/build-style/post-excerpt/style.css +3 -3
  371. package/build-style/post-featured-image/editor-rtl.css +3 -3
  372. package/build-style/post-featured-image/editor.css +3 -3
  373. package/build-style/post-featured-image/style-rtl.css +3 -3
  374. package/build-style/post-featured-image/style.css +3 -3
  375. package/build-style/post-navigation-link/style-rtl.css +3 -3
  376. package/build-style/post-navigation-link/style.css +3 -3
  377. package/build-style/post-template/editor-rtl.css +3 -3
  378. package/build-style/post-template/editor.css +3 -3
  379. package/build-style/post-template/style-rtl.css +3 -3
  380. package/build-style/post-template/style.css +3 -3
  381. package/build-style/post-terms/style-rtl.css +3 -3
  382. package/build-style/post-terms/style.css +3 -3
  383. package/build-style/post-title/style-rtl.css +3 -3
  384. package/build-style/post-title/style.css +3 -3
  385. package/build-style/preformatted/style-rtl.css +3 -3
  386. package/build-style/preformatted/style.css +3 -3
  387. package/build-style/pullquote/editor-rtl.css +3 -3
  388. package/build-style/pullquote/editor.css +3 -3
  389. package/build-style/pullquote/style-rtl.css +3 -3
  390. package/build-style/pullquote/style.css +3 -3
  391. package/build-style/pullquote/theme-rtl.css +3 -3
  392. package/build-style/pullquote/theme.css +3 -3
  393. package/build-style/query/editor-rtl.css +3 -3
  394. package/build-style/query/editor.css +3 -3
  395. package/build-style/query-pagination/editor-rtl.css +3 -3
  396. package/build-style/query-pagination/editor.css +3 -3
  397. package/build-style/query-pagination/style-rtl.css +3 -3
  398. package/build-style/query-pagination/style.css +3 -3
  399. package/build-style/query-pagination-numbers/editor-rtl.css +3 -3
  400. package/build-style/query-pagination-numbers/editor.css +3 -3
  401. package/build-style/query-title/style-rtl.css +3 -3
  402. package/build-style/query-title/style.css +3 -3
  403. package/build-style/quote/style-rtl.css +3 -3
  404. package/build-style/quote/style.css +3 -3
  405. package/build-style/quote/theme-rtl.css +3 -3
  406. package/build-style/quote/theme.css +3 -3
  407. package/build-style/read-more/style-rtl.css +3 -3
  408. package/build-style/read-more/style.css +3 -3
  409. package/build-style/reset-rtl.css +3 -3
  410. package/build-style/reset.css +3 -3
  411. package/build-style/rss/editor-rtl.css +3 -3
  412. package/build-style/rss/editor.css +3 -3
  413. package/build-style/rss/style-rtl.css +3 -3
  414. package/build-style/rss/style.css +3 -3
  415. package/build-style/search/editor-rtl.css +3 -3
  416. package/build-style/search/editor.css +3 -3
  417. package/build-style/search/style-rtl.css +3 -3
  418. package/build-style/search/style.css +3 -3
  419. package/build-style/search/theme-rtl.css +3 -3
  420. package/build-style/search/theme.css +3 -3
  421. package/build-style/separator/editor-rtl.css +3 -3
  422. package/build-style/separator/editor.css +3 -3
  423. package/build-style/separator/style-rtl.css +3 -3
  424. package/build-style/separator/style.css +3 -3
  425. package/build-style/separator/theme-rtl.css +3 -3
  426. package/build-style/separator/theme.css +3 -3
  427. package/build-style/shortcode/editor-rtl.css +3 -3
  428. package/build-style/shortcode/editor.css +3 -3
  429. package/build-style/site-logo/editor-rtl.css +3 -3
  430. package/build-style/site-logo/editor.css +3 -3
  431. package/build-style/site-logo/style-rtl.css +3 -3
  432. package/build-style/site-logo/style.css +3 -3
  433. package/build-style/site-tagline/editor-rtl.css +3 -3
  434. package/build-style/site-tagline/editor.css +3 -3
  435. package/build-style/site-title/editor-rtl.css +3 -3
  436. package/build-style/site-title/editor.css +3 -3
  437. package/build-style/site-title/style-rtl.css +3 -3
  438. package/build-style/site-title/style.css +3 -3
  439. package/build-style/social-link/editor-rtl.css +3 -3
  440. package/build-style/social-link/editor.css +3 -3
  441. package/build-style/social-links/editor-rtl.css +3 -3
  442. package/build-style/social-links/editor.css +3 -3
  443. package/build-style/social-links/style-rtl.css +3 -3
  444. package/build-style/social-links/style.css +3 -3
  445. package/build-style/spacer/editor-rtl.css +3 -3
  446. package/build-style/spacer/editor.css +3 -3
  447. package/build-style/spacer/style-rtl.css +3 -3
  448. package/build-style/spacer/style.css +3 -3
  449. package/build-style/style-rtl.css +13 -5
  450. package/build-style/style.css +13 -5
  451. package/build-style/table/editor-rtl.css +3 -3
  452. package/build-style/table/editor.css +3 -3
  453. package/build-style/table/style-rtl.css +9 -3
  454. package/build-style/table/style.css +9 -3
  455. package/build-style/table/theme-rtl.css +3 -9
  456. package/build-style/table/theme.css +3 -9
  457. package/build-style/tag-cloud/style-rtl.css +3 -3
  458. package/build-style/tag-cloud/style.css +3 -3
  459. package/build-style/template-part/editor-rtl.css +3 -3
  460. package/build-style/template-part/editor.css +3 -3
  461. package/build-style/template-part/theme-rtl.css +3 -3
  462. package/build-style/template-part/theme.css +3 -3
  463. package/build-style/text-columns/editor-rtl.css +3 -3
  464. package/build-style/text-columns/editor.css +3 -3
  465. package/build-style/text-columns/style-rtl.css +3 -3
  466. package/build-style/text-columns/style.css +3 -3
  467. package/build-style/theme-rtl.css +3 -9
  468. package/build-style/theme.css +3 -9
  469. package/build-style/verse/style-rtl.css +7 -4
  470. package/build-style/verse/style.css +7 -4
  471. package/build-style/video/editor-rtl.css +3 -3
  472. package/build-style/video/editor.css +3 -3
  473. package/build-style/video/style-rtl.css +3 -3
  474. package/build-style/video/style.css +3 -3
  475. package/build-style/video/theme-rtl.css +3 -3
  476. package/build-style/video/theme.css +3 -3
  477. package/package.json +29 -29
  478. package/src/archives/edit.js +1 -0
  479. package/src/audio/edit.js +2 -0
  480. package/src/categories/edit.js +1 -1
  481. package/src/comments/edit/comments-inspector-controls.js +12 -2
  482. package/src/comments/index.php +0 -1
  483. package/src/cover/edit/inspector-controls.js +4 -4
  484. package/src/embed/embed-preview.js +1 -0
  485. package/src/file/inspector.js +1 -0
  486. package/src/freeform/edit.js +48 -29
  487. package/src/freeform/modal.js +111 -0
  488. package/src/gallery/edit.js +19 -2
  489. package/src/gallery/gallery.js +4 -13
  490. package/src/gallery/v1/edit.js +2 -0
  491. package/src/group/block.json +3 -0
  492. package/src/group/edit.js +1 -0
  493. package/src/image/image.js +27 -36
  494. package/src/latest-posts/edit.js +6 -7
  495. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
  496. package/src/latest-posts/test/edit.native.js +49 -0
  497. package/src/media-text/edit.js +1 -0
  498. package/src/missing/edit.native.js +13 -6
  499. package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
  500. package/src/more/test/edit.native.js +41 -0
  501. package/src/navigation/edit/index.js +6 -4
  502. package/src/navigation/edit/menu-inspector-controls.js +115 -44
  503. package/src/navigation/edit/navigation-menu-selector.js +24 -11
  504. package/src/navigation/edit/utils.js +82 -0
  505. package/src/navigation/editor.scss +0 -7
  506. package/src/navigation/index.php +32 -0
  507. package/src/navigation/leaf-more-menu.js +93 -0
  508. package/src/navigation/style.scss +0 -1
  509. package/src/navigation-link/edit.js +23 -65
  510. package/src/navigation-link/index.php +62 -3
  511. package/src/navigation-link/update-attributes.js +1 -1
  512. package/src/navigation-submenu/edit.js +29 -100
  513. package/src/navigation-submenu/index.php +34 -2
  514. package/src/page-list/block.json +18 -1
  515. package/src/page-list/edit.js +30 -22
  516. package/src/page-list/editor.scss +4 -0
  517. package/src/page-list/index.js +8 -2
  518. package/src/page-list/index.php +14 -10
  519. package/src/page-list-item/block.json +2 -1
  520. package/src/page-list-item/edit.js +17 -9
  521. package/src/post-author/edit.js +2 -0
  522. package/src/post-featured-image/dimension-controls.js +1 -0
  523. package/src/post-featured-image/overlay.js +0 -1
  524. package/src/query/edit/index.js +1 -0
  525. package/src/query/edit/inspector-controls/index.js +50 -38
  526. package/src/query/edit/inspector-controls/order-control.js +1 -0
  527. package/src/query/edit/inspector-controls/sticky-control.js +1 -0
  528. package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
  529. package/src/query/edit/query-content.js +15 -1
  530. package/src/query/edit/query-placeholder.js +15 -14
  531. package/src/query/utils.js +59 -1
  532. package/src/rss/index.php +1 -1
  533. package/src/search/edit.js +2 -2
  534. package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
  535. package/src/separator/test/edit.native.js +41 -0
  536. package/src/social-link/edit.js +5 -4
  537. package/src/social-links/edit.js +0 -1
  538. package/src/table/edit.js +1 -0
  539. package/src/table/style.scss +8 -0
  540. package/src/table/theme.scss +0 -8
  541. package/src/table-of-contents/edit.js +1 -1
  542. package/src/tag-cloud/edit.js +1 -0
  543. package/src/template-part/edit/advanced-controls.js +36 -0
  544. package/src/template-part/edit/import-controls.js +180 -0
  545. package/src/template-part/edit/index.js +1 -0
  546. package/src/template-part/edit/utils/transformers.js +37 -0
  547. package/src/verse/style.scss +4 -1
  548. package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
  549. package/src/verse/test/edit.native.js +40 -33
  550. package/src/video/edit-common-settings.js +6 -5
  551. package/src/video/edit.js +1 -0
  552. package/src/video/tracks-editor.js +1 -0
  553. package/tsconfig.tsbuildinfo +1 -1
  554. package/build/query/constants.js +0 -16
  555. package/build/query/constants.js.map +0 -1
  556. package/build-module/query/constants.js +0 -7
  557. package/build-module/query/constants.js.map +0 -1
  558. package/src/query/constants.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["isEmpty","useSelect","BlockSettingsMenuControls","BlockTitle","useBlockProps","Warning","store","blockEditorStore","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","createInterpolateElement","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","isSelected","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","blockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","label","toLowerCase"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SACCC,yBADD,EAECC,UAFD,EAGCC,aAHD,EAICC,OAJD,EAKCC,KAAK,IAAIC,gBALV,EAMCC,+BAA+B,IAAIC,iBANpC,EAOCC,6BAA6B,IAAIC,eAPlC,QAQO,yBARP;AASA,SAASC,OAAT,EAAkBC,KAAlB,EAAyBC,QAAzB,QAAyC,uBAAzC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASV,KAAK,IAAIW,SAAlB,QAAmC,sBAAnC;AACA,SAASC,QAAT,EAAmBC,wBAAnB,QAAmD,oBAAnD;AAEA;AACA;AACA;;AACA,OAAOC,uBAAP,MAAoC,eAApC;AACA,OAAOC,0BAAP,MAAuC,mBAAvC;AACA,SAASC,4BAAT,QAA6C,qBAA7C;AACA,OAAOC,uBAAP,MAAoC,gBAApC;AACA,SAASC,oBAAT,QAAqC,iCAArC;AACA,SACCC,2BADD,EAECC,2BAFD,EAGCC,mBAHD,QAIO,eAJP;AAMA,eAAe,SAASC,gBAAT,OAKX;AAAA,MALsC;AACzCC,IAAAA,UADyC;AAEzCC,IAAAA,aAFyC;AAGzCC,IAAAA,QAHyC;AAIzCC,IAAAA;AAJyC,GAKtC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,OAAf;AAAwBC,IAAAA,MAAM,GAAG;AAAjC,MAAwCP,UAA9C;AACA,QAAMQ,cAAc,GAAGb,oBAAoB,CAAEU,KAAF,EAASD,IAAT,CAA3C;AACA,QAAMK,kBAAkB,GAAG3B,eAAe,CAAE0B,cAAF,CAA1C;AACA,QAAM,CAAEE,2BAAF,EAA+BC,8BAA/B,IACLtB,QAAQ,CAAE,KAAF,CADT,CAJG,CAOH;AACA;AACA;;AACA,QAAM;AAAEuB,IAAAA,UAAF;AAAcC,IAAAA,WAAd;AAA2BC,IAAAA,SAA3B;AAAsCC,IAAAA;AAAtC,MAA+C3C,SAAS,CAC3D4C,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QACLF,MAAM,CAAE5B,SAAF,CADP;AAEA,UAAM;AAAE+B,MAAAA;AAAF,QAAgBH,MAAM,CAAEtC,gBAAF,CAA5B;AAEA,UAAM0C,aAAa,GAAG,CACrB,UADqB,EAErB,kBAFqB,EAGrBZ,cAHqB,CAAtB;AAKA,UAAMa,YAAY,GAAGb,cAAc,GAChCS,qBAAqB,CAAE,GAAGG,aAAL,CADW,GAEhC,IAFH;;AAGA,UAAME,KAAK,GAAG,CAAAD,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAEN,IAAd,KAAsBf,UAAU,CAACe,IAA/C;;AACA,UAAMQ,iBAAiB,GAAGf,cAAc,GACrCU,qBAAqB,CACrB,uBADqB,EAErBE,aAFqB,CADgB,GAKrC,KALH;AAOA,WAAO;AACNP,MAAAA,WAAW,EAAEM,SAAS,CAAEjB,QAAF,CADhB;AAENU,MAAAA,UAAU,EAAEW,iBAFN;AAGNT,MAAAA,SAAS,EAAES,iBAAiB,IAAIpD,OAAO,CAAEkD,YAAF,CAHjC;AAINN,MAAAA,IAAI,EAAEO;AAJA,KAAP;AAMA,GA5B4D,EA6B7D,CAAEd,cAAF,EAAkBN,QAAlB,CA7B6D,CAA9D;AA+BA,QAAM;AAAEsB,IAAAA;AAAF,MAAoB3B,2BAA2B,CACpDkB,IADoD,EAEpDP,cAFoD,CAArD;AAIA,QAAMiB,aAAa,GAAG7B,2BAA2B,CAAEmB,IAAF,EAAQb,QAAR,CAAjD;AACA,QAAMwB,eAAe,GAAG,CAAC,CAAEF,aAAa,CAACG,MAAjB,IAA2B,CAAC,CAAEF,aAAa,CAACE,MAApE;AACA,QAAMC,UAAU,GAAG9B,mBAAmB,CAAEiB,IAAF,CAAtC;AACA,QAAMc,UAAU,GAAGtD,aAAa,EAAhC;AACA,QAAMuD,aAAa,GAAG,CAAE1B,IAAxB;AACA,QAAM2B,iBAAiB,GAAG,CAAED,aAAF,IAAmB,CAAEhB,SAArB,IAAkCF,UAA5D;AACA,QAAMoB,OAAO,GAAG1B,OAAO,IAAIsB,UAAU,CAACtB,OAAtC,CAnDG,CAqDH;AACA;;AACA,QAAM2B,UAAU,GACf9B,UAAU,IACV4B,iBADA,IAEAL,eAFA,KAGEX,IAAI,KAAK,QAAT,IAAqBA,IAAI,KAAK,QAHhC,CADD,CAvDG,CA6DH;AACA;;AACA,MACCF,WAAW,CAACc,MAAZ,KAAuB,CAAvB,KACIvB,IAAI,IAAI,CAAEC,KAAZ,IAAyBD,IAAI,IAAIU,SADnC,CADD,EAGE;AACD,WACC,cAAC,OAAD,EAAce,UAAd,EACC,cAAC,OAAD,QACG1C,OAAO;AACR;AACAD,IAAAA,EAAE,CACD,sDADC,CAFM,EAKRkB,IALQ,CADV,CADD,CADD;AAaA;;AAED,MAAK2B,iBAAiB,IAAItB,kBAA1B,EAA+C;AAC9C,WACC,cAAC,OAAD,EAAcoB,UAAd,EACC,cAAC,OAAD,QACG3C,EAAE,CAAE,yCAAF,CADL,CADD,CADD;AAOA;;AAED,SACC,8BACC,cAAC,iBAAD;AAAmB,IAAA,QAAQ,EAAGsB;AAA9B,KACC,cAAC,4BAAD;AACC,IAAA,OAAO,EAAGF,OADX;AAEC,IAAA,aAAa,EAAGL,aAFjB;AAGC,IAAA,iBAAiB,EAAG8B,iBAHrB;AAIC,IAAA,cAAc,EAAGvB,cAJlB;AAKC,IAAA,cAAc,EAAGoB,UAAU,CAACtB;AAL7B,IADD,EAQGwB,aAAa,IACd,cAAC,OAAD,EAAcD,UAAd,EACC,cAAC,uBAAD;AACC,IAAA,IAAI,EAAG7B,UAAU,CAACe,IADnB;AAEC,IAAA,cAAc,EAAGP,cAFlB;AAGC,IAAA,QAAQ,EAAGN,QAHZ;AAIC,IAAA,aAAa,EAAGD,aAJjB;AAKC,IAAA,oBAAoB,EAAG,MACtBU,8BAA8B,CAAE,IAAF;AANhC,IADD,CATF,EAqBGsB,UAAU,IACX,cAAC,yBAAD,QACG,MACD,cAAC,QAAD;AACC,IAAA,OAAO,EAAG,MAAM;AACftB,MAAAA,8BAA8B,CAAE,IAAF,CAA9B;AACA;AAHF,KAKGrB,wBAAwB,CACzBJ,EAAE,CAAE,wBAAF,CADuB,EAEzB;AACCZ,IAAAA,UAAU,EACT,cAAC,UAAD;AACC,MAAA,QAAQ,EAAG4B,QADZ;AAEC,MAAA,aAAa,EAAG;AAFjB;AAFF,GAFyB,CAL3B,CAFF,CAtBF,EA4CG6B,iBAAiB,IAClB,cAAC,uBAAD;AACC,IAAA,OAAO,EAAGC,OADX;AAEC,IAAA,UAAU,EAAGH,UAFd;AAGC,IAAA,MAAM,EAAGrB,cAHV;AAIC,IAAA,cAAc,EAAGK,WAAW,CAACc,MAAZ,GAAqB,CAJvC;AAKC,IAAA,MAAM,EAAGpB;AALV,IA7CF,EAqDG,CAAEuB,aAAF,IAAmB,CAAElB,UAArB,IACD,cAAC,OAAD,EAAciB,UAAd,EACC,cAAC,OAAD,OADD,CAtDF,CADD,EA4DGnB,2BAA2B,IAC5B,cAAC,KAAD;AACC,IAAA,gBAAgB,EAAC,6CADlB;AAEC,IAAA,KAAK,EAAGvB,OAAO,EACd;AACAD,IAAAA,EAAE,CAAE,aAAF,CAFY,EAGd0C,UAAU,CAACM,KAAX,CAAiBC,WAAjB,EAHc,CAFhB;AAOC,IAAA,UAAU,EAAGjD,EAAE,CAAE,QAAF,CAPhB;AAQC,IAAA,cAAc,EAAG,MAChByB,8BAA8B,CAAE,KAAF;AAThC,KAYC,cAAC,0BAAD;AACC,IAAA,cAAc,EAAGH,cADlB;AAEC,IAAA,QAAQ,EAAGN,QAFZ;AAGC,IAAA,IAAI,EAAGa,IAHR;AAIC,IAAA,aAAa,EAAGd,aAJjB;AAKC,IAAA,OAAO,EAAG,MACTU,8BAA8B,CAAE,KAAF;AANhC,IAZD,CA7DF,CADD;AAuFA","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tBlockTitle,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// The `isSelected` check ensures the `BlockSettingsMenuControls` fill\n\t// doesn't render multiple times. The block controls has similar internal check.\n\tconst canReplace =\n\t\tisSelected &&\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\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\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["isEmpty","useSelect","BlockSettingsMenuControls","BlockTitle","useBlockProps","Warning","store","blockEditorStore","__experimentalRecursionProvider","RecursionProvider","__experimentalUseHasRecursion","useHasRecursion","Spinner","Modal","MenuItem","__","sprintf","coreStore","useState","createInterpolateElement","TemplatePartPlaceholder","TemplatePartSelectionModal","TemplatePartAdvancedControls","TemplatePartInnerBlocks","createTemplatePartId","useAlternativeBlockPatterns","useAlternativeTemplateParts","useTemplatePartArea","TemplatePartEdit","attributes","setAttributes","clientId","isSelected","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","isTemplatePartSelectionOpen","setIsTemplatePartSelectionOpen","isResolved","innerBlocks","isMissing","area","select","getEditedEntityRecord","hasFinishedResolution","getBlocks","getEntityArgs","entityRecord","_area","hasResolvedEntity","templateParts","blockPatterns","hasReplacements","length","areaObject","blockProps","isPlaceholder","isEntityAvailable","TagName","canReplace","label","toLowerCase"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockSettingsMenuControls,\n\tBlockTitle,\n\tuseBlockProps,\n\tWarning,\n\tstore as blockEditorStore,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n} from '@wordpress/block-editor';\nimport { Spinner, Modal, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelectionModal from './selection-modal';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\nimport {\n\tuseAlternativeBlockPatterns,\n\tuseAlternativeTemplateParts,\n\tuseTemplatePartArea,\n} from './utils/hooks';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\tconst hasAlreadyRendered = useHasRecursion( templatePartId );\n\tconst [ isTemplatePartSelectionOpen, setIsTemplatePartSelectionOpen ] =\n\t\tuseState( false );\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst { isResolved, innerBlocks, isMissing, area } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tarea: _area,\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\tconst { templateParts } = useAlternativeTemplateParts(\n\t\tarea,\n\t\ttemplatePartId\n\t);\n\tconst blockPatterns = useAlternativeBlockPatterns( area, clientId );\n\tconst hasReplacements = !! templateParts.length || !! blockPatterns.length;\n\tconst areaObject = useTemplatePartArea( area );\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || areaObject.tagName;\n\n\t// The `isSelected` check ensures the `BlockSettingsMenuControls` fill\n\t// doesn't render multiple times. The block controls has similar internal check.\n\tconst canReplace =\n\t\tisSelected &&\n\t\tisEntityAvailable &&\n\t\thasReplacements &&\n\t\t( area === 'header' || area === 'footer' );\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RecursionProvider uniqueId={ templatePartId }>\n\t\t\t\t<TemplatePartAdvancedControls\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\tdefaultWrapper={ areaObject.tagName }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t/>\n\t\t\t\t{ isPlaceholder && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tonOpenSelectionModal={ () =>\n\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t\t{ canReplace && (\n\t\t\t\t\t<BlockSettingsMenuControls>\n\t\t\t\t\t\t{ () => (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( true );\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\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__( 'Replace <BlockTitle />' ),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tBlockTitle: (\n\t\t\t\t\t\t\t\t\t\t\t<BlockTitle\n\t\t\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\t\t\tmaximumLength={ 25 }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</BlockSettingsMenuControls>\n\t\t\t\t) }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t\t{ isTemplatePartSelectionOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\toverlayClassName=\"block-editor-template-part__selection-modal\"\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t// Translators: %s as template part area title (\"Header\", \"Footer\", etc.).\n\t\t\t\t\t\t__( 'Choose a %s' ),\n\t\t\t\t\t\tareaObject.label.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\t\t\tonRequestClose={ () =>\n\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t<TemplatePartSelectionModal\n\t\t\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tonClose={ () =>\n\t\t\t\t\t\t\tsetIsTemplatePartSelectionOpen( false )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createBlock, parse } from '@wordpress/blocks';
5
+ /**
6
+ * Converts a widget entity record into a block.
7
+ *
8
+ * @param {Object} widget The widget entity record.
9
+ * @return {Object} a block (converted from the entity record).
10
+ */
11
+
12
+ export function transformWidgetToBlock(widget) {
13
+ if (widget.id_base === 'block') {
14
+ const parsedBlocks = parse(widget.instance.raw.content, {
15
+ __unstableSkipAutop: true
16
+ });
17
+
18
+ if (!parsedBlocks.length) {
19
+ return createBlock('core/paragraph', {}, []);
20
+ }
21
+
22
+ return parsedBlocks[0];
23
+ }
24
+
25
+ let attributes;
26
+
27
+ if (widget._embedded.about[0].is_multi) {
28
+ attributes = {
29
+ idBase: widget.id_base,
30
+ instance: widget.instance
31
+ };
32
+ } else {
33
+ attributes = {
34
+ id: widget.id
35
+ };
36
+ }
37
+
38
+ return createBlock('core/legacy-widget', attributes, []);
39
+ }
40
+ //# sourceMappingURL=transformers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/transformers.js"],"names":["createBlock","parse","transformWidgetToBlock","widget","id_base","parsedBlocks","instance","raw","content","__unstableSkipAutop","length","attributes","_embedded","about","is_multi","idBase","id"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,KAAtB,QAAmC,mBAAnC;AAEA;AACA;AACA;AACA;AACA;AACA;;AACA,OAAO,SAASC,sBAAT,CAAiCC,MAAjC,EAA0C;AAChD,MAAKA,MAAM,CAACC,OAAP,KAAmB,OAAxB,EAAkC;AACjC,UAAMC,YAAY,GAAGJ,KAAK,CAAEE,MAAM,CAACG,QAAP,CAAgBC,GAAhB,CAAoBC,OAAtB,EAA+B;AACxDC,MAAAA,mBAAmB,EAAE;AADmC,KAA/B,CAA1B;;AAGA,QAAK,CAAEJ,YAAY,CAACK,MAApB,EAA6B;AAC5B,aAAOV,WAAW,CAAE,gBAAF,EAAoB,EAApB,EAAwB,EAAxB,CAAlB;AACA;;AAED,WAAOK,YAAY,CAAE,CAAF,CAAnB;AACA;;AAED,MAAIM,UAAJ;;AACA,MAAKR,MAAM,CAACS,SAAP,CAAiBC,KAAjB,CAAwB,CAAxB,EAA4BC,QAAjC,EAA4C;AAC3CH,IAAAA,UAAU,GAAG;AACZI,MAAAA,MAAM,EAAEZ,MAAM,CAACC,OADH;AAEZE,MAAAA,QAAQ,EAAEH,MAAM,CAACG;AAFL,KAAb;AAIA,GALD,MAKO;AACNK,IAAAA,UAAU,GAAG;AACZK,MAAAA,EAAE,EAAEb,MAAM,CAACa;AADC,KAAb;AAGA;;AAED,SAAOhB,WAAW,CAAE,oBAAF,EAAwBW,UAAxB,EAAoC,EAApC,CAAlB;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\n\n/**\n * Converts a widget entity record into a block.\n *\n * @param {Object} widget The widget entity record.\n * @return {Object} a block (converted from the entity record).\n */\nexport function transformWidgetToBlock( widget ) {\n\tif ( widget.id_base === 'block' ) {\n\t\tconst parsedBlocks = parse( widget.instance.raw.content, {\n\t\t\t__unstableSkipAutop: true,\n\t\t} );\n\t\tif ( ! parsedBlocks.length ) {\n\t\t\treturn createBlock( 'core/paragraph', {}, [] );\n\t\t}\n\n\t\treturn parsedBlocks[ 0 ];\n\t}\n\n\tlet attributes;\n\tif ( widget._embedded.about[ 0 ].is_multi ) {\n\t\tattributes = {\n\t\t\tidBase: widget.id_base,\n\t\t\tinstance: widget.instance,\n\t\t};\n\t} else {\n\t\tattributes = {\n\t\t\tid: widget.id,\n\t\t};\n\t}\n\n\treturn createBlock( 'core/legacy-widget', attributes, [] );\n}\n"]}
@@ -64,25 +64,26 @@ const VideoSettings = _ref => {
64
64
  return createElement(Fragment, null, createElement(ToggleControl, {
65
65
  label: __('Autoplay'),
66
66
  onChange: toggleFactory.autoplay,
67
- checked: autoplay,
67
+ checked: !!autoplay,
68
68
  help: getAutoplayHelp
69
69
  }), createElement(ToggleControl, {
70
70
  label: __('Loop'),
71
71
  onChange: toggleFactory.loop,
72
- checked: loop
72
+ checked: !!loop
73
73
  }), createElement(ToggleControl, {
74
74
  label: __('Muted'),
75
75
  onChange: toggleFactory.muted,
76
- checked: muted
76
+ checked: !!muted
77
77
  }), createElement(ToggleControl, {
78
78
  label: __('Playback controls'),
79
79
  onChange: toggleFactory.controls,
80
- checked: controls
80
+ checked: !!controls
81
81
  }), createElement(ToggleControl, {
82
82
  label: __('Play inline'),
83
83
  onChange: toggleFactory.playsInline,
84
- checked: playsInline
84
+ checked: !!playsInline
85
85
  }), createElement(SelectControl, {
86
+ __nextHasNoMarginBottom: true,
86
87
  label: __('Preload'),
87
88
  value: preload,
88
89
  onChange: onChangePreload,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["__","_x","ToggleControl","SelectControl","useMemo","useCallback","Platform","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton={ true }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/edit-common-settings.js"],"names":["__","_x","ToggleControl","SelectControl","useMemo","useCallback","Platform","options","value","label","VideoSettings","setAttributes","attributes","autoplay","controls","loop","muted","playsInline","preload","autoPlayHelpText","getAutoplayHelp","select","web","checked","native","toggleFactory","toggleAttribute","attribute","newValue","onChangePreload"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { ToggleControl, SelectControl } from '@wordpress/components';\nimport { useMemo, useCallback, Platform } from '@wordpress/element';\n\nconst options = [\n\t{ value: 'auto', label: __( 'Auto' ) },\n\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t{ value: 'none', label: _x( 'None', 'Preload value' ) },\n];\n\nconst VideoSettings = ( { setAttributes, attributes } ) => {\n\tconst { autoplay, controls, loop, muted, playsInline, preload } =\n\t\tattributes;\n\n\tconst autoPlayHelpText = __(\n\t\t'Autoplay may cause usability issues for some users.'\n\t);\n\tconst getAutoplayHelp = Platform.select( {\n\t\tweb: useCallback( ( checked ) => {\n\t\t\treturn checked ? autoPlayHelpText : null;\n\t\t}, [] ),\n\t\tnative: autoPlayHelpText,\n\t} );\n\n\tconst toggleFactory = useMemo( () => {\n\t\tconst toggleAttribute = ( attribute ) => {\n\t\t\treturn ( newValue ) => {\n\t\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t\t};\n\t\t};\n\n\t\treturn {\n\t\t\tautoplay: toggleAttribute( 'autoplay' ),\n\t\t\tloop: toggleAttribute( 'loop' ),\n\t\t\tmuted: toggleAttribute( 'muted' ),\n\t\t\tcontrols: toggleAttribute( 'controls' ),\n\t\t\tplaysInline: toggleAttribute( 'playsInline' ),\n\t\t};\n\t}, [] );\n\n\tconst onChangePreload = useCallback( ( value ) => {\n\t\tsetAttributes( { preload: value } );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\tonChange={ toggleFactory.autoplay }\n\t\t\t\tchecked={ !! autoplay }\n\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\tonChange={ toggleFactory.loop }\n\t\t\t\tchecked={ !! loop }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Muted' ) }\n\t\t\t\tonChange={ toggleFactory.muted }\n\t\t\t\tchecked={ !! muted }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Playback controls' ) }\n\t\t\t\tonChange={ toggleFactory.controls }\n\t\t\t\tchecked={ !! controls }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Play inline' ) }\n\t\t\t\tonChange={ toggleFactory.playsInline }\n\t\t\t\tchecked={ !! playsInline }\n\t\t\t/>\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Preload' ) }\n\t\t\t\tvalue={ preload }\n\t\t\t\tonChange={ onChangePreload }\n\t\t\t\toptions={ options }\n\t\t\t\thideCancelButton={ true }\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default VideoSettings;\n"]}
@@ -273,6 +273,7 @@ function VideoEdit(_ref) {
273
273
  }, createElement(Tracks, {
274
274
  tracks: tracks
275
275
  }))), isTemporaryVideo && createElement(Spinner, null), showCaption && (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
276
+ identifier: "caption",
276
277
  tagName: "figcaption",
277
278
  className: __experimentalGetElementClassName('caption'),
278
279
  "aria-label": __('Video caption text'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","useState","useCallback","__","sprintf","useInstanceId","usePrevious","useDispatch","useSelect","video","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","prevCaption","showCaption","setShowCaption","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","captionRef","node","focus","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls>\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","BaseControl","Button","Disabled","PanelBody","Spinner","Placeholder","ToolbarButton","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaUpload","MediaUploadCheck","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useRef","useEffect","useState","useCallback","__","sprintf","useInstanceId","usePrevious","useDispatch","useSelect","video","icon","caption","captionIcon","createBlock","getDefaultBlockName","noticesStore","createUpgradedEmbedBlock","VideoCommonSettings","TracksEditor","Tracks","placeholder","content","ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","attributes","className","setAttributes","insertBlocksAfter","onReplace","instanceId","videoPlayer","posterImageButton","id","controls","poster","src","tracks","prevCaption","showCaption","setShowCaption","isTemporaryVideo","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","onUploadError","allowedTypes","current","load","captionRef","node","focus","url","undefined","image","onSelectURL","newSrc","embedBlock","createErrorNotice","message","type","classes","blockProps","onSelectPoster","onRemovePoster","videoPosterDescription","newTracks","open","isEmpty","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL } from '@wordpress/blob';\nimport {\n\tBaseControl,\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tSpinner,\n\tPlaceholder,\n\tToolbarButton,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useRef, useEffect, useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId, usePrevious } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { video as icon, caption as captionIcon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport VideoCommonSettings from './edit-common-settings';\nimport TracksEditor from './tracks-editor';\nimport Tracks from './tracks';\n\n// Much of this description is duplicated from MediaPlaceholder.\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t\ticon={ icon }\n\t\t\tlabel={ __( 'Video' ) }\n\t\t\tinstructions={ __(\n\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t) }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n} ) {\n\tconst instanceId = useInstanceId( VideoEdit );\n\tconst videoPlayer = useRef();\n\tconst posterImageButton = useRef();\n\tconst { id, caption, controls, poster, src, tracks } = attributes;\n\tconst prevCaption = usePrevious( caption );\n\tconst [ showCaption, setShowCaption ] = useState( !! caption );\n\tconst isTemporaryVideo = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectVideo( media ),\n\t\t\t\t\tonError: onUploadError,\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\t// We need to show the caption when changes come from\n\t// history navigation(undo/redo).\n\tuseEffect( () => {\n\t\tif ( caption && ! prevCaption ) {\n\t\t\tsetShowCaption( true );\n\t\t}\n\t}, [ caption, prevCaption ] );\n\n\t// Focus the caption when we click to add one.\n\tconst captionRef = useCallback(\n\t\t( node ) => {\n\t\t\tif ( node && ! caption ) {\n\t\t\t\tnode.focus();\n\t\t\t}\n\t\t},\n\t\t[ caption ]\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! caption ) {\n\t\t\tsetShowCaption( false );\n\t\t}\n\t}, [ isSelected, caption ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media.\n\t\tsetAttributes( {\n\t\t\tsrc: media.url,\n\t\t\tid: media.id,\n\t\t\tposter:\n\t\t\t\tmedia.image?.src !== media.icon ? media.image?.src : undefined,\n\t\t\tcaption: media.caption,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\tif ( newSrc !== src ) {\n\t\t\t// Check if there's an embed block that handles this URL.\n\t\t\tconst embedBlock = createUpgradedEmbedBlock( {\n\t\t\t\tattributes: { url: newSrc },\n\t\t\t} );\n\t\t\tif ( undefined !== embedBlock && onReplace ) {\n\t\t\t\tonReplace( embedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetAttributes( { src: newSrc, id: undefined, poster: undefined } );\n\t\t}\n\t}\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryVideo,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\tif ( ! src ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tfunction onSelectPoster( image ) {\n\t\tsetAttributes( { poster: image.url } );\n\t}\n\n\tfunction onRemovePoster() {\n\t\tsetAttributes( { poster: undefined } );\n\n\t\t// Move focus back to the Media Upload button.\n\t\tposterImageButton.current.focus();\n\t}\n\n\tconst videoPosterDescription = `video-block__poster-image-description-${ instanceId }`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCaption( ! showCaption );\n\t\t\t\t\t\tif ( showCaption && caption ) {\n\t\t\t\t\t\t\tsetAttributes( { caption: undefined } );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t\tisPressed={ showCaption }\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCaption\n\t\t\t\t\t\t\t? __( 'Remove caption' )\n\t\t\t\t\t\t\t: __( 'Add caption' )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls>\n\t\t\t\t<TracksEditor\n\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\tonChange={ ( newTracks ) => {\n\t\t\t\t\t\tsetAttributes( { tracks: newTracks } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\tmediaId={ id }\n\t\t\t\t\tmediaURL={ src }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"video/*\"\n\t\t\t\t\tonSelect={ onSelectVideo }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<VideoCommonSettings\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t<BaseControl className=\"editor-video-poster-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Poster image' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\ttitle={ __( 'Select poster image' ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectPoster }\n\t\t\t\t\t\t\t\tallowedTypes={\n\t\t\t\t\t\t\t\t\tVIDEO_POSTER_ALLOWED_MEDIA_TYPES\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\tref={ posterImageButton }\n\t\t\t\t\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t\t\t\t\tvideoPosterDescription\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ ! poster\n\t\t\t\t\t\t\t\t\t\t\t? __( 'Select' )\n\t\t\t\t\t\t\t\t\t\t\t: __( 'Replace' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<p id={ videoPosterDescription } hidden>\n\t\t\t\t\t\t\t\t{ poster\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t/* translators: %s: poster image URL. */\n\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'The current poster image url is %s'\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\tposter\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t'There is no poster image currently selected'\n\t\t\t\t\t\t\t\t\t ) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t{ !! poster && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tonClick={ onRemovePoster }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the video tag if the block is not selected\n\t\t\t\t\tso the user clicking on it won't play the\n\t\t\t\t\tvideo when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<video\n\t\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\t\tposter={ poster }\n\t\t\t\t\t\tsrc={ src }\n\t\t\t\t\t\tref={ videoPlayer }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t\t</video>\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryVideo && <Spinner /> }\n\t\t\t\t{ showCaption &&\n\t\t\t\t\t( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tidentifier=\"caption\"\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\t\tref={ captionRef }\n\t\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default VideoEdit;\n"]}
@@ -101,6 +101,7 @@ function SingleTrackEditor(_ref2) {
101
101
  value: srcLang,
102
102
  help: __('Language tag (en, fr, etc.)')
103
103
  })), createElement(SelectControl, {
104
+ __nextHasNoMarginBottom: true,
104
105
  className: "block-library-video-tracks-editor__single-track-editor-kind-select",
105
106
  options: KIND_OPTIONS,
106
107
  value: kind,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["__","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","getFilename","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["__","sprintf","NavigableMenu","MenuItem","FormFileUpload","MenuGroup","ToolbarGroup","ToolbarButton","Dropdown","Button","TextControl","SelectControl","MediaUpload","MediaUploadCheck","store","blockEditorStore","upload","media","useSelect","useState","getFilename","ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","TrackList","tracks","onEditPress","content","length","map","track","index","SingleTrackEditor","onChange","onClose","onRemove","src","srcLang","kind","fileName","startsWith","newLabel","newSrcLang","newKind","changes","hasChanges","undefined","TracksEditor","mediaUpload","select","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tNavigableMenu,\n\tMenuItem,\n\tFormFileUpload,\n\tMenuGroup,\n\tToolbarGroup,\n\tToolbarButton,\n\tDropdown,\n\tButton,\n\tTextControl,\n\tSelectControl,\n} from '@wordpress/components';\nimport {\n\tMediaUpload,\n\tMediaUploadCheck,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { upload, media } from '@wordpress/icons';\nimport { useSelect } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { getFilename } from '@wordpress/url';\n\nconst ALLOWED_TYPES = [ 'text/vtt' ];\n\nconst DEFAULT_KIND = 'subtitles';\n\nconst KIND_OPTIONS = [\n\t{ label: __( 'Subtitles' ), value: 'subtitles' },\n\t{ label: __( 'Captions' ), value: 'captions' },\n\t{ label: __( 'Descriptions' ), value: 'descriptions' },\n\t{ label: __( 'Chapters' ), value: 'chapters' },\n\t{ label: __( 'Metadata' ), value: 'metadata' },\n];\n\nfunction TrackList( { tracks, onEditPress } ) {\n\tlet content;\n\tif ( tracks.length === 0 ) {\n\t\tcontent = (\n\t\t\t<p className=\"block-library-video-tracks-editor__tracks-informative-message\">\n\t\t\t\t{ __(\n\t\t\t\t\t'Tracks can be subtitles, captions, chapters, or descriptions. They help make your content more accessible to a wider range of users.'\n\t\t\t\t) }\n\t\t\t</p>\n\t\t);\n\t} else {\n\t\tcontent = tracks.map( ( track, index ) => {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__track-list-track\"\n\t\t\t\t>\n\t\t\t\t\t<span>{ track.label } </span>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onEditPress( index ) }\n\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the video text track e.g: \"French subtitles\" */\n\t\t\t\t\t\t\t__( 'Edit %s' ),\n\t\t\t\t\t\t\ttrack.label\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t);\n\t\t} );\n\t}\n\treturn (\n\t\t<MenuGroup\n\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\tclassName=\"block-library-video-tracks-editor__track-list\"\n\t\t>\n\t\t\t{ content }\n\t\t</MenuGroup>\n\t);\n}\n\nfunction SingleTrackEditor( { track, onChange, onClose, onRemove } ) {\n\tconst { src = '', label = '', srcLang = '', kind = DEFAULT_KIND } = track;\n\tconst fileName = src.startsWith( 'blob:' ) ? '' : getFilename( src ) || '';\n\treturn (\n\t\t<NavigableMenu>\n\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor\">\n\t\t\t\t<span className=\"block-library-video-tracks-editor__single-track-editor-edit-track-label\">\n\t\t\t\t\t{ __( 'Edit track' ) }\n\t\t\t\t</span>\n\t\t\t\t<span>\n\t\t\t\t\t{ __( 'File' ) }: <b>{ fileName }</b>\n\t\t\t\t</span>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-label-language\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t/* eslint-disable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tautoFocus\n\t\t\t\t\t\t/* eslint-enable jsx-a11y/no-autofocus */\n\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tlabel: newLabel,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Label' ) }\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\thelp={ __( 'Title of track' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tonChange={ ( newSrcLang ) =>\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\tsrcLang: newSrcLang,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tlabel={ __( 'Source language' ) }\n\t\t\t\t\t\tvalue={ srcLang }\n\t\t\t\t\t\thelp={ __( 'Language tag (en, fr, etc.)' ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tclassName=\"block-library-video-tracks-editor__single-track-editor-kind-select\"\n\t\t\t\t\toptions={ KIND_OPTIONS }\n\t\t\t\t\tvalue={ kind }\n\t\t\t\t\tlabel={ __( 'Kind' ) }\n\t\t\t\t\tonChange={ ( newKind ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\tkind: newKind,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-library-video-tracks-editor__single-track-editor-buttons-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst changes = {};\n\t\t\t\t\t\t\tlet hasChanges = false;\n\t\t\t\t\t\t\tif ( label === '' ) {\n\t\t\t\t\t\t\t\tchanges.label = __( 'English' );\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( srcLang === '' ) {\n\t\t\t\t\t\t\t\tchanges.srcLang = 'en';\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( track.kind === undefined ) {\n\t\t\t\t\t\t\t\tchanges.kind = DEFAULT_KIND;\n\t\t\t\t\t\t\t\thasChanges = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif ( hasChanges ) {\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...track,\n\t\t\t\t\t\t\t\t\t...changes,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Close' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button isDestructive variant=\"link\" onClick={ onRemove }>\n\t\t\t\t\t\t{ __( 'Remove track' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</NavigableMenu>\n\t);\n}\n\nexport default function TracksEditor( { tracks = [], onChange } ) {\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\treturn select( blockEditorStore ).getSettings().mediaUpload;\n\t}, [] );\n\tconst [ trackBeingEdited, setTrackBeingEdited ] = useState( null );\n\n\tif ( ! mediaUpload ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Dropdown\n\t\t\tcontentClassName=\"block-library-video-tracks-editor\"\n\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Text tracks' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t) }\n\t\t\trenderContent={ () => {\n\t\t\t\tif ( trackBeingEdited !== null ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<SingleTrackEditor\n\t\t\t\t\t\t\ttrack={ tracks[ trackBeingEdited ] }\n\t\t\t\t\t\t\tonChange={ ( newTrack ) => {\n\t\t\t\t\t\t\t\tconst newTracks = [ ...tracks ];\n\t\t\t\t\t\t\t\tnewTracks[ trackBeingEdited ] = newTrack;\n\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonClose={ () => setTrackBeingEdited( null ) }\n\t\t\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\t\t\ttracks.filter(\n\t\t\t\t\t\t\t\t\t\t( _track, index ) =>\n\t\t\t\t\t\t\t\t\t\t\tindex !== trackBeingEdited\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\tsetTrackBeingEdited( null );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigableMenu>\n\t\t\t\t\t\t\t<TrackList\n\t\t\t\t\t\t\t\ttracks={ tracks }\n\t\t\t\t\t\t\t\tonEditPress={ setTrackBeingEdited }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<MenuGroup\n\t\t\t\t\t\t\t\tclassName=\"block-library-video-tracks-editor__add-tracks-container\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Add tracks' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\t\tonSelect={ ( { url } ) => {\n\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\tonChange( [ ...tracks, { src: url } ] );\n\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited( trackIndex );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_TYPES }\n\t\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\ticon={ media }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'Open Media Library' ) }\n\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\t\t\t\t\tonChange={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\t\tconst files = event.target.files;\n\t\t\t\t\t\t\t\t\t\t\tconst trackIndex = tracks.length;\n\t\t\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\t\t\tallowedTypes: ALLOWED_TYPES,\n\t\t\t\t\t\t\t\t\t\t\t\tfilesList: files,\n\t\t\t\t\t\t\t\t\t\t\t\tonFileChange: ( [\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ url },\n\t\t\t\t\t\t\t\t\t\t\t\t] ) => {\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst newTracks = [\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks,\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t! newTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t] = {};\n\t\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t\t\tnewTracks[ trackIndex ] = {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t...tracks[ trackIndex ],\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tsrc: url,\n\t\t\t\t\t\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\t\t\t\t\t\tonChange( newTracks );\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetTrackBeingEdited(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrackIndex\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\taccept=\".vtt,text/vtt\"\n\t\t\t\t\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\topenFileDialog();\n\t\t\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t</NavigableMenu>\n\t\t\t\t\t</>\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n}\n"]}
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */