@wordpress/block-library 7.5.0 → 7.6.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 (527) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/block/edit.js +10 -9
  7. package/build/block/edit.js.map +1 -1
  8. package/build/button/index.js +1 -0
  9. package/build/button/index.js.map +1 -1
  10. package/build/categories/edit.js +1 -1
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +1 -1
  13. package/build/comment-author-avatar/index.js +1 -0
  14. package/build/comment-author-avatar/index.js.map +1 -1
  15. package/build/comments-title/deprecated.js +110 -0
  16. package/build/comments-title/deprecated.js.map +1 -0
  17. package/build/comments-title/edit.js +35 -37
  18. package/build/comments-title/edit.js.map +1 -1
  19. package/build/comments-title/index.js +5 -8
  20. package/build/comments-title/index.js.map +1 -1
  21. package/build/cover/controls.native.js +2 -3
  22. package/build/cover/controls.native.js.map +1 -1
  23. package/build/cover/edit/block-controls.js +115 -0
  24. package/build/cover/edit/block-controls.js.map +1 -0
  25. package/build/cover/edit/cover-placeholder.js +49 -0
  26. package/build/cover/edit/cover-placeholder.js.map +1 -0
  27. package/build/cover/edit/index.js +333 -0
  28. package/build/cover/edit/index.js.map +1 -0
  29. package/build/cover/edit/inspector-controls.js +224 -0
  30. package/build/cover/edit/inspector-controls.js.map +1 -0
  31. package/build/cover/edit/resizable-cover.js +67 -0
  32. package/build/cover/edit/resizable-cover.js.map +1 -0
  33. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  34. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  35. package/build/cover/edit.native.js +0 -1
  36. package/build/cover/edit.native.js.map +1 -1
  37. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  38. package/build/cover/shared.js +9 -0
  39. package/build/cover/shared.js.map +1 -1
  40. package/build/embed/embed-preview.js +1 -1
  41. package/build/embed/embed-preview.js.map +1 -1
  42. package/build/file/edit.native.js +0 -1
  43. package/build/file/edit.native.js.map +1 -1
  44. package/build/gallery/edit.js +2 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/gallery.js +1 -1
  47. package/build/gallery/gallery.js.map +1 -1
  48. package/build/gallery/shared.js +2 -2
  49. package/build/gallery/shared.js.map +1 -1
  50. package/build/gallery/use-get-media.js +2 -1
  51. package/build/gallery/use-get-media.js.map +1 -1
  52. package/build/gallery/use-short-code-transform.js +19 -18
  53. package/build/gallery/use-short-code-transform.js.map +1 -1
  54. package/build/gallery/v1/gallery.js +1 -1
  55. package/build/gallery/v1/gallery.js.map +1 -1
  56. package/build/heading/edit.js +6 -2
  57. package/build/heading/edit.js.map +1 -1
  58. package/build/heading/index.js +1 -0
  59. package/build/heading/index.js.map +1 -1
  60. package/build/heading/transforms.js +1 -0
  61. package/build/heading/transforms.js.map +1 -1
  62. package/build/image/edit.js +5 -2
  63. package/build/image/edit.js.map +1 -1
  64. package/build/image/edit.native.js +0 -1
  65. package/build/image/edit.native.js.map +1 -1
  66. package/build/image/image.js +1 -1
  67. package/build/image/image.js.map +1 -1
  68. package/build/index.js +46 -10
  69. package/build/index.js.map +1 -1
  70. package/build/is-block-metadata-experimental.js +18 -0
  71. package/build/is-block-metadata-experimental.js.map +1 -0
  72. package/build/latest-posts/edit.js +30 -4
  73. package/build/latest-posts/edit.js.map +1 -1
  74. package/build/list/transforms.js +6 -0
  75. package/build/list/transforms.js.map +1 -1
  76. package/build/list/v2/edit.js +2 -1
  77. package/build/list/v2/edit.js.map +1 -1
  78. package/build/list/v2/migrate.js +1 -0
  79. package/build/list/v2/migrate.js.map +1 -1
  80. package/build/list/v2/transforms.js +46 -9
  81. package/build/list/v2/transforms.js.map +1 -1
  82. package/build/list-item/edit.js +7 -9
  83. package/build/list-item/edit.js.map +1 -1
  84. package/build/list-item/hooks/index.js +24 -0
  85. package/build/list-item/hooks/index.js.map +1 -1
  86. package/build/list-item/hooks/use-backspace.js +59 -0
  87. package/build/list-item/hooks/use-backspace.js.map +1 -0
  88. package/build/list-item/hooks/use-enter.js +6 -9
  89. package/build/list-item/hooks/use-enter.js.map +1 -1
  90. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  91. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  92. package/build/list-item/hooks/use-space.js +54 -0
  93. package/build/list-item/hooks/use-space.js.map +1 -0
  94. package/build/list-item/hooks/use-split.js +30 -0
  95. package/build/list-item/hooks/use-split.js.map +1 -0
  96. package/build/list-item/index.js +1 -0
  97. package/build/list-item/index.js.map +1 -1
  98. package/build/list-item/utils.js +1 -1
  99. package/build/list-item/utils.js.map +1 -1
  100. package/build/media-text/edit.native.js +2 -1
  101. package/build/media-text/edit.native.js.map +1 -1
  102. package/build/media-text/media-container.native.js +2 -4
  103. package/build/media-text/media-container.native.js.map +1 -1
  104. package/build/media-text/transforms.js +137 -8
  105. package/build/media-text/transforms.js.map +1 -1
  106. package/build/navigation/edit/index.js +86 -81
  107. package/build/navigation/edit/index.js.map +1 -1
  108. package/build/navigation/edit/inner-blocks.js +1 -5
  109. package/build/navigation/edit/inner-blocks.js.map +1 -1
  110. package/build/navigation/use-navigation-entities.js +3 -3
  111. package/build/navigation/use-navigation-entities.js.map +1 -1
  112. package/build/navigation-link/fallback-variations.js +1 -1
  113. package/build/navigation-link/fallback-variations.js.map +1 -1
  114. package/build/navigation-link/hooks.js +1 -1
  115. package/build/navigation-link/hooks.js.map +1 -1
  116. package/build/page-list/convert-to-links-modal.js +1 -1
  117. package/build/page-list/convert-to-links-modal.js.map +1 -1
  118. package/build/page-list/edit.js +1 -1
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/post-author/edit.js +1 -1
  121. package/build/post-author/edit.js.map +1 -1
  122. package/build/post-author-name/index.js +1 -0
  123. package/build/post-author-name/index.js.map +1 -1
  124. package/build/post-comment/index.js +1 -0
  125. package/build/post-comment/index.js.map +1 -1
  126. package/build/post-comments/edit.js +34 -16
  127. package/build/post-comments/edit.js.map +1 -1
  128. package/build/post-comments-count/index.js +1 -0
  129. package/build/post-comments-count/index.js.map +1 -1
  130. package/build/post-comments-form/form.js +1 -1
  131. package/build/post-comments-form/form.js.map +1 -1
  132. package/build/post-comments-link/index.js +1 -0
  133. package/build/post-comments-link/index.js.map +1 -1
  134. package/build/post-featured-image/edit.js +1 -1
  135. package/build/post-featured-image/edit.js.map +1 -1
  136. package/build/post-template/edit.js +7 -2
  137. package/build/post-template/edit.js.map +1 -1
  138. package/build/post-terms/edit.js +11 -2
  139. package/build/post-terms/edit.js.map +1 -1
  140. package/build/post-terms/hooks.js +33 -0
  141. package/build/post-terms/hooks.js.map +1 -0
  142. package/build/post-terms/index.js +12 -5
  143. package/build/post-terms/index.js.map +1 -1
  144. package/build/post-title/index.js +1 -1
  145. package/build/post-title/index.js.map +1 -1
  146. package/build/pullquote/edit.js +1 -1
  147. package/build/pullquote/edit.js.map +1 -1
  148. package/build/pullquote/edit.native.js +1 -1
  149. package/build/pullquote/edit.native.js.map +1 -1
  150. package/build/query/edit/inspector-controls/index.js +26 -17
  151. package/build/query/edit/inspector-controls/index.js.map +1 -1
  152. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  153. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  154. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  155. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  156. package/build/query/index.js +2 -1
  157. package/build/query/index.js.map +1 -1
  158. package/build/query/utils.js +28 -2
  159. package/build/query/utils.js.map +1 -1
  160. package/build/query-title/index.js +1 -1
  161. package/build/query-title/index.js.map +1 -1
  162. package/build/query-title/variations.js +1 -1
  163. package/build/query-title/variations.js.map +1 -1
  164. package/build/quote/edit.js +3 -2
  165. package/build/quote/edit.js.map +1 -1
  166. package/build/quote/v2/edit.js +1 -1
  167. package/build/quote/v2/edit.js.map +1 -1
  168. package/build/search/edit.js +1 -0
  169. package/build/search/edit.js.map +1 -1
  170. package/build/site-logo/edit.js +1 -1
  171. package/build/site-logo/edit.js.map +1 -1
  172. package/build/table/edit.js +15 -2
  173. package/build/table/edit.js.map +1 -1
  174. package/build/table-of-contents/edit.js +138 -66
  175. package/build/table-of-contents/edit.js.map +1 -1
  176. package/build/table-of-contents/index.js +13 -3
  177. package/build/table-of-contents/index.js.map +1 -1
  178. package/build/table-of-contents/list.js +16 -9
  179. package/build/table-of-contents/list.js.map +1 -1
  180. package/build/table-of-contents/save.js +40 -0
  181. package/build/table-of-contents/save.js.map +1 -0
  182. package/build/table-of-contents/utils.js +11 -77
  183. package/build/table-of-contents/utils.js.map +1 -1
  184. package/build/template-part/edit/index.js +7 -3
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/inner-blocks.js +3 -8
  187. package/build/template-part/edit/inner-blocks.js.map +1 -1
  188. package/build/video/edit.js +1 -1
  189. package/build/video/edit.js.map +1 -1
  190. package/build-module/audio/edit.js +2 -2
  191. package/build-module/audio/edit.js.map +1 -1
  192. package/build-module/block/edit.js +11 -10
  193. package/build-module/block/edit.js.map +1 -1
  194. package/build-module/button/index.js +1 -0
  195. package/build-module/button/index.js.map +1 -1
  196. package/build-module/categories/edit.js +1 -1
  197. package/build-module/categories/edit.js.map +1 -1
  198. package/build-module/categories/index.js +1 -1
  199. package/build-module/comment-author-avatar/index.js +1 -0
  200. package/build-module/comment-author-avatar/index.js.map +1 -1
  201. package/build-module/comments-title/deprecated.js +102 -0
  202. package/build-module/comments-title/deprecated.js.map +1 -0
  203. package/build-module/comments-title/edit.js +38 -40
  204. package/build-module/comments-title/edit.js.map +1 -1
  205. package/build-module/comments-title/index.js +4 -8
  206. package/build-module/comments-title/index.js.map +1 -1
  207. package/build-module/cover/controls.native.js +2 -3
  208. package/build-module/cover/controls.native.js.map +1 -1
  209. package/build-module/cover/edit/block-controls.js +104 -0
  210. package/build-module/cover/edit/block-controls.js.map +1 -0
  211. package/build-module/cover/edit/cover-placeholder.js +38 -0
  212. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  213. package/build-module/cover/edit/index.js +307 -0
  214. package/build-module/cover/edit/index.js.map +1 -0
  215. package/build-module/cover/edit/inspector-controls.js +215 -0
  216. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  217. package/build-module/cover/edit/resizable-cover.js +55 -0
  218. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  219. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  220. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  221. package/build-module/cover/edit.native.js +0 -1
  222. package/build-module/cover/edit.native.js.map +1 -1
  223. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  224. package/build-module/cover/shared.js +7 -0
  225. package/build-module/cover/shared.js.map +1 -1
  226. package/build-module/embed/embed-preview.js +2 -2
  227. package/build-module/embed/embed-preview.js.map +1 -1
  228. package/build-module/file/edit.native.js +0 -1
  229. package/build-module/file/edit.native.js.map +1 -1
  230. package/build-module/gallery/edit.js +2 -1
  231. package/build-module/gallery/edit.js.map +1 -1
  232. package/build-module/gallery/gallery.js +2 -2
  233. package/build-module/gallery/gallery.js.map +1 -1
  234. package/build-module/gallery/shared.js +2 -2
  235. package/build-module/gallery/shared.js.map +1 -1
  236. package/build-module/gallery/use-get-media.js +2 -1
  237. package/build-module/gallery/use-get-media.js.map +1 -1
  238. package/build-module/gallery/use-short-code-transform.js +19 -18
  239. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  240. package/build-module/gallery/v1/gallery.js +2 -2
  241. package/build-module/gallery/v1/gallery.js.map +1 -1
  242. package/build-module/heading/edit.js +6 -2
  243. package/build-module/heading/edit.js.map +1 -1
  244. package/build-module/heading/index.js +1 -0
  245. package/build-module/heading/index.js.map +1 -1
  246. package/build-module/heading/transforms.js +1 -0
  247. package/build-module/heading/transforms.js.map +1 -1
  248. package/build-module/image/edit.js +6 -3
  249. package/build-module/image/edit.js.map +1 -1
  250. package/build-module/image/edit.native.js +0 -1
  251. package/build-module/image/edit.native.js.map +1 -1
  252. package/build-module/image/image.js +2 -2
  253. package/build-module/image/image.js.map +1 -1
  254. package/build-module/index.js +42 -10
  255. package/build-module/index.js.map +1 -1
  256. package/build-module/is-block-metadata-experimental.js +16 -0
  257. package/build-module/is-block-metadata-experimental.js.map +1 -0
  258. package/build-module/latest-posts/edit.js +29 -5
  259. package/build-module/latest-posts/edit.js.map +1 -1
  260. package/build-module/list/transforms.js +6 -0
  261. package/build-module/list/transforms.js.map +1 -1
  262. package/build-module/list/v2/edit.js +2 -1
  263. package/build-module/list/v2/edit.js.map +1 -1
  264. package/build-module/list/v2/migrate.js +1 -3
  265. package/build-module/list/v2/migrate.js.map +1 -1
  266. package/build-module/list/v2/transforms.js +46 -9
  267. package/build-module/list/v2/transforms.js.map +1 -1
  268. package/build-module/list-item/edit.js +8 -9
  269. package/build-module/list-item/edit.js.map +1 -1
  270. package/build-module/list-item/hooks/index.js +3 -0
  271. package/build-module/list-item/hooks/index.js.map +1 -1
  272. package/build-module/list-item/hooks/use-backspace.js +44 -0
  273. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  274. package/build-module/list-item/hooks/use-enter.js +6 -9
  275. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  276. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  277. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  278. package/build-module/list-item/hooks/use-space.js +40 -0
  279. package/build-module/list-item/hooks/use-space.js.map +1 -0
  280. package/build-module/list-item/hooks/use-split.js +19 -0
  281. package/build-module/list-item/hooks/use-split.js.map +1 -0
  282. package/build-module/list-item/index.js +1 -0
  283. package/build-module/list-item/index.js.map +1 -1
  284. package/build-module/list-item/utils.js +1 -1
  285. package/build-module/list-item/utils.js.map +1 -1
  286. package/build-module/media-text/edit.native.js +2 -1
  287. package/build-module/media-text/edit.native.js.map +1 -1
  288. package/build-module/media-text/media-container.native.js +2 -4
  289. package/build-module/media-text/media-container.native.js.map +1 -1
  290. package/build-module/media-text/transforms.js +137 -8
  291. package/build-module/media-text/transforms.js.map +1 -1
  292. package/build-module/navigation/edit/index.js +87 -82
  293. package/build-module/navigation/edit/index.js.map +1 -1
  294. package/build-module/navigation/edit/inner-blocks.js +2 -6
  295. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  296. package/build-module/navigation/use-navigation-entities.js +1 -1
  297. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  298. package/build-module/navigation-link/fallback-variations.js +1 -1
  299. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  300. package/build-module/navigation-link/hooks.js +2 -2
  301. package/build-module/navigation-link/hooks.js.map +1 -1
  302. package/build-module/page-list/convert-to-links-modal.js +1 -1
  303. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  304. package/build-module/page-list/edit.js +1 -1
  305. package/build-module/page-list/edit.js.map +1 -1
  306. package/build-module/post-author/edit.js +1 -1
  307. package/build-module/post-author/edit.js.map +1 -1
  308. package/build-module/post-author-name/index.js +1 -0
  309. package/build-module/post-author-name/index.js.map +1 -1
  310. package/build-module/post-comment/index.js +1 -0
  311. package/build-module/post-comment/index.js.map +1 -1
  312. package/build-module/post-comments/edit.js +35 -16
  313. package/build-module/post-comments/edit.js.map +1 -1
  314. package/build-module/post-comments-count/index.js +1 -0
  315. package/build-module/post-comments-count/index.js.map +1 -1
  316. package/build-module/post-comments-form/form.js +1 -1
  317. package/build-module/post-comments-form/form.js.map +1 -1
  318. package/build-module/post-comments-link/index.js +1 -0
  319. package/build-module/post-comments-link/index.js.map +1 -1
  320. package/build-module/post-featured-image/edit.js +1 -1
  321. package/build-module/post-featured-image/edit.js.map +1 -1
  322. package/build-module/post-template/edit.js +7 -2
  323. package/build-module/post-template/edit.js.map +1 -1
  324. package/build-module/post-terms/edit.js +10 -3
  325. package/build-module/post-terms/edit.js.map +1 -1
  326. package/build-module/post-terms/hooks.js +25 -0
  327. package/build-module/post-terms/hooks.js.map +1 -0
  328. package/build-module/post-terms/index.js +10 -8
  329. package/build-module/post-terms/index.js.map +1 -1
  330. package/build-module/post-title/index.js +1 -1
  331. package/build-module/post-title/index.js.map +1 -1
  332. package/build-module/pullquote/edit.js +2 -2
  333. package/build-module/pullquote/edit.js.map +1 -1
  334. package/build-module/pullquote/edit.native.js +2 -2
  335. package/build-module/pullquote/edit.native.js.map +1 -1
  336. package/build-module/query/edit/inspector-controls/index.js +24 -17
  337. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  338. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  339. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  340. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  341. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  342. package/build-module/query/index.js +2 -1
  343. package/build-module/query/index.js.map +1 -1
  344. package/build-module/query/utils.js +21 -0
  345. package/build-module/query/utils.js.map +1 -1
  346. package/build-module/query-title/index.js +1 -1
  347. package/build-module/query-title/index.js.map +1 -1
  348. package/build-module/query-title/variations.js +2 -2
  349. package/build-module/query-title/variations.js.map +1 -1
  350. package/build-module/quote/edit.js +4 -3
  351. package/build-module/quote/edit.js.map +1 -1
  352. package/build-module/quote/v2/edit.js +2 -2
  353. package/build-module/quote/v2/edit.js.map +1 -1
  354. package/build-module/search/edit.js +1 -0
  355. package/build-module/search/edit.js.map +1 -1
  356. package/build-module/site-logo/edit.js +1 -1
  357. package/build-module/site-logo/edit.js.map +1 -1
  358. package/build-module/table/edit.js +17 -4
  359. package/build-module/table/edit.js.map +1 -1
  360. package/build-module/table-of-contents/edit.js +136 -68
  361. package/build-module/table-of-contents/edit.js.map +1 -1
  362. package/build-module/table-of-contents/index.js +12 -3
  363. package/build-module/table-of-contents/index.js.map +1 -1
  364. package/build-module/table-of-contents/list.js +18 -10
  365. package/build-module/table-of-contents/list.js.map +1 -1
  366. package/build-module/table-of-contents/save.js +28 -0
  367. package/build-module/table-of-contents/save.js.map +1 -0
  368. package/build-module/table-of-contents/utils.js +11 -73
  369. package/build-module/table-of-contents/utils.js.map +1 -1
  370. package/build-module/template-part/edit/index.js +8 -4
  371. package/build-module/template-part/edit/index.js.map +1 -1
  372. package/build-module/template-part/edit/inner-blocks.js +4 -9
  373. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  374. package/build-module/video/edit.js +2 -2
  375. package/build-module/video/edit.js.map +1 -1
  376. package/build-style/editor-rtl.css +4 -6
  377. package/build-style/editor.css +4 -6
  378. package/build-style/image/editor-rtl.css +1 -1
  379. package/build-style/image/editor.css +1 -1
  380. package/build-style/post-comments/style-rtl.css +22 -0
  381. package/build-style/post-comments/style.css +22 -0
  382. package/build-style/post-comments-form/style-rtl.css +1 -3
  383. package/build-style/post-comments-form/style.css +1 -3
  384. package/build-style/separator/editor-rtl.css +1 -0
  385. package/build-style/separator/editor.css +1 -0
  386. package/build-style/style-rtl.css +23 -3
  387. package/build-style/style.css +23 -3
  388. package/build-style/video/editor-rtl.css +2 -5
  389. package/build-style/video/editor.css +2 -5
  390. package/build-types/table-of-contents/list.d.ts +12 -0
  391. package/build-types/table-of-contents/list.d.ts.map +1 -0
  392. package/build-types/table-of-contents/utils.d.ts +24 -0
  393. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  394. package/package.json +30 -29
  395. package/src/audio/edit.js +4 -2
  396. package/src/avatar/block.json +0 -1
  397. package/src/avatar/index.php +2 -2
  398. package/src/block/edit.js +39 -42
  399. package/src/block/test/edit.native.js +1 -1
  400. package/src/button/block.json +1 -0
  401. package/src/categories/block.json +1 -1
  402. package/src/categories/edit.js +1 -1
  403. package/src/comment-author-avatar/block.json +1 -0
  404. package/src/comments-title/block.json +0 -6
  405. package/src/comments-title/deprecated.js +34 -0
  406. package/src/comments-title/edit.js +44 -100
  407. package/src/comments-title/index.js +3 -1
  408. package/src/comments-title/index.php +41 -23
  409. package/src/cover/controls.native.js +1 -2
  410. package/src/cover/edit/block-controls.js +119 -0
  411. package/src/cover/edit/cover-placeholder.js +39 -0
  412. package/src/cover/edit/index.js +381 -0
  413. package/src/cover/edit/inspector-controls.js +286 -0
  414. package/src/cover/edit/resizable-cover.js +55 -0
  415. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  416. package/src/cover/edit.native.js +0 -1
  417. package/src/cover/editor.scss +1 -1
  418. package/src/cover/focal-point-settings-button.native.js +1 -1
  419. package/src/cover/index.php +20 -37
  420. package/src/cover/shared.js +4 -0
  421. package/src/cover/test/block-controls.js +62 -0
  422. package/src/embed/embed-preview.js +4 -2
  423. package/src/file/edit.native.js +0 -1
  424. package/src/gallery/edit.js +2 -1
  425. package/src/gallery/gallery.js +2 -2
  426. package/src/gallery/shared.js +3 -2
  427. package/src/gallery/use-get-media.js +2 -1
  428. package/src/gallery/use-short-code-transform.js +19 -16
  429. package/src/gallery/v1/gallery.js +2 -2
  430. package/src/heading/block.json +1 -0
  431. package/src/heading/edit.js +5 -2
  432. package/src/image/edit.js +9 -1
  433. package/src/image/edit.native.js +0 -1
  434. package/src/image/editor.scss +1 -1
  435. package/src/image/image.js +8 -2
  436. package/src/image/test/edit.native.js +7 -7
  437. package/src/index.js +50 -27
  438. package/src/is-block-metadata-experimental.js +19 -0
  439. package/src/latest-posts/edit.js +27 -2
  440. package/src/latest-posts/index.php +12 -6
  441. package/src/list/transforms.js +7 -0
  442. package/src/list/v2/edit.js +1 -0
  443. package/src/list/v2/migrate.js +1 -1
  444. package/src/list/v2/transforms.js +35 -0
  445. package/src/list-item/block.json +2 -1
  446. package/src/list-item/edit.js +17 -10
  447. package/src/list-item/hooks/index.js +3 -0
  448. package/src/list-item/hooks/use-backspace.js +52 -0
  449. package/src/list-item/hooks/use-enter.js +9 -16
  450. package/src/list-item/hooks/use-indent-list-item.js +50 -63
  451. package/src/list-item/hooks/use-space.js +48 -0
  452. package/src/list-item/hooks/use-split.js +24 -0
  453. package/src/list-item/utils.js +1 -1
  454. package/src/media-text/edit.native.js +3 -1
  455. package/src/media-text/media-container.native.js +2 -4
  456. package/src/media-text/transforms.js +154 -0
  457. package/src/navigation/edit/index.js +175 -169
  458. package/src/navigation/edit/inner-blocks.js +1 -8
  459. package/src/navigation/index.php +40 -0
  460. package/src/navigation/use-navigation-entities.js +1 -1
  461. package/src/navigation-link/fallback-variations.js +1 -1
  462. package/src/navigation-link/hooks.js +2 -2
  463. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  464. package/src/page-list/convert-to-links-modal.js +1 -1
  465. package/src/page-list/edit.js +1 -4
  466. package/src/post-author/edit.js +24 -22
  467. package/src/post-author-name/block.json +1 -0
  468. package/src/post-comment/block.json +1 -0
  469. package/src/post-comments/edit.js +54 -22
  470. package/src/post-comments/style.scss +26 -0
  471. package/src/post-comments-count/block.json +1 -0
  472. package/src/post-comments-form/form.js +1 -4
  473. package/src/post-comments-form/style.scss +1 -4
  474. package/src/post-comments-link/block.json +1 -0
  475. package/src/post-featured-image/edit.js +1 -1
  476. package/src/post-template/edit.js +5 -0
  477. package/src/post-template/index.php +30 -0
  478. package/src/post-terms/edit.js +19 -0
  479. package/src/post-terms/hooks.js +27 -0
  480. package/src/post-terms/index.js +14 -7
  481. package/src/post-terms/index.php +40 -2
  482. package/src/post-title/index.js +1 -1
  483. package/src/pullquote/edit.js +2 -2
  484. package/src/pullquote/edit.native.js +2 -2
  485. package/src/query/block.json +2 -1
  486. package/src/query/edit/inspector-controls/index.js +25 -11
  487. package/src/query/edit/inspector-controls/parent-control.js +133 -0
  488. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  489. package/src/query/utils.js +22 -0
  490. package/src/query-title/index.js +1 -1
  491. package/src/query-title/variations.js +2 -2
  492. package/src/quote/edit.js +5 -2
  493. package/src/quote/v2/edit.js +4 -2
  494. package/src/search/edit.js +1 -0
  495. package/src/search/index.php +1 -1
  496. package/src/separator/editor.scss +1 -0
  497. package/src/site-logo/edit.js +1 -1
  498. package/src/table/edit.js +19 -4
  499. package/src/table-of-contents/block.json +9 -2
  500. package/src/table-of-contents/edit.js +155 -75
  501. package/src/table-of-contents/index.js +2 -0
  502. package/src/table-of-contents/list.tsx +46 -0
  503. package/src/table-of-contents/save.js +25 -0
  504. package/src/table-of-contents/utils.ts +71 -0
  505. package/src/tag-cloud/block.json +1 -1
  506. package/src/template-part/edit/index.js +25 -15
  507. package/src/template-part/edit/inner-blocks.js +2 -10
  508. package/src/video/edit.js +4 -2
  509. package/src/video/editor.scss +3 -6
  510. package/test/babel-plugin.js +67 -0
  511. package/tsconfig.json +11 -0
  512. package/tsconfig.tsbuildinfo +1 -0
  513. package/build/cover/edit.js +0 -598
  514. package/build/cover/edit.js.map +0 -1
  515. package/build/cover/use-cover-is-dark.js.map +0 -1
  516. package/build/post-terms/variations.js +0 -37
  517. package/build/post-terms/variations.js.map +0 -1
  518. package/build-module/cover/edit.js +0 -575
  519. package/build-module/cover/edit.js.map +0 -1
  520. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  521. package/build-module/post-terms/variations.js +0 -27
  522. package/build-module/post-terms/variations.js.map +0 -1
  523. package/src/cover/edit.js +0 -757
  524. package/src/post-terms/variations.js +0 -28
  525. package/src/table-of-contents/index.php +0 -346
  526. package/src/table-of-contents/list.js +0 -28
  527. package/src/table-of-contents/utils.js +0 -126
