@wordpress/block-library 7.0.1 → 7.1.0-next.e230fbab09.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 (608) hide show
  1. package/README.md +16 -0
  2. package/build/audio/edit.js +4 -4
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/edit.native.js +4 -4
  5. package/build/audio/edit.native.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +3 -9
  9. package/build/block/edit.js.map +1 -1
  10. package/build/button/edit.js +3 -2
  11. package/build/button/edit.js.map +1 -1
  12. package/build/button/edit.native.js +4 -4
  13. package/build/button/edit.native.js.map +1 -1
  14. package/build/buttons/transforms.js +8 -8
  15. package/build/buttons/transforms.js.map +1 -1
  16. package/build/categories/edit.js +15 -26
  17. package/build/categories/edit.js.map +1 -1
  18. package/build/code/index.js +0 -1
  19. package/build/code/index.js.map +1 -1
  20. package/build/columns/columnCalculations.native.js +1 -1
  21. package/build/columns/columnCalculations.native.js.map +1 -1
  22. package/build/columns/edit.js +1 -1
  23. package/build/columns/edit.js.map +1 -1
  24. package/build/columns/edit.native.js +3 -3
  25. package/build/columns/edit.native.js.map +1 -1
  26. package/build/columns/index.js +12 -0
  27. package/build/columns/index.js.map +1 -1
  28. package/build/comment-author-avatar/edit.js +17 -4
  29. package/build/comment-author-avatar/edit.js.map +1 -1
  30. package/build/comment-template/edit.js +94 -36
  31. package/build/comment-template/edit.js.map +1 -1
  32. package/build/comment-template/hooks.js +175 -0
  33. package/build/comment-template/hooks.js.map +1 -0
  34. package/build/comment-template/index.js +1 -1
  35. package/build/comment-template/util.js.map +1 -1
  36. package/build/comments-pagination-next/index.js +1 -1
  37. package/build/comments-pagination-numbers/index.js +1 -1
  38. package/build/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  39. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  40. package/build/comments-query-loop/edit.js +1 -19
  41. package/build/comments-query-loop/edit.js.map +1 -1
  42. package/build/comments-query-loop/index.js +5 -0
  43. package/build/comments-query-loop/index.js.map +1 -1
  44. package/build/cover/controls.native.js +5 -5
  45. package/build/cover/controls.native.js.map +1 -1
  46. package/build/cover/deprecated.js +188 -17
  47. package/build/cover/deprecated.js.map +1 -1
  48. package/build/cover/edit.js +29 -33
  49. package/build/cover/edit.js.map +1 -1
  50. package/build/cover/edit.native.js +15 -13
  51. package/build/cover/edit.native.js.map +1 -1
  52. package/build/cover/overlay-color-settings.native.js +7 -6
  53. package/build/cover/overlay-color-settings.native.js.map +1 -1
  54. package/build/cover/save.js +1 -1
  55. package/build/cover/save.js.map +1 -1
  56. package/build/cover/shared.js +2 -2
  57. package/build/cover/shared.js.map +1 -1
  58. package/build/cover/transforms.js +4 -2
  59. package/build/cover/transforms.js.map +1 -1
  60. package/build/embed/edit.js +1 -1
  61. package/build/embed/edit.js.map +1 -1
  62. package/build/embed/edit.native.js +1 -1
  63. package/build/embed/edit.native.js.map +1 -1
  64. package/build/embed/util.js +2 -2
  65. package/build/embed/util.js.map +1 -1
  66. package/build/embed/variations.js +1 -1
  67. package/build/embed/variations.js.map +1 -1
  68. package/build/file/edit.js +20 -17
  69. package/build/file/edit.js.map +1 -1
  70. package/build/file/edit.native.js +1 -1
  71. package/build/file/edit.native.js.map +1 -1
  72. package/build/file/save.js +7 -3
  73. package/build/file/save.js.map +1 -1
  74. package/build/freeform/edit.js +2 -2
  75. package/build/freeform/edit.js.map +1 -1
  76. package/build/gallery/edit.js +1 -1
  77. package/build/gallery/edit.js.map +1 -1
  78. package/build/gallery/gallery.native.js +1 -1
  79. package/build/gallery/gallery.native.js.map +1 -1
  80. package/build/gallery/v1/edit.js +3 -3
  81. package/build/gallery/v1/edit.js.map +1 -1
  82. package/build/gallery/v1/gallery-image.native.js +3 -3
  83. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  84. package/build/gallery/v1/gallery.native.js +2 -2
  85. package/build/gallery/v1/gallery.native.js.map +1 -1
  86. package/build/group/index.js +4 -37
  87. package/build/group/index.js.map +1 -1
  88. package/build/group/transforms.js +45 -0
  89. package/build/group/transforms.js.map +1 -0
  90. package/build/heading/edit.js +14 -2
  91. package/build/heading/edit.js.map +1 -1
  92. package/build/home-link/edit.js +1 -1
  93. package/build/home-link/edit.js.map +1 -1
  94. package/build/image/deprecated.js +89 -5
  95. package/build/image/deprecated.js.map +1 -1
  96. package/build/image/edit.js +7 -6
  97. package/build/image/edit.js.map +1 -1
  98. package/build/image/edit.native.js +25 -10
  99. package/build/image/edit.native.js.map +1 -1
  100. package/build/image/save.js +0 -7
  101. package/build/image/save.js.map +1 -1
  102. package/build/image/transforms.js +1 -1
  103. package/build/image/transforms.js.map +1 -1
  104. package/build/index.js +3 -4
  105. package/build/index.js.map +1 -1
  106. package/build/index.native.js +2 -2
  107. package/build/index.native.js.map +1 -1
  108. package/build/latest-posts/edit.js +1 -0
  109. package/build/latest-posts/edit.js.map +1 -1
  110. package/build/media-text/edit.js +21 -2
  111. package/build/media-text/edit.js.map +1 -1
  112. package/build/media-text/edit.native.js +2 -2
  113. package/build/media-text/edit.native.js.map +1 -1
  114. package/build/media-text/media-container.native.js +1 -1
  115. package/build/media-text/media-container.native.js.map +1 -1
  116. package/build/missing/edit.native.js +1 -1
  117. package/build/missing/edit.native.js.map +1 -1
  118. package/build/more/transforms.js +2 -2
  119. package/build/more/transforms.js.map +1 -1
  120. package/build/navigation/edit/index.js +144 -68
  121. package/build/navigation/edit/index.js.map +1 -1
  122. package/build/navigation/edit/inner-blocks.js +8 -3
  123. package/build/navigation/edit/inner-blocks.js.map +1 -1
  124. package/build/navigation/edit/navigation-menu-selector.js +82 -52
  125. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  126. package/build/navigation/edit/placeholder/index.js +32 -61
  127. package/build/navigation/edit/placeholder/index.js.map +1 -1
  128. package/build/navigation/edit/placeholder/placeholder-preview.js +3 -12
  129. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  130. package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
  131. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  132. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +120 -0
  133. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  134. package/build/navigation/edit/use-create-navigation-menu.js +53 -4
  135. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  136. package/build/navigation/edit/use-navigation-notice.js +3 -3
  137. package/build/navigation/edit/use-navigation-notice.js.map +1 -1
  138. package/build/navigation/menu-items-to-blocks.js +1 -1
  139. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  140. package/build/navigation/use-navigation-entities.js +25 -49
  141. package/build/navigation/use-navigation-entities.js.map +1 -1
  142. package/build/navigation/use-navigation-menu.js +8 -6
  143. package/build/navigation/use-navigation-menu.js.map +1 -1
  144. package/build/navigation-link/fallback-variations.js +1 -1
  145. package/build/navigation-link/fallback-variations.js.map +1 -1
  146. package/build/navigation-link/hooks.js +2 -2
  147. package/build/navigation-link/hooks.js.map +1 -1
  148. package/build/navigation-submenu/edit.js +43 -11
  149. package/build/navigation-submenu/edit.js.map +1 -1
  150. package/build/page-list/convert-to-links-modal.js +13 -23
  151. package/build/page-list/convert-to-links-modal.js.map +1 -1
  152. package/build/page-list/edit.js +19 -39
  153. package/build/page-list/edit.js.map +1 -1
  154. package/build/post-author-name/edit.js +2 -1
  155. package/build/post-author-name/edit.js.map +1 -1
  156. package/build/post-comments-form/edit.js +3 -1
  157. package/build/post-comments-form/edit.js.map +1 -1
  158. package/build/post-excerpt/edit.js +7 -4
  159. package/build/post-excerpt/edit.js.map +1 -1
  160. package/build/post-terms/edit.js +3 -1
  161. package/build/post-terms/edit.js.map +1 -1
  162. package/build/query-title/edit.js +0 -1
  163. package/build/query-title/edit.js.map +1 -1
  164. package/build/search/edit.js +4 -1
  165. package/build/search/edit.js.map +1 -1
  166. package/build/search/edit.native.js +1 -1
  167. package/build/search/edit.native.js.map +1 -1
  168. package/build/separator/save.js +4 -4
  169. package/build/separator/save.js.map +1 -1
  170. package/build/separator/separator-settings.native.js +1 -1
  171. package/build/separator/separator-settings.native.js.map +1 -1
  172. package/build/site-logo/edit.js +1 -1
  173. package/build/site-logo/edit.js.map +1 -1
  174. package/build/social-link/edit.native.js +11 -3
  175. package/build/social-link/edit.native.js.map +1 -1
  176. package/build/social-links/deprecated.js +1 -62
  177. package/build/social-links/deprecated.js.map +1 -1
  178. package/build/spacer/controls.js +5 -5
  179. package/build/spacer/controls.js.map +1 -1
  180. package/build/spacer/controls.native.js +5 -5
  181. package/build/spacer/controls.native.js.map +1 -1
  182. package/build/table/edit.js +2 -2
  183. package/build/table/edit.js.map +1 -1
  184. package/build/template-part/edit/index.js +36 -64
  185. package/build/template-part/edit/index.js.map +1 -1
  186. package/build/template-part/edit/placeholder.js +64 -0
  187. package/build/template-part/edit/placeholder.js.map +1 -0
  188. package/build/template-part/edit/selection-modal.js +103 -0
  189. package/build/template-part/edit/selection-modal.js.map +1 -0
  190. package/build/template-part/edit/title-modal.js +54 -0
  191. package/build/template-part/edit/title-modal.js.map +1 -0
  192. package/build/template-part/edit/utils/hooks.js +156 -0
  193. package/build/template-part/edit/utils/hooks.js.map +1 -0
  194. package/build/template-part/index.js +3 -1
  195. package/build/template-part/index.js.map +1 -1
  196. package/build/video/edit.js +4 -4
  197. package/build/video/edit.js.map +1 -1
  198. package/build/video/edit.native.js +3 -3
  199. package/build/video/edit.native.js.map +1 -1
  200. package/build-module/audio/edit.js +4 -4
  201. package/build-module/audio/edit.js.map +1 -1
  202. package/build-module/audio/edit.native.js +4 -4
  203. package/build-module/audio/edit.native.js.map +1 -1
  204. package/build-module/audio/transforms.js +1 -1
  205. package/build-module/audio/transforms.js.map +1 -1
  206. package/build-module/block/edit.js +5 -11
  207. package/build-module/block/edit.js.map +1 -1
  208. package/build-module/button/edit.js +3 -2
  209. package/build-module/button/edit.js.map +1 -1
  210. package/build-module/button/edit.native.js +6 -6
  211. package/build-module/button/edit.native.js.map +1 -1
  212. package/build-module/buttons/transforms.js +8 -8
  213. package/build-module/buttons/transforms.js.map +1 -1
  214. package/build-module/categories/edit.js +15 -25
  215. package/build-module/categories/edit.js.map +1 -1
  216. package/build-module/code/index.js +0 -1
  217. package/build-module/code/index.js.map +1 -1
  218. package/build-module/columns/columnCalculations.native.js +1 -1
  219. package/build-module/columns/columnCalculations.native.js.map +1 -1
  220. package/build-module/columns/edit.js +1 -1
  221. package/build-module/columns/edit.js.map +1 -1
  222. package/build-module/columns/edit.native.js +3 -3
  223. package/build-module/columns/edit.native.js.map +1 -1
  224. package/build-module/columns/index.js +12 -0
  225. package/build-module/columns/index.js.map +1 -1
  226. package/build-module/comment-author-avatar/edit.js +18 -6
  227. package/build-module/comment-author-avatar/edit.js.map +1 -1
  228. package/build-module/comment-template/edit.js +95 -37
  229. package/build-module/comment-template/edit.js.map +1 -1
  230. package/build-module/comment-template/hooks.js +156 -0
  231. package/build-module/comment-template/hooks.js.map +1 -0
  232. package/build-module/comment-template/index.js +1 -1
  233. package/build-module/comment-template/util.js.map +1 -1
  234. package/build-module/comments-pagination-next/index.js +1 -1
  235. package/build-module/comments-pagination-numbers/index.js +1 -1
  236. package/build-module/comments-query-loop/edit/comments-inspector-controls.js +20 -9
  237. package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
  238. package/build-module/comments-query-loop/edit.js +2 -19
  239. package/build-module/comments-query-loop/edit.js.map +1 -1
  240. package/build-module/comments-query-loop/index.js +5 -0
  241. package/build-module/comments-query-loop/index.js.map +1 -1
  242. package/build-module/cover/controls.native.js +5 -5
  243. package/build-module/cover/controls.native.js.map +1 -1
  244. package/build-module/cover/deprecated.js +190 -17
  245. package/build-module/cover/deprecated.js.map +1 -1
  246. package/build-module/cover/edit.js +31 -35
  247. package/build-module/cover/edit.js.map +1 -1
  248. package/build-module/cover/edit.native.js +18 -16
  249. package/build-module/cover/edit.native.js.map +1 -1
  250. package/build-module/cover/overlay-color-settings.native.js +7 -7
  251. package/build-module/cover/overlay-color-settings.native.js.map +1 -1
  252. package/build-module/cover/save.js +1 -1
  253. package/build-module/cover/save.js.map +1 -1
  254. package/build-module/cover/shared.js +2 -2
  255. package/build-module/cover/shared.js.map +1 -1
  256. package/build-module/cover/transforms.js +4 -2
  257. package/build-module/cover/transforms.js.map +1 -1
  258. package/build-module/embed/edit.js +1 -1
  259. package/build-module/embed/edit.js.map +1 -1
  260. package/build-module/embed/edit.native.js +1 -1
  261. package/build-module/embed/edit.native.js.map +1 -1
  262. package/build-module/embed/util.js +2 -2
  263. package/build-module/embed/util.js.map +1 -1
  264. package/build-module/embed/variations.js +1 -1
  265. package/build-module/embed/variations.js.map +1 -1
  266. package/build-module/file/edit.js +21 -18
  267. package/build-module/file/edit.js.map +1 -1
  268. package/build-module/file/edit.native.js +1 -1
  269. package/build-module/file/edit.native.js.map +1 -1
  270. package/build-module/file/save.js +7 -3
  271. package/build-module/file/save.js.map +1 -1
  272. package/build-module/freeform/edit.js +2 -2
  273. package/build-module/freeform/edit.js.map +1 -1
  274. package/build-module/gallery/edit.js +1 -1
  275. package/build-module/gallery/edit.js.map +1 -1
  276. package/build-module/gallery/gallery.native.js +1 -1
  277. package/build-module/gallery/gallery.native.js.map +1 -1
  278. package/build-module/gallery/v1/edit.js +3 -3
  279. package/build-module/gallery/v1/edit.js.map +1 -1
  280. package/build-module/gallery/v1/gallery-image.native.js +3 -3
  281. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  282. package/build-module/gallery/v1/gallery.native.js +2 -2
  283. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  284. package/build-module/group/index.js +3 -36
  285. package/build-module/group/index.js.map +1 -1
  286. package/build-module/group/transforms.js +36 -0
  287. package/build-module/group/transforms.js.map +1 -0
  288. package/build-module/heading/edit.js +15 -3
  289. package/build-module/heading/edit.js.map +1 -1
  290. package/build-module/home-link/edit.js +1 -1
  291. package/build-module/home-link/edit.js.map +1 -1
  292. package/build-module/image/deprecated.js +90 -7
  293. package/build-module/image/deprecated.js.map +1 -1
  294. package/build-module/image/edit.js +7 -6
  295. package/build-module/image/edit.js.map +1 -1
  296. package/build-module/image/edit.native.js +25 -10
  297. package/build-module/image/edit.native.js.map +1 -1
  298. package/build-module/image/save.js +0 -7
  299. package/build-module/image/save.js.map +1 -1
  300. package/build-module/image/transforms.js +1 -1
  301. package/build-module/image/transforms.js.map +1 -1
  302. package/build-module/index.js +4 -5
  303. package/build-module/index.js.map +1 -1
  304. package/build-module/index.native.js +2 -2
  305. package/build-module/index.native.js.map +1 -1
  306. package/build-module/latest-posts/edit.js +1 -0
  307. package/build-module/latest-posts/edit.js.map +1 -1
  308. package/build-module/media-text/edit.js +20 -2
  309. package/build-module/media-text/edit.js.map +1 -1
  310. package/build-module/media-text/edit.native.js +2 -2
  311. package/build-module/media-text/edit.native.js.map +1 -1
  312. package/build-module/media-text/media-container.native.js +1 -1
  313. package/build-module/media-text/media-container.native.js.map +1 -1
  314. package/build-module/missing/edit.native.js +1 -1
  315. package/build-module/missing/edit.native.js.map +1 -1
  316. package/build-module/more/transforms.js +2 -2
  317. package/build-module/more/transforms.js.map +1 -1
  318. package/build-module/navigation/edit/index.js +138 -68
  319. package/build-module/navigation/edit/index.js.map +1 -1
  320. package/build-module/navigation/edit/inner-blocks.js +8 -3
  321. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  322. package/build-module/navigation/edit/navigation-menu-selector.js +82 -48
  323. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  324. package/build-module/navigation/edit/placeholder/index.js +33 -59
  325. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  326. package/build-module/navigation/edit/placeholder/placeholder-preview.js +3 -9
  327. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  328. package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
  329. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  330. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +100 -0
  331. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -0
  332. package/build-module/navigation/edit/use-create-navigation-menu.js +48 -5
  333. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  334. package/build-module/navigation/edit/use-navigation-notice.js +3 -3
  335. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
  336. package/build-module/navigation/menu-items-to-blocks.js +1 -1
  337. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  338. package/build-module/navigation/use-navigation-entities.js +26 -50
  339. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  340. package/build-module/navigation/use-navigation-menu.js +8 -6
  341. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  342. package/build-module/navigation-link/fallback-variations.js +1 -1
  343. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  344. package/build-module/navigation-link/hooks.js +2 -2
  345. package/build-module/navigation-link/hooks.js.map +1 -1
  346. package/build-module/navigation-submenu/edit.js +43 -12
  347. package/build-module/navigation-submenu/edit.js.map +1 -1
  348. package/build-module/page-list/convert-to-links-modal.js +15 -25
  349. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  350. package/build-module/page-list/edit.js +21 -41
  351. package/build-module/page-list/edit.js.map +1 -1
  352. package/build-module/post-author-name/edit.js +2 -1
  353. package/build-module/post-author-name/edit.js.map +1 -1
  354. package/build-module/post-comments-form/edit.js +4 -2
  355. package/build-module/post-comments-form/edit.js.map +1 -1
  356. package/build-module/post-excerpt/edit.js +9 -6
  357. package/build-module/post-excerpt/edit.js.map +1 -1
  358. package/build-module/post-terms/edit.js +2 -1
  359. package/build-module/post-terms/edit.js.map +1 -1
  360. package/build-module/query-title/edit.js +0 -1
  361. package/build-module/query-title/edit.js.map +1 -1
  362. package/build-module/search/edit.js +3 -1
  363. package/build-module/search/edit.js.map +1 -1
  364. package/build-module/search/edit.native.js +1 -1
  365. package/build-module/search/edit.native.js.map +1 -1
  366. package/build-module/separator/save.js +4 -4
  367. package/build-module/separator/save.js.map +1 -1
  368. package/build-module/separator/separator-settings.native.js +1 -1
  369. package/build-module/separator/separator-settings.native.js.map +1 -1
  370. package/build-module/site-logo/edit.js +1 -1
  371. package/build-module/site-logo/edit.js.map +1 -1
  372. package/build-module/social-link/edit.native.js +11 -3
  373. package/build-module/social-link/edit.native.js.map +1 -1
  374. package/build-module/social-links/deprecated.js +1 -62
  375. package/build-module/social-links/deprecated.js.map +1 -1
  376. package/build-module/spacer/controls.js +5 -5
  377. package/build-module/spacer/controls.js.map +1 -1
  378. package/build-module/spacer/controls.native.js +5 -5
  379. package/build-module/spacer/controls.native.js.map +1 -1
  380. package/build-module/table/edit.js +2 -2
  381. package/build-module/table/edit.js.map +1 -1
  382. package/build-module/template-part/edit/index.js +37 -65
  383. package/build-module/template-part/edit/index.js.map +1 -1
  384. package/build-module/template-part/edit/placeholder.js +52 -0
  385. package/build-module/template-part/edit/placeholder.js.map +1 -0
  386. package/build-module/template-part/edit/selection-modal.js +89 -0
  387. package/build-module/template-part/edit/selection-modal.js.map +1 -0
  388. package/build-module/template-part/edit/title-modal.js +46 -0
  389. package/build-module/template-part/edit/title-modal.js.map +1 -0
  390. package/build-module/template-part/edit/utils/hooks.js +135 -0
  391. package/build-module/template-part/edit/utils/hooks.js.map +1 -0
  392. package/build-module/template-part/index.js +2 -1
  393. package/build-module/template-part/index.js.map +1 -1
  394. package/build-module/video/edit.js +4 -4
  395. package/build-module/video/edit.js.map +1 -1
  396. package/build-module/video/edit.native.js +3 -3
  397. package/build-module/video/edit.native.js.map +1 -1
  398. package/build-style/button/editor-rtl.css +0 -3
  399. package/build-style/button/editor.css +0 -3
  400. package/build-style/code/style-rtl.css +2 -1
  401. package/build-style/code/style.css +2 -1
  402. package/build-style/code/theme-rtl.css +0 -3
  403. package/build-style/code/theme.css +0 -3
  404. package/build-style/comment-author-avatar/editor-rtl.css +83 -0
  405. package/build-style/comment-author-avatar/editor.css +83 -0
  406. package/build-style/common-rtl.css +1 -1
  407. package/build-style/common.css +1 -1
  408. package/build-style/cover/style-rtl.css +5 -5
  409. package/build-style/cover/style.css +5 -5
  410. package/build-style/editor-rtl.css +43 -84
  411. package/build-style/editor.css +43 -84
  412. package/build-style/image/editor-rtl.css +0 -16
  413. package/build-style/image/editor.css +0 -16
  414. package/build-style/image/style-rtl.css +4 -1
  415. package/build-style/image/style.css +4 -1
  416. package/build-style/navigation/editor-rtl.css +16 -0
  417. package/build-style/navigation/editor.css +16 -0
  418. package/build-style/navigation/style-rtl.css +14 -3
  419. package/build-style/navigation/style.css +14 -3
  420. package/build-style/page-list/editor-rtl.css +0 -9
  421. package/build-style/page-list/editor.css +0 -9
  422. package/build-style/style-rtl.css +32 -13
  423. package/build-style/style.css +32 -13
  424. package/build-style/tag-cloud/style-rtl.css +6 -2
  425. package/build-style/tag-cloud/style.css +6 -2
  426. package/build-style/template-part/editor-rtl.css +19 -56
  427. package/build-style/template-part/editor.css +19 -56
  428. package/build-style/theme-rtl.css +0 -3
  429. package/build-style/theme.css +0 -3
  430. package/package.json +32 -28
  431. package/src/archives/index.php +1 -1
  432. package/src/audio/edit.js +4 -4
  433. package/src/audio/edit.native.js +4 -4
  434. package/src/audio/transforms.js +1 -1
  435. package/src/block/edit.js +7 -22
  436. package/src/block/test/edit.native.js +9 -9
  437. package/src/button/edit.js +2 -1
  438. package/src/button/edit.native.js +5 -5
  439. package/src/button/editor.scss +0 -5
  440. package/src/buttons/test/edit.native.js +3 -3
  441. package/src/buttons/transforms.js +8 -8
  442. package/src/categories/edit.js +12 -22
  443. package/src/code/block.json +0 -1
  444. package/src/code/style.scss +4 -2
  445. package/src/code/theme.scss +0 -3
  446. package/src/columns/block.json +12 -0
  447. package/src/columns/columnCalculations.native.js +1 -1
  448. package/src/columns/edit.js +1 -1
  449. package/src/columns/edit.native.js +3 -3
  450. package/src/comment-author-avatar/edit.js +13 -8
  451. package/src/comment-author-avatar/editor.scss +7 -0
  452. package/src/comment-template/block.json +7 -1
  453. package/src/comment-template/edit.js +102 -40
  454. package/src/comment-template/hooks.js +151 -0
  455. package/src/comment-template/index.php +8 -0
  456. package/src/comment-template/util.js +1 -0
  457. package/src/comments-pagination-next/block.json +8 -1
  458. package/src/comments-pagination-next/index.php +6 -8
  459. package/src/comments-pagination-numbers/block.json +7 -1
  460. package/src/comments-pagination-numbers/index.php +3 -10
  461. package/src/comments-query-loop/block.json +5 -0
  462. package/src/comments-query-loop/edit/comments-inspector-controls.js +22 -4
  463. package/src/comments-query-loop/edit.js +1 -16
  464. package/src/common.scss +1 -1
  465. package/src/cover/controls.native.js +1 -1
  466. package/src/cover/deprecated.js +214 -1
  467. package/src/cover/edit.js +21 -36
  468. package/src/cover/edit.native.js +23 -15
  469. package/src/cover/overlay-color-settings.native.js +6 -7
  470. package/src/cover/save.js +4 -3
  471. package/src/cover/shared.js +2 -2
  472. package/src/cover/style.scss +5 -3
  473. package/src/cover/test/edit.native.js +39 -39
  474. package/src/cover/transforms.js +2 -0
  475. package/src/editor.scss +1 -0
  476. package/src/embed/edit.js +1 -1
  477. package/src/embed/edit.native.js +1 -1
  478. package/src/embed/test/index.native.js +105 -105
  479. package/src/embed/util.js +2 -2
  480. package/src/embed/variations.js +1 -1
  481. package/src/file/edit.js +19 -17
  482. package/src/file/edit.native.js +1 -1
  483. package/src/file/save.js +9 -3
  484. package/src/file/style.native.scss +1 -0
  485. package/src/freeform/edit.js +2 -2
  486. package/src/gallery/edit.js +1 -1
  487. package/src/gallery/gallery.native.js +1 -1
  488. package/src/gallery/index.php +1 -8
  489. package/src/gallery/test/__snapshots__/index.native.js.snap +164 -0
  490. package/src/gallery/test/helpers.native.js +293 -0
  491. package/src/gallery/test/index.native.js +583 -65
  492. package/src/gallery/v1/edit.js +3 -4
  493. package/src/gallery/v1/gallery-image.native.js +3 -3
  494. package/src/gallery/v1/gallery.native.js +2 -2
  495. package/src/group/block.json +1 -0
  496. package/src/group/index.js +2 -54
  497. package/src/group/transforms.js +52 -0
  498. package/src/heading/edit.js +18 -5
  499. package/src/home-link/edit.js +1 -1
  500. package/src/home-link/index.php +1 -19
  501. package/src/image/deprecated.js +105 -1
  502. package/src/image/edit.js +7 -6
  503. package/src/image/edit.native.js +25 -8
  504. package/src/image/editor.scss +0 -18
  505. package/src/image/save.js +0 -8
  506. package/src/image/style.scss +5 -1
  507. package/src/image/test/edit.native.js +1 -11
  508. package/src/image/transforms.js +1 -1
  509. package/src/index.js +2 -3
  510. package/src/index.native.js +2 -2
  511. package/src/latest-posts/edit.js +1 -0
  512. package/src/latest-posts/index.php +1 -1
  513. package/src/media-text/edit.js +20 -2
  514. package/src/media-text/edit.native.js +2 -2
  515. package/src/media-text/media-container.native.js +1 -1
  516. package/src/media-text/style.native.scss +1 -0
  517. package/src/missing/edit.native.js +1 -1
  518. package/src/missing/test/edit-integration.native.js +4 -4
  519. package/src/missing/test/edit.native.js +2 -2
  520. package/src/more/transforms.js +2 -2
  521. package/src/navigation/edit/index.js +212 -88
  522. package/src/navigation/edit/inner-blocks.js +11 -4
  523. package/src/navigation/edit/navigation-menu-selector.js +121 -58
  524. package/src/navigation/edit/placeholder/index.js +64 -111
  525. package/src/navigation/edit/placeholder/placeholder-preview.js +3 -10
  526. package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
  527. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +137 -0
  528. package/src/navigation/edit/use-create-navigation-menu.js +59 -8
  529. package/src/navigation/edit/use-navigation-notice.js +3 -3
  530. package/src/navigation/editor.scss +23 -1
  531. package/src/navigation/index.php +4 -4
  532. package/src/navigation/menu-items-to-blocks.js +1 -1
  533. package/src/navigation/style.scss +22 -3
  534. package/src/navigation/test/menu-items-to-blocks.js +1 -1
  535. package/src/navigation/use-navigation-entities.js +26 -60
  536. package/src/navigation/use-navigation-menu.js +11 -6
  537. package/src/navigation-link/fallback-variations.js +1 -1
  538. package/src/navigation-link/hooks.js +2 -2
  539. package/src/navigation-link/index.php +3 -22
  540. package/src/navigation-link/test/edit.js +5 -5
  541. package/src/navigation-submenu/edit.js +52 -14
  542. package/src/navigation-submenu/index.php +3 -21
  543. package/src/page-list/convert-to-links-modal.js +17 -31
  544. package/src/page-list/edit.js +35 -48
  545. package/src/page-list/editor.scss +0 -10
  546. package/src/page-list/index.php +4 -4
  547. package/src/post-author-name/edit.js +1 -0
  548. package/src/post-author-name/index.php +1 -1
  549. package/src/post-comments-form/edit.js +7 -3
  550. package/src/post-excerpt/edit.js +9 -12
  551. package/src/post-navigation-link/index.php +3 -3
  552. package/src/post-terms/edit.js +2 -1
  553. package/src/query-title/edit.js +0 -1
  554. package/src/search/edit.js +6 -0
  555. package/src/search/edit.native.js +1 -1
  556. package/src/search/index.php +8 -4
  557. package/src/search/test/edit.native.js +0 -1
  558. package/src/separator/save.js +4 -4
  559. package/src/separator/separator-settings.native.js +1 -1
  560. package/src/site-logo/edit.js +1 -1
  561. package/src/site-logo/index.php +1 -1
  562. package/src/social-link/edit.native.js +17 -8
  563. package/src/social-link/test/index.native.js +138 -0
  564. package/src/social-links/deprecated.js +0 -59
  565. package/src/spacer/controls.js +1 -1
  566. package/src/spacer/controls.native.js +1 -1
  567. package/src/table/edit.js +2 -2
  568. package/src/tag-cloud/style.scss +12 -7
  569. package/src/template-part/edit/index.js +61 -71
  570. package/src/template-part/edit/placeholder.js +78 -0
  571. package/src/template-part/edit/selection-modal.js +115 -0
  572. package/src/template-part/edit/title-modal.js +59 -0
  573. package/src/template-part/edit/utils/hooks.js +158 -0
  574. package/src/template-part/editor.scss +16 -74
  575. package/src/template-part/index.js +4 -1
  576. package/src/video/edit.js +4 -4
  577. package/src/video/edit.native.js +3 -3
  578. package/src/video/style.native.scss +1 -0
  579. package/build/navigation/edit/existing-menus-options.js +0 -62
  580. package/build/navigation/edit/existing-menus-options.js.map +0 -1
  581. package/build/navigation/use-convert-classic-menu.js +0 -59
  582. package/build/navigation/use-convert-classic-menu.js.map +0 -1
  583. package/build/template-part/edit/placeholder/index.js +0 -141
  584. package/build/template-part/edit/placeholder/index.js.map +0 -1
  585. package/build/template-part/edit/placeholder/patterns-setup.js +0 -100
  586. package/build/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  587. package/build/template-part/edit/selection/index.js +0 -45
  588. package/build/template-part/edit/selection/index.js.map +0 -1
  589. package/build/template-part/edit/selection/template-part-previews.js +0 -317
  590. package/build/template-part/edit/selection/template-part-previews.js.map +0 -1
  591. package/build-module/navigation/edit/existing-menus-options.js +0 -53
  592. package/build-module/navigation/edit/existing-menus-options.js.map +0 -1
  593. package/build-module/navigation/use-convert-classic-menu.js +0 -47
  594. package/build-module/navigation/use-convert-classic-menu.js.map +0 -1
  595. package/build-module/template-part/edit/placeholder/index.js +0 -124
  596. package/build-module/template-part/edit/placeholder/index.js.map +0 -1
  597. package/build-module/template-part/edit/placeholder/patterns-setup.js +0 -91
  598. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +0 -1
  599. package/build-module/template-part/edit/selection/index.js +0 -35
  600. package/build-module/template-part/edit/selection/index.js.map +0 -1
  601. package/build-module/template-part/edit/selection/template-part-previews.js +0 -298
  602. package/build-module/template-part/edit/selection/template-part-previews.js.map +0 -1
  603. package/src/navigation/edit/existing-menus-options.js +0 -70
  604. package/src/navigation/use-convert-classic-menu.js +0 -58
  605. package/src/template-part/edit/placeholder/index.js +0 -172
  606. package/src/template-part/edit/placeholder/patterns-setup.js +0 -124
  607. package/src/template-part/edit/selection/index.js +0 -37
  608. package/src/template-part/edit/selection/template-part-previews.js +0 -372
