@wordpress/block-library 5.0.1 → 6.0.1

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 (895) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/build/audio/edit.js +2 -2
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/audio/edit.native.js +2 -2
  6. package/build/audio/edit.native.js.map +1 -1
  7. package/build/button/edit.js +97 -87
  8. package/build/button/edit.js.map +1 -1
  9. package/build/button/edit.native.js +1 -1
  10. package/build/button/edit.native.js.map +1 -1
  11. package/build/button/index.js +4 -1
  12. package/build/button/index.js.map +1 -1
  13. package/build/buttons/edit.js +2 -1
  14. package/build/buttons/edit.js.map +1 -1
  15. package/build/buttons/index.js +2 -1
  16. package/build/buttons/index.js.map +1 -1
  17. package/build/buttons/transforms.js +2 -1
  18. package/build/buttons/transforms.js.map +1 -1
  19. package/build/column/index.js +4 -1
  20. package/build/column/index.js.map +1 -1
  21. package/build/column/save.js +9 -1
  22. package/build/column/save.js.map +1 -1
  23. package/build/columns/edit.native.js +5 -2
  24. package/build/columns/edit.native.js.map +1 -1
  25. package/build/columns/index.js +10 -1
  26. package/build/columns/index.js.map +1 -1
  27. package/build/cover/deprecated.js +0 -27
  28. package/build/cover/deprecated.js.map +1 -1
  29. package/build/cover/edit.js +57 -27
  30. package/build/cover/edit.js.map +1 -1
  31. package/build/cover/index.js +11 -1
  32. package/build/cover/index.js.map +1 -1
  33. package/build/cover/save.js +2 -1
  34. package/build/cover/save.js.map +1 -1
  35. package/build/cover/shared.js +1 -0
  36. package/build/cover/shared.js.map +1 -1
  37. package/build/cover/transforms.js +4 -0
  38. package/build/cover/transforms.js.map +1 -1
  39. package/build/embed/edit.js +1 -5
  40. package/build/embed/edit.js.map +1 -1
  41. package/build/embed/edit.native.js +85 -22
  42. package/build/embed/edit.native.js.map +1 -1
  43. package/build/embed/embed-bottom-sheet.native.js +17 -16
  44. package/build/embed/embed-bottom-sheet.native.js.map +1 -1
  45. package/build/embed/embed-controls.js +4 -1
  46. package/build/embed/embed-controls.js.map +1 -1
  47. package/build/embed/embed-no-preview.native.js +22 -9
  48. package/build/embed/embed-no-preview.native.js.map +1 -1
  49. package/build/embed/embed-placeholder.native.js +51 -7
  50. package/build/embed/embed-placeholder.native.js.map +1 -1
  51. package/build/embed/embed-preview.native.js +28 -10
  52. package/build/embed/embed-preview.native.js.map +1 -1
  53. package/build/embed/variations.js +0 -10
  54. package/build/embed/variations.js.map +1 -1
  55. package/build/embed/wp-embed-preview.js +44 -56
  56. package/build/embed/wp-embed-preview.js.map +1 -1
  57. package/build/embed/wp-embed-preview.native.js +95 -0
  58. package/build/embed/wp-embed-preview.native.js.map +1 -0
  59. package/build/file/deprecated.js +108 -0
  60. package/build/file/deprecated.js.map +1 -0
  61. package/build/file/edit.js +8 -1
  62. package/build/file/edit.js.map +1 -1
  63. package/build/file/index.js +9 -0
  64. package/build/file/index.js.map +1 -1
  65. package/build/file/inspector.js +1 -1
  66. package/build/file/inspector.js.map +1 -1
  67. package/build/file/save.js +4 -1
  68. package/build/file/save.js.map +1 -1
  69. package/build/file/transforms.js +3 -1
  70. package/build/file/transforms.js.map +1 -1
  71. package/build/gallery/constants.js +2 -2
  72. package/build/gallery/constants.js.map +1 -1
  73. package/build/gallery/deprecated.js +17 -8
  74. package/build/gallery/deprecated.js.map +1 -1
  75. package/build/gallery/edit-wrapper.js +63 -0
  76. package/build/gallery/edit-wrapper.js.map +1 -0
  77. package/build/gallery/edit.js +225 -231
  78. package/build/gallery/edit.js.map +1 -1
  79. package/build/gallery/gallery.js +67 -49
  80. package/build/gallery/gallery.js.map +1 -1
  81. package/build/gallery/gallery.native.js +42 -79
  82. package/build/gallery/gallery.native.js.map +1 -1
  83. package/build/gallery/index.js +31 -7
  84. package/build/gallery/index.js.map +1 -1
  85. package/build/gallery/save.js +26 -43
  86. package/build/gallery/save.js.map +1 -1
  87. package/build/gallery/shared.js +9 -2
  88. package/build/gallery/shared.js.map +1 -1
  89. package/build/gallery/transforms.js +211 -12
  90. package/build/gallery/transforms.js.map +1 -1
  91. package/build/gallery/use-get-media.js +58 -0
  92. package/build/gallery/use-get-media.js.map +1 -0
  93. package/build/gallery/use-get-new-images.js +58 -0
  94. package/build/gallery/use-get-new-images.js.map +1 -0
  95. package/build/gallery/use-image-sizes.js +73 -0
  96. package/build/gallery/use-image-sizes.js.map +1 -0
  97. package/build/gallery/use-short-code-transform.js +63 -0
  98. package/build/gallery/use-short-code-transform.js.map +1 -0
  99. package/build/gallery/utils.js +51 -0
  100. package/build/gallery/utils.js.map +1 -0
  101. package/build/gallery/v1/constants.js +13 -0
  102. package/build/gallery/v1/constants.js.map +1 -0
  103. package/build/gallery/v1/edit.js +459 -0
  104. package/build/gallery/v1/edit.js.map +1 -0
  105. package/build/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  106. package/build/gallery/v1/gallery-button.native.js.map +1 -0
  107. package/build/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  108. package/build/gallery/v1/gallery-image.js.map +1 -0
  109. package/build/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  110. package/build/gallery/v1/gallery-image.native.js.map +1 -0
  111. package/build/gallery/v1/gallery.js +122 -0
  112. package/build/gallery/v1/gallery.js.map +1 -0
  113. package/build/gallery/v1/gallery.native.js +159 -0
  114. package/build/gallery/v1/gallery.native.js.map +1 -0
  115. package/build/gallery/v1/save.js +75 -0
  116. package/build/gallery/v1/save.js.map +1 -0
  117. package/build/gallery/v1/shared.js +26 -0
  118. package/build/gallery/v1/shared.js.map +1 -0
  119. package/build/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  120. package/build/gallery/v1/tiles.native.js.map +1 -0
  121. package/build/gallery/v1/update-gallery-modal.js +110 -0
  122. package/build/gallery/v1/update-gallery-modal.js.map +1 -0
  123. package/build/group/edit.js +21 -5
  124. package/build/group/edit.js.map +1 -1
  125. package/build/group/index.js +8 -2
  126. package/build/group/index.js.map +1 -1
  127. package/build/group/variations.js +31 -0
  128. package/build/group/variations.js.map +1 -0
  129. package/build/heading/heading-level-dropdown.js +11 -37
  130. package/build/heading/heading-level-dropdown.js.map +1 -1
  131. package/build/home-link/edit.js +2 -2
  132. package/build/home-link/edit.js.map +1 -1
  133. package/build/image/edit.js +8 -6
  134. package/build/image/edit.js.map +1 -1
  135. package/build/image/edit.native.js +46 -17
  136. package/build/image/edit.native.js.map +1 -1
  137. package/build/image/image.js +11 -17
  138. package/build/image/image.js.map +1 -1
  139. package/build/image/index.js +1 -0
  140. package/build/image/index.js.map +1 -1
  141. package/build/image/transforms.js +30 -7
  142. package/build/image/transforms.js.map +1 -1
  143. package/build/image/utils.js +23 -0
  144. package/build/image/utils.js.map +1 -1
  145. package/build/index.js +3 -1
  146. package/build/index.js.map +1 -1
  147. package/build/latest-comments/edit.js +7 -1
  148. package/build/latest-comments/edit.js.map +1 -1
  149. package/build/latest-posts/edit.native.js +12 -6
  150. package/build/latest-posts/edit.native.js.map +1 -1
  151. package/build/media-text/edit.js +1 -1
  152. package/build/media-text/edit.js.map +1 -1
  153. package/build/media-text/index.js +2 -0
  154. package/build/media-text/index.js.map +1 -1
  155. package/build/navigation/block-navigation-list.js +14 -3
  156. package/build/navigation/block-navigation-list.js.map +1 -1
  157. package/build/navigation/edit.js +44 -14
  158. package/build/navigation/edit.js.map +1 -1
  159. package/build/navigation/index.js +7 -1
  160. package/build/navigation/index.js.map +1 -1
  161. package/build/navigation/menu-items-to-blocks.js +6 -5
  162. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  163. package/build/navigation/placeholder-preview.js +3 -3
  164. package/build/navigation/placeholder-preview.js.map +1 -1
  165. package/build/navigation/placeholder.js +1 -1
  166. package/build/navigation/placeholder.js.map +1 -1
  167. package/build/navigation/use-block-navigator.js +2 -1
  168. package/build/navigation/use-block-navigator.js.map +1 -1
  169. package/build/navigation/variations.js +2 -3
  170. package/build/navigation/variations.js.map +1 -1
  171. package/build/navigation/view.js +53 -1
  172. package/build/navigation/view.js.map +1 -1
  173. package/build/navigation-link/edit.js +56 -72
  174. package/build/navigation-link/edit.js.map +1 -1
  175. package/build/navigation-link/index.js +6 -2
  176. package/build/navigation-link/index.js.map +1 -1
  177. package/build/navigation-link/transforms.js +83 -0
  178. package/build/navigation-link/transforms.js.map +1 -0
  179. package/build/navigation-submenu/edit.js +651 -0
  180. package/build/navigation-submenu/edit.js.map +1 -0
  181. package/build/navigation-submenu/icons.js +27 -0
  182. package/build/navigation-submenu/icons.js.map +1 -0
  183. package/build/navigation-submenu/index.js +89 -0
  184. package/build/navigation-submenu/index.js.map +1 -0
  185. package/build/navigation-submenu/save.js +18 -0
  186. package/build/navigation-submenu/save.js.map +1 -0
  187. package/build/navigation-submenu/transforms.js +82 -0
  188. package/build/navigation-submenu/transforms.js.map +1 -0
  189. package/build/navigation-submenu/view.js +51 -0
  190. package/build/navigation-submenu/view.js.map +1 -0
  191. package/build/page-list/convert-to-links-modal.js +19 -1
  192. package/build/page-list/convert-to-links-modal.js.map +1 -1
  193. package/build/page-list/edit.js +16 -5
  194. package/build/page-list/edit.js.map +1 -1
  195. package/build/page-list/index.js +10 -1
  196. package/build/page-list/index.js.map +1 -1
  197. package/build/post-author/index.js +2 -1
  198. package/build/post-author/index.js.map +1 -1
  199. package/build/post-comment/edit.js +7 -4
  200. package/build/post-comment/edit.js.map +1 -1
  201. package/build/post-comment-author/edit.js +1 -1
  202. package/build/post-comment-author/edit.js.map +1 -1
  203. package/build/post-comment-content/edit.js +16 -12
  204. package/build/post-comment-content/edit.js.map +1 -1
  205. package/build/post-content/edit.js +1 -3
  206. package/build/post-content/edit.js.map +1 -1
  207. package/build/post-date/edit.js +35 -14
  208. package/build/post-date/edit.js.map +1 -1
  209. package/build/post-date/index.js +2 -1
  210. package/build/post-date/index.js.map +1 -1
  211. package/build/post-excerpt/edit.js +2 -1
  212. package/build/post-excerpt/edit.js.map +1 -1
  213. package/build/post-featured-image/dimension-controls.js +24 -10
  214. package/build/post-featured-image/dimension-controls.js.map +1 -1
  215. package/build/post-featured-image/index.js +5 -0
  216. package/build/post-featured-image/index.js.map +1 -1
  217. package/build/post-navigation-link/edit.js +19 -3
  218. package/build/post-navigation-link/edit.js.map +1 -1
  219. package/build/post-navigation-link/index.js +9 -1
  220. package/build/post-navigation-link/index.js.map +1 -1
  221. package/build/post-template/index.js +5 -2
  222. package/build/post-template/index.js.map +1 -1
  223. package/build/post-terms/edit.js +4 -2
  224. package/build/post-terms/edit.js.map +1 -1
  225. package/build/post-terms/index.js +2 -1
  226. package/build/post-terms/index.js.map +1 -1
  227. package/build/post-title/edit.js +3 -3
  228. package/build/post-title/edit.js.map +1 -1
  229. package/build/post-title/index.js +4 -1
  230. package/build/post-title/index.js.map +1 -1
  231. package/build/query/edit/index.js +3 -1
  232. package/build/query/edit/index.js.map +1 -1
  233. package/build/query/variations.js +4 -4
  234. package/build/query/variations.js.map +1 -1
  235. package/build/query-pagination/deprecated.js +24 -0
  236. package/build/query-pagination/deprecated.js.map +1 -0
  237. package/build/query-pagination/edit.js +54 -3
  238. package/build/query-pagination/edit.js.map +1 -1
  239. package/build/query-pagination/index.js +20 -1
  240. package/build/query-pagination/index.js.map +1 -1
  241. package/build/query-pagination/query-pagination-arrow-controls.js +38 -0
  242. package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  243. package/build/query-pagination/save.js +1 -1
  244. package/build/query-pagination/save.js.map +1 -1
  245. package/build/query-pagination-next/edit.js +19 -4
  246. package/build/query-pagination-next/edit.js.map +1 -1
  247. package/build/query-pagination-next/index.js +1 -1
  248. package/build/query-pagination-previous/edit.js +19 -4
  249. package/build/query-pagination-previous/edit.js.map +1 -1
  250. package/build/query-pagination-previous/index.js +1 -1
  251. package/build/site-logo/edit.js +75 -30
  252. package/build/site-logo/edit.js.map +1 -1
  253. package/build/site-logo/index.js +7 -2
  254. package/build/site-logo/index.js.map +1 -1
  255. package/build/site-tagline/index.js +1 -0
  256. package/build/site-tagline/index.js.map +1 -1
  257. package/build/site-title/edit/index.js +25 -6
  258. package/build/site-title/edit/index.js.map +1 -1
  259. package/build/site-title/index.js +9 -2
  260. package/build/site-title/index.js.map +1 -1
  261. package/build/social-links/deprecated.js +106 -2
  262. package/build/social-links/deprecated.js.map +1 -1
  263. package/build/social-links/edit.js +15 -19
  264. package/build/social-links/edit.js.map +1 -1
  265. package/build/social-links/index.js +16 -1
  266. package/build/social-links/index.js.map +1 -1
  267. package/build/social-links/save.js +1 -3
  268. package/build/social-links/save.js.map +1 -1
  269. package/build/table/index.js +1 -1
  270. package/build/template-part/edit/advanced-controls.js +3 -1
  271. package/build/template-part/edit/advanced-controls.js.map +1 -1
  272. package/build/template-part/edit/index.js +1 -4
  273. package/build/template-part/edit/index.js.map +1 -1
  274. package/build/video/edit-common-settings.js +1 -1
  275. package/build/video/edit-common-settings.js.map +1 -1
  276. package/build/video/edit.js +10 -5
  277. package/build/video/edit.js.map +1 -1
  278. package/build/video/tracks-editor.js +3 -1
  279. package/build/video/tracks-editor.js.map +1 -1
  280. package/build-module/audio/edit.js +3 -3
  281. package/build-module/audio/edit.js.map +1 -1
  282. package/build-module/audio/edit.native.js +3 -3
  283. package/build-module/audio/edit.native.js.map +1 -1
  284. package/build-module/button/edit.js +101 -91
  285. package/build-module/button/edit.js.map +1 -1
  286. package/build-module/button/edit.native.js +2 -2
  287. package/build-module/button/edit.native.js.map +1 -1
  288. package/build-module/button/index.js +4 -1
  289. package/build-module/button/index.js.map +1 -1
  290. package/build-module/buttons/edit.js +2 -1
  291. package/build-module/buttons/edit.js.map +1 -1
  292. package/build-module/buttons/index.js +2 -1
  293. package/build-module/buttons/index.js.map +1 -1
  294. package/build-module/buttons/transforms.js +2 -1
  295. package/build-module/buttons/transforms.js.map +1 -1
  296. package/build-module/column/index.js +4 -1
  297. package/build-module/column/index.js.map +1 -1
  298. package/build-module/column/save.js +9 -1
  299. package/build-module/column/save.js.map +1 -1
  300. package/build-module/columns/edit.native.js +6 -3
  301. package/build-module/columns/edit.native.js.map +1 -1
  302. package/build-module/columns/index.js +10 -1
  303. package/build-module/columns/index.js.map +1 -1
  304. package/build-module/cover/deprecated.js +0 -27
  305. package/build-module/cover/deprecated.js.map +1 -1
  306. package/build-module/cover/edit.js +57 -28
  307. package/build-module/cover/edit.js.map +1 -1
  308. package/build-module/cover/index.js +11 -1
  309. package/build-module/cover/index.js.map +1 -1
  310. package/build-module/cover/save.js +2 -1
  311. package/build-module/cover/save.js.map +1 -1
  312. package/build-module/cover/shared.js +1 -0
  313. package/build-module/cover/shared.js.map +1 -1
  314. package/build-module/cover/transforms.js +4 -0
  315. package/build-module/cover/transforms.js.map +1 -1
  316. package/build-module/embed/edit.js +1 -5
  317. package/build-module/embed/edit.js.map +1 -1
  318. package/build-module/embed/edit.native.js +87 -25
  319. package/build-module/embed/edit.native.js.map +1 -1
  320. package/build-module/embed/embed-bottom-sheet.native.js +18 -16
  321. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
  322. package/build-module/embed/embed-controls.js +4 -1
  323. package/build-module/embed/embed-controls.js.map +1 -1
  324. package/build-module/embed/embed-no-preview.native.js +22 -10
  325. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  326. package/build-module/embed/embed-placeholder.native.js +51 -8
  327. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  328. package/build-module/embed/embed-preview.native.js +26 -11
  329. package/build-module/embed/embed-preview.native.js.map +1 -1
  330. package/build-module/embed/variations.js +0 -10
  331. package/build-module/embed/variations.js.map +1 -1
  332. package/build-module/embed/wp-embed-preview.js +39 -56
  333. package/build-module/embed/wp-embed-preview.js.map +1 -1
  334. package/build-module/embed/wp-embed-preview.native.js +83 -0
  335. package/build-module/embed/wp-embed-preview.native.js.map +1 -0
  336. package/build-module/file/deprecated.js +98 -0
  337. package/build-module/file/deprecated.js.map +1 -0
  338. package/build-module/file/edit.js +8 -1
  339. package/build-module/file/edit.js.map +1 -1
  340. package/build-module/file/index.js +8 -0
  341. package/build-module/file/index.js.map +1 -1
  342. package/build-module/file/inspector.js +1 -1
  343. package/build-module/file/inspector.js.map +1 -1
  344. package/build-module/file/save.js +4 -1
  345. package/build-module/file/save.js.map +1 -1
  346. package/build-module/file/transforms.js +2 -1
  347. package/build-module/file/transforms.js.map +1 -1
  348. package/build-module/gallery/constants.js +2 -2
  349. package/build-module/gallery/constants.js.map +1 -1
  350. package/build-module/gallery/deprecated.js +15 -7
  351. package/build-module/gallery/deprecated.js.map +1 -1
  352. package/build-module/gallery/edit-wrapper.js +50 -0
  353. package/build-module/gallery/edit-wrapper.js.map +1 -0
  354. package/build-module/gallery/edit.js +222 -234
  355. package/build-module/gallery/edit.js.map +1 -1
  356. package/build-module/gallery/gallery.js +70 -51
  357. package/build-module/gallery/gallery.js.map +1 -1
  358. package/build-module/gallery/gallery.native.js +43 -78
  359. package/build-module/gallery/gallery.native.js.map +1 -1
  360. package/build-module/gallery/index.js +30 -6
  361. package/build-module/gallery/index.js.map +1 -1
  362. package/build-module/gallery/save.js +24 -43
  363. package/build-module/gallery/save.js.map +1 -1
  364. package/build-module/gallery/shared.js +8 -2
  365. package/build-module/gallery/shared.js.map +1 -1
  366. package/build-module/gallery/transforms.js +207 -12
  367. package/build-module/gallery/transforms.js.map +1 -1
  368. package/build-module/gallery/use-get-media.js +48 -0
  369. package/build-module/gallery/use-get-media.js.map +1 -0
  370. package/build-module/gallery/use-get-new-images.js +50 -0
  371. package/build-module/gallery/use-get-new-images.js.map +1 -0
  372. package/build-module/gallery/use-image-sizes.js +64 -0
  373. package/build-module/gallery/use-image-sizes.js.map +1 -0
  374. package/build-module/gallery/use-short-code-transform.js +53 -0
  375. package/build-module/gallery/use-short-code-transform.js.map +1 -0
  376. package/build-module/gallery/utils.js +42 -0
  377. package/build-module/gallery/utils.js.map +1 -0
  378. package/build-module/gallery/v1/constants.js +4 -0
  379. package/build-module/gallery/v1/constants.js.map +1 -0
  380. package/build-module/gallery/v1/edit.js +430 -0
  381. package/build-module/gallery/v1/edit.js.map +1 -0
  382. package/build-module/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  383. package/build-module/gallery/v1/gallery-button.native.js.map +1 -0
  384. package/build-module/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  385. package/build-module/gallery/v1/gallery-image.js.map +1 -0
  386. package/build-module/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  387. package/build-module/gallery/v1/gallery-image.native.js.map +1 -0
  388. package/build-module/gallery/v1/gallery.js +102 -0
  389. package/build-module/gallery/v1/gallery.js.map +1 -0
  390. package/build-module/gallery/v1/gallery.native.js +136 -0
  391. package/build-module/gallery/v1/gallery.native.js.map +1 -0
  392. package/build-module/gallery/v1/save.js +65 -0
  393. package/build-module/gallery/v1/save.js.map +1 -0
  394. package/build-module/gallery/v1/shared.js +16 -0
  395. package/build-module/gallery/v1/shared.js.map +1 -0
  396. package/build-module/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  397. package/build-module/gallery/v1/tiles.native.js.map +1 -0
  398. package/build-module/gallery/v1/update-gallery-modal.js +93 -0
  399. package/build-module/gallery/v1/update-gallery-modal.js.map +1 -0
  400. package/build-module/group/edit.js +21 -6
  401. package/build-module/group/edit.js.map +1 -1
  402. package/build-module/group/index.js +7 -2
  403. package/build-module/group/index.js.map +1 -1
  404. package/build-module/group/variations.js +22 -0
  405. package/build-module/group/variations.js.map +1 -0
  406. package/build-module/heading/heading-level-dropdown.js +12 -37
  407. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  408. package/build-module/home-link/edit.js +2 -2
  409. package/build-module/home-link/edit.js.map +1 -1
  410. package/build-module/image/edit.js +8 -6
  411. package/build-module/image/edit.js.map +1 -1
  412. package/build-module/image/edit.native.js +48 -19
  413. package/build-module/image/edit.native.js.map +1 -1
  414. package/build-module/image/image.js +11 -15
  415. package/build-module/image/image.js.map +1 -1
  416. package/build-module/image/index.js +1 -0
  417. package/build-module/image/index.js.map +1 -1
  418. package/build-module/image/transforms.js +26 -7
  419. package/build-module/image/transforms.js.map +1 -1
  420. package/build-module/image/utils.js +22 -1
  421. package/build-module/image/utils.js.map +1 -1
  422. package/build-module/index.js +2 -1
  423. package/build-module/index.js.map +1 -1
  424. package/build-module/latest-comments/edit.js +7 -1
  425. package/build-module/latest-comments/edit.js.map +1 -1
  426. package/build-module/latest-posts/edit.native.js +12 -6
  427. package/build-module/latest-posts/edit.native.js.map +1 -1
  428. package/build-module/media-text/edit.js +1 -1
  429. package/build-module/media-text/edit.js.map +1 -1
  430. package/build-module/media-text/index.js +2 -0
  431. package/build-module/media-text/index.js.map +1 -1
  432. package/build-module/navigation/block-navigation-list.js +15 -3
  433. package/build-module/navigation/block-navigation-list.js.map +1 -1
  434. package/build-module/navigation/edit.js +45 -15
  435. package/build-module/navigation/edit.js.map +1 -1
  436. package/build-module/navigation/index.js +7 -1
  437. package/build-module/navigation/index.js.map +1 -1
  438. package/build-module/navigation/menu-items-to-blocks.js +6 -5
  439. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  440. package/build-module/navigation/placeholder-preview.js +3 -3
  441. package/build-module/navigation/placeholder-preview.js.map +1 -1
  442. package/build-module/navigation/placeholder.js +1 -1
  443. package/build-module/navigation/placeholder.js.map +1 -1
  444. package/build-module/navigation/use-block-navigator.js +2 -1
  445. package/build-module/navigation/use-block-navigator.js.map +1 -1
  446. package/build-module/navigation/variations.js +2 -3
  447. package/build-module/navigation/variations.js.map +1 -1
  448. package/build-module/navigation/view.js +53 -2
  449. package/build-module/navigation/view.js.map +1 -1
  450. package/build-module/navigation-link/edit.js +59 -74
  451. package/build-module/navigation-link/edit.js.map +1 -1
  452. package/build-module/navigation-link/index.js +5 -2
  453. package/build-module/navigation-link/index.js.map +1 -1
  454. package/build-module/navigation-link/transforms.js +74 -0
  455. package/build-module/navigation-link/transforms.js.map +1 -0
  456. package/build-module/navigation-submenu/edit.js +628 -0
  457. package/build-module/navigation-submenu/edit.js.map +1 -0
  458. package/build-module/navigation-submenu/icons.js +17 -0
  459. package/build-module/navigation-submenu/icons.js.map +1 -0
  460. package/build-module/navigation-submenu/index.js +74 -0
  461. package/build-module/navigation-submenu/index.js.map +1 -0
  462. package/build-module/navigation-submenu/save.js +10 -0
  463. package/build-module/navigation-submenu/save.js.map +1 -0
  464. package/build-module/navigation-submenu/transforms.js +73 -0
  465. package/build-module/navigation-submenu/transforms.js.map +1 -0
  466. package/build-module/navigation-submenu/view.js +49 -0
  467. package/build-module/navigation-submenu/view.js.map +1 -0
  468. package/build-module/page-list/convert-to-links-modal.js +19 -1
  469. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  470. package/build-module/page-list/edit.js +16 -5
  471. package/build-module/page-list/edit.js.map +1 -1
  472. package/build-module/page-list/index.js +10 -1
  473. package/build-module/page-list/index.js.map +1 -1
  474. package/build-module/post-author/index.js +2 -1
  475. package/build-module/post-author/index.js.map +1 -1
  476. package/build-module/post-comment/edit.js +8 -6
  477. package/build-module/post-comment/edit.js.map +1 -1
  478. package/build-module/post-comment-author/edit.js +1 -1
  479. package/build-module/post-comment-author/edit.js.map +1 -1
  480. package/build-module/post-comment-content/edit.js +16 -13
  481. package/build-module/post-comment-content/edit.js.map +1 -1
  482. package/build-module/post-content/edit.js +1 -3
  483. package/build-module/post-content/edit.js.map +1 -1
  484. package/build-module/post-date/edit.js +36 -16
  485. package/build-module/post-date/edit.js.map +1 -1
  486. package/build-module/post-date/index.js +2 -1
  487. package/build-module/post-date/index.js.map +1 -1
  488. package/build-module/post-excerpt/edit.js +2 -1
  489. package/build-module/post-excerpt/edit.js.map +1 -1
  490. package/build-module/post-featured-image/dimension-controls.js +22 -11
  491. package/build-module/post-featured-image/dimension-controls.js.map +1 -1
  492. package/build-module/post-featured-image/index.js +5 -0
  493. package/build-module/post-featured-image/index.js.map +1 -1
  494. package/build-module/post-navigation-link/edit.js +19 -3
  495. package/build-module/post-navigation-link/edit.js.map +1 -1
  496. package/build-module/post-navigation-link/index.js +9 -1
  497. package/build-module/post-navigation-link/index.js.map +1 -1
  498. package/build-module/post-template/index.js +6 -3
  499. package/build-module/post-template/index.js.map +1 -1
  500. package/build-module/post-terms/edit.js +5 -3
  501. package/build-module/post-terms/edit.js.map +1 -1
  502. package/build-module/post-terms/index.js +2 -1
  503. package/build-module/post-terms/index.js.map +1 -1
  504. package/build-module/post-title/edit.js +3 -3
  505. package/build-module/post-title/edit.js.map +1 -1
  506. package/build-module/post-title/index.js +4 -1
  507. package/build-module/post-title/index.js.map +1 -1
  508. package/build-module/query/edit/index.js +4 -2
  509. package/build-module/query/edit/index.js.map +1 -1
  510. package/build-module/query/variations.js +4 -4
  511. package/build-module/query/variations.js.map +1 -1
  512. package/build-module/query-pagination/deprecated.js +15 -0
  513. package/build-module/query-pagination/deprecated.js.map +1 -0
  514. package/build-module/query-pagination/edit.js +52 -5
  515. package/build-module/query-pagination/edit.js.map +1 -1
  516. package/build-module/query-pagination/index.js +19 -1
  517. package/build-module/query-pagination/index.js.map +1 -1
  518. package/build-module/query-pagination/query-pagination-arrow-controls.js +29 -0
  519. package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -0
  520. package/build-module/query-pagination/save.js +2 -2
  521. package/build-module/query-pagination/save.js.map +1 -1
  522. package/build-module/query-pagination-next/edit.js +18 -4
  523. package/build-module/query-pagination-next/edit.js.map +1 -1
  524. package/build-module/query-pagination-next/index.js +1 -1
  525. package/build-module/query-pagination-previous/edit.js +18 -4
  526. package/build-module/query-pagination-previous/edit.js.map +1 -1
  527. package/build-module/query-pagination-previous/index.js +1 -1
  528. package/build-module/site-logo/edit.js +79 -34
  529. package/build-module/site-logo/edit.js.map +1 -1
  530. package/build-module/site-logo/index.js +7 -2
  531. package/build-module/site-logo/index.js.map +1 -1
  532. package/build-module/site-tagline/index.js +1 -0
  533. package/build-module/site-tagline/index.js.map +1 -1
  534. package/build-module/site-title/edit/index.js +25 -7
  535. package/build-module/site-title/edit/index.js.map +1 -1
  536. package/build-module/site-title/index.js +9 -2
  537. package/build-module/site-title/index.js.map +1 -1
  538. package/build-module/social-links/deprecated.js +106 -2
  539. package/build-module/social-links/deprecated.js.map +1 -1
  540. package/build-module/social-links/edit.js +16 -20
  541. package/build-module/social-links/edit.js.map +1 -1
  542. package/build-module/social-links/index.js +16 -1
  543. package/build-module/social-links/index.js.map +1 -1
  544. package/build-module/social-links/save.js +1 -3
  545. package/build-module/social-links/save.js.map +1 -1
  546. package/build-module/table/index.js +1 -1
  547. package/build-module/template-part/edit/advanced-controls.js +4 -2
  548. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  549. package/build-module/template-part/edit/index.js +1 -4
  550. package/build-module/template-part/edit/index.js.map +1 -1
  551. package/build-module/video/edit-common-settings.js +2 -2
  552. package/build-module/video/edit-common-settings.js.map +1 -1
  553. package/build-module/video/edit.js +10 -5
  554. package/build-module/video/edit.js.map +1 -1
  555. package/build-module/video/tracks-editor.js +2 -1
  556. package/build-module/video/tracks-editor.js.map +1 -1
  557. package/build-style/button/style-rtl.css +1 -1
  558. package/build-style/button/style.css +1 -1
  559. package/build-style/columns/editor-rtl.css +2 -2
  560. package/build-style/columns/editor.css +2 -2
  561. package/build-style/columns/style-rtl.css +4 -4
  562. package/build-style/columns/style.css +4 -4
  563. package/build-style/common-rtl.css +4 -105
  564. package/build-style/common.css +4 -105
  565. package/build-style/editor-rtl.css +188 -205
  566. package/build-style/editor.css +188 -205
  567. package/build-style/embed/style-rtl.css +1 -0
  568. package/build-style/embed/style.css +1 -0
  569. package/build-style/gallery/editor-rtl.css +89 -21
  570. package/build-style/gallery/editor.css +89 -21
  571. package/build-style/gallery/style-rtl.css +202 -39
  572. package/build-style/gallery/style.css +202 -39
  573. package/build-style/group/theme-rtl.css +1 -3
  574. package/build-style/group/theme.css +1 -3
  575. package/build-style/heading/style-rtl.css +8 -0
  576. package/build-style/heading/style.css +8 -0
  577. package/build-style/html/editor-rtl.css +12 -11
  578. package/build-style/html/editor.css +12 -11
  579. package/build-style/list/style-rtl.css +4 -0
  580. package/build-style/list/style.css +4 -0
  581. package/build-style/navigation/editor-rtl.css +12 -7
  582. package/build-style/navigation/editor.css +12 -7
  583. package/build-style/navigation/style-rtl.css +140 -134
  584. package/build-style/navigation/style.css +140 -134
  585. package/build-style/navigation-link/editor-rtl.css +22 -13
  586. package/build-style/navigation-link/editor.css +22 -13
  587. package/build-style/{post-content → navigation-submenu}/editor-rtl.css +29 -8
  588. package/build-style/{post-content → navigation-submenu}/editor.css +29 -8
  589. package/build-style/{heading/editor.css → navigation-submenu/style-rtl.css} +13 -7
  590. package/build-style/{heading/editor-rtl.css → navigation-submenu/style.css} +13 -7
  591. package/build-style/page-list/editor-rtl.css +8 -0
  592. package/build-style/page-list/editor.css +8 -0
  593. package/build-style/page-list/style-rtl.css +2 -8
  594. package/build-style/page-list/style.css +2 -8
  595. package/build-style/paragraph/style-rtl.css +5 -1
  596. package/build-style/paragraph/style.css +5 -1
  597. package/build-style/post-featured-image/editor-rtl.css +4 -8
  598. package/build-style/post-featured-image/editor.css +4 -8
  599. package/build-style/post-featured-image/style-rtl.css +1 -0
  600. package/build-style/post-featured-image/style.css +1 -0
  601. package/build-style/post-template/style-rtl.css +2 -0
  602. package/build-style/post-template/style.css +2 -0
  603. package/build-style/pullquote/style-rtl.css +1 -0
  604. package/build-style/pullquote/style.css +1 -0
  605. package/build-style/query-pagination/editor-rtl.css +2 -5
  606. package/build-style/query-pagination/editor.css +2 -5
  607. package/build-style/query-pagination/style-rtl.css +17 -6
  608. package/build-style/query-pagination/style.css +17 -6
  609. package/build-style/quote/style-rtl.css +3 -0
  610. package/build-style/quote/style.css +3 -0
  611. package/build-style/reset-rtl.css +2 -1
  612. package/build-style/reset.css +2 -1
  613. package/build-style/social-links/style-rtl.css +0 -5
  614. package/build-style/social-links/style.css +0 -5
  615. package/build-style/style-rtl.css +415 -307
  616. package/build-style/style.css +415 -307
  617. package/build-style/theme-rtl.css +1 -11
  618. package/build-style/theme.css +1 -11
  619. package/package.json +30 -31
  620. package/src/audio/edit.js +6 -3
  621. package/src/audio/edit.native.js +9 -3
  622. package/src/button/block.json +4 -1
  623. package/src/button/edit.js +107 -115
  624. package/src/button/edit.native.js +5 -2
  625. package/src/button/style.scss +1 -1
  626. package/src/buttons/block.json +2 -1
  627. package/src/buttons/edit.js +1 -1
  628. package/src/column/block.json +4 -1
  629. package/src/column/save.js +11 -1
  630. package/src/columns/block.json +8 -1
  631. package/src/columns/edit.native.js +8 -3
  632. package/src/columns/editor.scss +2 -2
  633. package/src/columns/index.js +1 -0
  634. package/src/columns/style.scss +4 -4
  635. package/src/common.scss +3 -9
  636. package/src/cover/block.json +11 -1
  637. package/src/cover/deprecated.js +0 -27
  638. package/src/cover/edit.js +82 -32
  639. package/src/cover/save.js +2 -1
  640. package/src/cover/shared.js +1 -0
  641. package/src/cover/transforms.js +4 -2
  642. package/src/editor.scss +4 -20
  643. package/src/embed/edit.js +1 -11
  644. package/src/embed/edit.native.js +120 -32
  645. package/src/embed/embed-bottom-sheet.native.js +26 -20
  646. package/src/embed/embed-controls.js +10 -1
  647. package/src/embed/embed-no-preview.native.js +53 -14
  648. package/src/embed/embed-placeholder.native.js +58 -9
  649. package/src/embed/embed-preview.native.js +58 -41
  650. package/src/embed/style.scss +1 -0
  651. package/src/embed/styles.native.scss +18 -8
  652. package/src/embed/variations.js +0 -8
  653. package/src/embed/wp-embed-preview.js +41 -62
  654. package/src/embed/wp-embed-preview.native.js +80 -0
  655. package/src/file/block.json +6 -0
  656. package/src/file/deprecated.js +123 -0
  657. package/src/file/edit.js +6 -0
  658. package/src/file/index.js +2 -0
  659. package/src/file/inspector.js +12 -10
  660. package/src/file/save.js +3 -0
  661. package/src/file/test/__snapshots__/edit.native.js.snap +4 -0
  662. package/src/file/transforms.js +3 -1
  663. package/src/gallery/block.json +18 -0
  664. package/src/gallery/constants.js +2 -2
  665. package/src/gallery/deprecated.js +15 -7
  666. package/src/gallery/deprecated.scss +132 -0
  667. package/src/gallery/edit-wrapper.js +47 -0
  668. package/src/gallery/edit.js +317 -276
  669. package/src/gallery/editor.scss +106 -22
  670. package/src/gallery/gallery-styles.native.scss +4 -2
  671. package/src/gallery/gallery.js +82 -71
  672. package/src/gallery/gallery.native.js +49 -85
  673. package/src/gallery/index.js +12 -6
  674. package/src/gallery/save.js +20 -60
  675. package/src/gallery/shared.js +9 -2
  676. package/src/gallery/style.scss +113 -75
  677. package/src/gallery/transforms.js +212 -11
  678. package/src/gallery/use-get-media.js +59 -0
  679. package/src/gallery/use-get-new-images.js +68 -0
  680. package/src/gallery/use-image-sizes.js +66 -0
  681. package/src/gallery/use-short-code-transform.js +52 -0
  682. package/src/gallery/utils.js +46 -0
  683. package/src/gallery/v1/constants.js +3 -0
  684. package/src/gallery/v1/edit.js +509 -0
  685. package/src/gallery/{gallery-button.native.js → v1/gallery-button.native.js} +0 -0
  686. package/src/gallery/{gallery-image-style.native.scss → v1/gallery-image-style.native.scss} +0 -0
  687. package/src/gallery/{gallery-image.js → v1/gallery-image.js} +0 -0
  688. package/src/gallery/{gallery-image.native.js → v1/gallery-image.native.js} +0 -0
  689. package/src/gallery/v1/gallery-styles.native.scss +8 -0
  690. package/src/gallery/v1/gallery.js +119 -0
  691. package/src/gallery/v1/gallery.native.js +162 -0
  692. package/src/gallery/v1/save.js +81 -0
  693. package/src/gallery/v1/shared.js +19 -0
  694. package/src/gallery/{tiles-styles.native.scss → v1/tiles-styles.native.scss} +0 -0
  695. package/src/gallery/{tiles.native.js → v1/tiles.native.js} +2 -1
  696. package/src/gallery/v1/update-gallery-modal.js +97 -0
  697. package/src/group/block.json +4 -1
  698. package/src/group/edit.js +31 -7
  699. package/src/group/index.js +2 -0
  700. package/src/group/theme.scss +1 -3
  701. package/src/group/variations.js +18 -0
  702. package/src/heading/heading-level-dropdown.js +26 -58
  703. package/src/heading/style.scss +3 -0
  704. package/src/home-link/edit.js +2 -2
  705. package/src/home-link/index.php +2 -2
  706. package/src/html/editor.scss +16 -10
  707. package/src/image/block.json +1 -0
  708. package/src/image/edit.js +9 -7
  709. package/src/image/edit.native.js +75 -35
  710. package/src/image/image.js +10 -14
  711. package/src/image/styles.native.scss +5 -0
  712. package/src/image/transforms.js +32 -9
  713. package/src/image/utils.js +17 -1
  714. package/src/index.js +2 -0
  715. package/src/latest-comments/edit.js +4 -0
  716. package/src/latest-comments/index.php +2 -1
  717. package/src/latest-posts/edit.native.js +10 -8
  718. package/src/list/style.scss +8 -3
  719. package/src/media-text/edit.js +1 -1
  720. package/src/media-text/index.js +1 -0
  721. package/src/navigation/block-navigation-list.js +16 -7
  722. package/src/navigation/block.json +7 -1
  723. package/src/navigation/edit.js +60 -17
  724. package/src/navigation/editor.scss +38 -19
  725. package/src/navigation/index.php +12 -4
  726. package/src/navigation/menu-items-to-blocks.js +8 -7
  727. package/src/navigation/placeholder-preview.js +3 -3
  728. package/src/navigation/placeholder.js +1 -1
  729. package/src/navigation/style.scss +191 -145
  730. package/src/navigation/test/menu-items-to-blocks.js +6 -6
  731. package/src/navigation/use-block-navigator.js +1 -0
  732. package/src/navigation/variations.js +2 -3
  733. package/src/navigation/view.js +74 -4
  734. package/src/navigation-link/block.json +2 -1
  735. package/src/navigation-link/edit.js +63 -90
  736. package/src/navigation-link/editor.scss +30 -15
  737. package/src/navigation-link/index.js +2 -0
  738. package/src/navigation-link/index.php +8 -8
  739. package/src/navigation-link/transforms.js +93 -0
  740. package/src/navigation-submenu/block.json +65 -0
  741. package/src/navigation-submenu/edit.js +662 -0
  742. package/src/navigation-submenu/editor.scss +42 -0
  743. package/src/navigation-submenu/icons.js +16 -0
  744. package/src/navigation-submenu/index.js +29 -0
  745. package/src/navigation-submenu/index.php +299 -0
  746. package/src/navigation-submenu/save.js +8 -0
  747. package/src/navigation-submenu/style.scss +20 -0
  748. package/src/navigation-submenu/transforms.js +58 -0
  749. package/src/navigation-submenu/view.js +62 -0
  750. package/src/page-list/block.json +11 -1
  751. package/src/page-list/convert-to-links-modal.js +20 -0
  752. package/src/page-list/edit.js +18 -4
  753. package/src/page-list/editor.scss +14 -0
  754. package/src/page-list/index.php +48 -12
  755. package/src/page-list/style.scss +2 -14
  756. package/src/page-list/test/convert-to-links-modal.js +6 -6
  757. package/src/paragraph/style.scss +10 -1
  758. package/src/post-author/block.json +2 -1
  759. package/src/post-comment/edit.js +14 -7
  760. package/src/post-comment-author/edit.js +13 -10
  761. package/src/post-comment-content/edit.js +17 -9
  762. package/src/post-comment-content/index.php +6 -3
  763. package/src/post-content/edit.js +1 -3
  764. package/src/post-date/block.json +2 -1
  765. package/src/post-date/edit.js +36 -22
  766. package/src/post-excerpt/edit.js +1 -0
  767. package/src/post-featured-image/block.json +5 -0
  768. package/src/post-featured-image/dimension-controls.js +43 -35
  769. package/src/post-featured-image/editor.scss +4 -9
  770. package/src/post-featured-image/style.scss +1 -0
  771. package/src/post-navigation-link/block.json +9 -1
  772. package/src/post-navigation-link/edit.js +29 -2
  773. package/src/post-navigation-link/index.php +28 -3
  774. package/src/post-template/block.json +4 -1
  775. package/src/post-template/index.js +2 -2
  776. package/src/post-template/index.php +11 -0
  777. package/src/post-template/style.scss +2 -0
  778. package/src/post-terms/block.json +2 -1
  779. package/src/post-terms/edit.js +4 -5
  780. package/src/post-title/block.json +4 -1
  781. package/src/post-title/edit.js +4 -6
  782. package/src/post-title/index.php +1 -1
  783. package/src/pullquote/style.scss +1 -0
  784. package/src/query/edit/index.js +3 -3
  785. package/src/query/variations.js +4 -0
  786. package/src/query-pagination/block.json +16 -0
  787. package/src/query-pagination/deprecated.js +19 -0
  788. package/src/query-pagination/edit.js +58 -3
  789. package/src/query-pagination/editor.scss +3 -6
  790. package/src/query-pagination/index.js +2 -0
  791. package/src/query-pagination/index.php +24 -1
  792. package/src/query-pagination/query-pagination-arrow-controls.js +44 -0
  793. package/src/query-pagination/save.js +2 -6
  794. package/src/query-pagination/style.scss +22 -5
  795. package/src/query-pagination-next/block.json +1 -1
  796. package/src/query-pagination-next/edit.js +30 -8
  797. package/src/query-pagination-next/index.php +5 -1
  798. package/src/query-pagination-previous/block.json +1 -1
  799. package/src/query-pagination-previous/edit.js +30 -8
  800. package/src/query-pagination-previous/index.php +5 -1
  801. package/src/quote/style.scss +2 -0
  802. package/src/reset.scss +2 -1
  803. package/src/search/index.php +12 -15
  804. package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
  805. package/src/site-logo/block.json +7 -2
  806. package/src/site-logo/edit.js +98 -30
  807. package/src/site-logo/index.php +31 -2
  808. package/src/site-tagline/block.json +1 -0
  809. package/src/site-title/block.json +9 -2
  810. package/src/site-title/edit/index.js +36 -9
  811. package/src/site-title/index.php +12 -2
  812. package/src/social-links/block.json +22 -1
  813. package/src/social-links/deprecated.js +99 -0
  814. package/src/social-links/edit.js +13 -24
  815. package/src/social-links/save.js +1 -7
  816. package/src/social-links/style.scss +0 -8
  817. package/src/style.scss +1 -5
  818. package/src/table/block.json +1 -1
  819. package/src/template-part/edit/advanced-controls.js +3 -3
  820. package/src/template-part/edit/index.js +0 -3
  821. package/src/template-part/index.php +1 -1
  822. package/src/theme.scss +0 -10
  823. package/src/video/edit-common-settings.js +2 -2
  824. package/src/video/edit.js +15 -5
  825. package/src/video/tracks-editor.js +2 -3
  826. package/build/embed/embed-controls.native.js +0 -32
  827. package/build/embed/embed-controls.native.js.map +0 -1
  828. package/build/embed/variations.native.js +0 -10
  829. package/build/embed/variations.native.js.map +0 -1
  830. package/build/gallery/gallery-button.native.js.map +0 -1
  831. package/build/gallery/gallery-image.js.map +0 -1
  832. package/build/gallery/gallery-image.native.js.map +0 -1
  833. package/build/gallery/tiles.native.js.map +0 -1
  834. package/build/image/image-editing/aspect-ratio-dropdown.js +0 -126
  835. package/build/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  836. package/build/image/image-editing/constants.js +0 -16
  837. package/build/image/image-editing/constants.js.map +0 -1
  838. package/build/image/image-editing/context.js +0 -59
  839. package/build/image/image-editing/context.js.map +0 -1
  840. package/build/image/image-editing/cropper.js +0 -83
  841. package/build/image/image-editing/cropper.js.map +0 -1
  842. package/build/image/image-editing/form-controls.js +0 -36
  843. package/build/image/image-editing/form-controls.js.map +0 -1
  844. package/build/image/image-editing/index.js +0 -60
  845. package/build/image/image-editing/index.js.map +0 -1
  846. package/build/image/image-editing/rotation-button.js +0 -37
  847. package/build/image/image-editing/rotation-button.js.map +0 -1
  848. package/build/image/image-editing/use-save-image.js +0 -84
  849. package/build/image/image-editing/use-save-image.js.map +0 -1
  850. package/build/image/image-editing/use-transform-image.js +0 -135
  851. package/build/image/image-editing/use-transform-image.js.map +0 -1
  852. package/build/image/image-editing/zoom-dropdown.js +0 -55
  853. package/build/image/image-editing/zoom-dropdown.js.map +0 -1
  854. package/build-module/embed/embed-controls.native.js +0 -21
  855. package/build-module/embed/embed-controls.native.js.map +0 -1
  856. package/build-module/embed/variations.native.js +0 -3
  857. package/build-module/embed/variations.native.js.map +0 -1
  858. package/build-module/gallery/gallery-button.native.js.map +0 -1
  859. package/build-module/gallery/gallery-image.js.map +0 -1
  860. package/build-module/gallery/gallery-image.native.js.map +0 -1
  861. package/build-module/gallery/tiles.native.js.map +0 -1
  862. package/build-module/image/image-editing/aspect-ratio-dropdown.js +0 -115
  863. package/build-module/image/image-editing/aspect-ratio-dropdown.js.map +0 -1
  864. package/build-module/image/image-editing/constants.js +0 -7
  865. package/build-module/image/image-editing/constants.js.map +0 -1
  866. package/build-module/image/image-editing/context.js +0 -44
  867. package/build-module/image/image-editing/context.js.map +0 -1
  868. package/build-module/image/image-editing/cropper.js +0 -69
  869. package/build-module/image/image-editing/cropper.js.map +0 -1
  870. package/build-module/image/image-editing/form-controls.js +0 -26
  871. package/build-module/image/image-editing/form-controls.js.map +0 -1
  872. package/build-module/image/image-editing/index.js +0 -37
  873. package/build-module/image/image-editing/index.js.map +0 -1
  874. package/build-module/image/image-editing/rotation-button.js +0 -26
  875. package/build-module/image/image-editing/rotation-button.js.map +0 -1
  876. package/build-module/image/image-editing/use-save-image.js +0 -70
  877. package/build-module/image/image-editing/use-save-image.js.map +0 -1
  878. package/build-module/image/image-editing/use-transform-image.js +0 -127
  879. package/build-module/image/image-editing/use-transform-image.js.map +0 -1
  880. package/build-module/image/image-editing/zoom-dropdown.js +0 -43
  881. package/build-module/image/image-editing/zoom-dropdown.js.map +0 -1
  882. package/src/embed/embed-controls.native.js +0 -23
  883. package/src/embed/variations.native.js +0 -3
  884. package/src/heading/editor.scss +0 -20
  885. package/src/image/image-editing/aspect-ratio-dropdown.js +0 -129
  886. package/src/image/image-editing/constants.js +0 -6
  887. package/src/image/image-editing/context.js +0 -56
  888. package/src/image/image-editing/cropper.js +0 -74
  889. package/src/image/image-editing/form-controls.js +0 -22
  890. package/src/image/image-editing/index.js +0 -52
  891. package/src/image/image-editing/rotation-button.js +0 -24
  892. package/src/image/image-editing/use-save-image.js +0 -97
  893. package/src/image/image-editing/use-transform-image.js +0 -162
  894. package/src/image/image-editing/zoom-dropdown.js +0 -40
  895. package/src/post-content/editor.scss +0 -11
