@wordpress/block-library 8.3.6 → 8.5.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 (738) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +3 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +1 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/audio/edit.js +2 -0
  7. package/build/audio/edit.js.map +1 -1
  8. package/build/avatar/edit.js +5 -9
  9. package/build/avatar/edit.js.map +1 -1
  10. package/build/avatar/index.js +1 -0
  11. package/build/avatar/index.js.map +1 -1
  12. package/build/button/edit.js +3 -1
  13. package/build/button/edit.js.map +1 -1
  14. package/build/button/index.js +17 -6
  15. package/build/button/index.js.map +1 -1
  16. package/build/calendar/index.js +1 -0
  17. package/build/calendar/index.js.map +1 -1
  18. package/build/categories/edit.js +5 -0
  19. package/build/categories/edit.js.map +1 -1
  20. package/build/categories/index.js +1 -0
  21. package/build/categories/index.js.map +1 -1
  22. package/build/columns/edit.js +1 -0
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/utils.js +2 -2
  25. package/build/columns/utils.js.map +1 -1
  26. package/build/comment-author-avatar/index.js +1 -0
  27. package/build/comment-author-avatar/index.js.map +1 -1
  28. package/build/comment-author-name/edit.js +2 -0
  29. package/build/comment-author-name/edit.js.map +1 -1
  30. package/build/comment-author-name/index.js +1 -0
  31. package/build/comment-author-name/index.js.map +1 -1
  32. package/build/comment-content/index.js +1 -0
  33. package/build/comment-content/index.js.map +1 -1
  34. package/build/comment-date/edit.js +1 -0
  35. package/build/comment-date/edit.js.map +1 -1
  36. package/build/comment-date/index.js +1 -0
  37. package/build/comment-date/index.js.map +1 -1
  38. package/build/comment-edit-link/edit.js +1 -0
  39. package/build/comment-edit-link/edit.js.map +1 -1
  40. package/build/comment-edit-link/index.js +1 -0
  41. package/build/comment-edit-link/index.js.map +1 -1
  42. package/build/comment-reply-link/index.js +1 -0
  43. package/build/comment-reply-link/index.js.map +1 -1
  44. package/build/comment-template/index.js +1 -0
  45. package/build/comment-template/index.js.map +1 -1
  46. package/build/comments/index.js +2 -1
  47. package/build/comments/index.js.map +1 -1
  48. package/build/comments-pagination/index.js +1 -0
  49. package/build/comments-pagination/index.js.map +1 -1
  50. package/build/comments-pagination-next/index.js +1 -0
  51. package/build/comments-pagination-next/index.js.map +1 -1
  52. package/build/comments-pagination-numbers/index.js +1 -0
  53. package/build/comments-pagination-numbers/index.js.map +1 -1
  54. package/build/comments-pagination-previous/index.js +1 -0
  55. package/build/comments-pagination-previous/index.js.map +1 -1
  56. package/build/comments-title/edit.js +2 -0
  57. package/build/comments-title/edit.js.map +1 -1
  58. package/build/cover/edit/inspector-controls.js +2 -0
  59. package/build/cover/edit/inspector-controls.js.map +1 -1
  60. package/build/embed/embed-controls.js +1 -0
  61. package/build/embed/embed-controls.js.map +1 -1
  62. package/build/file/index.js +10 -1
  63. package/build/file/index.js.map +1 -1
  64. package/build/file/inspector.js +3 -0
  65. package/build/file/inspector.js.map +1 -1
  66. package/build/freeform/modal.js +1 -1
  67. package/build/freeform/modal.js.map +1 -1
  68. package/build/gallery/edit.js +2 -0
  69. package/build/gallery/edit.js.map +1 -1
  70. package/build/gallery/shared.js +4 -8
  71. package/build/gallery/shared.js.map +1 -1
  72. package/build/gallery/use-image-sizes.js +4 -8
  73. package/build/gallery/use-image-sizes.js.map +1 -1
  74. package/build/gallery/v1/edit.js +8 -3
  75. package/build/gallery/v1/edit.js.map +1 -1
  76. package/build/gallery/v1/gallery-image.js +1 -3
  77. package/build/gallery/v1/gallery-image.js.map +1 -1
  78. package/build/gallery/v1/shared.js +4 -7
  79. package/build/gallery/v1/shared.js.map +1 -1
  80. package/build/home-link/index.js +1 -0
  81. package/build/home-link/index.js.map +1 -1
  82. package/build/image/edit.js +6 -4
  83. package/build/image/edit.js.map +1 -1
  84. package/build/image/image.js +18 -13
  85. package/build/image/image.js.map +1 -1
  86. package/build/image/utils.js +3 -1
  87. package/build/image/utils.js.map +1 -1
  88. package/build/index.js +3 -1
  89. package/build/index.js.map +1 -1
  90. package/build/latest-comments/edit.js +9 -2
  91. package/build/latest-comments/edit.js.map +1 -1
  92. package/build/latest-comments/index.js +14 -0
  93. package/build/latest-comments/index.js.map +1 -1
  94. package/build/latest-posts/deprecated.js +1 -0
  95. package/build/latest-posts/deprecated.js.map +1 -1
  96. package/build/latest-posts/edit.js +4 -0
  97. package/build/latest-posts/edit.js.map +1 -1
  98. package/build/latest-posts/index.js +1 -0
  99. package/build/latest-posts/index.js.map +1 -1
  100. package/build/list/ordered-list-settings.js +1 -0
  101. package/build/list/ordered-list-settings.js.map +1 -1
  102. package/build/list-item/edit.js +2 -2
  103. package/build/list-item/edit.js.map +1 -1
  104. package/build/list-item/hooks/use-outdent-list-item.js +2 -1
  105. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  106. package/build/loginout/edit.js +2 -0
  107. package/build/loginout/edit.js.map +1 -1
  108. package/build/loginout/index.js +1 -0
  109. package/build/loginout/index.js.map +1 -1
  110. package/build/media-text/edit.js +2 -0
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/more/edit.js +1 -0
  113. package/build/more/edit.js.map +1 -1
  114. package/build/navigation/edit/index.js +80 -54
  115. package/build/navigation/edit/index.js.map +1 -1
  116. package/build/navigation/edit/navigation-menu-selector.js +14 -11
  117. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  118. package/build/navigation/edit/overlay-menu-preview.js +1 -0
  119. package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
  120. package/build/navigation/edit/placeholder/index.js +1 -1
  121. package/build/navigation/edit/placeholder/index.js.map +1 -1
  122. package/build/navigation/edit/unsaved-inner-blocks.js +1 -1
  123. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  124. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  125. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  126. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  127. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  128. package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
  129. package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  130. package/build/navigation/edit/use-navigation-notice.js +4 -7
  131. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  132. package/build/navigation/index.js +1 -0
  133. package/build/navigation/index.js.map +1 -1
  134. package/build/navigation/use-navigation-menu.js +1 -1
  135. package/build/navigation/use-navigation-menu.js.map +1 -1
  136. package/build/navigation-link/edit.js +10 -5
  137. package/build/navigation-link/edit.js.map +1 -1
  138. package/build/navigation-link/link-ui.js +2 -0
  139. package/build/navigation-link/link-ui.js.map +1 -1
  140. package/build/page-list/convert-to-links-modal.js +47 -0
  141. package/build/page-list/convert-to-links-modal.js.map +1 -0
  142. package/build/page-list/edit.js +15 -28
  143. package/build/page-list/edit.js.map +1 -1
  144. package/build/page-list/index.js +1 -0
  145. package/build/page-list/index.js.map +1 -1
  146. package/build/page-list/use-convert-to-navigation-links.js +61 -5
  147. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  148. package/build/paragraph/edit.js +1 -0
  149. package/build/paragraph/edit.js.map +1 -1
  150. package/build/post-author/edit.js +4 -0
  151. package/build/post-author/edit.js.map +1 -1
  152. package/build/post-author/index.js +1 -0
  153. package/build/post-author/index.js.map +1 -1
  154. package/build/post-author-biography/index.js +1 -0
  155. package/build/post-author-biography/index.js.map +1 -1
  156. package/build/post-author-name/edit.js +2 -0
  157. package/build/post-author-name/edit.js.map +1 -1
  158. package/build/post-author-name/index.js +1 -0
  159. package/build/post-author-name/index.js.map +1 -1
  160. package/build/post-comments-count/index.js +1 -0
  161. package/build/post-comments-count/index.js.map +1 -1
  162. package/build/post-comments-form/index.js +1 -0
  163. package/build/post-comments-form/index.js.map +1 -1
  164. package/build/post-comments-link/index.js +1 -0
  165. package/build/post-comments-link/index.js.map +1 -1
  166. package/build/post-content/index.js +1 -0
  167. package/build/post-content/index.js.map +1 -1
  168. package/build/post-date/edit.js +2 -0
  169. package/build/post-date/edit.js.map +1 -1
  170. package/build/post-date/index.js +1 -0
  171. package/build/post-date/index.js.map +1 -1
  172. package/build/post-excerpt/edit.js +50 -3
  173. package/build/post-excerpt/edit.js.map +1 -1
  174. package/build/post-excerpt/index.js +5 -0
  175. package/build/post-excerpt/index.js.map +1 -1
  176. package/build/post-featured-image/dimension-controls.js +52 -1
  177. package/build/post-featured-image/dimension-controls.js.map +1 -1
  178. package/build/post-featured-image/edit.js +11 -4
  179. package/build/post-featured-image/edit.js.map +1 -1
  180. package/build/post-featured-image/index.js +4 -0
  181. package/build/post-featured-image/index.js.map +1 -1
  182. package/build/post-navigation-link/edit.js +2 -0
  183. package/build/post-navigation-link/edit.js.map +1 -1
  184. package/build/post-navigation-link/index.js +1 -0
  185. package/build/post-navigation-link/index.js.map +1 -1
  186. package/build/post-template/index.js +1 -0
  187. package/build/post-template/index.js.map +1 -1
  188. package/build/post-terms/index.js +1 -0
  189. package/build/post-terms/index.js.map +1 -1
  190. package/build/post-terms/use-post-terms.js +1 -1
  191. package/build/post-terms/use-post-terms.js.map +1 -1
  192. package/build/post-time-to-read/edit.js +104 -0
  193. package/build/post-time-to-read/edit.js.map +1 -0
  194. package/build/post-time-to-read/icon.js +25 -0
  195. package/build/post-time-to-read/icon.js.map +1 -0
  196. package/build/post-time-to-read/index.js +57 -0
  197. package/build/post-time-to-read/index.js.map +1 -0
  198. package/build/post-title/edit.js +2 -0
  199. package/build/post-title/edit.js.map +1 -1
  200. package/build/post-title/index.js +1 -0
  201. package/build/post-title/index.js.map +1 -1
  202. package/build/query/edit/inspector-controls/index.js +1 -0
  203. package/build/query/edit/inspector-controls/index.js.map +1 -1
  204. package/build/query/index.js +1 -0
  205. package/build/query/index.js.map +1 -1
  206. package/build/query/utils.js +1 -0
  207. package/build/query/utils.js.map +1 -1
  208. package/build/query-no-results/index.js +1 -0
  209. package/build/query-no-results/index.js.map +1 -1
  210. package/build/query-pagination/index.js +1 -0
  211. package/build/query-pagination/index.js.map +1 -1
  212. package/build/query-pagination-next/index.js +1 -0
  213. package/build/query-pagination-next/index.js.map +1 -1
  214. package/build/query-pagination-numbers/index.js +1 -0
  215. package/build/query-pagination-numbers/index.js.map +1 -1
  216. package/build/query-pagination-previous/index.js +1 -0
  217. package/build/query-pagination-previous/index.js.map +1 -1
  218. package/build/query-title/edit.js +2 -0
  219. package/build/query-title/edit.js.map +1 -1
  220. package/build/query-title/index.js +1 -0
  221. package/build/query-title/index.js.map +1 -1
  222. package/build/read-more/edit.js +1 -0
  223. package/build/read-more/edit.js.map +1 -1
  224. package/build/read-more/index.js +1 -0
  225. package/build/read-more/index.js.map +1 -1
  226. package/build/rss/edit.js +3 -0
  227. package/build/rss/edit.js.map +1 -1
  228. package/build/rss/index.js +1 -0
  229. package/build/rss/index.js.map +1 -1
  230. package/build/search/index.js +1 -0
  231. package/build/search/index.js.map +1 -1
  232. package/build/site-logo/edit.js +10 -11
  233. package/build/site-logo/edit.js.map +1 -1
  234. package/build/site-logo/index.js +1 -0
  235. package/build/site-logo/index.js.map +1 -1
  236. package/build/site-tagline/index.js +1 -0
  237. package/build/site-tagline/index.js.map +1 -1
  238. package/build/site-title/edit/index.js +2 -0
  239. package/build/site-title/edit/index.js.map +1 -1
  240. package/build/site-title/index.js +1 -0
  241. package/build/site-title/index.js.map +1 -1
  242. package/build/social-link/index.js +1 -0
  243. package/build/social-link/index.js.map +1 -1
  244. package/build/social-links/edit.js +2 -0
  245. package/build/social-links/edit.js.map +1 -1
  246. package/build/spacer/controls.native.js +10 -8
  247. package/build/spacer/controls.native.js.map +1 -1
  248. package/build/spacer/edit.native.js +43 -5
  249. package/build/spacer/edit.native.js.map +1 -1
  250. package/build/spacer/save.native.js +30 -0
  251. package/build/spacer/save.native.js.map +1 -0
  252. package/build/table/edit.js +6 -3
  253. package/build/table/edit.js.map +1 -1
  254. package/build/table-of-contents/edit.js +1 -0
  255. package/build/table-of-contents/edit.js.map +1 -1
  256. package/build/table-of-contents/utils.js +1 -1
  257. package/build/table-of-contents/utils.js.map +1 -1
  258. package/build/tag-cloud/edit.js +1 -0
  259. package/build/tag-cloud/edit.js.map +1 -1
  260. package/build/tag-cloud/index.js +1 -0
  261. package/build/tag-cloud/index.js.map +1 -1
  262. package/build/template-part/index.js +1 -0
  263. package/build/template-part/index.js.map +1 -1
  264. package/build/term-description/index.js +1 -0
  265. package/build/term-description/index.js.map +1 -1
  266. package/build/verse/index.js +6 -0
  267. package/build/verse/index.js.map +1 -1
  268. package/build/video/edit-common-settings.js +5 -0
  269. package/build/video/edit-common-settings.js.map +1 -1
  270. package/build-module/archives/edit.js +3 -0
  271. package/build-module/archives/edit.js.map +1 -1
  272. package/build-module/archives/index.js +1 -0
  273. package/build-module/archives/index.js.map +1 -1
  274. package/build-module/audio/edit.js +2 -0
  275. package/build-module/audio/edit.js.map +1 -1
  276. package/build-module/avatar/edit.js +5 -8
  277. package/build-module/avatar/edit.js.map +1 -1
  278. package/build-module/avatar/index.js +1 -0
  279. package/build-module/avatar/index.js.map +1 -1
  280. package/build-module/button/edit.js +2 -1
  281. package/build-module/button/edit.js.map +1 -1
  282. package/build-module/button/index.js +17 -6
  283. package/build-module/button/index.js.map +1 -1
  284. package/build-module/calendar/index.js +1 -0
  285. package/build-module/calendar/index.js.map +1 -1
  286. package/build-module/categories/edit.js +5 -0
  287. package/build-module/categories/edit.js.map +1 -1
  288. package/build-module/categories/index.js +1 -0
  289. package/build-module/categories/index.js.map +1 -1
  290. package/build-module/columns/edit.js +1 -0
  291. package/build-module/columns/edit.js.map +1 -1
  292. package/build-module/columns/utils.js +3 -3
  293. package/build-module/columns/utils.js.map +1 -1
  294. package/build-module/comment-author-avatar/index.js +1 -0
  295. package/build-module/comment-author-avatar/index.js.map +1 -1
  296. package/build-module/comment-author-name/edit.js +2 -0
  297. package/build-module/comment-author-name/edit.js.map +1 -1
  298. package/build-module/comment-author-name/index.js +1 -0
  299. package/build-module/comment-author-name/index.js.map +1 -1
  300. package/build-module/comment-content/index.js +1 -0
  301. package/build-module/comment-content/index.js.map +1 -1
  302. package/build-module/comment-date/edit.js +1 -0
  303. package/build-module/comment-date/edit.js.map +1 -1
  304. package/build-module/comment-date/index.js +1 -0
  305. package/build-module/comment-date/index.js.map +1 -1
  306. package/build-module/comment-edit-link/edit.js +1 -0
  307. package/build-module/comment-edit-link/edit.js.map +1 -1
  308. package/build-module/comment-edit-link/index.js +1 -0
  309. package/build-module/comment-edit-link/index.js.map +1 -1
  310. package/build-module/comment-reply-link/index.js +1 -0
  311. package/build-module/comment-reply-link/index.js.map +1 -1
  312. package/build-module/comment-template/index.js +1 -0
  313. package/build-module/comment-template/index.js.map +1 -1
  314. package/build-module/comments/index.js +2 -1
  315. package/build-module/comments/index.js.map +1 -1
  316. package/build-module/comments-pagination/index.js +1 -0
  317. package/build-module/comments-pagination/index.js.map +1 -1
  318. package/build-module/comments-pagination-next/index.js +1 -0
  319. package/build-module/comments-pagination-next/index.js.map +1 -1
  320. package/build-module/comments-pagination-numbers/index.js +1 -0
  321. package/build-module/comments-pagination-numbers/index.js.map +1 -1
  322. package/build-module/comments-pagination-previous/index.js +1 -0
  323. package/build-module/comments-pagination-previous/index.js.map +1 -1
  324. package/build-module/comments-title/edit.js +2 -0
  325. package/build-module/comments-title/edit.js.map +1 -1
  326. package/build-module/cover/edit/inspector-controls.js +2 -0
  327. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  328. package/build-module/embed/embed-controls.js +1 -0
  329. package/build-module/embed/embed-controls.js.map +1 -1
  330. package/build-module/file/index.js +10 -1
  331. package/build-module/file/index.js.map +1 -1
  332. package/build-module/file/inspector.js +3 -0
  333. package/build-module/file/inspector.js.map +1 -1
  334. package/build-module/freeform/modal.js +1 -1
  335. package/build-module/freeform/modal.js.map +1 -1
  336. package/build-module/gallery/edit.js +2 -0
  337. package/build-module/gallery/edit.js.map +1 -1
  338. package/build-module/gallery/shared.js +4 -7
  339. package/build-module/gallery/shared.js.map +1 -1
  340. package/build-module/gallery/use-image-sizes.js +4 -7
  341. package/build-module/gallery/use-image-sizes.js.map +1 -1
  342. package/build-module/gallery/v1/edit.js +9 -4
  343. package/build-module/gallery/v1/edit.js.map +1 -1
  344. package/build-module/gallery/v1/gallery-image.js +1 -2
  345. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  346. package/build-module/gallery/v1/shared.js +4 -6
  347. package/build-module/gallery/v1/shared.js.map +1 -1
  348. package/build-module/home-link/index.js +1 -0
  349. package/build-module/home-link/index.js.map +1 -1
  350. package/build-module/image/edit.js +7 -5
  351. package/build-module/image/edit.js.map +1 -1
  352. package/build-module/image/image.js +19 -14
  353. package/build-module/image/image.js.map +1 -1
  354. package/build-module/image/utils.js +4 -2
  355. package/build-module/image/utils.js.map +1 -1
  356. package/build-module/index.js +2 -1
  357. package/build-module/index.js.map +1 -1
  358. package/build-module/latest-comments/edit.js +9 -2
  359. package/build-module/latest-comments/edit.js.map +1 -1
  360. package/build-module/latest-comments/index.js +14 -0
  361. package/build-module/latest-comments/index.js.map +1 -1
  362. package/build-module/latest-posts/deprecated.js +1 -0
  363. package/build-module/latest-posts/deprecated.js.map +1 -1
  364. package/build-module/latest-posts/edit.js +4 -0
  365. package/build-module/latest-posts/edit.js.map +1 -1
  366. package/build-module/latest-posts/index.js +1 -0
  367. package/build-module/latest-posts/index.js.map +1 -1
  368. package/build-module/list/ordered-list-settings.js +1 -0
  369. package/build-module/list/ordered-list-settings.js.map +1 -1
  370. package/build-module/list-item/edit.js +2 -2
  371. package/build-module/list-item/edit.js.map +1 -1
  372. package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
  373. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  374. package/build-module/loginout/edit.js +2 -0
  375. package/build-module/loginout/edit.js.map +1 -1
  376. package/build-module/loginout/index.js +1 -0
  377. package/build-module/loginout/index.js.map +1 -1
  378. package/build-module/media-text/edit.js +2 -0
  379. package/build-module/media-text/edit.js.map +1 -1
  380. package/build-module/more/edit.js +1 -0
  381. package/build-module/more/edit.js.map +1 -1
  382. package/build-module/navigation/edit/index.js +82 -56
  383. package/build-module/navigation/edit/index.js.map +1 -1
  384. package/build-module/navigation/edit/navigation-menu-selector.js +14 -10
  385. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  386. package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
  387. package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
  388. package/build-module/navigation/edit/placeholder/index.js +1 -1
  389. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  390. package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
  391. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  392. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  393. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  394. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  395. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  396. package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
  397. package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
  398. package/build-module/navigation/edit/use-navigation-notice.js +5 -8
  399. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  400. package/build-module/navigation/index.js +1 -0
  401. package/build-module/navigation/index.js.map +1 -1
  402. package/build-module/navigation/use-navigation-menu.js +1 -1
  403. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  404. package/build-module/navigation-link/edit.js +10 -5
  405. package/build-module/navigation-link/edit.js.map +1 -1
  406. package/build-module/navigation-link/link-ui.js +2 -0
  407. package/build-module/navigation-link/link-ui.js.map +1 -1
  408. package/build-module/page-list/convert-to-links-modal.js +35 -0
  409. package/build-module/page-list/convert-to-links-modal.js.map +1 -0
  410. package/build-module/page-list/edit.js +15 -29
  411. package/build-module/page-list/edit.js.map +1 -1
  412. package/build-module/page-list/index.js +1 -0
  413. package/build-module/page-list/index.js.map +1 -1
  414. package/build-module/page-list/use-convert-to-navigation-links.js +61 -5
  415. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  416. package/build-module/paragraph/edit.js +1 -0
  417. package/build-module/paragraph/edit.js.map +1 -1
  418. package/build-module/post-author/edit.js +4 -0
  419. package/build-module/post-author/edit.js.map +1 -1
  420. package/build-module/post-author/index.js +1 -0
  421. package/build-module/post-author/index.js.map +1 -1
  422. package/build-module/post-author-biography/index.js +1 -0
  423. package/build-module/post-author-biography/index.js.map +1 -1
  424. package/build-module/post-author-name/edit.js +2 -0
  425. package/build-module/post-author-name/edit.js.map +1 -1
  426. package/build-module/post-author-name/index.js +1 -0
  427. package/build-module/post-author-name/index.js.map +1 -1
  428. package/build-module/post-comments-count/index.js +1 -0
  429. package/build-module/post-comments-count/index.js.map +1 -1
  430. package/build-module/post-comments-form/index.js +1 -0
  431. package/build-module/post-comments-form/index.js.map +1 -1
  432. package/build-module/post-comments-link/index.js +1 -0
  433. package/build-module/post-comments-link/index.js.map +1 -1
  434. package/build-module/post-content/index.js +1 -0
  435. package/build-module/post-content/index.js.map +1 -1
  436. package/build-module/post-date/edit.js +2 -0
  437. package/build-module/post-date/edit.js.map +1 -1
  438. package/build-module/post-date/index.js +1 -0
  439. package/build-module/post-date/index.js.map +1 -1
  440. package/build-module/post-excerpt/edit.js +53 -5
  441. package/build-module/post-excerpt/edit.js.map +1 -1
  442. package/build-module/post-excerpt/index.js +5 -0
  443. package/build-module/post-excerpt/index.js.map +1 -1
  444. package/build-module/post-featured-image/dimension-controls.js +52 -1
  445. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  446. package/build-module/post-featured-image/edit.js +11 -4
  447. package/build-module/post-featured-image/edit.js.map +1 -1
  448. package/build-module/post-featured-image/index.js +4 -0
  449. package/build-module/post-featured-image/index.js.map +1 -1
  450. package/build-module/post-navigation-link/edit.js +2 -0
  451. package/build-module/post-navigation-link/edit.js.map +1 -1
  452. package/build-module/post-navigation-link/index.js +1 -0
  453. package/build-module/post-navigation-link/index.js.map +1 -1
  454. package/build-module/post-template/index.js +1 -0
  455. package/build-module/post-template/index.js.map +1 -1
  456. package/build-module/post-terms/index.js +1 -0
  457. package/build-module/post-terms/index.js.map +1 -1
  458. package/build-module/post-terms/use-post-terms.js +1 -1
  459. package/build-module/post-terms/use-post-terms.js.map +1 -1
  460. package/build-module/post-time-to-read/edit.js +90 -0
  461. package/build-module/post-time-to-read/edit.js.map +1 -0
  462. package/build-module/post-time-to-read/icon.js +15 -0
  463. package/build-module/post-time-to-read/icon.js.map +1 -0
  464. package/build-module/post-time-to-read/index.js +40 -0
  465. package/build-module/post-time-to-read/index.js.map +1 -0
  466. package/build-module/post-title/edit.js +2 -0
  467. package/build-module/post-title/edit.js.map +1 -1
  468. package/build-module/post-title/index.js +1 -0
  469. package/build-module/post-title/index.js.map +1 -1
  470. package/build-module/query/edit/inspector-controls/index.js +1 -0
  471. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  472. package/build-module/query/index.js +1 -0
  473. package/build-module/query/index.js.map +1 -1
  474. package/build-module/query/utils.js +1 -0
  475. package/build-module/query/utils.js.map +1 -1
  476. package/build-module/query-no-results/index.js +1 -0
  477. package/build-module/query-no-results/index.js.map +1 -1
  478. package/build-module/query-pagination/index.js +1 -0
  479. package/build-module/query-pagination/index.js.map +1 -1
  480. package/build-module/query-pagination-next/index.js +1 -0
  481. package/build-module/query-pagination-next/index.js.map +1 -1
  482. package/build-module/query-pagination-numbers/index.js +1 -0
  483. package/build-module/query-pagination-numbers/index.js.map +1 -1
  484. package/build-module/query-pagination-previous/index.js +1 -0
  485. package/build-module/query-pagination-previous/index.js.map +1 -1
  486. package/build-module/query-title/edit.js +2 -0
  487. package/build-module/query-title/edit.js.map +1 -1
  488. package/build-module/query-title/index.js +1 -0
  489. package/build-module/query-title/index.js.map +1 -1
  490. package/build-module/read-more/edit.js +1 -0
  491. package/build-module/read-more/edit.js.map +1 -1
  492. package/build-module/read-more/index.js +1 -0
  493. package/build-module/read-more/index.js.map +1 -1
  494. package/build-module/rss/edit.js +3 -0
  495. package/build-module/rss/edit.js.map +1 -1
  496. package/build-module/rss/index.js +1 -0
  497. package/build-module/rss/index.js.map +1 -1
  498. package/build-module/search/index.js +1 -0
  499. package/build-module/search/index.js.map +1 -1
  500. package/build-module/site-logo/edit.js +10 -11
  501. package/build-module/site-logo/edit.js.map +1 -1
  502. package/build-module/site-logo/index.js +1 -0
  503. package/build-module/site-logo/index.js.map +1 -1
  504. package/build-module/site-tagline/index.js +1 -0
  505. package/build-module/site-tagline/index.js.map +1 -1
  506. package/build-module/site-title/edit/index.js +2 -0
  507. package/build-module/site-title/edit/index.js.map +1 -1
  508. package/build-module/site-title/index.js +1 -0
  509. package/build-module/site-title/index.js.map +1 -1
  510. package/build-module/social-link/index.js +1 -0
  511. package/build-module/social-link/index.js.map +1 -1
  512. package/build-module/social-links/edit.js +2 -0
  513. package/build-module/social-links/edit.js.map +1 -1
  514. package/build-module/spacer/controls.native.js +9 -8
  515. package/build-module/spacer/controls.native.js.map +1 -1
  516. package/build-module/spacer/edit.native.js +39 -7
  517. package/build-module/spacer/edit.native.js.map +1 -1
  518. package/build-module/spacer/save.native.js +22 -0
  519. package/build-module/spacer/save.native.js.map +1 -0
  520. package/build-module/table/edit.js +6 -3
  521. package/build-module/table/edit.js.map +1 -1
  522. package/build-module/table-of-contents/edit.js +1 -0
  523. package/build-module/table-of-contents/edit.js.map +1 -1
  524. package/build-module/table-of-contents/utils.js +1 -1
  525. package/build-module/table-of-contents/utils.js.map +1 -1
  526. package/build-module/tag-cloud/edit.js +1 -0
  527. package/build-module/tag-cloud/edit.js.map +1 -1
  528. package/build-module/tag-cloud/index.js +1 -0
  529. package/build-module/tag-cloud/index.js.map +1 -1
  530. package/build-module/template-part/index.js +1 -0
  531. package/build-module/template-part/index.js.map +1 -1
  532. package/build-module/term-description/index.js +1 -0
  533. package/build-module/term-description/index.js.map +1 -1
  534. package/build-module/verse/index.js +6 -0
  535. package/build-module/verse/index.js.map +1 -1
  536. package/build-module/video/edit-common-settings.js +5 -0
  537. package/build-module/video/edit-common-settings.js.map +1 -1
  538. package/build-style/avatar/style-rtl.css +3 -0
  539. package/build-style/avatar/style.css +3 -0
  540. package/build-style/button/editor-rtl.css +31 -0
  541. package/build-style/button/editor.css +31 -0
  542. package/build-style/button/style-rtl.css +31 -0
  543. package/build-style/button/style.css +31 -0
  544. package/build-style/editor-rtl.css +33 -1
  545. package/build-style/editor.css +33 -1
  546. package/build-style/file/style-rtl.css +1 -0
  547. package/build-style/file/style.css +1 -0
  548. package/build-style/image/editor-rtl.css +1 -0
  549. package/build-style/image/editor.css +1 -0
  550. package/build-style/image/style-rtl.css +6 -2
  551. package/build-style/image/style.css +6 -0
  552. package/build-style/latest-comments/style-rtl.css +18 -5
  553. package/build-style/latest-comments/style.css +18 -5
  554. package/build-style/post-excerpt/editor-rtl.css +1 -1
  555. package/build-style/post-excerpt/editor.css +1 -1
  556. package/build-style/style-rtl.css +59 -7
  557. package/build-style/style.css +59 -5
  558. package/build-types/table-of-contents/utils.d.ts +1 -1
  559. package/package.json +31 -30
  560. package/src/archives/block.json +1 -0
  561. package/src/archives/edit.js +3 -0
  562. package/src/audio/edit.js +2 -0
  563. package/src/audio/test/__snapshots__/edit.native.js.snap +38 -38
  564. package/src/avatar/block.json +1 -0
  565. package/src/avatar/edit.js +2 -4
  566. package/src/avatar/index.php +67 -63
  567. package/src/avatar/style.scss +3 -0
  568. package/src/button/block.json +17 -6
  569. package/src/button/edit.js +2 -1
  570. package/src/button/editor.scss +36 -0
  571. package/src/button/style.scss +37 -1
  572. package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
  573. package/src/calendar/block.json +1 -0
  574. package/src/categories/block.json +1 -0
  575. package/src/categories/edit.js +5 -0
  576. package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
  577. package/src/columns/edit.js +1 -0
  578. package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
  579. package/src/columns/test/utils.js +54 -0
  580. package/src/columns/utils.js +8 -8
  581. package/src/comment-author-avatar/block.json +1 -0
  582. package/src/comment-author-name/block.json +1 -0
  583. package/src/comment-author-name/edit.js +2 -0
  584. package/src/comment-content/block.json +1 -0
  585. package/src/comment-date/block.json +1 -0
  586. package/src/comment-date/edit.js +1 -0
  587. package/src/comment-edit-link/block.json +1 -0
  588. package/src/comment-edit-link/edit.js +1 -0
  589. package/src/comment-reply-link/block.json +1 -0
  590. package/src/comment-template/block.json +1 -0
  591. package/src/comments/block.json +2 -1
  592. package/src/comments-pagination/block.json +1 -0
  593. package/src/comments-pagination-next/block.json +1 -0
  594. package/src/comments-pagination-numbers/block.json +1 -0
  595. package/src/comments-pagination-previous/block.json +1 -0
  596. package/src/comments-title/edit.js +2 -0
  597. package/src/cover/edit/inspector-controls.js +2 -0
  598. package/src/cover/index.php +4 -6
  599. package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
  600. package/src/embed/embed-controls.js +1 -0
  601. package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
  602. package/src/file/block.json +10 -1
  603. package/src/file/inspector.js +3 -0
  604. package/src/file/style.scss +1 -0
  605. package/src/file/test/__snapshots__/edit.native.js.snap +49 -49
  606. package/src/freeform/modal.js +1 -1
  607. package/src/gallery/edit.js +2 -0
  608. package/src/gallery/shared.js +6 -11
  609. package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
  610. package/src/gallery/use-image-sizes.js +3 -16
  611. package/src/gallery/v1/edit.js +8 -16
  612. package/src/gallery/v1/gallery-image.js +1 -2
  613. package/src/gallery/v1/shared.js +5 -10
  614. package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
  615. package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
  616. package/src/home-link/block.json +1 -0
  617. package/src/image/edit.js +4 -4
  618. package/src/image/editor.scss +1 -0
  619. package/src/image/image.js +9 -20
  620. package/src/image/index.php +4 -4
  621. package/src/image/style.scss +13 -0
  622. package/src/image/utils.js +2 -2
  623. package/src/index.js +2 -0
  624. package/src/latest-comments/block.json +14 -0
  625. package/src/latest-comments/edit.js +12 -2
  626. package/src/latest-comments/style.scss +25 -7
  627. package/src/latest-posts/block.json +1 -0
  628. package/src/latest-posts/edit.js +4 -0
  629. package/src/list/ordered-list-settings.js +1 -0
  630. package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
  631. package/src/list-item/edit.js +10 -3
  632. package/src/list-item/hooks/use-outdent-list-item.js +2 -1
  633. package/src/loginout/block.json +1 -0
  634. package/src/loginout/edit.js +2 -0
  635. package/src/media-text/edit.js +2 -0
  636. package/src/missing/test/__snapshots__/edit.native.js.snap +1 -1
  637. package/src/more/edit.js +1 -0
  638. package/src/navigation/block.json +1 -0
  639. package/src/navigation/edit/index.js +130 -82
  640. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  641. package/src/navigation/edit/overlay-menu-preview.js +1 -0
  642. package/src/navigation/edit/placeholder/index.js +1 -1
  643. package/src/navigation/edit/test/navigation-menu-selector.js +638 -0
  644. package/src/navigation/edit/unsaved-inner-blocks.js +1 -0
  645. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +51 -48
  646. package/src/navigation/edit/use-create-navigation-menu.js +1 -1
  647. package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
  648. package/src/navigation/edit/use-navigation-notice.js +16 -13
  649. package/src/navigation/index.php +50 -25
  650. package/src/navigation/use-navigation-menu.js +1 -1
  651. package/src/navigation-link/edit.js +10 -5
  652. package/src/navigation-link/link-ui.js +2 -0
  653. package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
  654. package/src/page-list/block.json +1 -0
  655. package/src/page-list/convert-to-links-modal.js +38 -0
  656. package/src/page-list/edit.js +17 -37
  657. package/src/page-list/index.php +4 -4
  658. package/src/page-list/test/convert-to-links-modal.js +134 -0
  659. package/src/page-list/use-convert-to-navigation-links.js +64 -4
  660. package/src/paragraph/edit.js +1 -0
  661. package/src/post-author/block.json +1 -0
  662. package/src/post-author/edit.js +4 -0
  663. package/src/post-author-biography/block.json +1 -0
  664. package/src/post-author-name/block.json +1 -0
  665. package/src/post-author-name/edit.js +2 -0
  666. package/src/post-comments-count/block.json +1 -0
  667. package/src/post-comments-form/block.json +1 -0
  668. package/src/post-comments-link/block.json +1 -0
  669. package/src/post-content/block.json +1 -0
  670. package/src/post-date/block.json +1 -0
  671. package/src/post-date/edit.js +2 -0
  672. package/src/post-excerpt/block.json +5 -0
  673. package/src/post-excerpt/edit.js +73 -7
  674. package/src/post-excerpt/editor.scss +1 -1
  675. package/src/post-excerpt/index.php +29 -5
  676. package/src/post-featured-image/block.json +4 -0
  677. package/src/post-featured-image/dimension-controls.js +64 -2
  678. package/src/post-featured-image/edit.js +20 -6
  679. package/src/post-featured-image/index.php +25 -9
  680. package/src/post-navigation-link/block.json +1 -0
  681. package/src/post-navigation-link/edit.js +2 -0
  682. package/src/post-template/block.json +1 -0
  683. package/src/post-terms/block.json +1 -0
  684. package/src/post-terms/index.php +1 -0
  685. package/src/post-terms/use-post-terms.js +1 -1
  686. package/src/post-time-to-read/block.json +20 -0
  687. package/src/post-time-to-read/edit.js +101 -0
  688. package/src/post-time-to-read/icon.js +15 -0
  689. package/src/post-time-to-read/index.js +17 -0
  690. package/src/post-time-to-read/index.php +62 -0
  691. package/src/post-title/block.json +1 -0
  692. package/src/post-title/edit.js +2 -0
  693. package/src/post-title/index.php +3 -3
  694. package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
  695. package/src/query/block.json +1 -0
  696. package/src/query/edit/inspector-controls/index.js +1 -0
  697. package/src/query-no-results/block.json +1 -0
  698. package/src/query-pagination/block.json +1 -0
  699. package/src/query-pagination-next/block.json +1 -0
  700. package/src/query-pagination-numbers/block.json +1 -0
  701. package/src/query-pagination-previous/block.json +1 -0
  702. package/src/query-title/block.json +1 -0
  703. package/src/query-title/edit.js +2 -0
  704. package/src/read-more/block.json +1 -0
  705. package/src/read-more/edit.js +1 -0
  706. package/src/rss/block.json +1 -0
  707. package/src/rss/edit.js +3 -0
  708. package/src/search/block.json +1 -0
  709. package/src/search/test/__snapshots__/edit.native.js.snap +60 -60
  710. package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
  711. package/src/site-logo/block.json +1 -0
  712. package/src/site-logo/edit.js +6 -6
  713. package/src/site-logo/index.php +7 -2
  714. package/src/site-tagline/block.json +1 -0
  715. package/src/site-title/block.json +1 -0
  716. package/src/site-title/edit/index.js +2 -0
  717. package/src/social-link/block.json +1 -0
  718. package/src/social-link/index.php +6 -6
  719. package/src/social-links/edit.js +2 -0
  720. package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
  721. package/src/spacer/controls.native.js +13 -5
  722. package/src/spacer/edit.native.js +45 -6
  723. package/src/spacer/save.native.js +18 -0
  724. package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
  725. package/src/spacer/test/index.native.js +81 -0
  726. package/src/table/edit.js +6 -3
  727. package/src/table-of-contents/edit.js +1 -0
  728. package/src/table-of-contents/utils.ts +1 -1
  729. package/src/tag-cloud/block.json +1 -0
  730. package/src/tag-cloud/edit.js +1 -0
  731. package/src/template-part/block.json +1 -0
  732. package/src/template-part/index.php +7 -6
  733. package/src/term-description/block.json +1 -0
  734. package/src/verse/block.json +6 -0
  735. package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
  736. package/src/video/edit-common-settings.js +5 -0
  737. package/tsconfig.json +2 -1
  738. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -35,6 +35,7 @@ const metadata = {
35
35
  },