@@ -9,8 +9,6 @@ exports.settings = exports.name = exports.metadata = void 0;
9
9
 
10
10
  var _i18n = require("@wordpress/i18n");
11
11
 
12
- var _blocks = require("@wordpress/blocks");
13
-
14
12
  var _icons = require("@wordpress/icons");
15
13
 
16
14
  var _deprecated = _interopRequireDefault(require("./deprecated"));
@@ -19,6 +17,8 @@ var _edit = _interopRequireDefault(require("./edit"));
19
17
 
20
18
  var _save = _interopRequireDefault(require("./save"));
21
19
 
20
+ var _transforms = _interopRequireDefault(require("./transforms"));
21
+
22
22
  var _variations = _interopRequireDefault(require("./variations"));
23
23
 
24
24
  /**
@@ -60,6 +60,7 @@ const metadata = {
60
60
  }
61
61
  },
62
62
  spacing: {
63
+ margin: ["top", "bottom"],
63
64
  padding: true,
64
65
  blockGap: true,
65
66
  __experimentalDefaultControls: {
@@ -155,41 +156,7 @@ const settings = {
155
156
  }
156
157
  }]
157
158
  },
158
- transforms: {
159
- from: [{
160
- type: 'block',
161
- isMultiBlock: true,
162
- blocks: ['*'],
163
-
164
- __experimentalConvert(blocks) {
165
- // Avoid transforming a single `core/group` Block
166
- if (blocks.length === 1 && blocks[0].name === 'core/group') {
167
- return;
168
- }
169
-
170
- const alignments = ['wide', 'full']; // Determine the widest setting of all the blocks to be grouped
171
-
172
- const widestAlignment = blocks.reduce((accumulator, block) => {
173
- const {
174
- align
175
- } = block.attributes;
176
- return alignments.indexOf(align) > alignments.indexOf(accumulator) ? align : accumulator;
177
- }, undefined); // Clone the Blocks to be Grouped
178
- // Failing to create new block references causes the original blocks
179
- // to be replaced in the switchToBlockType call thereby meaning they
180
- // are removed both from their original location and within the
181
- // new group block.
182
-
183
- const groupInnerBlocks = blocks.map(block => {
184
- return (0, _blocks.createBlock)(block.name, block.attributes, block.innerBlocks);
185
- });
186
- return (0, _blocks.createBlock)('core/group', {
187
- align: widestAlignment
188
- }, groupInnerBlocks);
189
- }
190
-
191
- }]
192
- },
159
+ transforms: _transforms.default,
193
160
  edit: _edit.default,
194
161
  save: _save.default,
195
162
  deprecated: _deprecated.default,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","length","alignments","widestAlignment","reduce","accumulator","block","align","indexOf","undefined","groupInnerBlocks","map","edit","save","deprecated","variations"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport 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\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\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/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\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Avoid transforming a single `core/group` Block\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\t\tblocks[ 0 ].name === 'core/group'\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\n\t\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t\t// new group block.\n\t\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","edit","save","deprecated","variations"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAE;AACNC,QAAAA,KAAK,EAAE;AACNC,UAAAA,IAAI,EAAE,SADA;AAENC,UAAAA,UAAU,EAAE;AAFN;AADD;AADI,KADJ;AASRC,IAAAA,WAAW,EAAE,CACZ;AACCV,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KADY,EASZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KATY,EAiBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,QAAJ;AAHE;AAFb,KAjBY,EAyBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAzBY,EAiCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAjCY,EAyCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KAzCY;AATL,GAFc;AA8DvBC,EAAAA,UAAU,EAAVA,mBA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,IAAI,EAAJA,aAhEuB;AAiEvBC,EAAAA,UAAU,EAAVA,mBAjEuB;AAkEvBC,EAAAA,UAAU,EAAVA;AAlEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\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\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\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/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"]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _blocks = require("@wordpress/blocks");
9
+
10
+ /**
11
+ * WordPress dependencies
12
+ */
13
+ const transforms = {
14
+ from: [{
15
+ type: 'block',
16
+ isMultiBlock: true,
17
+ blocks: ['*'],
18
+
19
+ __experimentalConvert(blocks) {
20
+ const alignments = ['wide', 'full']; // Determine the widest setting of all the blocks to be grouped
21
+
22
+ const widestAlignment = blocks.reduce((accumulator, block) => {
23
+ const {
24
+ align
25
+ } = block.attributes;
26
+ return alignments.indexOf(align) > alignments.indexOf(accumulator) ? align : accumulator;
27
+ }, undefined); // Clone the Blocks to be Grouped
28
+ // Failing to create new block references causes the original blocks
29
+ // to be replaced in the switchToBlockType call thereby meaning they
30
+ // are removed both from their original location and within the
31
+ // new group block.
32
+
33
+ const groupInnerBlocks = blocks.map(block => {
34
+ return (0, _blocks.createBlock)(block.name, block.attributes, block.innerBlocks);
35
+ });
36
+ return (0, _blocks.createBlock)('core/group', {
37
+ align: widestAlignment
38
+ }, groupInnerBlocks);
39
+ }
40
+
41
+ }]
42
+ };
43
+ var _default = transforms;
44
+ exports.default = _default;
45
+ //# sourceMappingURL=transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/transforms.js"],"names":["transforms","from","type","isMultiBlock","blocks","__experimentalConvert","alignments","widestAlignment","reduce","accumulator","block","align","attributes","indexOf","undefined","groupInnerBlocks","map","name","innerBlocks"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,YAAY,EAAE,IAFf;AAGCC,IAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;;AAICC,IAAAA,qBAAqB,CAAED,MAAF,EAAW;AAC/B,YAAME,UAAU,GAAG,CAAE,MAAF,EAAU,MAAV,CAAnB,CAD+B,CAG/B;;AACA,YAAMC,eAAe,GAAGH,MAAM,CAACI,MAAP,CACvB,CAAEC,WAAF,EAAeC,KAAf,KAA0B;AACzB,cAAM;AAAEC,UAAAA;AAAF,YAAYD,KAAK,CAACE,UAAxB;AACA,eAAON,UAAU,CAACO,OAAX,CAAoBF,KAApB,IACNL,UAAU,CAACO,OAAX,CAAoBJ,WAApB,CADM,GAEJE,KAFI,GAGJF,WAHH;AAIA,OAPsB,EAQvBK,SARuB,CAAxB,CAJ+B,CAe/B;AACA;AACA;AACA;AACA;;AACA,YAAMC,gBAAgB,GAAGX,MAAM,CAACY,GAAP,CAAcN,KAAF,IAAa;AACjD,eAAO,yBACNA,KAAK,CAACO,IADA,EAENP,KAAK,CAACE,UAFA,EAGNF,KAAK,CAACQ,WAHA,CAAP;AAKA,OANwB,CAAzB;AAQA,aAAO,yBACN,YADM,EAEN;AACCP,QAAAA,KAAK,EAAEJ;AADR,OAFM,EAKNQ,gBALM,CAAP;AAOA;;AAvCF,GADK;AADY,CAAnB;eA8Cef,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t},\n\t\t\t\t\tundefined\n\t\t\t\t);\n\n\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t// new group block.\n\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{\n\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t},\n\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -59,12 +59,24 @@ function HeadingEdit(_ref) {
59
59
  }),
