@wordpress/block-library 7.8.0 → 7.11.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 (759) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.js +1 -0
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/save.js +2 -1
  5. package/build/audio/save.js.map +1 -1
  6. package/build/avatar/hooks.js +2 -2
  7. package/build/avatar/hooks.js.map +1 -1
  8. package/build/button/edit.js +3 -2
  9. package/build/button/edit.js.map +1 -1
  10. package/build/button/index.js +1 -24
  11. package/build/button/index.js.map +1 -1
  12. package/build/button/save.js +1 -1
  13. package/build/button/save.js.map +1 -1
  14. package/build/buttons/edit.js +1 -1
  15. package/build/buttons/edit.js.map +1 -1
  16. package/build/columns/edit.native.js +1 -1
  17. package/build/columns/edit.native.js.map +1 -1
  18. package/build/columns/variations.js +2 -2
  19. package/build/columns/variations.js.map +1 -1
  20. package/build/comment-author-name/edit.js +3 -5
  21. package/build/comment-author-name/edit.js.map +1 -1
  22. package/build/comment-author-name/index.js +0 -4
  23. package/build/comment-author-name/index.js.map +1 -1
  24. package/build/comment-date/edit.js +4 -4
  25. package/build/comment-date/edit.js.map +1 -1
  26. package/build/comment-date/index.js +0 -4
  27. package/build/comment-date/index.js.map +1 -1
  28. package/build/comment-edit-link/index.js +0 -4
  29. package/build/comment-edit-link/index.js.map +1 -1
  30. package/build/comment-reply-link/index.js +0 -4
  31. package/build/comment-reply-link/index.js.map +1 -1
  32. package/build/comment-template/index.js +1 -1
  33. package/build/comments/deprecated.js +65 -0
  34. package/build/comments/deprecated.js.map +1 -0
  35. package/build/comments/edit/comments-legacy.js +73 -0
  36. package/build/comments/edit/comments-legacy.js.map +1 -0
  37. package/build/comments/{edit.js → edit/index.js} +17 -30
  38. package/build/comments/edit/index.js.map +1 -0
  39. package/build/comments/edit/placeholder.js +117 -0
  40. package/build/comments/edit/placeholder.js.map +1 -0
  41. package/build/comments/edit/template.js +39 -0
  42. package/build/comments/edit/template.js.map +1 -0
  43. package/build/comments/index.js +11 -3
  44. package/build/comments/index.js.map +1 -1
  45. package/build/comments/save.js +12 -4
  46. package/build/comments/save.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -1
  48. package/build/comments-title/deprecated.js +1 -4
  49. package/build/comments-title/deprecated.js.map +1 -1
  50. package/build/comments-title/index.js +1 -1
  51. package/build/cover/edit/block-controls.js +2 -12
  52. package/build/cover/edit/block-controls.js.map +1 -1
  53. package/build/cover/edit/cover-placeholder.js +3 -1
  54. package/build/cover/edit/cover-placeholder.js.map +1 -1
  55. package/build/cover/edit/index.js +19 -4
  56. package/build/cover/edit/index.js.map +1 -1
  57. package/build/cover/index.js +1 -0
  58. package/build/cover/index.js.map +1 -1
  59. package/build/cover/transforms.js +3 -2
  60. package/build/cover/transforms.js.map +1 -1
  61. package/build/embed/embed-placeholder.native.js +1 -3
  62. package/build/embed/embed-placeholder.native.js.map +1 -1
  63. package/build/embed/embed-preview.js +1 -0
  64. package/build/embed/embed-preview.js.map +1 -1
  65. package/build/embed/icons.js +21 -1
  66. package/build/embed/icons.js.map +1 -1
  67. package/build/embed/save.js +1 -0
  68. package/build/embed/save.js.map +1 -1
  69. package/build/embed/variations.js +11 -0
  70. package/build/embed/variations.js.map +1 -1
  71. package/build/file/edit.js +1 -1
  72. package/build/file/edit.js.map +1 -1
  73. package/build/file/save.js +1 -1
  74. package/build/file/save.js.map +1 -1
  75. package/build/gallery/edit.js +11 -19
  76. package/build/gallery/edit.js.map +1 -1
  77. package/build/gallery/gallery.js +1 -1
  78. package/build/gallery/gallery.js.map +1 -1
  79. package/build/gallery/save.js +1 -1
  80. package/build/gallery/save.js.map +1 -1
  81. package/build/gallery/transforms.js +32 -22
  82. package/build/gallery/transforms.js.map +1 -1
  83. package/build/gallery/use-get-media.js +7 -18
  84. package/build/gallery/use-get-media.js.map +1 -1
  85. package/build/gallery/use-get-media.native.js +59 -0
  86. package/build/gallery/use-get-media.native.js.map +1 -0
  87. package/build/gallery/v1/edit.js +3 -3
  88. package/build/gallery/v1/edit.js.map +1 -1
  89. package/build/gallery/v1/gallery-image.js +1 -0
  90. package/build/gallery/v1/gallery-image.js.map +1 -1
  91. package/build/gallery/v1/gallery.js +1 -1
  92. package/build/gallery/v1/gallery.js.map +1 -1
  93. package/build/gallery/v1/save.js +10 -2
  94. package/build/gallery/v1/save.js.map +1 -1
  95. package/build/group/edit.js +1 -3
  96. package/build/group/edit.js.map +1 -1
  97. package/build/group/index.js +2 -0
  98. package/build/group/index.js.map +1 -1
  99. package/build/group/variations.js +1 -1
  100. package/build/group/variations.js.map +1 -1
  101. package/build/heading/heading-level-dropdown.js +2 -1
  102. package/build/heading/heading-level-dropdown.js.map +1 -1
  103. package/build/heading/index.js +9 -4
  104. package/build/heading/index.js.map +1 -1
  105. package/build/html/edit.js +11 -20
  106. package/build/html/edit.js.map +1 -1
  107. package/build/html/preview.js +48 -0
  108. package/build/html/preview.js.map +1 -0
  109. package/build/image/deprecated.js +77 -9
  110. package/build/image/deprecated.js.map +1 -1
  111. package/build/image/edit.js +3 -1
  112. package/build/image/edit.js.map +1 -1
  113. package/build/image/edit.native.js +20 -9
  114. package/build/image/edit.native.js.map +1 -1
  115. package/build/image/image.js +28 -20
  116. package/build/image/image.js.map +1 -1
  117. package/build/image/index.js +7 -1
  118. package/build/image/index.js.map +1 -1
  119. package/build/image/save.js +9 -2
  120. package/build/image/save.js.map +1 -1
  121. package/build/index.js +1 -3
  122. package/build/index.js.map +1 -1
  123. package/build/index.native.js +3 -13
  124. package/build/index.native.js.map +1 -1
  125. package/build/latest-posts/edit.js +1 -1
  126. package/build/latest-posts/edit.js.map +1 -1
  127. package/build/list/transforms.js +4 -63
  128. package/build/list/transforms.js.map +1 -1
  129. package/build/list/v2/transforms.js +31 -42
  130. package/build/list/v2/transforms.js.map +1 -1
  131. package/build/list-item/edit.js +14 -9
  132. package/build/list-item/edit.js.map +1 -1
  133. package/build/list-item/hooks/index.js +8 -8
  134. package/build/list-item/hooks/index.js.map +1 -1
  135. package/build/list-item/hooks/use-enter.js +7 -4
  136. package/build/list-item/hooks/use-enter.js.map +1 -1
  137. package/build/list-item/hooks/use-merge.js +174 -0
  138. package/build/list-item/hooks/use-merge.js.map +1 -0
  139. package/build/list-item/hooks/use-outdent-list-item.js +93 -36
  140. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  141. package/build/list-item/utils.js +125 -1
  142. package/build/list-item/utils.js.map +1 -1
  143. package/build/media-text/deprecated.js +134 -7
  144. package/build/media-text/deprecated.js.map +1 -1
  145. package/build/media-text/edit.js +2 -2
  146. package/build/media-text/edit.js.map +1 -1
  147. package/build/media-text/save.js +13 -0
  148. package/build/media-text/save.js.map +1 -1
  149. package/build/more/edit.js +2 -4
  150. package/build/more/edit.js.map +1 -1
  151. package/build/more/save.js +1 -7
  152. package/build/more/save.js.map +1 -1
  153. package/build/navigation/edit/index.js +1 -1
  154. package/build/navigation/edit/index.js.map +1 -1
  155. package/build/navigation/index.js +9 -0
  156. package/build/navigation/index.js.map +1 -1
  157. package/build/navigation/use-navigation-menu.js +16 -74
  158. package/build/navigation/use-navigation-menu.js.map +1 -1
  159. package/build/navigation/view.js +6 -1
  160. package/build/navigation/view.js.map +1 -1
  161. package/build/navigation-link/edit.js +5 -4
  162. package/build/navigation-link/edit.js.map +1 -1
  163. package/build/navigation-link/hooks.js +0 -16
  164. package/build/navigation-link/hooks.js.map +1 -1
  165. package/build/navigation-link/index.js +1 -1
  166. package/build/navigation-link/index.js.map +1 -1
  167. package/build/navigation-submenu/edit.js +2 -1
  168. package/build/navigation-submenu/edit.js.map +1 -1
  169. package/build/navigation-submenu/view.js +6 -1
  170. package/build/navigation-submenu/view.js.map +1 -1
  171. package/build/nextpage/edit.js +1 -3
  172. package/build/nextpage/edit.js.map +1 -1
  173. package/build/page-list/edit.js +10 -3
  174. package/build/page-list/edit.js.map +1 -1
  175. package/build/paragraph/edit.js +7 -11
  176. package/build/paragraph/edit.js.map +1 -1
  177. package/build/post-comments-form/edit.js +4 -37
  178. package/build/post-comments-form/edit.js.map +1 -1
  179. package/build/post-comments-form/form.js +47 -3
  180. package/build/post-comments-form/form.js.map +1 -1
  181. package/build/post-terms/edit.js +3 -2
  182. package/build/post-terms/edit.js.map +1 -1
  183. package/build/post-terms/index.js +1 -1
  184. package/build/post-terms/index.js.map +1 -1
  185. package/build/post-title/index.js +1 -0
  186. package/build/post-title/index.js.map +1 -1
  187. package/build/query/edit/inspector-controls/index.js +1 -1
  188. package/build/query/edit/inspector-controls/index.js.map +1 -1
  189. package/build/query/index.js +1 -1
  190. package/build/query/index.js.map +1 -1
  191. package/build/query-no-results/edit.js +1 -1
  192. package/build/query-no-results/edit.js.map +1 -1
  193. package/build/query-pagination-next/edit.js +2 -1
  194. package/build/query-pagination-next/edit.js.map +1 -1
  195. package/build/query-pagination-previous/edit.js +2 -1
  196. package/build/query-pagination-previous/edit.js.map +1 -1
  197. package/build/quote/deprecated.js +168 -36
  198. package/build/quote/deprecated.js.map +1 -1
  199. package/build/quote/edit.js +76 -39
  200. package/build/quote/edit.js.map +1 -1
  201. package/build/quote/index.js +9 -45
  202. package/build/quote/index.js.map +1 -1
  203. package/build/quote/save.js +1 -5
  204. package/build/quote/save.js.map +1 -1
  205. package/build/quote/transforms.js +110 -158
  206. package/build/quote/transforms.js.map +1 -1
  207. package/build/search/edit.js +1 -1
  208. package/build/search/edit.js.map +1 -1
  209. package/build/site-logo/edit.js +5 -13
  210. package/build/site-logo/edit.js.map +1 -1
  211. package/build/site-title/edit/level-toolbar.js +2 -1
  212. package/build/site-title/edit/level-toolbar.js.map +1 -1
  213. package/build/social-link/icons/index.js +13 -0
  214. package/build/social-link/icons/index.js.map +1 -1
  215. package/build/social-link/icons/whatsapp.js +25 -0
  216. package/build/social-link/icons/whatsapp.js.map +1 -0
  217. package/build/social-link/variations.js +7 -0
  218. package/build/social-link/variations.js.map +1 -1
  219. package/build/table/edit.js +1 -0
  220. package/build/table/edit.js.map +1 -1
  221. package/build/table/save.js +2 -1
  222. package/build/table/save.js.map +1 -1
  223. package/build/template-part/edit/index.js +17 -8
  224. package/build/template-part/edit/index.js.map +1 -1
  225. package/build/template-part/edit/selection-modal.js +33 -13
  226. package/build/template-part/edit/selection-modal.js.map +1 -1
  227. package/build/template-part/edit/utils/search.js +94 -0
  228. package/build/template-part/edit/utils/search.js.map +1 -0
  229. package/build/template-part/index.js +1 -1
  230. package/build/template-part/index.js.map +1 -1
  231. package/build/template-part/variations.js +0 -16
  232. package/build/template-part/variations.js.map +1 -1
  233. package/build/utils/clean-empty-object.js +5 -3
  234. package/build/utils/clean-empty-object.js.map +1 -1
  235. package/build/video/edit.js +1 -0
  236. package/build/video/edit.js.map +1 -1
  237. package/build/video/save.js +1 -0
  238. package/build/video/save.js.map +1 -1
  239. package/build/video/tracks-editor.js +9 -11
  240. package/build/video/tracks-editor.js.map +1 -1
  241. package/build-module/audio/edit.js +2 -1
  242. package/build-module/audio/edit.js.map +1 -1
  243. package/build-module/audio/save.js +3 -2
  244. package/build-module/audio/save.js.map +1 -1
  245. package/build-module/avatar/hooks.js +2 -2
  246. package/build-module/avatar/hooks.js.map +1 -1
  247. package/build-module/button/edit.js +4 -3
  248. package/build-module/button/edit.js.map +1 -1
  249. package/build-module/button/index.js +1 -24
  250. package/build-module/button/index.js.map +1 -1
  251. package/build-module/button/save.js +2 -2
  252. package/build-module/button/save.js.map +1 -1
  253. package/build-module/buttons/edit.js +2 -2
  254. package/build-module/buttons/edit.js.map +1 -1
  255. package/build-module/columns/edit.native.js +2 -2
  256. package/build-module/columns/edit.native.js.map +1 -1
  257. package/build-module/columns/variations.js +2 -2
  258. package/build-module/columns/variations.js.map +1 -1
  259. package/build-module/comment-author-name/edit.js +3 -5
  260. package/build-module/comment-author-name/edit.js.map +1 -1
  261. package/build-module/comment-author-name/index.js +0 -4
  262. package/build-module/comment-author-name/index.js.map +1 -1
  263. package/build-module/comment-date/edit.js +4 -4
  264. package/build-module/comment-date/edit.js.map +1 -1
  265. package/build-module/comment-date/index.js +0 -4
  266. package/build-module/comment-date/index.js.map +1 -1
  267. package/build-module/comment-edit-link/index.js +0 -4
  268. package/build-module/comment-edit-link/index.js.map +1 -1
  269. package/build-module/comment-reply-link/index.js +0 -4
  270. package/build-module/comment-reply-link/index.js.map +1 -1
  271. package/build-module/comment-template/index.js +1 -1
  272. package/build-module/comments/deprecated.js +54 -0
  273. package/build-module/comments/deprecated.js.map +1 -0
  274. package/build-module/comments/edit/comments-legacy.js +59 -0
  275. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  276. package/build-module/comments/edit/index.js +37 -0
  277. package/build-module/comments/edit/index.js.map +1 -0
  278. package/build-module/comments/edit/placeholder.js +102 -0
  279. package/build-module/comments/edit/placeholder.js.map +1 -0
  280. package/build-module/comments/edit/template.js +32 -0
  281. package/build-module/comments/edit/template.js.map +1 -0
  282. package/build-module/comments/index.js +10 -3
  283. package/build-module/comments/index.js.map +1 -1
  284. package/build-module/comments/save.js +9 -4
  285. package/build-module/comments/save.js.map +1 -1
  286. package/build-module/comments-pagination/index.js +1 -1
  287. package/build-module/comments-title/deprecated.js +1 -4
  288. package/build-module/comments-title/deprecated.js.map +1 -1
  289. package/build-module/comments-title/index.js +1 -1
  290. package/build-module/cover/edit/block-controls.js +3 -13
  291. package/build-module/cover/edit/block-controls.js.map +1 -1
  292. package/build-module/cover/edit/cover-placeholder.js +3 -1
  293. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  294. package/build-module/cover/edit/index.js +19 -4
  295. package/build-module/cover/edit/index.js.map +1 -1
  296. package/build-module/cover/index.js +1 -0
  297. package/build-module/cover/index.js.map +1 -1
  298. package/build-module/cover/transforms.js +3 -2
  299. package/build-module/cover/transforms.js.map +1 -1
  300. package/build-module/embed/embed-placeholder.native.js +1 -2
  301. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  302. package/build-module/embed/embed-preview.js +2 -1
  303. package/build-module/embed/embed-preview.js.map +1 -1
  304. package/build-module/embed/icons.js +19 -0
  305. package/build-module/embed/icons.js.map +1 -1
  306. package/build-module/embed/save.js +2 -1
  307. package/build-module/embed/save.js.map +1 -1
  308. package/build-module/embed/variations.js +12 -1
  309. package/build-module/embed/variations.js.map +1 -1
  310. package/build-module/file/edit.js +2 -2
  311. package/build-module/file/edit.js.map +1 -1
  312. package/build-module/file/save.js +2 -2
  313. package/build-module/file/save.js.map +1 -1
  314. package/build-module/gallery/edit.js +11 -18
  315. package/build-module/gallery/edit.js.map +1 -1
  316. package/build-module/gallery/gallery.js +2 -2
  317. package/build-module/gallery/gallery.js.map +1 -1
  318. package/build-module/gallery/save.js +2 -2
  319. package/build-module/gallery/save.js.map +1 -1
  320. package/build-module/gallery/transforms.js +33 -23
  321. package/build-module/gallery/transforms.js.map +1 -1
  322. package/build-module/gallery/use-get-media.js +6 -16
  323. package/build-module/gallery/use-get-media.js.map +1 -1
  324. package/build-module/gallery/use-get-media.native.js +50 -0
  325. package/build-module/gallery/use-get-media.native.js.map +1 -0
  326. package/build-module/gallery/v1/edit.js +4 -4
  327. package/build-module/gallery/v1/edit.js.map +1 -1
  328. package/build-module/gallery/v1/gallery-image.js +2 -1
  329. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  330. package/build-module/gallery/v1/gallery.js +2 -2
  331. package/build-module/gallery/v1/gallery.js.map +1 -1
  332. package/build-module/gallery/v1/save.js +8 -3
  333. package/build-module/gallery/v1/save.js.map +1 -1
  334. package/build-module/group/edit.js +1 -3
  335. package/build-module/group/edit.js.map +1 -1
  336. package/build-module/group/index.js +2 -0
  337. package/build-module/group/index.js.map +1 -1
  338. package/build-module/group/variations.js +2 -2
  339. package/build-module/group/variations.js.map +1 -1
  340. package/build-module/heading/heading-level-dropdown.js +2 -1
  341. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  342. package/build-module/heading/index.js +9 -4
  343. package/build-module/heading/index.js.map +1 -1
  344. package/build-module/html/edit.js +12 -23
  345. package/build-module/html/edit.js.map +1 -1
  346. package/build-module/html/preview.js +38 -0
  347. package/build-module/html/preview.js.map +1 -0
  348. package/build-module/image/deprecated.js +77 -9
  349. package/build-module/image/deprecated.js.map +1 -1
  350. package/build-module/image/edit.js +5 -3
  351. package/build-module/image/edit.js.map +1 -1
  352. package/build-module/image/edit.native.js +20 -9
  353. package/build-module/image/edit.native.js.map +1 -1
  354. package/build-module/image/image.js +30 -22
  355. package/build-module/image/image.js.map +1 -1
  356. package/build-module/image/index.js +7 -1
  357. package/build-module/image/index.js.map +1 -1
  358. package/build-module/image/save.js +10 -3
  359. package/build-module/image/save.js.map +1 -1
  360. package/build-module/index.js +1 -2
  361. package/build-module/index.js.map +1 -1
  362. package/build-module/index.native.js +3 -13
  363. package/build-module/index.native.js.map +1 -1
  364. package/build-module/latest-posts/edit.js +2 -2
  365. package/build-module/latest-posts/edit.js.map +1 -1
  366. package/build-module/list/transforms.js +4 -63
  367. package/build-module/list/transforms.js.map +1 -1
  368. package/build-module/list/v2/transforms.js +32 -44
  369. package/build-module/list/v2/transforms.js.map +1 -1
  370. package/build-module/list-item/edit.js +14 -10
  371. package/build-module/list-item/edit.js.map +1 -1
  372. package/build-module/list-item/hooks/index.js +1 -1
  373. package/build-module/list-item/hooks/index.js.map +1 -1
  374. package/build-module/list-item/hooks/use-enter.js +7 -4
  375. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  376. package/build-module/list-item/hooks/use-merge.js +160 -0
  377. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  378. package/build-module/list-item/hooks/use-outdent-list-item.js +88 -33
  379. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  380. package/build-module/list-item/utils.js +123 -2
  381. package/build-module/list-item/utils.js.map +1 -1
  382. package/build-module/media-text/deprecated.js +134 -8
  383. package/build-module/media-text/deprecated.js.map +1 -1
  384. package/build-module/media-text/edit.js +2 -2
  385. package/build-module/media-text/edit.js.map +1 -1
  386. package/build-module/media-text/save.js +13 -0
  387. package/build-module/media-text/save.js.map +1 -1
  388. package/build-module/more/edit.js +2 -4
  389. package/build-module/more/edit.js.map +1 -1
  390. package/build-module/more/save.js +1 -6
  391. package/build-module/more/save.js.map +1 -1
  392. package/build-module/navigation/edit/index.js +1 -1
  393. package/build-module/navigation/edit/index.js.map +1 -1
  394. package/build-module/navigation/index.js +9 -0
  395. package/build-module/navigation/index.js.map +1 -1
  396. package/build-module/navigation/use-navigation-menu.js +17 -75
  397. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  398. package/build-module/navigation/view.js +6 -1
  399. package/build-module/navigation/view.js.map +1 -1
  400. package/build-module/navigation-link/edit.js +5 -4
  401. package/build-module/navigation-link/edit.js.map +1 -1
  402. package/build-module/navigation-link/hooks.js +0 -13
  403. package/build-module/navigation-link/hooks.js.map +1 -1
  404. package/build-module/navigation-link/index.js +1 -1
  405. package/build-module/navigation-link/index.js.map +1 -1
  406. package/build-module/navigation-submenu/edit.js +2 -1
  407. package/build-module/navigation-submenu/edit.js.map +1 -1
  408. package/build-module/navigation-submenu/view.js +6 -1
  409. package/build-module/navigation-submenu/view.js.map +1 -1
  410. package/build-module/nextpage/edit.js +1 -3
  411. package/build-module/nextpage/edit.js.map +1 -1
  412. package/build-module/page-list/edit.js +10 -3
  413. package/build-module/page-list/edit.js.map +1 -1
  414. package/build-module/paragraph/edit.js +8 -12
  415. package/build-module/paragraph/edit.js.map +1 -1
  416. package/build-module/post-comments-form/edit.js +5 -35
  417. package/build-module/post-comments-form/edit.js.map +1 -1
  418. package/build-module/post-comments-form/form.js +46 -5
  419. package/build-module/post-comments-form/form.js.map +1 -1
  420. package/build-module/post-terms/edit.js +3 -2
  421. package/build-module/post-terms/edit.js.map +1 -1
  422. package/build-module/post-terms/index.js +1 -1
  423. package/build-module/post-terms/index.js.map +1 -1
  424. package/build-module/post-title/index.js +1 -0
  425. package/build-module/post-title/index.js.map +1 -1
  426. package/build-module/query/edit/inspector-controls/index.js +1 -1
  427. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  428. package/build-module/query/index.js +1 -1
  429. package/build-module/query/index.js.map +1 -1
  430. package/build-module/query-no-results/edit.js +2 -2
  431. package/build-module/query-no-results/edit.js.map +1 -1
  432. package/build-module/query-pagination-next/edit.js +2 -1
  433. package/build-module/query-pagination-next/edit.js.map +1 -1
  434. package/build-module/query-pagination-previous/edit.js +2 -1
  435. package/build-module/query-pagination-previous/edit.js.map +1 -1
  436. package/build-module/quote/deprecated.js +162 -36
  437. package/build-module/quote/deprecated.js.map +1 -1
  438. package/build-module/quote/edit.js +77 -43
  439. package/build-module/quote/edit.js.map +1 -1
  440. package/build-module/quote/index.js +9 -39
  441. package/build-module/quote/index.js.map +1 -1
  442. package/build-module/quote/save.js +4 -8
  443. package/build-module/quote/save.js.map +1 -1
  444. package/build-module/quote/transforms.js +111 -158
  445. package/build-module/quote/transforms.js.map +1 -1
  446. package/build-module/search/edit.js +2 -2
  447. package/build-module/search/edit.js.map +1 -1
  448. package/build-module/site-logo/edit.js +5 -13
  449. package/build-module/site-logo/edit.js.map +1 -1
  450. package/build-module/site-title/edit/level-toolbar.js +2 -1
  451. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  452. package/build-module/social-link/icons/index.js +1 -0
  453. package/build-module/social-link/icons/index.js.map +1 -1
  454. package/build-module/social-link/icons/whatsapp.js +15 -0
  455. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  456. package/build-module/social-link/variations.js +8 -1
  457. package/build-module/social-link/variations.js.map +1 -1
  458. package/build-module/table/edit.js +2 -1
  459. package/build-module/table/edit.js.map +1 -1
  460. package/build-module/table/save.js +3 -2
  461. package/build-module/table/save.js.map +1 -1
  462. package/build-module/template-part/edit/index.js +20 -11
  463. package/build-module/template-part/edit/index.js.map +1 -1
  464. package/build-module/template-part/edit/selection-modal.js +33 -15
  465. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  466. package/build-module/template-part/edit/utils/search.js +84 -0
  467. package/build-module/template-part/edit/utils/search.js.map +1 -0
  468. package/build-module/template-part/index.js +1 -1
  469. package/build-module/template-part/index.js.map +1 -1
  470. package/build-module/template-part/variations.js +0 -13
  471. package/build-module/template-part/variations.js.map +1 -1
  472. package/build-module/utils/clean-empty-object.js +5 -2
  473. package/build-module/utils/clean-empty-object.js.map +1 -1
  474. package/build-module/video/edit.js +2 -1
  475. package/build-module/video/edit.js.map +1 -1
  476. package/build-module/video/save.js +2 -1
  477. package/build-module/video/save.js.map +1 -1
  478. package/build-module/video/tracks-editor.js +9 -11
  479. package/build-module/video/tracks-editor.js.map +1 -1
  480. package/build-style/button/style-rtl.css +6 -1
  481. package/build-style/button/style.css +6 -1
  482. package/build-style/comment-template/style-rtl.css +12 -0
  483. package/build-style/comment-template/style.css +12 -0
  484. package/build-style/comments/editor-rtl.css +122 -0
  485. package/build-style/comments/editor.css +122 -0
  486. package/build-style/{post-comments → comments}/style-rtl.css +3 -1
  487. package/build-style/{post-comments → comments}/style.css +3 -1
  488. package/build-style/common-rtl.css +7 -0
  489. package/build-style/common.css +7 -0
  490. package/build-style/cover/style-rtl.css +2 -2
  491. package/build-style/cover/style.css +2 -2
  492. package/build-style/editor-elements-rtl.css +85 -0
  493. package/build-style/editor-elements.css +85 -0
  494. package/build-style/editor-rtl.css +154 -10
  495. package/build-style/editor.css +154 -10
  496. package/build-style/{post-comments/editor-rtl.css → elements-rtl.css} +5 -2
  497. package/build-style/{post-comments/editor.css → elements.css} +5 -2
  498. package/build-style/file/style-rtl.css +5 -8
  499. package/build-style/file/style.css +5 -8
  500. package/build-style/gallery/style-rtl.css +7 -2
  501. package/build-style/gallery/style.css +7 -2
  502. package/build-style/image/editor-rtl.css +4 -3
  503. package/build-style/image/editor.css +4 -3
  504. package/build-style/image/style-rtl.css +33 -3
  505. package/build-style/image/style.css +33 -3
  506. package/build-style/navigation/style-rtl.css +9 -1
  507. package/build-style/navigation/style.css +9 -1
  508. package/build-style/post-comments-form/editor-rtl.css +3 -0
  509. package/build-style/post-comments-form/editor.css +3 -0
  510. package/build-style/post-comments-form/style-rtl.css +0 -1
  511. package/build-style/post-comments-form/style.css +0 -1
  512. package/build-style/post-template/style-rtl.css +9 -18
  513. package/build-style/post-template/style.css +9 -18
  514. package/build-style/query/editor-rtl.css +1 -1
  515. package/build-style/query/editor.css +1 -1
  516. package/build-style/search/style-rtl.css +6 -8
  517. package/build-style/search/style.css +6 -8
  518. package/build-style/search/theme-rtl.css +5 -0
  519. package/build-style/search/theme.css +5 -0
  520. package/build-style/social-link/editor-rtl.css +1 -0
  521. package/build-style/social-link/editor.css +1 -0
  522. package/build-style/social-links/style-rtl.css +8 -0
  523. package/build-style/social-links/style.css +8 -0
  524. package/build-style/style-rtl.css +216 -154
  525. package/build-style/style.css +216 -154
  526. package/build-style/template-part/editor-rtl.css +14 -3
  527. package/build-style/template-part/editor.css +14 -3
  528. package/build-style/theme-rtl.css +5 -0
  529. package/build-style/theme.css +5 -0
  530. package/package.json +28 -28
  531. package/src/audio/edit.js +4 -0
  532. package/src/audio/save.js +12 -2
  533. package/src/avatar/hooks.js +6 -9
  534. package/src/button/block.json +1 -24
  535. package/src/button/edit.js +3 -2
  536. package/src/button/save.js +2 -2
  537. package/src/button/style.scss +13 -1
  538. package/src/buttons/edit.js +1 -5
  539. package/src/columns/edit.native.js +2 -2
  540. package/src/columns/variations.js +2 -2
  541. package/src/comment-author-name/block.json +0 -4
  542. package/src/comment-author-name/edit.js +3 -12
  543. package/src/comment-date/block.json +0 -4
  544. package/src/comment-date/edit.js +10 -14
  545. package/src/comment-date/index.php +0 -3
  546. package/src/comment-edit-link/block.json +0 -4
  547. package/src/comment-reply-link/block.json +0 -4
  548. package/src/comment-template/block.json +1 -1
  549. package/src/comment-template/style.scss +14 -0
  550. package/src/comments/block.json +7 -2
  551. package/src/comments/deprecated.js +53 -0
  552. package/src/comments/edit/comments-legacy.js +71 -0
  553. package/src/comments/edit/index.js +35 -0
  554. package/src/comments/edit/placeholder.js +124 -0
  555. package/src/comments/{edit.js → edit/template.js} +25 -32
  556. package/src/comments/editor.scss +9 -0
  557. package/src/comments/index.js +2 -0
  558. package/src/comments/index.php +219 -0
  559. package/src/comments/save.js +8 -7
  560. package/src/{post-comments → comments}/style.scss +14 -3
  561. package/src/comments-pagination/block.json +1 -1
  562. package/src/comments-title/block.json +1 -1
  563. package/src/comments-title/deprecated.js +0 -2
  564. package/src/common.scss +2 -0
  565. package/src/cover/block.json +1 -0
  566. package/src/cover/edit/block-controls.js +4 -20
  567. package/src/cover/edit/cover-placeholder.js +2 -0
  568. package/src/cover/edit/index.js +16 -0
  569. package/src/cover/index.php +21 -8
  570. package/src/cover/style.scss +2 -2
  571. package/src/cover/transforms.js +2 -2
  572. package/src/editor-elements.scss +10 -0
  573. package/src/editor.scss +2 -1
  574. package/src/elements.scss +6 -0
  575. package/src/embed/embed-placeholder.native.js +2 -3
  576. package/src/embed/embed-preview.js +8 -1
  577. package/src/embed/icons.js +25 -0
  578. package/src/embed/save.js +10 -2
  579. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  580. package/src/embed/variations.js +10 -0
  581. package/src/file/edit.js +4 -2
  582. package/src/file/save.js +2 -2
  583. package/src/file/style.scss +5 -5
  584. package/src/freeform/editor.scss +0 -2
  585. package/src/gallery/edit.js +12 -23
  586. package/src/gallery/gallery.js +9 -2
  587. package/src/gallery/index.php +5 -1
  588. package/src/gallery/save.js +5 -1
  589. package/src/gallery/style.scss +10 -1
  590. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  591. package/src/gallery/test/helpers.native.js +11 -198
  592. package/src/gallery/test/index.native.js +19 -29
  593. package/src/gallery/transforms.js +28 -13
  594. package/src/gallery/use-get-media.js +11 -28
  595. package/src/gallery/use-get-media.native.js +44 -0
  596. package/src/gallery/v1/edit.js +3 -4
  597. package/src/gallery/v1/gallery-image.js +4 -0
  598. package/src/gallery/v1/gallery.js +8 -2
  599. package/src/gallery/v1/save.js +20 -3
  600. package/src/group/block.json +2 -0
  601. package/src/group/edit.js +1 -3
  602. package/src/group/variations.js +2 -2
  603. package/src/heading/heading-level-dropdown.js +1 -0
  604. package/src/heading/index.js +8 -2
  605. package/src/html/edit.js +10 -40
  606. package/src/html/preview.js +46 -0
  607. package/src/image/block.json +7 -1
  608. package/src/image/deprecated.js +86 -0
  609. package/src/image/edit.js +6 -1
  610. package/src/image/edit.native.js +19 -7
  611. package/src/image/editor.scss +9 -4
  612. package/src/image/image.js +28 -16
  613. package/src/image/save.js +20 -3
  614. package/src/image/style.scss +39 -3
  615. package/src/image/test/edit.native.js +51 -19
  616. package/src/index.js +0 -2
  617. package/src/index.native.js +2 -11
  618. package/src/latest-posts/edit.js +2 -6
  619. package/src/list/transforms.js +0 -47
  620. package/src/list/v2/transforms.js +23 -46
  621. package/src/list-item/edit.js +10 -12
  622. package/src/list-item/hooks/index.js +1 -1
  623. package/src/list-item/hooks/use-enter.js +9 -6
  624. package/src/list-item/hooks/use-merge.js +141 -0
  625. package/src/list-item/hooks/use-outdent-list-item.js +79 -54
  626. package/src/list-item/utils.js +27 -3
  627. package/src/media-text/deprecated.js +148 -1
  628. package/src/media-text/edit.js +2 -1
  629. package/src/media-text/save.js +18 -0
  630. package/src/more/edit.js +9 -11
  631. package/src/more/save.js +3 -6
  632. package/src/navigation/block.json +9 -0
  633. package/src/navigation/edit/index.js +1 -0
  634. package/src/navigation/style.scss +11 -2
  635. package/src/navigation/test/use-navigation-menu.js +16 -11
  636. package/src/navigation/use-navigation-menu.js +26 -83
  637. package/src/navigation/view.js +6 -1
  638. package/src/navigation-link/edit.js +4 -3
  639. package/src/navigation-link/hooks.js +0 -14
  640. package/src/navigation-link/index.js +1 -1
  641. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  642. package/src/navigation-link/test/hooks.js +0 -12
  643. package/src/navigation-submenu/edit.js +1 -0
  644. package/src/navigation-submenu/view.js +6 -1
  645. package/src/nextpage/edit.js +1 -3
  646. package/src/page-list/edit.js +12 -5
  647. package/src/paragraph/edit.js +8 -14
  648. package/src/post-comments-form/edit.js +3 -58
  649. package/src/post-comments-form/editor.scss +4 -0
  650. package/src/post-comments-form/form.js +81 -6
  651. package/src/post-comments-form/index.php +1 -1
  652. package/src/post-comments-form/style.scss +0 -1
  653. package/src/post-featured-image/index.php +4 -2
  654. package/src/post-template/index.php +23 -17
  655. package/src/post-template/style.scss +1 -7
  656. package/src/post-terms/edit.js +3 -2
  657. package/src/post-terms/index.js +1 -1
  658. package/src/post-title/block.json +1 -0
  659. package/src/query/edit/inspector-controls/index.js +1 -1
  660. package/src/query/editor.scss +1 -1
  661. package/src/query/index.js +1 -1
  662. package/src/query-no-results/edit.js +2 -5
  663. package/src/query-no-results/index.php +10 -8
  664. package/src/query-pagination-next/edit.js +1 -0
  665. package/src/query-pagination-previous/edit.js +1 -0
  666. package/src/quote/deprecated.js +213 -99
  667. package/src/quote/edit.js +77 -52
  668. package/src/quote/index.js +10 -33
  669. package/src/quote/save.js +5 -5
  670. package/src/quote/{v2/test → test}/migrate.js +2 -7
  671. package/src/quote/transforms.js +117 -147
  672. package/src/search/edit.js +2 -2
  673. package/src/search/index.php +12 -10
  674. package/src/search/style.scss +9 -8
  675. package/src/search/theme.scss +5 -0
  676. package/src/site-logo/edit.js +2 -11
  677. package/src/site-title/edit/level-toolbar.js +1 -0
  678. package/src/social-link/editor.scss +3 -0
  679. package/src/social-link/icons/index.js +1 -0
  680. package/src/social-link/icons/whatsapp.js +10 -0
  681. package/src/social-link/index.php +20 -0
  682. package/src/social-link/socials-with-bg.scss +5 -0
  683. package/src/social-link/socials-without-bg.scss +5 -0
  684. package/src/social-link/variations.js +7 -0
  685. package/src/style.scss +1 -1
  686. package/src/table/edit.js +2 -0
  687. package/src/table/save.js +6 -1
  688. package/src/template-part/edit/index.js +37 -24
  689. package/src/template-part/edit/selection-modal.js +68 -40
  690. package/src/template-part/edit/utils/search.js +76 -0
  691. package/src/template-part/editor.scss +21 -9
  692. package/src/template-part/index.js +1 -1
  693. package/src/template-part/index.php +56 -2
  694. package/src/template-part/variations.js +0 -11
  695. package/src/utils/clean-empty-object.js +8 -2
  696. package/src/video/edit.js +4 -0
  697. package/src/video/save.js +10 -2
  698. package/src/video/tracks-editor.js +1 -1
  699. package/build/comments/edit.js.map +0 -1
  700. package/build/gallery/use-short-code-transform.js +0 -64
  701. package/build/gallery/use-short-code-transform.js.map +0 -1
  702. package/build/list-item/hooks/use-backspace.js +0 -59
  703. package/build/list-item/hooks/use-backspace.js.map +0 -1
  704. package/build/navigation-link/fallback-variations.js +0 -75
  705. package/build/navigation-link/fallback-variations.js.map +0 -1
  706. package/build/post-comments/edit.js +0 -184
  707. package/build/post-comments/edit.js.map +0 -1
  708. package/build/post-comments/index.js +0 -72
  709. package/build/post-comments/index.js.map +0 -1
  710. package/build/quote/v2/deprecated.js +0 -133
  711. package/build/quote/v2/deprecated.js.map +0 -1
  712. package/build/quote/v2/edit.js +0 -139
  713. package/build/quote/v2/edit.js.map +0 -1
  714. package/build/quote/v2/index.js +0 -49
  715. package/build/quote/v2/index.js.map +0 -1
  716. package/build/quote/v2/save.js +0 -43
  717. package/build/quote/v2/save.js.map +0 -1
  718. package/build/quote/v2/transforms.js +0 -156
  719. package/build/quote/v2/transforms.js.map +0 -1
  720. package/build/template-part/fallback-variations.js +0 -59
  721. package/build/template-part/fallback-variations.js.map +0 -1
  722. package/build-module/comments/edit.js +0 -51
  723. package/build-module/comments/edit.js.map +0 -1
  724. package/build-module/gallery/use-short-code-transform.js +0 -54
  725. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  726. package/build-module/list-item/hooks/use-backspace.js +0 -44
  727. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  728. package/build-module/navigation-link/fallback-variations.js +0 -65
  729. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  730. package/build-module/post-comments/edit.js +0 -171
  731. package/build-module/post-comments/edit.js.map +0 -1
  732. package/build-module/post-comments/index.js +0 -59
  733. package/build-module/post-comments/index.js.map +0 -1
  734. package/build-module/quote/v2/deprecated.js +0 -116
  735. package/build-module/quote/v2/deprecated.js.map +0 -1
  736. package/build-module/quote/v2/edit.js +0 -122
  737. package/build-module/quote/v2/edit.js.map +0 -1
  738. package/build-module/quote/v2/index.js +0 -33
  739. package/build-module/quote/v2/index.js.map +0 -1
  740. package/build-module/quote/v2/save.js +0 -30
  741. package/build-module/quote/v2/save.js.map +0 -1
  742. package/build-module/quote/v2/transforms.js +0 -147
  743. package/build-module/quote/v2/transforms.js.map +0 -1
  744. package/build-module/template-part/fallback-variations.js +0 -47
  745. package/build-module/template-part/fallback-variations.js.map +0 -1
  746. package/src/gallery/use-short-code-transform.js +0 -55
  747. package/src/list-item/hooks/use-backspace.js +0 -51
  748. package/src/navigation-link/fallback-variations.js +0 -65
  749. package/src/post-comments/block.json +0 -45
  750. package/src/post-comments/edit.js +0 -247
  751. package/src/post-comments/editor.scss +0 -3
  752. package/src/post-comments/index.js +0 -18
  753. package/src/post-comments/index.php +0 -87
  754. package/src/quote/v2/deprecated.js +0 -107
  755. package/src/quote/v2/edit.js +0 -139
  756. package/src/quote/v2/index.js +0 -36
  757. package/src/quote/v2/save.js +0 -26
  758. package/src/quote/v2/transforms.js +0 -155
  759. package/src/template-part/fallback-variations.js +0 -51
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/utils/search.js"],"names":["normalizeSearchInput","input","trim","toLowerCase","getPatternSearchRank","pattern","searchValue","normalizedSearchValue","normalizedTitle","title","rank","startsWith","searchTerms","split","hasMatchedTerms","every","searchTerm","includes","searchPatterns","patterns","rankedPatterns","map","filter","sort","rank1","rank2"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASA,oBAAT,GAA4C;AAAA,MAAbC,KAAa,uEAAL,EAAK;AAC3C;AACAA,EAAAA,KAAK,GAAG,4BAAeA,KAAf,CAAR,CAF2C,CAI3C;;AACAA,EAAAA,KAAK,GAAGA,KAAK,CAACC,IAAN,GAAaC,WAAb,EAAR;AAEA,SAAOF,KAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,SAASG,oBAAT,CAA+BC,OAA/B,EAAwCC,WAAxC,EAAsD;AACrD,QAAMC,qBAAqB,GAAGP,oBAAoB,CAAEM,WAAF,CAAlD;AACA,QAAME,eAAe,GAAGR,oBAAoB,CAAEK,OAAO,CAACI,KAAV,CAA5C;AAEA,MAAIC,IAAI,GAAG,CAAX;;AAEA,MAAKH,qBAAqB,KAAKC,eAA/B,EAAiD;AAChDE,IAAAA,IAAI,IAAI,EAAR;AACA,GAFD,MAEO,IAAKF,eAAe,CAACG,UAAhB,CAA4BJ,qBAA5B,CAAL,EAA2D;AACjEG,IAAAA,IAAI,IAAI,EAAR;AACA,GAFM,MAEA;AACN,UAAME,WAAW,GAAGL,qBAAqB,CAACM,KAAtB,CAA6B,GAA7B,CAApB;AACA,UAAMC,eAAe,GAAGF,WAAW,CAACG,KAAZ,CAAqBC,UAAF,IAC1CR,eAAe,CAACS,QAAhB,CAA0BD,UAA1B,CADuB,CAAxB,CAFM,CAMN;;AACA,QAAKF,eAAL,EAAuB;AACtBJ,MAAAA,IAAI,IAAI,EAAR;AACA;AACD;;AAED,SAAOA,IAAP;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASQ,cAAT,GAA2D;AAAA,MAAlCC,QAAkC,uEAAvB,EAAuB;AAAA,MAAnBb,WAAmB,uEAAL,EAAK;;AACjE,MAAK,CAAEA,WAAP,EAAqB;AACpB,WAAOa,QAAP;AACA;;AAED,QAAMC,cAAc,GAAGD,QAAQ,CAC7BE,GADqB,CACdhB,OAAF,IAAe;AACpB,WAAO,CAAEA,OAAF,EAAWD,oBAAoB,CAAEC,OAAF,EAAWC,WAAX,CAA/B,CAAP;AACA,GAHqB,EAIrBgB,MAJqB,CAIb;AAAA,QAAE,GAAIZ,IAAJ,CAAF;AAAA,WAAkBA,IAAI,GAAG,CAAzB;AAAA,GAJa,CAAvB;AAMAU,EAAAA,cAAc,CAACG,IAAf,CAAqB;AAAA,QAAE,GAAIC,KAAJ,CAAF;AAAA,QAAe,GAAIC,KAAJ,CAAf;AAAA,WAAgCA,KAAK,GAAGD,KAAxC;AAAA,GAArB;AACA,SAAOJ,cAAc,CAACC,GAAf,CAAoB;AAAA,QAAE,CAAEhB,OAAF,CAAF;AAAA,WAAmBA,OAAnB;AAAA,GAApB,CAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\tinput = removeAccents( input );\n\n\t// Trim & Lowercase.\n\tinput = input.trim().toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Get the search rank for a given pattern and a specific search term.\n *\n * @param {Object} pattern Pattern to rank\n * @param {string} searchValue Search term\n * @return {number} A pattern search rank\n */\nfunction getPatternSearchRank( pattern, searchValue ) {\n\tconst normalizedSearchValue = normalizeSearchInput( searchValue );\n\tconst normalizedTitle = normalizeSearchInput( pattern.title );\n\n\tlet rank = 0;\n\n\tif ( normalizedSearchValue === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchValue ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst searchTerms = normalizedSearchValue.split( ' ' );\n\t\tconst hasMatchedTerms = searchTerms.every( ( searchTerm ) =>\n\t\t\tnormalizedTitle.includes( searchTerm )\n\t\t);\n\n\t\t// Prefer pattern with every search word in the title.\n\t\tif ( hasMatchedTerms ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n\n/**\n * Filters an pattern list given a search term.\n *\n * @param {Array} patterns Item list\n * @param {string} searchValue Search input.\n *\n * @return {Array} Filtered pattern list.\n */\nexport function searchPatterns( patterns = [], searchValue = '' ) {\n\tif ( ! searchValue ) {\n\t\treturn patterns;\n\t}\n\n\tconst rankedPatterns = patterns\n\t\t.map( ( pattern ) => {\n\t\t\treturn [ pattern, getPatternSearchRank( pattern, searchValue ) ];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > 0 );\n\n\trankedPatterns.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedPatterns.map( ( [ pattern ] ) => pattern );\n}\n"]}
@@ -93,7 +93,7 @@ const settings = {
93
93
  return (0, _htmlEntities.decodeEntities)((_entity$title = entity.title) === null || _entity$title === void 0 ? void 0 : _entity$title.rendered) || (0, _lodash.startCase)(entity.slug);
94
94
  },
95
95
  edit: _edit.default
96
- }; // Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects
96
+ }; // Importing this file includes side effects. This is added in block-library/package.json under sideEffects
97
97
 
98
98
  exports.settings = settings;
99
99
  (0, _hooks.addFilter)('blocks.registerBlockType', 'core/template-part', _variations.enhanceTemplatePartVariations); // Prevent adding template parts inside post templates.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/index.js"],"names":["name","metadata","settings","icon","symbolFilled","__experimentalLabel","slug","theme","entity","coreDataStore","getEntityRecord","title","rendered","edit","enhanceTemplatePartVariations","DISALLOWED_PARENTS","can","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEC,mBADiB;AAEvBC,EAAAA,mBAAmB,EAAE,QAAuB;AAAA;;AAAA,QAArB;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,KAAqB;;AAC3C;AACA;AACA,QAAK,CAAED,IAAP,EAAc;AACb;AACA;;AAED,UAAME,MAAM,GAAG,kBAAQC,eAAR,EAAwBC,eAAxB,CACd,UADc,EAEd,kBAFc,EAGdH,KAAK,GAAG,IAAR,GAAeD,IAHD,CAAf;;AAKA,QAAK,CAAEE,MAAP,EAAgB;AACf;AACA;;AAED,WACC,mDAAgBA,MAAM,CAACG,KAAvB,kDAAgB,cAAcC,QAA9B,KAA4C,uBAAWJ,MAAM,CAACF,IAAlB,CAD7C;AAGA,GArBsB;AAsBvBO,EAAAA,IAAI,EAAJA;AAtBuB,CAAjB,C,CAyBP;;;AACA,sBACC,0BADD,EAEC,oBAFD,EAGCC,yCAHD,E,CAMA;;AACA,MAAMC,kBAAkB,GAAG,CAAE,oBAAF,EAAwB,mBAAxB,CAA3B;AACA,sBACC,0CADD,EAEC,sCAFD,EAGC,CACCC,GADD,EAECC,SAFD,EAGCC,YAHD,YAKK;AAAA,MADJ;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GACI;;AACJ,MAAKH,SAAS,CAACjB,IAAV,KAAmB,oBAAxB,EAA+C;AAC9C,WAAOgB,GAAP;AACA;;AAED,OAAM,MAAMK,oBAAZ,IAAoCN,kBAApC,EAAyD;AAAA;;AACxD,UAAMO,mBAAmB,GACxB,cAAAH,QAAQ,CAAED,YAAF,CAAR,wDAA0BlB,IAA1B,MAAmCqB,oBAAnC,IACAD,0BAA0B,CAAEF,YAAF,EAAgBG,oBAAhB,CAA1B,CACEE,MAHH;;AAIA,QAAKD,mBAAL,EAA2B;AAC1B,aAAO,KAAP;AACA;AACD;;AACD,SAAO,IAAP;AACA,CAvBF","sourcesContent":["/**\n * External dependencies\n */\nimport { startCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttheme + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tdecodeEntities( entity.title?.rendered ) || startCase( entity.slug )\n\t\t);\n\t},\n\tedit,\n};\n\n// Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/template-part',\n\tenhanceTemplatePartVariations\n);\n\n// Prevent adding template parts inside post templates.\nconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\naddFilter(\n\t'blockEditor.__unstableCanInsertBlockType',\n\t'removeTemplatePartsFromPostTemplates',\n\t(\n\t\tcan,\n\t\tblockType,\n\t\trootClientId,\n\t\t{ getBlock, getBlockParentsByBlockName }\n\t) => {\n\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\treturn can;\n\t\t}\n\n\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\tconst hasDisallowedParent =\n\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\tgetBlockParentsByBlockName( rootClientId, disallowedParentType )\n\t\t\t\t\t.length;\n\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n);\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/index.js"],"names":["name","metadata","settings","icon","symbolFilled","__experimentalLabel","slug","theme","entity","coreDataStore","getEntityRecord","title","rendered","edit","enhanceTemplatePartVariations","DISALLOWED_PARENTS","can","blockType","rootClientId","getBlock","getBlockParentsByBlockName","disallowedParentType","hasDisallowedParent","length"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AAnBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAEC,mBADiB;AAEvBC,EAAAA,mBAAmB,EAAE,QAAuB;AAAA;;AAAA,QAArB;AAAEC,MAAAA,IAAF;AAAQC,MAAAA;AAAR,KAAqB;;AAC3C;AACA;AACA,QAAK,CAAED,IAAP,EAAc;AACb;AACA;;AAED,UAAME,MAAM,GAAG,kBAAQC,eAAR,EAAwBC,eAAxB,CACd,UADc,EAEd,kBAFc,EAGdH,KAAK,GAAG,IAAR,GAAeD,IAHD,CAAf;;AAKA,QAAK,CAAEE,MAAP,EAAgB;AACf;AACA;;AAED,WACC,mDAAgBA,MAAM,CAACG,KAAvB,kDAAgB,cAAcC,QAA9B,KAA4C,uBAAWJ,MAAM,CAACF,IAAlB,CAD7C;AAGA,GArBsB;AAsBvBO,EAAAA,IAAI,EAAJA;AAtBuB,CAAjB,C,CAyBP;;;AACA,sBACC,0BADD,EAEC,oBAFD,EAGCC,yCAHD,E,CAMA;;AACA,MAAMC,kBAAkB,GAAG,CAAE,oBAAF,EAAwB,mBAAxB,CAA3B;AACA,sBACC,0CADD,EAEC,sCAFD,EAGC,CACCC,GADD,EAECC,SAFD,EAGCC,YAHD,YAKK;AAAA,MADJ;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,GACI;;AACJ,MAAKH,SAAS,CAACjB,IAAV,KAAmB,oBAAxB,EAA+C;AAC9C,WAAOgB,GAAP;AACA;;AAED,OAAM,MAAMK,oBAAZ,IAAoCN,kBAApC,EAAyD;AAAA;;AACxD,UAAMO,mBAAmB,GACxB,cAAAH,QAAQ,CAAED,YAAF,CAAR,wDAA0BlB,IAA1B,MAAmCqB,oBAAnC,IACAD,0BAA0B,CAAEF,YAAF,EAAgBG,oBAAhB,CAA1B,CACEE,MAHH;;AAIA,QAAKD,mBAAL,EAA2B;AAC1B,aAAO,KAAP;AACA;AACD;;AACD,SAAO,IAAP;AACA,CAvBF","sourcesContent":["/**\n * External dependencies\n */\nimport { startCase } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport { symbolFilled } from '@wordpress/icons';\nimport { addFilter } from '@wordpress/hooks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport { enhanceTemplatePartVariations } from './variations';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon: symbolFilled,\n\t__experimentalLabel: ( { slug, theme } ) => {\n\t\t// Attempt to find entity title if block is a template part.\n\t\t// Require slug to request, otherwise entity is uncreated and will throw 404.\n\t\tif ( ! slug ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_template_part',\n\t\t\ttheme + '//' + slug\n\t\t);\n\t\tif ( ! entity ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn (\n\t\t\tdecodeEntities( entity.title?.rendered ) || startCase( entity.slug )\n\t\t);\n\t},\n\tedit,\n};\n\n// Importing this file includes side effects. This is added in block-library/package.json under sideEffects\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/template-part',\n\tenhanceTemplatePartVariations\n);\n\n// Prevent adding template parts inside post templates.\nconst DISALLOWED_PARENTS = [ 'core/post-template', 'core/post-content' ];\naddFilter(\n\t'blockEditor.__unstableCanInsertBlockType',\n\t'removeTemplatePartsFromPostTemplates',\n\t(\n\t\tcan,\n\t\tblockType,\n\t\trootClientId,\n\t\t{ getBlock, getBlockParentsByBlockName }\n\t) => {\n\t\tif ( blockType.name !== 'core/template-part' ) {\n\t\t\treturn can;\n\t\t}\n\n\t\tfor ( const disallowedParentType of DISALLOWED_PARENTS ) {\n\t\t\tconst hasDisallowedParent =\n\t\t\t\tgetBlock( rootClientId )?.name === disallowedParentType ||\n\t\t\t\tgetBlockParentsByBlockName( rootClientId, disallowedParentType )\n\t\t\t\t\t.length;\n\t\t\tif ( hasDisallowedParent ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t}\n\t\treturn true;\n\t}\n);\n"]}
@@ -1,7 +1,5 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
@@ -13,15 +11,9 @@ var _data = require("@wordpress/data");
13
11
 
14
12
  var _icons = require("@wordpress/icons");
15
13
 
16
- var _fallbackVariations = _interopRequireDefault(require("./fallback-variations"));
17
-
18
14
  /**
19
15
  * WordPress dependencies
20
16
  */
21
-
22
- /**
23
- * Internal dependencies
24
- */
25
17
  function getTemplatePartIcon(iconName) {
26
18
  if ('header' === iconName) {
27
19
  return _icons.header;
@@ -37,14 +29,6 @@ function getTemplatePartIcon(iconName) {
37
29
  function enhanceTemplatePartVariations(settings, name) {
38
30
  if (name !== 'core/template-part') {
39
31
  return settings;
40
- } // WordPress versions pre-5.8 do not support server side variation registration.
41
- // So we must register the fallback variations until those versions are no longer supported.
42
-
43
-
44
- if (!(settings.variations && settings.variations.length)) {
45
- return { ...settings,
46
- variations: _fallbackVariations.default
47
- };
48
32
  }
49
33
 
50
34
  if (settings.variations) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/variations.js"],"names":["getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","enhanceTemplatePartVariations","settings","name","variations","length","fallbackVariations","isActive","blockAttributes","variationAttributes","area","theme","slug","entity","coreDataStore","getEntityRecord","map","variation","icon"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAUA;;AAfA;AACA;AACA;;AAUA;AACA;AACA;AAGA,SAASA,mBAAT,CAA8BC,QAA9B,EAAyC;AACxC,MAAK,aAAaA,QAAlB,EAA6B;AAC5B,WAAOC,aAAP;AACA,GAFD,MAEO,IAAK,aAAaD,QAAlB,EAA6B;AACnC,WAAOE,aAAP;AACA,GAFM,MAEA,IAAK,cAAcF,QAAnB,EAA8B;AACpC,WAAOG,cAAP;AACA;;AACD,SAAOC,mBAAP;AACA;;AAEM,SAASC,6BAAT,CAAwCC,QAAxC,EAAkDC,IAAlD,EAAyD;AAC/D,MAAKA,IAAI,KAAK,oBAAd,EAAqC;AACpC,WAAOD,QAAP;AACA,GAH8D,CAK/D;AACA;;;AACA,MAAK,EAAIA,QAAQ,CAACE,UAAT,IAAuBF,QAAQ,CAACE,UAAT,CAAoBC,MAA/C,CAAL,EAA+D;AAC9D,WAAO,EAAE,GAAGH,QAAL;AAAeE,MAAAA,UAAU,EAAEE;AAA3B,KAAP;AACA;;AAED,MAAKJ,QAAQ,CAACE,UAAd,EAA2B;AAC1B,UAAMG,QAAQ,GAAG,CAAEC,eAAF,EAAmBC,mBAAnB,KAA4C;AAC5D,YAAM;AAAEC,QAAAA,IAAF;AAAQC,QAAAA,KAAR;AAAeC,QAAAA;AAAf,UAAwBJ,eAA9B,CAD4D,CAE5D;AACA;;AACA,UAAKE,IAAL,EAAY,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAApC,CAJgD,CAK5D;AACA;;AACA,UAAK,CAAEE,IAAP,EAAc,OAAO,KAAP;AACd,YAAMC,MAAM,GAAG,kBAAQC,eAAR,EAAwBC,eAAxB,CACd,UADc,EAEd,kBAFc,EAGb,GAAGJ,KAAO,KAAKC,IAAM,EAHR,CAAf;AAKA,aAAO,CAAAC,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEH,IAAR,MAAiBD,mBAAmB,CAACC,IAA5C;AACA,KAdD;;AAgBA,UAAMN,UAAU,GAAGF,QAAQ,CAACE,UAAT,CAAoBY,GAApB,CAA2BC,SAAF,IAAiB;AAC5D,aAAO,EACN,GAAGA,SADG;AAEN,YAAK,CAAEA,SAAS,CAACV,QAAZ,IAAwB;AAAEA,UAAAA;AAAF,SAA7B,CAFM;AAGN,YAAK,OAAOU,SAAS,CAACC,IAAjB,KAA0B,QAA1B,IAAsC;AAC1CA,UAAAA,IAAI,EAAEvB,mBAAmB,CAAEsB,SAAS,CAACC,IAAZ;AADiB,SAA3C;AAHM,OAAP;AAOA,KARkB,CAAnB;AAUA,WAAO,EACN,GAAGhB,QADG;AAENE,MAAAA;AAFM,KAAP;AAIA;;AACD,SAAOF,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport fallbackVariations from './fallback-variations';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\t// WordPress versions pre-5.8 do not support server side variation registration.\n\t// So we must register the fallback variations until those versions are no longer supported.\n\tif ( ! ( settings.variations && settings.variations.length ) ) {\n\t\treturn { ...settings, variations: fallbackVariations };\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) return area === variationAttributes.area;\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) return false;\n\t\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme }//${ slug }`\n\t\t\t);\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/variations.js"],"names":["getTemplatePartIcon","iconName","headerIcon","footerIcon","sidebarIcon","symbolFilledIcon","enhanceTemplatePartVariations","settings","name","variations","isActive","blockAttributes","variationAttributes","area","theme","slug","entity","coreDataStore","getEntityRecord","map","variation","icon"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AALA;AACA;AACA;AAUA,SAASA,mBAAT,CAA8BC,QAA9B,EAAyC;AACxC,MAAK,aAAaA,QAAlB,EAA6B;AAC5B,WAAOC,aAAP;AACA,GAFD,MAEO,IAAK,aAAaD,QAAlB,EAA6B;AACnC,WAAOE,aAAP;AACA,GAFM,MAEA,IAAK,cAAcF,QAAnB,EAA8B;AACpC,WAAOG,cAAP;AACA;;AACD,SAAOC,mBAAP;AACA;;AAEM,SAASC,6BAAT,CAAwCC,QAAxC,EAAkDC,IAAlD,EAAyD;AAC/D,MAAKA,IAAI,KAAK,oBAAd,EAAqC;AACpC,WAAOD,QAAP;AACA;;AAED,MAAKA,QAAQ,CAACE,UAAd,EAA2B;AAC1B,UAAMC,QAAQ,GAAG,CAAEC,eAAF,EAAmBC,mBAAnB,KAA4C;AAC5D,YAAM;AAAEC,QAAAA,IAAF;AAAQC,QAAAA,KAAR;AAAeC,QAAAA;AAAf,UAAwBJ,eAA9B,CAD4D,CAE5D;AACA;;AACA,UAAKE,IAAL,EAAY,OAAOA,IAAI,KAAKD,mBAAmB,CAACC,IAApC,CAJgD,CAK5D;AACA;;AACA,UAAK,CAAEE,IAAP,EAAc,OAAO,KAAP;AACd,YAAMC,MAAM,GAAG,kBAAQC,eAAR,EAAwBC,eAAxB,CACd,UADc,EAEd,kBAFc,EAGb,GAAGJ,KAAO,KAAKC,IAAM,EAHR,CAAf;AAKA,aAAO,CAAAC,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEH,IAAR,MAAiBD,mBAAmB,CAACC,IAA5C;AACA,KAdD;;AAgBA,UAAMJ,UAAU,GAAGF,QAAQ,CAACE,UAAT,CAAoBU,GAApB,CAA2BC,SAAF,IAAiB;AAC5D,aAAO,EACN,GAAGA,SADG;AAEN,YAAK,CAAEA,SAAS,CAACV,QAAZ,IAAwB;AAAEA,UAAAA;AAAF,SAA7B,CAFM;AAGN,YAAK,OAAOU,SAAS,CAACC,IAAjB,KAA0B,QAA1B,IAAsC;AAC1CA,UAAAA,IAAI,EAAErB,mBAAmB,CAAEoB,SAAS,CAACC,IAAZ;AADiB,SAA3C;AAHM,OAAP;AAOA,KARkB,CAAnB;AAUA,WAAO,EACN,GAAGd,QADG;AAENE,MAAAA;AAFM,KAAP;AAIA;;AACD,SAAOF,QAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreDataStore } from '@wordpress/core-data';\nimport { select } from '@wordpress/data';\nimport {\n\theader as headerIcon,\n\tfooter as footerIcon,\n\tsidebar as sidebarIcon,\n\tsymbolFilled as symbolFilledIcon,\n} from '@wordpress/icons';\n\nfunction getTemplatePartIcon( iconName ) {\n\tif ( 'header' === iconName ) {\n\t\treturn headerIcon;\n\t} else if ( 'footer' === iconName ) {\n\t\treturn footerIcon;\n\t} else if ( 'sidebar' === iconName ) {\n\t\treturn sidebarIcon;\n\t}\n\treturn symbolFilledIcon;\n}\n\nexport function enhanceTemplatePartVariations( settings, name ) {\n\tif ( name !== 'core/template-part' ) {\n\t\treturn settings;\n\t}\n\n\tif ( settings.variations ) {\n\t\tconst isActive = ( blockAttributes, variationAttributes ) => {\n\t\t\tconst { area, theme, slug } = blockAttributes;\n\t\t\t// We first check the `area` block attribute which is set during insertion.\n\t\t\t// This property is removed on the creation of a template part.\n\t\t\tif ( area ) return area === variationAttributes.area;\n\t\t\t// Find a matching variation from the created template part\n\t\t\t// by checking the entity's `area` property.\n\t\t\tif ( ! slug ) return false;\n\t\t\tconst entity = select( coreDataStore ).getEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t`${ theme }//${ slug }`\n\t\t\t);\n\t\t\treturn entity?.area === variationAttributes.area;\n\t\t};\n\n\t\tconst variations = settings.variations.map( ( variation ) => {\n\t\t\treturn {\n\t\t\t\t...variation,\n\t\t\t\t...( ! variation.isActive && { isActive } ),\n\t\t\t\t...( typeof variation.icon === 'string' && {\n\t\t\t\t\ticon: getTemplatePartIcon( variation.icon ),\n\t\t\t\t} ),\n\t\t\t};\n\t\t} );\n\n\t\treturn {\n\t\t\t...settings,\n\t\t\tvariations,\n\t\t};\n\t}\n\treturn settings;\n}\n"]}
@@ -10,19 +10,21 @@ var _lodash = require("lodash");
10
10
  /**
11
11
  * External dependencies
12
12
  */
13
-
13
+ const identity = x => x;
14
14
  /**
15
15
  * Removed empty nodes from nested objects.
16
16
  *
17
17
  * @param {Object} object
18
18
  * @return {Object} Object cleaned from empty nodes.
19
19
  */
20
+
21
+
20
22
  const cleanEmptyObject = object => {
21
- if (!(0, _lodash.isObject)(object) || Array.isArray(object)) {
23
+ if (object === null || typeof object !== 'object' || Array.isArray(object)) {
22
24
  return object;
23
25
  }
24
26
 
25
- const cleanedNestedObjects = (0, _lodash.pickBy)((0, _lodash.mapValues)(object, cleanEmptyObject), _lodash.identity);
27
+ const cleanedNestedObjects = (0, _lodash.pickBy)((0, _lodash.mapValues)(object, cleanEmptyObject), identity);
26
28
  return (0, _lodash.isEmpty)(cleanedNestedObjects) ? undefined : cleanedNestedObjects;
27
29
  };
28
30
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/utils/clean-empty-object.js"],"names":["cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","identity","undefined"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,gBAAgB,GAAKC,MAAF,IAAc;AACtC,MAAK,CAAE,sBAAUA,MAAV,CAAF,IAAwBC,KAAK,CAACC,OAAN,CAAeF,MAAf,CAA7B,EAAuD;AACtD,WAAOA,MAAP;AACA;;AACD,QAAMG,oBAAoB,GAAG,oBAC5B,uBAAWH,MAAX,EAAmBD,gBAAnB,CAD4B,EAE5BK,gBAF4B,CAA7B;AAIA,SAAO,qBAASD,oBAAT,IAAkCE,SAAlC,GAA8CF,oBAArD;AACA,CATD;;eAWeJ,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, isObject, identity, mapValues, pickBy } from 'lodash';\n\n/**\n * Removed empty nodes from nested objects.\n *\n * @param {Object} object\n * @return {Object} Object cleaned from empty nodes.\n */\nconst cleanEmptyObject = ( object ) => {\n\tif ( ! isObject( object ) || Array.isArray( object ) ) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = pickBy(\n\t\tmapValues( object, cleanEmptyObject ),\n\t\tidentity\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nexport default cleanEmptyObject;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/utils/clean-empty-object.js"],"names":["identity","x","cleanEmptyObject","object","Array","isArray","cleanedNestedObjects","undefined"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,QAAQ,GAAKC,CAAF,IAASA,CAA1B;AAEA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,gBAAgB,GAAKC,MAAF,IAAc;AACtC,MACCA,MAAM,KAAK,IAAX,IACA,OAAOA,MAAP,KAAkB,QADlB,IAEAC,KAAK,CAACC,OAAN,CAAeF,MAAf,CAHD,EAIE;AACD,WAAOA,MAAP;AACA;;AACD,QAAMG,oBAAoB,GAAG,oBAC5B,uBAAWH,MAAX,EAAmBD,gBAAnB,CAD4B,EAE5BF,QAF4B,CAA7B;AAIA,SAAO,qBAASM,oBAAT,IAAkCC,SAAlC,GAA8CD,oBAArD;AACA,CAbD;;eAeeJ,gB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty, mapValues, pickBy } from 'lodash';\n\nconst identity = ( x ) => x;\n\n/**\n * Removed empty nodes from nested objects.\n *\n * @param {Object} object\n * @return {Object} Object cleaned from empty nodes.\n */\nconst cleanEmptyObject = ( object ) => {\n\tif (\n\t\tobject === null ||\n\t\ttypeof object !== 'object' ||\n\t\tArray.isArray( object )\n\t) {\n\t\treturn object;\n\t}\n\tconst cleanedNestedObjects = pickBy(\n\t\tmapValues( object, cleanEmptyObject ),\n\t\tidentity\n\t);\n\treturn isEmpty( cleanedNestedObjects ) ? undefined : cleanedNestedObjects;\n};\n\nexport default cleanEmptyObject;\n"]}
@@ -247,6 +247,7 @@ function VideoEdit(_ref) {
247
247
  tracks: tracks
248
248
  }))), isTemporaryVideo && (0, _element.createElement)(_components.Spinner, null), (!_blockEditor.RichText.isEmpty(caption) || isSelected) && (0, _element.createElement)(_blockEditor.RichText, {
249
249
  tagName: "figcaption",
250
+ className: (0, _blockEditor.__experimentalGetElementClassName)('caption'),
250
251
  "aria-label": (0, _i18n.__)('Video caption text'),
251
252
  placeholder: (0, _i18n.__)('Add caption'),
252
253
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","blockEditorStore","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","message","createErrorNotice","allowedTypes","current","load","url","undefined","image","icon","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","RichText","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\twithNotices,\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} from '@wordpress/block-editor';\nimport { useRef, useEffect } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\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\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\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 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: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\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} );\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 ) {\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\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\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<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{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/edit.js"],"names":["ALLOWED_MEDIA_TYPES","VIDEO_POSTER_ALLOWED_MEDIA_TYPES","VideoEdit","isSelected","noticeUI","attributes","className","setAttributes","insertBlocksAfter","onReplace","noticeOperations","instanceId","videoPlayer","posterImageButton","id","caption","controls","poster","src","tracks","isTemporaryVideo","mediaUpload","select","blockEditorStore","getSettings","file","filesList","onFileChange","media","onSelectVideo","onError","message","createErrorNotice","allowedTypes","current","load","url","undefined","image","icon","onSelectURL","newSrc","embedBlock","onUploadError","removeAllNotices","classes","blockProps","onSelectPoster","onRemovePoster","focus","videoPosterDescription","newTracks","open","RichText","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\twithNotices,\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 } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { video as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\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\nconst ALLOWED_MEDIA_TYPES = [ 'video' ];\nconst VIDEO_POSTER_ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction VideoEdit( {\n\tisSelected,\n\tnoticeUI,\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tonReplace,\n\tnoticeOperations,\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 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: ( message ) => {\n\t\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\t},\n\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t} );\n\t\t\t}\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Placeholder may be rendered.\n\t\tif ( videoPlayer.current ) {\n\t\t\tvideoPlayer.current.load();\n\t\t}\n\t}, [ poster ] );\n\n\tfunction onSelectVideo( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error\n\t\t\t// previous attributes should be removed\n\t\t\t// because they may be temporary blob urls.\n\t\t\tsetAttributes( {\n\t\t\t\tsrc: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\tposter: undefined,\n\t\t\t} );\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} );\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 ) {\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\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\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<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{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Video caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n\nexport default withNotices( VideoEdit );\n"]}
@@ -48,6 +48,7 @@ function save(_ref) {
48
48
  }, (0, _element.createElement)(_tracks.default, {
49
49
  tracks: tracks
50
50
  })), !_blockEditor.RichText.isEmpty(caption) && (0, _element.createElement)(_blockEditor.RichText.Content, {
51
+ className: (0, _blockEditor.__experimentalGetElementClassName)('caption'),
51
52
  tagName: "figcaption",
52
53
  value: caption
53
54
  }));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/save.js"],"names":["save","attributes","autoplay","caption","controls","loop","muted","poster","preload","src","playsInline","tracks","useBlockProps","undefined","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,KALK;AAMLC,IAAAA,MANK;AAOLC,IAAAA,OAPK;AAQLC,IAAAA,GARK;AASLC,IAAAA,WATK;AAULC,IAAAA;AAVK,MAWFV,UAXJ;AAYA,SACC,sCAAaW,2BAAcZ,IAAd,EAAb,EACGS,GAAG,IACJ;AACC,IAAA,QAAQ,EAAGP,QADZ;AAEC,IAAA,QAAQ,EAAGE,QAFZ;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,KAAK,EAAGC,KAJT;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,OAAO,EAAGC,OAAO,KAAK,UAAZ,GAAyBA,OAAzB,GAAmCK,SAN9C;AAOC,IAAA,GAAG,EAAGJ,GAPP;AAQC,IAAA,WAAW,EAAGC;AARf,KAUC,4BAAC,eAAD;AAAQ,IAAA,MAAM,EAAGC;AAAjB,IAVD,CAFF,EAeG,CAAEG,sBAASC,OAAT,CAAkBZ,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AAAkB,IAAA,OAAO,EAAC,YAA1B;AAAuC,IAAA,KAAK,EAAGA;AAA/C,IAhBF,CADD;AAqBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t} = attributes;\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/video/save.js"],"names":["save","attributes","autoplay","caption","controls","loop","muted","poster","preload","src","playsInline","tracks","useBlockProps","undefined","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AASA;;AAZA;AACA;AACA;;AAOA;AACA;AACA;AAGe,SAASA,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AACLC,IAAAA,QADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,IAJK;AAKLC,IAAAA,KALK;AAMLC,IAAAA,MANK;AAOLC,IAAAA,OAPK;AAQLC,IAAAA,GARK;AASLC,IAAAA,WATK;AAULC,IAAAA;AAVK,MAWFV,UAXJ;AAYA,SACC,sCAAaW,2BAAcZ,IAAd,EAAb,EACGS,GAAG,IACJ;AACC,IAAA,QAAQ,EAAGP,QADZ;AAEC,IAAA,QAAQ,EAAGE,QAFZ;AAGC,IAAA,IAAI,EAAGC,IAHR;AAIC,IAAA,KAAK,EAAGC,KAJT;AAKC,IAAA,MAAM,EAAGC,MALV;AAMC,IAAA,OAAO,EAAGC,OAAO,KAAK,UAAZ,GAAyBA,OAAzB,GAAmCK,SAN9C;AAOC,IAAA,GAAG,EAAGJ,GAPP;AAQC,IAAA,WAAW,EAAGC;AARf,KAUC,4BAAC,eAAD;AAAQ,IAAA,MAAM,EAAGC;AAAjB,IAVD,CAFF,EAeG,CAAEG,sBAASC,OAAT,CAAkBZ,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,SAAS,EAAG,oDAAmC,SAAnC,CADb;AAEC,IAAA,OAAO,EAAC,YAFT;AAGC,IAAA,KAAK,EAAGA;AAHT,IAhBF,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport Tracks from './tracks';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tautoplay,\n\t\tcaption,\n\t\tcontrols,\n\t\tloop,\n\t\tmuted,\n\t\tposter,\n\t\tpreload,\n\t\tsrc,\n\t\tplaysInline,\n\t\ttracks,\n\t} = attributes;\n\treturn (\n\t\t<figure { ...useBlockProps.save() }>\n\t\t\t{ src && (\n\t\t\t\t<video\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tcontrols={ controls }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tmuted={ muted }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tpreload={ preload !== 'metadata' ? preload : undefined }\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tplaysInline={ playsInline }\n\t\t\t\t>\n\t\t\t\t\t<Tracks tracks={ tracks } />\n\t\t\t\t</video>\n\t\t\t) }\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ __experimentalGetElementClassName( 'caption' ) }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