@@ -40,8 +40,6 @@ function Edit(_ref) {
40
40
  let {
41
41
  attributes: {
42
42
  textAlign,
43
- singleCommentLabel,
44
- multipleCommentsLabel,
45
43
  showPostTitle,
46
44
  showCommentsCount,
47
45
  level
@@ -54,7 +52,6 @@ function Edit(_ref) {
54
52
  } = _ref;
55
53
  const TagName = 'h' + level;
56
54
  const [commentsCount, setCommentsCount] = (0, _element.useState)();
57
- const [editingMode, setEditingMode] = (0, _element.useState)('plural');
58
55
  const [rawTitle] = (0, _coreData.useEntityProp)('postType', postType, 'title', postId);
59
56
  const isSiteEditor = typeof postId === 'undefined';
60
57
  const blockProps = (0, _blockEditor.useBlockProps)({
@@ -100,17 +97,7 @@ function Edit(_ref) {
100
97
  }));
101
98
  const inspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
102
99
  title: (0, _i18n.__)('Settings')
103
- }, isSiteEditor && (0, _element.createElement)(_components.__experimentalToggleGroupControl, {
104
- label: (0, _i18n.__)('Editing mode'),
105
- onChange: setEditingMode,
106
- value: editingMode
107
- }, (0, _element.createElement)(_components.__experimentalToggleGroupControlOption, {
108
- label: (0, _i18n.__)('Singular'),
109
- value: "singular"
110
- }), (0, _element.createElement)(_components.__experimentalToggleGroupControlOption, {
111
- label: (0, _i18n.__)('Plural'),
112
- value: "plural"
113
- })), (0, _element.createElement)(_components.ToggleControl, {
100
+ }, (0, _element.createElement)(_components.ToggleControl, {
114
101
  label: (0, _i18n.__)('Show post title'),
115
102
  checked: showPostTitle,
116
103
  onChange: value => setAttributes({
@@ -124,28 +111,39 @@ function Edit(_ref) {
124
111
  })
125
112
  })));
126
113
  const postTitle = isSiteEditor ? (0, _i18n.__)('"Post Title"') : `"${rawTitle}"`;
127
- const singlePlaceholder = showPostTitle ? (0, _i18n.__)('One response to ') : (0, _i18n.__)('One response');
128
- const singlePlaceholderNoCount = showPostTitle ? (0, _i18n.__)('Response to ') : (0, _i18n.__)('Response');
129
- const multiplePlaceholder = showPostTitle ? (0, _i18n.__)('responses to ') : (0, _i18n.__)('responses');
130
- const multiplePlaceholderNoCount = showPostTitle ? (0, _i18n.__)('Responses to ') : (0, _i18n.__)('Responses');
131
- return (0, _element.createElement)(_element.Fragment, null, blockControls, inspectorControls, (0, _element.createElement)(TagName, blockProps, editingMode === 'singular' || commentsCount === 1 ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.PlainText, {
132
- __experimentalVersion: 2,
133
- tagName: "span",
134
- "aria-label": showCommentsCount ? singlePlaceholder : singlePlaceholderNoCount,
135
- placeholder: showCommentsCount ? singlePlaceholder : singlePlaceholderNoCount,
136
- value: singleCommentLabel,
137
- onChange: newLabel => setAttributes({
138
- singleCommentLabel: newLabel
139
- })
140
- }), showPostTitle ? postTitle : null) : (0, _element.createElement)(_element.Fragment, null, showCommentsCount ? commentsCount : null, (0, _element.createElement)(_blockEditor.PlainText, {
141
- __experimentalVersion: 2,
142
- tagName: "span",
143
- "aria-label": showCommentsCount ? ` ${multiplePlaceholder}` : multiplePlaceholderNoCount,
144
- placeholder: showCommentsCount ? ` ${multiplePlaceholder}` : multiplePlaceholderNoCount,
145
- value: multipleCommentsLabel,
146
- onChange: newLabel => setAttributes({
147
- multipleCommentsLabel: newLabel
148
- })
149
- }), showPostTitle ? postTitle : null)));
114
+ let placeholder;
115
+
116
+ if (showCommentsCount && commentsCount !== undefined) {
117
+ if (showPostTitle) {
118
+ if (commentsCount === 1) {
119
+ /* translators: %s: Post title. */
120
+ placeholder = (0, _i18n.sprintf)((0, _i18n.__)('One response to %s'), postTitle);
121
+ } else {
122
+ placeholder = (0, _i18n.sprintf)(
123
+ /* translators: 1: Number of comments, 2: Post title. */
124
+ (0, _i18n._n)('%1$s response to %2$s', '%1$s responses to %2$s', commentsCount), commentsCount, postTitle);
125
+ }
126
+ } else if (commentsCount === 1) {
127
+ placeholder = (0, _i18n.__)('One response');
128
+ } else {
129
+ placeholder = (0, _i18n.sprintf)(
130
+ /* translators: %s: Number of comments. */
131
+ (0, _i18n._n)('%s responses', '%s responses', commentsCount), commentsCount);
132
+ }
133
+ } else if (showPostTitle) {
134
+ if (commentsCount === 1) {
135
+ /* translators: %s: Post title. */
136
+ placeholder = (0, _i18n.sprintf)((0, _i18n.__)('Response to %s'), postTitle);
137
+ } else {
138
+ /* translators: %s: Post title. */
139
+ placeholder = (0, _i18n.sprintf)((0, _i18n.__)('Responses to %s'), postTitle);
140
+ }
141
+ } else if (commentsCount === 1) {
142
+ placeholder = (0, _i18n.__)('Response');
143
+ } else {
144
+ placeholder = (0, _i18n.__)('Responses');
145
+ }
146
+
147
+ return (0, _element.createElement)(_element.Fragment, null, blockControls, inspectorControls, (0, _element.createElement)(TagName, blockProps, placeholder));
150
148
  }