60
60
  style
61
61
  });
62
+ const {
63
+ canGenerateAnchors
64
+ } = (0, _data.useSelect)(select => {
65
+ const settings = select(_blockEditor.store).getSettings();
66
+ return {
67
+ canGenerateAnchors: !!settings.__experimentalGenerateAnchors
68
+ };
69
+ }, []);
62
70
  const {
63
71
  __unstableMarkNextChangeAsNotPersistent
64
72
  } = (0, _data.useDispatch)(_blockEditor.store); // Initially set anchor for headings that have content but no anchor set.
65
73
  // This is used when transforming a block to heading, or for legacy anchors.
66
74
 
67
75
  (0, _element.useEffect)(() => {
76
+ if (!canGenerateAnchors) {
77
+ return;
78
+ }
79
+
68
80
  if (!anchor && content) {
69
81
  // This side-effect should not create an undo level.
70
82
  __unstableMarkNextChangeAsNotPersistent();
@@ -77,14 +89,14 @@ function HeadingEdit(_ref) {
77
89
  (0, _autogenerateAnchors.setAnchor)(clientId, anchor); // Remove anchor map when block unmounts.
78
90
 
79
91
  return () => (0, _autogenerateAnchors.setAnchor)(clientId, null);
80
- }, [content, anchor]);
92
+ }, [anchor, content, clientId, canGenerateAnchors]);
81
93
 