@@ -6,21 +6,35 @@ import { createElement } from "@wordpress/element";
6
6
  */
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { useBlockProps, PlainText } from '@wordpress/block-editor';
9
+ const arrowMap = {
10
+ none: '',
11
+ arrow: '→',
12
+ chevron: '»'
13
+ };
9
14
  export default function QueryPaginationNextEdit({
10
15
  attributes: {
11
16
  label
12
17
  },
13
- setAttributes
18
+ setAttributes,
19
+ context: {
20
+ paginationArrow
21
+ }
14
22
  }) {
15
- return createElement(PlainText, _extends({
23
+ const displayArrow = arrowMap[paginationArrow];
24
+ return createElement("a", _extends({
25
+ href: "#pagination-next-pseudo-link",
26
+ onClick: event => event.preventDefault()
27
+ }, useBlockProps()), createElement(PlainText, {
16
28
  __experimentalVersion: 2,
17
- tagName: "a",
29
+ tagName: "span",
18
30
  "aria-label": __('Next page link'),
19
31
  placeholder: __('Next Page'),
20
32
  value: label,
21
33
  onChange: newLabel => setAttributes({
22
34
  label: newLabel
23
35
  })
24
- }, useBlockProps()));
36
+ }), displayArrow && createElement("span", {
37
+ className: `wp-block-query-pagination-next-arrow is-arrow-${paginationArrow}`
38
+ }, displayArrow));
25
39
  }