151
149
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comments-title/edit.js"],"names":["Edit","attributes","textAlign","singleCommentLabel","multipleCommentsLabel","showPostTitle","showCommentsCount","level","setAttributes","context","postType","postId","TagName","commentsCount","setCommentsCount","editingMode","setEditingMode","rawTitle","isSiteEditor","blockProps","className","currentPostId","path","post","_fields","method","parse","then","res","parseInt","headers","get","catch","blockControls","newAlign","newLevel","inspectorControls","value","postTitle","singlePlaceholder","singlePlaceholderNoCount","multiplePlaceholder","multiplePlaceholderNoCount","newLabel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tPlainText,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nexport default function Edit( {\n\tattributes: {\n\t\ttextAlign,\n\t\tsingleCommentLabel,\n\t\tmultipleCommentsLabel,\n\t\tshowPostTitle,\n\t\tshowCommentsCount,\n\t\tlevel,\n\t},\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ editingMode, setEditingMode ] = useState( 'plural' );\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\tsetCommentsCount( 3 );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tselectedLevel={ level }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t{ isSiteEditor && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Editing mode' ) }\n\t\t\t\t\t\tonChange={ setEditingMode }\n\t\t\t\t\t\tvalue={ editingMode }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tlabel={ __( 'Singular' ) }\n\t\t\t\t\t\t\tvalue=\"singular\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tlabel={ __( 'Plural' ) }\n\t\t\t\t\t\t\tvalue=\"plural\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( '\"Post Title\"' ) : `\"${ rawTitle }\"`;\n\n\tconst singlePlaceholder = showPostTitle\n\t\t? __( 'One response to ' )\n\t\t: __( 'One response' );\n\n\tconst singlePlaceholderNoCount = showPostTitle\n\t\t? __( 'Response to ' )\n\t\t: __( 'Response' );\n\n\tconst multiplePlaceholder = showPostTitle\n\t\t? __( 'responses to ' )\n\t\t: __( 'responses' );\n\n\tconst multiplePlaceholderNoCount = showPostTitle\n\t\t? __( 'Responses to ' )\n\t\t: __( 'Responses' );\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t{ editingMode === 'singular' || commentsCount === 1 ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\tshowCommentsCount\n\t\t\t\t\t\t\t\t\t? singlePlaceholder\n\t\t\t\t\t\t\t\t\t: singlePlaceholderNoCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\tshowCommentsCount\n\t\t\t\t\t\t\t\t\t? singlePlaceholder\n\t\t\t\t\t\t\t\t\t: singlePlaceholderNoCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ singleCommentLabel }\n\t\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tsingleCommentLabel: newLabel,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showPostTitle ? postTitle : null }\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ showCommentsCount ? commentsCount : null }\n\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\t\tshowCommentsCount\n\t\t\t\t\t\t\t\t\t? ` ${ multiplePlaceholder }`\n\t\t\t\t\t\t\t\t\t: multiplePlaceholderNoCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\tshowCommentsCount\n\t\t\t\t\t\t\t\t\t? ` ${ multiplePlaceholder }`\n\t\t\t\t\t\t\t\t\t: multiplePlaceholderNoCount\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ multipleCommentsLabel }\n\t\t\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tmultipleCommentsLabel: newLabel,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ showPostTitle ? postTitle : null }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</TagName>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comments-title/edit.js"],"names":["Edit","attributes","textAlign","showPostTitle","showCommentsCount","level","setAttributes","context","postType","postId","TagName","commentsCount","setCommentsCount","rawTitle","isSiteEditor","blockProps","className","currentPostId","path","post","_fields","method","parse","then","res","parseInt","headers","get","catch","blockControls","newAlign","newLevel","inspectorControls","value","postTitle","placeholder","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nexport default function Edit( {\n\tattributes: { textAlign, showPostTitle, showCommentsCount, level },\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\tsetCommentsCount( 3 );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tselectedLevel={ level }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( '\"Post Title\"' ) : `\"${ rawTitle }\"`;\n\n\tlet placeholder;\n\tif ( showCommentsCount && commentsCount !== undefined ) {\n\t\tif ( showPostTitle ) {\n\t\t\tif ( commentsCount === 1 ) {\n\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\tplaceholder = sprintf( __( 'One response to %s' ), postTitle );\n\t\t\t} else {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: 1: Number of comments, 2: Post title. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%1$s response to %2$s',\n\t\t\t\t\t\t'%1$s responses to %2$s',\n\t\t\t\t\t\tcommentsCount\n\t\t\t\t\t),\n\t\t\t\t\tcommentsCount,\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( commentsCount === 1 ) {\n\t\t\tplaceholder = __( 'One response' );\n\t\t} else {\n\t\t\tplaceholder = sprintf(\n\t\t\t\t/* translators: %s: Number of comments. */\n\t\t\t\t_n( '%s responses', '%s responses', commentsCount ),\n\t\t\t\tcommentsCount\n\t\t\t);\n\t\t}\n\t} else if ( showPostTitle ) {\n\t\tif ( commentsCount === 1 ) {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Response to %s' ), postTitle );\n\t\t} else {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Responses to %s' ), postTitle );\n\t\t}\n\t} else if ( commentsCount === 1 ) {\n\t\tplaceholder = __( 'Response' );\n\t} else {\n\t\tplaceholder = __( 'Responses' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>{ placeholder }</TagName>\n\t\t</>\n\t);\n}\n"]}
@@ -11,6 +11,8 @@ var _icons = require("@wordpress/icons");
11
11
 