82
94
  const onContentChange = value => {
83
95
  const newAttrs = {
84
96
  content: value
85
97
  };
86
98
 
87
- if (!anchor || !value || (0, _autogenerateAnchors.generateAnchor)(clientId, content) === anchor) {
99
+ if (canGenerateAnchors && (!anchor || !value || (0, _autogenerateAnchors.generateAnchor)(clientId, content) === anchor)) {
88
100
  newAttrs.anchor = (0, _autogenerateAnchors.generateAnchor)(clientId, value);
89
101
  }
90
102
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/edit.js"],"names":["HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","placeholder","anchor","tagName","blockProps","className","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","onContentChange","value","newAttrs","newLevel","nextAlign","isOriginal","block","Platform","isNative","deleteEnter"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from './heading-level-dropdown';\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: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\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 ( ! 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}, [ content, anchor ] );\n\n\tconst onContentChange = ( value ) => {\n\t\tconst newAttrs = { content: value };\n\t\tif (\n\t\t\t! anchor ||\n\t\t\t! value ||\n\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<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<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\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet block;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tblock = createBlock( 'core/heading', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock = createBlock(\n\t\t\t\t\t\t\tgetDefaultBlockName() ?? 'core/heading'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\taria-label={ __( 'Heading text' ) }\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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/edit.js"],"names":["HeadingEdit","attributes","setAttributes","mergeBlocks","onReplace","style","clientId","textAlign","content","level","placeholder","anchor","tagName","blockProps","className","canGenerateAnchors","select","settings","blockEditorStore","getSettings","__experimentalGenerateAnchors","__unstableMarkNextChangeAsNotPersistent","onContentChange","value","newAttrs","newLevel","nextAlign","isOriginal","block","Platform","isNative","deleteEnter"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, Platform } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from './heading-level-dropdown';\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: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t\tstyle,\n\t} );\n\n\tconst { canGenerateAnchors } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\treturn {\n\t\t\tcanGenerateAnchors: !! settings.__experimentalGenerateAnchors,\n\t\t};\n\t}, [] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\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<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<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\tonSplit={ ( value, isOriginal ) => {\n\t\t\t\t\tlet block;\n\n\t\t\t\t\tif ( isOriginal || value ) {\n\t\t\t\t\t\tblock = createBlock( 'core/heading', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tblock = createBlock(\n\t\t\t\t\t\t\tgetDefaultBlockName() ?? 'core/heading'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tif ( isOriginal ) {\n\t\t\t\t\t\tblock.clientId = clientId;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn block;\n\t\t\t\t} }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonRemove={ () => onReplace( [] ) }\n\t\t\t\taria-label={ __( 'Heading text' ) }\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"]}
@@ -43,7 +43,7 @@ function HomeEdit(_ref) {
43
43
  var _getUnstableBase;
44
44
 
45
45
  const {
46
- getUnstableBase //site index
46
+ getUnstableBase // Site index.
47
47
 
48
48
  } = select(_coreData.store);
49
49
  return {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/home-link/edit.js"],"names":["preventDefault","event","HomeEdit","attributes","setAttributes","context","clientId","homeUrl","select","getUnstableBase","coreStore","home","textColor","backgroundColor","style","blockProps","className","color","text","background","label","undefined","labelValue"],"mappings":";;;;;;;;;AAYA;;AATA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,cAAc,GAAKC,KAAF,IAAaA,KAAK,CAACD,cAAN,EAApC;;AAEe,SAASE,QAAT,OAKX;AAAA;;AAAA,MAL8B;AACjCC,IAAAA,UADiC;AAEjCC,IAAAA,aAFiC;AAGjCC,IAAAA,OAHiC;AAIjCC,IAAAA;AAJiC,GAK9B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAc,qBACjBC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK,CACY;;AADZ,QAEFD,MAAM,CAAEE,eAAF,CAFV;AAGA,WAAO;AACNH,MAAAA,OAAO,sBAAEE,eAAe,EAAjB,qDAAE,iBAAmBE;AADtB,KAAP;AAGA,GARkB,EASnB,CAAEL,QAAF,CATmB,CAApB;AAYA,QAAM;AAAEM,IAAAA,SAAF;AAAaC,IAAAA,eAAb;AAA8BC,IAAAA;AAA9B,MAAwCT,OAA9C;AACA,QAAMU,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY,0BAAZ,EAAwC;AAClD,wBAAkB,CAAC,CAAEJ,SAAH,IAAgB,CAAC,EAAEE,KAAF,aAAEA,KAAF,+BAAEA,KAAK,CAAEG,KAAT,yCAAE,aAAcC,IAAhB,CADe;AAElD,OAAG,OAAON,SAAW,QAArB,GAAgC,CAAC,CAAEA,SAFe;AAGlD,wBAAkB,CAAC,CAAEC,eAAH,IAAsB,CAAC,EAAEC,KAAF,aAAEA,KAAF,gCAAEA,KAAK,CAAEG,KAAT,0CAAE,cAAcE,UAAhB,CAHS;AAIlD,OAAG,OAAON,eAAiB,mBAA3B,GAAiD,CAAC,CAAEA;AAJF,KAAxC,CADsB;AAOjCC,IAAAA,KAAK,EAAE;AACNG,MAAAA,KAAK,EAAEH,KAAF,aAAEA,KAAF,wCAAEA,KAAK,CAAEG,KAAT,kDAAE,cAAcC,IADf;AAENL,MAAAA,eAAe,EAAEC,KAAF,aAAEA,KAAF,wCAAEA,KAAK,CAAEG,KAAT,kDAAE,cAAcE;AAFzB;AAP0B,GAAf,CAAnB;AAaA,QAAM;AAAEC,IAAAA;AAAF,MAAYjB,UAAlB;AAEA,0BAAW,MAAM;AAChB,QAAKiB,KAAK,KAAKC,SAAf,EAA2B;AAC1BjB,MAAAA,aAAa,CAAE;AAAEgB,QAAAA,KAAK,EAAE,cAAI,MAAJ;AAAT,OAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAEd,QAAF,EAAYc,KAAZ,CAJH;AAMA,SACC,qDACC,mCAAUL,UAAV,EACC;AACC,IAAA,SAAS,EAAC,+DADX;AAEC,IAAA,IAAI,EAAGR,OAFR;AAGC,IAAA,OAAO,EAAGP;AAHX,KAKC,4BAAC,qBAAD;AACC,IAAA,UAAU,EAAC,OADZ;AAEC,IAAA,SAAS,EAAC,2BAFX;AAGC,IAAA,KAAK,EAAGoB,KAHT;AAIC,IAAA,QAAQ,EAAKE,UAAF,IAAkB;AAC5BlB,MAAAA,aAAa,CAAE;AAAEgB,QAAAA,KAAK,EAAEE;AAAT,OAAF,CAAb;AACA,KANF;AAOC,kBAAa,cAAI,gBAAJ,CAPd;AAQC,IAAA,WAAW,EAAG,cAAI,eAAJ,CARf;AASC,IAAA,4BAA4B,MAT7B;AAUC,IAAA,cAAc,EAAG,CAChB,WADgB,EAEhB,aAFgB,EAGhB,YAHgB,EAIhB,oBAJgB;AAVlB,IALD,CADD,CADD,CADD;AA6BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { homeUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetUnstableBase, //site index\n\t\t\t} = select( coreStore );\n\t\t\treturn {\n\t\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\tconst { label } = attributes;\n\n\tuseEffect( () => {\n\t\tif ( label === undefined ) {\n\t\t\tsetAttributes( { label: __( 'Home' ) } );\n\t\t}\n\t}, [ clientId, label ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"wp-block-home-link__content wp-block-navigation-item__content\"\n\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\tonClick={ preventDefault }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-home-link__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Home link text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add home link' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/home-link/edit.js"],"names":["preventDefault","event","HomeEdit","attributes","setAttributes","context","clientId","homeUrl","select","getUnstableBase","coreStore","home","textColor","backgroundColor","style","blockProps","className","color","text","background","label","undefined","labelValue"],"mappings":";;;;;;;;;AAYA;;AATA;;AAKA;;AACA;;AACA;;AACA;;AAXA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,cAAc,GAAKC,KAAF,IAAaA,KAAK,CAACD,cAAN,EAApC;;AAEe,SAASE,QAAT,OAKX;AAAA;;AAAA,MAL8B;AACjCC,IAAAA,UADiC;AAEjCC,IAAAA,aAFiC;AAGjCC,IAAAA,OAHiC;AAIjCC,IAAAA;AAJiC,GAK9B;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAc,qBACjBC,MAAF,IAAc;AAAA;;AACb,UAAM;AACLC,MAAAA,eADK,CACY;;AADZ,QAEFD,MAAM,CAAEE,eAAF,CAFV;AAGA,WAAO;AACNH,MAAAA,OAAO,sBAAEE,eAAe,EAAjB,qDAAE,iBAAmBE;AADtB,KAAP;AAGA,GARkB,EASnB,CAAEL,QAAF,CATmB,CAApB;AAYA,QAAM;AAAEM,IAAAA,SAAF;AAAaC,IAAAA,eAAb;AAA8BC,IAAAA;AAA9B,MAAwCT,OAA9C;AACA,QAAMU,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY,0BAAZ,EAAwC;AAClD,wBAAkB,CAAC,CAAEJ,SAAH,IAAgB,CAAC,EAAEE,KAAF,aAAEA,KAAF,+BAAEA,KAAK,CAAEG,KAAT,yCAAE,aAAcC,IAAhB,CADe;AAElD,OAAG,OAAON,SAAW,QAArB,GAAgC,CAAC,CAAEA,SAFe;AAGlD,wBAAkB,CAAC,CAAEC,eAAH,IAAsB,CAAC,EAAEC,KAAF,aAAEA,KAAF,gCAAEA,KAAK,CAAEG,KAAT,0CAAE,cAAcE,UAAhB,CAHS;AAIlD,OAAG,OAAON,eAAiB,mBAA3B,GAAiD,CAAC,CAAEA;AAJF,KAAxC,CADsB;AAOjCC,IAAAA,KAAK,EAAE;AACNG,MAAAA,KAAK,EAAEH,KAAF,aAAEA,KAAF,wCAAEA,KAAK,CAAEG,KAAT,kDAAE,cAAcC,IADf;AAENL,MAAAA,eAAe,EAAEC,KAAF,aAAEA,KAAF,wCAAEA,KAAK,CAAEG,KAAT,kDAAE,cAAcE;AAFzB;AAP0B,GAAf,CAAnB;AAaA,QAAM;AAAEC,IAAAA;AAAF,MAAYjB,UAAlB;AAEA,0BAAW,MAAM;AAChB,QAAKiB,KAAK,KAAKC,SAAf,EAA2B;AAC1BjB,MAAAA,aAAa,CAAE;AAAEgB,QAAAA,KAAK,EAAE,cAAI,MAAJ;AAAT,OAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAEd,QAAF,EAAYc,KAAZ,CAJH;AAMA,SACC,qDACC,mCAAUL,UAAV,EACC;AACC,IAAA,SAAS,EAAC,+DADX;AAEC,IAAA,IAAI,EAAGR,OAFR;AAGC,IAAA,OAAO,EAAGP;AAHX,KAKC,4BAAC,qBAAD;AACC,IAAA,UAAU,EAAC,OADZ;AAEC,IAAA,SAAS,EAAC,2BAFX;AAGC,IAAA,KAAK,EAAGoB,KAHT;AAIC,IAAA,QAAQ,EAAKE,UAAF,IAAkB;AAC5BlB,MAAAA,aAAa,CAAE;AAAEgB,QAAAA,KAAK,EAAEE;AAAT,OAAF,CAAb;AACA,KANF;AAOC,kBAAa,cAAI,gBAAJ,CAPd;AAQC,IAAA,WAAW,EAAG,cAAI,eAAJ,CARf;AASC,IAAA,4BAA4B,MAT7B;AAUC,IAAA,cAAc,EAAG,CAChB,WADgB,EAEhB,aAFgB,EAGhB,YAHgB,EAIhB,oBAJgB;AAVlB,IALD,CADD,CADD,CADD;AA6BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useEffect } from '@wordpress/element';\n\nconst preventDefault = ( event ) => event.preventDefault();\n\nexport default function HomeEdit( {\n\tattributes,\n\tsetAttributes,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { homeUrl } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetUnstableBase, // Site index.\n\t\t\t} = select( coreStore );\n\t\t\treturn {\n\t\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst { textColor, backgroundColor, style } = context;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-navigation-item', {\n\t\t\t'has-text-color': !! textColor || !! style?.color?.text,\n\t\t\t[ `has-${ textColor }-color` ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || !! style?.color?.background,\n\t\t\t[ `has-${ backgroundColor }-background-color` ]: !! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: style?.color?.text,\n\t\t\tbackgroundColor: style?.color?.background,\n\t\t},\n\t} );\n\n\tconst { label } = attributes;\n\n\tuseEffect( () => {\n\t\tif ( label === undefined ) {\n\t\t\tsetAttributes( { label: __( 'Home' ) } );\n\t\t}\n\t}, [ clientId, label ] );\n\n\treturn (\n\t\t<>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\tclassName=\"wp-block-home-link__content wp-block-navigation-item__content\"\n\t\t\t\t\thref={ homeUrl }\n\t\t\t\t\tonClick={ preventDefault }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\tclassName=\"wp-block-home-link__label\"\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\taria-label={ __( 'Home link text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add home link' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tallowedFormats={ [\n\t\t\t\t\t\t\t'core/bold',\n\t\t\t\t\t\t\t'core/italic',\n\t\t\t\t\t\t\t'core/image',\n\t\t\t\t\t\t\t'core/strikethrough',\n\t\t\t\t\t\t] }\n\t\t\t\t\t/>\n\t\t\t\t</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -13,6 +13,8 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
13
13
 
14
14
  var _classnames = _interopRequireDefault(require("classnames"));
15
15
 
16
+ var _lodash = require("lodash");
17
+
16
18
  var _blockEditor = require("@wordpress/block-editor");
17
19
 
18
20
  /**
@@ -81,13 +83,95 @@ const blockAttributes = {
81
83
  attribute: 'target'
82
84
  }
83
85
  };
86
+ const blockSupports = {
87
+ anchor: true,
88
+ color: {
89
+ __experimentalDuotone: 'img',
90
+ text: false,
91
+ background: false
92
+ },
93
+ __experimentalBorder: {
94
+ radius: true,
95
+ __experimentalDefaultControls: {
96
+ radius: true
97
+ }
98
+ }
99
+ };
84
100
  const deprecated = [{
85
- attributes: blockAttributes,
101
+ attributes: { ...blockAttributes,
102
+ title: {
103
+ type: 'string',
104
+ source: 'attribute',
105
+ selector: 'img',
106
+ attribute: 'title'
107
+ },
108
+ sizeSlug: {
109
+ type: 'string'
110
+ }
111
+ },
112
+ supports: blockSupports,
86
113
 
87
114
  save(_ref) {
88
115
  let {
89
116
  attributes
90
117
  } = _ref;
118
+ const {
119
+ url,
120
+ alt,
121
+ caption,
122
+ align,
123
+ href,
124
+ rel,
125
+ linkClass,
126
+ width,
127
+ height,
128
+ id,
129
+ linkTarget,
130
+ sizeSlug,
131
+ title
132
+ } = attributes;
133
+ const newRel = (0, _lodash.isEmpty)(rel) ? undefined : rel;
134
+ const classes = (0, _classnames.default)({
135
+ [`align${align}`]: align,
136
+ [`size-${sizeSlug}`]: sizeSlug,
137
+ 'is-resized': width || height
138
+ });
139
+ const image = (0, _element.createElement)("img", {
140
+ src: url,
141
+ alt: alt,
142
+ className: id ? `wp-image-${id}` : null,
143
+ width: width,
144
+ height: height,
145
+ title: title
146
+ });
147
+ const figure = (0, _element.createElement)(_element.Fragment, null, href ? (0, _element.createElement)("a", {
148
+ className: linkClass,
149
+ href: href,
150
+ target: linkTarget,
151
+ rel: newRel
152
+ }, image) : image, !_blockEditor.RichText.isEmpty(caption) && (0, _element.createElement)(_blockEditor.RichText.Content, {
153
+ tagName: "figcaption",
154
+ value: caption
155
+ }));
156
+
157
+ if ('left' === align || 'right' === align || 'center' === align) {
158
+ return (0, _element.createElement)("div", _blockEditor.useBlockProps.save(), (0, _element.createElement)("figure", {
159
+ className: classes
160
+ }, figure));
161
+ }
162
+
163
+ return (0, _element.createElement)("figure", _blockEditor.useBlockProps.save({
164
+ className: classes
165
+ }), figure);
166
+ }
167
+
168
+ }, {
169
+ attributes: blockAttributes,
170
+
171
+ save(_ref2) {
172
+ let {
173
+ attributes
174
+ } = _ref2;
91
175
  const {
92
176
  url,
93
177
  alt,
@@ -122,10 +206,10 @@ const deprecated = [{
122
206
  }, {
123
207
  attributes: blockAttributes,
124
208
 
125
- save(_ref2) {
209
+ save(_ref3) {
126
210
  let {
127
211
  attributes
128
- } = _ref2;
212
+ } = _ref3;
129
213
  const {
130
214
  url,
131
215
  alt,
@@ -156,10 +240,10 @@ const deprecated = [{
156
240
  }, {
157
241
  attributes: blockAttributes,
158
242
 
159
- save(_ref3) {
243
+ save(_ref4) {
160
244
  let {
161
245
  attributes
162
- } = _ref3;
246
+ } = _ref4;
163
247
  const {
164
248
  url,
165
249
  alt,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["blockAttributes","align","type","url","source","selector","attribute","alt","default","caption","href","rel","linkClass","id","width","height","linkDestination","linkTarget","deprecated","attributes","save","classes","image","RichText","isEmpty","extraImageProps","figureStyle","maxWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { RichText } from '@wordpress/block-editor';\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'src',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tcaption: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'figcaption',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'class',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\twidth: {\n\t\ttype: 'number',\n\t},\n\theight: {\n\t\ttype: 'number',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'target',\n\t},\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t} = attributes;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ classes }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t} = attributes;\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} = attributes;\n\t\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\t\tconst image = (\n\t\t\t\t<img src={ url } alt={ alt } { ...extraImageProps } />\n\t\t\t);\n\n\t\t\tlet figureStyle = {};\n\n\t\t\tif ( width ) {\n\t\t\t\tfigureStyle = { width };\n\t\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure\n\t\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\t\tstyle={ figureStyle }\n\t\t\t\t>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/deprecated.js"],"names":["blockAttributes","align","type","url","source","selector","attribute","alt","default","caption","href","rel","linkClass","id","width","height","linkDestination","linkTarget","blockSupports","anchor","color","__experimentalDuotone","text","background","__experimentalBorder","radius","__experimentalDefaultControls","deprecated","attributes","title","sizeSlug","supports","save","newRel","undefined","classes","image","figure","RichText","isEmpty","useBlockProps","className","extraImageProps","figureStyle","maxWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\turl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'src',\n\t},\n\talt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tcaption: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'figcaption',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'class',\n\t},\n\tid: {\n\t\ttype: 'number',\n\t},\n\twidth: {\n\t\ttype: 'number',\n\t},\n\theight: {\n\t\ttype: 'number',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure > a',\n\t\tattribute: 'target',\n\t},\n};\n\nconst blockSupports = {\n\tanchor: true,\n\tcolor: {\n\t\t__experimentalDuotone: 'img',\n\t\ttext: false,\n\t\tbackground: false,\n\t},\n\t__experimentalBorder: {\n\t\tradius: true,\n\t\t__experimentalDefaultControls: {\n\t\t\tradius: true,\n\t\t},\n\t},\n};\n\nconst deprecated = [\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\ttitle: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'img',\n\t\t\t\tattribute: 'title',\n\t\t\t},\n\t\t\tsizeSlug: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: blockSupports,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\trel,\n\t\t\t\tlinkClass,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t\tlinkTarget,\n\t\t\t\tsizeSlug,\n\t\t\t\ttitle,\n\t\t\t} = attributes;\n\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tconst figure = (\n\t\t\t\t<>\n\t\t\t\t\t{ href ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ image }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\timage\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t);\n\n\t\t\tif ( 'left' === align || 'right' === align || 'center' === align ) {\n\t\t\t\treturn (\n\t\t\t\t\t<div { ...useBlockProps.save() }>\n\t\t\t\t\t\t<figure className={ classes }>{ figure }</figure>\n\t\t\t\t\t</div>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure { ...useBlockProps.save( { className: classes } ) }>\n\t\t\t\t\t{ figure }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t} = attributes;\n\n\t\t\tconst classes = classnames( {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t'is-resized': width || height,\n\t\t\t} );\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ classes }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t\tid,\n\t\t\t} = attributes;\n\n\t\t\tconst image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tclassName={ id ? `wp-image-${ id }` : null }\n\t\t\t\t\twidth={ width }\n\t\t\t\t\theight={ height }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\treturn (\n\t\t\t\t<figure className={ align ? `align${ align }` : null }>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: blockAttributes,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\turl,\n\t\t\t\talt,\n\t\t\t\tcaption,\n\t\t\t\talign,\n\t\t\t\thref,\n\t\t\t\twidth,\n\t\t\t\theight,\n\t\t\t} = attributes;\n\t\t\tconst extraImageProps = width || height ? { width, height } : {};\n\t\t\tconst image = (\n\t\t\t\t<img src={ url } alt={ alt } { ...extraImageProps } />\n\t\t\t);\n\n\t\t\tlet figureStyle = {};\n\n\t\t\tif ( width ) {\n\t\t\t\tfigureStyle = { width };\n\t\t\t} else if ( align === 'left' || align === 'right' ) {\n\t\t\t\tfigureStyle = { maxWidth: '50%' };\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\t<figure\n\t\t\t\t\tclassName={ align ? `align${ align }` : null }\n\t\t\t\t\tstyle={ figureStyle }\n\t\t\t\t>\n\t\t\t\t\t{ href ? <a href={ href }>{ image }</a> : image }\n\t\t\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</figure>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -189,6 +189,12 @@ function ImageEdit(_ref) {
189
189
  function onUploadError(message) {
190
190
  noticeOperations.removeAllNotices();
191
191
  noticeOperations.createErrorNotice(message);
192
+ setAttributes({
193
+ src: undefined,
194
+ id: undefined,
195
+ url: undefined
196
+ });
197
+ setTemporaryURL(undefined);
192
198
  }
193
199
 
194
200
  function onSelectImage(media) {
@@ -325,12 +331,7 @@ function ImageEdit(_ref) {
325
331
  allowedTypes: _constants.ALLOWED_MEDIA_TYPES,
326
332
  onError: message => {
327
333
  isTemp = false;
328
- noticeOperations.createErrorNotice(message);
329
- setAttributes({
330
- src: undefined,
331
- id: undefined,
332
- url: undefined
333
- });
334
+ onUploadError(message);
334
335
  }
335
336
  });
336
337
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/edit.js"],"names":["pickRelevantMediaFiles","image","size","imageProps","url","isTemporaryImage","id","isExternalImage","hasDefaultSize","defaultSize","isMediaDestroyed","attachment","wp","media","destroyed","ImageEdit","attributes","setAttributes","isSelected","className","noticeUI","insertBlocksAfter","noticeOperations","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","blockEditorStore","onCloseModal","undefined","onImageError","isReplaced","onUploadError","message","removeAllNotices","createErrorNotice","onSelectImage","title","mediaAttributes","additionalAttributes","linkDestination","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","includes","isTemp","file","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","src","isExternal","mediaPreview","classes","blockProps","icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, has, omit, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { withNotices } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockAlignmentControl,\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/* global wp */\n\n/**\n * Internal dependencies\n */\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 = pick( image, [ 'alt', 'id', 'link', 'caption' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', size, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', size, 'source_url' ] ) ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\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 a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\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 default image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} defaultSize\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasDefaultSize( image, defaultSize ) {\n\treturn (\n\t\thas( image, [ 'sizes', defaultSize, 'url' ] ) ||\n\t\thas( image, [ 'media_details', 'sizes', defaultSize, 'source_url' ] )\n\t);\n}\n\n/**\n * Checks if a media attachment object has been \"destroyed\",\n * that is, removed from the media library. The core Media Library\n * adds a `destroyed` property to a deleted attachment object in the media collection.\n *\n * @param {number} id The attachment id.\n *\n * @return {boolean} Whether the image has been destroyed.\n */\nexport function isMediaDestroyed( id ) {\n\tconst attachment = wp?.media?.attachment( id ) || {};\n\treturn attachment.destroyed;\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tnoticeUI,\n\tinsertBlocksAfter,\n\tnoticeOperations,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\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 ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn pick( getSettings(), [ 'imageDefaultSize', 'mediaUpload' ] );\n\t}, [] );\n\n\t// A callback passed to MediaUpload,\n\t// fired when the media modal closes.\n\tfunction onCloseModal() {\n\t\tif ( isMediaDestroyed( attributes?.id ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\t/*\n\t\t Runs an error callback if the image does not load.\n\t\t If the error callback is triggered, we infer that that image\n\t\t has been deleted.\n\t*/\n\tfunction onImageError( isReplaced = false ) {\n\t\t// If the image block was not replaced with an embed,\n\t\t// clear the attributes and trigger the placeholder.\n\t\tif ( ! isReplaced ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\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} );\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\tsetTemporaryURL();\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, imageDefaultSize );\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 && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\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\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\t// Fallback to size \"full\" if there's no default image size.\n\t\t\t\t// It means the image is smaller, and the block will use a full-size URL.\n\t\t\t\tsizeSlug: hasDefaultSize( media, imageDefaultSize )\n\t\t\t\t\t? imageDefaultSize\n\t\t\t\t\t: 'full',\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\"\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\twp?.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\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tnoticeOperations.createErrorNotice( message );\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tsrc: undefined,\n\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\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 classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t{ ( temporaryURL || url ) && (\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontainerRef={ ref }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonCloseModal={ onCloseModal }\n\t\t\t\t\tonImageLoadError={ onImageError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! url && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\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\tnotices={ noticeUI }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tonClose={ onCloseModal }\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 withNotices( ImageEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/edit.js"],"names":["pickRelevantMediaFiles","image","size","imageProps","url","isTemporaryImage","id","isExternalImage","hasDefaultSize","defaultSize","isMediaDestroyed","attachment","wp","media","destroyed","ImageEdit","attributes","setAttributes","isSelected","className","noticeUI","insertBlocksAfter","noticeOperations","onReplace","context","clientId","alt","caption","align","width","height","sizeSlug","temporaryURL","setTemporaryURL","altRef","current","captionRef","ref","imageDefaultSize","mediaUpload","select","getSettings","blockEditorStore","onCloseModal","undefined","onImageError","isReplaced","onUploadError","message","removeAllNotices","createErrorNotice","src","onSelectImage","title","mediaAttributes","additionalAttributes","linkDestination","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","updateAlignment","nextAlign","extraUpdatedAttributes","includes","isTemp","file","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","isExternal","mediaPreview","classes","blockProps","icon"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, has, omit, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { withNotices } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockAlignmentControl,\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/* global wp */\n\n/**\n * Internal dependencies\n */\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 = pick( image, [ 'alt', 'id', 'link', 'caption' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', size, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', size, 'source_url' ] ) ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\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 a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\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 default image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} defaultSize\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasDefaultSize( image, defaultSize ) {\n\treturn (\n\t\thas( image, [ 'sizes', defaultSize, 'url' ] ) ||\n\t\thas( image, [ 'media_details', 'sizes', defaultSize, 'source_url' ] )\n\t);\n}\n\n/**\n * Checks if a media attachment object has been \"destroyed\",\n * that is, removed from the media library. The core Media Library\n * adds a `destroyed` property to a deleted attachment object in the media collection.\n *\n * @param {number} id The attachment id.\n *\n * @return {boolean} Whether the image has been destroyed.\n */\nexport function isMediaDestroyed( id ) {\n\tconst attachment = wp?.media?.attachment( id ) || {};\n\treturn attachment.destroyed;\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tnoticeUI,\n\tinsertBlocksAfter,\n\tnoticeOperations,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\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 ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn pick( getSettings(), [ 'imageDefaultSize', 'mediaUpload' ] );\n\t}, [] );\n\n\t// A callback passed to MediaUpload,\n\t// fired when the media modal closes.\n\tfunction onCloseModal() {\n\t\tif ( isMediaDestroyed( attributes?.id ) ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\t/*\n\t\t Runs an error callback if the image does not load.\n\t\t If the error callback is triggered, we infer that that image\n\t\t has been deleted.\n\t*/\n\tfunction onImageError( isReplaced = false ) {\n\t\t// If the image block was not replaced with an embed,\n\t\t// clear the attributes and trigger the placeholder.\n\t\tif ( ! isReplaced ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\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} );\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\tsetTemporaryURL();\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, imageDefaultSize );\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 && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\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\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\t// Fallback to size \"full\" if there's no default image size.\n\t\t\t\t// It means the image is smaller, and the block will use a full-size URL.\n\t\t\t\tsizeSlug: hasDefaultSize( media, imageDefaultSize )\n\t\t\t\t\t? imageDefaultSize\n\t\t\t\t\t: 'full',\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Image Size\"\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\twp?.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\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\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 classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t{ ( temporaryURL || url ) && (\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontainerRef={ ref }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonCloseModal={ onCloseModal }\n\t\t\t\t\tonImageLoadError={ onImageError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! url && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\tvalue={ align }\n\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\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\tnotices={ noticeUI }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tonClose={ onCloseModal }\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 withNotices( ImageEdit );\n"]}