@wordpress/block-library 9.3.0 → 9.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 (853) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/avatar/edit.js +1 -0
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/block/edit.js +38 -23
  5. package/build/block/edit.js.map +1 -1
  6. package/build/button/edit.js +1 -1
  7. package/build/button/edit.js.map +1 -1
  8. package/build/buttons/index.js +26 -0
  9. package/build/buttons/index.js.map +1 -1
  10. package/build/categories/edit.js +20 -3
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +20 -0
  13. package/build/categories/index.js.map +1 -1
  14. package/build/column/edit.js +2 -2
  15. package/build/column/edit.js.map +1 -1
  16. package/build/column/index.js +2 -0
  17. package/build/column/index.js.map +1 -1
  18. package/build/columns/index.js +2 -2
  19. package/build/columns/index.js.map +1 -1
  20. package/build/comment-template/index.js +12 -0
  21. package/build/comment-template/index.js.map +1 -1
  22. package/build/comments-title/deprecated.js +3 -0
  23. package/build/comments-title/deprecated.js.map +1 -1
  24. package/build/comments-title/edit.js +3 -1
  25. package/build/comments-title/edit.js.map +1 -1
  26. package/build/comments-title/index.js +3 -0
  27. package/build/comments-title/index.js.map +1 -1
  28. package/build/cover/edit/inspector-controls.js +2 -1
  29. package/build/cover/edit/inspector-controls.js.map +1 -1
  30. package/build/details/edit.js +1 -0
  31. package/build/details/edit.js.map +1 -1
  32. package/build/embed/variations.js +39 -34
  33. package/build/embed/variations.js.map +1 -1
  34. package/build/footnotes/index.js +1 -1
  35. package/build/footnotes/index.js.map +1 -1
  36. package/build/form/edit.js +4 -4
  37. package/build/form/edit.js.map +1 -1
  38. package/build/form-input/edit.js +3 -0
  39. package/build/form-input/edit.js.map +1 -1
  40. package/build/gallery/edit.js +42 -8
  41. package/build/gallery/edit.js.map +1 -1
  42. package/build/gallery/gap-styles.js +1 -9
  43. package/build/gallery/gap-styles.js.map +1 -1
  44. package/build/gallery/index.js +10 -0
  45. package/build/gallery/index.js.map +1 -1
  46. package/build/gallery/use-image-sizes.js +2 -2
  47. package/build/gallery/use-image-sizes.js.map +1 -1
  48. package/build/group/deprecated.js +2 -5
  49. package/build/group/deprecated.js.map +1 -1
  50. package/build/group/index.js +27 -30
  51. package/build/group/index.js.map +1 -1
  52. package/build/group/variations.js +51 -3
  53. package/build/group/variations.js.map +1 -1
  54. package/build/heading/edit.js +2 -0
  55. package/build/heading/edit.js.map +1 -1
  56. package/build/heading/index.js +17 -1
  57. package/build/heading/index.js.map +1 -1
  58. package/build/image/edit.js +1 -1
  59. package/build/image/edit.js.map +1 -1
  60. package/build/image/image.js +24 -11
  61. package/build/image/image.js.map +1 -1
  62. package/build/image/index.js +3 -0
  63. package/build/image/index.js.map +1 -1
  64. package/build/image/view.js +65 -49
  65. package/build/image/view.js.map +1 -1
  66. package/build/latest-comments/index.js +9 -0
  67. package/build/latest-comments/index.js.map +1 -1
  68. package/build/latest-posts/edit.js +1 -0
  69. package/build/latest-posts/edit.js.map +1 -1
  70. package/build/list/edit.js +3 -3
  71. package/build/list/edit.js.map +1 -1
  72. package/build/list/index.js +1 -1
  73. package/build/list/ordered-list-settings.js +19 -17
  74. package/build/list/ordered-list-settings.js.map +1 -1
  75. package/build/list-item/edit.js +2 -2
  76. package/build/list-item/edit.js.map +1 -1
  77. package/build/list-item/hooks/index.js +0 -7
  78. package/build/list-item/hooks/index.js.map +1 -1
  79. package/build/list-item/index.js +3 -2
  80. package/build/list-item/index.js.map +1 -1
  81. package/build/loginout/index.js +14 -1
  82. package/build/loginout/index.js.map +1 -1
  83. package/build/media-text/index.js +12 -0
  84. package/build/media-text/index.js.map +1 -1
  85. package/build/navigation/edit/index.js +5 -4
  86. package/build/navigation/edit/index.js.map +1 -1
  87. package/build/navigation/edit/navigation-menu-delete-control.js +1 -0
  88. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  89. package/build/navigation/use-navigation-menu.js +5 -1
  90. package/build/navigation/use-navigation-menu.js.map +1 -1
  91. package/build/navigation-link/link-ui.js +13 -17
  92. package/build/navigation-link/link-ui.js.map +1 -1
  93. package/build/navigation-submenu/edit.js +0 -11
  94. package/build/navigation-submenu/edit.js.map +1 -1
  95. package/build/page-list/edit.js +1 -0
  96. package/build/page-list/edit.js.map +1 -1
  97. package/build/page-list-item/edit.js +4 -1
  98. package/build/page-list-item/edit.js.map +1 -1
  99. package/build/paragraph/index.js +6 -0
  100. package/build/paragraph/index.js.map +1 -1
  101. package/build/paragraph/transforms.js +6 -0
  102. package/build/paragraph/transforms.js.map +1 -1
  103. package/build/post-author/index.js +8 -0
  104. package/build/post-author/index.js.map +1 -1
  105. package/build/post-author-biography/index.js +3 -0
  106. package/build/post-author-biography/index.js.map +1 -1
  107. package/build/post-author-name/index.js +3 -0
  108. package/build/post-author-name/index.js.map +1 -1
  109. package/build/post-comments-form/index.js +12 -0
  110. package/build/post-comments-form/index.js.map +1 -1
  111. package/build/post-content/index.js +1 -0
  112. package/build/post-content/index.js.map +1 -1
  113. package/build/post-date/index.js +15 -0
  114. package/build/post-date/index.js.map +1 -1
  115. package/build/post-excerpt/edit.js +1 -0
  116. package/build/post-excerpt/edit.js.map +1 -1
  117. package/build/post-excerpt/index.js +12 -0
  118. package/build/post-excerpt/index.js.map +1 -1
  119. package/build/post-featured-image/index.js +3 -0
  120. package/build/post-featured-image/index.js.map +1 -1
  121. package/build/post-navigation-link/edit.js +2 -0
  122. package/build/post-navigation-link/edit.js.map +1 -1
  123. package/build/post-terms/index.js +15 -0
  124. package/build/post-terms/index.js.map +1 -1
  125. package/build/post-time-to-read/index.js +6 -0
  126. package/build/post-time-to-read/index.js.map +1 -1
  127. package/build/post-title/edit.js +9 -3
  128. package/build/post-title/edit.js.map +1 -1
  129. package/build/post-title/index.js +15 -0
  130. package/build/post-title/index.js.map +1 -1
  131. package/build/query/edit/inspector-controls/author-control.js +3 -1
  132. package/build/query/edit/inspector-controls/author-control.js.map +1 -1
  133. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  134. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  135. package/build/query/edit/inspector-controls/index.js +90 -12
  136. package/build/query/edit/inspector-controls/index.js.map +1 -1
  137. package/build/query/edit/inspector-controls/offset-controls.js +37 -0
  138. package/build/query/edit/inspector-controls/offset-controls.js.map +1 -0
  139. package/build/query/edit/inspector-controls/order-control.js +1 -0
  140. package/build/query/edit/inspector-controls/order-control.js.map +1 -1
  141. package/build/query/edit/inspector-controls/pages-control.js +36 -0
  142. package/build/query/edit/inspector-controls/pages-control.js.map +1 -0
  143. package/build/query/edit/inspector-controls/parent-control.js +2 -1
  144. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  145. package/build/query/edit/inspector-controls/per-page-control.js +40 -0
  146. package/build/query/edit/inspector-controls/per-page-control.js.map +1 -0
  147. package/build/query/edit/inspector-controls/sticky-control.js +2 -1
  148. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
  149. package/build/query/edit/inspector-controls/taxonomy-controls.js +5 -2
  150. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  151. package/build/query/edit/query-content.js +11 -2
  152. package/build/query/edit/query-content.js.map +1 -1
  153. package/build/query/edit/query-placeholder.js +1 -14
  154. package/build/query/edit/query-placeholder.js.map +1 -1
  155. package/build/query/edit/query-toolbar.js +3 -76
  156. package/build/query/edit/query-toolbar.js.map +1 -1
  157. package/build/query/utils.js +15 -6
  158. package/build/query/utils.js.map +1 -1
  159. package/build/query/variations.js +9 -55
  160. package/build/query/variations.js.map +1 -1
  161. package/build/query-pagination-numbers/edit.js +1 -0
  162. package/build/query-pagination-numbers/edit.js.map +1 -1
  163. package/build/query-title/edit.js +13 -19
  164. package/build/query-title/edit.js.map +1 -1
  165. package/build/query-title/index.js +3 -0
  166. package/build/query-title/index.js.map +1 -1
  167. package/build/query-title/use-archive-label.js +95 -0
  168. package/build/query-title/use-archive-label.js.map +1 -0
  169. package/build/quote/index.js +15 -1
  170. package/build/quote/index.js.map +1 -1
  171. package/build/search/index.js +3 -0
  172. package/build/search/index.js.map +1 -1
  173. package/build/site-logo/edit.js +19 -9
  174. package/build/site-logo/edit.js.map +1 -1
  175. package/build/site-tagline/edit.js +8 -5
  176. package/build/site-tagline/edit.js.map +1 -1
  177. package/build/site-tagline/index.js +18 -2
  178. package/build/site-tagline/index.js.map +1 -1
  179. package/build/site-title/edit.js +6 -3
  180. package/build/site-title/edit.js.map +1 -1
  181. package/build/site-title/index.js +16 -1
  182. package/build/site-title/index.js.map +1 -1
  183. package/build/social-link/edit.js +0 -1
  184. package/build/social-link/edit.js.map +1 -1
  185. package/build/social-link/icons/soundcloud.js +1 -1
  186. package/build/social-link/icons/soundcloud.js.map +1 -1
  187. package/build/social-links/index.js +12 -0
  188. package/build/social-links/index.js.map +1 -1
  189. package/build/spacer/controls.js +8 -13
  190. package/build/spacer/controls.js.map +1 -1
  191. package/build/table-of-contents/index.js +14 -1
  192. package/build/table-of-contents/index.js.map +1 -1
  193. package/build/tag-cloud/edit.js +42 -33
  194. package/build/tag-cloud/edit.js.map +1 -1
  195. package/build/tag-cloud/index.js +1 -1
  196. package/build/template-part/edit/index.js +8 -5
  197. package/build/template-part/edit/index.js.map +1 -1
  198. package/build/template-part/edit/inner-blocks.js +11 -4
  199. package/build/template-part/edit/inner-blocks.js.map +1 -1
  200. package/build/template-part/edit/placeholder.js +23 -3
  201. package/build/template-part/edit/placeholder.js.map +1 -1
  202. package/build/template-part/edit/title-modal.js +20 -8
  203. package/build/template-part/edit/title-modal.js.map +1 -1
  204. package/build/term-description/index.js +12 -0
  205. package/build/term-description/index.js.map +1 -1
  206. package/build/utils/hooks.js +5 -1
  207. package/build/utils/hooks.js.map +1 -1
  208. package/build-module/avatar/edit.js +1 -0
  209. package/build-module/avatar/edit.js.map +1 -1
  210. package/build-module/block/edit.js +38 -23
  211. package/build-module/block/edit.js.map +1 -1
  212. package/build-module/button/edit.js +1 -1
  213. package/build-module/button/edit.js.map +1 -1
  214. package/build-module/buttons/index.js +26 -0
  215. package/build-module/buttons/index.js.map +1 -1
  216. package/build-module/categories/edit.js +21 -4
  217. package/build-module/categories/edit.js.map +1 -1
  218. package/build-module/categories/index.js +20 -0
  219. package/build-module/categories/index.js.map +1 -1
  220. package/build-module/column/edit.js +2 -2
  221. package/build-module/column/edit.js.map +1 -1
  222. package/build-module/column/index.js +2 -0
  223. package/build-module/column/index.js.map +1 -1
  224. package/build-module/columns/index.js +2 -2
  225. package/build-module/columns/index.js.map +1 -1
  226. package/build-module/comment-template/index.js +12 -0
  227. package/build-module/comment-template/index.js.map +1 -1
  228. package/build-module/comments-title/deprecated.js +3 -0
  229. package/build-module/comments-title/deprecated.js.map +1 -1
  230. package/build-module/comments-title/edit.js +3 -1
  231. package/build-module/comments-title/edit.js.map +1 -1
  232. package/build-module/comments-title/index.js +3 -0
  233. package/build-module/comments-title/index.js.map +1 -1
  234. package/build-module/cover/edit/inspector-controls.js +2 -1
  235. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  236. package/build-module/details/edit.js +1 -0
  237. package/build-module/details/edit.js.map +1 -1
  238. package/build-module/embed/variations.js +40 -35
  239. package/build-module/embed/variations.js.map +1 -1
  240. package/build-module/footnotes/index.js +1 -1
  241. package/build-module/footnotes/index.js.map +1 -1
  242. package/build-module/form/edit.js +4 -4
  243. package/build-module/form/edit.js.map +1 -1
  244. package/build-module/form-input/edit.js +3 -0
  245. package/build-module/form-input/edit.js.map +1 -1
  246. package/build-module/gallery/edit.js +43 -9
  247. package/build-module/gallery/edit.js.map +1 -1
  248. package/build-module/gallery/gap-styles.js +1 -9
  249. package/build-module/gallery/gap-styles.js.map +1 -1
  250. package/build-module/gallery/index.js +10 -0
  251. package/build-module/gallery/index.js.map +1 -1
  252. package/build-module/gallery/use-image-sizes.js +2 -2
  253. package/build-module/gallery/use-image-sizes.js.map +1 -1
  254. package/build-module/group/deprecated.js +2 -5
  255. package/build-module/group/deprecated.js.map +1 -1
  256. package/build-module/group/index.js +27 -30
  257. package/build-module/group/index.js.map +1 -1
  258. package/build-module/group/variations.js +51 -3
  259. package/build-module/group/variations.js.map +1 -1
  260. package/build-module/heading/edit.js +2 -0
  261. package/build-module/heading/edit.js.map +1 -1
  262. package/build-module/heading/index.js +17 -1
  263. package/build-module/heading/index.js.map +1 -1
  264. package/build-module/image/edit.js +1 -1
  265. package/build-module/image/edit.js.map +1 -1
  266. package/build-module/image/image.js +25 -12
  267. package/build-module/image/image.js.map +1 -1
  268. package/build-module/image/index.js +3 -0
  269. package/build-module/image/index.js.map +1 -1
  270. package/build-module/image/view.js +65 -49
  271. package/build-module/image/view.js.map +1 -1
  272. package/build-module/latest-comments/index.js +9 -0
  273. package/build-module/latest-comments/index.js.map +1 -1
  274. package/build-module/latest-posts/edit.js +1 -0
  275. package/build-module/latest-posts/edit.js.map +1 -1
  276. package/build-module/list/edit.js +3 -3
  277. package/build-module/list/edit.js.map +1 -1
  278. package/build-module/list/index.js +1 -1
  279. package/build-module/list/ordered-list-settings.js +19 -17
  280. package/build-module/list/ordered-list-settings.js.map +1 -1
  281. package/build-module/list-item/edit.js +2 -2
  282. package/build-module/list-item/edit.js.map +1 -1
  283. package/build-module/list-item/hooks/index.js +0 -1
  284. package/build-module/list-item/hooks/index.js.map +1 -1
  285. package/build-module/list-item/index.js +3 -2
  286. package/build-module/list-item/index.js.map +1 -1
  287. package/build-module/loginout/index.js +14 -1
  288. package/build-module/loginout/index.js.map +1 -1
  289. package/build-module/media-text/index.js +12 -0
  290. package/build-module/media-text/index.js.map +1 -1
  291. package/build-module/navigation/edit/index.js +5 -4
  292. package/build-module/navigation/edit/index.js.map +1 -1
  293. package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -0
  294. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  295. package/build-module/navigation/use-navigation-menu.js +5 -1
  296. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  297. package/build-module/navigation-link/link-ui.js +13 -17
  298. package/build-module/navigation-link/link-ui.js.map +1 -1
  299. package/build-module/navigation-submenu/edit.js +0 -11
  300. package/build-module/navigation-submenu/edit.js.map +1 -1
  301. package/build-module/page-list/edit.js +1 -0
  302. package/build-module/page-list/edit.js.map +1 -1
  303. package/build-module/page-list-item/edit.js +4 -1
  304. package/build-module/page-list-item/edit.js.map +1 -1
  305. package/build-module/paragraph/index.js +6 -0
  306. package/build-module/paragraph/index.js.map +1 -1
  307. package/build-module/paragraph/transforms.js +6 -0
  308. package/build-module/paragraph/transforms.js.map +1 -1
  309. package/build-module/post-author/index.js +8 -0
  310. package/build-module/post-author/index.js.map +1 -1
  311. package/build-module/post-author-biography/index.js +3 -0
  312. package/build-module/post-author-biography/index.js.map +1 -1
  313. package/build-module/post-author-name/index.js +3 -0
  314. package/build-module/post-author-name/index.js.map +1 -1
  315. package/build-module/post-comments-form/index.js +12 -0
  316. package/build-module/post-comments-form/index.js.map +1 -1
  317. package/build-module/post-content/index.js +1 -0
  318. package/build-module/post-content/index.js.map +1 -1
  319. package/build-module/post-date/index.js +15 -0
  320. package/build-module/post-date/index.js.map +1 -1
  321. package/build-module/post-excerpt/edit.js +1 -0
  322. package/build-module/post-excerpt/edit.js.map +1 -1
  323. package/build-module/post-excerpt/index.js +12 -0
  324. package/build-module/post-excerpt/index.js.map +1 -1
  325. package/build-module/post-featured-image/index.js +3 -0
  326. package/build-module/post-featured-image/index.js.map +1 -1
  327. package/build-module/post-navigation-link/edit.js +2 -0
  328. package/build-module/post-navigation-link/edit.js.map +1 -1
  329. package/build-module/post-terms/index.js +15 -0
  330. package/build-module/post-terms/index.js.map +1 -1
  331. package/build-module/post-time-to-read/index.js +6 -0
  332. package/build-module/post-time-to-read/index.js.map +1 -1
  333. package/build-module/post-title/edit.js +9 -3
  334. package/build-module/post-title/edit.js.map +1 -1
  335. package/build-module/post-title/index.js +15 -0
  336. package/build-module/post-title/index.js.map +1 -1
  337. package/build-module/query/edit/inspector-controls/author-control.js +3 -1
  338. package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
  339. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  340. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
  341. package/build-module/query/edit/inspector-controls/index.js +92 -14
  342. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  343. package/build-module/query/edit/inspector-controls/offset-controls.js +29 -0
  344. package/build-module/query/edit/inspector-controls/offset-controls.js.map +1 -0
  345. package/build-module/query/edit/inspector-controls/order-control.js +1 -0
  346. package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
  347. package/build-module/query/edit/inspector-controls/pages-control.js +28 -0
  348. package/build-module/query/edit/inspector-controls/pages-control.js.map +1 -0
  349. package/build-module/query/edit/inspector-controls/parent-control.js +2 -1
  350. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  351. package/build-module/query/edit/inspector-controls/per-page-control.js +33 -0
  352. package/build-module/query/edit/inspector-controls/per-page-control.js.map +1 -0
  353. package/build-module/query/edit/inspector-controls/sticky-control.js +2 -1
  354. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
  355. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +6 -4
  356. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  357. package/build-module/query/edit/query-content.js +11 -2
  358. package/build-module/query/edit/query-content.js.map +1 -1
  359. package/build-module/query/edit/query-placeholder.js +1 -14
  360. package/build-module/query/edit/query-placeholder.js.map +1 -1
  361. package/build-module/query/edit/query-toolbar.js +4 -78
  362. package/build-module/query/edit/query-toolbar.js.map +1 -1
  363. package/build-module/query/utils.js +15 -6
  364. package/build-module/query/utils.js.map +1 -1
  365. package/build-module/query/variations.js +4 -50
  366. package/build-module/query/variations.js.map +1 -1
  367. package/build-module/query-pagination-numbers/edit.js +1 -0
  368. package/build-module/query-pagination-numbers/edit.js.map +1 -1
  369. package/build-module/query-title/edit.js +14 -20
  370. package/build-module/query-title/edit.js.map +1 -1
  371. package/build-module/query-title/index.js +3 -0
  372. package/build-module/query-title/index.js.map +1 -1
  373. package/build-module/query-title/use-archive-label.js +88 -0
  374. package/build-module/query-title/use-archive-label.js.map +1 -0
  375. package/build-module/quote/index.js +15 -1
  376. package/build-module/quote/index.js.map +1 -1
  377. package/build-module/search/index.js +3 -0
  378. package/build-module/search/index.js.map +1 -1
  379. package/build-module/site-logo/edit.js +19 -9
  380. package/build-module/site-logo/edit.js.map +1 -1
  381. package/build-module/site-tagline/edit.js +8 -5
  382. package/build-module/site-tagline/edit.js.map +1 -1
  383. package/build-module/site-tagline/index.js +18 -2
  384. package/build-module/site-tagline/index.js.map +1 -1
  385. package/build-module/site-title/edit.js +6 -3
  386. package/build-module/site-title/edit.js.map +1 -1
  387. package/build-module/site-title/index.js +16 -1
  388. package/build-module/site-title/index.js.map +1 -1
  389. package/build-module/social-link/edit.js +0 -1
  390. package/build-module/social-link/edit.js.map +1 -1
  391. package/build-module/social-link/icons/soundcloud.js +1 -1
  392. package/build-module/social-link/icons/soundcloud.js.map +1 -1
  393. package/build-module/social-links/index.js +12 -0
  394. package/build-module/social-links/index.js.map +1 -1
  395. package/build-module/spacer/controls.js +9 -14
  396. package/build-module/spacer/controls.js.map +1 -1
  397. package/build-module/table-of-contents/index.js +14 -1
  398. package/build-module/table-of-contents/index.js.map +1 -1
  399. package/build-module/tag-cloud/edit.js +43 -34
  400. package/build-module/tag-cloud/edit.js.map +1 -1
  401. package/build-module/tag-cloud/index.js +1 -1
  402. package/build-module/template-part/edit/index.js +8 -5
  403. package/build-module/template-part/edit/index.js.map +1 -1
  404. package/build-module/template-part/edit/inner-blocks.js +11 -4
  405. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  406. package/build-module/template-part/edit/placeholder.js +23 -3
  407. package/build-module/template-part/edit/placeholder.js.map +1 -1
  408. package/build-module/template-part/edit/title-modal.js +20 -8
  409. package/build-module/template-part/edit/title-modal.js.map +1 -1
  410. package/build-module/term-description/index.js +12 -0
  411. package/build-module/term-description/index.js.map +1 -1
  412. package/build-module/utils/hooks.js +5 -1
  413. package/build-module/utils/hooks.js.map +1 -1
  414. package/build-style/archives/editor-rtl.css +3 -0
  415. package/build-style/archives/editor.css +3 -0
  416. package/build-style/archives/style-rtl.css +3 -0
  417. package/build-style/archives/style.css +3 -0
  418. package/build-style/audio/editor-rtl.css +3 -0
  419. package/build-style/audio/editor.css +3 -0
  420. package/build-style/audio/style-rtl.css +3 -0
  421. package/build-style/audio/style.css +3 -0
  422. package/build-style/audio/theme-rtl.css +3 -0
  423. package/build-style/audio/theme.css +3 -0
  424. package/build-style/avatar/editor-rtl.css +3 -0
  425. package/build-style/avatar/editor.css +3 -0
  426. package/build-style/avatar/style-rtl.css +3 -0
  427. package/build-style/avatar/style.css +3 -0
  428. package/build-style/button/editor-rtl.css +3 -0
  429. package/build-style/button/editor.css +3 -0
  430. package/build-style/button/style-rtl.css +3 -0
  431. package/build-style/button/style.css +3 -0
  432. package/build-style/buttons/editor-rtl.css +3 -0
  433. package/build-style/buttons/editor.css +3 -0
  434. package/build-style/buttons/style-rtl.css +3 -0
  435. package/build-style/buttons/style.css +3 -0
  436. package/build-style/calendar/style-rtl.css +3 -0
  437. package/build-style/calendar/style.css +3 -0
  438. package/build-style/categories/editor-rtl.css +7 -0
  439. package/build-style/categories/editor.css +7 -0
  440. package/build-style/categories/style-rtl.css +7 -0
  441. package/build-style/categories/style.css +7 -0
  442. package/build-style/classic-rtl.css +3 -0
  443. package/build-style/classic.css +3 -0
  444. package/build-style/code/editor-rtl.css +3 -0
  445. package/build-style/code/editor.css +3 -0
  446. package/build-style/code/style-rtl.css +3 -0
  447. package/build-style/code/style.css +3 -0
  448. package/build-style/code/theme-rtl.css +3 -0
  449. package/build-style/code/theme.css +3 -0
  450. package/build-style/columns/editor-rtl.css +3 -0
  451. package/build-style/columns/editor.css +3 -0
  452. package/build-style/columns/style-rtl.css +3 -0
  453. package/build-style/columns/style.css +3 -0
  454. package/build-style/comment-author-avatar/editor-rtl.css +3 -0
  455. package/build-style/comment-author-avatar/editor.css +3 -0
  456. package/build-style/comment-content/style-rtl.css +3 -0
  457. package/build-style/comment-content/style.css +3 -0
  458. package/build-style/comment-template/style-rtl.css +3 -0
  459. package/build-style/comment-template/style.css +3 -0
  460. package/build-style/comments/editor-rtl.css +3 -0
  461. package/build-style/comments/editor.css +3 -0
  462. package/build-style/comments/style-rtl.css +3 -0
  463. package/build-style/comments/style.css +3 -0
  464. package/build-style/comments-pagination/editor-rtl.css +3 -0
  465. package/build-style/comments-pagination/editor.css +3 -0
  466. package/build-style/comments-pagination/style-rtl.css +3 -0
  467. package/build-style/comments-pagination/style.css +3 -0
  468. package/build-style/comments-pagination-numbers/editor-rtl.css +3 -0
  469. package/build-style/comments-pagination-numbers/editor.css +3 -0
  470. package/build-style/comments-title/editor-rtl.css +3 -0
  471. package/build-style/comments-title/editor.css +3 -0
  472. package/build-style/common-rtl.css +3 -0
  473. package/build-style/common.css +3 -0
  474. package/build-style/cover/editor-rtl.css +3 -0
  475. package/build-style/cover/editor.css +3 -0
  476. package/build-style/cover/style-rtl.css +3 -0
  477. package/build-style/cover/style.css +3 -0
  478. package/build-style/details/editor-rtl.css +3 -0
  479. package/build-style/details/editor.css +3 -0
  480. package/build-style/details/style-rtl.css +3 -0
  481. package/build-style/details/style.css +3 -0
  482. package/build-style/editor-elements-rtl.css +3 -0
  483. package/build-style/editor-elements.css +3 -0
  484. package/build-style/editor-rtl.css +29 -42
  485. package/build-style/editor.css +29 -42
  486. package/build-style/elements-rtl.css +3 -0
  487. package/build-style/elements.css +3 -0
  488. package/build-style/embed/editor-rtl.css +3 -0
  489. package/build-style/embed/editor.css +3 -0
  490. package/build-style/embed/style-rtl.css +3 -0
  491. package/build-style/embed/style.css +3 -0
  492. package/build-style/embed/theme-rtl.css +3 -0
  493. package/build-style/embed/theme.css +3 -0
  494. package/build-style/file/editor-rtl.css +3 -0
  495. package/build-style/file/editor.css +3 -0
  496. package/build-style/file/style-rtl.css +3 -0
  497. package/build-style/file/style.css +3 -0
  498. package/build-style/footnotes/style-rtl.css +3 -0
  499. package/build-style/footnotes/style.css +3 -0
  500. package/build-style/form-input/editor-rtl.css +3 -0
  501. package/build-style/form-input/editor.css +3 -0
  502. package/build-style/form-input/style-rtl.css +4 -0
  503. package/build-style/form-input/style.css +4 -0
  504. package/build-style/form-submission-notification/editor-rtl.css +3 -0
  505. package/build-style/form-submission-notification/editor.css +3 -0
  506. package/build-style/form-submit-button/style-rtl.css +3 -0
  507. package/build-style/form-submit-button/style.css +3 -0
  508. package/build-style/freeform/editor-rtl.css +3 -0
  509. package/build-style/freeform/editor.css +3 -0
  510. package/build-style/gallery/editor-rtl.css +3 -1
  511. package/build-style/gallery/editor.css +3 -1
  512. package/build-style/gallery/style-rtl.css +3 -0
  513. package/build-style/gallery/style.css +3 -0
  514. package/build-style/gallery/theme-rtl.css +3 -0
  515. package/build-style/gallery/theme.css +3 -0
  516. package/build-style/group/editor-rtl.css +3 -11
  517. package/build-style/group/editor.css +3 -11
  518. package/build-style/group/style-rtl.css +3 -0
  519. package/build-style/group/style.css +3 -0
  520. package/build-style/group/theme-rtl.css +3 -0
  521. package/build-style/group/theme.css +3 -0
  522. package/build-style/heading/style-rtl.css +3 -0
  523. package/build-style/heading/style.css +3 -0
  524. package/build-style/html/editor-rtl.css +3 -0
  525. package/build-style/html/editor.css +3 -0
  526. package/build-style/image/editor-rtl.css +19 -4
  527. package/build-style/image/editor.css +19 -4
  528. package/build-style/image/style-rtl.css +22 -0
  529. package/build-style/image/style.css +22 -0
  530. package/build-style/image/theme-rtl.css +3 -0
  531. package/build-style/image/theme.css +3 -0
  532. package/build-style/latest-comments/style-rtl.css +3 -0
  533. package/build-style/latest-comments/style.css +3 -0
  534. package/build-style/latest-posts/editor-rtl.css +3 -3
  535. package/build-style/latest-posts/editor.css +3 -3
  536. package/build-style/latest-posts/style-rtl.css +3 -0
  537. package/build-style/latest-posts/style.css +3 -0
  538. package/build-style/list/style-rtl.css +4 -1
  539. package/build-style/list/style.css +4 -1
  540. package/build-style/loginout/style-rtl.css +94 -0
  541. package/build-style/loginout/style.css +94 -0
  542. package/build-style/media-text/editor-rtl.css +3 -0
  543. package/build-style/media-text/editor.css +3 -0
  544. package/build-style/media-text/style-rtl.css +3 -0
  545. package/build-style/media-text/style.css +3 -0
  546. package/build-style/more/editor-rtl.css +3 -0
  547. package/build-style/more/editor.css +3 -0
  548. package/build-style/navigation/editor-rtl.css +3 -12
  549. package/build-style/navigation/editor.css +3 -12
  550. package/build-style/navigation/style-rtl.css +4 -4
  551. package/build-style/navigation/style.css +4 -4
  552. package/build-style/navigation-link/editor-rtl.css +3 -0
  553. package/build-style/navigation-link/editor.css +3 -0
  554. package/build-style/navigation-link/style-rtl.css +3 -0
  555. package/build-style/navigation-link/style.css +3 -0
  556. package/build-style/navigation-submenu/editor-rtl.css +3 -0
  557. package/build-style/navigation-submenu/editor.css +3 -0
  558. package/build-style/nextpage/editor-rtl.css +3 -0
  559. package/build-style/nextpage/editor.css +3 -0
  560. package/build-style/page-list/editor-rtl.css +3 -0
  561. package/build-style/page-list/editor.css +3 -0
  562. package/build-style/page-list/style-rtl.css +3 -0
  563. package/build-style/page-list/style.css +3 -0
  564. package/build-style/paragraph/editor-rtl.css +3 -0
  565. package/build-style/paragraph/editor.css +3 -0
  566. package/build-style/paragraph/style-rtl.css +3 -0
  567. package/build-style/paragraph/style.css +3 -0
  568. package/build-style/post-author/style-rtl.css +3 -0
  569. package/build-style/post-author/style.css +3 -0
  570. package/build-style/post-comments-form/editor-rtl.css +3 -0
  571. package/build-style/post-comments-form/editor.css +3 -0
  572. package/build-style/post-comments-form/style-rtl.css +4 -1
  573. package/build-style/post-comments-form/style.css +4 -1
  574. package/build-style/post-content/editor-rtl.css +3 -0
  575. package/build-style/post-content/editor.css +3 -0
  576. package/build-style/post-content/style-rtl.css +96 -0
  577. package/build-style/post-content/style.css +96 -0
  578. package/build-style/post-date/style-rtl.css +3 -0
  579. package/build-style/post-date/style.css +3 -0
  580. package/build-style/post-excerpt/editor-rtl.css +3 -0
  581. package/build-style/post-excerpt/editor.css +3 -0
  582. package/build-style/post-excerpt/style-rtl.css +4 -0
  583. package/build-style/post-excerpt/style.css +4 -0
  584. package/build-style/post-featured-image/editor-rtl.css +3 -0
  585. package/build-style/post-featured-image/editor.css +3 -0
  586. package/build-style/post-featured-image/style-rtl.css +3 -0
  587. package/build-style/post-featured-image/style.css +3 -0
  588. package/build-style/post-navigation-link/style-rtl.css +3 -0
  589. package/build-style/post-navigation-link/style.css +3 -0
  590. package/build-style/post-template/editor-rtl.css +3 -0
  591. package/build-style/post-template/editor.css +3 -0
  592. package/build-style/post-template/style-rtl.css +3 -0
  593. package/build-style/post-template/style.css +3 -0
  594. package/build-style/post-terms/style-rtl.css +3 -0
  595. package/build-style/post-terms/style.css +3 -0
  596. package/build-style/post-time-to-read/style-rtl.css +3 -0
  597. package/build-style/post-time-to-read/style.css +3 -0
  598. package/build-style/post-title/style-rtl.css +3 -0
  599. package/build-style/post-title/style.css +3 -0
  600. package/build-style/preformatted/style-rtl.css +3 -0
  601. package/build-style/preformatted/style.css +3 -0
  602. package/build-style/pullquote/editor-rtl.css +3 -0
  603. package/build-style/pullquote/editor.css +3 -0
  604. package/build-style/pullquote/style-rtl.css +3 -0
  605. package/build-style/pullquote/style.css +3 -0
  606. package/build-style/pullquote/theme-rtl.css +3 -0
  607. package/build-style/pullquote/theme.css +3 -0
  608. package/build-style/query/editor-rtl.css +3 -7
  609. package/build-style/query/editor.css +3 -7
  610. package/build-style/query-pagination/editor-rtl.css +3 -0
  611. package/build-style/query-pagination/editor.css +3 -0
  612. package/build-style/query-pagination/style-rtl.css +3 -0
  613. package/build-style/query-pagination/style.css +3 -0
  614. package/build-style/query-pagination-numbers/editor-rtl.css +3 -0
  615. package/build-style/query-pagination-numbers/editor.css +3 -0
  616. package/build-style/query-title/style-rtl.css +3 -0
  617. package/build-style/query-title/style.css +3 -0
  618. package/build-style/quote/style-rtl.css +3 -0
  619. package/build-style/quote/style.css +3 -0
  620. package/build-style/quote/theme-rtl.css +6 -3
  621. package/build-style/quote/theme.css +6 -3
  622. package/build-style/read-more/style-rtl.css +3 -0
  623. package/build-style/read-more/style.css +3 -0
  624. package/build-style/reset-rtl.css +3 -0
  625. package/build-style/reset.css +3 -0
  626. package/build-style/rss/editor-rtl.css +3 -0
  627. package/build-style/rss/editor.css +3 -0
  628. package/build-style/rss/style-rtl.css +3 -0
  629. package/build-style/rss/style.css +3 -0
  630. package/build-style/search/editor-rtl.css +4 -1
  631. package/build-style/search/editor.css +4 -1
  632. package/build-style/search/style-rtl.css +3 -0
  633. package/build-style/search/style.css +3 -0
  634. package/build-style/search/theme-rtl.css +3 -0
  635. package/build-style/search/theme.css +3 -0
  636. package/build-style/separator/editor-rtl.css +3 -0
  637. package/build-style/separator/editor.css +3 -0
  638. package/build-style/separator/style-rtl.css +3 -0
  639. package/build-style/separator/style.css +3 -0
  640. package/build-style/separator/theme-rtl.css +3 -0
  641. package/build-style/separator/theme.css +3 -0
  642. package/build-style/shortcode/editor-rtl.css +3 -0
  643. package/build-style/shortcode/editor.css +3 -0
  644. package/build-style/site-logo/editor-rtl.css +3 -0
  645. package/build-style/site-logo/editor.css +3 -0
  646. package/build-style/site-logo/style-rtl.css +3 -0
  647. package/build-style/site-logo/style.css +3 -0
  648. package/build-style/site-tagline/editor-rtl.css +3 -0
  649. package/build-style/site-tagline/editor.css +3 -0
  650. package/build-style/site-tagline/style-rtl.css +94 -0
  651. package/build-style/site-tagline/style.css +94 -0
  652. package/build-style/site-title/editor-rtl.css +3 -0
  653. package/build-style/site-title/editor.css +3 -0
  654. package/build-style/site-title/style-rtl.css +7 -1
  655. package/build-style/site-title/style.css +7 -1
  656. package/build-style/social-link/editor-rtl.css +3 -0
  657. package/build-style/social-link/editor.css +3 -0
  658. package/build-style/social-links/editor-rtl.css +3 -0
  659. package/build-style/social-links/editor.css +3 -0
  660. package/build-style/social-links/style-rtl.css +5 -2
  661. package/build-style/social-links/style.css +5 -2
  662. package/build-style/spacer/editor-rtl.css +3 -0
  663. package/build-style/spacer/editor.css +3 -0
  664. package/build-style/spacer/style-rtl.css +3 -0
  665. package/build-style/spacer/style.css +3 -0
  666. package/build-style/style-rtl.css +56 -9
  667. package/build-style/style.css +56 -9
  668. package/build-style/table/editor-rtl.css +3 -0
  669. package/build-style/table/editor.css +3 -0
  670. package/build-style/table/style-rtl.css +3 -0
  671. package/build-style/table/style.css +3 -0
  672. package/build-style/table/theme-rtl.css +3 -0
  673. package/build-style/table/theme.css +3 -0
  674. package/build-style/table-of-contents/style-rtl.css +94 -0
  675. package/build-style/table-of-contents/style.css +94 -0
  676. package/build-style/tag-cloud/editor-rtl.css +95 -0
  677. package/build-style/tag-cloud/editor.css +95 -0
  678. package/build-style/tag-cloud/style-rtl.css +3 -0
  679. package/build-style/tag-cloud/style.css +3 -0
  680. package/build-style/template-part/editor-rtl.css +3 -0
  681. package/build-style/template-part/editor.css +3 -0
  682. package/build-style/template-part/theme-rtl.css +3 -0
  683. package/build-style/template-part/theme.css +3 -0
  684. package/build-style/term-description/style-rtl.css +4 -0
  685. package/build-style/term-description/style.css +4 -0
  686. package/build-style/text-columns/editor-rtl.css +3 -0
  687. package/build-style/text-columns/editor.css +3 -0
  688. package/build-style/text-columns/style-rtl.css +3 -0
  689. package/build-style/text-columns/style.css +3 -0
  690. package/build-style/theme-rtl.css +6 -3
  691. package/build-style/theme.css +6 -3
  692. package/build-style/verse/style-rtl.css +3 -0
  693. package/build-style/verse/style.css +3 -0
  694. package/build-style/video/editor-rtl.css +3 -3
  695. package/build-style/video/editor.css +3 -3
  696. package/build-style/video/style-rtl.css +3 -0
  697. package/build-style/video/style.css +3 -0
  698. package/build-style/video/theme-rtl.css +3 -0
  699. package/build-style/video/theme.css +3 -0
  700. package/package.json +35 -35
  701. package/src/avatar/edit.js +1 -0
  702. package/src/block/edit.js +58 -27
  703. package/src/block/test/edit.native.js +6 -2
  704. package/src/button/edit.js +1 -1
  705. package/src/button/index.php +1 -14
  706. package/src/buttons/block.json +20 -0
  707. package/src/buttons/index.js +6 -0
  708. package/src/categories/block.json +20 -0
  709. package/src/categories/edit.js +32 -4
  710. package/src/categories/editor.scss +4 -0
  711. package/src/categories/index.php +4 -1
  712. package/src/categories/style.scss +4 -0
  713. package/src/column/block.json +2 -0
  714. package/src/column/edit.js +2 -2
  715. package/src/columns/index.js +1 -1
  716. package/src/comment-template/block.json +12 -0
  717. package/src/comments-title/block.json +3 -0
  718. package/src/comments-title/edit.js +8 -1
  719. package/src/cover/edit/inspector-controls.js +1 -0
  720. package/src/details/edit.js +1 -0
  721. package/src/editor.scss +1 -0
  722. package/src/embed/test/__snapshots__/index.native.js.snap +8 -8
  723. package/src/embed/test/index.js +1 -1
  724. package/src/embed/test/index.native.js +24 -23
  725. package/src/embed/variations.js +43 -35
  726. package/src/footnotes/index.js +1 -2
  727. package/src/form/edit.js +3 -2
  728. package/src/form-input/edit.js +3 -0
  729. package/src/form-input/style.scss +1 -0
  730. package/src/gallery/block.json +10 -0
  731. package/src/gallery/edit.js +75 -13
  732. package/src/gallery/editor.scss +0 -1
  733. package/src/gallery/gap-styles.js +1 -8
  734. package/src/gallery/test/__snapshots__/index.native.js.snap +1 -1
  735. package/src/gallery/test/index.native.js +5 -5
  736. package/src/gallery/use-image-sizes.js +2 -2
  737. package/src/group/deprecated.js +3 -7
  738. package/src/group/editor.scss +1 -1
  739. package/src/group/index.js +26 -29
  740. package/src/group/variations.js +56 -0
  741. package/src/heading/block.json +15 -0
  742. package/src/heading/edit.js +3 -1
  743. package/src/heading/index.js +1 -0
  744. package/src/image/block.json +3 -0
  745. package/src/image/edit.js +1 -1
  746. package/src/image/editor.scss +18 -1
  747. package/src/image/image.js +55 -35
  748. package/src/image/index.php +32 -15
  749. package/src/image/style.scss +22 -0
  750. package/src/image/test/edit.native.js +1 -0
  751. package/src/image/view.js +69 -49
  752. package/src/latest-comments/block.json +9 -0
  753. package/src/latest-posts/edit.js +1 -0
  754. package/src/latest-posts/editor.scss +0 -4
  755. package/src/list/block.json +1 -1
  756. package/src/list/edit.js +3 -3
  757. package/src/list/ordered-list-settings.js +20 -18
  758. package/src/list/style.scss +1 -1
  759. package/src/list/test/edit.native.js +1 -3
  760. package/src/list-item/block.json +3 -2
  761. package/src/list-item/edit.js +2 -2
  762. package/src/list-item/hooks/index.js +0 -1
  763. package/src/loginout/block.json +14 -1
  764. package/src/loginout/style.scss +4 -0
  765. package/src/media-text/block.json +12 -0
  766. package/src/media-text/style.native.scss +2 -0
  767. package/src/navigation/edit/index.js +5 -5
  768. package/src/navigation/edit/navigation-menu-delete-control.js +1 -0
  769. package/src/navigation/editor.scss +0 -1
  770. package/src/navigation/index.php +1 -1
  771. package/src/navigation/style.scss +4 -9
  772. package/src/navigation/test/use-navigation-menu.js +54 -15
  773. package/src/navigation/use-navigation-menu.js +5 -1
  774. package/src/navigation-link/link-ui.js +8 -14
  775. package/src/navigation-submenu/edit.js +1 -13
  776. package/src/page-list/edit.js +1 -0
  777. package/src/page-list-item/edit.js +4 -4
  778. package/src/paragraph/block.json +6 -0
  779. package/src/post-author/index.js +8 -0
  780. package/src/post-author-biography/block.json +3 -0
  781. package/src/post-author-name/block.json +3 -0
  782. package/src/post-comments-form/block.json +12 -0
  783. package/src/post-comments-form/style.scss +1 -1
  784. package/src/post-content/block.json +1 -0
  785. package/src/post-content/style.scss +5 -0
  786. package/src/post-date/block.json +15 -0
  787. package/src/post-excerpt/block.json +12 -0
  788. package/src/post-excerpt/edit.js +1 -0
  789. package/src/post-excerpt/style.scss +3 -0
  790. package/src/post-featured-image/block.json +3 -0
  791. package/src/post-navigation-link/edit.js +2 -0
  792. package/src/post-terms/block.json +15 -0
  793. package/src/post-time-to-read/block.json +6 -0
  794. package/src/post-title/block.json +15 -0
  795. package/src/post-title/edit.js +9 -8
  796. package/src/query/edit/inspector-controls/author-control.js +2 -0
  797. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +1 -0
  798. package/src/query/edit/inspector-controls/index.js +123 -23
  799. package/src/query/edit/inspector-controls/offset-controls.js +31 -0
  800. package/src/query/edit/inspector-controls/order-control.js +1 -0
  801. package/src/query/edit/inspector-controls/pages-control.js +27 -0
  802. package/src/query/edit/inspector-controls/parent-control.js +1 -0
  803. package/src/query/edit/inspector-controls/per-page-control.js +33 -0
  804. package/src/query/edit/inspector-controls/sticky-control.js +2 -1
  805. package/src/query/edit/inspector-controls/taxonomy-controls.js +8 -3
  806. package/src/query/edit/query-content.js +17 -3
  807. package/src/query/edit/query-placeholder.js +1 -21
  808. package/src/query/edit/query-toolbar.js +1 -90
  809. package/src/query/editor.scss +0 -9
  810. package/src/query/utils.js +13 -5
  811. package/src/query/variations.js +4 -46
  812. package/src/query-pagination-numbers/edit.js +1 -0
  813. package/src/query-title/block.json +3 -0
  814. package/src/query-title/edit.js +19 -18
  815. package/src/query-title/use-archive-label.js +99 -0
  816. package/src/quote/block.json +15 -1
  817. package/src/quote/theme.scss +5 -3
  818. package/src/search/block.json +3 -0
  819. package/src/search/editor.scss +1 -1
  820. package/src/site-logo/edit.js +27 -10
  821. package/src/site-tagline/block.json +18 -2
  822. package/src/site-tagline/edit.js +7 -6
  823. package/src/site-tagline/style.scss +4 -0
  824. package/src/site-title/block.json +10 -0
  825. package/src/site-title/edit.js +6 -5
  826. package/src/site-title/index.js +6 -1
  827. package/src/site-title/style.scss +7 -2
  828. package/src/social-link/edit.js +0 -1
  829. package/src/social-link/icons/soundcloud.js +1 -1
  830. package/src/social-link/socials-with-bg.scss +1 -1
  831. package/src/social-link/socials-without-bg.scss +1 -1
  832. package/src/social-links/block.json +12 -0
  833. package/src/spacer/controls.js +10 -13
  834. package/src/style.scss +4 -0
  835. package/src/table-of-contents/block.json +14 -1
  836. package/src/table-of-contents/style.scss +4 -0
  837. package/src/tag-cloud/block.json +1 -1
  838. package/src/tag-cloud/edit.js +53 -35
  839. package/src/tag-cloud/editor.scss +9 -0
  840. package/src/template-part/edit/index.js +10 -5
  841. package/src/template-part/edit/inner-blocks.js +11 -6
  842. package/src/template-part/edit/placeholder.js +31 -6
  843. package/src/template-part/edit/title-modal.js +18 -4
  844. package/src/term-description/block.json +12 -0
  845. package/src/term-description/style.scss +2 -0
  846. package/src/utils/hooks.js +5 -1
  847. package/src/video/editor.scss +0 -4
  848. package/tsconfig.tsbuildinfo +1 -1
  849. package/build/list-item/hooks/use-split.js +0 -39
  850. package/build/list-item/hooks/use-split.js.map +0 -1
  851. package/build-module/list-item/hooks/use-split.js +0 -32
  852. package/build-module/list-item/hooks/use-split.js.map +0 -1
  853. package/src/list-item/hooks/use-split.js +0 -33