12
12
  var _edit = _interopRequireDefault(require("./edit"));
13
13
 
14
+ var _deprecated = _interopRequireDefault(require("./deprecated"));
15
+
14
16
  /**
15
17
  * WordPress dependencies
16
18
  */
@@ -32,12 +34,6 @@ const metadata = {
32
34
  textAlign: {
33
35
  type: "string"
34
36
  },
35
- singleCommentLabel: {
36
- type: "string"
37
- },
38
- multipleCommentsLabel: {
39
- type: "string"
40
- },
41
37
  showPostTitle: {
42
38
  type: "boolean",
43
39
  "default": true
@@ -94,8 +90,9 @@ const {
94
90
  } = metadata;
95
91
  exports.name = name;
96
92
  const settings = {
97
- icon: _icons.commentTitle,
98
- edit: _edit.default
93
+ icon: _icons.title,
94
+ edit: _edit.default,
95
+ deprecated: _deprecated.default
99
96
  };
100
97
  exports.settings = settings;
101
98
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/comments-title/index.js"],"names":["name","metadata","settings","icon","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AATA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,mBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { commentTitle as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/comments-title/index.js"],"names":["name","metadata","settings","icon","edit","deprecated"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,UAAU,EAAVA;AAHuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tdeprecated,\n};\n"]}
@@ -148,8 +148,7 @@ function Controls(_ref) {
148
148
  } = _ref2;
149
149
  return (0, _element.createElement)(_element.Fragment, null, getMediaOptions(), url ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.BottomSheet.Cell, {
150
150
  accessible: false,
151
- cellContainerStyle: [_style.default.mediaPreview, mediaBackground],
152
- onLongPress: openMediaOptions
151
+ cellContainerStyle: [_style.default.mediaPreview, mediaBackground]
153
152
  }, (0, _element.createElement)(_reactNative.View, {
154
153
  style: _style.default.mediaInner
155
154
  }, _shared.IMAGE_BACKGROUND_TYPE === backgroundType && (0, _element.createElement)(_components.Image, {
@@ -192,7 +191,7 @@ function Controls(_ref) {
192
191
  width
193
192
  });
194
193
  setDisplayPlaceholder(false); // Avoid invisible, paused video on Android, presumably
195
- // related to https://git.io/Jt6Dr
194
+ // related to https://github.com/react-native-video/react-native-video/issues/1979
196
195
 
197
196
  videoRef === null || videoRef === void 0 ? void 0 : videoRef.current.seek(0);
198
197
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/controls.native.js"],"names":["Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","COVER_DEFAULT_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","COVER_MIN_HEIGHT","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","IMAGE_DEFAULT_FOCAL_POINT","addMediaButtonStyle","styles","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","plus","renderMediaSection","open","openMediaOptions","getMediaOptions","mediaPreview","mediaInner","IMAGE_BACKGROUND_TYPE","destructiveButton","id","label","onPress","separated","image","VIDEO_BACKGROUND_TYPE","event","naturalSize","current","seek","uri","clearMediaButton","ALLOWED_MEDIA_TYPES","overlayColor","customOverlayColor","gradient","customGradient","rangeCellContainer","COVER_MAX_HEIGHT"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonLongPress={ openMediaOptions }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} = event.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://git.io/Jt6Dr\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/controls.native.js"],"names":["Controls","attributes","didUploadFail","hasOnlyColorBackground","isUploadInProgress","onClearMedia","onSelectMedia","setAttributes","backgroundType","dimRatio","hasParallax","focalPoint","minHeight","minHeightUnit","url","CONTAINER_HEIGHT","COVER_DEFAULT_HEIGHT","onHeightChange","value","units","availableUnits","defaultValues","px","em","rem","vw","vh","onOpacityChange","onChangeUnit","nextUnit","Math","max","COVER_MIN_HEIGHT","displayPlaceholder","setDisplayPlaceholder","setFocalPoint","toggleParallax","undefined","IMAGE_DEFAULT_FOCAL_POINT","addMediaButtonStyle","styles","addMediaButton","addMediaButtonDark","focalPointPosition","x","y","left","top","videoNaturalSize","setVideoNaturalSize","videoRef","mediaBackground","mediaBackgroundDark","imagePreviewStyles","imagePlaceholder","videoPreviewStyles","aspectRatio","width","height","opacity","video","focalPointHint","plus","renderMediaSection","open","openMediaOptions","getMediaOptions","mediaPreview","mediaInner","IMAGE_BACKGROUND_TYPE","destructiveButton","id","label","onPress","separated","image","VIDEO_BACKGROUND_TYPE","event","naturalSize","current","seek","uri","clearMediaButton","ALLOWED_MEDIA_TYPES","overlayColor","customOverlayColor","gradient","customGradient","rangeCellContainer","COVER_MAX_HEIGHT"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport Video from 'react-native-video';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tImage,\n\tIcon,\n\tIMAGE_DEFAULT_FOCAL_POINT,\n\tPanelBody,\n\tRangeControl,\n\tUnitControl,\n\tTextControl,\n\tBottomSheet,\n\tToggleControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { useSetting, MediaUpload } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport OverlayColorSettings from './overlay-color-settings';\nimport FocalPointSettingsButton from './focal-point-settings-button';\nimport {\n\tALLOWED_MEDIA_TYPES,\n\tCOVER_MIN_HEIGHT,\n\tCOVER_MAX_HEIGHT,\n\tCOVER_DEFAULT_HEIGHT,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n} from './shared';\n\nfunction Controls( {\n\tattributes,\n\tdidUploadFail,\n\thasOnlyColorBackground,\n\tisUploadInProgress,\n\tonClearMedia,\n\tonSelectMedia,\n\tsetAttributes,\n} ) {\n\tconst {\n\t\tbackgroundType,\n\t\tdimRatio,\n\t\thasParallax,\n\t\tfocalPoint,\n\t\tminHeight,\n\t\tminHeightUnit = 'px',\n\t\turl,\n\t} = attributes;\n\tconst CONTAINER_HEIGHT = minHeight || COVER_DEFAULT_HEIGHT;\n\tconst onHeightChange = useCallback(\n\t\t( value ) => {\n\t\t\tif ( minHeight || value !== COVER_DEFAULT_HEIGHT ) {\n\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t}\n\t\t},\n\t\t[ minHeight ]\n\t);\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst onOpacityChange = useCallback( ( value ) => {\n\t\tsetAttributes( { dimRatio: value } );\n\t}, [] );\n\n\tconst onChangeUnit = useCallback( ( nextUnit ) => {\n\t\tsetAttributes( {\n\t\t\tminHeightUnit: nextUnit,\n\t\t\tminHeight:\n\t\t\t\tnextUnit === 'px'\n\t\t\t\t\t? Math.max( CONTAINER_HEIGHT, COVER_MIN_HEIGHT )\n\t\t\t\t\t: CONTAINER_HEIGHT,\n\t\t} );\n\t}, [] );\n\n\tconst [ displayPlaceholder, setDisplayPlaceholder ] = useState( true );\n\n\tfunction setFocalPoint( value ) {\n\t\tsetAttributes( { focalPoint: value } );\n\t}\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax\n\t\t\t\t? { focalPoint: undefined }\n\t\t\t\t: { focalPoint: IMAGE_DEFAULT_FOCAL_POINT } ),\n\t\t} );\n\t};\n\n\tconst addMediaButtonStyle = usePreferredColorSchemeStyle(\n\t\tstyles.addMediaButton,\n\t\tstyles.addMediaButtonDark\n\t);\n\n\tfunction focalPointPosition( { x, y } = IMAGE_DEFAULT_FOCAL_POINT ) {\n\t\treturn {\n\t\t\tleft: `${ ( hasParallax ? 0.5 : x ) * 100 }%`,\n\t\t\ttop: `${ ( hasParallax ? 0.5 : y ) * 100 }%`,\n\t\t};\n\t}\n\n\tconst [ videoNaturalSize, setVideoNaturalSize ] = useState( null );\n\tconst videoRef = useRef( null );\n\n\tconst mediaBackground = usePreferredColorSchemeStyle(\n\t\tstyles.mediaBackground,\n\t\tstyles.mediaBackgroundDark\n\t);\n\tconst imagePreviewStyles = [\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\tconst videoPreviewStyles = [\n\t\t{\n\t\t\taspectRatio:\n\t\t\t\tvideoNaturalSize &&\n\t\t\t\tvideoNaturalSize.width / videoNaturalSize.height,\n\t\t\t// Hide Video component since it has black background while loading the source\n\t\t\topacity: displayPlaceholder ? 0 : 1,\n\t\t},\n\t\tstyles.video,\n\t\tdisplayPlaceholder && styles.imagePlaceholder,\n\t];\n\n\tconst focalPointHint = ! hasParallax && ! displayPlaceholder && (\n\t\t<Icon\n\t\t\ticon={ plus }\n\t\t\tsize={ styles.focalPointHint?.width }\n\t\t\tstyle={ [\n\t\t\t\tstyles.focalPointHint,\n\t\t\t\tfocalPointPosition( focalPoint ),\n\t\t\t] }\n\t\t/>\n\t);\n\n\tconst renderMediaSection = ( {\n\t\topen: openMediaOptions,\n\t\tgetMediaOptions,\n\t} ) => (\n\t\t<>\n\t\t\t{ getMediaOptions() }\n\t\t\t{ url ? (\n\t\t\t\t<>\n\t\t\t\t\t<BottomSheet.Cell\n\t\t\t\t\t\taccessible={ false }\n\t\t\t\t\t\tcellContainerStyle={ [\n\t\t\t\t\t\t\tstyles.mediaPreview,\n\t\t\t\t\t\t\tmediaBackground,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t<View style={ styles.mediaInner }>\n\t\t\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Image\n\t\t\t\t\t\t\t\t\teditButton={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\thighlightSelected={ false }\n\t\t\t\t\t\t\t\t\tisSelected={ ! displayPlaceholder }\n\t\t\t\t\t\t\t\t\tisUploadFailed={ didUploadFail }\n\t\t\t\t\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\t\t\t\t\tmediaPickerOptions={ [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tdestructiveButton: true,\n\t\t\t\t\t\t\t\t\t\t\tid: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t\tlabel: __( 'Clear Media' ),\n\t\t\t\t\t\t\t\t\t\t\tonPress: onClearMedia,\n\t\t\t\t\t\t\t\t\t\t\tseparated: true,\n\t\t\t\t\t\t\t\t\t\t\tvalue: 'clearMedia',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\t\t\tonImageDataLoad={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonSelectMediaUploadOption={ onSelectMedia }\n\t\t\t\t\t\t\t\t\topenMediaOptions={ openMediaOptions }\n\t\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\t\theight=\"100%\"\n\t\t\t\t\t\t\t\t\tstyle={ imagePreviewStyles }\n\t\t\t\t\t\t\t\t\twidth={ styles.image?.width }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ VIDEO_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t\t\t<Video\n\t\t\t\t\t\t\t\t\tmuted\n\t\t\t\t\t\t\t\t\tpaused\n\t\t\t\t\t\t\t\t\tdisableFocus\n\t\t\t\t\t\t\t\t\tonLoadStart={ () => {\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} = event.naturalSize;\n\t\t\t\t\t\t\t\t\t\tsetVideoNaturalSize( {\n\t\t\t\t\t\t\t\t\t\t\theight,\n\t\t\t\t\t\t\t\t\t\t\twidth,\n\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\tsetDisplayPlaceholder( false );\n\t\t\t\t\t\t\t\t\t\t// Avoid invisible, paused video on Android, presumably\n\t\t\t\t\t\t\t\t\t\t// related to https://github.com/react-native-video/react-native-video/issues/1979\n\t\t\t\t\t\t\t\t\t\tvideoRef?.current.seek( 0 );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tref={ videoRef }\n\t\t\t\t\t\t\t\t\tresizeMode={ 'cover' }\n\t\t\t\t\t\t\t\t\tsource={ { uri: url } }\n\t\t\t\t\t\t\t\t\tstyle={ videoPreviewStyles }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPlaceholder ? null : focalPointHint }\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</BottomSheet.Cell>\n\t\t\t\t\t<FocalPointSettingsButton\n\t\t\t\t\t\tdisabled={ hasParallax }\n\t\t\t\t\t\tfocalPoint={ focalPoint || IMAGE_DEFAULT_FOCAL_POINT }\n\t\t\t\t\t\tonFocalPointChange={ setFocalPoint }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t/>\n\t\t\t\t\t{ IMAGE_BACKGROUND_TYPE === backgroundType && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tleftAlign\n\t\t\t\t\t\tlabel={ __( 'Clear Media' ) }\n\t\t\t\t\t\tlabelStyle={ styles.clearMediaButton }\n\t\t\t\t\t\tonPress={ onClearMedia }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<TextControl\n\t\t\t\t\taccessibilityLabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabel={ __( 'Add image or video' ) }\n\t\t\t\t\tlabelStyle={ addMediaButtonStyle }\n\t\t\t\t\tleftAlign\n\t\t\t\t\tonPress={ openMediaOptions }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tisReplacingMedia={ ! hasOnlyColorBackground }\n\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\trender={ renderMediaSection }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<OverlayColorSettings\n\t\t\t\toverlayColor={ attributes.overlayColor }\n\t\t\t\tcustomOverlayColor={ attributes.customOverlayColor }\n\t\t\t\tgradient={ attributes.gradient }\n\t\t\t\tcustomGradient={ attributes.customGradient }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t/>\n\n\t\t\t{ url ? (\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Opacity' ) }\n\t\t\t\t\t\tminimumValue={ 0 }\n\t\t\t\t\t\tmaximumValue={ 100 }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ onOpacityChange }\n\t\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t) : null }\n\n\t\t\t<PanelBody title={ __( 'Dimensions' ) }>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tmin={ minHeightUnit === 'px' ? COVER_MIN_HEIGHT : 1 }\n\t\t\t\t\tmax={ COVER_MAX_HEIGHT }\n\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\tvalue={ CONTAINER_HEIGHT }\n\t\t\t\t\tonChange={ onHeightChange }\n\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\tunits={ units }\n\t\t\t\t\tstyle={ styles.rangeCellContainer }\n\t\t\t\t\tkey={ minHeightUnit }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default Controls;\n"]}
@@ -0,0 +1,115 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CoverBlockControls;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _components = require("@wordpress/components");
11
+
12
+ var _blockEditor = require("@wordpress/block-editor");
13
+
14
+ var _i18n = require("@wordpress/i18n");
15
+
16
+ var _icons = require("@wordpress/icons");
17
+
18
+ var _shared = require("../shared");
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+ function CoverBlockControls(_ref) {
28
+ let {
29
+ attributes,
30
+ setAttributes,
31
+ onSelectMedia,
32
+ currentSettings
33
+ } = _ref;
34
+ const {
35
+ contentPosition,
36
+ id,
37
+ useFeaturedImage,
38
+ dimRatio,
39
+ minHeight,
40
+ minHeightUnit
41
+ } = attributes;
42
+ const {
43
+ hasInnerBlocks,
44
+ url
45
+ } = currentSettings;
46
+ const [prevMinHeightValue, setPrevMinHeightValue] = (0, _element.useState)(minHeight);
47
+ const [prevMinHeightUnit, setPrevMinHeightUnit] = (0, _element.useState)(minHeightUnit);
48
+ const isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;
49
+
50
+ const toggleMinFullHeight = () => {
51
+ if (isMinFullHeight) {
52
+ // If there aren't previous values, take the default ones.
53
+ if (prevMinHeightUnit === 'vh' && prevMinHeightValue === 100) {
54
+ return setAttributes({
55
+ minHeight: undefined,
56
+ minHeightUnit: undefined
57
+ });
58
+ } // Set the previous values of height.
59
+
60
+
61
+ return setAttributes({
62
+ minHeight: prevMinHeightValue,
63
+ minHeightUnit: prevMinHeightUnit
64
+ });
65
+ }
66
+
67
+ setPrevMinHeightValue(minHeight);
68
+ setPrevMinHeightUnit(minHeightUnit); // Set full height.
69
+
70
+ return setAttributes({
71
+ minHeight: 100,
72
+ minHeightUnit: 'vh'
73
+ });
74
+ };
75
+
76
+ const toggleUseFeaturedImage = () => {
77
+ setAttributes({
78
+ id: undefined,
79
+ url: undefined,
80
+ useFeaturedImage: !useFeaturedImage,
81
+ dimRatio: dimRatio === 100 ? 50 : dimRatio,
82
+ backgroundType: useFeaturedImage ? _shared.IMAGE_BACKGROUND_TYPE : undefined
83
+ });
84
+ };
85
+
86
+ return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, {
87
+ group: "block"
88
+ }, (0, _element.createElement)(_blockEditor.__experimentalBlockAlignmentMatrixControl, {
89
+ label: (0, _i18n.__)('Change content position'),
90
+ value: contentPosition,
91
+ onChange: nextPosition => setAttributes({
92
+ contentPosition: nextPosition
93
+ }),
94
+ isDisabled: !hasInnerBlocks
95
+ }), (0, _element.createElement)(_blockEditor.__experimentalBlockFullHeightAligmentControl, {
96
+ isActive: isMinFullHeight,
97
+ onToggle: toggleMinFullHeight,
98
+ isDisabled: !hasInnerBlocks
99
+ })), (0, _element.createElement)(_blockEditor.BlockControls, {
100
+ group: "other"
101
+ }, (0, _element.createElement)(_components.ToolbarButton, {
102
+ icon: _icons.postFeaturedImage,
103
+ label: (0, _i18n.__)('Use featured image'),
104
+ isPressed: useFeaturedImage,
105
+ onClick: toggleUseFeaturedImage
106
+ }), !useFeaturedImage && (0, _element.createElement)(_blockEditor.MediaReplaceFlow, {
107
+ mediaId: id,
108
+ mediaURL: url,
109
+ allowedTypes: _shared.ALLOWED_MEDIA_TYPES,
110
+ accept: "image/*,video/*",
111
+ onSelect: onSelectMedia,
112
+ name: !url ? (0, _i18n.__)('Add Media') : (0, _i18n.__)('Replace')
113
+ })));
114
+ }
115
+ //# sourceMappingURL=block-controls.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit/block-controls.js"],"names":["CoverBlockControls","attributes","setAttributes","onSelectMedia","currentSettings","contentPosition","id","useFeaturedImage","dimRatio","minHeight","minHeightUnit","hasInnerBlocks","url","prevMinHeightValue","setPrevMinHeightValue","prevMinHeightUnit","setPrevMinHeightUnit","isMinFullHeight","toggleMinFullHeight","undefined","toggleUseFeaturedImage","backgroundType","IMAGE_BACKGROUND_TYPE","nextPosition","postFeaturedImage","ALLOWED_MEDIA_TYPES"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { ToolbarButton } from '@wordpress/components';\n\nimport {\n\tBlockControls,\n\tMediaReplaceFlow,\n\t__experimentalBlockAlignmentMatrixControl as BlockAlignmentMatrixControl,\n\t__experimentalBlockFullHeightAligmentControl as FullHeightAlignmentControl,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { postFeaturedImage } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES, IMAGE_BACKGROUND_TYPE } from '../shared';\n\nexport default function CoverBlockControls( {\n\tattributes,\n\tsetAttributes,\n\tonSelectMedia,\n\tcurrentSettings,\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t} = attributes;\n\tconst { hasInnerBlocks, url } = currentSettings;\n\n\tconst [ prevMinHeightValue, setPrevMinHeightValue ] = useState( minHeight );\n\tconst [ prevMinHeightUnit, setPrevMinHeightUnit ] = useState(\n\t\tminHeightUnit\n\t);\n\tconst isMinFullHeight = minHeightUnit === 'vh' && minHeight === 100;\n\tconst toggleMinFullHeight = () => {\n\t\tif ( isMinFullHeight ) {\n\t\t\t// If there aren't previous values, take the default ones.\n\t\t\tif ( prevMinHeightUnit === 'vh' && prevMinHeightValue === 100 ) {\n\t\t\t\treturn setAttributes( {\n\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\t// Set the previous values of height.\n\t\t\treturn setAttributes( {\n\t\t\t\tminHeight: prevMinHeightValue,\n\t\t\t\tminHeightUnit: prevMinHeightUnit,\n\t\t\t} );\n\t\t}\n\n\t\tsetPrevMinHeightValue( minHeight );\n\t\tsetPrevMinHeightUnit( minHeightUnit );\n\n\t\t// Set full height.\n\t\treturn setAttributes( {\n\t\t\tminHeight: 100,\n\t\t\tminHeightUnit: 'vh',\n\t\t} );\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t} );\n\t};\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentMatrixControl\n\t\t\t\t\tlabel={ __( 'Change content position' ) }\n\t\t\t\t\tvalue={ contentPosition }\n\t\t\t\t\tonChange={ ( nextPosition ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tcontentPosition: nextPosition,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t\t<FullHeightAlignmentControl\n\t\t\t\t\tisActive={ isMinFullHeight }\n\t\t\t\t\tonToggle={ toggleMinFullHeight }\n\t\t\t\t\tisDisabled={ ! hasInnerBlocks }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ postFeaturedImage }\n\t\t\t\t\tlabel={ __( 'Use featured image' ) }\n\t\t\t\t\tisPressed={ useFeaturedImage }\n\t\t\t\t\tonClick={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t{ ! useFeaturedImage && (\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\t\t\tname={ ! url ? __( 'Add Media' ) : __( 'Replace' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = CoverPlaceholder;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _blockEditor = require("@wordpress/block-editor");
11
+
12
+ var _i18n = require("@wordpress/i18n");
13
+
14
+ var _icons = require("@wordpress/icons");
15
+
16
+ var _shared = require("../shared");
17
+
18
+ /**
19
+ * WordPress dependencies
20
+ */
21
+
22
+ /**
23
+ * Internal dependencies
24
+ */
25
+ function CoverPlaceholder(_ref) {
26
+ let {
27
+ disableMediaButtons = false,
28
+ children,
29
+ onSelectMedia,
30
+ onError,
31
+ style
32
+ } = _ref;
33
+ return (0, _element.createElement)(_blockEditor.MediaPlaceholder, {
34
+ icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
35
+ icon: _icons.cover
36
+ }),
37
+ labels: {
38
+ title: (0, _i18n.__)('Cover'),
39
+ instructions: (0, _i18n.__)('Drag and drop onto this block, upload, or select existing media from your library.')
40
+ },
41
+ onSelect: onSelectMedia,
42
+ accept: "image/*,video/*",
43
+ allowedTypes: _shared.ALLOWED_MEDIA_TYPES,
44
+ disableMediaButtons: disableMediaButtons,
45
+ onError: onError,
46
+ style: style
47
+ }, children);
48
+ }
49
+ //# sourceMappingURL=cover-placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit/cover-placeholder.js"],"names":["CoverPlaceholder","disableMediaButtons","children","onSelectMedia","onError","style","icon","title","instructions","ALLOWED_MEDIA_TYPES"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,gBAAT,OAMX;AAAA,MANsC;AACzCC,IAAAA,mBAAmB,GAAG,KADmB;AAEzCC,IAAAA,QAFyC;AAGzCC,IAAAA,aAHyC;AAIzCC,IAAAA,OAJyC;AAKzCC,IAAAA;AALyC,GAMtC;AACH,SACC,4BAAC,6BAAD;AACC,IAAA,IAAI,EAAG,4BAAC,sBAAD;AAAW,MAAA,IAAI,EAAGC;AAAlB,MADR;AAEC,IAAA,MAAM,EAAG;AACRC,MAAAA,KAAK,EAAE,cAAI,OAAJ,CADC;AAERC,MAAAA,YAAY,EAAE,cACb,oFADa;AAFN,KAFV;AAQC,IAAA,QAAQ,EAAGL,aARZ;AASC,IAAA,MAAM,EAAC,iBATR;AAUC,IAAA,YAAY,EAAGM,2BAVhB;AAWC,IAAA,mBAAmB,EAAGR,mBAXvB;AAYC,IAAA,OAAO,EAAGG,OAZX;AAaC,IAAA,KAAK,EAAGC;AAbT,KAeGH,QAfH,CADD;AAmBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockIcon, MediaPlaceholder } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { ALLOWED_MEDIA_TYPES } from '../shared';\n\nexport default function CoverPlaceholder( {\n\tdisableMediaButtons = false,\n\tchildren,\n\tonSelectMedia,\n\tonError,\n\tstyle,\n} ) {\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Cover' ),\n\t\t\t\tinstructions: __(\n\t\t\t\t\t'Drag and drop onto this block, upload, or select existing media from your library.'\n\t\t\t\t),\n\t\t\t} }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tdisableMediaButtons={ disableMediaButtons }\n\t\t\tonError={ onError }\n\t\t\tstyle={ style }\n\t\t>\n\t\t\t{ children }\n\t\t</MediaPlaceholder>\n\t);\n}\n"]}