26
40
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"names":["__","useBlockProps","PlainText","QueryPaginationNextEdit","attributes","label","setAttributes","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,eAAe,SAASC,uBAAT,CAAkC;AAChDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADoC;AAEhDC,EAAAA;AAFgD,CAAlC,EAGX;AACH,SACC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,GAFT;AAGC,kBAAaN,EAAE,CAAE,gBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAJjB;AAKC,IAAA,KAAK,EAAGK,KALT;AAMC,IAAA,QAAQ,EAAKE,QAAF,IAAgBD,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEE;AAAT,KAAF;AANzC,KAOMN,aAAa,EAPnB,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nexport default function QueryPaginationNextEdit( {\n\tattributes: { label },\n\tsetAttributes,\n} ) {\n\treturn (\n\t\t<PlainText\n\t\t\t__experimentalVersion={ 2 }\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( 'Next page link' ) }\n\t\t\tplaceholder={ __( 'Next Page' ) }\n\t\t\tvalue={ label }\n\t\t\tonChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }\n\t\t\t{ ...useBlockProps() }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-pagination-next/edit.js"],"names":["__","useBlockProps","PlainText","arrowMap","none","arrow","chevron","QueryPaginationNextEdit","attributes","label","setAttributes","context","paginationArrow","displayArrow","event","preventDefault","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,MAAMC,QAAQ,GAAG;AAChBC,EAAAA,IAAI,EAAE,EADU;AAEhBC,EAAAA,KAAK,EAAE,GAFS;AAGhBC,EAAAA,OAAO,EAAE;AAHO,CAAjB;AAMA,eAAe,SAASC,uBAAT,CAAkC;AAChDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADoC;AAEhDC,EAAAA,aAFgD;AAGhDC,EAAAA,OAAO,EAAE;AAAEC,IAAAA;AAAF;AAHuC,CAAlC,EAIX;AACH,QAAMC,YAAY,GAAGV,QAAQ,CAAES,eAAF,CAA7B;AACA,SACC;AACC,IAAA,IAAI,EAAC,8BADN;AAEC,IAAA,OAAO,EAAKE,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,KAGMd,aAAa,EAHnB,GAKC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,kBAAaD,EAAE,CAAE,gBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAJjB;AAKC,IAAA,KAAK,EAAGS,KALT;AAMC,IAAA,QAAQ,EAAKO,QAAF,IACVN,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEO;AAAT,KAAF;AAPf,IALD,EAeGH,YAAY,IACb;AACC,IAAA,SAAS,EAAI,iDAAiDD,eAAiB;AADhF,KAGGC,YAHH,CAhBF,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '→',\n\tchevron: '»',\n};\n\nexport default function QueryPaginationNextEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-next-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t<PlainText\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\ttagName=\"span\"\n\t\t\t\taria-label={ __( 'Next page link' ) }\n\t\t\t\tplaceholder={ __( 'Next Page' ) }\n\t\t\t\tvalue={ label }\n\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-next-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</a>\n\t);\n}\n"]}
@@ -19,7 +19,7 @@ const metadata = {
19
19
  type: "string"
20
20
  }