@@ -1 +1 @@
1
- {"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","heading","button","link","text","shadow","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","interactivity","clientNavigation","editorStyle","save","transforms","variations","settings","example","innerBlocks","customTextColor","content","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","group","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","tagName","type","templateLock","allowedBlocks","supports","__experimentalOnEnter","__experimentalOnMerge","__experimentalSettings","align","anchor","ariaLabel","html","background","backgroundImage","backgroundSize","__experimentalDefaultControls","color","gradients","heading","button","link","text","shadow","spacing","margin","padding","blockGap","dimensions","minHeight","__experimentalBorder","radius","style","width","position","sticky","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowSizingOnChildren","interactivity","clientNavigation","editorStyle","save","transforms","variations","settings","example","justifyContent","top","right","bottom","left","innerBlocks","content","textAlign","height","viewportWidth","init"],"sources":["@wordpress/block-library/src/group/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tlayout: {\n\t\t\t\ttype: 'constrained',\n\t\t\t\tjustifyContent: 'center',\n\t\t\t},\n\t\t\tstyle: {\n\t\t\t\tspacing: {\n\t\t\t\t\tpadding: {\n\t\t\t\t\t\ttop: '4em',\n\t\t\t\t\t\tright: '3em',\n\t\t\t\t\t\tbottom: '4em',\n\t\t\t\t\t\tleft: '3em',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/heading',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'La Mancha' ),\n\t\t\t\t\ttextAlign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'In a village of La Mancha, the name of which I have no desire to call to mind, there lived not long since one of those gentlemen that keep a lance in the lance-rack, an old buckler, a lean hack, and a greyhound for coursing.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/spacer',\n\t\t\t\tattributes: {\n\t\t\t\t\theight: '10px',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/button',\n\t\t\t\tattributes: {\n\t\t\t\t\ttext: __( 'Read more' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t\tviewportWidth: 600,\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
@@ -3,6 +3,51 @@
3
3
  */
4
4
  import { __, _x } from '@wordpress/i18n';
5
5
  import { group, row, stack, grid } from '@wordpress/icons';
6
+ const example = {
7
+ innerBlocks: [{
8
+ name: 'core/paragraph',
9
+ attributes: {
10
+ customTextColor: '#cf2e2e',
11
+ fontSize: 'large',
12
+ content: __('One.')
13
+ }
14
+ }, {
15
+ name: 'core/paragraph',
16
+ attributes: {
17
+ customTextColor: '#ff6900',
18
+ fontSize: 'large',
19
+ content: __('Two.')
20
+ }
21
+ }, {
22
+ name: 'core/paragraph',
23
+ attributes: {
24
+ customTextColor: '#fcb900',
25
+ fontSize: 'large',
26
+ content: __('Three.')
27
+ }
28
+ }, {
29
+ name: 'core/paragraph',
30
+ attributes: {
31
+ customTextColor: '#00d084',
32
+ fontSize: 'large',
33
+ content: __('Four.')
34
+ }
35
+ }, {
36
+ name: 'core/paragraph',
37
+ attributes: {
38
+ customTextColor: '#0693e3',
39
+ fontSize: 'large',
40
+ content: __('Five.')
41
+ }
42
+ }, {
43
+ name: 'core/paragraph',
44
+ attributes: {
45
+ customTextColor: '#9b51e0',
46
+ fontSize: 'large',
47
+ content: __('Six.')
48
+ }
49
+ }]
50
+ };
6
51
  const variations = [{
7
52
  name: 'group',
8
53
  title: __('Group'),
@@ -28,7 +73,8 @@ const variations = [{
28
73
  },
29
74
  scope: ['block', 'inserter', 'transform'],
30
75
  isActive: blockAttributes => blockAttributes.layout?.type === 'flex' && (!blockAttributes.layout?.orientation || blockAttributes.layout?.orientation === 'horizontal'),
31
- icon: row
76
+ icon: row,
77
+ example
32
78
  }, {
33
79
  name: 'group-stack',
34
80
  title: __('Stack'),
@@ -41,7 +87,8 @@ const variations = [{
41
87
  },
42
88
  scope: ['block', 'inserter', 'transform'],
43
89
  isActive: blockAttributes => blockAttributes.layout?.type === 'flex' && blockAttributes.layout?.orientation === 'vertical',
44
- icon: stack
90
+ icon: stack,
91
+ example
45
92
  }, {
46
93
  name: 'group-grid',
47
94
  title: __('Grid'),
@@ -53,7 +100,8 @@ const variations = [{
53
100
  },
54
101
  scope: ['block', 'inserter', 'transform'],
55
102
  isActive: blockAttributes => blockAttributes.layout?.type === 'grid',
56
- icon: grid
103
+ icon: grid,
104
+ example
57
105
  }];
58
106
  export default variations;
59
107
  //# sourceMappingURL=variations.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__","_x","group","row","stack","grid","variations","name","title","description","attributes","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"sources":["@wordpress/block-library/src/group/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { group, row, stack, grid } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a container.' ),\n\t\tattributes: { layout: { type: 'constrained' } },\n\t\tisDefault: true,\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default' ||\n\t\t\tblockAttributes.layout?.type === 'constrained',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: _x( 'Row', 'single horizontal line' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t},\n\t{\n\t\tname: 'group-grid',\n\t\ttitle: __( 'Grid' ),\n\t\tdescription: __( 'Arrange blocks in a grid.' ),\n\t\tattributes: { layout: { type: 'grid' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'grid',\n\t\ticon: grid,\n\t},\n];\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,KAAK,EAAEC,GAAG,EAAEC,KAAK,EAAEC,IAAI,QAAQ,kBAAkB;AAE1D,MAAMC,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAER,EAAE,CAAE,OAAQ,CAAC;EACpBS,WAAW,EAAET,EAAE,CAAE,+BAAgC,CAAC;EAClDU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAc;EAAE,CAAC;EAC/CC,SAAS,EAAE,IAAI;EACfC,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1B,CAAEA,eAAe,CAACL,MAAM,IACxB,CAAEK,eAAe,CAACL,MAAM,EAAEC,IAAI,IAC9BI,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,SAAS,IAC1CI,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,aAAa;EAC/CK,IAAI,EAAEf;AACP,CAAC,EACD;EACCK,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEP,EAAE,CAAE,KAAK,EAAE,wBAAyB,CAAC;EAC5CQ,WAAW,EAAET,EAAE,CAAE,8BAA+B,CAAC;EACjDU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEM,QAAQ,EAAE;IAAS;EAAE,CAAC;EAC5DJ,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM,KACrC,CAAEI,eAAe,CAACL,MAAM,EAAEQ,WAAW,IACtCH,eAAe,CAACL,MAAM,EAAEQ,WAAW,KAAK,YAAY,CAAE;EACxDF,IAAI,EAAEd;AACP,CAAC,EACD;EACCI,IAAI,EAAE,aAAa;EACnBC,KAAK,EAAER,EAAE,CAAE,OAAQ,CAAC;EACpBS,WAAW,EAAET,EAAE,CAAE,4BAA6B,CAAC;EAC/CU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE,MAAM;MAAEO,WAAW,EAAE;IAAW;EAAE,CAAC;EACjEL,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM,IACvCI,eAAe,CAACL,MAAM,EAAEQ,WAAW,KAAK,UAAU;EACnDF,IAAI,EAAEb;AACP,CAAC,EACD;EACCG,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAER,EAAE,CAAE,MAAO,CAAC;EACnBS,WAAW,EAAET,EAAE,CAAE,2BAA4B,CAAC;EAC9CU,UAAU,EAAE;IAAEC,MAAM,EAAE;MAAEC,IAAI,EAAE;IAAO;EAAE,CAAC;EACxCE,KAAK,EAAE,CAAE,OAAO,EAAE,UAAU,EAAE,WAAW,CAAE;EAC3CC,QAAQ,EAAIC,eAAe,IAC1BA,eAAe,CAACL,MAAM,EAAEC,IAAI,KAAK,MAAM;EACxCK,IAAI,EAAEZ;AACP,CAAC,CACD;AAED,eAAeC,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["__","_x","group","row","stack","grid","example","innerBlocks","name","attributes","customTextColor","fontSize","content","variations","title","description","layout","type","isDefault","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"sources":["@wordpress/block-library/src/group/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { group, row, stack, grid } from '@wordpress/icons';\n\nconst example = {\n\tinnerBlocks: [\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'One.' ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tname: 'core/paragraph',\n\t\t\tattributes: {\n\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\tfontSize: 'large',\n\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t},\n\t\t},\n\t],\n};\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a container.' ),\n\t\tattributes: { layout: { type: 'constrained' } },\n\t\tisDefault: true,\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default' ||\n\t\t\tblockAttributes.layout?.type === 'constrained',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: _x( 'Row', 'single horizontal line' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t\texample,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t\texample,\n\t},\n\t{\n\t\tname: 'group-grid',\n\t\ttitle: __( 'Grid' ),\n\t\tdescription: __( 'Arrange blocks in a grid.' ),\n\t\tattributes: { layout: { type: 'grid' } },\n\t\tscope: [ 'block', 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'grid',\n\t\ticon: grid,\n\t\texample,\n\t},\n];\n\nexport default variations;\n"],"mappings":"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","ignoreList":[]}
@@ -30,6 +30,7 @@ function HeadingEdit({
30
30
  textAlign,
31
31
  content,
32
32
  level,
33
+ levelOptions,
33
34
  placeholder,
34
35
  anchor
35
36
  } = attributes;
@@ -89,6 +90,7 @@ function HeadingEdit({
89
90
  group: "block",
90
91
  children: [/*#__PURE__*/_jsx(HeadingLevelDropdown, {
91
92
  value: level,
93
+ options: levelOptions,
92
94
  onChange: newLevel => setAttributes({
93
95
  level: newLevel
94
96
  })
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","__","useEffect","Platform","useDispatch","useSelect","AlignmentControl","BlockControls","RichText","useBlockProps","store","blockEditorStore","HeadingLevelDropdown","useBlockEditingMode","generateAnchor","setAnchor","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","placeholder","anchor","tagName","blockProps","className","blockEditingMode","canGenerateAnchors","select","getGlobalBlockCount","getSettings","settings","generateAnchors","__unstableMarkNextChangeAsNotPersistent","onContentChange","value","newAttrs","children","group","onChange","newLevel","nextAlign","identifier","onMerge","onRemove","isNative","deleteEnter"],"sources":["@wordpress/block-library/src/heading/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { generateAnchor, setAnchor } from './autogenerate-anchors';\n\nfunction HeadingEdit( {\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tstyle,\n\tclientId,\n} ) {\n\tconst { textAlign, content, level, placeholder, anchor } = attributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { canGenerateAnchors } = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount, getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcanGenerateAnchors:\n\t\t\t\t!! settings.generateAnchors ||\n\t\t\t\tgetGlobalBlockCount( 'core/table-of-contents' ) > 0,\n\t\t};\n\t}, [] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Initially set anchor for headings that have content but no anchor set.\n\t// This is used when transforming a block to heading, or for legacy anchors.\n\tuseEffect( () => {\n\t\tif ( ! canGenerateAnchors ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! anchor && content ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tanchor: generateAnchor( clientId, content ),\n\t\t\t} );\n\t\t}\n\t\tsetAnchor( clientId, anchor );\n\n\t\t// Remove anchor map when block unmounts.\n\t\treturn () => setAnchor( clientId, null );\n\t}, [ anchor, content, clientId, canGenerateAnchors ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\tcanGenerateAnchors &&\n\t\t\t( ! anchor ||\n\t\t\t\t! value ||\n\t\t\t\tgenerateAnchor( clientId, content ) === anchor )\n\t\t) {\n\t\t\tnewAttrs.anchor = generateAnchor( clientId, value );\n\t\t}\n\t\tsetAttributes( newAttrs );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ onContentChange }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\ttextAlign={ textAlign }\n\t\t\t\t{ ...( Platform.isNative && { deleteEnter: true } ) } // setup RichText on native mobile to delete the \"Enter\" key as it's handled by the JS/RN side\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,oBAAoB;AACxD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SACCC,gBAAgB,EAChBC,aAAa,EACbC,QAAQ,EACRC,aAAa,EACbC,KAAK,IAAIC,gBAAgB,EACzBC,oBAAoB,EACpBC,mBAAmB,QACb,yBAAyB;;AAEhC;AACA;AACA;AACA,SAASC,cAAc,EAAEC,SAAS,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAEnE,SAASC,WAAWA,CAAE;EACrBC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,SAAS;EACTC,KAAK;EACLC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,SAAS;IAAEC,OAAO;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAO,CAAC,GAAGV,UAAU;EACrE,MAAMW,OAAO,GAAG,GAAG,GAAGH,KAAK;EAC3B,MAAMI,UAAU,GAAG1B,aAAa,CAAE;IACjC2B,SAAS,EAAEpC,IAAI,CAAE;MAChB,CAAG,kBAAkB6B,SAAW,EAAC,GAAIA;IACtC,CAAE,CAAC;IACHF;EACD,CAAE,CAAC;EACH,MAAMU,gBAAgB,GAAGxB,mBAAmB,CAAC,CAAC;EAE9C,MAAM;IAAEyB;EAAmB,CAAC,GAAGjC,SAAS,CAAIkC,MAAM,IAAM;IACvD,MAAM;MAAEC,mBAAmB;MAAEC;IAAY,CAAC,GAAGF,MAAM,CAAE5B,gBAAiB,CAAC;IACvE,MAAM+B,QAAQ,GAAGD,WAAW,CAAC,CAAC;IAE9B,OAAO;MACNH,kBAAkB,EACjB,CAAC,CAAEI,QAAQ,CAACC,eAAe,IAC3BH,mBAAmB,CAAE,wBAAyB,CAAC,GAAG;IACpD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEI;EAAwC,CAAC,GAChDxC,WAAW,CAAEO,gBAAiB,CAAC;;EAEhC;EACA;EACAT,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEoC,kBAAkB,EAAG;MAC3B;IACD;IAEA,IAAK,CAAEL,MAAM,IAAIH,OAAO,EAAG;MAC1B;MACAc,uCAAuC,CAAC,CAAC;MACzCpB,aAAa,CAAE;QACdS,MAAM,EAAEnB,cAAc,CAAEc,QAAQ,EAAEE,OAAQ;MAC3C,CAAE,CAAC;IACJ;IACAf,SAAS,CAAEa,QAAQ,EAAEK,MAAO,CAAC;;IAE7B;IACA,OAAO,MAAMlB,SAAS,CAAEa,QAAQ,EAAE,IAAK,CAAC;EACzC,CAAC,EAAE,CAAEK,MAAM,EAAEH,OAAO,EAAEF,QAAQ,EAAEU,kBAAkB,CAAG,CAAC;EAEtD,MAAMO,eAAe,GAAKC,KAAK,IAAM;IACpC,MAAMC,QAAQ,GAAG;MAAEjB,OAAO,EAAEgB;IAAM,CAAC;IACnC,IACCR,kBAAkB,KAChB,CAAEL,MAAM,IACT,CAAEa,KAAK,IACPhC,cAAc,CAAEc,QAAQ,EAAEE,OAAQ,CAAC,KAAKG,MAAM,CAAE,EAChD;MACDc,QAAQ,CAACd,MAAM,GAAGnB,cAAc,CAAEc,QAAQ,EAAEkB,KAAM,CAAC;IACpD;IACAtB,aAAa,CAAEuB,QAAS,CAAC;EAC1B,CAAC;EAED,oBACC5B,KAAA,CAAAE,SAAA;IAAA2B,QAAA,GACGX,gBAAgB,KAAK,SAAS,iBAC/BlB,KAAA,CAACZ,aAAa;MAAC0C,KAAK,EAAC,OAAO;MAAAD,QAAA,gBAC3B/B,IAAA,CAACL,oBAAoB;QACpBkC,KAAK,EAAGf,KAAO;QACfmB,QAAQ,EAAKC,QAAQ,IACpB3B,aAAa,CAAE;UAAEO,KAAK,EAAEoB;QAAS,CAAE;MACnC,CACD,CAAC,eACFlC,IAAA,CAACX,gBAAgB;QAChBwC,KAAK,EAAGjB,SAAW;QACnBqB,QAAQ,EAAKE,SAAS,IAAM;UAC3B5B,aAAa,CAAE;YAAEK,SAAS,EAAEuB;UAAU,CAAE,CAAC;QAC1C;MAAG,CACH,CAAC;IAAA,CACY,CACf,eACDnC,IAAA,CAACT,QAAQ;MACR6C,UAAU,EAAC,SAAS;MACpBnB,OAAO,EAAGA,OAAS;MACnBY,KAAK,EAAGhB,OAAS;MACjBoB,QAAQ,EAAGL,eAAiB;MAC5BS,OAAO,EAAG7B,WAAa;MACvBC,SAAS,EAAGA,SAAW;MACvB6B,QAAQ,EAAGA,CAAA,KAAM7B,SAAS,CAAE,EAAG,CAAG;MAClCM,WAAW,EAAGA,WAAW,IAAI/B,EAAE,CAAE,SAAU,CAAG;MAC9C4B,SAAS,EAAGA,SAAW;MAAA,IAChB1B,QAAQ,CAACqD,QAAQ,IAAI;QAAEC,WAAW,EAAE;MAAK,CAAC;MAAA,GAC5CtB;IAAU,CACf,CAAC;EAAA,CACD,CAAC;AAEL;AAEA,eAAeb,WAAW","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__","useEffect","Platform","useDispatch","useSelect","AlignmentControl","BlockControls","RichText","useBlockProps","store","blockEditorStore","HeadingLevelDropdown","useBlockEditingMode","generateAnchor","setAnchor","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","levelOptions","placeholder","anchor","tagName","blockProps","className","blockEditingMode","canGenerateAnchors","select","getGlobalBlockCount","getSettings","settings","generateAnchors","__unstableMarkNextChangeAsNotPersistent","onContentChange","value","newAttrs","children","group","options","onChange","newLevel","nextAlign","identifier","onMerge","onRemove","isNative","deleteEnter"],"sources":["@wordpress/block-library/src/heading/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tHeadingLevelDropdown,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { generateAnchor, setAnchor } from './autogenerate-anchors';\n\nfunction HeadingEdit( {\n\tattributes,\n\tsetAttributes,\n\tmergeBlocks,\n\tonReplace,\n\tstyle,\n\tclientId,\n} ) {\n\tconst { textAlign, content, level, levelOptions, placeholder, anchor } =\n\t\tattributes;\n\tconst tagName = 'h' + level;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { canGenerateAnchors } = useSelect( ( select ) => {\n\t\tconst { getGlobalBlockCount, getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\n\t\treturn {\n\t\t\tcanGenerateAnchors:\n\t\t\t\t!! settings.generateAnchors ||\n\t\t\t\tgetGlobalBlockCount( 'core/table-of-contents' ) > 0,\n\t\t};\n\t}, [] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\t// Initially set anchor for headings that have content but no anchor set.\n\t// This is used when transforming a block to heading, or for legacy anchors.\n\tuseEffect( () => {\n\t\tif ( ! canGenerateAnchors ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! anchor && content ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tanchor: generateAnchor( clientId, content ),\n\t\t\t} );\n\t\t}\n\t\tsetAnchor( clientId, anchor );\n\n\t\t// Remove anchor map when block unmounts.\n\t\treturn () => setAnchor( clientId, null );\n\t}, [ anchor, content, clientId, canGenerateAnchors ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\tcanGenerateAnchors &&\n\t\t\t( ! anchor ||\n\t\t\t\t! value ||\n\t\t\t\tgenerateAnchor( clientId, content ) === anchor )\n\t\t) {\n\t\t\tnewAttrs.anchor = generateAnchor( clientId, value );\n\t\t}\n\t\tsetAttributes( newAttrs );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\t\tvalue={ level }\n\t\t\t\t\t\toptions={ levelOptions }\n\t\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<RichText\n\t\t\t\tidentifier=\"content\"\n\t\t\t\ttagName={ tagName }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ onContentChange }\n\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\tplaceholder={ placeholder || __( 'Heading' ) }\n\t\t\t\ttextAlign={ textAlign }\n\t\t\t\t{ ...( Platform.isNative && { deleteEnter: true } ) } // setup RichText on native mobile to delete the \"Enter\" key as it's handled by the JS/RN side\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default HeadingEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -33,6 +33,9 @@ const metadata = {
33
33
  type: "number",
34
34
  "default": 2
35
35
  },
36
+ levelOptions: {
37
+ type: "array"
38
+ },
36
39
  placeholder: {
37
40
  type: "string"
38
41
  }
@@ -42,6 +45,18 @@ const metadata = {
42
45
  anchor: true,
43
46
  className: true,
44
47
  splitting: true,
48
+ __experimentalBorder: {
49
+ color: true,
50
+ radius: true,
51
+ style: true,
52
+ width: true,
53
+ __experimentalDefaultControls: {
54
+ color: true,
55
+ radius: true,
56
+ style: true,
57
+ width: true
58
+ }
59
+ },
45
60
  color: {
46
61
  gradients: true,
47
62
  link: true,
@@ -92,7 +107,8 @@ export const settings = {
92
107
  example: {
93
108
  attributes: {
94
109
  content: __('Code is Poetry'),
95
- level: 2
110
+ level: 2,
111
+ textAlign: 'center'
96
112
  }
97
113
  },
98
114
  __experimentalLabel(attributes, {
@@ -1 +1 @@
1
- {"version":3,"names":["heading","icon","__","sprintf","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","splitting","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","__experimentalLabel","context","customName","hasContent","trim","length","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasContent\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["heading","icon","__","sprintf","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","levelOptions","placeholder","supports","align","anchor","className","splitting","__experimentalBorder","color","radius","style","width","__experimentalDefaultControls","gradients","link","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","save","transforms","settings","example","__experimentalLabel","context","customName","hasContent","trim","length","merge","attributesToMerge","init"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t\ttextAlign: 'center',\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\t\tconst hasContent = content?.trim().length > 0;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || hasContent ) ) {\n\t\t\treturn customName || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! hasContent\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
@@ -268,7 +268,7 @@ export function ImageEdit({
268
268
  }
269
269
  const blockBindingsSource = unlock(select(blocksStore)).getBlockBindingsSource(metadata?.bindings?.url?.source);
270
270
  return {
271
- lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue({
271
+ lockUrlControls: !!metadata?.bindings?.url && !blockBindingsSource?.canUserEditValue?.({
272
272
  select,
273
273
  context,
274
274
  args: metadata?.bindings?.url?.args
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","store","blocksStore","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","unlock","useUploadMediaFromBlobURL","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","jsx","_jsx","jsxs","_jsxs","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","getSettings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span className=\"block-bindings-media-placeholder-message\">\n\t\t\t\t\t\t{ lockUrlControlsMessage }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\tparentLayoutType={ parentLayout?.type }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","store","blocksStore","Placeholder","useDispatch","useSelect","BlockIcon","MediaPlaceholder","useBlockProps","blockEditorStore","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","useEffect","useRef","useState","__","sprintf","image","icon","plugins","pluginsIcon","noticesStore","unlock","useUploadMediaFromBlobURL","Image","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","jsx","_jsx","jsxs","_jsxs","pickRelevantMediaFiles","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","isExternalImage","id","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","blob","altRef","current","captionRef","__unstableMarkNextChangeAsNotPersistent","undefined","getSettings","blockEditingMode","createErrorNotice","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","href","onSelectURL","newURL","allowedTypes","onChange","onError","isExternal","mediaPreview","borderProps","shadowProps","classes","style","keys","length","blockProps","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","placeholder","content","withIllustration","instructions","objectFit","children","parentLayoutType","onSelect","accept","value","disableMediaButtons"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = unlock(\n\t\t\t\tselect( blocksStore )\n\t\t\t).getBlockBindingsSource( metadata?.bindings?.url?.source );\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span className=\"block-bindings-media-placeholder-message\">\n\t\t\t\t\t\t{ lockUrlControlsMessage }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\tparentLayoutType={ parentLayout?.type }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { isBlobURL } from '@wordpress/blob';
5
- import { ExternalLink, ResizableBox, Spinner, TextareaControl, TextControl, ToolbarButton, ToolbarGroup, Dropdown, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUseCustomUnits as useCustomUnits } from '@wordpress/components';
5
+ import { ExternalLink, ResizableBox, Spinner, TextareaControl, TextControl, ToolbarButton, ToolbarGroup, Dropdown, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalUseCustomUnits as useCustomUnits, Placeholder } from '@wordpress/components';
6
6
  import { useViewportMatch } from '@wordpress/compose';
7
7
  import { useSelect, useDispatch } from '@wordpress/data';
8
8
  import { BlockControls, InspectorControls, __experimentalImageURLInputUI as ImageURLInputUI, MediaReplaceFlow, store as blockEditorStore, useSettings, __experimentalImageEditor as ImageEditor, __experimentalUseBorderProps as useBorderProps, __experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles, privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
@@ -154,6 +154,7 @@ export default function Image({
154
154
  }, setLoadedNaturalSize] = useState({});
155
155
  const [isEditingImage, setIsEditingImage] = useState(false);
156
156
  const [externalBlob, setExternalBlob] = useState();
157
+ const [hasImageErrored, setHasImageErrored] = useState(false);
157
158
  const hasNonContentControls = blockEditingMode === 'default';
158
159
  const isContentOnlyMode = blockEditingMode === 'contentOnly';
159
160
  const isResizable = allowResize && hasNonContentControls && !isWideAligned && isLargeViewport;
@@ -205,6 +206,8 @@ export default function Image({
205
206
  toggleSelection(true);
206
207
  }
207
208
  function onImageError() {
209
+ setHasImageErrored(true);
210
+
208
211
  // Check if there's an embed block that handles this URL, e.g., instagram URL.
209
212
  // See: https://github.com/WordPress/gutenberg/pull/11472
210
213
  const embedBlock = createUpgradedEmbedBlock({
@@ -216,6 +219,13 @@ export default function Image({
216
219
  onReplace(embedBlock);
217
220
  }
218
221
  }
222
+ function onImageLoad(event) {
223
+ setHasImageErrored(false);
224
+ setLoadedNaturalSize({
225
+ loadedNaturalWidth: event.target?.naturalWidth,
226
+ loadedNaturalHeight: event.target?.naturalHeight
227
+ });
228
+ }
219
229
  function onSetHref(props) {
220
230
  setAttributes(props);
221
231
  }
@@ -419,7 +429,7 @@ export default function Image({
419
429
  const altBindingSource = getBlockBindingsSource(altBinding?.source);
420
430
  const titleBindingSource = getBlockBindingsSource(titleBinding?.source);
421
431
  return {
422
- lockUrlControls: !!urlBinding && !urlBindingSource?.canUserEditValue({
432
+ lockUrlControls: !!urlBinding && !urlBindingSource?.canUserEditValue?.({
423
433
  select,
424
434
  context,
425
435
  args: urlBinding?.args
@@ -432,14 +442,14 @@ export default function Image({
432
442
  // Disable editing the caption if the image is inside a pattern instance.
433
443
  // This is a temporary solution until we support overriding the caption on the frontend.
434
444
  hasParentPattern,
435
- lockAltControls: !!altBinding && !altBindingSource?.canUserEditValue({
445
+ lockAltControls: !!altBinding && !altBindingSource?.canUserEditValue?.({
436
446
  select,
437
447
  context,
438
448
  args: altBinding?.args
439
449
  }),
440
450
  lockAltControlsMessage: altBindingSource?.label ? sprintf( /* translators: %s: Label of the bindings source. */
441
451
  __('Connected to %s'), altBindingSource.label) : __('Connected to dynamic data'),
442
- lockTitleControls: !!titleBinding && !titleBindingSource?.canUserEditValue({
452
+ lockTitleControls: !!titleBinding && !titleBindingSource?.canUserEditValue?.({
443
453
  select,
444
454
  context,
445
455
  args: titleBinding?.args
@@ -643,7 +653,15 @@ export default function Image({
643
653
  const borderProps = useBorderProps(attributes);
644
654
  const shadowProps = getShadowClassesAndStyles(attributes);
645
655
  const isRounded = attributes.className?.includes('is-style-rounded');
646
- let img =
656
+ let img = temporaryURL && hasImageErrored ?
657
+ /*#__PURE__*/
658
+ // Show a placeholder during upload when the blob URL can't be loaded. This can
659
+ // happen when the user uploads a HEIC image in a browser that doesn't support them.
660
+ _jsx(Placeholder, {
661
+ className: "wp-block-image__placeholder",
662
+ withIllustration: true,
663
+ children: /*#__PURE__*/_jsx(Spinner, {})
664
+ }) :
647
665
  /*#__PURE__*/
648
666
  // Disable reason: Image itself is not meant to be interactive, but
649
667
  // should direct focus to block.
@@ -652,13 +670,8 @@ export default function Image({
652
670
  children: [/*#__PURE__*/_jsx("img", {
653
671
  src: temporaryURL || url,
654
672
  alt: defaultedAlt,
655
- onError: () => onImageError(),
656
- onLoad: event => {
657
- setLoadedNaturalSize({
658
- loadedNaturalWidth: event.target?.naturalWidth,
659
- loadedNaturalHeight: event.target?.naturalHeight
660
- });
661
- },
673
+ onError: onImageError,
674
+ onLoad: onImageLoad,
662
675
  ref: imageRef,
663
676
  className: borderProps.className,
664
677
  style: {