@@ -214,9 +214,7 @@ function TracksEditor(_ref3) {
214
214
  icon: captionIcon
215
215
  });
216
216
  },
217
- renderContent: _ref5 => {
218
- let {} = _ref5;
219
-
217
+ renderContent: () => {
220
218
  if (trackBeingEdited !== null) {
221
219
  return (0, _element.createElement)(SingleTrackEditor, {
222
220
  track: tracks[trackBeingEdited],
@@ -240,10 +238,10 @@ function TracksEditor(_ref3) {
240
238
  className: "block-library-video-tracks-editor__add-tracks-container",
241
239
  label: (0, _i18n.__)('Add tracks')
242
240
  }, (0, _element.createElement)(_blockEditor.MediaUpload, {
243
- onSelect: _ref6 => {
241
+ onSelect: _ref5 => {
244
242
  let {
245
243
  url
246
- } = _ref6;
244
+ } = _ref5;
247
245
  const trackIndex = tracks.length;
248
246
  onChange([...tracks, {
249
247
  src: url
@@ -251,10 +249,10 @@ function TracksEditor(_ref3) {
251
249
  setTrackBeingEdited(trackIndex);
252
250
  },
253
251
  allowedTypes: ALLOWED_TYPES,
254
- render: _ref7 => {
252
+ render: _ref6 => {
255
253
  let {
256
254
  open
257
- } = _ref7;
255
+ } = _ref6;
258
256
  return (0, _element.createElement)(_components.MenuItem, {
259
257
  icon: _icons.media,
260
258
  onClick: open
@@ -267,10 +265,10 @@ function TracksEditor(_ref3) {
267
265
  mediaUpload({
268
266
  allowedTypes: ALLOWED_TYPES,
269
267
  filesList: files,
270
- onFileChange: _ref8 => {
268
+ onFileChange: _ref7 => {
271
269
  let [{
272
270
  url
273
- }] = _ref8;
271
+ }] = _ref7;
274
272
  const newTracks = [...tracks];
275
273
 
276
274
  if (!newTracks[trackIndex]) {
@@ -286,10 +284,10 @@ function TracksEditor(_ref3) {
286
284
  });
287
285
  },
288
286
  accept: ".vtt,text/vtt",
289
- render: _ref9 => {
287
+ render: _ref8 => {
290
288
  let {
291
289
  openFileDialog
292
- } = _ref9;
290
+ } = _ref8;
293
291
  return (0, _element.createElement)(_components.MenuItem, {
294
292
  icon: _icons.upload,
295
293
  onClick: () => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/video/tracks-editor.js"],"names":["ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","captionIcon","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","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","media","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog","upload"],"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\tToolbarButton,\n\tDropdown,\n\tSVG,\n\tRect,\n\tPath,\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\nconst captionIcon = (\n\t<SVG width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" role=\"img\" fill=\"none\">\n\t\t<Rect\n\t\t\tx=\"0.75\"\n\t\t\ty=\"0.75\"\n\t\t\twidth=\"16.5\"\n\t\t\theight=\"12.5\"\n\t\t\trx=\"1.25\"\n\t\t\tstroke=\"black\"\n\t\t\tstrokeWidth=\"1.5\"\n\t\t\tfill=\"none\"\n\t\t/>\n\t\t<Path d=\"M3 7H15\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t\t<Path d=\"M3 10L15 10\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t</SVG>\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<ToolbarButton\n\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t/>\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":["ALLOWED_TYPES","DEFAULT_KIND","KIND_OPTIONS","label","value","captionIcon","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","blockEditorStore","getSettings","trackBeingEdited","setTrackBeingEdited","isOpen","onToggle","newTrack","newTracks","filter","_track","url","trackIndex","open","media","event","files","target","allowedTypes","filesList","onFileChange","openFileDialog","upload"],"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\tToolbarButton,\n\tDropdown,\n\tSVG,\n\tRect,\n\tPath,\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\nconst captionIcon = (\n\t<SVG width=\"18\" height=\"14\" viewBox=\"0 0 18 14\" role=\"img\" fill=\"none\">\n\t\t<Rect\n\t\t\tx=\"0.75\"\n\t\t\ty=\"0.75\"\n\t\t\twidth=\"16.5\"\n\t\t\theight=\"12.5\"\n\t\t\trx=\"1.25\"\n\t\t\tstroke=\"black\"\n\t\t\tstrokeWidth=\"1.5\"\n\t\t\tfill=\"none\"\n\t\t/>\n\t\t<Path d=\"M3 7H15\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t\t<Path d=\"M3 10L15 10\" stroke=\"black\" strokeWidth=\"1.5\" />\n\t</SVG>\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<ToolbarButton\n\t\t\t\t\tlabel={ __( 'Text tracks' ) }\n\t\t\t\t\tshowTooltip\n\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\ticon={ captionIcon }\n\t\t\t\t/>\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"]}
@@ -10,7 +10,7 @@ import classnames from 'classnames';
10
10
 
11
11
  import { getBlobByURL, isBlobURL } from '@wordpress/blob';
12
12
  import { Disabled, PanelBody, SelectControl, Spinner, ToggleControl, withNotices } from '@wordpress/components';
13
- import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
13
+ import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, RichText, useBlockProps, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
14
14
  import { useEffect } from '@wordpress/element';
15
15
  import { __, _x } from '@wordpress/i18n';
16
16
  import { useSelect } from '@wordpress/data';
@@ -196,6 +196,7 @@ function AudioEdit(_ref) {
196
196
  src: src
197
197
  })), isTemporaryAudio && createElement(Spinner, null), (!RichText.isEmpty(caption) || isSelected) && createElement(RichText, {
198
198
  tagName: "figcaption",
199
+ className: __experimentalGetElementClassName('caption'),
199
200
  "aria-label": __('Audio caption text'),
200
201
  placeholder: __('Add caption'),
201
202
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","useEffect","__","_x","useSelect","audio","icon","createBlock","getDefaultBlockName","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","isTemporaryAudio","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","message","removeAllNotices","createErrorNotice","getAutoplayHelp","checked","classes","blockProps","value","label","isEmpty"],"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\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\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=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/audio/edit.js"],"names":["classnames","getBlobByURL","isBlobURL","Disabled","PanelBody","SelectControl","Spinner","ToggleControl","withNotices","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","RichText","useBlockProps","store","blockEditorStore","__experimentalGetElementClassName","useEffect","__","_x","useSelect","audio","icon","createBlock","getDefaultBlockName","createUpgradedEmbedBlock","ALLOWED_MEDIA_TYPES","AudioEdit","attributes","className","noticeOperations","setAttributes","onReplace","isSelected","noticeUI","insertBlocksAfter","id","autoplay","caption","loop","preload","src","isTemporaryAudio","mediaUpload","select","getSettings","file","filesList","onFileChange","media","onSelectAudio","onError","e","onUploadError","allowedTypes","toggleAttribute","attribute","newValue","onSelectURL","newSrc","embedBlock","url","undefined","message","removeAllNotices","createErrorNotice","getAutoplayHelp","checked","classes","blockProps","value","label","isEmpty"],"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\tDisabled,\n\tPanelBody,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\twithNotices,\n} from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { useEffect } from '@wordpress/element';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { audio as icon } from '@wordpress/icons';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\n\nconst ALLOWED_MEDIA_TYPES = [ 'audio' ];\n\nfunction AudioEdit( {\n\tattributes,\n\tclassName,\n\tnoticeOperations,\n\tsetAttributes,\n\tonReplace,\n\tisSelected,\n\tnoticeUI,\n\tinsertBlocksAfter,\n} ) {\n\tconst { id, autoplay, caption, loop, preload, src } = attributes;\n\tconst isTemporaryAudio = ! id && isBlobURL( src );\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! id && isBlobURL( src ) ) {\n\t\t\tconst file = getBlobByURL( src );\n\n\t\t\tif ( file ) {\n\t\t\t\tmediaUpload( {\n\t\t\t\t\tfilesList: [ file ],\n\t\t\t\t\tonFileChange: ( [ media ] ) => onSelectAudio( media ),\n\t\t\t\t\tonError: ( e ) => onUploadError( e ),\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\tfunction toggleAttribute( attribute ) {\n\t\treturn ( newValue ) => {\n\t\t\tsetAttributes( { [ attribute ]: newValue } );\n\t\t};\n\t}\n\n\tfunction onSelectURL( newSrc ) {\n\t\t// Set the block's src from the edit component's state, and switch off\n\t\t// the editing UI.\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 } );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction getAutoplayHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Autoplay may cause usability issues for some users.' )\n\t\t\t: null;\n\t}\n\n\tfunction onSelectAudio( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\t// In this case there was an error and we should continue in the editing state\n\t\t\t// previous attributes should be removed because they may be temporary blob urls.\n\t\t\tsetAttributes( { src: undefined, id: undefined } );\n\t\t\treturn;\n\t\t}\n\t\t// Sets the block's attribute and updates the edit component from the\n\t\t// selected media, then switches off the editing UI.\n\t\tsetAttributes( { src: media.url, id: media.id } );\n\t}\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': isTemporaryAudio,\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={ onSelectAudio }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\taccept=\"audio/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tvalue={ attributes }\n\t\t\t\t\tnotices={ noticeUI }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\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=\"audio/*\"\n\t\t\t\t\tonSelect={ onSelectAudio }\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Autoplay' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'autoplay' ) }\n\t\t\t\t\t\tchecked={ autoplay }\n\t\t\t\t\t\thelp={ getAutoplayHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Loop' ) }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'loop' ) }\n\t\t\t\t\t\tchecked={ loop }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ _x( 'Preload', 'noun; Audio block parameter' ) }\n\t\t\t\t\t\tvalue={ preload || '' }\n\t\t\t\t\t\t// `undefined` is required for the preload attribute to be unset.\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tpreload: value || undefined,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ value: '', label: __( 'Browser default' ) },\n\t\t\t\t\t\t\t{ value: 'auto', label: __( 'Auto' ) },\n\t\t\t\t\t\t\t{ value: 'metadata', label: __( 'Metadata' ) },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'none',\n\t\t\t\t\t\t\t\tlabel: _x( 'None', 'Preload value' ),\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /*\n\t\t\t\t\tDisable the audio 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\tfile or change the position slider when the controls are enabled.\n\t\t\t\t*/ }\n\t\t\t\t<Disabled isDisabled={ ! isSelected }>\n\t\t\t\t\t<audio controls=\"controls\" src={ src } />\n\t\t\t\t</Disabled>\n\t\t\t\t{ isTemporaryAudio && <Spinner /> }\n\t\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Audio caption text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t</>\n\t);\n}\nexport default withNotices( AudioEdit );\n"]}
@@ -3,7 +3,7 @@ import { createElement } from "@wordpress/element";
3
3
  /**
4
4
  * WordPress dependencies
5
5
  */
6
- import { RichText, useBlockProps } from '@wordpress/block-editor';
6
+ import { RichText, useBlockProps, __experimentalGetElementClassName } from '@wordpress/block-editor';
7
7
  export default function save(_ref) {
8
8
  let {
9
9
  attributes
@@ -23,7 +23,8 @@ export default function save(_ref) {
23
23
  preload: preload
24
24
  }), !RichText.isEmpty(caption) && createElement(RichText.Content, {
25
25
  tagName: "figcaption",
26
- value: caption
26
+ value: caption,
27
+ className: __experimentalGetElementClassName('caption')
27
28
  }));
28
29
  }
29
30
  //# sourceMappingURL=save.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/audio/save.js"],"names":["RichText","useBlockProps","save","attributes","autoplay","caption","loop","preload","src","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,aAAnB,QAAwC,yBAAxC;AAEA,eAAe,SAASC,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,OAAZ;AAAqBC,IAAAA,IAArB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA;AAApC,MAA4CL,UAAlD;AAEA,SACCK,GAAG,IACF,wBAAaP,aAAa,CAACC,IAAd,EAAb,EACC;AACC,IAAA,QAAQ,EAAC,UADV;AAEC,IAAA,GAAG,EAAGM,GAFP;AAGC,IAAA,QAAQ,EAAGJ,QAHZ;AAIC,IAAA,IAAI,EAAGE,IAJR;AAKC,IAAA,OAAO,EAAGC;AALX,IADD,EAQG,CAAEP,QAAQ,CAACS,OAAT,CAAkBJ,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AAAkB,IAAA,OAAO,EAAC,YAA1B;AAAuC,IAAA,KAAK,EAAGA;AAA/C,IATF,CAFF;AAgBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { autoplay, caption, loop, preload, src } = attributes;\n\n\treturn (\n\t\tsrc && (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<audio\n\t\t\t\t\tcontrols=\"controls\"\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tpreload={ preload }\n\t\t\t\t/>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content tagName=\"figcaption\" value={ caption } />\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t)\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/audio/save.js"],"names":["RichText","useBlockProps","__experimentalGetElementClassName","save","attributes","autoplay","caption","loop","preload","src","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,QADD,EAECC,aAFD,EAGCC,iCAHD,QAIO,yBAJP;AAMA,eAAe,SAASC,IAAT,OAAgC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAC9C,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,OAAZ;AAAqBC,IAAAA,IAArB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA;AAApC,MAA4CL,UAAlD;AAEA,SACCK,GAAG,IACF,wBAAaR,aAAa,CAACE,IAAd,EAAb,EACC;AACC,IAAA,QAAQ,EAAC,UADV;AAEC,IAAA,GAAG,EAAGM,GAFP;AAGC,IAAA,QAAQ,EAAGJ,QAHZ;AAIC,IAAA,IAAI,EAAGE,IAJR;AAKC,IAAA,OAAO,EAAGC;AALX,IADD,EAQG,CAAER,QAAQ,CAACU,OAAT,CAAkBJ,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,KAAK,EAAGA,OAFT;AAGC,IAAA,SAAS,EAAGJ,iCAAiC,CAC5C,SAD4C;AAH9C,IATF,CAFF;AAsBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\nexport default function save( { attributes } ) {\n\tconst { autoplay, caption, loop, preload, src } = attributes;\n\n\treturn (\n\t\tsrc && (\n\t\t\t<figure { ...useBlockProps.save() }>\n\t\t\t\t<audio\n\t\t\t\t\tcontrols=\"controls\"\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tautoPlay={ autoplay }\n\t\t\t\t\tloop={ loop }\n\t\t\t\t\tpreload={ preload }\n\t\t\t\t/>\n\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t)\n\t);\n}\n"]}
@@ -81,8 +81,8 @@ export function useUserAvatar(_ref2) {
81
81
  authorDetails: _authorId ? getUser(_authorId) : null
82
82
  };
83
83
  }, [postType, postId, userId]);
84
- const avatarUrls = authorDetails && authorDetails !== null && authorDetails !== void 0 && authorDetails.avatar_urls ? Object.values(authorDetails.avatar_urls) : null;
85
- const sizes = authorDetails && authorDetails !== null && authorDetails !== void 0 && authorDetails.avatar_urls ? Object.keys(authorDetails.avatar_urls) : null;
84
+ const avatarUrls = authorDetails !== null && authorDetails !== void 0 && authorDetails.avatar_urls ? Object.values(authorDetails.avatar_urls) : null;
85
+ const sizes = authorDetails !== null && authorDetails !== void 0 && authorDetails.avatar_urls ? Object.keys(authorDetails.avatar_urls) : null;
86
86
  const {
87
87
  minSize,
88
88
  maxSize
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/avatar/hooks.js"],"names":["store","blockEditorStore","coreStore","useEntityProp","__","sprintf","useSelect","getAvatarSizes","sizes","minSize","maxSize","length","maxSizeBuffer","Math","floor","useDefaultAvatar","avatarURL","defaultAvatarUrl","select","getSettings","__experimentalDiscussionSettings","useCommentAvatar","commentId","avatars","authorName","avatarUrls","Object","values","keys","defaultAvatar","src","alt","useUserAvatar","userId","postId","postType","authorDetails","getEditedEntityRecord","getUser","_authorId","author","avatar_urls","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nfunction useDefaultAvatar() {\n\tconst { avatarURL: defaultAvatarUrl } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\treturn defaultAvatarUrl;\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\t// translators: %s is the Author name.\n\t\talt: authorName\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\n\tconst avatarUrls =\n\t\tauthorDetails && authorDetails?.avatar_urls\n\t\t\t? Object.values( authorDetails.avatar_urls )\n\t\t\t: null;\n\tconst sizes =\n\t\tauthorDetails && authorDetails?.avatar_urls\n\t\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/avatar/hooks.js"],"names":["store","blockEditorStore","coreStore","useEntityProp","__","sprintf","useSelect","getAvatarSizes","sizes","minSize","maxSize","length","maxSizeBuffer","Math","floor","useDefaultAvatar","avatarURL","defaultAvatarUrl","select","getSettings","__experimentalDiscussionSettings","useCommentAvatar","commentId","avatars","authorName","avatarUrls","Object","values","keys","defaultAvatar","src","alt","useUserAvatar","userId","postId","postType","authorDetails","getEditedEntityRecord","getUser","_authorId","author","avatar_urls","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore, useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction getAvatarSizes( sizes ) {\n\tconst minSize = sizes ? sizes[ 0 ] : 24;\n\tconst maxSize = sizes ? sizes[ sizes.length - 1 ] : 96;\n\tconst maxSizeBuffer = Math.floor( maxSize * 2.5 );\n\treturn {\n\t\tminSize,\n\t\tmaxSize: maxSizeBuffer,\n\t};\n}\n\nfunction useDefaultAvatar() {\n\tconst { avatarURL: defaultAvatarUrl } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\treturn defaultAvatarUrl;\n}\n\nexport function useCommentAvatar( { commentId } ) {\n\tconst [ avatars ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_avatar_urls',\n\t\tcommentId\n\t);\n\n\tconst [ authorName ] = useEntityProp(\n\t\t'root',\n\t\t'comment',\n\t\t'author_name',\n\t\tcommentId\n\t);\n\tconst avatarUrls = avatars ? Object.values( avatars ) : null;\n\tconst sizes = avatars ? Object.keys( avatars ) : null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\t// translators: %s is the Author name.\n\t\talt: authorName\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorName )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n\nexport function useUserAvatar( { userId, postId, postType } ) {\n\tconst { authorDetails } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tif ( userId ) {\n\t\t\t\treturn {\n\t\t\t\t\tauthorDetails: getUser( userId ),\n\t\t\t\t};\n\t\t\t}\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId, userId ]\n\t);\n\tconst avatarUrls = authorDetails?.avatar_urls\n\t\t? Object.values( authorDetails.avatar_urls )\n\t\t: null;\n\tconst sizes = authorDetails?.avatar_urls\n\t\t? Object.keys( authorDetails.avatar_urls )\n\t\t: null;\n\tconst { minSize, maxSize } = getAvatarSizes( sizes );\n\tconst defaultAvatar = useDefaultAvatar();\n\treturn {\n\t\tsrc: avatarUrls ? avatarUrls[ avatarUrls.length - 1 ] : defaultAvatar,\n\t\tminSize,\n\t\tmaxSize,\n\t\talt: authorDetails\n\t\t\t? // translators: %s is the Author name.\n\t\t\t sprintf( __( '%s Avatar' ), authorDetails?.name )\n\t\t\t: __( 'Default Avatar' ),\n\t};\n}\n"]}