21
21
  },
22
- usesContext: ["queryId", "query"],
22
+ usesContext: ["queryId", "query", "paginationArrow"],
23
23
  supports: {
24
24
  reusable: false,
25
25
  html: false,
@@ -6,21 +6,35 @@ import { createElement } from "@wordpress/element";
6
6
  */
7
7
  import { __ } from '@wordpress/i18n';
8
8
  import { useBlockProps, PlainText } from '@wordpress/block-editor';
9
+ const arrowMap = {
10
+ none: '',
11
+ arrow: '←',
12
+ chevron: '«'
13
+ };
9
14
  export default function QueryPaginationPreviousEdit({
10
15
  attributes: {
11
16
  label
12
17
  },
13
- setAttributes
18
+ setAttributes,
19
+ context: {
20
+ paginationArrow
21
+ }
14
22
  }) {
15
- return createElement(PlainText, _extends({
23
+ const displayArrow = arrowMap[paginationArrow];
24
+ return createElement("a", _extends({
25
+ href: "#pagination-previous-pseudo-link",
26
+ onClick: event => event.preventDefault()
27
+ }, useBlockProps()), displayArrow && createElement("span", {
28
+ className: `wp-block-query-pagination-previous-arrow is-arrow-${paginationArrow}`
29
+ }, displayArrow), createElement(PlainText, {
16
30
  __experimentalVersion: 2,
17
- tagName: "a",
31
+ tagName: "span",
18
32
  "aria-label": __('Previous page link'),
19
33
  placeholder: __('Previous Page'),
20
34
  value: label,
21
35
  onChange: newLabel => setAttributes({
22
36
  label: newLabel
23
37
  })
24
- }, useBlockProps()));
38
+ }));
25
39
  }
26
40
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"names":["__","useBlockProps","PlainText","QueryPaginationPreviousEdit","attributes","label","setAttributes","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,eAAe,SAASC,2BAAT,CAAsC;AACpDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADwC;AAEpDC,EAAAA;AAFoD,CAAtC,EAGX;AACH,SACC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,GAFT;AAGC,kBAAaN,EAAE,CAAE,oBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,eAAF,CAJjB;AAKC,IAAA,KAAK,EAAGK,KALT;AAMC,IAAA,QAAQ,EAAKE,QAAF,IAAgBD,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEE;AAAT,KAAF;AANzC,KAOMN,aAAa,EAPnB,EADD;AAWA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nexport default function QueryPaginationPreviousEdit( {\n\tattributes: { label },\n\tsetAttributes,\n} ) {\n\treturn (\n\t\t<PlainText\n\t\t\t__experimentalVersion={ 2 }\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( 'Previous page link' ) }\n\t\t\tplaceholder={ __( 'Previous Page' ) }\n\t\t\tvalue={ label }\n\t\t\tonChange={ ( newLabel ) => setAttributes( { label: newLabel } ) }\n\t\t\t{ ...useBlockProps() }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-pagination-previous/edit.js"],"names":["__","useBlockProps","PlainText","arrowMap","none","arrow","chevron","QueryPaginationPreviousEdit","attributes","label","setAttributes","context","paginationArrow","displayArrow","event","preventDefault","newLabel"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,yBAAzC;AAEA,MAAMC,QAAQ,GAAG;AAChBC,EAAAA,IAAI,EAAE,EADU;AAEhBC,EAAAA,KAAK,EAAE,GAFS;AAGhBC,EAAAA,OAAO,EAAE;AAHO,CAAjB;AAMA,eAAe,SAASC,2BAAT,CAAsC;AACpDC,EAAAA,UAAU,EAAE;AAAEC,IAAAA;AAAF,GADwC;AAEpDC,EAAAA,aAFoD;AAGpDC,EAAAA,OAAO,EAAE;AAAEC,IAAAA;AAAF;AAH2C,CAAtC,EAIX;AACH,QAAMC,YAAY,GAAGV,QAAQ,CAAES,eAAF,CAA7B;AACA,SACC;AACC,IAAA,IAAI,EAAC,kCADN;AAEC,IAAA,OAAO,EAAKE,KAAF,IAAaA,KAAK,CAACC,cAAN;AAFxB,KAGMd,aAAa,EAHnB,GAKGY,YAAY,IACb;AACC,IAAA,SAAS,EAAI,qDAAqDD,eAAiB;AADpF,KAGGC,YAHH,CANF,EAYC,cAAC,SAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,OAAO,EAAC,MAFT;AAGC,kBAAab,EAAE,CAAE,oBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,eAAF,CAJjB;AAKC,IAAA,KAAK,EAAGS,KALT;AAMC,IAAA,QAAQ,EAAKO,QAAF,IACVN,aAAa,CAAE;AAAED,MAAAA,KAAK,EAAEO;AAAT,KAAF;AAPf,IAZD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useBlockProps, PlainText } from '@wordpress/block-editor';\n\nconst arrowMap = {\n\tnone: '',\n\tarrow: '←',\n\tchevron: '«',\n};\n\nexport default function QueryPaginationPreviousEdit( {\n\tattributes: { label },\n\tsetAttributes,\n\tcontext: { paginationArrow },\n} ) {\n\tconst displayArrow = arrowMap[ paginationArrow ];\n\treturn (\n\t\t<a\n\t\t\thref=\"#pagination-previous-pseudo-link\"\n\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t{ ...useBlockProps() }\n\t\t>\n\t\t\t{ displayArrow && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={ `wp-block-query-pagination-previous-arrow is-arrow-${ paginationArrow }` }\n\t\t\t\t>\n\t\t\t\t\t{ displayArrow }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t<PlainText\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\ttagName=\"span\"\n\t\t\t\taria-label={ __( 'Previous page link' ) }\n\t\t\t\tplaceholder={ __( 'Previous Page' ) }\n\t\t\t\tvalue={ label }\n\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</a>\n\t);\n}\n"]}
@@ -19,7 +19,7 @@ const metadata = {
19
19
  type: "string"
20
20
  }
21
21
  },