36
36
  usesContext: ["postType", "postId"],
37
37
  supports: {
38
+ anchor: true,
38
39
  spacing: {
39
40
  margin: true,
40
41
  padding: true
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author-biography/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author-biography/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -80,12 +80,14 @@ function PostAuthorNameEdit(_ref) {
80
80
  })), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
81
81
  title: (0, _i18n.__)('Link settings')
82
82
  }, (0, _element.createElement)(_components.ToggleControl, {
83
+ __nextHasNoMarginBottom: true,
83
84
  label: (0, _i18n.__)('Link to author archive'),
84
85
  onChange: () => setAttributes({
85
86
  isLink: !isLink
86
87
  }),
87
88
  checked: isLink
88
89
  }), isLink && (0, _element.createElement)(_components.ToggleControl, {
90
+ __nextHasNoMarginBottom: true,
89
91
  label: (0, _i18n.__)('Open in new tab'),
90
92
  onChange: value => setAttributes({
91
93
  linkTarget: value ? '_blank' : '_self'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author-name/edit.js"],"names":["PostAuthorNameEdit","context","postType","postId","attributes","textAlign","isLink","linkTarget","setAttributes","authorName","select","getEditedEntityRecord","getUser","coreStore","_authorId","author","blockProps","className","displayName","name","displayAuthor","event","preventDefault","nextAlign","value"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAMA;;AACA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;AAYA,SAASA,kBAAT,OAII;AAAA,MAJyB;AAC5BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KADmB;AAE5BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,SAAF;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAFgB;AAG5BC,IAAAA;AAH4B,GAIzB;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QAAqCF,MAAM,CAAEG,eAAF,CAAjD;;AACA,UAAMC,SAAS,4BAAGH,qBAAqB,CACtC,UADsC,EAEtCT,QAFsC,EAGtCC,MAHsC,CAAxB,0DAAG,sBAIfY,MAJH;;AAMA,WAAO;AACNN,MAAAA,UAAU,EAAEK,SAAS,GAAGF,OAAO,CAAEE,SAAF,CAAV,GAA0B;AADzC,KAAP;AAGA,GAZqB,EAatB,CAAEZ,QAAF,EAAYC,MAAZ,CAbsB,CAAvB;AAgBA,QAAMa,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBZ,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMa,WAAW,GAAG,CAAAT,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEU,IAAZ,KAAoB,cAAI,aAAJ,CAAxC;AAEA,QAAMC,aAAa,GAAGd,MAAM,GAC3B;AACC,IAAA,IAAI,EAAC,qBADN;AAEC,IAAA,OAAO,EAAKe,KAAF,IAAaA,KAAK,CAACC,cAAN,EAFxB;AAGC,IAAA,SAAS,EAAC;AAHX,KAKGJ,WALH,CAD2B,GAS3BA,WATD;AAYA,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGb,SADT;AAEC,IAAA,QAAQ,EAAKkB,SAAF,IAAiB;AAC3Bf,MAAAA,aAAa,CAAE;AAAEH,QAAAA,SAAS,EAAEkB;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,wBAAJ,CADT;AAEC,IAAA,QAAQ,EAAG,MAAMf,aAAa,CAAE;AAAEF,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAF/B;AAGC,IAAA,OAAO,EAAGA;AAHX,IADD,EAMGA,MAAM,IACP,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CADT;AAEC,IAAA,QAAQ,EAAKkB,KAAF,IACVhB,aAAa,CAAE;AACdD,MAAAA,UAAU,EAAEiB,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAHf;AAOC,IAAA,OAAO,EAAGjB,UAAU,KAAK;AAP1B,IAPF,CADD,CATD,EA6BC,mCAAUS,UAAV,OAA0BI,aAA1B,MA7BD,CADD;AAiCA;;eAEcpB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\nfunction PostAuthorNameEdit( {\n\tcontext: { postType, postId },\n\tattributes: { textAlign, isLink, linkTarget },\n\tsetAttributes,\n} ) {\n\tconst { authorName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorName: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst displayName = authorName?.name || __( 'Author Name' );\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\tclassName=\"wp-block-post-author-name__link\"\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link to author archive' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }> { displayAuthor } </div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorNameEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author-name/edit.js"],"names":["PostAuthorNameEdit","context","postType","postId","attributes","textAlign","isLink","linkTarget","setAttributes","authorName","select","getEditedEntityRecord","getUser","coreStore","_authorId","author","blockProps","className","displayName","name","displayAuthor","event","preventDefault","nextAlign","value"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAMA;;AACA;;AACA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;AAYA,SAASA,kBAAT,OAII;AAAA,MAJyB;AAC5BC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,QAAF;AAAYC,MAAAA;AAAZ,KADmB;AAE5BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,SAAF;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA;AAArB,KAFgB;AAG5BC,IAAAA;AAH4B,GAIzB;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,qBAAF;AAAyBC,MAAAA;AAAzB,QAAqCF,MAAM,CAAEG,eAAF,CAAjD;;AACA,UAAMC,SAAS,4BAAGH,qBAAqB,CACtC,UADsC,EAEtCT,QAFsC,EAGtCC,MAHsC,CAAxB,0DAAG,sBAIfY,MAJH;;AAMA,WAAO;AACNN,MAAAA,UAAU,EAAEK,SAAS,GAAGF,OAAO,CAAEE,SAAF,CAAV,GAA0B;AADzC,KAAP;AAGA,GAZqB,EAatB,CAAEZ,QAAF,EAAYC,MAAZ,CAbsB,CAAvB;AAgBA,QAAMa,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBZ,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAMA,QAAMa,WAAW,GAAG,CAAAT,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEU,IAAZ,KAAoB,cAAI,aAAJ,CAAxC;AAEA,QAAMC,aAAa,GAAGd,MAAM,GAC3B;AACC,IAAA,IAAI,EAAC,qBADN;AAEC,IAAA,OAAO,EAAKe,KAAF,IAAaA,KAAK,CAACC,cAAN,EAFxB;AAGC,IAAA,SAAS,EAAC;AAHX,KAKGJ,WALH,CAD2B,GAS3BA,WATD;AAYA,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGb,SADT;AAEC,IAAA,QAAQ,EAAKkB,SAAF,IAAiB;AAC3Bf,MAAAA,aAAa,CAAE;AAAEH,QAAAA,SAAS,EAAEkB;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,eAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,wBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAG,MAAMf,aAAa,CAAE;AAAEF,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAH/B;AAIC,IAAA,OAAO,EAAGA;AAJX,IADD,EAOGA,MAAM,IACP,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAKkB,KAAF,IACVhB,aAAa,CAAE;AACdD,MAAAA,UAAU,EAAEiB,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAJf;AAQC,IAAA,OAAO,EAAGjB,UAAU,KAAK;AAR1B,IARF,CADD,CATD,EA+BC,mCAAUS,UAAV,OAA0BI,aAA1B,MA/BD,CADD;AAmCA;;eAEcpB,kB","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\n\nfunction PostAuthorNameEdit( {\n\tcontext: { postType, postId },\n\tattributes: { textAlign, isLink, linkTarget },\n\tsetAttributes,\n} ) {\n\tconst { authorName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser } = select( coreStore );\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorName: _authorId ? getUser( _authorId ) : null,\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst displayName = authorName?.name || __( 'Author Name' );\n\n\tconst displayAuthor = isLink ? (\n\t\t<a\n\t\t\thref=\"#author-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\tclassName=\"wp-block-post-author-name__link\"\n\t\t>\n\t\t\t{ displayName }\n\t\t</a>\n\t) : (\n\t\tdisplayName\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to author archive' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }> { displayAuthor } </div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorNameEdit;\n"]}
@@ -45,6 +45,7 @@ const metadata = {
45
45
  },
46
46
  usesContext: ["postType", "postId"],
47
47
  supports: {
48
+ anchor: true,
48
49
  html: false,
49
50
  spacing: {
50
51
  margin: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author-name/index.js"],"names":["name","metadata","settings","icon","transforms","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author-name/index.js"],"names":["name","metadata","settings","icon","transforms","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,iBADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postAuthor as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -36,6 +36,7 @@ const metadata = {
36
36
  },
37
37
  usesContext: ["postId"],
38
38
  supports: {
39
+ anchor: true,
39
40
  html: false,
40
41
  color: {
41
42
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-comments-count/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,wBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsCount as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments-count/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,wBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsCount as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -35,6 +35,7 @@ const metadata = {
35
35
  },
36
36
  usesContext: ["postId", "postType"],
37
37
  supports: {
38
+ anchor: true,
38
39
  html: false,
39
40
  color: {
40
41
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-comments-form/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,uBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsForm as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments-form/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,uBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsForm as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -36,6 +36,7 @@ const metadata = {
36
36
  }
37
37
  },
38
38
  supports: {
39
+ anchor: true,
39
40
  html: false,
40
41
  color: {
41
42
  link: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-comments-link/index.js"],"names":["name","metadata","settings","edit","icon","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsCount as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\ticon,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-comments-link/index.js"],"names":["name","metadata","settings","edit","icon","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postCommentsCount as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\ticon,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -30,6 +30,7 @@ const metadata = {
30
30
  textdomain: "default",
31
31
  usesContext: ["postId", "postType", "queryId"],
32
32
  supports: {
33
+ anchor: true,
33
34
  align: ["wide", "full"],
34
35
  html: false,
35
36
  __experimentalLayout: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-content/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,kBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-content/index.js"],"names":["name","metadata","settings","icon","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,kBADuB;AAEvBC,EAAAA,IAAI,EAAJA;AAFuB,CAAjB;;;AAKA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEL,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postContent as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -132,6 +132,7 @@ function PostDateEdit(_ref) {
132
132
  format: nextFormat
133
133
  })
134
134
  }), (0, _element.createElement)(_components.ToggleControl, {
135
+ __nextHasNoMarginBottom: true,
135
136
  label: postType !== null && postType !== void 0 && postType.labels.singular_name ? (0, _i18n.sprintf)( // translators: %s: Name of the post type e.g: "post".
136
137
  (0, _i18n.__)('Link to %s'), postType.labels.singular_name.toLowerCase()) : (0, _i18n.__)('Link to post'),
137
138
  onChange: () => setAttributes({
@@ -139,6 +140,7 @@ function PostDateEdit(_ref) {
139
140
  }),
140
141
  checked: isLink
141
142
  }), (0, _element.createElement)(_components.ToggleControl, {
143
+ __nextHasNoMarginBottom: true,
142
144
  label: (0, _i18n.__)('Display last modified date'),
143
145
  onChange: value => setAttributes({
144
146
  displayType: value ? 'modified' : 'date'
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","coreStore","getPostType","postDate","event","preventDefault","nextAlign","onClose","is12HourFormat","isOpen","onToggle","openOnArrowDown","keyCode","DOWN","edit","nextFormat","labels","singular_name","toLowerCase","value","test"],"mappings":";;;;;;;;;;AASA;;AANA;;AAKA;;AAEA;;AACA;;AAQA;;AAOA;;AACA;;AACA;;AACA;;AA7BA;AACA;AACA;;AAGA;AACA;AACA;AAwBe,SAASA,YAAT,OAIX;AAAA,MAJkC;AACrCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,SAAF;AAAaC,MAAAA,MAAb;AAAqBC,MAAAA,MAArB;AAA6BC,MAAAA;AAA7B,KADyB;AAErCC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA,QAAQ,EAAEC,YAApB;AAAkCC,MAAAA;AAAlC,KAF4B;AAGrCC,IAAAA;AAHqC,GAIlC;AACH,QAAMC,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBX,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB,CADG,CAOH;AACA;;AACA,QAAM,CAAEY,aAAF,EAAiBC,gBAAjB,IAAsC,uBAAU,IAAV,CAA5C,CATG,CAUH;;AACA,QAAMC,YAAY,GAAG,sBACpB,OAAQ;AAAEC,IAAAA,MAAM,EAAEH;AAAV,GAAR,CADoB,EAEpB,CAAEA,aAAF,CAFoB,CAArB;AAKA,QAAMI,uBAAuB,GAAGC,MAAM,CAACC,QAAP,CAAiBV,OAAjB,CAAhC;AACA,QAAMW,YAAY,GAAG,wBAArB;AACA,QAAM,CAAEC,UAAU,GAAGD,YAAY,CAACE,OAAb,CAAqBC,IAApC,IAA6C,6BAClD,MADkD,EAElD,MAFkD,EAGlD,aAHkD,CAAnD;AAKA,QAAM,CAAEC,cAAc,GAAGJ,YAAY,CAACE,OAAb,CAAqBG,IAAxC,IAAiD,6BACtD,MADsD,EAEtD,MAFsD,EAGtD,aAHsD,CAAvD;AAKA,QAAM,CAAEF,IAAF,EAAQG,OAAR,IAAoB,6BACzB,UADyB,EAEzBlB,YAFyB,EAGzBJ,WAHyB,EAIzBE,MAJyB,CAA1B;AAOA,QAAMC,QAAQ,GAAG,qBACdoB,MAAF,IACCnB,YAAY,GACTmB,MAAM,CAAEC,eAAF,CAAN,CAAoBC,WAApB,CAAiCrB,YAAjC,CADS,GAET,IAJY,EAKhB,CAAEA,YAAF,CALgB,CAAjB;AAQA,MAAIsB,QAAQ,GAAGP,IAAI,GAClB;AAAM,IAAA,QAAQ,EAAG,oBAAU,GAAV,EAAeA,IAAf,CAAjB;AAAyC,IAAA,GAAG,EAAGT;AAA/C,KACG,oBAAUZ,MAAM,IAAImB,UAApB,EAAgCE,IAAhC,CADH,CADkB,GAKlB,cAAI,WAAJ,CALD;;AAQA,MAAKpB,MAAM,IAAIoB,IAAf,EAAsB;AACrBO,IAAAA,QAAQ,GACP;AACC,MAAA,IAAI,EAAC,wBADN;AAEC,MAAA,OAAO,EAAKC,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,OAIGF,QAJH,CADD;AAQA;;AAED,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAG7B,SADT;AAEC,IAAA,QAAQ,EAAKgC,SAAF,IAAiB;AAC3BvB,MAAAA,aAAa,CAAE;AAAET,QAAAA,SAAS,EAAEgC;AAAb,OAAF,CAAb;AACA;AAJF,IADD,EAOGV,IAAI,IAAI,CAAEN,uBAAV,IACD,4BAAC,wBAAD,QACC,4BAAC,oBAAD;AACC,IAAA,YAAY,EAAGF,YADhB;AAEC,IAAA,aAAa,EAAG;AAAA,UAAE;AAAEmB,QAAAA;AAAF,OAAF;AAAA,aACf,4BAAC,gDAAD;AACC,QAAA,WAAW,EAAGX,IADf;AAEC,QAAA,QAAQ,EAAGG,OAFZ;AAGC,QAAA,QAAQ,EAAGS,cAAc,CACxBX,cADwB,CAH1B;AAMC,QAAA,OAAO,EAAGU;AANX,QADe;AAAA,KAFjB;AAYC,IAAA,YAAY,EAAG,SAA4B;AAAA,UAA1B;AAAEE,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAA0B;;AAC1C,YAAMC,eAAe,GAAKP,KAAF,IAAa;AACpC,YAAK,CAAEK,MAAF,IAAYL,KAAK,CAACQ,OAAN,KAAkBC,cAAnC,EAA0C;AACzCT,UAAAA,KAAK,CAACC,cAAN;AACAK,UAAAA,QAAQ;AACR;AACD,OALD;;AAMA,aACC,4BAAC,yBAAD;AACC,yBAAgBD,MADjB;AAEC,QAAA,IAAI,EAAGK,WAFR;AAGC,QAAA,KAAK,EAAG,cAAI,aAAJ,CAHT;AAIC,QAAA,OAAO,EAAGJ,QAJX;AAKC,QAAA,SAAS,EAAGC;AALb,QADD;AASA;AA5BF,IADD,CARF,CADD,EA4CC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,2CAAD;AACC,IAAA,MAAM,EAAGpC,MADV;AAEC,IAAA,aAAa,EAAGmB,UAFjB;AAGC,IAAA,QAAQ,EAAKqB,UAAF,IACVhC,aAAa,CAAE;AAAER,MAAAA,MAAM,EAAEwC;AAAV,KAAF;AAJf,IADD,EAQC,4BAAC,yBAAD;AACC,IAAA,KAAK,EACJnC,QAAQ,SAAR,IAAAA,QAAQ,WAAR,IAAAA,QAAQ,CAAEoC,MAAV,CAAiBC,aAAjB,GACG,oBACA;AACA,kBAAI,YAAJ,CAFA,EAGArC,QAAQ,CAACoC,MAAT,CAAgBC,aAAhB,CAA8BC,WAA9B,EAHA,CADH,GAMG,cAAI,cAAJ,CARL;AAUC,IAAA,QAAQ,EAAG,MAAMnC,aAAa,CAAE;AAAEP,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAV/B;AAWC,IAAA,OAAO,EAAGA;AAXX,IARD,EAqBC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,4BAAJ,CADT;AAEC,IAAA,QAAQ,EAAK2C,KAAF,IACVpC,aAAa,CAAE;AACdN,MAAAA,WAAW,EAAE0C,KAAK,GAAG,UAAH,GAAgB;AADpB,KAAF,CAHf;AAOC,IAAA,OAAO,EAAG1C,WAAW,KAAK;AAP3B,IArBD,CADD,CA5CD,EA8EC,mCAAUO,UAAV,EAAyBmB,QAAzB,CA9ED,CADD;AAkFA;;AAEM,SAASK,cAAT,CAAyBjC,MAAzB,EAAkC;AACxC;AACA;AACA;AACA;AACA;AACA,SAAO,oBAAoB6C,IAApB,CAA0B7C,MAA1B,CAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { dateI18n, getSettings as getDateSettings } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["PostDateEdit","attributes","textAlign","format","isLink","displayType","context","postId","postType","postTypeSlug","queryId","setAttributes","blockProps","className","popoverAnchor","setPopoverAnchor","popoverProps","anchor","isDescendentOfQueryLoop","Number","isFinite","dateSettings","siteFormat","formats","date","siteTimeFormat","time","setDate","select","coreStore","getPostType","postDate","event","preventDefault","nextAlign","onClose","is12HourFormat","isOpen","onToggle","openOnArrowDown","keyCode","DOWN","edit","nextFormat","labels","singular_name","toLowerCase","value","test"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { dateI18n, getSettings as getDateSettings } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalDateFormatPicker as DateFormatPicker,\n\t__experimentalPublishDateTimePicker as PublishDateTimePicker,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink, displayType },\n\tcontext: { postId, postType: postTypeSlug, queryId },\n\tsetAttributes,\n} ) {\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( { anchor: popoverAnchor } ),\n\t\t[ popoverAnchor ]\n\t);\n\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst dateSettings = getDateSettings();\n\tconst [ siteFormat = dateSettings.formats.date ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'date_format'\n\t);\n\tconst [ siteTimeFormat = dateSettings.formats.time ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'time_format'\n\t);\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\tdisplayType,\n\t\tpostId\n\t);\n\n\tconst postType = useSelect(\n\t\t( select ) =>\n\t\t\tpostTypeSlug\n\t\t\t\t? select( coreStore ).getPostType( postTypeSlug )\n\t\t\t\t: null,\n\t\t[ postTypeSlug ]\n\t);\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ setPopoverAnchor }>\n\t\t\t{ dateI18n( format || siteFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<PublishDateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12HourFormat(\n\t\t\t\t\t\t\t\t\t\tsiteTimeFormat\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<DateFormatPicker\n\t\t\t\t\t\tformat={ format }\n\t\t\t\t\t\tdefaultFormat={ siteFormat }\n\t\t\t\t\t\tonChange={ ( nextFormat ) =>\n\t\t\t\t\t\t\tsetAttributes( { format: nextFormat } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display last modified date' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayType: value ? 'modified' : 'date',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ displayType === 'modified' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n\nexport function is12HourFormat( format ) {\n\t// To know if the time format is a 12 hour time, look for any of the 12 hour\n\t// format characters: 'a', 'A', 'g', and 'h'. The character must be\n\t// unescaped, i.e. not preceded by a '\\'. Coincidentally, 'aAgh' is how I\n\t// feel when working with regular expressions.\n\t// https://www.php.net/manual/en/datetime.format.php\n\treturn /(?:^|[^\\\\])[aAgh]/.test( format );\n}\n"]}
@@ -48,6 +48,7 @@ const metadata = {
48
48
  },
49
49
  usesContext: ["postId", "postType", "queryId"],
50
50
  supports: {
51
+ anchor: true,
51
52
  html: false,
52
53
  color: {
53
54
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-date/index.js"],"names":["name","metadata","settings","icon","edit","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,UAAU,EAAVA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-date/index.js"],"names":["name","metadata","settings","icon","edit","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,UAAU,EAAVA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postDate as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -37,7 +37,8 @@ function PostExcerptEditor(_ref) {
37
37
  attributes: {
38
38
  textAlign,
39
39
  moreText,
40
- showMoreOnNewLine
40
+ showMoreOnNewLine,
41
+ excerptLength
41
42
  },
42
43
  setAttributes,
43
44
  isSelected,
@@ -59,6 +60,13 @@ function PostExcerptEditor(_ref) {
59
60
  [`has-text-align-${textAlign}`]: textAlign
60
61
  })
61
62
  });
63
+ /**
64
+ * translators: If your word count is based on single characters (e.g. East Asian characters),
65
+ * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.
66
+ * Do not translate into your own language.
67
+ */
68
+
69
+ const wordCountType = (0, _i18n._x)('words', 'Word count type. Do not translate!');
62
70
  /**
63
71
  * When excerpt is editable, strip the html tags from
64
72
  * rendered excerpt. This will be used if the entity's
@@ -98,15 +106,42 @@ function PostExcerptEditor(_ref) {
98
106
  const excerptClassName = (0, _classnames.default)('wp-block-post-excerpt__excerpt', {
99
107
  'is-inline': !showMoreOnNewLine
100
108
  });
109
+ /**
110
+ * The excerpt length setting needs to be applied to both
111
+ * the raw and the rendered excerpt depending on which is being used.
112
+ */
113
+
114
+ const rawOrRenderedExcerpt = !!renderedExcerpt ? strippedRenderedExcerpt : rawExcerpt;
115
+ let trimmedExcerpt = '';
116
+
117
+ if (wordCountType === 'words') {
118
+ trimmedExcerpt = rawOrRenderedExcerpt.trim().split(' ', excerptLength).join(' ');
119
+ } else if (wordCountType === 'characters_excluding_spaces') {
120
+ /*
121
+ * 1. Split the excerpt at the character limit,
122
+ * then join the substrings back into one string.
123
+ * 2. Count the number of spaces in the excerpt
124
+ * by comparing the lengths of the string with and without spaces.
125
+ * 3. Add the number to the length of the visible excerpt,
126
+ * so that the spaces are excluded from the word count.
127
+ */
128
+ const excerptWithSpaces = rawOrRenderedExcerpt.trim().split('', excerptLength).join('');
129
+ const numberOfSpaces = excerptWithSpaces.length - excerptWithSpaces.replaceAll(' ', '').length;
130
+ trimmedExcerpt = rawOrRenderedExcerpt.trim().split('', excerptLength + numberOfSpaces).join('');
131
+ } else if (wordCountType === 'characters_including_spaces') {
132
+ trimmedExcerpt = rawOrRenderedExcerpt.trim().split('', excerptLength);
133
+ }
134
+
135
+ trimmedExcerpt = trimmedExcerpt + '...';
101
136
  const excerptContent = isEditable ? (0, _element.createElement)(_blockEditor.RichText, {
102
137
  className: excerptClassName,
103
138
  "aria-label": (0, _i18n.__)('Post excerpt text'),
104
- value: rawExcerpt || strippedRenderedExcerpt || (isSelected ? '' : (0, _i18n.__)('No post excerpt found')),
139
+ value: isSelected ? rawOrRenderedExcerpt : (trimmedExcerpt !== '...' ? trimmedExcerpt : '') || (0, _i18n.__)('No post excerpt found'),
105
140
  onChange: setExcerpt,
106
141
  tagName: "p"
107
142
  }) : (0, _element.createElement)("p", {
108
143
  className: excerptClassName
109
- }, strippedRenderedExcerpt || (0, _i18n.__)('No post excerpt found'));
144
+ }, trimmedExcerpt !== '...' ? trimmedExcerpt : (0, _i18n.__)('No post excerpt found'));
110
145
  return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_blockEditor.AlignmentToolbar, {
111
146
  value: textAlign,
112
147
  onChange: newAlign => setAttributes({
@@ -115,11 +150,23 @@ function PostExcerptEditor(_ref) {
115
150
  })), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
116
151
  title: (0, _i18n.__)('Settings')
117
152
  }, (0, _element.createElement)(_components.ToggleControl, {
153
+ __nextHasNoMarginBottom: true,
118
154
  label: (0, _i18n.__)('Show link on new line'),
119
155
  checked: showMoreOnNewLine,
120
156
  onChange: newShowMoreOnNewLine => setAttributes({
121
157
  showMoreOnNewLine: newShowMoreOnNewLine
122
158
  })
159
+ }), (0, _element.createElement)(_components.RangeControl, {
160
+ label: (0, _i18n.__)('Max number of words'),
161
+ value: excerptLength,
162
+ onChange: value => {
163
+ setAttributes({
164
+ excerptLength: value
165
+ });
166
+ setExcerpt();
167
+ },
168
+ min: "10",
169
+ max: "100"
123
170
  }))), (0, _element.createElement)("div", blockProps, excerptContent, !showMoreOnNewLine && ' ', showMoreOnNewLine ? (0, _element.createElement)("p", {
124
171
  className: "wp-block-post-excerpt__more-text"
125
172
  }, readMoreLink) : readMoreLink));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","newAlign","readMoreLink","newMoreText","excerptClassName","excerptContent","newShowMoreOnNewLine"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This is the Post Excerpt block, it will display the excerpt from single posts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If there are any Custom Post Types with support for excerpts, the Post Excerpt block can display the excerpts of those entries as well.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\trawExcerpt ||\n\t\t\t\tstrippedRenderedExcerpt ||\n\t\t\t\t( isSelected ? '' : __( 'No post excerpt found' ) )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ strippedRenderedExcerpt || __( 'No post excerpt found' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","newAlign","readMoreLink","newMoreText","excerptClassName","rawOrRenderedExcerpt","trimmedExcerpt","trim","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","excerptContent","newShowMoreOnNewLine","value"],"mappings":";;;;;;;;;AASA;;AANA;;AAKA;;AAEA;;AAQA;;AACA;;AAKA;;AAxBA;AACA;AACA;;AAGA;AACA;AACA;;AAcA;AACA;AACA;AAGe,SAASA,iBAAT,OAKX;AAAA,MALuC;AAC1CC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,SAAF;AAAaC,MAAAA,QAAb;AAAuBC,MAAAA,iBAAvB;AAA0CC,MAAAA;AAA1C,KAD8B;AAE1CC,IAAAA,aAF0C;AAG1CC,IAAAA,UAH0C;AAI1CC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA,QAAV;AAAoBC,MAAAA;AAApB;AAJiC,GAKvC;AACH,QAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAP,CAAiBH,OAAjB,CAAhC;AACA,QAAMI,WAAW,GAAG,6BAAkB,UAAlB,EAA8BL,QAA9B,EAAwCD,MAAxC,CAApB;AACA,QAAMO,UAAU,GAAGD,WAAW,IAAI,CAAEH,uBAApC;AAEA,QAAM,CACLK,UADK,EAELC,UAFK,EAGL;AAAEC,IAAAA,QAAQ,EAAEC,eAAZ;AAA6BC,IAAAA,SAAS,EAAEC;AAAxC,MAAwD,EAHnD,IAIF,6BAAe,UAAf,EAA2BZ,QAA3B,EAAqC,SAArC,EAAgDD,MAAhD,CAJJ;AAKA,QAAMc,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY;AACtB,OAAG,kBAAkBtB,SAAW,EAAhC,GAAqCA;AADf,KAAZ;AADsB,GAAf,CAAnB;AAMA;AACD;AACA;AACA;AACA;;AACC,QAAMuB,aAAa,GAAG,cAAI,OAAJ,EAAa,oCAAb,CAAtB;AAEA;AACD;AACA;AACA;AACA;;AACC,QAAMC,uBAAuB,GAAG,sBAAS,MAAM;AAC9C,QAAK,CAAEN,eAAP,EAAyB,OAAO,EAAP;AACzB,UAAMO,QAAQ,GAAG,IAAIC,MAAM,CAACC,SAAX,GAAuBC,eAAvB,CAChBV,eADgB,EAEhB,WAFgB,CAAjB;AAIA,WAAOO,QAAQ,CAACI,IAAT,CAAcC,WAAd,IAA6BL,QAAQ,CAACI,IAAT,CAAcE,SAA3C,IAAwD,EAA/D;AACA,GAP+B,EAO7B,CAAEb,eAAF,CAP6B,CAAhC;;AAQA,MAAK,CAAEV,QAAF,IAAc,CAAED,MAArB,EAA8B;AAC7B,WACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,6BAAD;AACC,MAAA,KAAK,EAAGP,SADT;AAEC,MAAA,QAAQ,EAAKgC,QAAF,IACV5B,aAAa,CAAE;AAAEJ,QAAAA,SAAS,EAAEgC;AAAb,OAAF;AAHf,MADD,CADD,EASC,mCAAUX,UAAV,EACC,uCACG,cACD,gFADC,CADH,CADD,EAMC,uCACG,cACD,yIADC,CADH,CAND,CATD,CADD;AAwBA;;AACD,MAAKD,WAAW,IAAI,CAAEP,WAAtB,EAAoC;AACnC,WACC,mCAAUQ,UAAV,EACC,4BAAC,oBAAD,QACG,cACD,uDADC,CADH,CADD,CADD;AASA;;AACD,QAAMY,YAAY,GACjB,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAC,kCADX;AAEC,IAAA,OAAO,EAAC,GAFT;AAGC,kBAAa,cAAI,uBAAJ,CAHd;AAIC,IAAA,WAAW,EAAG,cAAI,2BAAJ,CAJf;AAKC,IAAA,KAAK,EAAGhC,QALT;AAMC,IAAA,QAAQ,EAAKiC,WAAF,IACV9B,aAAa,CAAE;AAAEH,MAAAA,QAAQ,EAAEiC;AAAZ,KAAF,CAPf;AASC,IAAA,4BAA4B,EAAG;AAThC,IADD;AAaA,QAAMC,gBAAgB,GAAG,yBAAY,gCAAZ,EAA8C;AACtE,iBAAa,CAAEjC;AADuD,GAA9C,CAAzB;AAIA;AACD;AACA;AACA;;AACC,QAAMkC,oBAAoB,GAAG,CAAC,CAAElB,eAAH,GAC1BM,uBAD0B,GAE1BT,UAFH;AAIA,MAAIsB,cAAc,GAAG,EAArB;;AACA,MAAKd,aAAa,KAAK,OAAvB,EAAiC;AAChCc,IAAAA,cAAc,GAAGD,oBAAoB,CACnCE,IADe,GAEfC,KAFe,CAER,GAFQ,EAEHpC,aAFG,EAGfqC,IAHe,CAGT,GAHS,CAAjB;AAIA,GALD,MAKO,IAAKjB,aAAa,KAAK,6BAAvB,EAAuD;AAC7D;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE,UAAMkB,iBAAiB,GAAGL,oBAAoB,CAC5CE,IADwB,GAExBC,KAFwB,CAEjB,EAFiB,EAEbpC,aAFa,EAGxBqC,IAHwB,CAGlB,EAHkB,CAA1B;AAKA,UAAME,cAAc,GACnBD,iBAAiB,CAACE,MAAlB,GACAF,iBAAiB,CAACG,UAAlB,CAA8B,GAA9B,EAAmC,EAAnC,EAAwCD,MAFzC;AAIAN,IAAAA,cAAc,GAAGD,oBAAoB,CACnCE,IADe,GAEfC,KAFe,CAER,EAFQ,EAEJpC,aAAa,GAAGuC,cAFZ,EAGfF,IAHe,CAGT,EAHS,CAAjB;AAIA,GAtBM,MAsBA,IAAKjB,aAAa,KAAK,6BAAvB,EAAuD;AAC7Dc,IAAAA,cAAc,GAAGD,oBAAoB,CAACE,IAArB,GAA4BC,KAA5B,CAAmC,EAAnC,EAAuCpC,aAAvC,CAAjB;AACA;;AAEDkC,EAAAA,cAAc,GAAGA,cAAc,GAAG,KAAlC;AAEA,QAAMQ,cAAc,GAAG/B,UAAU,GAChC,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAGqB,gBADb;AAEC,kBAAa,cAAI,mBAAJ,CAFd;AAGC,IAAA,KAAK,EACJ9B,UAAU,GACP+B,oBADO,GAEP,CAAEC,cAAc,KAAK,KAAnB,GAA2BA,cAA3B,GAA4C,EAA9C,KACA,cAAI,uBAAJ,CAPL;AASC,IAAA,QAAQ,EAAGrB,UATZ;AAUC,IAAA,OAAO,EAAC;AAVT,IADgC,GAchC;AAAG,IAAA,SAAS,EAAGmB;AAAf,KACGE,cAAc,KAAK,KAAnB,GACCA,cADD,GAEC,cAAI,uBAAJ,CAHJ,CAdD;AAoBA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGrC,SADT;AAEC,IAAA,QAAQ,EAAKgC,QAAF,IACV5B,aAAa,CAAE;AAAEJ,MAAAA,SAAS,EAAEgC;AAAb,KAAF;AAHf,IADD,CADD,EASC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,uBAAJ,CAFT;AAGC,IAAA,OAAO,EAAG9B,iBAHX;AAIC,IAAA,QAAQ,EAAK4C,oBAAF,IACV1C,aAAa,CAAE;AACdF,MAAAA,iBAAiB,EAAE4C;AADL,KAAF;AALf,IADD,EAWC,4BAAC,wBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,KAAK,EAAG3C,aAFT;AAGC,IAAA,QAAQ,EAAK4C,KAAF,IAAa;AACvB3C,MAAAA,aAAa,CAAE;AAAED,QAAAA,aAAa,EAAE4C;AAAjB,OAAF,CAAb;AACA/B,MAAAA,UAAU;AACV,KANF;AAOC,IAAA,GAAG,EAAC,IAPL;AAQC,IAAA,GAAG,EAAC;AARL,IAXD,CADD,CATD,EAiCC,mCAAUK,UAAV,EACGwB,cADH,EAEG,CAAE3C,iBAAF,IAAuB,GAF1B,EAGGA,iBAAiB,GAClB;AAAG,IAAA,SAAS,EAAC;AAAb,KACG+B,YADH,CADkB,GAKlBA,YARF,CAjCD,CADD;AA+CA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'This is the Post Excerpt block, it will display the excerpt from single posts.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'If there are any Custom Post Types with support for excerpts, the Post Excerpt block can display the excerpts of those entries as well.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = !! renderedExcerpt\n\t\t? strippedRenderedExcerpt\n\t\t: rawExcerpt;\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.trim()\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.trim()\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.trim()\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt.trim().split( '', excerptLength );\n\t}\n\n\ttrimmedExcerpt = trimmedExcerpt + '...';\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( trimmedExcerpt !== '...' ? trimmedExcerpt : '' ) ||\n\t\t\t\t\t __( 'No post excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ trimmedExcerpt !== '...'\n\t\t\t\t? trimmedExcerpt\n\t\t\t\t: __( 'No post excerpt found' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t\tsetExcerpt();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -40,10 +40,15 @@ const metadata = {
40
40
  showMoreOnNewLine: {
41
41
  type: "boolean",
42
42
  "default": true
43
+ },
44
+ excerptLength: {
45
+ type: "number",
46
+ "default": 55
43
47
  }
44
48
  },
45
49
  usesContext: ["postId", "postType", "queryId"],
46
50
  supports: {
51
+ anchor: true,
47
52
  html: false,
48
53
  color: {
49
54
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"names":["name","metadata","settings","icon","transforms","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,kBADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/index.js"],"names":["name","metadata","settings","icon","transforms","edit","init"],"mappings":";;;;;;;;;AAGA;;AAKA;;AAEA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAGO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,kBADuB;AAEvBC,EAAAA,UAAU,EAAVA,mBAFuB;AAGvBC,EAAAA,IAAI,EAAJA;AAHuB,CAAjB;;;AAMA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEN,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postExcerpt as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport transforms from './transforms';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\ttransforms,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -38,6 +38,7 @@ const DimensionControls = _ref => {
38
38
  let {
39
39
  clientId,
40
40
  attributes: {
41
+ aspectRatio,
41
42
  width,
42
43
  height,
43
44
  scale,
@@ -69,6 +70,56 @@ const DimensionControls = _ref => {
69
70
  return (0, _element.createElement)(_blockEditor.InspectorControls, {
70
71
  group: "dimensions"
71
72
  }, (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
73
+ hasValue: () => !!aspectRatio,
74
+ label: (0, _i18n.__)('Aspect ratio'),
75
+ onDeselect: () => setAttributes({
76
+ aspectRatio: undefined
77
+ }),
78
+ resetAllFilter: () => ({
79
+ aspectRatio: undefined
80
+ }),
81
+ isShownByDefault: true,
82
+ panelId: clientId
83
+ }, (0, _element.createElement)(_components.SelectControl, {
84
+ __nextHasNoMarginBottom: true,
85
+ label: (0, _i18n.__)('Aspect ratio'),
86
+ value: aspectRatio,
87
+ options: [// These should use the same values as AspectRatioDropdown in @wordpress/block-editor
88
+ {
89
+ label: (0, _i18n.__)('Original'),
90
+ value: 'auto'
91
+ }, {
92
+ label: (0, _i18n.__)('Square'),
93
+ value: '1'
94
+ }, {
95
+ label: (0, _i18n.__)('16:10'),
96
+ value: '16/10'
97
+ }, {
98
+ label: (0, _i18n.__)('16:9'),
99
+ value: '16/9'
100
+ }, {
101
+ label: (0, _i18n.__)('4:3'),
102
+ value: '4/3'
103
+ }, {
104
+ label: (0, _i18n.__)('3:2'),
105
+ value: '3/2'
106
+ }, {
107
+ label: (0, _i18n.__)('10:16'),
108
+ value: '10/16'
109
+ }, {
110
+ label: (0, _i18n.__)('9:16'),
111
+ value: '9/16'
112
+ }, {
113
+ label: (0, _i18n.__)('3:4'),
114
+ value: '3/4'
115
+ }, {
116
+ label: (0, _i18n.__)('2:3'),
117
+ value: '2/3'
118
+ }],
119
+ onChange: nextAspectRatio => setAttributes({
120
+ aspectRatio: nextAspectRatio
121
+ })
122
+ })), (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
72
123
  className: "single-column",
73
124
  hasValue: () => !!height,
74
125
  label: (0, _i18n.__)('Height'),
@@ -106,7 +157,7 @@ const DimensionControls = _ref => {
106
157
  min: 0,
107
158
  onChange: nextWidth => onDimensionChange('width', nextWidth),
108
159
  units: units
109
- })), !!height && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
160
+ })), (height || aspectRatio) && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
110
161
  hasValue: () => !!scale && scale !== DEFAULT_SCALE,
111
162
  label: scaleLabel,
112
163
  onDeselect: () => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"names":["SCALE_OPTIONS","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","defaultUnits","units","availableUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","undefined","nextHeight","nextWidth","value","length","nextSizeSlug"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst defaultUnits = [ 'px', '%', 'vw', 'em', 'rem' ];\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || defaultUnits,\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ !! height && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"names":["SCALE_OPTIONS","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","imageSizeOptions","defaultUnits","units","availableUnits","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","undefined","label","value","nextAspectRatio","nextHeight","nextWidth","length","nextSizeSlug"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { InspectorControls, useSetting } from '@wordpress/block-editor';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\timageSizeOptions = [],\n} ) => {\n\tconst defaultUnits = [ 'px', '%', 'vw', 'em', 'rem' ];\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || defaultUnits,\n\t} );\n\tconst onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\treturn (\n\t\t<InspectorControls group=\"dimensions\">\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:10' ),\n\t\t\t\t\t\t\tvalue: '16/10',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '10:16' ),\n\t\t\t\t\t\t\tvalue: '10/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault={ true }\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ ( height || aspectRatio ) && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n};\n\nexport default DimensionControls;\n"]}
@@ -62,6 +62,7 @@ function PostFeaturedImageEdit(_ref) {
62
62
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
63
63
  const {
64
64
  isLink,
65
+ aspectRatio,
65
66
  height,
66
67
  width,
67
68
  scale,
@@ -107,7 +108,8 @@ function PostFeaturedImageEdit(_ref) {
107
108
  const blockProps = (0, _blockEditor.useBlockProps)({
108
109
  style: {
109
110
  width,
110
- height
111
+ height,
112
+ aspectRatio
111
113
  }
112
114
  });
113
115
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes);
@@ -116,7 +118,9 @@ function PostFeaturedImageEdit(_ref) {
116
118
  return (0, _element.createElement)(_components.Placeholder, {
117
119
  className: (0, _classnames.default)('block-editor-media-placeholder', borderProps.className),
118
120
  withIllustration: true,
119
- style: borderProps.style
121
+ style: { ...blockProps.style,
122
+ ...borderProps.style
123
+ }
120
124
  }, content);
121
125
  };
122
126
 
@@ -144,6 +148,7 @@ function PostFeaturedImageEdit(_ref) {
144
148
  }), (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
145
149
  title: (0, _i18n.__)('Link settings')
146
150
  }, (0, _element.createElement)(_components.ToggleControl, {
151
+ __nextHasNoMarginBottom: true,
147
152
  label: postType !== null && postType !== void 0 && postType.labels.singular_name ? (0, _i18n.sprintf)( // translators: %s: Name of the post type e.g: "post".
148
153
  (0, _i18n.__)('Link to %s'), postType.labels.singular_name.toLowerCase()) : (0, _i18n.__)('Link to post'),
149
154
  onChange: () => setAttributes({
@@ -151,6 +156,7 @@ function PostFeaturedImageEdit(_ref) {
151
156
  }),
152
157
  checked: isLink
153
158
  }), isLink && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.ToggleControl, {
159
+ __nextHasNoMarginBottom: true,
154
160
  label: (0, _i18n.__)('Open in new tab'),
155
161
  onChange: value => setAttributes({
156
162
  linkTarget: value ? '_blank' : '_self'
@@ -199,8 +205,9 @@ function PostFeaturedImageEdit(_ref) {
199
205
 
200
206
  const label = (0, _i18n.__)('Add a featured image');
201
207
  const imageStyles = { ...borderProps.style,
202
- height,
203
- objectFit: height && scale
208
+ height: !!aspectRatio && '100%' || height,
209
+ width: !!aspectRatio && '100%',
210
+ objectFit: !!(height || aspectRatio) && scale
204
211
  };
205
212
  /**
206
213
  * When the post featured image block is placed in a context where: