@wordpress/block-library 9.13.1-next.cd6172eb0.0 → 9.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (787) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/LICENSE.md +1 -1
  3. package/build/archives/edit.js +83 -36
  4. package/build/archives/edit.js.map +1 -1
  5. package/build/avatar/user-control.js +1 -0
  6. package/build/avatar/user-control.js.map +1 -1
  7. package/build/block/deprecated.js +1 -0
  8. package/build/block/deprecated.js.map +1 -1
  9. package/build/block/edit.js +1 -0
  10. package/build/block/edit.js.map +1 -1
  11. package/build/button/deprecated.js +183 -1
  12. package/build/button/deprecated.js.map +1 -1
  13. package/build/button/edit.js +49 -27
  14. package/build/button/edit.js.map +1 -1
  15. package/build/button/index.js +8 -2
  16. package/build/button/index.js.map +1 -1
  17. package/build/button/save.js +8 -5
  18. package/build/button/save.js.map +1 -1
  19. package/build/buttons/transforms.js +1 -0
  20. package/build/buttons/transforms.js.map +1 -1
  21. package/build/categories/edit.js +1 -0
  22. package/build/categories/edit.js.map +1 -1
  23. package/build/column/column-preview.native.js +1 -0
  24. package/build/column/column-preview.native.js.map +1 -1
  25. package/build/column/edit.js +33 -13
  26. package/build/column/edit.js.map +1 -1
  27. package/build/columns/columnCalculations.native.js +1 -0
  28. package/build/columns/columnCalculations.native.js.map +1 -1
  29. package/build/columns/deprecated.js +1 -0
  30. package/build/columns/deprecated.js.map +1 -1
  31. package/build/columns/edit.js +51 -27
  32. package/build/columns/edit.js.map +1 -1
  33. package/build/columns/edit.native.js +1 -0
  34. package/build/columns/edit.native.js.map +1 -1
  35. package/build/columns/transforms.js +1 -0
  36. package/build/columns/transforms.js.map +1 -1
  37. package/build/columns/utils.js +1 -0
  38. package/build/columns/utils.js.map +1 -1
  39. package/build/comment-template/edit.js +1 -0
  40. package/build/comment-template/edit.js.map +1 -1
  41. package/build/comment-template/hooks.js +1 -0
  42. package/build/comment-template/hooks.js.map +1 -1
  43. package/build/comment-template/util.js +1 -0
  44. package/build/comment-template/util.js.map +1 -1
  45. package/build/comments/index.js +1 -0
  46. package/build/comments/index.js.map +1 -1
  47. package/build/cover/edit/index.js +9 -3
  48. package/build/cover/edit/index.js.map +1 -1
  49. package/build/cover/edit.native.js +1 -1
  50. package/build/cover/edit.native.js.map +1 -1
  51. package/build/details/edit.js +29 -7
  52. package/build/details/edit.js.map +1 -1
  53. package/build/details/transforms.js +1 -0
  54. package/build/details/transforms.js.map +1 -1
  55. package/build/embed/embed-placeholder.native.js +1 -0
  56. package/build/embed/embed-placeholder.native.js.map +1 -1
  57. package/build/embed/util.js +1 -0
  58. package/build/embed/util.js.map +1 -1
  59. package/build/embed/variations.js +1 -0
  60. package/build/embed/variations.js.map +1 -1
  61. package/build/embed/wp-embed-preview.js +1 -0
  62. package/build/embed/wp-embed-preview.js.map +1 -1
  63. package/build/file/transforms.js +1 -0
  64. package/build/file/transforms.js.map +1 -1
  65. package/build/footnotes/edit.js +1 -0
  66. package/build/footnotes/edit.js.map +1 -1
  67. package/build/form/index.js +1 -2
  68. package/build/form/index.js.map +1 -1
  69. package/build/form/view.js +10 -5
  70. package/build/form/view.js.map +1 -1
  71. package/build/freeform/modal.js +1 -0
  72. package/build/freeform/modal.js.map +1 -1
  73. package/build/gallery/deprecated.js +1 -0
  74. package/build/gallery/deprecated.js.map +1 -1
  75. package/build/gallery/edit.js +1 -0
  76. package/build/gallery/edit.js.map +1 -1
  77. package/build/gallery/shared.js +1 -0
  78. package/build/gallery/shared.js.map +1 -1
  79. package/build/gallery/transforms.js +1 -0
  80. package/build/gallery/transforms.js.map +1 -1
  81. package/build/gallery/use-get-media.js +1 -0
  82. package/build/gallery/use-get-media.js.map +1 -1
  83. package/build/gallery/use-get-media.native.js +1 -0
  84. package/build/gallery/use-get-media.native.js.map +1 -1
  85. package/build/gallery/use-get-new-images.js +1 -0
  86. package/build/gallery/use-get-new-images.js.map +1 -1
  87. package/build/gallery/use-image-sizes.js +1 -0
  88. package/build/gallery/use-image-sizes.js.map +1 -1
  89. package/build/group/placeholder.js +1 -0
  90. package/build/group/placeholder.js.map +1 -1
  91. package/build/group/transforms.js +1 -0
  92. package/build/group/transforms.js.map +1 -1
  93. package/build/heading/transforms.js +1 -0
  94. package/build/heading/transforms.js.map +1 -1
  95. package/build/html/preview.js +1 -0
  96. package/build/html/preview.js.map +1 -1
  97. package/build/image/edit.js +1 -0
  98. package/build/image/edit.js.map +1 -1
  99. package/build/image/edit.native.js +1 -0
  100. package/build/image/edit.native.js.map +1 -1
  101. package/build/image/image.js +2 -1
  102. package/build/image/image.js.map +1 -1
  103. package/build/image/transforms.js +2 -0
  104. package/build/image/transforms.js.map +1 -1
  105. package/build/image/utils.js +1 -0
  106. package/build/image/utils.js.map +1 -1
  107. package/build/image/view.js +1 -3
  108. package/build/image/view.js.map +1 -1
  109. package/build/index.js +2 -1
  110. package/build/index.js.map +1 -1
  111. package/build/index.native.js +1 -0
  112. package/build/index.native.js.map +1 -1
  113. package/build/latest-posts/deprecated.js +12 -0
  114. package/build/latest-posts/deprecated.js.map +1 -1
  115. package/build/latest-posts/edit.js +1 -0
  116. package/build/latest-posts/edit.js.map +1 -1
  117. package/build/latest-posts/index.js +12 -0
  118. package/build/latest-posts/index.js.map +1 -1
  119. package/build/list/transforms.js +1 -0
  120. package/build/list/transforms.js.map +1 -1
  121. package/build/list/utils.js +1 -0
  122. package/build/list/utils.js.map +1 -1
  123. package/build/list-item/hooks/use-indent-list-item.js +1 -0
  124. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  125. package/build/list-item/transforms.js +1 -0
  126. package/build/list-item/transforms.js.map +1 -1
  127. package/build/loginout/edit.js +42 -13
  128. package/build/loginout/edit.js.map +1 -1
  129. package/build/media-text/edit.js +60 -31
  130. package/build/media-text/edit.js.map +1 -1
  131. package/build/more/edit.js +28 -7
  132. package/build/more/edit.js.map +1 -1
  133. package/build/more/save.js +1 -0
  134. package/build/more/save.js.map +1 -1
  135. package/build/navigation/deprecated.js +1 -0
  136. package/build/navigation/deprecated.js.map +1 -1
  137. package/build/navigation/edit/index.js +1 -0
  138. package/build/navigation/edit/index.js.map +1 -1
  139. package/build/navigation/edit/navigation-menu-selector.js +5 -3
  140. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  141. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -0
  142. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  143. package/build/navigation/menu-items-to-blocks.js +1 -0
  144. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  145. package/build/navigation/use-template-part-area-label.js +1 -0
  146. package/build/navigation/use-template-part-area-label.js.map +1 -1
  147. package/build/navigation/view.js +1 -0
  148. package/build/navigation/view.js.map +1 -1
  149. package/build/navigation-link/edit.js +96 -57
  150. package/build/navigation-link/edit.js.map +1 -1
  151. package/build/navigation-link/hooks.js +1 -0
  152. package/build/navigation-link/hooks.js.map +1 -1
  153. package/build/navigation-link/link-ui.js +3 -3
  154. package/build/navigation-link/link-ui.js.map +1 -1
  155. package/build/navigation-submenu/edit.js +105 -54
  156. package/build/navigation-submenu/edit.js.map +1 -1
  157. package/build/page-list/edit.js +45 -25
  158. package/build/page-list/edit.js.map +1 -1
  159. package/build/page-list/use-convert-to-navigation-links.js +1 -0
  160. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  161. package/build/paragraph/edit.js +22 -6
  162. package/build/paragraph/edit.js.map +1 -1
  163. package/build/pattern/edit.js +1 -0
  164. package/build/pattern/edit.js.map +1 -1
  165. package/build/post-author/edit.js +16 -3
  166. package/build/post-author/edit.js.map +1 -1
  167. package/build/post-author/index.js +4 -2
  168. package/build/post-author/index.js.map +1 -1
  169. package/build/post-author-name/edit.js +11 -5
  170. package/build/post-author-name/edit.js.map +1 -1
  171. package/build/post-author-name/index.js +4 -2
  172. package/build/post-author-name/index.js.map +1 -1
  173. package/build/post-comments-form/index.js +6 -1
  174. package/build/post-comments-form/index.js.map +1 -1
  175. package/build/post-comments-link/index.js +8 -1
  176. package/build/post-comments-link/index.js.map +1 -1
  177. package/build/post-date/edit.js +58 -18
  178. package/build/post-date/edit.js.map +1 -1
  179. package/build/post-date/index.js +2 -1
  180. package/build/post-date/index.js.map +1 -1
  181. package/build/post-excerpt/edit.js +42 -18
  182. package/build/post-excerpt/edit.js.map +1 -1
  183. package/build/post-featured-image/dimension-controls.js +18 -19
  184. package/build/post-featured-image/dimension-controls.js.map +1 -1
  185. package/build/post-featured-image/edit.js +45 -11
  186. package/build/post-featured-image/edit.js.map +1 -1
  187. package/build/post-featured-image/index.js +6 -3
  188. package/build/post-featured-image/index.js.map +1 -1
  189. package/build/post-navigation-link/edit.js +1 -0
  190. package/build/post-navigation-link/edit.js.map +1 -1
  191. package/build/post-navigation-link/index.js +11 -7
  192. package/build/post-navigation-link/index.js.map +1 -1
  193. package/build/post-navigation-link/variations.js +3 -2
  194. package/build/post-navigation-link/variations.js.map +1 -1
  195. package/build/post-template/edit.js +1 -0
  196. package/build/post-template/edit.js.map +1 -1
  197. package/build/post-template/index.js +12 -2
  198. package/build/post-template/index.js.map +1 -1
  199. package/build/post-terms/edit.js +1 -0
  200. package/build/post-terms/edit.js.map +1 -1
  201. package/build/post-terms/hooks.js +1 -0
  202. package/build/post-terms/hooks.js.map +1 -1
  203. package/build/post-title/index.js +6 -3
  204. package/build/post-title/index.js.map +1 -1
  205. package/build/pullquote/blockquote.native.js +1 -0
  206. package/build/pullquote/blockquote.native.js.map +1 -1
  207. package/build/pullquote/transforms.js +1 -0
  208. package/build/pullquote/transforms.js.map +1 -1
  209. package/build/query/deprecated.js +1 -0
  210. package/build/query/deprecated.js.map +1 -1
  211. package/build/query/edit/inspector-controls/author-control.js +1 -0
  212. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  213. package/build/query/edit/inspector-controls/format-controls.js +1 -0
  214. package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
  215. package/build/query/edit/inspector-controls/index.js +1 -0
  216. package/build/query/edit/inspector-controls/index.js.map +1 -1
  217. package/build/query/edit/inspector-controls/parent-control.js +1 -0
  218. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  219. package/build/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  220. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  221. package/build/query/utils.js +1 -0
  222. package/build/query/utils.js.map +1 -1
  223. package/build/query-no-results/index.js +11 -10
  224. package/build/query-no-results/index.js.map +1 -1
  225. package/build/query-pagination/edit.js +47 -17
  226. package/build/query-pagination/edit.js.map +1 -1
  227. package/build/query-pagination/query-pagination-label-control.js +1 -1
  228. package/build/query-pagination/query-pagination-label-control.js.map +1 -1
  229. package/build/query-pagination-numbers/edit.js +33 -15
  230. package/build/query-pagination-numbers/edit.js.map +1 -1
  231. package/build/query-title/variations.js +1 -0
  232. package/build/query-title/variations.js.map +1 -1
  233. package/build/query-total/edit.js +90 -0
  234. package/build/query-total/edit.js.map +1 -0
  235. package/build/query-total/icons.js +46 -0
  236. package/build/query-total/icons.js.map +1 -0
  237. package/build/query-total/index.js +81 -0
  238. package/build/query-total/index.js.map +1 -0
  239. package/build/query-total/init.js +12 -0
  240. package/build/query-total/init.js.map +1 -0
  241. package/build/quote/deprecated.js +1 -0
  242. package/build/quote/deprecated.js.map +1 -1
  243. package/build/quote/transforms.js +1 -0
  244. package/build/quote/transforms.js.map +1 -1
  245. package/build/read-more/index.js +7 -1
  246. package/build/read-more/index.js.map +1 -1
  247. package/build/site-logo/index.js +4 -2
  248. package/build/site-logo/index.js.map +1 -1
  249. package/build/site-title/edit.js +41 -12
  250. package/build/site-title/edit.js.map +1 -1
  251. package/build/site-title/index.js +4 -2
  252. package/build/site-title/index.js.map +1 -1
  253. package/build/social-link/edit.js +19 -3
  254. package/build/social-link/edit.js.map +1 -1
  255. package/build/social-link/social-list.js +1 -0
  256. package/build/social-link/social-list.js.map +1 -1
  257. package/build/social-link/variations.js +1 -0
  258. package/build/social-link/variations.js.map +1 -1
  259. package/build/social-links/edit.js +42 -12
  260. package/build/social-links/edit.js.map +1 -1
  261. package/build/social-links/edit.native.js +1 -0
  262. package/build/social-links/edit.native.js.map +1 -1
  263. package/build/spacer/controls.js +35 -12
  264. package/build/spacer/controls.js.map +1 -1
  265. package/build/table/deprecated.js +1 -0
  266. package/build/table/deprecated.js.map +1 -1
  267. package/build/table/edit.js +49 -15
  268. package/build/table/edit.js.map +1 -1
  269. package/build/table/index.js +4 -1
  270. package/build/table/index.js.map +1 -1
  271. package/build/table/save.js +1 -0
  272. package/build/table/save.js.map +1 -1
  273. package/build/table/state.js +1 -0
  274. package/build/table/state.js.map +1 -1
  275. package/build/table/transforms.js +1 -0
  276. package/build/table/transforms.js.map +1 -1
  277. package/build/table-of-contents/edit.js +1 -1
  278. package/build/table-of-contents/edit.js.map +1 -1
  279. package/build/table-of-contents/index.js +24 -23
  280. package/build/table-of-contents/index.js.map +1 -1
  281. package/build/table-of-contents/list.js +1 -0
  282. package/build/table-of-contents/list.js.map +1 -1
  283. package/build/table-of-contents/utils.js +1 -0
  284. package/build/table-of-contents/utils.js.map +1 -1
  285. package/build/tag-cloud/edit.js +57 -11
  286. package/build/tag-cloud/edit.js.map +1 -1
  287. package/build/template-part/edit/advanced-controls.js +1 -0
  288. package/build/template-part/edit/advanced-controls.js.map +1 -1
  289. package/build/template-part/edit/import-controls.js +1 -0
  290. package/build/template-part/edit/import-controls.js.map +1 -1
  291. package/build/template-part/edit/selection-modal.js +1 -0
  292. package/build/template-part/edit/selection-modal.js.map +1 -1
  293. package/build/template-part/edit/utils/hooks.js +1 -0
  294. package/build/template-part/edit/utils/hooks.js.map +1 -1
  295. package/build/template-part/edit/utils/transformers.js +1 -0
  296. package/build/template-part/edit/utils/transformers.js.map +1 -1
  297. package/build/template-part/variations.js +1 -0
  298. package/build/template-part/variations.js.map +1 -1
  299. package/build/text-columns/edit.js +1 -0
  300. package/build/text-columns/edit.js.map +1 -1
  301. package/build/text-columns/save.js +1 -0
  302. package/build/text-columns/save.js.map +1 -1
  303. package/build/text-columns/transforms.js +1 -0
  304. package/build/text-columns/transforms.js.map +1 -1
  305. package/build/utils/get-transformed-metadata.js +1 -0
  306. package/build/utils/get-transformed-metadata.js.map +1 -1
  307. package/build/utils/search-patterns.js +1 -0
  308. package/build/utils/search-patterns.js.map +1 -1
  309. package/build/utils/transformation-categories.native.js +1 -0
  310. package/build/utils/transformation-categories.native.js.map +1 -1
  311. package/build/video/edit-common-settings.js +90 -30
  312. package/build/video/edit-common-settings.js.map +1 -1
  313. package/build/video/edit.js +20 -49
  314. package/build/video/edit.js.map +1 -1
  315. package/build/video/poster-image.js +81 -0
  316. package/build/video/poster-image.js.map +1 -0
  317. package/build/video/tracks-editor.js +2 -1
  318. package/build/video/tracks-editor.js.map +1 -1
  319. package/build/video/tracks.js +1 -0
  320. package/build/video/tracks.js.map +1 -1
  321. package/build-module/archives/edit.js +84 -37
  322. package/build-module/archives/edit.js.map +1 -1
  323. package/build-module/avatar/user-control.js +1 -0
  324. package/build-module/avatar/user-control.js.map +1 -1
  325. package/build-module/block/deprecated.js +1 -0
  326. package/build-module/block/deprecated.js.map +1 -1
  327. package/build-module/block/edit.js +1 -0
  328. package/build-module/block/edit.js.map +1 -1
  329. package/build-module/button/deprecated.js +184 -2
  330. package/build-module/button/deprecated.js.map +1 -1
  331. package/build-module/button/edit.js +50 -28
  332. package/build-module/button/edit.js.map +1 -1
  333. package/build-module/button/index.js +8 -2
  334. package/build-module/button/index.js.map +1 -1
  335. package/build-module/button/save.js +9 -6
  336. package/build-module/button/save.js.map +1 -1
  337. package/build-module/buttons/transforms.js +1 -0
  338. package/build-module/buttons/transforms.js.map +1 -1
  339. package/build-module/categories/edit.js +1 -0
  340. package/build-module/categories/edit.js.map +1 -1
  341. package/build-module/column/column-preview.native.js +1 -0
  342. package/build-module/column/column-preview.native.js.map +1 -1
  343. package/build-module/column/edit.js +34 -14
  344. package/build-module/column/edit.js.map +1 -1
  345. package/build-module/columns/columnCalculations.native.js +1 -0
  346. package/build-module/columns/columnCalculations.native.js.map +1 -1
  347. package/build-module/columns/deprecated.js +1 -0
  348. package/build-module/columns/deprecated.js.map +1 -1
  349. package/build-module/columns/edit.js +53 -29
  350. package/build-module/columns/edit.js.map +1 -1
  351. package/build-module/columns/edit.native.js +1 -0
  352. package/build-module/columns/edit.native.js.map +1 -1
  353. package/build-module/columns/transforms.js +1 -0
  354. package/build-module/columns/transforms.js.map +1 -1
  355. package/build-module/columns/utils.js +1 -0
  356. package/build-module/columns/utils.js.map +1 -1
  357. package/build-module/comment-template/edit.js +1 -0
  358. package/build-module/comment-template/edit.js.map +1 -1
  359. package/build-module/comment-template/hooks.js +1 -0
  360. package/build-module/comment-template/hooks.js.map +1 -1
  361. package/build-module/comment-template/util.js +1 -0
  362. package/build-module/comment-template/util.js.map +1 -1
  363. package/build-module/comments/index.js +1 -0
  364. package/build-module/comments/index.js.map +1 -1
  365. package/build-module/cover/edit/index.js +9 -3
  366. package/build-module/cover/edit/index.js.map +1 -1
  367. package/build-module/cover/edit.native.js +2 -2
  368. package/build-module/cover/edit.native.js.map +1 -1
  369. package/build-module/details/edit.js +30 -8
  370. package/build-module/details/edit.js.map +1 -1
  371. package/build-module/details/transforms.js +1 -0
  372. package/build-module/details/transforms.js.map +1 -1
  373. package/build-module/embed/embed-placeholder.native.js +1 -0
  374. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  375. package/build-module/embed/util.js +1 -0
  376. package/build-module/embed/util.js.map +1 -1
  377. package/build-module/embed/variations.js +1 -0
  378. package/build-module/embed/variations.js.map +1 -1
  379. package/build-module/embed/wp-embed-preview.js +1 -0
  380. package/build-module/embed/wp-embed-preview.js.map +1 -1
  381. package/build-module/file/transforms.js +1 -0
  382. package/build-module/file/transforms.js.map +1 -1
  383. package/build-module/footnotes/edit.js +1 -0
  384. package/build-module/footnotes/edit.js.map +1 -1
  385. package/build-module/form/index.js +1 -2
  386. package/build-module/form/index.js.map +1 -1
  387. package/build-module/form/view.js +10 -5
  388. package/build-module/form/view.js.map +1 -1
  389. package/build-module/freeform/modal.js +1 -0
  390. package/build-module/freeform/modal.js.map +1 -1
  391. package/build-module/gallery/deprecated.js +1 -0
  392. package/build-module/gallery/deprecated.js.map +1 -1
  393. package/build-module/gallery/edit.js +1 -0
  394. package/build-module/gallery/edit.js.map +1 -1
  395. package/build-module/gallery/shared.js +1 -0
  396. package/build-module/gallery/shared.js.map +1 -1
  397. package/build-module/gallery/transforms.js +1 -0
  398. package/build-module/gallery/transforms.js.map +1 -1
  399. package/build-module/gallery/use-get-media.js +1 -0
  400. package/build-module/gallery/use-get-media.js.map +1 -1
  401. package/build-module/gallery/use-get-media.native.js +1 -0
  402. package/build-module/gallery/use-get-media.native.js.map +1 -1
  403. package/build-module/gallery/use-get-new-images.js +1 -0
  404. package/build-module/gallery/use-get-new-images.js.map +1 -1
  405. package/build-module/gallery/use-image-sizes.js +1 -0
  406. package/build-module/gallery/use-image-sizes.js.map +1 -1
  407. package/build-module/group/placeholder.js +1 -0
  408. package/build-module/group/placeholder.js.map +1 -1
  409. package/build-module/group/transforms.js +1 -0
  410. package/build-module/group/transforms.js.map +1 -1
  411. package/build-module/heading/transforms.js +1 -0
  412. package/build-module/heading/transforms.js.map +1 -1
  413. package/build-module/html/preview.js +1 -0
  414. package/build-module/html/preview.js.map +1 -1
  415. package/build-module/image/edit.js +1 -0
  416. package/build-module/image/edit.js.map +1 -1
  417. package/build-module/image/edit.native.js +1 -0
  418. package/build-module/image/edit.native.js.map +1 -1
  419. package/build-module/image/image.js +2 -1
  420. package/build-module/image/image.js.map +1 -1
  421. package/build-module/image/transforms.js +2 -0
  422. package/build-module/image/transforms.js.map +1 -1
  423. package/build-module/image/utils.js +1 -0
  424. package/build-module/image/utils.js.map +1 -1
  425. package/build-module/image/view.js +1 -3
  426. package/build-module/image/view.js.map +1 -1
  427. package/build-module/index.js +2 -1
  428. package/build-module/index.js.map +1 -1
  429. package/build-module/index.native.js +1 -0
  430. package/build-module/index.native.js.map +1 -1
  431. package/build-module/latest-posts/deprecated.js +12 -0
  432. package/build-module/latest-posts/deprecated.js.map +1 -1
  433. package/build-module/latest-posts/edit.js +1 -0
  434. package/build-module/latest-posts/edit.js.map +1 -1
  435. package/build-module/latest-posts/index.js +12 -0
  436. package/build-module/latest-posts/index.js.map +1 -1
  437. package/build-module/list/transforms.js +1 -0
  438. package/build-module/list/transforms.js.map +1 -1
  439. package/build-module/list/utils.js +1 -0
  440. package/build-module/list/utils.js.map +1 -1
  441. package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
  442. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  443. package/build-module/list-item/transforms.js +1 -0
  444. package/build-module/list-item/transforms.js.map +1 -1
  445. package/build-module/loginout/edit.js +42 -14
  446. package/build-module/loginout/edit.js.map +1 -1
  447. package/build-module/media-text/edit.js +60 -31
  448. package/build-module/media-text/edit.js.map +1 -1
  449. package/build-module/more/edit.js +28 -8
  450. package/build-module/more/edit.js.map +1 -1
  451. package/build-module/more/save.js +1 -0
  452. package/build-module/more/save.js.map +1 -1
  453. package/build-module/navigation/deprecated.js +1 -0
  454. package/build-module/navigation/deprecated.js.map +1 -1
  455. package/build-module/navigation/edit/index.js +1 -0
  456. package/build-module/navigation/edit/index.js.map +1 -1
  457. package/build-module/navigation/edit/navigation-menu-selector.js +5 -3
  458. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  459. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -0
  460. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  461. package/build-module/navigation/menu-items-to-blocks.js +1 -0
  462. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  463. package/build-module/navigation/use-template-part-area-label.js +1 -0
  464. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  465. package/build-module/navigation/view.js +1 -0
  466. package/build-module/navigation/view.js.map +1 -1
  467. package/build-module/navigation-link/edit.js +97 -58
  468. package/build-module/navigation-link/edit.js.map +1 -1
  469. package/build-module/navigation-link/hooks.js +1 -0
  470. package/build-module/navigation-link/hooks.js.map +1 -1
  471. package/build-module/navigation-link/link-ui.js +1 -1
  472. package/build-module/navigation-link/link-ui.js.map +1 -1
  473. package/build-module/navigation-submenu/edit.js +106 -55
  474. package/build-module/navigation-submenu/edit.js.map +1 -1
  475. package/build-module/page-list/edit.js +46 -26
  476. package/build-module/page-list/edit.js.map +1 -1
  477. package/build-module/page-list/use-convert-to-navigation-links.js +1 -0
  478. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  479. package/build-module/paragraph/edit.js +23 -8
  480. package/build-module/paragraph/edit.js.map +1 -1
  481. package/build-module/pattern/edit.js +1 -0
  482. package/build-module/pattern/edit.js.map +1 -1
  483. package/build-module/post-author/edit.js +17 -4
  484. package/build-module/post-author/edit.js.map +1 -1
  485. package/build-module/post-author/index.js +4 -2
  486. package/build-module/post-author/index.js.map +1 -1
  487. package/build-module/post-author-name/edit.js +12 -6
  488. package/build-module/post-author-name/edit.js.map +1 -1
  489. package/build-module/post-author-name/index.js +4 -2
  490. package/build-module/post-author-name/index.js.map +1 -1
  491. package/build-module/post-comments-form/index.js +6 -1
  492. package/build-module/post-comments-form/index.js.map +1 -1
  493. package/build-module/post-comments-link/index.js +8 -1
  494. package/build-module/post-comments-link/index.js.map +1 -1
  495. package/build-module/post-date/edit.js +59 -19
  496. package/build-module/post-date/edit.js.map +1 -1
  497. package/build-module/post-date/index.js +2 -1
  498. package/build-module/post-date/index.js.map +1 -1
  499. package/build-module/post-excerpt/edit.js +44 -20
  500. package/build-module/post-excerpt/edit.js.map +1 -1
  501. package/build-module/post-featured-image/dimension-controls.js +19 -20
  502. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  503. package/build-module/post-featured-image/edit.js +47 -13
  504. package/build-module/post-featured-image/edit.js.map +1 -1
  505. package/build-module/post-featured-image/index.js +6 -3
  506. package/build-module/post-featured-image/index.js.map +1 -1
  507. package/build-module/post-navigation-link/edit.js +1 -0
  508. package/build-module/post-navigation-link/edit.js.map +1 -1
  509. package/build-module/post-navigation-link/index.js +12 -7
  510. package/build-module/post-navigation-link/index.js.map +1 -1
  511. package/build-module/post-navigation-link/variations.js +3 -2
  512. package/build-module/post-navigation-link/variations.js.map +1 -1
  513. package/build-module/post-template/edit.js +1 -0
  514. package/build-module/post-template/edit.js.map +1 -1
  515. package/build-module/post-template/index.js +12 -2
  516. package/build-module/post-template/index.js.map +1 -1
  517. package/build-module/post-terms/edit.js +1 -0
  518. package/build-module/post-terms/edit.js.map +1 -1
  519. package/build-module/post-terms/hooks.js +1 -0
  520. package/build-module/post-terms/hooks.js.map +1 -1
  521. package/build-module/post-title/index.js +6 -3
  522. package/build-module/post-title/index.js.map +1 -1
  523. package/build-module/pullquote/blockquote.native.js +1 -0
  524. package/build-module/pullquote/blockquote.native.js.map +1 -1
  525. package/build-module/pullquote/transforms.js +1 -0
  526. package/build-module/pullquote/transforms.js.map +1 -1
  527. package/build-module/query/deprecated.js +1 -0
  528. package/build-module/query/deprecated.js.map +1 -1
  529. package/build-module/query/edit/inspector-controls/author-control.js +1 -0
  530. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  531. package/build-module/query/edit/inspector-controls/format-controls.js +1 -0
  532. package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
  533. package/build-module/query/edit/inspector-controls/index.js +1 -0
  534. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  535. package/build-module/query/edit/inspector-controls/parent-control.js +1 -0
  536. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  537. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +1 -0
  538. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  539. package/build-module/query/utils.js +1 -0
  540. package/build-module/query/utils.js.map +1 -1
  541. package/build-module/query-no-results/index.js +11 -10
  542. package/build-module/query-no-results/index.js.map +1 -1
  543. package/build-module/query-pagination/edit.js +49 -19
  544. package/build-module/query-pagination/edit.js.map +1 -1
  545. package/build-module/query-pagination/query-pagination-label-control.js +1 -1
  546. package/build-module/query-pagination/query-pagination-label-control.js.map +1 -1
  547. package/build-module/query-pagination-numbers/edit.js +34 -16
  548. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  549. package/build-module/query-title/variations.js +1 -0
  550. package/build-module/query-title/variations.js.map +1 -1
  551. package/build-module/query-total/edit.js +83 -0
  552. package/build-module/query-total/edit.js.map +1 -0
  553. package/build-module/query-total/icons.js +39 -0
  554. package/build-module/query-total/icons.js.map +1 -0
  555. package/build-module/query-total/index.js +74 -0
  556. package/build-module/query-total/index.js.map +1 -0
  557. package/build-module/query-total/init.js +6 -0
  558. package/build-module/query-total/init.js.map +1 -0
  559. package/build-module/quote/deprecated.js +1 -0
  560. package/build-module/quote/deprecated.js.map +1 -1
  561. package/build-module/quote/transforms.js +1 -0
  562. package/build-module/quote/transforms.js.map +1 -1
  563. package/build-module/read-more/index.js +7 -1
  564. package/build-module/read-more/index.js.map +1 -1
  565. package/build-module/site-logo/index.js +4 -2
  566. package/build-module/site-logo/index.js.map +1 -1
  567. package/build-module/site-title/edit.js +42 -13
  568. package/build-module/site-title/edit.js.map +1 -1
  569. package/build-module/site-title/index.js +4 -2
  570. package/build-module/site-title/index.js.map +1 -1
  571. package/build-module/social-link/edit.js +20 -4
  572. package/build-module/social-link/edit.js.map +1 -1
  573. package/build-module/social-link/social-list.js +1 -0
  574. package/build-module/social-link/social-list.js.map +1 -1
  575. package/build-module/social-link/variations.js +1 -0
  576. package/build-module/social-link/variations.js.map +1 -1
  577. package/build-module/social-links/edit.js +43 -13
  578. package/build-module/social-links/edit.js.map +1 -1
  579. package/build-module/social-links/edit.native.js +1 -0
  580. package/build-module/social-links/edit.native.js.map +1 -1
  581. package/build-module/spacer/controls.js +36 -13
  582. package/build-module/spacer/controls.js.map +1 -1
  583. package/build-module/table/deprecated.js +1 -0
  584. package/build-module/table/deprecated.js.map +1 -1
  585. package/build-module/table/edit.js +50 -16
  586. package/build-module/table/edit.js.map +1 -1
  587. package/build-module/table/index.js +4 -1
  588. package/build-module/table/index.js.map +1 -1
  589. package/build-module/table/save.js +1 -0
  590. package/build-module/table/save.js.map +1 -1
  591. package/build-module/table/state.js +1 -0
  592. package/build-module/table/state.js.map +1 -1
  593. package/build-module/table/transforms.js +1 -0
  594. package/build-module/table/transforms.js.map +1 -1
  595. package/build-module/table-of-contents/edit.js +1 -1
  596. package/build-module/table-of-contents/edit.js.map +1 -1
  597. package/build-module/table-of-contents/index.js +26 -25
  598. package/build-module/table-of-contents/index.js.map +1 -1
  599. package/build-module/table-of-contents/list.js +1 -0
  600. package/build-module/table-of-contents/list.js.map +1 -1
  601. package/build-module/table-of-contents/utils.js +1 -0
  602. package/build-module/table-of-contents/utils.js.map +1 -1
  603. package/build-module/tag-cloud/edit.js +58 -12
  604. package/build-module/tag-cloud/edit.js.map +1 -1
  605. package/build-module/template-part/edit/advanced-controls.js +1 -0
  606. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  607. package/build-module/template-part/edit/import-controls.js +1 -0
  608. package/build-module/template-part/edit/import-controls.js.map +1 -1
  609. package/build-module/template-part/edit/selection-modal.js +1 -0
  610. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  611. package/build-module/template-part/edit/utils/hooks.js +1 -0
  612. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  613. package/build-module/template-part/edit/utils/transformers.js +1 -0
  614. package/build-module/template-part/edit/utils/transformers.js.map +1 -1
  615. package/build-module/template-part/variations.js +1 -0
  616. package/build-module/template-part/variations.js.map +1 -1
  617. package/build-module/text-columns/edit.js +1 -0
  618. package/build-module/text-columns/edit.js.map +1 -1
  619. package/build-module/text-columns/save.js +1 -0
  620. package/build-module/text-columns/save.js.map +1 -1
  621. package/build-module/text-columns/transforms.js +1 -0
  622. package/build-module/text-columns/transforms.js.map +1 -1
  623. package/build-module/utils/get-transformed-metadata.js +1 -0
  624. package/build-module/utils/get-transformed-metadata.js.map +1 -1
  625. package/build-module/utils/search-patterns.js +1 -0
  626. package/build-module/utils/search-patterns.js.map +1 -1
  627. package/build-module/utils/transformation-categories.native.js +1 -0
  628. package/build-module/utils/transformation-categories.native.js.map +1 -1
  629. package/build-module/video/edit-common-settings.js +91 -31
  630. package/build-module/video/edit-common-settings.js.map +1 -1
  631. package/build-module/video/edit.js +24 -53
  632. package/build-module/video/edit.js.map +1 -1
  633. package/build-module/video/poster-image.js +74 -0
  634. package/build-module/video/poster-image.js.map +1 -0
  635. package/build-module/video/tracks-editor.js +2 -1
  636. package/build-module/video/tracks-editor.js.map +1 -1
  637. package/build-module/video/tracks.js +1 -0
  638. package/build-module/video/tracks.js.map +1 -1
  639. package/build-style/button/style-rtl.css +3 -3
  640. package/build-style/button/style.css +3 -3
  641. package/build-style/comment-template/style-rtl.css +0 -1
  642. package/build-style/comment-template/style.css +0 -1
  643. package/build-style/comments/editor-rtl.css +1 -1
  644. package/build-style/comments/editor.css +1 -1
  645. package/build-style/comments/style-rtl.css +1 -1
  646. package/build-style/comments/style.css +1 -1
  647. package/build-style/common-rtl.css +17 -17
  648. package/build-style/common.css +17 -17
  649. package/build-style/editor-rtl.css +45 -60
  650. package/build-style/editor.css +45 -60
  651. package/build-style/form-input/style-rtl.css +0 -2
  652. package/build-style/form-input/style.css +0 -2
  653. package/build-style/freeform/editor-rtl.css +4 -8
  654. package/build-style/freeform/editor.css +4 -8
  655. package/build-style/gallery/style-rtl.css +2 -2
  656. package/build-style/gallery/style.css +2 -2
  657. package/build-style/heading/style-rtl.css +11 -11
  658. package/build-style/heading/style.css +11 -11
  659. package/build-style/image/style-rtl.css +1 -1
  660. package/build-style/image/style.css +1 -1
  661. package/build-style/latest-comments/style-rtl.css +4 -4
  662. package/build-style/latest-comments/style.css +4 -4
  663. package/build-style/latest-posts/style-rtl.css +2 -1
  664. package/build-style/latest-posts/style.css +2 -1
  665. package/build-style/more/editor-rtl.css +1 -1
  666. package/build-style/more/editor.css +1 -1
  667. package/build-style/nextpage/editor-rtl.css +1 -1
  668. package/build-style/nextpage/editor.css +1 -1
  669. package/build-style/post-comments-form/style-rtl.css +2 -2
  670. package/build-style/post-comments-form/style.css +2 -2
  671. package/build-style/{post-template/editor.css → post-comments-link/style-rtl.css} +2 -4
  672. package/build-style/{post-template/editor-rtl.css → post-comments-link/style.css} +2 -4
  673. package/build-style/post-featured-image/editor-rtl.css +27 -27
  674. package/build-style/post-featured-image/editor.css +27 -27
  675. package/build-style/post-template/style-rtl.css +1 -0
  676. package/build-style/post-template/style.css +1 -0
  677. package/build-style/query-total/style-rtl.css +103 -0
  678. package/build-style/query-total/style.css +103 -0
  679. package/build-style/read-more/style-rtl.css +2 -3
  680. package/build-style/read-more/style.css +2 -3
  681. package/build-style/social-link/editor-rtl.css +2 -2
  682. package/build-style/social-link/editor.css +2 -2
  683. package/build-style/social-links/editor-rtl.css +2 -2
  684. package/build-style/social-links/editor.css +2 -2
  685. package/build-style/social-links/style-rtl.css +2 -2
  686. package/build-style/social-links/style.css +2 -2
  687. package/build-style/style-rtl.css +59 -53
  688. package/build-style/style.css +59 -53
  689. package/build-style/tag-cloud/editor-rtl.css +0 -5
  690. package/build-style/tag-cloud/editor.css +0 -5
  691. package/build-style/text-columns/style-rtl.css +3 -3
  692. package/build-style/text-columns/style.css +3 -3
  693. package/package.json +36 -35
  694. package/src/archives/edit.js +94 -36
  695. package/src/audio/test/__snapshots__/edit.native.js.snap +1 -1
  696. package/src/block/index.php +20 -0
  697. package/src/button/block.json +17 -2
  698. package/src/button/deprecated.js +189 -0
  699. package/src/button/edit.js +61 -32
  700. package/src/button/save.js +6 -1
  701. package/src/column/edit.js +34 -13
  702. package/src/columns/edit.js +71 -40
  703. package/src/comments/index.js +1 -0
  704. package/src/cover/edit/index.js +12 -5
  705. package/src/cover/edit.native.js +5 -2
  706. package/src/cover/test/edit.js +5 -7
  707. package/src/details/edit.js +40 -11
  708. package/src/editor.scss +0 -1
  709. package/src/file/test/__snapshots__/edit.native.js.snap +1 -1
  710. package/src/form/block.json +1 -2
  711. package/src/form/index.php +1 -20
  712. package/src/form/view.js +18 -5
  713. package/src/image/image.js +1 -1
  714. package/src/image/index.php +1 -1
  715. package/src/image/transforms.js +1 -0
  716. package/src/image/view.js +1 -3
  717. package/src/index.js +2 -0
  718. package/src/latest-posts/block.json +12 -0
  719. package/src/latest-posts/style.scss +2 -1
  720. package/src/loginout/edit.js +56 -20
  721. package/src/media-text/edit.js +57 -28
  722. package/src/more/edit.js +39 -12
  723. package/src/navigation/edit/navigation-menu-selector.js +9 -2
  724. package/src/navigation/index.php +2 -2
  725. package/src/navigation-link/edit.js +101 -67
  726. package/src/navigation-link/index.php +16 -1
  727. package/src/navigation-link/link-ui.js +1 -1
  728. package/src/navigation-submenu/edit.js +113 -63
  729. package/src/page-list/edit.js +52 -31
  730. package/src/paragraph/edit.js +29 -5
  731. package/src/post-author/block.json +4 -2
  732. package/src/post-author/edit.js +17 -3
  733. package/src/post-author/index.php +4 -0
  734. package/src/post-author-name/block.json +4 -2
  735. package/src/post-author-name/edit.js +17 -4
  736. package/src/post-author-name/index.php +4 -0
  737. package/src/post-comments-form/block.json +6 -1
  738. package/src/post-comments-link/block.json +8 -1
  739. package/src/post-comments-link/style.scss +4 -0
  740. package/src/post-content/index.php +23 -0
  741. package/src/post-date/block.json +2 -1
  742. package/src/post-date/edit.js +79 -25
  743. package/src/post-excerpt/edit.js +59 -22
  744. package/src/post-featured-image/block.json +6 -3
  745. package/src/post-featured-image/dimension-controls.js +18 -21
  746. package/src/post-featured-image/edit.js +67 -10
  747. package/src/post-navigation-link/block.json +0 -6
  748. package/src/post-navigation-link/index.js +11 -0
  749. package/src/post-navigation-link/variations.js +2 -2
  750. package/src/post-template/block.json +12 -2
  751. package/src/post-template/style.scss +2 -0
  752. package/src/post-title/block.json +6 -3
  753. package/src/query-no-results/block.json +1 -11
  754. package/src/query-no-results/index.js +11 -0
  755. package/src/query-pagination/edit.js +57 -15
  756. package/src/query-pagination/query-pagination-label-control.js +1 -3
  757. package/src/query-pagination-numbers/edit.js +41 -19
  758. package/src/query-pagination-previous/index.php +21 -14
  759. package/src/query-total/block.json +52 -0
  760. package/src/query-total/edit.js +81 -0
  761. package/src/query-total/icons.js +43 -0
  762. package/src/query-total/index.js +18 -0
  763. package/src/query-total/index.php +88 -0
  764. package/src/query-total/init.js +6 -0
  765. package/src/query-total/style.scss +4 -0
  766. package/src/read-more/index.js +6 -0
  767. package/src/site-logo/block.json +4 -2
  768. package/src/site-title/block.json +4 -2
  769. package/src/site-title/edit.js +52 -15
  770. package/src/social-link/edit.js +21 -6
  771. package/src/social-links/edit.js +52 -15
  772. package/src/spacer/controls.js +42 -15
  773. package/src/style.scss +2 -0
  774. package/src/table/block.json +4 -1
  775. package/src/table/edit.js +58 -20
  776. package/src/table-of-contents/block.json +0 -52
  777. package/src/table-of-contents/edit.js +1 -1
  778. package/src/table-of-contents/index.js +53 -0
  779. package/src/tag-cloud/edit.js +60 -8
  780. package/src/tag-cloud/editor.scss +0 -8
  781. package/src/video/edit-common-settings.js +97 -39
  782. package/src/video/edit.js +29 -75
  783. package/src/video/poster-image.js +86 -0
  784. package/src/video/tracks-editor.js +1 -1
  785. package/tsconfig.json +0 -2
  786. package/tsconfig.tsbuildinfo +1 -1
  787. package/src/post-template/editor.scss +0 -7
@@ -1 +1 @@
1
- {"version":3,"names":["toWidthPrecision","value","unitlessValue","parseFloat","Number","isFinite","toFixed","undefined","getEffectiveColumnWidth","block","totalBlockCount","width","attributes","getTotalColumnsWidth","blocks","length","reduce","sum","getColumnWidths","accumulator","Object","assign","clientId","getRedistributedColumnWidths","availableWidth","totalWidth","fromEntries","entries","map","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"sources":["@wordpress/block-library/src/columns/utils.js"],"sourcesContent":["/**\n * Returns a column width attribute value rounded to standard precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {?number} value Raw value.\n *\n * @return {number} Value rounded to standard precision.\n */\nexport const toWidthPrecision = ( value ) => {\n\tconst unitlessValue = parseFloat( value );\n\treturn Number.isFinite( unitlessValue )\n\t\t? parseFloat( unitlessValue.toFixed( 2 ) )\n\t\t: undefined;\n};\n/**\n * Returns an effective width for a given block. An effective width is equal to\n * its attribute value if set, or a computed value assuming equal distribution.\n *\n * @param {WPBlock} block Block object.\n * @param {number} totalBlockCount Total number of blocks in Columns.\n *\n * @return {number} Effective column width.\n */\nexport function getEffectiveColumnWidth( block, totalBlockCount ) {\n\tconst { width = 100 / totalBlockCount } = block.attributes;\n\treturn toWidthPrecision( width );\n}\n\n/**\n * Returns the total width occupied by the given set of column blocks.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {number} Total width occupied by blocks.\n */\nexport function getTotalColumnsWidth(\n\tblocks,\n\ttotalBlockCount = blocks.length\n) {\n\treturn blocks.reduce(\n\t\t( sum, block ) =>\n\t\t\tsum + getEffectiveColumnWidth( block, totalBlockCount ),\n\t\t0\n\t);\n}\n\n/**\n * Returns an object of `clientId` → `width` of effective column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Column widths.\n */\nexport function getColumnWidths( blocks, totalBlockCount = blocks.length ) {\n\treturn blocks.reduce( ( accumulator, block ) => {\n\t\tconst width = getEffectiveColumnWidth( block, totalBlockCount );\n\t\treturn Object.assign( accumulator, { [ block.clientId ]: width } );\n\t}, {} );\n}\n\n/**\n * Returns an object of `clientId` → `width` of column widths as redistributed\n * proportional to their current widths, constrained or expanded to fit within\n * the given available width.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {number} availableWidth Maximum width to fit within.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Redistributed column widths.\n */\nexport function getRedistributedColumnWidths(\n\tblocks,\n\tavailableWidth,\n\ttotalBlockCount = blocks.length\n) {\n\tconst totalWidth = getTotalColumnsWidth( blocks, totalBlockCount );\n\n\treturn Object.fromEntries(\n\t\tObject.entries( getColumnWidths( blocks, totalBlockCount ) ).map(\n\t\t\t( [ clientId, width ] ) => {\n\t\t\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\t\t\treturn [ clientId, toWidthPrecision( newWidth ) ];\n\t\t\t}\n\t\t)\n\t);\n}\n\n/**\n * Returns true if column blocks within the provided set are assigned with\n * explicit widths, or false otherwise.\n *\n * @param {WPBlock[]} blocks Block objects.\n *\n * @return {boolean} Whether columns have explicit widths.\n */\nexport function hasExplicitPercentColumnWidths( blocks ) {\n\treturn blocks.every( ( block ) => {\n\t\tconst blockWidth = block.attributes.width;\n\t\treturn Number.isFinite(\n\t\t\tblockWidth?.endsWith?.( '%' )\n\t\t\t\t? parseFloat( blockWidth )\n\t\t\t\t: blockWidth\n\t\t);\n\t} );\n}\n\n/**\n * Returns a copy of the given set of blocks with new widths assigned from the\n * provided object of redistributed column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {Object<string,number>} widths Redistributed column widths.\n *\n * @return {WPBlock[]} blocks Mapped block objects.\n */\nexport function getMappedColumnWidths( blocks, widths ) {\n\treturn blocks.map( ( block ) => ( {\n\t\t...block,\n\t\tattributes: {\n\t\t\t...block.attributes,\n\t\t\twidth: `${ widths[ block.clientId ] }%`,\n\t\t},\n\t} ) );\n}\n\n/**\n * Returns an array with columns widths values, parsed or no depends on `withParsing` flag.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?boolean} withParsing Whether value has to be parsed.\n *\n * @return {Array<number,string>} Column widths.\n */\nexport function getWidths( blocks, withParsing = true ) {\n\treturn blocks.map( ( innerColumn ) => {\n\t\tconst innerColumnWidth =\n\t\t\tinnerColumn.attributes.width || 100 / blocks.length;\n\n\t\treturn withParsing ? parseFloat( innerColumnWidth ) : innerColumnWidth;\n\t} );\n}\n\n/**\n * Returns a column width with unit.\n *\n * @param {string} width Column width.\n * @param {string} unit Column width unit.\n *\n * @return {string} Column width with unit.\n */\nexport function getWidthWithUnit( width, unit ) {\n\twidth = 0 > parseFloat( width ) ? '0' : width;\n\n\tif ( isPercentageUnit( unit ) ) {\n\t\twidth = Math.min( width, 100 );\n\t}\n\n\treturn `${ width }${ unit }`;\n}\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Column width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["toWidthPrecision","value","unitlessValue","parseFloat","Number","isFinite","toFixed","undefined","getEffectiveColumnWidth","block","totalBlockCount","width","attributes","getTotalColumnsWidth","blocks","length","reduce","sum","getColumnWidths","accumulator","Object","assign","clientId","getRedistributedColumnWidths","availableWidth","totalWidth","fromEntries","entries","map","newWidth","hasExplicitPercentColumnWidths","every","blockWidth","endsWith","getMappedColumnWidths","widths","getWidths","withParsing","innerColumn","innerColumnWidth","getWidthWithUnit","unit","isPercentageUnit","Math","min"],"sources":["@wordpress/block-library/src/columns/utils.js"],"sourcesContent":["/**\n * Returns a column width attribute value rounded to standard precision.\n * Returns `undefined` if the value is not a valid finite number.\n *\n * @param {?number} value Raw value.\n *\n * @return {number} Value rounded to standard precision.\n */\nexport const toWidthPrecision = ( value ) => {\n\tconst unitlessValue = parseFloat( value );\n\treturn Number.isFinite( unitlessValue )\n\t\t? parseFloat( unitlessValue.toFixed( 2 ) )\n\t\t: undefined;\n};\n/**\n * Returns an effective width for a given block. An effective width is equal to\n * its attribute value if set, or a computed value assuming equal distribution.\n *\n * @param {WPBlock} block Block object.\n * @param {number} totalBlockCount Total number of blocks in Columns.\n *\n * @return {number} Effective column width.\n */\nexport function getEffectiveColumnWidth( block, totalBlockCount ) {\n\tconst { width = 100 / totalBlockCount } = block.attributes;\n\treturn toWidthPrecision( width );\n}\n\n/**\n * Returns the total width occupied by the given set of column blocks.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {number} Total width occupied by blocks.\n */\nexport function getTotalColumnsWidth(\n\tblocks,\n\ttotalBlockCount = blocks.length\n) {\n\treturn blocks.reduce(\n\t\t( sum, block ) =>\n\t\t\tsum + getEffectiveColumnWidth( block, totalBlockCount ),\n\t\t0\n\t);\n}\n\n/**\n * Returns an object of `clientId` → `width` of effective column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Column widths.\n */\nexport function getColumnWidths( blocks, totalBlockCount = blocks.length ) {\n\treturn blocks.reduce( ( accumulator, block ) => {\n\t\tconst width = getEffectiveColumnWidth( block, totalBlockCount );\n\t\treturn Object.assign( accumulator, { [ block.clientId ]: width } );\n\t}, {} );\n}\n\n/**\n * Returns an object of `clientId` → `width` of column widths as redistributed\n * proportional to their current widths, constrained or expanded to fit within\n * the given available width.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {number} availableWidth Maximum width to fit within.\n * @param {?number} totalBlockCount Total number of blocks in Columns.\n * Defaults to number of blocks passed.\n *\n * @return {Object<string,number>} Redistributed column widths.\n */\nexport function getRedistributedColumnWidths(\n\tblocks,\n\tavailableWidth,\n\ttotalBlockCount = blocks.length\n) {\n\tconst totalWidth = getTotalColumnsWidth( blocks, totalBlockCount );\n\n\treturn Object.fromEntries(\n\t\tObject.entries( getColumnWidths( blocks, totalBlockCount ) ).map(\n\t\t\t( [ clientId, width ] ) => {\n\t\t\t\tconst newWidth = ( availableWidth * width ) / totalWidth;\n\t\t\t\treturn [ clientId, toWidthPrecision( newWidth ) ];\n\t\t\t}\n\t\t)\n\t);\n}\n\n/**\n * Returns true if column blocks within the provided set are assigned with\n * explicit widths, or false otherwise.\n *\n * @param {WPBlock[]} blocks Block objects.\n *\n * @return {boolean} Whether columns have explicit widths.\n */\nexport function hasExplicitPercentColumnWidths( blocks ) {\n\treturn blocks.every( ( block ) => {\n\t\tconst blockWidth = block.attributes.width;\n\t\treturn Number.isFinite(\n\t\t\tblockWidth?.endsWith?.( '%' )\n\t\t\t\t? parseFloat( blockWidth )\n\t\t\t\t: blockWidth\n\t\t);\n\t} );\n}\n\n/**\n * Returns a copy of the given set of blocks with new widths assigned from the\n * provided object of redistributed column widths.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {Object<string,number>} widths Redistributed column widths.\n *\n * @return {WPBlock[]} blocks Mapped block objects.\n */\nexport function getMappedColumnWidths( blocks, widths ) {\n\treturn blocks.map( ( block ) => ( {\n\t\t...block,\n\t\tattributes: {\n\t\t\t...block.attributes,\n\t\t\twidth: `${ widths[ block.clientId ] }%`,\n\t\t},\n\t} ) );\n}\n\n/**\n * Returns an array with columns widths values, parsed or no depends on `withParsing` flag.\n *\n * @param {WPBlock[]} blocks Block objects.\n * @param {?boolean} withParsing Whether value has to be parsed.\n *\n * @return {Array<number,string>} Column widths.\n */\nexport function getWidths( blocks, withParsing = true ) {\n\treturn blocks.map( ( innerColumn ) => {\n\t\tconst innerColumnWidth =\n\t\t\tinnerColumn.attributes.width || 100 / blocks.length;\n\n\t\treturn withParsing ? parseFloat( innerColumnWidth ) : innerColumnWidth;\n\t} );\n}\n\n/**\n * Returns a column width with unit.\n *\n * @param {string} width Column width.\n * @param {string} unit Column width unit.\n *\n * @return {string} Column width with unit.\n */\nexport function getWidthWithUnit( width, unit ) {\n\twidth = 0 > parseFloat( width ) ? '0' : width;\n\n\tif ( isPercentageUnit( unit ) ) {\n\t\twidth = Math.min( width, 100 );\n\t}\n\n\treturn `${ width }${ unit }`;\n}\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Column width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","jsx","_jsx","jsxs","_jsxs","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","blockProps","map","index","value","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the curently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be reqested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","jsx","_jsx","jsxs","_jsxs","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","MemoizedCommentTemplatePreview","isHidden","length","CommentsList","comments","CommentTemplatePreview","blockPreviewProps","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","blockProps","map","index","value","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"sources":["@wordpress/block-library/src/comment-template/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {Element} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the curently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {Element} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be reqested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useMemo","useSelect","store","blockEditorStore","addQueryArgs","apiFetch","MAX_COMMENTS_PER_PAGE","useCommentQueryArgs","postId","queryArgs","status","order","context","parent","_embed","pageComments","commentsPerPage","defaultCommentsPage","defaultPage","select","getSettings","__experimentalDiscussionSettings","perPage","Math","min","page","useDefaultPageIndex","post","per_page","defaultPages","setDefaultPages","key","path","_fields","method","parse","then","res","pages","parseInt","headers","get","useCommentTree","topLevelComments","commentTree","map","id","_embedded","children","commentId","child"],"sources":["@wordpress/block-library/src/comment-template/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t }\n\t\t\t: null;\n\t}, [ postId, perPage, page ] );\n};\n\n/**\n * Return the index of the default page, depending on whether `defaultPage` is\n * `newest` or `oldest`. In the first case, the only way to know the page's\n * index is by using the `X-WP-TotalPages` header, which forces to make an\n * additional request.\n *\n * @param {Object} props Hook props.\n * @param {string} props.defaultPage Page shown by default (newest/oldest).\n * @param {number} props.postId ID of the post that contains the comments.\n * @param {number} props.perPage The number of comments included per page.\n * @param {Object} props.queryArgs Other query args.\n *\n * @return {number} Index of the default comments page.\n */\nconst useDefaultPageIndex = ( { defaultPage, postId, perPage, queryArgs } ) => {\n\t// Store the default page indices.\n\tconst [ defaultPages, setDefaultPages ] = useState( {} );\n\tconst key = `${ postId }_${ perPage }`;\n\tconst page = defaultPages[ key ] || 0;\n\n\tuseEffect( () => {\n\t\t// Do nothing if the page is already known or not the newest page.\n\t\tif ( page || defaultPage !== 'newest' ) {\n\t\t\treturn;\n\t\t}\n\t\t// We need to fetch comments to know the index. Use HEAD and limit\n\t\t// fields just to ID, to make this call as light as possible.\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\t...queryArgs,\n\t\t\t\tpost: postId,\n\t\t\t\tper_page: perPage,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} ).then( ( res ) => {\n\t\t\tconst pages = parseInt( res.headers.get( 'X-WP-TotalPages' ) );\n\t\t\tsetDefaultPages( {\n\t\t\t\t...defaultPages,\n\t\t\t\t[ key ]: pages <= 1 ? 1 : pages, // If there are 0 pages, it means that there are no comments, but there is no 0th page.\n\t\t\t} );\n\t\t} );\n\t}, [ defaultPage, postId, perPage, setDefaultPages ] );\n\n\t// The oldest one is always the first one.\n\treturn defaultPage === 'newest' ? page : 1;\n};\n\n/**\n * Generate a tree structure of comment IDs from a list of comment entities. The\n * children of each comment are obtained from `_embedded`.\n *\n * @typedef {{ commentId: number, children: CommentNode }} CommentNode\n *\n * @param {Object[]} topLevelComments List of comment entities.\n * @return {{ commentTree: CommentNode[]}} Tree of comment IDs.\n */\nexport const useCommentTree = ( topLevelComments ) => {\n\tconst commentTree = useMemo(\n\t\t() =>\n\t\t\ttopLevelComments?.map( ( { id, _embedded } ) => {\n\t\t\t\tconst [ children ] = _embedded?.children || [ [] ];\n\t\t\t\treturn {\n\t\t\t\t\tcommentId: id,\n\t\t\t\t\tchildren: children.map( ( child ) => ( {\n\t\t\t\t\t\tcommentId: child.id,\n\t\t\t\t\t} ) ),\n\t\t\t\t};\n\t\t\t} ),\n\t\t[ topLevelComments ]\n\t);\n\n\treturn commentTree;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useMemo","useSelect","store","blockEditorStore","addQueryArgs","apiFetch","MAX_COMMENTS_PER_PAGE","useCommentQueryArgs","postId","queryArgs","status","order","context","parent","_embed","pageComments","commentsPerPage","defaultCommentsPage","defaultPage","select","getSettings","__experimentalDiscussionSettings","perPage","Math","min","page","useDefaultPageIndex","post","per_page","defaultPages","setDefaultPages","key","path","_fields","method","parse","then","res","pages","parseInt","headers","get","useCommentTree","topLevelComments","commentTree","map","id","_embedded","children","commentId","child"],"sources":["@wordpress/block-library/src/comment-template/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useEffect, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { addQueryArgs } from '@wordpress/url';\nimport apiFetch from '@wordpress/api-fetch';\n\n// This is limited by WP REST API\nconst MAX_COMMENTS_PER_PAGE = 100;\n\n/**\n * Return an object with the query args needed to fetch the default page of\n * comments.\n *\n * @param {Object} props Hook props.\n * @param {number} props.postId ID of the post that contains the comments.\n * discussion settings.\n *\n * @return {Object} Query args to retrieve the comments.\n */\nexport const useCommentQueryArgs = ( { postId } ) => {\n\t// Initialize the query args that are not going to change.\n\tconst queryArgs = {\n\t\tstatus: 'approve',\n\t\torder: 'asc',\n\t\tcontext: 'embed',\n\t\tparent: 0,\n\t\t_embed: 'children',\n\t};\n\n\t// Get the Discussion settings that may be needed to query the comments.\n\tconst {\n\t\tpageComments,\n\t\tcommentsPerPage,\n\t\tdefaultCommentsPage: defaultPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { __experimentalDiscussionSettings } = getSettings();\n\t\treturn __experimentalDiscussionSettings;\n\t} );\n\n\t// WP REST API doesn't allow fetching more than max items limit set per single page of data.\n\t// As for the editor performance is more important than completeness of data and fetching only the\n\t// max allowed for single page should be enough for the purpose of design and laying out the page.\n\t// Fetching over the limit would return an error here but would work with backend query.\n\tconst perPage = pageComments\n\t\t? Math.min( commentsPerPage, MAX_COMMENTS_PER_PAGE )\n\t\t: MAX_COMMENTS_PER_PAGE;\n\n\t// Get the number of the default page.\n\tconst page = useDefaultPageIndex( {\n\t\tdefaultPage,\n\t\tpostId,\n\t\tperPage,\n\t\tqueryArgs,\n\t} );\n\n\t// Merge, memoize and return all query arguments, unless the default page's\n\t// number is not known yet.\n\treturn useMemo( () => {\n\t\treturn page\n\t\t\t? {\n\t\t\t\t\t...queryArgs,\n\t\t\t\t\tpost: postId,\n\t\t\t\t\tper_page: perPage,\n\t\t\t\t\tpage,\n\t\t\t }\n\t\t\t: null;\n\t}, [ postId, perPage, page ] );\n};\n\n/**\n * Return the index of the default page, depending on whether `defaultPage` is\n * `newest` or `oldest`. In the first case, the only way to know the page's\n * index is by using the `X-WP-TotalPages` header, which forces to make an\n * additional request.\n *\n * @param {Object} props Hook props.\n * @param {string} props.defaultPage Page shown by default (newest/oldest).\n * @param {number} props.postId ID of the post that contains the comments.\n * @param {number} props.perPage The number of comments included per page.\n * @param {Object} props.queryArgs Other query args.\n *\n * @return {number} Index of the default comments page.\n */\nconst useDefaultPageIndex = ( { defaultPage, postId, perPage, queryArgs } ) => {\n\t// Store the default page indices.\n\tconst [ defaultPages, setDefaultPages ] = useState( {} );\n\tconst key = `${ postId }_${ perPage }`;\n\tconst page = defaultPages[ key ] || 0;\n\n\tuseEffect( () => {\n\t\t// Do nothing if the page is already known or not the newest page.\n\t\tif ( page || defaultPage !== 'newest' ) {\n\t\t\treturn;\n\t\t}\n\t\t// We need to fetch comments to know the index. Use HEAD and limit\n\t\t// fields just to ID, to make this call as light as possible.\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\t...queryArgs,\n\t\t\t\tpost: postId,\n\t\t\t\tper_page: perPage,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} ).then( ( res ) => {\n\t\t\tconst pages = parseInt( res.headers.get( 'X-WP-TotalPages' ) );\n\t\t\tsetDefaultPages( {\n\t\t\t\t...defaultPages,\n\t\t\t\t[ key ]: pages <= 1 ? 1 : pages, // If there are 0 pages, it means that there are no comments, but there is no 0th page.\n\t\t\t} );\n\t\t} );\n\t}, [ defaultPage, postId, perPage, setDefaultPages ] );\n\n\t// The oldest one is always the first one.\n\treturn defaultPage === 'newest' ? page : 1;\n};\n\n/**\n * Generate a tree structure of comment IDs from a list of comment entities. The\n * children of each comment are obtained from `_embedded`.\n *\n * @typedef {{ commentId: number, children: CommentNode }} CommentNode\n *\n * @param {Object[]} topLevelComments List of comment entities.\n * @return {{ commentTree: CommentNode[]}} Tree of comment IDs.\n */\nexport const useCommentTree = ( topLevelComments ) => {\n\tconst commentTree = useMemo(\n\t\t() =>\n\t\t\ttopLevelComments?.map( ( { id, _embedded } ) => {\n\t\t\t\tconst [ children ] = _embedded?.children || [ [] ];\n\t\t\t\treturn {\n\t\t\t\t\tcommentId: id,\n\t\t\t\t\tchildren: children.map( ( child ) => ( {\n\t\t\t\t\t\tcommentId: child.id,\n\t\t\t\t\t} ) ),\n\t\t\t\t};\n\t\t\t} ),\n\t\t[ topLevelComments ]\n\t);\n\n\treturn commentTree;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  *
3
4
  * This function converts a flat list of comment objects with a `parent` property
@@ -1 +1 @@
1
- {"version":3,"names":["convertToTree","data","table","forEach","item","id","commentId","children","tree","parent","push"],"sources":["@wordpress/block-library/src/comment-template/util.js"],"sourcesContent":["/**\n *\n * This function converts a flat list of comment objects with a `parent` property\n * to a nested list of comment objects with a `children` property. The `children`\n * property is itself a list of comment objects.\n *\n * @example\n * ```\n * const comments = [\n * \t{ id: 1, parent: 0 },\n * \t{ id: 2, parent: 1 },\n * \t{ id: 3, parent: 2 },\n * \t{ id: 4, parent: 1 },\n * ];\n * expect( convertToTree( comments ) ).toEqual( [\n * \t{\n * \t\tcommentId: 1,\n * \t\tchildren: [\n * \t\t\t{ commentId: 2, children: [ { commentId: 3, children: [] } ] },\n * \t\t\t{ commentId: 4, children: [] },\n * \t\t],\n * \t},\n * ] );\n * ```\n * @typedef {{id: number, parent: number}} Comment\n * @param {Comment[]} data - List of comment objects.\n *\n * @return {Object[]} Nested list of comment objects with a `children` property.\n */\nexport const convertToTree = ( data ) => {\n\tconst table = {};\n\n\tif ( ! data ) {\n\t\treturn [];\n\t}\n\n\t// First create a hash table of { [id]: { ...comment, children: [] }}\n\tdata.forEach( ( item ) => {\n\t\ttable[ item.id ] = { commentId: item.id, children: [] };\n\t} );\n\n\tconst tree = [];\n\n\t// Iterate over the original comments again\n\tdata.forEach( ( item ) => {\n\t\tif ( item.parent ) {\n\t\t\t// If the comment has a \"parent\", then find that parent in the table that\n\t\t\t// we have created above and push the current comment to the array of its\n\t\t\t// children.\n\t\t\ttable[ item.parent ]?.children.push( table[ item.id ] );\n\t\t} else {\n\t\t\t// Otherwise, if the comment has no parent (also works if parent is 0)\n\t\t\t// that means that it's a top-level comment so we can find it in the table\n\t\t\t// and push it to the final tree.\n\t\t\ttree.push( table[ item.id ] );\n\t\t}\n\t} );\n\treturn tree;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAAa,GAAKC,IAAI,IAAM;EACxC,MAAMC,KAAK,GAAG,CAAC,CAAC;EAEhB,IAAK,CAAED,IAAI,EAAG;IACb,OAAO,EAAE;EACV;;EAEA;EACAA,IAAI,CAACE,OAAO,CAAIC,IAAI,IAAM;IACzBF,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAE,GAAG;MAAEC,SAAS,EAAEF,IAAI,CAACC,EAAE;MAAEE,QAAQ,EAAE;IAAG,CAAC;EACxD,CAAE,CAAC;EAEH,MAAMC,IAAI,GAAG,EAAE;;EAEf;EACAP,IAAI,CAACE,OAAO,CAAIC,IAAI,IAAM;IACzB,IAAKA,IAAI,CAACK,MAAM,EAAG;MAClB;MACA;MACA;MACAP,KAAK,CAAEE,IAAI,CAACK,MAAM,CAAE,EAAEF,QAAQ,CAACG,IAAI,CAAER,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAG,CAAC;IACxD,CAAC,MAAM;MACN;MACA;MACA;MACAG,IAAI,CAACE,IAAI,CAAER,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAG,CAAC;IAC9B;EACD,CAAE,CAAC;EACH,OAAOG,IAAI;AACZ,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["convertToTree","data","table","forEach","item","id","commentId","children","tree","parent","push"],"sources":["@wordpress/block-library/src/comment-template/util.js"],"sourcesContent":["/**\n *\n * This function converts a flat list of comment objects with a `parent` property\n * to a nested list of comment objects with a `children` property. The `children`\n * property is itself a list of comment objects.\n *\n * @example\n * ```\n * const comments = [\n * \t{ id: 1, parent: 0 },\n * \t{ id: 2, parent: 1 },\n * \t{ id: 3, parent: 2 },\n * \t{ id: 4, parent: 1 },\n * ];\n * expect( convertToTree( comments ) ).toEqual( [\n * \t{\n * \t\tcommentId: 1,\n * \t\tchildren: [\n * \t\t\t{ commentId: 2, children: [ { commentId: 3, children: [] } ] },\n * \t\t\t{ commentId: 4, children: [] },\n * \t\t],\n * \t},\n * ] );\n * ```\n * @typedef {{id: number, parent: number}} Comment\n * @param {Comment[]} data - List of comment objects.\n *\n * @return {Object[]} Nested list of comment objects with a `children` property.\n */\nexport const convertToTree = ( data ) => {\n\tconst table = {};\n\n\tif ( ! data ) {\n\t\treturn [];\n\t}\n\n\t// First create a hash table of { [id]: { ...comment, children: [] }}\n\tdata.forEach( ( item ) => {\n\t\ttable[ item.id ] = { commentId: item.id, children: [] };\n\t} );\n\n\tconst tree = [];\n\n\t// Iterate over the original comments again\n\tdata.forEach( ( item ) => {\n\t\tif ( item.parent ) {\n\t\t\t// If the comment has a \"parent\", then find that parent in the table that\n\t\t\t// we have created above and push the current comment to the array of its\n\t\t\t// children.\n\t\t\ttable[ item.parent ]?.children.push( table[ item.id ] );\n\t\t} else {\n\t\t\t// Otherwise, if the comment has no parent (also works if parent is 0)\n\t\t\t// that means that it's a top-level comment so we can find it in the table\n\t\t\t// and push it to the final tree.\n\t\t\ttree.push( table[ item.id ] );\n\t\t}\n\t} );\n\treturn tree;\n};\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMA,aAAa,GAAKC,IAAI,IAAM;EACxC,MAAMC,KAAK,GAAG,CAAC,CAAC;EAEhB,IAAK,CAAED,IAAI,EAAG;IACb,OAAO,EAAE;EACV;;EAEA;EACAA,IAAI,CAACE,OAAO,CAAIC,IAAI,IAAM;IACzBF,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAE,GAAG;MAAEC,SAAS,EAAEF,IAAI,CAACC,EAAE;MAAEE,QAAQ,EAAE;IAAG,CAAC;EACxD,CAAE,CAAC;EAEH,MAAMC,IAAI,GAAG,EAAE;;EAEf;EACAP,IAAI,CAACE,OAAO,CAAIC,IAAI,IAAM;IACzB,IAAKA,IAAI,CAACK,MAAM,EAAG;MAClB;MACA;MACA;MACAP,KAAK,CAAEE,IAAI,CAACK,MAAM,CAAE,EAAEF,QAAQ,CAACG,IAAI,CAAER,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAG,CAAC;IACxD,CAAC,MAAM;MACN;MACA;MACA;MACAG,IAAI,CAACE,IAAI,CAAER,KAAK,CAAEE,IAAI,CAACC,EAAE,CAAG,CAAC;IAC9B;EACD,CAAE,CAAC;EACH,OAAOG,IAAI;AACZ,CAAC","ignoreList":[]}
@@ -80,6 +80,7 @@ const {
80
80
  export { metadata, name };
81
81
  export const settings = {
82
82
  icon,
83
+ example: {},
83
84
  edit,
84
85
  save,
85
86
  deprecated
@@ -1 +1 @@
1
- {"version":3,"names":["postComments","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","tagName","type","legacy","supports","align","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","usesContext","deprecated","edit","save","settings","init"],"sources":["@wordpress/block-library/src/comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport deprecated from './deprecated';\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\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;;AAEvD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAAlB,6BAAA;QAAAgB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEvC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwC,QAAQ,GAAG;EACvB7C,IAAI;EACJ2C,IAAI;EACJC,IAAI;EACJF;AACD,CAAC;AAED,OAAO,MAAMI,IAAI,GAAGA,CAAA,KAAM7C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE2C;AAAS,CAAE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["postComments","icon","initBlock","metadata","$schema","apiVersion","name","title","category","description","textdomain","attributes","tagName","type","legacy","supports","align","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","__experimentalBorder","radius","width","style","editorStyle","usesContext","deprecated","edit","save","settings","example","init"],"sources":["@wordpress/block-library/src/comments/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;;AAEvD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,OAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,MAAA;MAAAD,IAAA;MAAA;IAAA;EAAA;EAAAE,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,OAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;QAAAH,IAAA;MAAA;IAAA;IAAAI,OAAA;MAAAC,MAAA;MAAAC,OAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAd,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAQ,oBAAA;MAAAC,MAAA;MAAApB,KAAA;MAAAqB,KAAA;MAAAC,KAAA;MAAAlB,6BAAA;QAAAgB,MAAA;QAAApB,KAAA;QAAAqB,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA;AAE5C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,IAAI,MAAM,QAAQ;AAEzB,MAAM;EAAEvC;AAAK,CAAC,GAAGH,QAAQ;AACzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAMwC,QAAQ,GAAG;EACvB7C,IAAI;EACJ8C,OAAO,EAAE,CAAC,CAAC;EACXH,IAAI;EACJC,IAAI;EACJF;AACD,CAAC;AAED,OAAO,MAAMK,IAAI,GAAGA,CAAA,KAAM9C,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE2C;AAAS,CAAE,CAAC","ignoreList":[]}
@@ -86,9 +86,15 @@ function CoverEdit({
86
86
  const {
87
87
  __unstableMarkNextChangeAsNotPersistent
88
88
  } = useDispatch(blockEditorStore);
89
- const media = useSelect(select => featuredImage && select(coreStore).getMedia(featuredImage, {
90
- context: 'view'
91
- }), [featuredImage]);
89
+ const {
90
+ media
91
+ } = useSelect(select => {
92
+ return {
93
+ media: featuredImage && useFeaturedImage ? select(coreStore).getMedia(featuredImage, {
94
+ context: 'view'
95
+ }) : undefined
96
+ };
97
+ }, [featuredImage, useFeaturedImage]);
92
98
  const mediaUrl = (_media$media_details$ = media?.media_details?.sizes?.[sizeSlug]?.source_url) !== null && _media$media_details$ !== void 0 ? _media$media_details$ : media?.source_url;
93
99
 
94
100
  // User can change the featured image outside of the block, but we still
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","_media$media_details$","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","media_details","sizes","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","undefined","newDimRatio","imageDefaultSize","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\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\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 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\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\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\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\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\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\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 =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t}, [ mediaUrl ] );\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\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\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\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\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\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 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 [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\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\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\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\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\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</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\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':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( 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{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\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={ mediaElement }\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\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\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\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\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\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSettings","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","useBlockEditingMode","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getMediaColor","compositeIsDark","DEFAULT_BACKGROUND_COLOR","DEFAULT_OVERLAY_COLOR","DEFAULT_MEDIA_SIZE_SLUG","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","_media$media_details$","contentPosition","originalUrl","backgroundType","originalBackgroundType","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","isUserOverlayColor","sizeSlug","featuredImage","getSettings","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","undefined","mediaUrl","media_details","sizes","source_url","averageBackgroundColor","newOverlayColor","color","newIsDark","replaceAll","createErrorNotice","gradientClass","gradientValue","onSelectMedia","newMedia","mediaAttributes","isImage","type","media_type","includes","newDimRatio","imageDefaultSize","onClearMedia","onSetOverlayColor","onUpdateDimRatio","onUploadError","message","isUploadingMedia","isImageBackground","isVideoBackground","blockEditingMode","hasNonContentControls","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","fontSizes","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","dropZoneElement","current","mediaElement","currentSettings","toggleUseFeaturedImage","newUseFeaturedImage","blockControls","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","dimensions","aspectRatio","size","children","onError","disableCustomColors","onChange","clearable","classes","showOverlay","withIllustration","src","role","autoPlay","muted","loop","class","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSettings,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\nimport {\n\tgetMediaColor,\n\tcompositeIsDark,\n\tDEFAULT_BACKGROUND_COLOR,\n\tDEFAULT_OVERLAY_COLOR,\n} from './color-utils';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from '../constants';\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\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 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\turl: originalUrl,\n\t\tbackgroundType: originalBackgroundType,\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\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t\tisUserOverlayColor,\n\t\tsizeSlug,\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\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { media } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ??\n\t\tmedia?.source_url;\n\n\t// User can change the featured image outside of the block, but we still\n\t// need to update the block when that happens. This effect should only\n\t// run when the featured image changes in that case. All other cases are\n\t// handled in their respective callbacks.\n\tuseEffect( () => {\n\t\t( async () => {\n\t\t\tif ( ! useFeaturedImage ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst averageBackgroundColor = await getMediaColor( mediaUrl );\n\n\t\t\tlet newOverlayColor = overlayColor.color;\n\t\t\tif ( ! isUserOverlayColor ) {\n\t\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t}\n\n\t\t\tconst newIsDark = compositeIsDark(\n\t\t\t\tdimRatio,\n\t\t\t\tnewOverlayColor,\n\t\t\t\taverageBackgroundColor\n\t\t\t);\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: newIsDark,\n\t\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t\t} );\n\t\t} )();\n\t\t// Update the block only when the featured image changes.\n\t}, [ mediaUrl ] );\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\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t originalUrl?.replaceAll( '&amp;', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: originalBackgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst mediaAttributes = attributesFromMedia( newMedia );\n\t\tconst isImage = [ newMedia?.type, newMedia?.media_type ].includes(\n\t\t\tIMAGE_BACKGROUND_TYPE\n\t\t);\n\n\t\tconst averageBackgroundColor = await getMediaColor(\n\t\t\tisImage ? newMedia?.url : undefined\n\t\t);\n\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = averageBackgroundColor;\n\t\t\tsetOverlayColor( newOverlayColor );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\t// Only set a new dimRatio if there was no previous media selected\n\t\t// to avoid resetting to 50 if it has been explicitly set to 100.\n\t\t// See issue #52835 for context.\n\t\tconst newDimRatio =\n\t\t\toriginalUrl === undefined && dimRatio === 100 ? 50 : dimRatio;\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tif ( backgroundType === IMAGE_BACKGROUND_TYPE && mediaAttributes?.id ) {\n\t\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t\t// Try to use the previous selected image size if it's available\n\t\t\t// otherwise try the default image size or fallback to full size.\n\t\t\tif (\n\t\t\t\tsizeSlug &&\n\t\t\t\t( newMedia?.sizes?.[ sizeSlug ] ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ] )\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = sizeSlug;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ sizeSlug ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ sizeSlug ]?.source_url;\n\t\t\t} else if (\n\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ] ||\n\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t) {\n\t\t\t\tmediaAttributes.sizeSlug = imageDefaultSize;\n\t\t\t\tmediaAttributes.url =\n\t\t\t\t\tnewMedia?.sizes?.[ imageDefaultSize ]?.url ||\n\t\t\t\t\tnewMedia?.media_details?.sizes?.[ imageDefaultSize ]\n\t\t\t\t\t\t?.source_url;\n\t\t\t} else {\n\t\t\t\tmediaAttributes.sizeSlug = DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\t}\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t\tisUserOverlayColor: isUserOverlayColor || false,\n\t\t} );\n\t};\n\n\tconst onClearMedia = () => {\n\t\tlet newOverlayColor = overlayColor.color;\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tnewOverlayColor = DEFAULT_OVERLAY_COLOR;\n\t\t\tsetOverlayColor( undefined );\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\tDEFAULT_BACKGROUND_COLOR\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( newOverlayColor ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tdimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetOverlayColor( newOverlayColor );\n\n\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\n\t\tsetAttributes( {\n\t\t\tisUserOverlayColor: true,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst averageBackgroundColor = await getMediaColor( url );\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst hasNonContentControls = blockEditingMode === 'default';\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\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\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\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\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 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 [ fontSizes ] = useSettings( 'typography.fontSizes' );\n\tconst hasFontSizes = fontSizes?.length > 0;\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\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t\tdropZoneElement: ref.current,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst newUseFeaturedImage = ! useFeaturedImage;\n\n\t\tconst averageBackgroundColor = newUseFeaturedImage\n\t\t\t? await getMediaColor( mediaUrl )\n\t\t\t: DEFAULT_BACKGROUND_COLOR;\n\n\t\tconst newOverlayColor = ! isUserOverlayColor\n\t\t\t? averageBackgroundColor\n\t\t\t: overlayColor.color;\n\n\t\tif ( ! isUserOverlayColor ) {\n\t\t\tif ( newUseFeaturedImage ) {\n\t\t\t\tsetOverlayColor( newOverlayColor );\n\t\t\t} else {\n\t\t\t\tsetOverlayColor( undefined );\n\t\t\t}\n\n\t\t\t// Make undo revert the next setAttributes and the previous setOverlayColor.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t}\n\n\t\tconst newDimRatio = dimRatio === 100 ? 50 : dimRatio;\n\t\tconst newIsDark = compositeIsDark(\n\t\t\tnewDimRatio,\n\t\t\tnewOverlayColor,\n\t\t\taverageBackgroundColor\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: newUseFeaturedImage,\n\t\t\tdimRatio: newDimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: newIsDark,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t\tfeaturedImage={ media }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\t// Hide the resize handle if an aspect ratio is set, as the aspect ratio takes precedence.\n\t\tshowHandle: ! attributes.style?.dimensions?.aspectRatio,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ clsx( 'is-placeholder', blockProps.className ) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\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\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\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</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = clsx(\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':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst showOverlay =\n\t\turl || ! useFeaturedImage || ( useFeaturedImage && ! url );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ clsx( 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{ resizeListener }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\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={ mediaElement }\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\n\t\t\t\t{ showOverlay && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\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\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\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\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ hasNonContentControls && isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -15,7 +15,7 @@ import { BlockControls, InnerBlocks, InspectorControls, MEDIA_TYPE_IMAGE, MediaP
15
15
  import { compose, withPreferredColorScheme } from '@wordpress/compose';
16
16
  import { useDispatch, withSelect, withDispatch } from '@wordpress/data';
17
17
  import { useEffect, useState, useRef, useCallback, useMemo } from '@wordpress/element';
18
- import { cover as icon, replace, image, warning } from '@wordpress/icons';
18
+ import { cover as icon, replace, image, cautionFilled } from '@wordpress/icons';
19
19
  import { getProtocol } from '@wordpress/url';
20
20
  // eslint-disable-next-line no-restricted-imports
21
21
  import { store as editPostStore } from '@wordpress/edit-post';
@@ -448,7 +448,7 @@ const Cover = ({
448
448
  children: /*#__PURE__*/_jsx(View, {
449
449
  style: styles.uploadFailed,
450
450
  children: /*#__PURE__*/_jsx(Icon, {
451
- icon: warning,
451
+ icon: cautionFilled,
452
452
  ...styles.uploadFailedIcon
453
453
  })
454
454
  })