22
- usesContext: ["queryId", "query"],
22
+ usesContext: ["queryId", "query", "paginationArrow"],
23
23
  supports: {
24
24
  reusable: false,
25
25
  html: false,
@@ -10,14 +10,14 @@ import { includes, pick } from 'lodash';
10
10
  */
11
11
 
12
12
  import { isBlobURL } from '@wordpress/blob';
13
- import { useState, useRef } from '@wordpress/element';
13
+ import { useEffect, useState, useRef } from '@wordpress/element';
14
14
  import { __, isRTL } from '@wordpress/i18n';
15
- import { Notice, PanelBody, RangeControl, ResizableBox, Spinner, ToggleControl, Placeholder } from '@wordpress/components';
15
+ import { Notice, PanelBody, RangeControl, ResizableBox, Spinner, ToggleControl, ToolbarButton, ToolbarGroup, Placeholder } from '@wordpress/components';
16
16
  import { useViewportMatch } from '@wordpress/compose';
17
- import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
17
+ import { BlockControls, BlockIcon, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore, __experimentalImageEditor as ImageEditor, __experimentalImageEditingProvider as ImageEditingProvider } from '@wordpress/block-editor';
18
18
  import { useSelect, useDispatch } from '@wordpress/data';
19
19
  import { store as coreStore } from '@wordpress/core-data';
20
- import { siteLogo as icon } from '@wordpress/icons';
20
+ import { crop, siteLogo as icon } from '@wordpress/icons';
21
21
  /**
22
22
  * Internal dependencies
23
23
  */
@@ -43,8 +43,10 @@ const SiteLogo = ({
43
43
  containerRef,
44
44
  isSelected,
45
45
  setAttributes,
46
+ setLogo,
46
47
  logoUrl,
47
- siteUrl
48
+ siteUrl,
49
+ logoId
48
50
  }) => {
49
51
  const clientWidth = useClientWidth(containerRef, [align]);
50
52
  const isLargeViewport = useViewportMatch('medium');
@@ -54,6 +56,7 @@ const SiteLogo = ({
54
56
  naturalWidth,
55
57
  naturalHeight
56
58
  }, setNaturalSize] = useState({});
59
+ const [isEditingImage, setIsEditingImage] = useState(false);
57
60
  const {
58
61
  toggleSelection
59
62
  } = useDispatch(blockEditorStore);
@@ -61,6 +64,7 @@ const SiteLogo = ({
61
64
  'is-transient': isBlobURL(logoUrl)
62
65
  });
63
66
  const {
67
+ imageEditing,
64
68
  maxWidth,
65
69
  title
66
70
  } = useSelect(select => {
@@ -70,9 +74,14 @@ const SiteLogo = ({
70
74
  const siteEntities = select(coreStore).getEditedEntityRecord('root', 'site');
71
75
  return {
72
76
  title: siteEntities.title,
73
- ...pick(getSettings(), ['imageSizes', 'maxWidth'])
77
+ ...pick(getSettings(), ['imageEditing', 'maxWidth'])
74
78
  };
75
79
  }, []);
80
+ useEffect(() => {
81
+ if (!isSelected) {
82
+ setIsEditingImage(false);
83
+ }
84
+ }, [isSelected]);
76
85
 
77
86
  function onResizeStart() {
78
87
  toggleSelection(false);
@@ -171,6 +180,51 @@ const SiteLogo = ({
171
180
  /* eslint-enable no-lonely-if */
172
181
 
173
182
 
183
+ const canEditImage = logoId && naturalWidth && naturalHeight && imageEditing;
184
+ const imgEdit = canEditImage && isEditingImage ? createElement(ImageEditingProvider, {
185
+ id: logoId,
186
+ url: logoUrl,
187
+ naturalWidth: naturalWidth,
188
+ naturalHeight: naturalHeight,
189
+ clientWidth: clientWidth,
190
+ onSaveImage: imageAttributes => {
191
+ setLogo(imageAttributes.id);
192
+ },
193
+ isEditing: isEditingImage,
194
+ onFinishEditing: () => setIsEditingImage(false)
195
+ }, createElement(ImageEditor, {
196
+ url: logoUrl,
197
+ width: currentWidth,
198
+ height: currentHeight,
199
+ clientWidth: clientWidth,
200
+ naturalHeight: naturalHeight,
201
+ naturalWidth: naturalWidth
202
+ })) : createElement(ResizableBox, {
203
+ size: {
204
+ width: currentWidth,
205
+ height: currentHeight
206
+ },
207
+ showHandle: isSelected,
208
+ minWidth: minWidth,
209
+ maxWidth: maxWidthBuffer,
210
+ minHeight: minHeight,
211
+ maxHeight: maxWidthBuffer / ratio,
212
+ lockAspectRatio: true,
213
+ enable: {
214
+ top: false,
215
+ right: showRightHandle,
216
+ bottom: true,
217
+ left: showLeftHandle
218
+ },
219
+ onResizeStart: onResizeStart,
220
+ onResizeStop: (event, direction, elt, delta) => {
221
+ onResizeStop();
222
+ setAttributes({
223
+ width: parseInt(currentWidth + delta.width, 10),
224
+ height: parseInt(currentHeight + delta.height, 10)
225
+ });
226
+ }
227
+ }, imgWrapper);
174
228
  return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
175
229
  title: __('Settings')
176
230
  }, createElement(RangeControl, {
@@ -195,32 +249,13 @@ const SiteLogo = ({
195
249
  linkTarget: value ? '_blank' : '_self'
196
250
  }),
197
251
  checked: linkTarget === '_blank'
198
- })))), createElement(ResizableBox, {
199
- size: {
200
- width,
201
- height
202
- },
203
- showHandle: isSelected,
204
- minWidth: minWidth,
205
- maxWidth: maxWidthBuffer,
206
- minHeight: minHeight,
207
- maxHeight: maxWidthBuffer / ratio,
208
- lockAspectRatio: true,
209
- enable: {
210
- top: false,
211
- right: showRightHandle,
212
- bottom: true,
213
- left: showLeftHandle
214
- },
215
- onResizeStart: onResizeStart,
216
- onResizeStop: (event, direction, elt, delta) => {
217
- onResizeStop();
218
- setAttributes({
219
- width: parseInt(currentWidth + delta.width, 10),
220
- height: parseInt(currentHeight + delta.height, 10)
221
- });
222
- }
223
- }, imgWrapper));
252
+ })))), createElement(BlockControls, {
253
+ group: "block"
254
+ }, canEditImage && !isEditingImage && createElement(ToolbarButton, {
255
+ onClick: () => setIsEditingImage(true),
256
+ icon: crop,
257
+ label: __('Crop')
258
+ })), imgEdit);
224
259
  };
