@wordpress/block-library 7.1.1 → 7.3.1

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 (657) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.md +1 -1
  3. package/build/archives/edit.js +21 -1
  4. package/build/archives/edit.js.map +1 -1
  5. package/build/archives/index.js +5 -1
  6. package/build/archives/index.js.map +1 -1
  7. package/build/audio/edit.native.js +0 -5
  8. package/build/audio/edit.native.js.map +1 -1
  9. package/build/avatar/edit.js +211 -0
  10. package/build/avatar/edit.js.map +1 -0
  11. package/build/avatar/hooks.js +111 -0
  12. package/build/avatar/hooks.js.map +1 -0
  13. package/build/avatar/index.js +83 -0
  14. package/build/avatar/index.js.map +1 -0
  15. package/build/avatar/user-control.js +63 -0
  16. package/build/avatar/user-control.js.map +1 -0
  17. package/build/block/edit.js +2 -1
  18. package/build/block/edit.js.map +1 -1
  19. package/build/column/index.js +3 -1
  20. package/build/column/index.js.map +1 -1
  21. package/build/comment-author-avatar/index.js +4 -3
  22. package/build/comment-author-avatar/index.js.map +1 -1
  23. package/build/comment-author-name/index.js +7 -3
  24. package/build/comment-author-name/index.js.map +1 -1
  25. package/build/comment-content/index.js +1 -1
  26. package/build/comment-date/edit.js +10 -25
  27. package/build/comment-date/edit.js.map +1 -1
  28. package/build/comment-date/index.js +7 -3
  29. package/build/comment-date/index.js.map +1 -1
  30. package/build/comment-edit-link/index.js +5 -1
  31. package/build/comment-edit-link/index.js.map +1 -1
  32. package/build/comment-reply-link/index.js +5 -1
  33. package/build/comment-reply-link/index.js.map +1 -1
  34. package/build/comment-template/edit.js +86 -66
  35. package/build/comment-template/edit.js.map +1 -1
  36. package/build/comment-template/hooks.js +7 -23
  37. package/build/comment-template/hooks.js.map +1 -1
  38. package/build/comment-template/index.js +2 -2
  39. package/build/comments-pagination-next/index.js +2 -2
  40. package/build/comments-pagination-numbers/index.js +1 -1
  41. package/build/comments-pagination-previous/index.js +1 -1
  42. package/build/comments-query-loop/edit/comments-inspector-controls.js +2 -69
  43. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  44. package/build/comments-query-loop/edit.js +22 -1
  45. package/build/comments-query-loop/edit.js.map +1 -1
  46. package/build/comments-query-loop/index.js +1 -23
  47. package/build/comments-query-loop/index.js.map +1 -1
  48. package/build/cover/edit.js +58 -39
  49. package/build/cover/edit.js.map +1 -1
  50. package/build/cover/index.js +5 -0
  51. package/build/cover/index.js.map +1 -1
  52. package/build/cover/save.js +3 -2
  53. package/build/cover/save.js.map +1 -1
  54. package/build/embed/variations.js +2 -2
  55. package/build/embed/variations.js.map +1 -1
  56. package/build/gallery/edit.js +18 -5
  57. package/build/gallery/edit.js.map +1 -1
  58. package/build/gallery/gallery.js +1 -1
  59. package/build/gallery/gallery.js.map +1 -1
  60. package/build/gallery/gap-styles.js +35 -0
  61. package/build/gallery/gap-styles.js.map +1 -0
  62. package/build/gallery/index.js +18 -1
  63. package/build/gallery/index.js.map +1 -1
  64. package/build/group/edit.js +3 -1
  65. package/build/group/edit.js.map +1 -1
  66. package/build/group/index.js +1 -1
  67. package/build/group/variations.js +30 -9
  68. package/build/group/variations.js.map +1 -1
  69. package/build/heading/edit.js +1 -1
  70. package/build/heading/edit.js.map +1 -1
  71. package/build/html/edit.js +3 -2
  72. package/build/html/edit.js.map +1 -1
  73. package/build/image/edit.native.js +8 -10
  74. package/build/image/edit.native.js.map +1 -1
  75. package/build/image/image.js +3 -1
  76. package/build/image/image.js.map +1 -1
  77. package/build/index.js +10 -4
  78. package/build/index.js.map +1 -1
  79. package/build/list/deprecated.js +2 -2
  80. package/build/list/deprecated.js.map +1 -1
  81. package/build/list/index.js +5 -7
  82. package/build/list/index.js.map +1 -1
  83. package/build/list/v2/deprecated.js +117 -0
  84. package/build/list/v2/deprecated.js.map +1 -0
  85. package/build/list/v2/edit.js +188 -0
  86. package/build/list/v2/edit.js.map +1 -0
  87. package/build/list/v2/index.js +36 -0
  88. package/build/list/v2/index.js.map +1 -0
  89. package/build/list/v2/migrate.js +85 -0
  90. package/build/list/v2/migrate.js.map +1 -0
  91. package/build/list/v2/save.js +34 -0
  92. package/build/list/v2/save.js.map +1 -0
  93. package/build/list/v2/transforms.js +121 -0
  94. package/build/list/v2/transforms.js.map +1 -0
  95. package/build/list-item/edit.js +96 -0
  96. package/build/list-item/edit.js.map +1 -0
  97. package/build/list-item/hooks/index.js +32 -0
  98. package/build/list-item/hooks/index.js.map +1 -0
  99. package/build/list-item/hooks/use-enter.js +93 -0
  100. package/build/list-item/hooks/use-enter.js.map +1 -0
  101. package/build/list-item/hooks/use-indent-list-item.js +74 -0
  102. package/build/list-item/hooks/use-indent-list-item.js.map +1 -0
  103. package/build/list-item/hooks/use-outdent-list-item.js +77 -0
  104. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -0
  105. package/build/list-item/index.js +67 -0
  106. package/build/list-item/index.js.map +1 -0
  107. package/build/list-item/save.js +23 -0
  108. package/build/list-item/save.js.map +1 -0
  109. package/build/list-item/utils.js +16 -0
  110. package/build/list-item/utils.js.map +1 -0
  111. package/build/media-text/edit.js +3 -1
  112. package/build/media-text/edit.js.map +1 -1
  113. package/build/media-text/media-container.native.js +1 -16
  114. package/build/media-text/media-container.native.js.map +1 -1
  115. package/build/navigation/edit/index.js +36 -17
  116. package/build/navigation/edit/index.js.map +1 -1
  117. package/build/navigation/edit/navigation-menu-delete-control.js +1 -1
  118. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  119. package/build/navigation/edit/unsaved-inner-blocks.js +34 -7
  120. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  121. package/build/navigation/index.js +9 -1
  122. package/build/navigation/index.js.map +1 -1
  123. package/build/navigation/use-navigation-entities.js +26 -54
  124. package/build/navigation/use-navigation-entities.js.map +1 -1
  125. package/build/navigation/use-navigation-menu.js +1 -0
  126. package/build/navigation/use-navigation-menu.js.map +1 -1
  127. package/build/navigation-link/edit.js +95 -37
  128. package/build/navigation-link/edit.js.map +1 -1
  129. package/build/navigation-link/index.js +1 -1
  130. package/build/navigation-submenu/edit.js +5 -9
  131. package/build/navigation-submenu/edit.js.map +1 -1
  132. package/build/navigation-submenu/index.js +1 -1
  133. package/build/post-comment/edit.js +2 -2
  134. package/build/post-comment/edit.js.map +1 -1
  135. package/build/post-comments/index.js +4 -3
  136. package/build/post-comments/index.js.map +1 -1
  137. package/build/post-comments-form/edit.js +3 -2
  138. package/build/post-comments-form/edit.js.map +1 -1
  139. package/build/post-date/edit.js +31 -37
  140. package/build/post-date/edit.js.map +1 -1
  141. package/build/post-featured-image/edit.js +2 -1
  142. package/build/post-featured-image/edit.js.map +1 -1
  143. package/build/post-featured-image/index.js +1 -1
  144. package/build/post-template/edit.js +7 -2
  145. package/build/post-template/edit.js.map +1 -1
  146. package/build/post-terms/edit.js +3 -1
  147. package/build/post-terms/edit.js.map +1 -1
  148. package/build/post-terms/variations.js +1 -1
  149. package/build/post-terms/variations.js.map +1 -1
  150. package/build/pullquote/edit.js +5 -3
  151. package/build/pullquote/edit.js.map +1 -1
  152. package/build/query/edit/index.js +84 -22
  153. package/build/query/edit/index.js.map +1 -1
  154. package/build/query/edit/query-placeholder.js +7 -14
  155. package/build/query/edit/query-placeholder.js.map +1 -1
  156. package/build/query/edit/query-toolbar.js +6 -1
  157. package/build/query/edit/query-toolbar.js.map +1 -1
  158. package/build/query/variations.js +4 -4
  159. package/build/query/variations.js.map +1 -1
  160. package/build/query-no-results/edit.js +28 -0
  161. package/build/query-no-results/edit.js.map +1 -0
  162. package/build/query-no-results/index.js +54 -0
  163. package/build/query-no-results/index.js.map +1 -0
  164. package/build/query-no-results/save.js +18 -0
  165. package/build/query-no-results/save.js.map +1 -0
  166. package/build/query-pagination/edit.js +1 -1
  167. package/build/query-pagination/edit.js.map +1 -1
  168. package/build/query-pagination-numbers/index.js +19 -1
  169. package/build/query-pagination-numbers/index.js.map +1 -1
  170. package/build/quote/index.js +15 -8
  171. package/build/quote/index.js.map +1 -1
  172. package/build/quote/v2/deprecated.js +133 -0
  173. package/build/quote/v2/deprecated.js.map +1 -0
  174. package/build/quote/v2/edit.js +131 -0
  175. package/build/quote/v2/edit.js.map +1 -0
  176. package/build/quote/v2/index.js +49 -0
  177. package/build/quote/v2/index.js.map +1 -0
  178. package/build/quote/v2/save.js +43 -0
  179. package/build/quote/v2/save.js.map +1 -0
  180. package/build/quote/v2/transforms.js +156 -0
  181. package/build/quote/v2/transforms.js.map +1 -0
  182. package/build/read-more/index.js +1 -1
  183. package/build/rss/edit.js +6 -1
  184. package/build/rss/edit.js.map +1 -1
  185. package/build/search/edit.js +2 -3
  186. package/build/search/edit.js.map +1 -1
  187. package/build/separator/deprecated.js +83 -0
  188. package/build/separator/deprecated.js.map +1 -0
  189. package/build/separator/edit.js +31 -23
  190. package/build/separator/edit.js.map +1 -1
  191. package/build/separator/index.js +17 -7
  192. package/build/separator/index.js.map +1 -1
  193. package/build/separator/save.js +18 -13
  194. package/build/separator/save.js.map +1 -1
  195. package/build/separator/use-deprecated-opacity.js +39 -0
  196. package/build/separator/use-deprecated-opacity.js.map +1 -0
  197. package/build/site-logo/edit.js +3 -2
  198. package/build/site-logo/edit.js.map +1 -1
  199. package/build/site-logo/index.js +1 -1
  200. package/build/social-links/edit.js +14 -3
  201. package/build/social-links/edit.js.map +1 -1
  202. package/build/social-links/index.js +2 -1
  203. package/build/social-links/index.js.map +1 -1
  204. package/build/spacer/controls.js +6 -16
  205. package/build/spacer/controls.js.map +1 -1
  206. package/build/spacer/controls.native.js +3 -1
  207. package/build/spacer/controls.native.js.map +1 -1
  208. package/build/spacer/edit.js +4 -5
  209. package/build/spacer/edit.js.map +1 -1
  210. package/build/table/deprecated.js +1 -1
  211. package/build/table/deprecated.js.map +1 -1
  212. package/build/tag-cloud/edit.js +58 -2
  213. package/build/tag-cloud/edit.js.map +1 -1
  214. package/build/tag-cloud/index.js +8 -0
  215. package/build/tag-cloud/index.js.map +1 -1
  216. package/build/template-part/edit/utils/hooks.js +5 -2
  217. package/build/template-part/edit/utils/hooks.js.map +1 -1
  218. package/build-module/archives/edit.js +22 -2
  219. package/build-module/archives/edit.js.map +1 -1
  220. package/build-module/archives/index.js +5 -1
  221. package/build-module/archives/index.js.map +1 -1
  222. package/build-module/audio/edit.native.js +0 -5
  223. package/build-module/audio/edit.native.js.map +1 -1
  224. package/build-module/avatar/edit.js +195 -0
  225. package/build-module/avatar/edit.js.map +1 -0
  226. package/build-module/avatar/hooks.js +99 -0
  227. package/build-module/avatar/hooks.js.map +1 -0
  228. package/build-module/avatar/index.js +70 -0
  229. package/build-module/avatar/index.js.map +1 -0
  230. package/build-module/avatar/user-control.js +52 -0
  231. package/build-module/avatar/user-control.js.map +1 -0
  232. package/build-module/block/edit.js +4 -3
  233. package/build-module/block/edit.js.map +1 -1
  234. package/build-module/column/index.js +3 -1
  235. package/build-module/column/index.js.map +1 -1
  236. package/build-module/comment-author-avatar/index.js +4 -3
  237. package/build-module/comment-author-avatar/index.js.map +1 -1
  238. package/build-module/comment-author-name/index.js +7 -3
  239. package/build-module/comment-author-name/index.js.map +1 -1
  240. package/build-module/comment-content/index.js +1 -1
  241. package/build-module/comment-date/edit.js +13 -30
  242. package/build-module/comment-date/edit.js.map +1 -1
  243. package/build-module/comment-date/index.js +7 -3
  244. package/build-module/comment-date/index.js.map +1 -1
  245. package/build-module/comment-edit-link/index.js +5 -1
  246. package/build-module/comment-edit-link/index.js.map +1 -1
  247. package/build-module/comment-reply-link/index.js +5 -1
  248. package/build-module/comment-reply-link/index.js.map +1 -1
  249. package/build-module/comment-template/edit.js +86 -66
  250. package/build-module/comment-template/edit.js.map +1 -1
  251. package/build-module/comment-template/hooks.js +7 -23
  252. package/build-module/comment-template/hooks.js.map +1 -1
  253. package/build-module/comment-template/index.js +2 -2
  254. package/build-module/comments-pagination-next/index.js +2 -2
  255. package/build-module/comments-pagination-numbers/index.js +1 -1
  256. package/build-module/comments-pagination-previous/index.js +1 -1
  257. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +4 -70
  258. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  259. package/build-module/comments-query-loop/edit.js +22 -1
  260. package/build-module/comments-query-loop/edit.js.map +1 -1
  261. package/build-module/comments-query-loop/index.js +1 -23
  262. package/build-module/comments-query-loop/index.js.map +1 -1
  263. package/build-module/cover/edit.js +58 -41
  264. package/build-module/cover/edit.js.map +1 -1
  265. package/build-module/cover/index.js +5 -0
  266. package/build-module/cover/index.js.map +1 -1
  267. package/build-module/cover/save.js +3 -2
  268. package/build-module/cover/save.js.map +1 -1
  269. package/build-module/embed/variations.js +2 -2
  270. package/build-module/embed/variations.js.map +1 -1
  271. package/build-module/gallery/edit.js +17 -5
  272. package/build-module/gallery/edit.js.map +1 -1
  273. package/build-module/gallery/gallery.js +1 -1
  274. package/build-module/gallery/gallery.js.map +1 -1
  275. package/build-module/gallery/gap-styles.js +28 -0
  276. package/build-module/gallery/gap-styles.js.map +1 -0
  277. package/build-module/gallery/index.js +18 -1
  278. package/build-module/gallery/index.js.map +1 -1
  279. package/build-module/group/edit.js +3 -1
  280. package/build-module/group/edit.js.map +1 -1
  281. package/build-module/group/index.js +1 -1
  282. package/build-module/group/variations.js +29 -9
  283. package/build-module/group/variations.js.map +1 -1
  284. package/build-module/heading/edit.js +1 -1
  285. package/build-module/heading/edit.js.map +1 -1
  286. package/build-module/html/edit.js +4 -3
  287. package/build-module/html/edit.js.map +1 -1
  288. package/build-module/image/edit.native.js +8 -10
  289. package/build-module/image/edit.native.js.map +1 -1
  290. package/build-module/image/image.js +3 -1
  291. package/build-module/image/image.js.map +1 -1
  292. package/build-module/index.js +7 -4
  293. package/build-module/index.js.map +1 -1
  294. package/build-module/list/deprecated.js +2 -2
  295. package/build-module/list/deprecated.js.map +1 -1
  296. package/build-module/list/index.js +5 -1
  297. package/build-module/list/index.js.map +1 -1
  298. package/build-module/list/v2/deprecated.js +104 -0
  299. package/build-module/list/v2/deprecated.js.map +1 -0
  300. package/build-module/list/v2/edit.js +168 -0
  301. package/build-module/list/v2/edit.js.map +1 -0
  302. package/build-module/list/v2/index.js +21 -0
  303. package/build-module/list/v2/index.js.map +1 -0
  304. package/build-module/list/v2/migrate.js +77 -0
  305. package/build-module/list/v2/migrate.js.map +1 -0
  306. package/build-module/list/v2/save.js +23 -0
  307. package/build-module/list/v2/save.js.map +1 -0
  308. package/build-module/list/v2/transforms.js +111 -0
  309. package/build-module/list/v2/transforms.js.map +1 -0
  310. package/build-module/list-item/edit.js +83 -0
  311. package/build-module/list-item/edit.js.map +1 -0
  312. package/build-module/list-item/hooks/index.js +4 -0
  313. package/build-module/list-item/hooks/index.js.map +1 -0
  314. package/build-module/list-item/hooks/use-enter.js +77 -0
  315. package/build-module/list-item/hooks/use-enter.js.map +1 -0
  316. package/build-module/list-item/hooks/use-indent-list-item.js +62 -0
  317. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -0
  318. package/build-module/list-item/hooks/use-outdent-list-item.js +66 -0
  319. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -0
  320. package/build-module/list-item/index.js +53 -0
  321. package/build-module/list-item/index.js.map +1 -0
  322. package/build-module/list-item/save.js +15 -0
  323. package/build-module/list-item/save.js.map +1 -0
  324. package/build-module/list-item/utils.js +8 -0
  325. package/build-module/list-item/utils.js.map +1 -0
  326. package/build-module/media-text/edit.js +3 -1
  327. package/build-module/media-text/edit.js.map +1 -1
  328. package/build-module/media-text/media-container.native.js +1 -14
  329. package/build-module/media-text/media-container.native.js.map +1 -1
  330. package/build-module/navigation/edit/index.js +37 -17
  331. package/build-module/navigation/edit/index.js.map +1 -1
  332. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
  333. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  334. package/build-module/navigation/edit/unsaved-inner-blocks.js +35 -8
  335. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  336. package/build-module/navigation/index.js +9 -1
  337. package/build-module/navigation/index.js.map +1 -1
  338. package/build-module/navigation/use-navigation-entities.js +27 -54
  339. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  340. package/build-module/navigation/use-navigation-menu.js +1 -0
  341. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  342. package/build-module/navigation-link/edit.js +95 -36
  343. package/build-module/navigation-link/edit.js.map +1 -1
  344. package/build-module/navigation-link/index.js +1 -1
  345. package/build-module/navigation-submenu/edit.js +6 -10
  346. package/build-module/navigation-submenu/edit.js.map +1 -1
  347. package/build-module/navigation-submenu/index.js +1 -1
  348. package/build-module/post-comment/edit.js +2 -2
  349. package/build-module/post-comment/edit.js.map +1 -1
  350. package/build-module/post-comments/index.js +4 -3
  351. package/build-module/post-comments/index.js.map +1 -1
  352. package/build-module/post-comments-form/edit.js +3 -2
  353. package/build-module/post-comments-form/edit.js.map +1 -1
  354. package/build-module/post-date/edit.js +32 -43
  355. package/build-module/post-date/edit.js.map +1 -1
  356. package/build-module/post-featured-image/edit.js +2 -1
  357. package/build-module/post-featured-image/edit.js.map +1 -1
  358. package/build-module/post-featured-image/index.js +1 -1
  359. package/build-module/post-template/edit.js +7 -2
  360. package/build-module/post-template/edit.js.map +1 -1
  361. package/build-module/post-terms/edit.js +4 -2
  362. package/build-module/post-terms/edit.js.map +1 -1
  363. package/build-module/post-terms/variations.js +3 -3
  364. package/build-module/post-terms/variations.js.map +1 -1
  365. package/build-module/pullquote/edit.js +6 -3
  366. package/build-module/pullquote/edit.js.map +1 -1
  367. package/build-module/query/edit/index.js +87 -26
  368. package/build-module/query/edit/index.js.map +1 -1
  369. package/build-module/query/edit/query-placeholder.js +8 -15
  370. package/build-module/query/edit/query-placeholder.js.map +1 -1
  371. package/build-module/query/edit/query-toolbar.js +6 -1
  372. package/build-module/query/edit/query-toolbar.js.map +1 -1
  373. package/build-module/query/variations.js +4 -4
  374. package/build-module/query/variations.js.map +1 -1
  375. package/build-module/query-no-results/edit.js +18 -0
  376. package/build-module/query-no-results/edit.js.map +1 -0
  377. package/build-module/query-no-results/index.js +40 -0
  378. package/build-module/query-no-results/index.js.map +1 -0
  379. package/build-module/query-no-results/save.js +10 -0
  380. package/build-module/query-no-results/save.js.map +1 -0
  381. package/build-module/query-pagination/edit.js +1 -1
  382. package/build-module/query-pagination/edit.js.map +1 -1
  383. package/build-module/query-pagination-numbers/index.js +19 -1
  384. package/build-module/query-pagination-numbers/index.js.map +1 -1
  385. package/build-module/quote/index.js +13 -1
  386. package/build-module/quote/index.js.map +1 -1
  387. package/build-module/quote/v2/deprecated.js +116 -0
  388. package/build-module/quote/v2/deprecated.js.map +1 -0
  389. package/build-module/quote/v2/edit.js +115 -0
  390. package/build-module/quote/v2/edit.js.map +1 -0
  391. package/build-module/quote/v2/index.js +33 -0
  392. package/build-module/quote/v2/index.js.map +1 -0
  393. package/build-module/quote/v2/save.js +30 -0
  394. package/build-module/quote/v2/save.js.map +1 -0
  395. package/build-module/quote/v2/transforms.js +147 -0
  396. package/build-module/quote/v2/transforms.js.map +1 -0
  397. package/build-module/read-more/index.js +1 -1
  398. package/build-module/rss/edit.js +5 -1
  399. package/build-module/rss/edit.js.map +1 -1
  400. package/build-module/search/edit.js +2 -3
  401. package/build-module/search/edit.js.map +1 -1
  402. package/build-module/separator/deprecated.js +70 -0
  403. package/build-module/separator/deprecated.js.map +1 -0
  404. package/build-module/separator/edit.js +31 -22
  405. package/build-module/separator/edit.js.map +1 -1
  406. package/build-module/separator/index.js +16 -7
  407. package/build-module/separator/index.js.map +1 -1
  408. package/build-module/separator/save.js +19 -14
  409. package/build-module/separator/save.js.map +1 -1
  410. package/build-module/separator/use-deprecated-opacity.js +30 -0
  411. package/build-module/separator/use-deprecated-opacity.js.map +1 -0
  412. package/build-module/site-logo/edit.js +3 -2
  413. package/build-module/site-logo/edit.js.map +1 -1
  414. package/build-module/site-logo/index.js +1 -1
  415. package/build-module/social-links/edit.js +15 -4
  416. package/build-module/social-links/edit.js.map +1 -1
  417. package/build-module/social-links/index.js +2 -1
  418. package/build-module/social-links/index.js.map +1 -1
  419. package/build-module/spacer/controls.js +8 -19
  420. package/build-module/spacer/controls.js.map +1 -1
  421. package/build-module/spacer/controls.native.js +2 -1
  422. package/build-module/spacer/controls.native.js.map +1 -1
  423. package/build-module/spacer/edit.js +3 -3
  424. package/build-module/spacer/edit.js.map +1 -1
  425. package/build-module/table/deprecated.js +1 -1
  426. package/build-module/table/deprecated.js.map +1 -1
  427. package/build-module/tag-cloud/edit.js +60 -4
  428. package/build-module/tag-cloud/edit.js.map +1 -1
  429. package/build-module/tag-cloud/index.js +8 -0
  430. package/build-module/tag-cloud/index.js.map +1 -1
  431. package/build-module/template-part/edit/utils/hooks.js +5 -2
  432. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  433. package/build-style/avatar/editor-rtl.css +83 -0
  434. package/build-style/avatar/editor.css +83 -0
  435. package/build-style/avatar/style-rtl.css +79 -0
  436. package/build-style/avatar/style.css +79 -0
  437. package/build-style/editor-rtl.css +92 -11
  438. package/build-style/editor.css +92 -11
  439. package/build-style/gallery/editor-rtl.css +0 -1
  440. package/build-style/gallery/editor.css +0 -1
  441. package/build-style/gallery/style-rtl.css +102 -169
  442. package/build-style/gallery/style.css +102 -169
  443. package/build-style/group/editor-rtl.css +26 -0
  444. package/build-style/group/editor.css +26 -0
  445. package/build-style/heading/style-rtl.css +0 -8
  446. package/build-style/heading/style.css +0 -8
  447. package/build-style/image/style-rtl.css +2 -0
  448. package/build-style/image/style.css +2 -0
  449. package/build-style/list/style-rtl.css +1 -1
  450. package/build-style/list/style.css +1 -1
  451. package/build-style/navigation/style-rtl.css +11 -9
  452. package/build-style/navigation/style.css +11 -9
  453. package/build-style/navigation-link/editor-rtl.css +13 -0
  454. package/build-style/navigation-link/editor.css +13 -0
  455. package/build-style/navigation-link/style-rtl.css +3 -0
  456. package/build-style/navigation-link/style.css +3 -0
  457. package/build-style/paragraph/style-rtl.css +0 -4
  458. package/build-style/paragraph/style.css +0 -4
  459. package/build-style/pullquote/style-rtl.css +0 -4
  460. package/build-style/pullquote/style.css +0 -4
  461. package/build-style/query/editor-rtl.css +39 -0
  462. package/build-style/query/editor.css +39 -0
  463. package/build-style/quote/style-rtl.css +1 -0
  464. package/build-style/quote/style.css +1 -0
  465. package/build-style/reset-rtl.css +1 -1
  466. package/build-style/reset.css +1 -1
  467. package/build-style/separator/editor-rtl.css +3 -0
  468. package/build-style/separator/editor.css +3 -0
  469. package/build-style/separator/theme-rtl.css +7 -1
  470. package/build-style/separator/theme.css +7 -1
  471. package/build-style/site-logo/editor-rtl.css +3 -1
  472. package/build-style/site-logo/editor.css +3 -1
  473. package/build-style/style-rtl.css +124 -195
  474. package/build-style/style.css +124 -195
  475. package/build-style/template-part/editor-rtl.css +0 -9
  476. package/build-style/template-part/editor.css +0 -9
  477. package/build-style/theme-rtl.css +7 -1
  478. package/build-style/theme.css +7 -1
  479. package/package.json +28 -28
  480. package/src/archives/block.json +5 -1
  481. package/src/archives/edit.js +20 -2
  482. package/src/archives/index.php +4 -4
  483. package/src/audio/edit.native.js +0 -5
  484. package/src/avatar/block.json +53 -0
  485. package/src/avatar/edit.js +230 -0
  486. package/src/avatar/editor.scss +9 -0
  487. package/src/avatar/hooks.js +96 -0
  488. package/src/avatar/index.js +18 -0
  489. package/src/avatar/index.php +146 -0
  490. package/src/avatar/style.scss +5 -0
  491. package/src/avatar/user-control.js +56 -0
  492. package/src/block/edit.js +21 -11
  493. package/src/column/block.json +3 -1
  494. package/src/comment-author-avatar/block.json +4 -3
  495. package/src/comment-author-name/block.json +7 -3
  496. package/src/comment-author-name/index.php +3 -0
  497. package/src/comment-content/block.json +1 -1
  498. package/src/comment-date/block.json +7 -3
  499. package/src/comment-date/edit.js +20 -30
  500. package/src/comment-date/index.php +6 -1
  501. package/src/comment-edit-link/block.json +5 -1
  502. package/src/comment-edit-link/index.php +3 -0
  503. package/src/comment-reply-link/block.json +5 -1
  504. package/src/comment-reply-link/index.php +4 -1
  505. package/src/comment-template/block.json +2 -8
  506. package/src/comment-template/edit.js +77 -64
  507. package/src/comment-template/hooks.js +8 -24
  508. package/src/comment-template/index.php +1 -3
  509. package/src/comments-pagination-next/block.json +2 -9
  510. package/src/comments-pagination-numbers/block.json +2 -8
  511. package/src/comments-pagination-previous/block.json +2 -2
  512. package/src/comments-query-loop/block.json +1 -23
  513. package/src/comments-query-loop/edit/comments-inspector-controls.js +2 -83
  514. package/src/comments-query-loop/edit.js +54 -1
  515. package/src/cover/block.json +5 -0
  516. package/src/cover/edit.js +103 -60
  517. package/src/cover/index.php +85 -0
  518. package/src/cover/save.js +18 -14
  519. package/src/editor.scss +1 -0
  520. package/src/embed/variations.js +2 -2
  521. package/src/gallery/block.json +18 -1
  522. package/src/gallery/deprecated.scss +2 -2
  523. package/src/gallery/edit.js +15 -8
  524. package/src/gallery/editor.scss +0 -1
  525. package/src/gallery/gallery.js +8 -7
  526. package/src/gallery/gap-styles.js +26 -0
  527. package/src/gallery/index.php +43 -1
  528. package/src/gallery/style.scss +11 -44
  529. package/src/group/block.json +1 -1
  530. package/src/group/edit.js +4 -1
  531. package/src/group/editor.scss +31 -0
  532. package/src/group/variations.js +21 -4
  533. package/src/heading/edit.js +1 -1
  534. package/src/heading/style.scss +0 -3
  535. package/src/html/edit.js +22 -30
  536. package/src/image/edit.native.js +7 -11
  537. package/src/image/image.js +4 -1
  538. package/src/image/style.scss +3 -0
  539. package/src/index.js +19 -14
  540. package/src/list/deprecated.js +2 -2
  541. package/src/list/index.js +6 -1
  542. package/src/list/style.scss +1 -2
  543. package/src/list/test/migrate.js +159 -0
  544. package/src/list/v2/deprecated.js +89 -0
  545. package/src/list/v2/edit.js +186 -0
  546. package/src/list/v2/index.js +22 -0
  547. package/src/list/v2/migrate.js +87 -0
  548. package/src/list/v2/save.js +18 -0
  549. package/src/list/v2/transforms.js +116 -0
  550. package/src/list-item/block.json +26 -0
  551. package/src/list-item/edit.js +93 -0
  552. package/src/list-item/hooks/index.js +3 -0
  553. package/src/list-item/hooks/use-enter.js +94 -0
  554. package/src/list-item/hooks/use-indent-list-item.js +89 -0
  555. package/src/list-item/hooks/use-outdent-list-item.js +95 -0
  556. package/src/list-item/index.js +27 -0
  557. package/src/list-item/save.js +13 -0
  558. package/src/list-item/utils.js +14 -0
  559. package/src/media-text/edit.js +1 -1
  560. package/src/media-text/media-container.native.js +1 -14
  561. package/src/navigation/block.json +9 -1
  562. package/src/navigation/edit/index.js +50 -14
  563. package/src/navigation/edit/navigation-menu-delete-control.js +1 -1
  564. package/src/navigation/edit/unsaved-inner-blocks.js +57 -8
  565. package/src/navigation/index.php +28 -3
  566. package/src/navigation/style.scss +15 -13
  567. package/src/navigation/use-navigation-entities.js +37 -73
  568. package/src/navigation/use-navigation-menu.js +4 -0
  569. package/src/navigation-link/block.json +1 -0
  570. package/src/navigation-link/edit.js +156 -64
  571. package/src/navigation-link/editor.scss +11 -0
  572. package/src/navigation-link/index.php +8 -0
  573. package/src/navigation-link/style.scss +6 -0
  574. package/src/navigation-submenu/block.json +1 -0
  575. package/src/navigation-submenu/edit.js +7 -9
  576. package/src/paragraph/style.scss +0 -5
  577. package/src/post-author/index.php +0 -1
  578. package/src/post-comment/edit.js +2 -2
  579. package/src/post-comments/block.json +4 -3
  580. package/src/post-comments-form/edit.js +6 -3
  581. package/src/post-date/edit.js +63 -52
  582. package/src/post-date/index.php +1 -1
  583. package/src/post-date/test/edit.js +17 -0
  584. package/src/post-featured-image/block.json +1 -1
  585. package/src/post-featured-image/edit.js +9 -1
  586. package/src/post-featured-image/index.php +2 -1
  587. package/src/post-template/edit.js +7 -1
  588. package/src/post-terms/edit.js +4 -1
  589. package/src/post-terms/variations.js +3 -3
  590. package/src/pullquote/edit.js +4 -3
  591. package/src/pullquote/style.scss +0 -5
  592. package/src/query/edit/index.js +125 -26
  593. package/src/query/edit/query-placeholder.js +3 -13
  594. package/src/query/edit/query-toolbar.js +6 -0
  595. package/src/query/editor.scss +38 -0
  596. package/src/query/variations.js +4 -0
  597. package/src/query-no-results/block.json +20 -0
  598. package/src/query-no-results/edit.js +28 -0
  599. package/src/query-no-results/index.js +20 -0
  600. package/src/query-no-results/index.php +59 -0
  601. package/src/query-no-results/save.js +8 -0
  602. package/src/query-pagination/edit.js +1 -1
  603. package/src/query-pagination/index.php +9 -2
  604. package/src/query-pagination-numbers/block.json +19 -1
  605. package/src/quote/block.json +8 -0
  606. package/src/quote/index.js +6 -1
  607. package/src/quote/style.scss +1 -0
  608. package/src/quote/v2/deprecated.js +107 -0
  609. package/src/quote/v2/edit.js +136 -0
  610. package/src/quote/v2/index.js +36 -0
  611. package/src/quote/v2/save.js +26 -0
  612. package/src/quote/v2/test/migrate.js +92 -0
  613. package/src/quote/v2/transforms.js +155 -0
  614. package/src/read-more/block.json +1 -1
  615. package/src/reset.scss +1 -1
  616. package/src/rss/edit.js +3 -1
  617. package/src/rss/index.php +14 -1
  618. package/src/search/edit.js +1 -2
  619. package/src/separator/block.json +13 -6
  620. package/src/separator/deprecated.js +57 -0
  621. package/src/separator/deprecated.scss +6 -0
  622. package/src/separator/edit.js +36 -14
  623. package/src/separator/editor.scss +6 -0
  624. package/src/separator/index.js +2 -0
  625. package/src/separator/save.js +22 -14
  626. package/src/separator/test/edit.js +113 -0
  627. package/src/separator/theme.scss +7 -1
  628. package/src/separator/use-deprecated-opacity.js +41 -0
  629. package/src/site-logo/block.json +1 -1
  630. package/src/site-logo/edit.js +2 -1
  631. package/src/site-logo/editor.scss +3 -1
  632. package/src/site-logo/index.php +0 -4
  633. package/src/social-link/index.php +1 -2
  634. package/src/social-links/block.json +2 -1
  635. package/src/social-links/edit.js +15 -5
  636. package/src/spacer/controls.js +12 -18
  637. package/src/spacer/controls.native.js +2 -1
  638. package/src/spacer/edit.js +3 -6
  639. package/src/spacer/test/__snapshots__/index.native.js.snap +31 -0
  640. package/src/spacer/test/index.native.js +180 -0
  641. package/src/style.scss +1 -0
  642. package/src/table/deprecated.js +5 -1
  643. package/src/tag-cloud/block.json +8 -0
  644. package/src/tag-cloud/edit.js +82 -2
  645. package/src/tag-cloud/index.php +6 -0
  646. package/src/template-part/edit/utils/hooks.js +6 -1
  647. package/src/template-part/editor.scss +0 -10
  648. package/build/navigation/edit/use-list-view-modal.js +0 -73
  649. package/build/navigation/edit/use-list-view-modal.js.map +0 -1
  650. package/build/separator/separator-settings.js +0 -36
  651. package/build/separator/separator-settings.js.map +0 -1
  652. package/build-module/navigation/edit/use-list-view-modal.js +0 -63
  653. package/build-module/navigation/edit/use-list-view-modal.js.map +0 -1
  654. package/build-module/separator/separator-settings.js +0 -27
  655. package/build-module/separator/separator-settings.js.map +0 -1
  656. package/src/navigation/edit/use-list-view-modal.js +0 -72
  657. package/src/separator/separator-settings.js +0 -24
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comments-query-loop/edit.js"],"names":["TEMPLATE","CommentsQueryLoopEdit","attributes","setAttributes","tagName","TagName","blockProps","innerBlocksProps","template"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,QAAQ,GAAG,CAChB,CAAE,uBAAF,CADgB,EAEhB,CAAE,0BAAF,CAFgB,CAAjB;;AAKe,SAASC,qBAAT,OAAgE;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AAC9E,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAAuBH,UAA7B;AAEA,QAAMI,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,QAAQ,EAAER;AAD+C,GAAjC,CAAzB;AAIA,SACC,qDACC,4BAAC,kCAAD;AACC,IAAA,UAAU,EAAGE,UADd;AAEC,IAAA,aAAa,EAAGC;AAFjB,IADD,EAKC,4BAAC,OAAD,EAAcI,gBAAd,CALD,CADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentsInspectorControls from './edit/comments-inspector-controls';\n\nconst TEMPLATE = [\n\t[ 'core/comment-template' ],\n\t[ 'core/comments-pagination' ],\n];\n\nexport default function CommentsQueryLoopEdit( { attributes, setAttributes } ) {\n\tconst { tagName: TagName } = attributes;\n\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<CommentsInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comments-query-loop/edit.js"],"names":["TEMPLATE","width","size","style","border","radius","layout","type","spacing","margin","top","bottom","CommentsQueryLoopEdit","attributes","setAttributes","tagName","TagName","blockProps","innerBlocksProps","template"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,MAAMA,QAAQ,GAAG,CAChB,CACC,uBADD,EAEC,EAFD,EAGC,CACC,CACC,cADD,EAEC,EAFD,EAGC,CACC,CACC,aADD,EAEC;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAFD,EAGC,CACC,CACC,aADD,EAEC;AACCC,EAAAA,IAAI,EAAE,EADP;AAECC,EAAAA,KAAK,EAAE;AACNC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,MAAM,EAAE;AAAV;AADF;AAFR,CAFD,CADD,CAHD,CADD,EAgBC,CACC,aADD,EAEC,EAFD,EAGC,CACC,CAAE,0BAAF,CADD,EAEC,CACC,YADD,EAEC;AACCC,EAAAA,MAAM,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GADT;AAECJ,EAAAA,KAAK,EAAE;AACNK,IAAAA,OAAO,EAAE;AACRC,MAAAA,MAAM,EAAE;AACPC,QAAAA,GAAG,EAAE,KADE;AAEPC,QAAAA,MAAM,EAAE;AAFD;AADA;AADH;AAFR,CAFD,EAaC,CACC,CAAE,mBAAF,CADD,EAEC,CAAE,wBAAF,CAFD,CAbD,CAFD,EAoBC,CAAE,sBAAF,CApBD,EAqBC,CAAE,yBAAF,CArBD,CAHD,CAhBD,CAHD,CADD,CAHD,CADgB,EAuDhB,CAAE,0BAAF,CAvDgB,CAAjB;;AA0De,SAASC,qBAAT,OAAgE;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AAC9E,QAAM;AAAEC,IAAAA,OAAO,EAAEC;AAAX,MAAuBH,UAA7B;AAEA,QAAMI,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,QAAQ,EAAEnB;AAD+C,GAAjC,CAAzB;AAIA,SACC,qDACC,4BAAC,kCAAD;AACC,IAAA,UAAU,EAAGa,UADd;AAEC,IAAA,aAAa,EAAGC;AAFjB,IADD,EAKC,4BAAC,OAAD,EAAcI,gBAAd,CALD,CADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentsInspectorControls from './edit/comments-inspector-controls';\n\nconst TEMPLATE = [\n\t[\n\t\t'core/comment-template',\n\t\t{},\n\t\t[\n\t\t\t[\n\t\t\t\t'core/columns',\n\t\t\t\t{},\n\t\t\t\t[\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{ width: '40px' },\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'core/avatar',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tsize: 40,\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tborder: { radius: '20px' },\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],\n\t\t\t\t\t\t],\n\t\t\t\t\t],\n\t\t\t\t\t[\n\t\t\t\t\t\t'core/column',\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t[\n\t\t\t\t\t\t\t[ 'core/comment-author-name' ],\n\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlayout: { type: 'flex' },\n\t\t\t\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\t\t\t\tspacing: {\n\t\t\t\t\t\t\t\t\t\t\tmargin: {\n\t\t\t\t\t\t\t\t\t\t\t\ttop: '0px',\n\t\t\t\t\t\t\t\t\t\t\t\tbottom: '0px',\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t[ 'core/comment-date' ],\n\t\t\t\t\t\t\t\t\t[ 'core/comment-edit-link' ],\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[ 'core/comment-content' ],\n\t\t\t\t\t\t\t[ 'core/comment-reply-link' ],\n\t\t\t\t\t\t],\n\t\t\t\t\t],\n\t\t\t\t],\n\t\t\t],\n\t\t],\n\t],\n\t[ 'core/comments-pagination' ],\n];\n\nexport default function CommentsQueryLoopEdit( { attributes, setAttributes } ) {\n\tconst { tagName: TagName } = attributes;\n\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<CommentsInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
@@ -26,36 +26,14 @@ const metadata = {
26
26
  name: "core/comments-query-loop",
27
27
  title: "Comments Query Loop",
28
28
  category: "theme",
29
- description: "An advanced block that allows displaying post comments based on different query parameters and visual configurations.",
29
+ description: "An advanced block that allows displaying post comments using different visual configurations.",
30
30
  textdomain: "default",
31
31
  attributes: {
32
- inherit: {
33
- type: "boolean",
34
- "default": true
35
- },
36
- order: {
37
- type: "string",
38
- "default": null
39
- },
40
- perPage: {
41
- type: "number",
42
- "default": null
43
- },
44
32
  tagName: {
45
33
  type: "string",
46
34
  "default": "div"
47
- },
48
- defaultPage: {
49
- type: "string",
50
- "default": "oldest"
51
35
  }
52
36
  },
53
- providesContext: {
54
- "comments/perPage": "perPage",
55
- "comments/order": "order",
56
- "comments/defaultPage": "defaultPage",
57
- "comments/inherit": "inherit"
58
- },
59
37
  supports: {
60
38
  align: ["wide", "full"],
61
39
  html: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comments-query-loop/index.js"],"names":["name","metadata","settings","icon","edit","save"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,mBADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comments-query-loop/index.js"],"names":["name","metadata","settings","icon","edit","save"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,mBADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n"]}
@@ -19,6 +19,8 @@ var _colord = require("colord");
19
19
 
20
20
  var _names = _interopRequireDefault(require("colord/plugins/names"));
21
21
 
22
+ var _coreData = require("@wordpress/core-data");
23
+
22
24
  var _components = require("@wordpress/components");
23
25
 
24
26
  var _compose = require("@wordpress/compose");
@@ -33,6 +35,8 @@ var _icons = require("@wordpress/icons");
33
35
 
34
36
  var _blob = require("@wordpress/blob");
35
37
 
38
+ var _notices = require("@wordpress/notices");
39
+
36
40
  var _shared = require("./shared");
37
41
 
38
42
  /**
@@ -74,8 +78,7 @@ function CoverHeightInput(_ref) {
74
78
  unit = 'px',
75
79
  value = ''
76
80
  } = _ref;
77
- const [temporaryInput, setTemporaryInput] = (0, _element.useState)(null);
78
- const instanceId = (0, _compose.useInstanceId)(_blockEditor.__experimentalUnitControl);
81
+ const instanceId = (0, _compose.useInstanceId)(_components.__experimentalUnitControl);
79
82
  const inputId = `block-cover-height-input-${instanceId}`;
80
83
  const isPx = unit === 'px';
81
84
  const units = (0, _components.__experimentalUseCustomUnits)({
@@ -94,38 +97,31 @@ function CoverHeightInput(_ref) {
94
97
  const inputValue = unprocessedValue !== '' ? parseFloat(unprocessedValue) : undefined;
95
98
 
96
99
  if (isNaN(inputValue) && inputValue !== undefined) {
97
- setTemporaryInput(unprocessedValue);
98
100
  return;
99
101
  }
100
102
 
101
- setTemporaryInput(null);
102
103
  onChange(inputValue);
103
104
  };
104
105
 
105
- const handleOnBlur = () => {
106
- if (temporaryInput !== null) {
107
- setTemporaryInput(null);
108
- }
109
- };
110
-
111
- const inputValue = temporaryInput !== null ? temporaryInput : value;
106
+ const computedValue = (0, _element.useMemo)(() => {
107
+ const [parsedQuantity] = (0, _components.__experimentalParseQuantityAndUnitFromRawValue)(value);
108
+ return [parsedQuantity, unit].join('');
109
+ }, [unit, value]);
112
110
  const min = isPx ? _shared.COVER_MIN_HEIGHT : 0;
113
111
  return (0, _element.createElement)(_components.BaseControl, {
114
112
  label: (0, _i18n.__)('Minimum height of cover'),
115
113
  id: inputId
116
- }, (0, _element.createElement)(_blockEditor.__experimentalUnitControl, {
114
+ }, (0, _element.createElement)(_components.__experimentalUnitControl, {
117
115
  id: inputId,
118
116
  isResetValueOnUnitChange: true,
119
117
  min: min,
120
- onBlur: handleOnBlur,
121
118
  onChange: handleOnChange,
122
119
  onUnitChange: onUnitChange,
123
120
  style: {
124
121
  maxWidth: 80
125
122
  },
126
- unit: unit,
127
123
  units: units,
128
- value: inputValue
124
+ value: computedValue
129
125
  }));
130
126
  }
131
127
 
@@ -247,15 +243,10 @@ function CoverPlaceholder(_ref4) {
247
243
  let {
248
244
  disableMediaButtons = false,
249
245
  children,
250
- noticeUI,
251
- noticeOperations,
252
246
  onSelectMedia,
247
+ onError,
253
248
  style
254
249
  } = _ref4;
255
- const {
256
- removeAllNotices,
257
- createErrorNotice
258
- } = noticeOperations;
259
250
  return (0, _element.createElement)(_blockEditor.MediaPlaceholder, {
260
251
  icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
261
252
  icon: _icons.cover
@@ -267,12 +258,8 @@ function CoverPlaceholder(_ref4) {
267
258
  onSelect: onSelectMedia,
268
259
  accept: "image/*,video/*",
269
260
  allowedTypes: _shared.ALLOWED_MEDIA_TYPES,
270
- notices: noticeUI,
271
261
  disableMediaButtons: disableMediaButtons,
272
- onError: message => {
273
- removeAllNotices();
274
- createErrorNotice(message);
275
- },
262
+ onError: onError,
276
263
  style: style
277
264
  }, children);
278
265
  }
@@ -284,17 +271,19 @@ function CoverEdit(_ref5) {
284
271
  attributes,
285
272
  clientId,
286
273
  isSelected,
287
- noticeUI,
288
- noticeOperations,
289
274
  overlayColor,
290
275
  setAttributes,
291
276
  setOverlayColor,
292
- toggleSelection
277
+ toggleSelection,
278
+ context: {
279
+ postId,
280
+ postType
281
+ }
293
282
  } = _ref5;
294
283
  const {
295
284
  contentPosition,
296
285
  id,
297
- backgroundType,
286
+ useFeaturedImage,
298
287
  dimRatio,
299
288
  focalPoint,
300
289
  hasParallax,
@@ -303,14 +292,27 @@ function CoverEdit(_ref5) {
303
292
  minHeight,
304
293
  minHeightUnit,
305
294
  style: styleAttribute,
306
- url,
307
295
  alt,
308
296
  allowedBlocks,
309
297
  templateLock
310
298
  } = attributes;
299
+ const [featuredImage] = (0, _coreData.useEntityProp)('postType', postType, 'featured_media', postId);
300
+ const media = (0, _data.useSelect)(select => featuredImage && select(_coreData.store).getMedia(featuredImage, {
301
+ context: 'view'
302
+ }), [featuredImage]);
303
+ const mediaUrl = media === null || media === void 0 ? void 0 : media.source_url; // instead of destructuring the attributes
304
+ // we define the url and background type
305
+ // depending on the value of the useFeaturedImage flag
306
+ // to preview in edit the dynamic featured image
307
+
308
+ const url = useFeaturedImage ? mediaUrl : attributes.url;
309
+ const backgroundType = useFeaturedImage ? _shared.IMAGE_BACKGROUND_TYPE : attributes.backgroundType;
311
310
  const {
312
311
  __unstableMarkNextChangeAsNotPersistent
313
312
  } = (0, _data.useDispatch)(_blockEditor.store);
313
+ const {
314
+ createErrorNotice
315
+ } = (0, _data.useDispatch)(_notices.store);
314
316
  const {
315
317
  gradientClass,
316
318
  gradientValue,
@@ -363,6 +365,19 @@ function CoverEdit(_ref5) {
363
365
  });
364
366
  };
365
367
 
368
+ const toggleUseFeaturedImage = () => {
369
+ setAttributes({
370
+ useFeaturedImage: !useFeaturedImage,
371
+ dimRatio: dimRatio === 100 ? 50 : dimRatio
372
+ });
373
+ };
374
+
375
+ const onUploadError = message => {
376
+ createErrorNotice(Array.isArray(message) ? message[2] : message, {
377
+ type: 'snackbar'
378
+ });
379
+ };
380
+
366
381
  const isDarkElement = (0, _element.useRef)();
367
382
  const isCoverDark = useCoverIsDark(url, dimRatio, overlayColor.color, isDarkElement);
368
383
  (0, _element.useEffect)(() => {
@@ -410,7 +425,12 @@ function CoverEdit(_ref5) {
410
425
  isDisabled: !hasInnerBlocks
411
426
  })), (0, _element.createElement)(_blockEditor.BlockControls, {
412
427
  group: "other"
413
- }, (0, _element.createElement)(_blockEditor.MediaReplaceFlow, {
428
+ }, (0, _element.createElement)(_components.ToolbarButton, {
429
+ icon: _icons.postFeaturedImage,
430
+ label: (0, _i18n.__)('Use featured image'),
431
+ isPressed: useFeaturedImage,
432
+ onClick: toggleUseFeaturedImage
433
+ }), !useFeaturedImage && (0, _element.createElement)(_blockEditor.MediaReplaceFlow, {
414
434
  mediaId: id,
415
435
  mediaURL: url,
416
436
  allowedTypes: _shared.ALLOWED_MEDIA_TYPES,
@@ -436,7 +456,7 @@ function CoverEdit(_ref5) {
436
456
  onChange: newFocalPoint => setAttributes({
437
457
  focalPoint: newFocalPoint
438
458
  })
439
- }), url && isImageBackground && isImgElement && (0, _element.createElement)(_components.TextareaControl, {
459
+ }), !useFeaturedImage && url && isImageBackground && isImgElement && (0, _element.createElement)(_components.TextareaControl, {
440
460
  label: (0, _i18n.__)('Alt text (alternative text)'),
441
461
  value: alt,
442
462
  onChange: newAlt => setAttributes({
@@ -455,7 +475,8 @@ function CoverEdit(_ref5) {
455
475
  backgroundType: undefined,
456
476
  focalPoint: undefined,
457
477
  hasParallax: undefined,
458
- isRepeated: undefined
478
+ isRepeated: undefined,
479
+ useFeaturedImage: false
459
480
  })
460
481
  }, (0, _i18n.__)('Clear Media')))), (0, _element.createElement)(_blockEditor.__experimentalPanelColorGradientSettings, {
461
482
  __experimentalHasMultipleOrigins: true,
@@ -526,9 +547,8 @@ function CoverEdit(_ref5) {
526
547
  return (0, _element.createElement)(_element.Fragment, null, controls, (0, _element.createElement)("div", (0, _extends2.default)({}, blockProps, {
527
548
  className: (0, _classnames.default)('is-placeholder', blockProps.className)
528
549
  }), (0, _element.createElement)(CoverPlaceholder, {
529
- noticeUI: noticeUI,
530
550
  onSelectMedia: onSelectMedia,
531
- noticeOperations: noticeOperations,
551
+ onError: onUploadError,
532
552
  style: {
533
553
  minHeight: minHeightWithUnit || undefined
534
554
  }
@@ -632,15 +652,14 @@ function CoverEdit(_ref5) {
632
652
  style: mediaStyle
633
653
  }), isUploadingMedia && (0, _element.createElement)(_components.Spinner, null), (0, _element.createElement)(CoverPlaceholder, {
634
654
  disableMediaButtons: true,
635
- noticeUI: noticeUI,
636
655
  onSelectMedia: onSelectMedia,
637
- noticeOperations: noticeOperations
656
+ onError: onUploadError
638
657
  }), (0, _element.createElement)("div", innerBlocksProps)));
639
658
  }
640
659
 
641
660
  var _default = (0, _compose.compose)([(0, _blockEditor.withColors)({
642
661
  overlayColor: 'background-color'
643
- }), _components.withNotices])(CoverEdit);
662
+ })])(CoverEdit);
644
663
 
645
664
  exports.default = _default;
646
665
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","temporaryInput","setTemporaryInput","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","handleOnBlur","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","noticeUI","noticeOperations","onSelectMedia","style","removeAllNotices","createErrorNotice","icon","title","instructions","ALLOWED_MEDIA_TYPES","message","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","contentPosition","backgroundType","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","isDarkElement","isCoverDark","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","select","getBlock","innerBlocks","length","controls","nextPosition","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage","withNotices"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { Fragment, useEffect, useRef, useState } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\twithNotices,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { compose, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst [ temporaryInput, setTemporaryInput ] = useState( null );\n\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\tsetTemporaryInput( unprocessedValue );\n\t\t\treturn;\n\t\t}\n\t\tsetTemporaryInput( null );\n\t\tonChange( inputValue );\n\t};\n\n\tconst handleOnBlur = () => {\n\t\tif ( temporaryInput !== null ) {\n\t\t\tsetTemporaryInput( null );\n\t\t}\n\t};\n\n\tconst inputValue = temporaryInput !== null ? temporaryInput : value;\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunit={ unit }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ inputValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark.\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tnoticeUI,\n\tnoticeOperations,\n\tonSelectMedia,\n\tstyle,\n} ) {\n\tconst { removeAllNotices, createErrorNotice } = noticeOperations;\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tnotices={ noticeUI }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ ( message ) => {\n\t\t\t\tremoveAllNotices();\n\t\t\t\tcreateErrorNotice( message );\n\t\t\t} }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\tnoticeUI,\n\tnoticeOperations,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\turl,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\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={ url }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\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>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t\tclassName=\"block-library-cover__padding-visualizer\"\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tnoticeUI={ noticeUI }\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tnoticeOperations={ noticeOperations }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n\twithNotices,\n] )( CoverEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit.js"],"names":["namesPlugin","__Visualizer","BoxControlVisualizer","BoxControl","getInnerBlocksTemplate","attributes","align","placeholder","retrieveFastAverageColor","fastAverageColor","FastAverageColor","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","UnitControl","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","COVER_MIN_HEIGHT","maxWidth","RESIZABLE_BOX_ENABLE_OPTION","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","ResizableCover","className","onResizeStart","onResize","onResizeStop","props","isResizing","setIsResizing","_event","_direction","elt","clientHeight","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","color","mediaPosition","x","y","Math","round","isTemporaryMedia","id","CoverPlaceholder","disableMediaButtons","children","onSelectMedia","onError","style","icon","title","instructions","ALLOWED_MEDIA_TYPES","CoverEdit","clientId","isSelected","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","styleAttribute","alt","allowedBlocks","templateLock","featuredImage","media","select","coreStore","getMedia","mediaUrl","source_url","backgroundType","IMAGE_BACKGROUND_TYPE","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","createErrorNotice","noticesStore","gradientClass","gradientValue","setGradient","isUploadingMedia","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","toggleParallax","toggleIsRepeated","toggleUseFeaturedImage","onUploadError","message","Array","isArray","type","isDarkElement","isCoverDark","isImageBackground","isVideoBackground","VIDEO_BACKGROUND_TYPE","minHeightWithUnit","isImgElement","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","ref","hasInnerBlocks","getBlock","innerBlocks","length","controls","nextPosition","postFeaturedImage","newFocalPoint","newAlt","colorValue","onColorChange","onGradientChange","label","newDimRation","newMinHeight","nextUnit","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","template","templateInsertUpdatesSelection","classes","spacing","padding","visualizers","class","backgroundImage"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport FastAverageColor from 'fast-average-color';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport {\n\tFragment,\n\tuseEffect,\n\tuseRef,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tBaseControl,\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { compose, useInstanceId } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\t__experimentalPanelColorGradientSettings as PanelColorGradientSettings,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { postFeaturedImage, cover as icon } from '@wordpress/icons';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tCOVER_MIN_HEIGHT,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nextend( [ namesPlugin ] );\n\nconst { __Visualizer: BoxControlVisualizer } = BoxControl;\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<BaseControl label={ __( 'Minimum height of cover' ) } id={ inputId }>\n\t\t\t<UnitControl\n\t\t\t\tid={ inputId }\n\t\t\t\tisResetValueOnUnitChange\n\t\t\t\tmin={ min }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tonUnitChange={ onUnitChange }\n\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\tunits={ units }\n\t\t\t\tvalue={ computedValue }\n\t\t\t/>\n\t\t</BaseControl>\n\t);\n}\n\nconst RESIZABLE_BOX_ENABLE_OPTION = {\n\ttop: false,\n\tright: false,\n\tbottom: true,\n\tleft: false,\n\ttopRight: false,\n\tbottomRight: false,\n\tbottomLeft: false,\n\ttopLeft: false,\n};\n\nfunction ResizableCover( {\n\tclassName,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\t...props\n} ) {\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( className, {\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t} ) }\n\t\t\tenable={ RESIZABLE_BOX_ENABLE_OPTION }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStart( elt.clientHeight );\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( elt.clientHeight );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tonResizeStop( elt.clientHeight );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nfunction useCoverIsDark( url, dimRatio = 50, overlayColor, elementRef ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor().getColorAsync(\n\t\t\t\telementRef.current,\n\t\t\t\t( color ) => {\n\t\t\t\t\tsetIsDark( color.isDark );\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark.\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n\nfunction mediaPosition( { x, y } ) {\n\treturn `${ Math.round( x * 100 ) }% ${ Math.round( y * 100 ) }%`;\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tonSelectMedia,\n\tonError,\n\tstyle,\n} ) {\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ onError }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\tstyle: styleAttribute,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage ? mediaUrl : attributes.url;\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst {\n\t\tgradientClass,\n\t\tgradientValue,\n\t\tsetGradient,\n\t} = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( Array.isArray( message ) ? message[ 2 ] : message, {\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst isDarkElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tisDarkElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: undefined ),\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = isDarkElement.current\n\t\t\t? [ isDarkElement.current.style, 'objectPosition' ]\n\t\t\t: [ ref.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\tlabel={ __( 'Use featured image' ) }\n\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\tonClick={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t{ ! useFeaturedImage && (\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<Fragment>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\t\t\turl &&\n\t\t\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t\t\tisImgElement && (\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Alt text (alternative text)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\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'Describe the purpose of the image'\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</ExternalLink>\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'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\n\t\t\t\t\t\t\t\t\t\tuseFeaturedImage: false,\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>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelColorGradientSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Overlay' ) }\n\t\t\t\t\tinitialOpen={ true }\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelColorGradientSettings>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tif ( ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<BoxControlVisualizer\n\t\t\t\t\tvalues={ styleAttribute?.spacing?.padding }\n\t\t\t\t\tshowValues={ styleAttribute?.visualizers?.padding }\n\t\t\t\t\tclassName=\"block-library-cover__padding-visualizer\"\n\t\t\t\t/>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t/>\n\n\t\t\t\t{ url && isImageBackground && isImgElement && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ isDarkElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
@@ -38,6 +38,10 @@ const metadata = {
38
38
  url: {
39
39
  type: "string"
40
40
  },
41
+ useFeaturedImage: {
42
+ type: "boolean",
43
+ "default": false
44
+ },
41
45
  id: {
42
46
  type: "number"
43
47
  },
@@ -100,6 +104,7 @@ const metadata = {
100
104
  "enum": ["all", "insert", false]
101
105
  }
102
106
  },
107
+ usesContext: ["postId", "postType"],
103
108
  supports: {
104
109
  anchor: true,
105
110
  align: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAE,cAAI,8BAAJ,CAFE;AAGXC,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBC,EAAAA,UAAU,EAAVA,mBAnBuB;AAoBvBC,EAAAA,IAAI,EAAJA,aApBuB;AAqBvBC,EAAAA,IAAI,EAAJA,aArBuB;AAsBvBC,EAAAA,UAAU,EAAVA;AAtBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomFontSize: 48,\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["name","metadata","settings","icon","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","customFontSize","content","align","transforms","save","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXK,QAAAA,cAAc,EAAE,EADL;AAEXC,QAAAA,OAAO,EAAE,cAAI,8BAAJ,CAFE;AAGXC,QAAAA,KAAK,EAAE;AAHI;AAFb,KADY;AANL,GAFc;AAmBvBC,EAAAA,UAAU,EAAVA,mBAnBuB;AAoBvBC,EAAAA,IAAI,EAAJA,aApBuB;AAqBvBC,EAAAA,IAAI,EAAJA,aArBuB;AAsBvBC,EAAAA,UAAU,EAAVA;AAtBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomFontSize: 48,\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n};\n"]}
@@ -38,6 +38,7 @@ function save(_ref) {
38
38
  customOverlayColor,
39
39
  dimRatio,
40
40
  focalPoint,
41
+ useFeaturedImage,
41
42
  hasParallax,
42
43
  isDark,
43
44
  isRepeated,
@@ -54,7 +55,7 @@ function save(_ref) {
54
55
  const isImageBackground = _shared.IMAGE_BACKGROUND_TYPE === backgroundType;
55
56
  const isVideoBackground = _shared.VIDEO_BACKGROUND_TYPE === backgroundType;
56
57
  const isImgElement = !(hasParallax || isRepeated);
57
- const style = { ...(isImageBackground && !isImgElement ? (0, _shared.backgroundImageStyles)(url) : {}),
58
+ const style = { ...(isImageBackground && !isImgElement && !useFeaturedImage ? (0, _shared.backgroundImageStyles)(url) : {}),
58
59
  minHeight: minHeight || undefined
59
60
  };
60
61
  const bgStyle = {
@@ -85,7 +86,7 @@ function save(_ref) {
85
86
  [gradientClass]: gradientClass
86
87
  }),
87
88
  style: bgStyle
88
- }), isImageBackground && isImgElement && url && (0, _element.createElement)("img", {
89
+ }), !useFeaturedImage && isImageBackground && isImgElement && url && (0, _element.createElement)("img", {
89
90
  className: (0, _classnames.default)('wp-block-cover__image-background', id ? `wp-image-${id}` : null),
90
91
  alt: alt,
91
92
  src: url,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/save.js"],"names":["save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","hasParallax","isDark","isRepeated","overlayColor","url","alt","id","minHeight","minHeightProp","minHeightUnit","overlayColorClass","gradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","undefined","bgStyle","backgroundColor","background","objectPosition","Math","round","x","y","classes","gradientValue","useBlockProps","className","useInnerBlocksProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tbackgroundType,\n\t\tgradient,\n\t\tcontentPosition,\n\t\tcustomGradient,\n\t\tcustomOverlayColor,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\toverlayColor,\n\t\turl,\n\t\talt,\n\t\tid,\n\t\tminHeight: minHeightProp,\n\t\tminHeightUnit,\n\t} = attributes;\n\tconst overlayColorClass = getColorClassName(\n\t\t'background-color',\n\t\toverlayColor\n\t);\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tconst minHeight =\n\t\tminHeightProp && minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: {} ),\n\t\tminHeight: minHeight || undefined,\n\t};\n\n\tconst bgStyle = {\n\t\tbackgroundColor: ! overlayColorClass ? customOverlayColor : undefined,\n\t\tbackground: customGradient ? customGradient : undefined,\n\t};\n\n\tconst objectPosition =\n\t\t// prettier-ignore\n\t\tfocalPoint && isImgElement\n\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t : undefined;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-light': ! isDark,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst gradientValue = gradient || customGradient;\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\toverlayColorClass,\n\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ bgStyle }\n\t\t\t/>\n\n\t\t\t{ isImageBackground && isImgElement && url && (\n\t\t\t\t<img\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t) }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isVideoBackground && url && (\n\t\t\t\t<video\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t) }\n\t\t\t\t\tautoPlay\n\t\t\t\t\tmuted\n\t\t\t\t\tloop\n\t\t\t\t\tplaysInline\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/save.js"],"names":["save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","useFeaturedImage","hasParallax","isDark","isRepeated","overlayColor","url","alt","id","minHeight","minHeightProp","minHeightUnit","overlayColorClass","gradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","undefined","bgStyle","backgroundColor","background","objectPosition","Math","round","x","y","classes","gradientValue","useBlockProps","className","useInnerBlocksProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tbackgroundImageStyles,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n} from './shared';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tbackgroundType,\n\t\tgradient,\n\t\tcontentPosition,\n\t\tcustomGradient,\n\t\tcustomOverlayColor,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tuseFeaturedImage,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\toverlayColor,\n\t\turl,\n\t\talt,\n\t\tid,\n\t\tminHeight: minHeightProp,\n\t\tminHeightUnit,\n\t} = attributes;\n\tconst overlayColorClass = getColorClassName(\n\t\t'background-color',\n\t\toverlayColor\n\t);\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tconst minHeight =\n\t\tminHeightProp && minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\t...( isImageBackground && ! isImgElement && ! useFeaturedImage\n\t\t\t? backgroundImageStyles( url )\n\t\t\t: {} ),\n\t\tminHeight: minHeight || undefined,\n\t};\n\n\tconst bgStyle = {\n\t\tbackgroundColor: ! overlayColorClass ? customOverlayColor : undefined,\n\t\tbackground: customGradient ? customGradient : undefined,\n\t};\n\n\tconst objectPosition =\n\t\t// prettier-ignore\n\t\tfocalPoint && isImgElement\n\t\t\t ? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round( focalPoint.y * 100 ) }%`\n\t\t\t : undefined;\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-light': ! isDark,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position': ! isContentPositionCenter(\n\t\t\t\tcontentPosition\n\t\t\t),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst gradientValue = gradient || customGradient;\n\n\treturn (\n\t\t<div { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\toverlayColorClass,\n\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ bgStyle }\n\t\t\t/>\n\n\t\t\t{ ! useFeaturedImage &&\n\t\t\t\tisImageBackground &&\n\t\t\t\tisImgElement &&\n\t\t\t\turl && (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__image-background',\n\t\t\t\t\t\t\tid ? `wp-image-${ id }` : null\n\t\t\t\t\t\t) }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t{ isVideoBackground && url && (\n\t\t\t\t<video\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t) }\n\t\t\t\t\tautoPlay\n\t\t\t\t\tmuted\n\t\t\t\t\tloop\n\t\t\t\t\tplaysInline\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"]}
@@ -369,9 +369,9 @@ const variations = [{
369
369
  }
370
370
  }, {
371
371
  name: 'wolfram-cloud',
372
- title: 'Wolfram Cloud',
372
+ title: 'Wolfram',
373
373
  icon: _icons.embedWolframIcon,
374
- description: (0, _i18n.__)('Embed Wolfram Cloud notebook content.'),
374
+ description: (0, _i18n.__)('Embed Wolfram notebook content.'),
375
375
  patterns: [/^https?:\/\/(www\.)?wolframcloud\.com\/obj\/.+/i],
376
376
  attributes: {
377
377
  providerNameSlug: 'wolfram-cloud',