225
260
 
226
261
  export default function LogoEdit({
@@ -256,7 +291,7 @@ export default function LogoEdit({
256
291
 
257
292
  const _canUserEdit = canUser('update', 'settings');
258
293
 
259
- const _siteLogoId = _siteLogo || _readOnlyLogo;
294
+ const _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;
260
295
 
261
296
  const mediaItem = _siteLogoId && select(coreStore).getMedia(_siteLogoId, {
262
297
  context: 'view'
@@ -271,6 +306,7 @@ export default function LogoEdit({
271
306
  canUserEdit: _canUserEdit,
272
307
  url: siteData === null || siteData === void 0 ? void 0 : siteData.url,
273
308
  mediaItemData: mediaItem && {
309
+ id: mediaItem.id,
274
310
  url: mediaItem.source_url,
275
311
  alt: mediaItem.alt_text
276
312
  },
@@ -311,6 +347,11 @@ export default function LogoEdit({
311
347
  setLogo(media.id);
312
348
  };
313
349
 
350
+ const onRemoveLogo = () => {
351
+ setLogo(null);
352
+ setLogoUrl(undefined);
353
+ };
354
+
314
355
  const onUploadError = message => {
315
356
  setError(message[2] ? message[2] : null);
316
357
  };
@@ -323,7 +364,9 @@ export default function LogoEdit({
323
364
  accept: ACCEPT_MEDIA_STRING,
324
365
  onSelect: onSelectLogo,
325
366
  onError: onUploadError
326
- }));
367
+ }), createElement(ToolbarGroup, null, createElement(ToolbarButton, {
368
+ onClick: onRemoveLogo
369
+ }, __('Reset'))));
327
370
 
328
371
  const label = __('Site Logo');
329
372
 
@@ -343,6 +386,8 @@ export default function LogoEdit({
343
386
  isSelected: isSelected,
344
387
  setAttributes: setAttributes,
345
388
  logoUrl: logoUrl,
389
+ setLogo: setLogo,
390
+ logoId: (mediaItemData === null || mediaItemData === void 0 ? void 0 : mediaItemData.id) || siteLogoId,
346
391
  siteUrl: url
347
392
  });
348
393
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","useState","useRef","__","isRTL","Notice","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","Placeholder","useViewportMatch","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","useSelect","useDispatch","coreStore","siteLogo","icon","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","logoUrl","siteUrl","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","toggleSelection","classes","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","currentWidth","ratio","currentHeight","minWidth","minHeight","maxWidthBuffer","defaultWidth","showRightHandle","showLeftHandle","newWidth","Math","min","value","top","right","bottom","left","direction","elt","delta","parseInt","LogoEdit","className","setLogoUrl","error","setError","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","setLogo","newValue","undefined","onSelectLogo","media","id","onUploadError","message","controls","label","logoImage","isLoading","blockProps","instructions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tPlaceholder,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tlogoUrl,\n\tsiteUrl,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageSizes', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\tconst currentWidth = width || imageWidthWithinContainer;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached CSS file.\n\tconst defaultWidth = 120;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<ResizableBox\n\t\t\t\tsize={ { width, height } }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst [ error, setError ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _siteLogo || _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetError( null );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tsetError( message[ 2 ] ? message[ 2 ] : null );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst label = __( 'Site Logo' );\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"site-logo_placeholder\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an image, or pick one from your media library, to be your site logo'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmediaPreview={ logoImage }\n\t\t\t\t\tnotices={\n\t\t\t\t\t\terror && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ error }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","useEffect","useState","useRef","__","isRTL","Notice","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","ToolbarGroup","Placeholder","useViewportMatch","BlockControls","BlockIcon","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","siteLogo","icon","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","clientWidth","isLargeViewport","isWideAligned","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","currentWidth","ratio","currentHeight","minWidth","minHeight","maxWidthBuffer","defaultWidth","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","newWidth","Math","min","value","LogoEdit","className","setLogoUrl","error","setError","ref","siteLogoId","canUserEdit","url","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","newValue","undefined","onSelectLogo","media","onRemoveLogo","onUploadError","message","controls","label","logoImage","isLoading","blockProps","instructions"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { includes, pick } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tNotice,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tToolbarGroup,\n\tPlaceholder,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst siteEntities = select( coreStore ).getEditedEntityRecord(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities.title,\n\t\t\t...pick( getSettings(), [ 'imageEditing', 'maxWidth' ] ),\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize(\n\t\t\t\t\tpick( event.target, [ 'naturalWidth', 'naturalHeight' ] )\n\t\t\t\t);\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\tconst currentWidth = width || imageWidthWithinContainer;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth = naturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached CSS file.\n\tconst defaultWidth = 120;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditingProvider\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tisEditing={ isEditingImage }\n\t\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t\t>\n\t\t\t\t<ImageEditor\n\t\t\t\t\turl={ logoUrl }\n\t\t\t\t\twidth={ currentWidth }\n\t\t\t\t\theight={ currentHeight }\n\t\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\t/>\n\t\t\t</ImageEditingProvider>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst [ error, setError ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } = select(\n\t\t\tcoreStore\n\t\t);\n\t\tconst siteSettings = getEditedEntityRecord( 'root', 'site' );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogo = siteSettings?.site_logo;\n\t\tconst _readOnlyLogo = siteData?.site_logo;\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.url,\n\t\t\tmediaItemData: mediaItem && {\n\t\t\t\tid: mediaItem.id,\n\t\t\t\turl: mediaItem.source_url,\n\t\t\t\talt: mediaItem.alt_text,\n\t\t\t},\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\tconst setLogo = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt;\n\t\tif ( logoUrl !== mediaItemData.url ) {\n\t\t\tsetLogoUrl( mediaItemData.url );\n\t\t}\n\t}\n\tconst onSelectLogo = ( media ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image\n\t\t\tsetLogo( undefined );\n\t\t\tsetError( null );\n\t\t\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t};\n\n\tconst onUploadError = ( message ) => {\n\t\tsetError( message[ 2 ] ? message[ 2 ] : null );\n\t};\n\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaURL={ logoUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\tonError={ onUploadError }\n\t\t\t/>\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton onClick={ onRemoveLogo }>\n\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t</ToolbarButton>\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t);\n\n\tconst label = __( 'Site Logo' );\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t/>\n\t\t);\n\t}\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder\n\t\t\t\t\tclassName=\"site-logo_placeholder\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tlabels={ {\n\t\t\t\t\t\ttitle: label,\n\t\t\t\t\t\tinstructions: __(\n\t\t\t\t\t\t\t'Upload an image, or pick one from your media library, to be your site logo'\n\t\t\t\t\t\t),\n\t\t\t\t\t} }\n\t\t\t\t\tonSelect={ onSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tmediaPreview={ logoImage }\n\t\t\t\t\tnotices={\n\t\t\t\t\t\terror && (\n\t\t\t\t\t\t\t<Notice status=\"error\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ error }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -11,7 +11,7 @@ const metadata = {
11
11
  name: "core/site-logo",
12
12
  title: "Site Logo",
13
13
  category: "layout",
14
- description: "Useful for displaying a graphic mark, design, or symbol to represent the site. Once a site logo is set, it can be reused in different places and templates. It should not be confused with the site icon, which is the small image used in the dashboard, browser tabs, public search results, etc, to help recognize a site.",
14
+ description: "Display a graphic to represent this site. Update the block, and the changes apply everywhere it\u2019s used. This is different than the site icon, which is the smaller image visible in your dashboard, browser tabs, etc used to help others recognize this site.",
15
15
  textdomain: "default",
16
16
  attributes: {
17
17
  align: {
@@ -32,7 +32,12 @@ const metadata = {
32
32
  supports: {
33
33
  html: false,
34
34
  align: true,
35
- alignWide: false
35
+ alignWide: false,
36
+ color: {
37
+ __experimentalDuotone: "img",
38
+ text: false,
39
+ background: false
40
+ }
36
41
  },
37
42
  styles: [{
38
43
  name: "default",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["siteLogo","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/index.js"],"names":["siteLogo","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAArB,QAAiC,kBAAjC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { siteLogo as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -27,6 +27,7 @@ const metadata = {
27
27
  fontSize: true,
28
28
  lineHeight: true,
29
29
  __experimentalFontFamily: true,
30
+ __experimentalFontWeight: true,
30
31
  __experimentalTextTransform: true,
31
32
  __experimentalLetterSpacing: true
32
33
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-tagline/index.js"],"names":["edit","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBD,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport icon from './icon';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-tagline/index.js"],"names":["edit","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBD,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport icon from './icon';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
@@ -11,7 +11,8 @@ import classnames from 'classnames';
11
11
  import { useSelect } from '@wordpress/data';
12
12
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
13
13
  import { __ } from '@wordpress/i18n';
14
- import { RichText, AlignmentControl, BlockControls, useBlockProps } from '@wordpress/block-editor';
14
+ import { RichText, AlignmentControl, InspectorControls, BlockControls, useBlockProps } from '@wordpress/block-editor';
15
+ import { ToggleControl, PanelBody } from '@wordpress/components';
15
16
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
16
17
  import { decodeEntities } from '@wordpress/html-entities';
17
18
  /**
@@ -26,7 +27,9 @@ export default function SiteTitleEdit({
26
27
  }) {
27
28
  const {
28
29
  level,
29
- textAlign
30
+ textAlign,
31
+ isLink,
32
+ linkTarget
30
33
  } = attributes;
31
34
  const [title, setTitle] = useEntityProp('root', 'site', 'title');
32
35
  const {
@@ -51,18 +54,19 @@ export default function SiteTitleEdit({
51
54
  })
52
55
  });
53
56
  const siteTitleContent = canUserEdit ? createElement(TagName, blockProps, createElement(RichText, {
54
- tagName: "a",
57
+ tagName: isLink ? 'a' : 'span',
58
+ href: isLink ? '#site-title-pseudo-link' : undefined,
55
59
  "aria-label": __('Site title text'),
56
60
  placeholder: __('Write site title…'),
57
- value: title || readOnlyTitle,
61
+ value: title,
58
62
  onChange: setTitle,
59
63
  allowedFormats: [],
60
64
  disableLineBreaks: true,
61
65
  __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
62
- })) : createElement(TagName, blockProps, createElement("a", {
66
+ })) : createElement(TagName, blockProps, isLink ? createElement("a", {
63
67
  href: "#site-title-pseudo-link",
64
68
  onClick: event => event.preventDefault()
65
- }, readOnlyTitle || __('Site Title placeholder')));
69
+ }, readOnlyTitle || __('Site Title placeholder')) : createElement("span", null, title || readOnlyTitle));
66
70
  return createElement(Fragment, null, createElement(BlockControls, {
67
71
  group: "block"
68
72
  }, createElement(LevelControl, {
@@ -77,6 +81,20 @@ export default function SiteTitleEdit({
77
81
  textAlign: nextAlign
78
82
  });
79
83
  }
80
- })), siteTitleContent);
84
+ })), createElement(InspectorControls, null, createElement(PanelBody, {
85
+ title: __('Link settings')
86
+ }, createElement(ToggleControl, {
87
+ label: __('Make title link to home'),
88
+ onChange: () => setAttributes({
89
+ isLink: !isLink
90
+ }),
91
+ checked: isLink
92
+ }), isLink && createElement(ToggleControl, {
93
+ label: __('Open in new tab'),
94
+ onChange: value => setAttributes({
95
+ linkTarget: value ? '_blank' : '_self'
96
+ }),
97
+ checked: linkTarget === '_blank'
98
+ }))), siteTitleContent);
81
99
  }
82
100
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-title/edit/index.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","__","RichText","AlignmentControl","BlockControls","useBlockProps","createBlock","getDefaultBlockName","decodeEntities","LevelControl","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","textAlign","title","setTitle","canUserEdit","readOnlyTitle","select","canUser","getEntityRecord","siteData","name","TagName","blockProps","className","siteTitleContent","event","preventDefault","newLevel","nextAlign"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport LevelControl from './level-toolbar';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, textAlign } = attributes;\n\tconst [ title, setTitle ] = useEntityProp( 'root', 'site', 'title' );\n\tconst { canUserEdit, readOnlyTitle } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\treturn {\n\t\t\tcanUserEdit: canUser( 'update', 'settings' ),\n\t\t\treadOnlyTitle: decodeEntities( siteData?.name ),\n\t\t};\n\t}, [] );\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder':\n\t\t\t\t! canUserEdit && ! readOnlyTitle,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName=\"a\"\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title || readOnlyTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t<a\n\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ readOnlyTitle || __( 'Site Title placeholder' ) }\n\t\t\t</a>\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<LevelControl\n\t\t\t\t\tlevel={ 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{ siteTitleContent }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-title/edit/index.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","__","RichText","AlignmentControl","InspectorControls","BlockControls","useBlockProps","ToggleControl","PanelBody","createBlock","getDefaultBlockName","decodeEntities","LevelControl","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","textAlign","isLink","linkTarget","title","setTitle","canUserEdit","readOnlyTitle","select","canUser","getEntityRecord","siteData","name","TagName","blockProps","className","siteTitleContent","undefined","event","preventDefault","newLevel","nextAlign","value"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport LevelControl from './level-toolbar';\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, textAlign, isLink, linkTarget } = attributes;\n\tconst [ title, setTitle ] = useEntityProp( 'root', 'site', 'title' );\n\tconst { canUserEdit, readOnlyTitle } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\treturn {\n\t\t\tcanUserEdit: canUser( 'update', 'settings' ),\n\t\t\treadOnlyTitle: decodeEntities( siteData?.name ),\n\t\t};\n\t}, [] );\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder':\n\t\t\t\t! canUserEdit && ! readOnlyTitle,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ readOnlyTitle || __( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>{ title || readOnlyTitle }</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<LevelControl\n\t\t\t\t\tlevel={ 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<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"]}