@wordpress/block-library 6.1.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (494) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +7 -1
  3. package/build/audio/edit.js +1 -1
  4. package/build/audio/edit.js.map +1 -1
  5. package/build/button/index.js +5 -1
  6. package/build/button/index.js.map +1 -1
  7. package/build/calendar/index.js +4 -1
  8. package/build/calendar/index.js.map +1 -1
  9. package/build/calendar/transforms.js +27 -0
  10. package/build/calendar/transforms.js.map +1 -0
  11. package/build/code/index.js +5 -1
  12. package/build/code/index.js.map +1 -1
  13. package/build/code/transforms.js +1 -1
  14. package/build/code/transforms.js.map +1 -1
  15. package/build/column/index.js +5 -1
  16. package/build/column/index.js.map +1 -1
  17. package/build/columns/index.js +5 -1
  18. package/build/columns/index.js.map +1 -1
  19. package/build/comment-author-avatar/index.js +4 -1
  20. package/build/comment-author-avatar/index.js.map +1 -1
  21. package/build/comment-author-name/index.js +6 -1
  22. package/build/comment-author-name/index.js.map +1 -1
  23. package/build/comment-content/index.js +5 -1
  24. package/build/comment-content/index.js.map +1 -1
  25. package/build/comment-date/index.js +6 -1
  26. package/build/comment-date/index.js.map +1 -1
  27. package/build/comment-edit-link/index.js +5 -1
  28. package/build/comment-edit-link/index.js.map +1 -1
  29. package/build/comment-reply-link/index.js +5 -1
  30. package/build/comment-reply-link/index.js.map +1 -1
  31. package/build/comment-template/edit.js +49 -11
  32. package/build/comment-template/edit.js.map +1 -1
  33. package/build/comments-pagination/index.js +6 -1
  34. package/build/comments-pagination/index.js.map +1 -1
  35. package/build/comments-pagination-next/index.js +4 -1
  36. package/build/comments-pagination-next/index.js.map +1 -1
  37. package/build/comments-pagination-previous/index.js +4 -1
  38. package/build/comments-pagination-previous/index.js.map +1 -1
  39. package/build/comments-query-loop/index.js +6 -1
  40. package/build/comments-query-loop/index.js.map +1 -1
  41. package/build/cover/deprecated.js +181 -15
  42. package/build/cover/deprecated.js.map +1 -1
  43. package/build/cover/edit.js +7 -4
  44. package/build/cover/edit.js.map +1 -1
  45. package/build/cover/save.js +8 -3
  46. package/build/cover/save.js.map +1 -1
  47. package/build/gallery/constants.js +5 -1
  48. package/build/gallery/constants.js.map +1 -1
  49. package/build/gallery/edit.js +26 -14
  50. package/build/gallery/edit.js.map +1 -1
  51. package/build/gallery/shared.js +1 -1
  52. package/build/gallery/shared.js.map +1 -1
  53. package/build/gallery/transforms.js +8 -2
  54. package/build/gallery/transforms.js.map +1 -1
  55. package/build/gallery/utils.js +4 -3
  56. package/build/gallery/utils.js.map +1 -1
  57. package/build/group/index.js +5 -1
  58. package/build/group/index.js.map +1 -1
  59. package/build/group/variations.js +18 -3
  60. package/build/group/variations.js.map +1 -1
  61. package/build/heading/index.js +5 -1
  62. package/build/heading/index.js.map +1 -1
  63. package/build/heading/transforms.js +7 -5
  64. package/build/heading/transforms.js.map +1 -1
  65. package/build/image/edit.native.js +55 -15
  66. package/build/image/edit.native.js.map +1 -1
  67. package/build/index.js +7 -3
  68. package/build/index.js.map +1 -1
  69. package/build/latest-posts/edit.js +46 -57
  70. package/build/latest-posts/edit.js.map +1 -1
  71. package/build/list/index.js +5 -1
  72. package/build/list/index.js.map +1 -1
  73. package/build/media-text/index.js +5 -1
  74. package/build/media-text/index.js.map +1 -1
  75. package/build/navigation/edit/existing-menus-options.js +62 -0
  76. package/build/navigation/edit/existing-menus-options.js.map +1 -0
  77. package/build/navigation/edit/index.js +4 -5
  78. package/build/navigation/edit/index.js.map +1 -1
  79. package/build/navigation/edit/inner-blocks.js +7 -3
  80. package/build/navigation/edit/inner-blocks.js.map +1 -1
  81. package/build/navigation/edit/navigation-menu-selector.js +25 -33
  82. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  83. package/build/navigation/edit/overlay-menu-icon.js +0 -1
  84. package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
  85. package/build/navigation/edit/placeholder/index.js +26 -71
  86. package/build/navigation/edit/placeholder/index.js.map +1 -1
  87. package/build/navigation/edit/placeholder/placeholder-preview.js +8 -12
  88. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  89. package/build/paragraph/index.js +5 -1
  90. package/build/paragraph/index.js.map +1 -1
  91. package/build/paragraph/transforms.js +5 -1
  92. package/build/paragraph/transforms.js.map +1 -1
  93. package/build/post-author/index.js +5 -1
  94. package/build/post-author/index.js.map +1 -1
  95. package/build/post-author-biography/edit.js +76 -0
  96. package/build/post-author-biography/edit.js.map +1 -0
  97. package/build/post-author-biography/index.js +68 -0
  98. package/build/post-author-biography/index.js.map +1 -0
  99. package/build/post-author-name/index.js +6 -1
  100. package/build/post-author-name/index.js.map +1 -1
  101. package/build/post-comments/index.js +5 -1
  102. package/build/post-comments/index.js.map +1 -1
  103. package/build/post-comments-count/index.js +5 -1
  104. package/build/post-comments-count/index.js.map +1 -1
  105. package/build/post-comments-form/index.js +5 -1
  106. package/build/post-comments-form/index.js.map +1 -1
  107. package/build/post-comments-link/index.js +5 -1
  108. package/build/post-comments-link/index.js.map +1 -1
  109. package/build/post-content/edit.js +9 -3
  110. package/build/post-content/edit.js.map +1 -1
  111. package/build/post-date/index.js +6 -1
  112. package/build/post-date/index.js.map +1 -1
  113. package/build/post-excerpt/index.js +6 -1
  114. package/build/post-excerpt/index.js.map +1 -1
  115. package/build/post-terms/index.js +9 -1
  116. package/build/post-terms/index.js.map +1 -1
  117. package/build/post-title/edit.js +10 -7
  118. package/build/post-title/edit.js.map +1 -1
  119. package/build/post-title/index.js +6 -1
  120. package/build/post-title/index.js.map +1 -1
  121. package/build/preformatted/index.js +5 -1
  122. package/build/preformatted/index.js.map +1 -1
  123. package/build/pullquote/index.js +5 -1
  124. package/build/pullquote/index.js.map +1 -1
  125. package/build/query/index.js +5 -1
  126. package/build/query/index.js.map +1 -1
  127. package/build/query-pagination/index.js +6 -1
  128. package/build/query-pagination/index.js.map +1 -1
  129. package/build/query-pagination-next/index.js +4 -1
  130. package/build/query-pagination-next/index.js.map +1 -1
  131. package/build/query-pagination-previous/index.js +4 -1
  132. package/build/query-pagination-previous/index.js.map +1 -1
  133. package/build/query-title/index.js +8 -1
  134. package/build/query-title/index.js.map +1 -1
  135. package/build/quote/index.js +1 -5
  136. package/build/quote/index.js.map +1 -1
  137. package/build/read-more/edit.js +55 -0
  138. package/build/read-more/edit.js.map +1 -0
  139. package/build/read-more/index.js +87 -0
  140. package/build/read-more/index.js.map +1 -0
  141. package/build/search/edit.js +1 -1
  142. package/build/search/edit.js.map +1 -1
  143. package/build/search/index.js +5 -1
  144. package/build/search/index.js.map +1 -1
  145. package/build/site-logo/edit.js +4 -8
  146. package/build/site-logo/edit.js.map +1 -1
  147. package/build/site-tagline/edit.js +7 -2
  148. package/build/site-tagline/edit.js.map +1 -1
  149. package/build/site-tagline/index.js +5 -1
  150. package/build/site-tagline/index.js.map +1 -1
  151. package/build/site-title/index.js +6 -1
  152. package/build/site-title/index.js.map +1 -1
  153. package/build/social-link/edit.js +8 -1
  154. package/build/social-link/edit.js.map +1 -1
  155. package/build/social-link/index.js +1 -1
  156. package/build/social-links/edit.js +7 -2
  157. package/build/social-links/edit.js.map +1 -1
  158. package/build/social-links/index.js +5 -0
  159. package/build/social-links/index.js.map +1 -1
  160. package/build/social-links/save.js +2 -0
  161. package/build/social-links/save.js.map +1 -1
  162. package/build/table/index.js +5 -1
  163. package/build/table/index.js.map +1 -1
  164. package/build/tag-cloud/index.js +12 -1
  165. package/build/tag-cloud/index.js.map +1 -1
  166. package/build/tag-cloud/transforms.js +27 -0
  167. package/build/tag-cloud/transforms.js.map +1 -0
  168. package/build/term-description/index.js +5 -1
  169. package/build/term-description/index.js.map +1 -1
  170. package/build/verse/index.js +5 -1
  171. package/build/verse/index.js.map +1 -1
  172. package/build-module/audio/edit.js +1 -1
  173. package/build-module/audio/edit.js.map +1 -1
  174. package/build-module/button/index.js +5 -1
  175. package/build-module/button/index.js.map +1 -1
  176. package/build-module/calendar/index.js +3 -1
  177. package/build-module/calendar/index.js.map +1 -1
  178. package/build-module/calendar/transforms.js +18 -0
  179. package/build-module/calendar/transforms.js.map +1 -0
  180. package/build-module/code/index.js +5 -1
  181. package/build-module/code/index.js.map +1 -1
  182. package/build-module/code/transforms.js +1 -1
  183. package/build-module/code/transforms.js.map +1 -1
  184. package/build-module/column/index.js +5 -1
  185. package/build-module/column/index.js.map +1 -1
  186. package/build-module/columns/index.js +5 -1
  187. package/build-module/columns/index.js.map +1 -1
  188. package/build-module/comment-author-avatar/index.js +4 -1
  189. package/build-module/comment-author-avatar/index.js.map +1 -1
  190. package/build-module/comment-author-name/index.js +6 -1
  191. package/build-module/comment-author-name/index.js.map +1 -1
  192. package/build-module/comment-content/index.js +5 -1
  193. package/build-module/comment-content/index.js.map +1 -1
  194. package/build-module/comment-date/index.js +6 -1
  195. package/build-module/comment-date/index.js.map +1 -1
  196. package/build-module/comment-edit-link/index.js +5 -1
  197. package/build-module/comment-edit-link/index.js.map +1 -1
  198. package/build-module/comment-reply-link/index.js +5 -1
  199. package/build-module/comment-reply-link/index.js.map +1 -1
  200. package/build-module/comment-template/edit.js +48 -13
  201. package/build-module/comment-template/edit.js.map +1 -1
  202. package/build-module/comments-pagination/index.js +6 -1
  203. package/build-module/comments-pagination/index.js.map +1 -1
  204. package/build-module/comments-pagination-next/index.js +4 -1
  205. package/build-module/comments-pagination-next/index.js.map +1 -1
  206. package/build-module/comments-pagination-previous/index.js +4 -1
  207. package/build-module/comments-pagination-previous/index.js.map +1 -1
  208. package/build-module/comments-query-loop/index.js +6 -1
  209. package/build-module/comments-query-loop/index.js.map +1 -1
  210. package/build-module/cover/deprecated.js +185 -17
  211. package/build-module/cover/deprecated.js.map +1 -1
  212. package/build-module/cover/edit.js +7 -4
  213. package/build-module/cover/edit.js.map +1 -1
  214. package/build-module/cover/save.js +8 -3
  215. package/build-module/cover/save.js.map +1 -1
  216. package/build-module/gallery/constants.js +2 -0
  217. package/build-module/gallery/constants.js.map +1 -1
  218. package/build-module/gallery/edit.js +25 -14
  219. package/build-module/gallery/edit.js.map +1 -1
  220. package/build-module/gallery/shared.js +1 -1
  221. package/build-module/gallery/shared.js.map +1 -1
  222. package/build-module/gallery/transforms.js +8 -2
  223. package/build-module/gallery/transforms.js.map +1 -1
  224. package/build-module/gallery/utils.js +5 -4
  225. package/build-module/gallery/utils.js.map +1 -1
  226. package/build-module/group/index.js +5 -1
  227. package/build-module/group/index.js.map +1 -1
  228. package/build-module/group/variations.js +18 -3
  229. package/build-module/group/variations.js.map +1 -1
  230. package/build-module/heading/index.js +5 -1
  231. package/build-module/heading/index.js.map +1 -1
  232. package/build-module/heading/transforms.js +7 -5
  233. package/build-module/heading/transforms.js.map +1 -1
  234. package/build-module/image/edit.native.js +54 -15
  235. package/build-module/image/edit.native.js.map +1 -1
  236. package/build-module/index.js +5 -3
  237. package/build-module/index.js.map +1 -1
  238. package/build-module/latest-posts/edit.js +47 -58
  239. package/build-module/latest-posts/edit.js.map +1 -1
  240. package/build-module/list/index.js +5 -1
  241. package/build-module/list/index.js.map +1 -1
  242. package/build-module/media-text/index.js +5 -1
  243. package/build-module/media-text/index.js.map +1 -1
  244. package/build-module/navigation/edit/existing-menus-options.js +53 -0
  245. package/build-module/navigation/edit/existing-menus-options.js.map +1 -0
  246. package/build-module/navigation/edit/index.js +4 -5
  247. package/build-module/navigation/edit/index.js.map +1 -1
  248. package/build-module/navigation/edit/inner-blocks.js +8 -4
  249. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  250. package/build-module/navigation/edit/navigation-menu-selector.js +26 -33
  251. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  252. package/build-module/navigation/edit/overlay-menu-icon.js +0 -1
  253. package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
  254. package/build-module/navigation/edit/placeholder/index.js +26 -71
  255. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  256. package/build-module/navigation/edit/placeholder/placeholder-preview.js +8 -13
  257. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
  258. package/build-module/paragraph/index.js +5 -1
  259. package/build-module/paragraph/index.js.map +1 -1
  260. package/build-module/paragraph/transforms.js +5 -1
  261. package/build-module/paragraph/transforms.js.map +1 -1
  262. package/build-module/post-author/index.js +5 -1
  263. package/build-module/post-author/index.js.map +1 -1
  264. package/build-module/post-author-biography/edit.js +64 -0
  265. package/build-module/post-author-biography/edit.js.map +1 -0
  266. package/build-module/post-author-biography/index.js +59 -0
  267. package/build-module/post-author-biography/index.js.map +1 -0
  268. package/build-module/post-author-name/index.js +6 -1
  269. package/build-module/post-author-name/index.js.map +1 -1
  270. package/build-module/post-comments/index.js +5 -1
  271. package/build-module/post-comments/index.js.map +1 -1
  272. package/build-module/post-comments-count/index.js +5 -1
  273. package/build-module/post-comments-count/index.js.map +1 -1
  274. package/build-module/post-comments-form/index.js +5 -1
  275. package/build-module/post-comments-form/index.js.map +1 -1
  276. package/build-module/post-comments-link/index.js +5 -1
  277. package/build-module/post-comments-link/index.js.map +1 -1
  278. package/build-module/post-content/edit.js +6 -4
  279. package/build-module/post-content/edit.js.map +1 -1
  280. package/build-module/post-date/index.js +6 -1
  281. package/build-module/post-date/index.js.map +1 -1
  282. package/build-module/post-excerpt/index.js +6 -1
  283. package/build-module/post-excerpt/index.js.map +1 -1
  284. package/build-module/post-terms/index.js +12 -1
  285. package/build-module/post-terms/index.js.map +1 -1
  286. package/build-module/post-title/edit.js +10 -8
  287. package/build-module/post-title/edit.js.map +1 -1
  288. package/build-module/post-title/index.js +6 -1
  289. package/build-module/post-title/index.js.map +1 -1
  290. package/build-module/preformatted/index.js +5 -1
  291. package/build-module/preformatted/index.js.map +1 -1
  292. package/build-module/pullquote/index.js +5 -1
  293. package/build-module/pullquote/index.js.map +1 -1
  294. package/build-module/query/index.js +5 -1
  295. package/build-module/query/index.js.map +1 -1
  296. package/build-module/query-pagination/index.js +6 -1
  297. package/build-module/query-pagination/index.js.map +1 -1
  298. package/build-module/query-pagination-next/index.js +4 -1
  299. package/build-module/query-pagination-next/index.js.map +1 -1
  300. package/build-module/query-pagination-previous/index.js +4 -1
  301. package/build-module/query-pagination-previous/index.js.map +1 -1
  302. package/build-module/query-title/index.js +11 -1
  303. package/build-module/query-title/index.js.map +1 -1
  304. package/build-module/quote/index.js +1 -5
  305. package/build-module/quote/index.js.map +1 -1
  306. package/build-module/read-more/edit.js +41 -0
  307. package/build-module/read-more/edit.js.map +1 -0
  308. package/build-module/read-more/index.js +74 -0
  309. package/build-module/read-more/index.js.map +1 -0
  310. package/build-module/search/edit.js +1 -1
  311. package/build-module/search/edit.js.map +1 -1
  312. package/build-module/search/index.js +5 -1
  313. package/build-module/search/index.js.map +1 -1
  314. package/build-module/site-logo/edit.js +4 -8
  315. package/build-module/site-logo/edit.js.map +1 -1
  316. package/build-module/site-tagline/edit.js +6 -2
  317. package/build-module/site-tagline/edit.js.map +1 -1
  318. package/build-module/site-tagline/index.js +5 -1
  319. package/build-module/site-tagline/index.js.map +1 -1
  320. package/build-module/site-title/index.js +6 -1
  321. package/build-module/site-title/index.js.map +1 -1
  322. package/build-module/social-link/edit.js +8 -1
  323. package/build-module/social-link/edit.js.map +1 -1
  324. package/build-module/social-link/index.js +1 -1
  325. package/build-module/social-links/edit.js +7 -2
  326. package/build-module/social-links/edit.js.map +1 -1
  327. package/build-module/social-links/index.js +5 -0
  328. package/build-module/social-links/index.js.map +1 -1
  329. package/build-module/social-links/save.js +2 -0
  330. package/build-module/social-links/save.js.map +1 -1
  331. package/build-module/table/index.js +5 -1
  332. package/build-module/table/index.js.map +1 -1
  333. package/build-module/tag-cloud/index.js +11 -1
  334. package/build-module/tag-cloud/index.js.map +1 -1
  335. package/build-module/tag-cloud/transforms.js +18 -0
  336. package/build-module/tag-cloud/transforms.js.map +1 -0
  337. package/build-module/term-description/index.js +5 -1
  338. package/build-module/term-description/index.js.map +1 -1
  339. package/build-module/verse/index.js +5 -1
  340. package/build-module/verse/index.js.map +1 -1
  341. package/build-style/common-rtl.css +8 -0
  342. package/build-style/common.css +8 -0
  343. package/build-style/cover/style-rtl.css +115 -11
  344. package/build-style/cover/style.css +115 -11
  345. package/build-style/editor-rtl.css +77 -67
  346. package/build-style/editor.css +77 -67
  347. package/build-style/gallery/style-rtl.css +2 -1
  348. package/build-style/gallery/style.css +2 -1
  349. package/build-style/image/style-rtl.css +0 -2
  350. package/build-style/image/style.css +0 -2
  351. package/build-style/navigation/editor-rtl.css +77 -67
  352. package/build-style/navigation/editor.css +77 -67
  353. package/build-style/quote/style-rtl.css +5 -5
  354. package/build-style/quote/style.css +5 -5
  355. package/build-style/read-more/style-rtl.css +87 -0
  356. package/build-style/read-more/style.css +87 -0
  357. package/build-style/separator/style-rtl.css +0 -3
  358. package/build-style/separator/style.css +0 -3
  359. package/build-style/social-links/style-rtl.css +7 -1
  360. package/build-style/social-links/style.css +7 -1
  361. package/build-style/style-rtl.css +149 -23
  362. package/build-style/style.css +149 -23
  363. package/package.json +28 -30
  364. package/src/audio/edit.js +1 -1
  365. package/src/block/test/edit.native.js +7 -3
  366. package/src/button/block.json +5 -1
  367. package/src/buttons/test/edit.native.js +2 -2
  368. package/src/calendar/index.js +2 -0
  369. package/src/calendar/transforms.js +23 -0
  370. package/src/code/block.json +5 -1
  371. package/src/code/transforms.js +1 -1
  372. package/src/column/block.json +5 -1
  373. package/src/columns/block.json +5 -1
  374. package/src/comment-author-avatar/block.json +4 -1
  375. package/src/comment-author-name/block.json +6 -1
  376. package/src/comment-content/block.json +5 -1
  377. package/src/comment-date/block.json +6 -1
  378. package/src/comment-date/index.php +1 -1
  379. package/src/comment-edit-link/block.json +5 -1
  380. package/src/comment-reply-link/block.json +5 -1
  381. package/src/comment-template/edit.js +59 -14
  382. package/src/comments-pagination/block.json +6 -1
  383. package/src/comments-pagination-next/block.json +4 -1
  384. package/src/comments-pagination-previous/block.json +4 -1
  385. package/src/comments-query-loop/block.json +6 -1
  386. package/src/common.scss +9 -0
  387. package/src/cover/deprecated.js +211 -1
  388. package/src/cover/edit.js +8 -4
  389. package/src/cover/save.js +10 -4
  390. package/src/cover/style.scss +20 -2
  391. package/src/cover/test/__snapshots__/edit.native.js.snap +4 -4
  392. package/src/cover/test/edit.native.js +8 -4
  393. package/src/embed/test/index.native.js +6 -6
  394. package/src/gallery/constants.js +2 -0
  395. package/src/gallery/edit.js +31 -13
  396. package/src/gallery/shared.js +1 -1
  397. package/src/gallery/style.scss +4 -1
  398. package/src/gallery/test/__snapshots__/index.native.js.snap +7 -0
  399. package/src/gallery/test/index.native.js +128 -0
  400. package/src/gallery/transforms.js +7 -1
  401. package/src/gallery/utils.js +7 -3
  402. package/src/group/block.json +5 -1
  403. package/src/group/variations.js +11 -1
  404. package/src/heading/block.json +5 -1
  405. package/src/heading/transforms.js +2 -5
  406. package/src/image/edit.native.js +65 -15
  407. package/src/image/index.php +1 -1
  408. package/src/image/style.scss +0 -2
  409. package/src/image/test/edit.native.js +157 -8
  410. package/src/index.js +35 -31
  411. package/src/latest-comments/index.php +4 -4
  412. package/src/latest-posts/edit.js +51 -63
  413. package/src/latest-posts/index.php +3 -3
  414. package/src/list/block.json +5 -1
  415. package/src/media-text/block.json +5 -1
  416. package/src/missing/test/edit-integration.native.js +2 -2
  417. package/src/navigation/edit/existing-menus-options.js +70 -0
  418. package/src/navigation/edit/index.js +4 -3
  419. package/src/navigation/edit/inner-blocks.js +16 -3
  420. package/src/navigation/edit/navigation-menu-selector.js +38 -62
  421. package/src/navigation/edit/overlay-menu-icon.js +0 -1
  422. package/src/navigation/edit/placeholder/index.js +39 -108
  423. package/src/navigation/edit/placeholder/placeholder-preview.js +8 -10
  424. package/src/navigation/editor.scss +119 -100
  425. package/src/navigation/index.php +3 -3
  426. package/src/navigation-link/index.php +1 -1
  427. package/src/navigation-submenu/index.php +1 -1
  428. package/src/page-list/index.php +5 -5
  429. package/src/paragraph/block.json +5 -1
  430. package/src/post-author/block.json +5 -1
  431. package/src/post-author-biography/block.json +41 -0
  432. package/src/post-author-biography/edit.js +63 -0
  433. package/src/post-author-biography/index.js +18 -0
  434. package/src/post-author-biography/index.php +48 -0
  435. package/src/post-author-name/block.json +6 -1
  436. package/src/post-comments/block.json +5 -1
  437. package/src/post-comments-count/block.json +5 -1
  438. package/src/post-comments-form/block.json +5 -1
  439. package/src/post-comments-link/block.json +5 -1
  440. package/src/post-comments-link/index.php +2 -2
  441. package/src/post-content/edit.js +4 -4
  442. package/src/post-date/block.json +6 -1
  443. package/src/post-date/index.php +1 -1
  444. package/src/post-excerpt/block.json +6 -1
  445. package/src/post-excerpt/index.php +1 -1
  446. package/src/post-terms/block.json +6 -1
  447. package/src/post-terms/index.js +6 -0
  448. package/src/post-title/block.json +6 -1
  449. package/src/post-title/edit.js +8 -7
  450. package/src/post-title/index.php +1 -1
  451. package/src/preformatted/block.json +5 -1
  452. package/src/pullquote/block.json +5 -1
  453. package/src/query/block.json +5 -1
  454. package/src/query-pagination/block.json +6 -1
  455. package/src/query-pagination-next/block.json +4 -1
  456. package/src/query-pagination-next/index.php +2 -2
  457. package/src/query-pagination-previous/block.json +4 -1
  458. package/src/query-pagination-previous/index.php +2 -2
  459. package/src/query-title/block.json +5 -1
  460. package/src/query-title/index.js +6 -0
  461. package/src/quote/block.json +1 -2
  462. package/src/quote/index.js +0 -1
  463. package/src/quote/style.scss +3 -3
  464. package/src/quote/theme.scss +1 -1
  465. package/src/read-more/block.json +56 -0
  466. package/src/read-more/edit.js +50 -0
  467. package/src/read-more/index.js +18 -0
  468. package/src/read-more/index.php +45 -0
  469. package/src/read-more/style.scss +12 -0
  470. package/src/search/block.json +5 -1
  471. package/src/search/edit.js +2 -1
  472. package/src/search/index.php +5 -3
  473. package/src/separator/style.scss +0 -5
  474. package/src/site-logo/edit.js +4 -8
  475. package/src/site-tagline/block.json +5 -1
  476. package/src/site-tagline/edit.js +10 -1
  477. package/src/site-tagline/index.php +1 -1
  478. package/src/site-title/block.json +6 -1
  479. package/src/site-title/index.php +2 -2
  480. package/src/social-link/block.json +1 -0
  481. package/src/social-link/edit.js +14 -2
  482. package/src/social-link/index.php +55 -52
  483. package/src/social-links/block.json +5 -0
  484. package/src/social-links/edit.js +8 -1
  485. package/src/social-links/save.js +7 -1
  486. package/src/social-links/style.scss +8 -1
  487. package/src/style.scss +1 -0
  488. package/src/table/block.json +5 -1
  489. package/src/tag-cloud/block.json +4 -0
  490. package/src/tag-cloud/index.js +2 -0
  491. package/src/tag-cloud/index.php +0 -9
  492. package/src/tag-cloud/transforms.js +23 -0
  493. package/src/term-description/block.json +5 -1
  494. package/src/verse/block.json +5 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBC,EAAAA,UAFuB;AAGvBC,EAAAA;AAHuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","queryTitle","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA;AACA;AACA;;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBJ,EAAAA,IAFuB;AAGvBC,EAAAA,UAHuB;AAIvBC,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { queryTitle as icon } from '@wordpress/icons';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n"]}
@@ -61,9 +61,6 @@ const metadata = {
61
61
  }, {
62
62
  name: "plain",
63
63
  label: "Plain"
64
- }, {
65
- name: "large",
66
- label: "Large"
67
64
  }],
68
65
  editorStyle: "wp-block-quote-editor",
69
66
  style: "wp-block-quote"
@@ -79,8 +76,7 @@ export const settings = {
79
76
  example: {
80
77
  attributes: {
81
78
  value: '<p>' + __('In quoting others, we cite ourselves.') + '</p>',
82
- citation: 'Julio Cortázar',
83
- className: 'is-style-large'
79
+ citation: 'Julio Cortázar'
84
80
  }
85
81
  },
86
82
  transforms,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["__","quote","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","value","citation","className","merge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EACJ,QAAQZ,EAAE,CAAE,uCAAF,CAAV,GAAwD,MAF9C;AAGXa,MAAAA,QAAQ,EAAE,gBAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA;AADJ,GAFc;AAUvBR,EAAAA,UAVuB;AAWvBF,EAAAA,IAXuB;AAYvBC,EAAAA,IAZuB;;AAavBU,EAAAA,KAAK,CAAEJ,UAAF,QAAoC;AAAA,QAAtB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAsB;;AACxC;AACA;AACA,QAAK,CAAEA,QAAP,EAAkB;AACjBA,MAAAA,QAAQ,GAAGF,UAAU,CAACE,QAAtB;AACA;;AAED,QAAK,CAAED,KAAF,IAAWA,KAAK,KAAK,SAA1B,EAAsC;AACrC,aAAO,EACN,GAAGD,UADG;AAENE,QAAAA;AAFM,OAAP;AAIA;;AAED,WAAO,EACN,GAAGF,UADG;AAENC,MAAAA,KAAK,EAAED,UAAU,CAACC,KAAX,GAAmBA,KAFpB;AAGNC,MAAAA;AAHM,KAAP;AAKA,GAhCsB;;AAiCvBV,EAAAA;AAjCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalue:\n\t\t\t\t'<p>' + __( 'In quoting others, we cite ourselves.' ) + '</p>',\n\t\t\tcitation: 'Julio Cortázar',\n\t\t\tclassName: 'is-style-large',\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tmerge( attributes, { value, citation } ) {\n\t\t// Quote citations cannot be merged. Pick the second one unless it's\n\t\t// empty.\n\t\tif ( ! citation ) {\n\t\t\tcitation = attributes.citation;\n\t\t}\n\n\t\tif ( ! value || value === '<p></p>' ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tcitation,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalue: attributes.value + value,\n\t\t\tcitation,\n\t\t};\n\t},\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["__","quote","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","value","citation","merge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EACJ,QAAQZ,EAAE,CAAE,uCAAF,CAAV,GAAwD,MAF9C;AAGXa,MAAAA,QAAQ,EAAE;AAHC;AADJ,GAFc;AASvBP,EAAAA,UATuB;AAUvBF,EAAAA,IAVuB;AAWvBC,EAAAA,IAXuB;;AAYvBS,EAAAA,KAAK,CAAEH,UAAF,QAAoC;AAAA,QAAtB;AAAEC,MAAAA,KAAF;AAASC,MAAAA;AAAT,KAAsB;;AACxC;AACA;AACA,QAAK,CAAEA,QAAP,EAAkB;AACjBA,MAAAA,QAAQ,GAAGF,UAAU,CAACE,QAAtB;AACA;;AAED,QAAK,CAAED,KAAF,IAAWA,KAAK,KAAK,SAA1B,EAAsC;AACrC,aAAO,EACN,GAAGD,UADG;AAENE,QAAAA;AAFM,OAAP;AAIA;;AAED,WAAO,EACN,GAAGF,UADG;AAENC,MAAAA,KAAK,EAAED,UAAU,CAACC,KAAX,GAAmBA,KAFpB;AAGNC,MAAAA;AAHM,KAAP;AAKA,GA/BsB;;AAgCvBV,EAAAA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalue:\n\t\t\t\t'<p>' + __( 'In quoting others, we cite ourselves.' ) + '</p>',\n\t\t\tcitation: 'Julio Cortázar',\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tmerge( attributes, { value, citation } ) {\n\t\t// Quote citations cannot be merged. Pick the second one unless it's\n\t\t// empty.\n\t\tif ( ! citation ) {\n\t\t\tcitation = attributes.citation;\n\t\t}\n\n\t\tif ( ! value || value === '<p></p>' ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tcitation,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalue: attributes.value + value,\n\t\t\tcitation,\n\t\t};\n\t},\n\tdeprecated,\n};\n"]}
@@ -0,0 +1,41 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ import { createElement, Fragment } from "@wordpress/element";
3
+
4
+ /**
5
+ * WordPress dependencies
6
+ */
7
+ import { InspectorControls, RichText, useBlockProps } from '@wordpress/block-editor';
8
+ import { ToggleControl, PanelBody } from '@wordpress/components';
9
+ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
10
+ import { __ } from '@wordpress/i18n';
11
+ export default function ReadMore(_ref) {
12
+ let {
13
+ attributes: {
14
+ content,
15
+ linkTarget
16
+ },
17
+ setAttributes,
18
+ insertBlocksAfter
19
+ } = _ref;
20
+ const blockProps = useBlockProps();
21
+ return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
22
+ title: __('Link settings')
23
+ }, createElement(ToggleControl, {
24
+ label: __('Open in new tab'),
25
+ onChange: value => setAttributes({
26
+ linkTarget: value ? '_blank' : '_self'
27
+ }),
28
+ checked: linkTarget === '_blank'
29
+ }))), createElement(RichText, _extends({
30
+ tagName: "a",
31
+ "aria-label": __('"Read more" link text'),
32
+ placeholder: __('Read more'),
33
+ value: content,
34
+ onChange: newValue => setAttributes({
35
+ content: newValue
36
+ }),
37
+ __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName())),
38
+ withoutInteractiveFormatting: true
39
+ }, blockProps)));
40
+ }
41
+ //# sourceMappingURL=edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/read-more/edit.js"],"names":["InspectorControls","RichText","useBlockProps","ToggleControl","PanelBody","createBlock","getDefaultBlockName","__","ReadMore","attributes","content","linkTarget","setAttributes","insertBlocksAfter","blockProps","value","newValue"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,QAFD,EAGCC,aAHD,QAIO,yBAJP;AAKA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,uBAAzC;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,QAAT,OAIX;AAAA,MAJ8B;AACjCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KADqB;AAEjCC,IAAAA,aAFiC;AAGjCC,IAAAA;AAHiC,GAI9B;AACH,QAAMC,UAAU,GAAGZ,aAAa,EAAhC;AACA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGK,EAAE,CAAE,eAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,QAAQ,EAAKQ,KAAF,IACVH,aAAa,CAAE;AACdD,MAAAA,UAAU,EAAEI,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAHf;AAOC,IAAA,OAAO,EAAGJ,UAAU,KAAK;AAP1B,IADD,CADD,CADD,EAcC,cAAC,QAAD;AACC,IAAA,OAAO,EAAC,GADT;AAEC,kBAAaJ,EAAE,CAAE,uBAAF,CAFhB;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAHjB;AAIC,IAAA,KAAK,EAAGG,OAJT;AAKC,IAAA,QAAQ,EAAKM,QAAF,IACVJ,aAAa,CAAE;AAAEF,MAAAA,OAAO,EAAEM;AAAX,KAAF,CANf;AAQC,IAAA,sBAAsB,EAAG,MACxBH,iBAAiB,CAAER,WAAW,CAAEC,mBAAmB,EAArB,CAAb,CATnB;AAWC,IAAA,4BAA4B,EAAG;AAXhC,KAYMQ,UAZN,EAdD,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ReadMore( {\n\tattributes: { content, linkTarget },\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\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={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\ttagName=\"a\"\n\t\t\t\taria-label={ __( '\"Read more\" link text' ) }\n\t\t\t\tplaceholder={ __( 'Read more' ) }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\tsetAttributes( { content: newValue } )\n\t\t\t\t}\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t\twithoutInteractiveFormatting={ true }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -0,0 +1,74 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { link as icon } from '@wordpress/icons';
5
+ /**
6
+ * Internal dependencies
7
+ */
8
+
9
+ const metadata = {
10
+ $schema: "https://schemas.wp.org/trunk/block.json",
11
+ apiVersion: 2,
12
+ name: "core/read-more",
13
+ title: "Read More",
14
+ category: "theme",
15
+ description: "Displays the link of a post, page, or any other content-type.",
16
+ textdomain: "default",
17
+ attributes: {
18
+ content: {
19
+ type: "string"
20
+ },
21
+ linkTarget: {
22
+ type: "string",
23
+ "default": "_self"
24
+ }
25
+ },
26
+ usesContext: ["postId"],
27
+ supports: {
28
+ html: false,
29
+ color: {
30
+ gradients: true,
31
+ text: false
32
+ },
33
+ typography: {
34
+ fontSize: true,
35
+ lineHeight: true,
36
+ __experimentalFontFamily: true,
37
+ __experimentalFontWeight: true,
38
+ __experimentalFontStyle: true,
39
+ __experimentalTextTransform: true,
40
+ __experimentalLetterSpacing: true,
41
+ __experimentalTextDecoration: true,
42
+ __experimentalDefaultControls: {
43
+ fontSize: true,
44
+ textDecoration: true
45
+ }
46
+ },
47
+ spacing: {
48
+ margin: ["top", "bottom"],
49
+ padding: true,
50
+ __experimentalDefaultControls: {
51
+ padding: true
52
+ }
53
+ },
54
+ __experimentalBorder: {
55
+ color: true,
56
+ radius: true,
57
+ width: true,
58
+ __experimentalDefaultControls: {
59
+ width: true
60
+ }
61
+ }
62
+ },
63
+ style: "wp-block-read-more"
64
+ };
65
+ import edit from './edit';
66
+ const {
67
+ name
68
+ } = metadata;
69
+ export { metadata, name };
70
+ export const settings = {
71
+ icon,
72
+ edit
73
+ };
74
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/read-more/index.js"],"names":["link","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;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 { link 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"]}
@@ -277,7 +277,7 @@ export default function SearchEdit(_ref) {
277
277
  borderColor,
278
278
  borderWidth: isButtonPositionInside ? borderWidth : undefined
279
279
  };
280
- const isNonZeroBorderRadius = parseInt(borderRadius, 10) !== 0;
280
+ const isNonZeroBorderRadius = borderRadius !== undefined && parseInt(borderRadius, 10) !== 0;
281
281
 
282
282
  if (isButtonPositionInside && isNonZeroBorderRadius) {
283
283
  // We have button inside wrapper and a border radius value to apply.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUnitControl","UnitControl","__experimentalUseColorProps","useColorProps","store","blockEditorStore","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","useInstanceId","Icon","search","__","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderColor","color","borderWidth","borderProps","colorProps","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseColorProps as useColorProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tuseEffect( () => {\n\t\tif ( ! insertedInNavigationBlock ) return;\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}, [ insertedInNavigationBlock ] );\n\tconst borderRadius = style?.border?.radius;\n\tconst borderColor = style?.border?.color;\n\tconst borderWidth = style?.border?.width;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = {\n\t\t\tborderColor,\n\t\t\tborderWidth: isButtonPositionInside ? borderWidth : undefined,\n\t\t};\n\n\t\tconst isNonZeroBorderRadius = parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst {\n\t\t\t\t\ttopLeft,\n\t\t\t\t\ttopRight,\n\t\t\t\t\tbottomLeft,\n\t\t\t\t\tbottomRight,\n\t\t\t\t} = borderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t\t...styles,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUnitControl","UnitControl","__experimentalUseColorProps","useColorProps","store","blockEditorStore","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","useInstanceId","Icon","search","__","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderColor","color","borderWidth","borderProps","colorProps","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseColorProps as useColorProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tuseEffect( () => {\n\t\tif ( ! insertedInNavigationBlock ) return;\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}, [ insertedInNavigationBlock ] );\n\tconst borderRadius = style?.border?.radius;\n\tconst borderColor = style?.border?.color;\n\tconst borderWidth = style?.border?.width;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = {\n\t\t\tborderColor,\n\t\t\tborderWidth: isButtonPositionInside ? borderWidth : undefined,\n\t\t};\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst {\n\t\t\t\t\ttopLeft,\n\t\t\t\t\ttopRight,\n\t\t\t\t\tbottomLeft,\n\t\t\t\t\tbottomRight,\n\t\t\t\t} = borderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t\t...styles,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
@@ -52,7 +52,11 @@ const metadata = {
52
52
  align: ["left", "center", "right"],
53
53
  color: {
54
54
  gradients: true,
55
- __experimentalSkipSerialization: true
55
+ __experimentalSkipSerialization: true,
56
+ __experimentalDefaultControls: {
57
+ background: true,
58
+ text: true
59
+ }
56
60
  },
57
61
  __experimentalBorder: {
58
62
  color: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/index.js"],"names":["search","icon","edit","variations","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBM,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA,UAHuB;AAIvBD,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tvariations,\n\tedit,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/index.js"],"names":["search","icon","edit","variations","name","metadata","settings","example"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBL,EAAAA,IADuB;AAEvBM,EAAAA,OAAO,EAAE,EAFc;AAGvBJ,EAAAA,UAHuB;AAIvBD,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tvariations,\n\tedit,\n};\n"]}
@@ -344,11 +344,7 @@ export default function LogoEdit(_ref2) {
344
344
  siteLogoId: _siteLogoId,
345
345
  canUserEdit: _canUserEdit,
346
346
  url: siteData === null || siteData === void 0 ? void 0 : siteData.url,
347
- mediaItemData: mediaItem && {
348
- id: mediaItem.id,
349
- url: mediaItem.source_url,
350
- alt: mediaItem.alt_text
351
- },
347
+ mediaItemData: mediaItem,
352
348
  isRequestingMediaItem: _isRequestingMediaItem,
353
349
  siteIconId: _siteIconId
354
350
  };
@@ -378,10 +374,10 @@ export default function LogoEdit(_ref2) {
378
374
  let alt = null;
379
375
 
380
376
  if (mediaItemData) {
381
- alt = mediaItemData.alt;
377
+ alt = mediaItemData.alt_text;
382
378
 
383
- if (logoUrl !== mediaItemData.url) {
384
- setLogoUrl(mediaItemData.url);
379
+ if (logoUrl !== mediaItemData.source_url) {
380
+ setLogoUrl(mediaItemData.source_url);
385
381
  }
386
382
  }
387
383
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["classnames","includes","pick","isBlobURL","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","upload","SVG","Path","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","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","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","LogoEdit","className","setLogoUrl","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","source_url","alt_text","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"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 {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\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, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\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, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\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\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\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\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( 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\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\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\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\t{ canUserEdit && (\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={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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, shouldSyncIcon } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\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 _siteIconId = siteSettings?.site_icon;\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\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\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: 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\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\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\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\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\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\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\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\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 className=\"site-logo_placeholder\">\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\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\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","createInterpolateElement","useEffect","useState","useRef","__","isRTL","MenuItem","PanelBody","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useSelect","useDispatch","coreStore","crop","upload","SVG","Path","noticesStore","useClientWidth","MIN_SIZE","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","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","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","LogoEdit","className","setLogoUrl","ref","siteLogoId","url","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEntityRecord","siteSettings","siteData","_siteLogo","site_logo","_readOnlyLogo","_canUserEdit","_siteLogoId","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","editEntityRecord","newValue","shouldForceSync","alt_text","source_url","onInitialSelectLogo","media","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open"],"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 {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\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, upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\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, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\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\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\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\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( 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\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\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={\n\t\t\t\t\t\tsiteUrl +\n\t\t\t\t\t\t'/wp-admin/customize.php?autofocus[section]=title_tagline'\n\t\t\t\t\t}\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\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\t{ canUserEdit && (\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={ __( 'Use as site icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\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, shouldSyncIcon } = attributes;\n\tconst [ logoUrl, setLogoUrl ] = useState();\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\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 _siteIconId = siteSettings?.site_icon;\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\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\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue,\n\t\t} );\n\n\tlet alt = null;\n\tif ( mediaItemData ) {\n\t\talt = mediaItemData.alt_text;\n\t\tif ( logoUrl !== mediaItemData.source_url ) {\n\t\t\tsetLogoUrl( mediaItemData.source_url );\n\t\t}\n\t}\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\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\tsetLogoUrl( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetLogoUrl( undefined );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\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\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t\t</MediaReplaceFlow>\n\t\t</BlockControls>\n\t);\n\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\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t<SVG\n\t\t\t\t\t\tclassName=\"components-placeholder__illustration\"\n\t\t\t\t\t\tfill=\"none\"\n\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\tviewBox=\"0 0 60 60\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<Path\n\t\t\t\t\t\t\tvectorEffect=\"non-scaling-stroke\"\n\t\t\t\t\t\t\td=\"m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\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 className=\"site-logo_placeholder\">\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\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"]}
@@ -13,10 +13,12 @@ import { useSelect } from '@wordpress/data';
13
13
  import { useEntityProp, store as coreStore } from '@wordpress/core-data';
14
14
  import { AlignmentControl, useBlockProps, BlockControls, RichText } from '@wordpress/block-editor';
15
15
  import { __ } from '@wordpress/i18n';
16
+ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
16
17
  export default function SiteTaglineEdit(_ref) {
17
18
  let {
18
19
  attributes,
19
- setAttributes
20
+ setAttributes,
21
+ insertBlocksAfter
20
22
  } = _ref;
21
23
  const {
22
24
  textAlign
@@ -48,7 +50,9 @@ export default function SiteTaglineEdit(_ref) {
48
50
  "aria-label": __('Site tagline text'),
49
51
  placeholder: __('Write site tagline…'),
50
52
  tagName: "p",
51
- value: siteTagline
53
+ value: siteTagline,
54
+ disableLineBreaks: true,
55
+ __unstableOnSplitAtEnd: () => insertBlocksAfter(createBlock(getDefaultBlockName()))
52
56
  }, blockProps)) : createElement("p", blockProps, readOnlySiteTagLine || __('Site Tagline placeholder'));
53
57
  return createElement(Fragment, null, createElement(BlockControls, {
54
58
  group: "block"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-tagline/edit.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","AlignmentControl","useBlockProps","BlockControls","RichText","__","SiteTaglineEdit","attributes","setAttributes","textAlign","siteTagline","setSiteTagline","canUserEdit","readOnlySiteTagLine","select","canUser","getEntityRecord","siteData","description","blockProps","className","siteTaglineContent","newAlign"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,aAAT,EAAwBC,KAAK,IAAIC,SAAjC,QAAkD,sBAAlD;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,aAHD,EAICC,QAJD,QAKO,yBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,eAAT,OAA0D;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACxE,QAAM;AAAEC,IAAAA;AAAF,MAAgBF,UAAtB;AACA,QAAM,CAAEG,WAAF,EAAeC,cAAf,IAAkCb,aAAa,CACpD,MADoD,EAEpD,MAFoD,EAGpD,aAHoD,CAArD;AAKA,QAAM;AAAEc,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAuChB,SAAS,CAAIiB,MAAF,IAAc;AACrE,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAA+BF,MAAM,CAAEd,SAAF,CAA3C;AACA,UAAMiB,QAAQ,GAAGD,eAAe,CAAE,MAAF,EAAU,gBAAV,CAAhC;AACA,WAAO;AACNJ,MAAAA,WAAW,EAAEG,OAAO,CAAE,QAAF,EAAY,UAAZ,CADd;AAENF,MAAAA,mBAAmB,EAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAEC;AAFzB,KAAP;AAIA,GAPqD,EAOnD,EAPmD,CAAtD;AAQA,QAAMC,UAAU,GAAGjB,aAAa,CAAE;AACjCkB,IAAAA,SAAS,EAAExB,UAAU,CAAE;AACtB,OAAG,kBAAkBa,SAAW,EAAhC,GAAqCA,SADf;AAEtB,4CACC,CAAEG,WAAF,IAAiB,CAAEC;AAHE,KAAF;AADY,GAAF,CAAhC;AAOA,QAAMQ,kBAAkB,GAAGT,WAAW,GACrC,cAAC,QAAD;AACC,IAAA,cAAc,EAAG,EADlB;AAEC,IAAA,QAAQ,EAAGD,cAFZ;AAGC,kBAAaN,EAAE,CAAE,mBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,qBAAF,CAJjB;AAKC,IAAA,OAAO,EAAC,GALT;AAMC,IAAA,KAAK,EAAGK;AANT,KAOMS,UAPN,EADqC,GAWrC,mBAAQA,UAAR,EACGN,mBAAmB,IAAIR,EAAE,CAAE,0BAAF,CAD5B,CAXD;AAeA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAKiB,QAAF,IACVd,aAAa,CAAE;AAAEC,MAAAA,SAAS,EAAEa;AAAb,KAAF,CAFf;AAIC,IAAA,KAAK,EAAGb;AAJT,IADD,CADD,EASGY,kBATH,CADD;AAaA","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 {\n\tAlignmentControl,\n\tuseBlockProps,\n\tBlockControls,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\nexport default function SiteTaglineEdit( { attributes, setAttributes } ) {\n\tconst { textAlign } = attributes;\n\tconst [ siteTagline, setSiteTagline ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'description'\n\t);\n\tconst { canUserEdit, readOnlySiteTagLine } = 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\treadOnlySiteTagLine: siteData?.description,\n\t\t};\n\t}, [] );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-tagline__placeholder':\n\t\t\t\t! canUserEdit && ! readOnlySiteTagLine,\n\t\t} ),\n\t} );\n\tconst siteTaglineContent = canUserEdit ? (\n\t\t<RichText\n\t\t\tallowedFormats={ [] }\n\t\t\tonChange={ setSiteTagline }\n\t\t\taria-label={ __( 'Site tagline text' ) }\n\t\t\tplaceholder={ __( 'Write site tagline…' ) }\n\t\t\ttagName=\"p\"\n\t\t\tvalue={ siteTagline }\n\t\t\t{ ...blockProps }\n\t\t/>\n\t) : (\n\t\t<p { ...blockProps }>\n\t\t\t{ readOnlySiteTagLine || __( 'Site Tagline placeholder' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ siteTaglineContent }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-tagline/edit.js"],"names":["classnames","useSelect","useEntityProp","store","coreStore","AlignmentControl","useBlockProps","BlockControls","RichText","__","createBlock","getDefaultBlockName","SiteTaglineEdit","attributes","setAttributes","insertBlocksAfter","textAlign","siteTagline","setSiteTagline","canUserEdit","readOnlySiteTagLine","select","canUser","getEntityRecord","siteData","description","blockProps","className","siteTaglineContent","newAlign"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,aAAT,EAAwBC,KAAK,IAAIC,SAAjC,QAAkD,sBAAlD;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,aAHD,EAICC,QAJD,QAKO,yBALP;AAMA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AAEA,eAAe,SAASC,eAAT,OAIX;AAAA,MAJqC;AACxCC,IAAAA,UADwC;AAExCC,IAAAA,aAFwC;AAGxCC,IAAAA;AAHwC,GAIrC;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAgBH,UAAtB;AACA,QAAM,CAAEI,WAAF,EAAeC,cAAf,IAAkChB,aAAa,CACpD,MADoD,EAEpD,MAFoD,EAGpD,aAHoD,CAArD;AAKA,QAAM;AAAEiB,IAAAA,WAAF;AAAeC,IAAAA;AAAf,MAAuCnB,SAAS,CAAIoB,MAAF,IAAc;AACrE,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAA+BF,MAAM,CAAEjB,SAAF,CAA3C;AACA,UAAMoB,QAAQ,GAAGD,eAAe,CAAE,MAAF,EAAU,gBAAV,CAAhC;AACA,WAAO;AACNJ,MAAAA,WAAW,EAAEG,OAAO,CAAE,QAAF,EAAY,UAAZ,CADd;AAENF,MAAAA,mBAAmB,EAAEI,QAAF,aAAEA,QAAF,uBAAEA,QAAQ,CAAEC;AAFzB,KAAP;AAIA,GAPqD,EAOnD,EAPmD,CAAtD;AAQA,QAAMC,UAAU,GAAGpB,aAAa,CAAE;AACjCqB,IAAAA,SAAS,EAAE3B,UAAU,CAAE;AACtB,OAAG,kBAAkBgB,SAAW,EAAhC,GAAqCA,SADf;AAEtB,4CACC,CAAEG,WAAF,IAAiB,CAAEC;AAHE,KAAF;AADY,GAAF,CAAhC;AAOA,QAAMQ,kBAAkB,GAAGT,WAAW,GACrC,cAAC,QAAD;AACC,IAAA,cAAc,EAAG,EADlB;AAEC,IAAA,QAAQ,EAAGD,cAFZ;AAGC,kBAAaT,EAAE,CAAE,mBAAF,CAHhB;AAIC,IAAA,WAAW,EAAGA,EAAE,CAAE,qBAAF,CAJjB;AAKC,IAAA,OAAO,EAAC,GALT;AAMC,IAAA,KAAK,EAAGQ,WANT;AAOC,IAAA,iBAAiB,MAPlB;AAQC,IAAA,sBAAsB,EAAG,MACxBF,iBAAiB,CAAEL,WAAW,CAAEC,mBAAmB,EAArB,CAAb;AATnB,KAWMe,UAXN,EADqC,GAerC,mBAAQA,UAAR,EACGN,mBAAmB,IAAIX,EAAE,CAAE,0BAAF,CAD5B,CAfD;AAmBA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,QAAQ,EAAKoB,QAAF,IACVf,aAAa,CAAE;AAAEE,MAAAA,SAAS,EAAEa;AAAb,KAAF,CAFf;AAIC,IAAA,KAAK,EAAGb;AAJT,IADD,CADD,EASGY,kBATH,CADD;AAaA","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 {\n\tAlignmentControl,\n\tuseBlockProps,\n\tBlockControls,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\nexport default function SiteTaglineEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst [ siteTagline, setSiteTagline ] = useEntityProp(\n\t\t'root',\n\t\t'site',\n\t\t'description'\n\t);\n\tconst { canUserEdit, readOnlySiteTagLine } = 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\treadOnlySiteTagLine: siteData?.description,\n\t\t};\n\t}, [] );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-tagline__placeholder':\n\t\t\t\t! canUserEdit && ! readOnlySiteTagLine,\n\t\t} ),\n\t} );\n\tconst siteTaglineContent = canUserEdit ? (\n\t\t<RichText\n\t\t\tallowedFormats={ [] }\n\t\t\tonChange={ setSiteTagline }\n\t\t\taria-label={ __( 'Site tagline text' ) }\n\t\t\tplaceholder={ __( 'Write site tagline…' ) }\n\t\t\ttagName=\"p\"\n\t\t\tvalue={ siteTagline }\n\t\t\tdisableLineBreaks\n\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t}\n\t\t\t{ ...blockProps }\n\t\t/>\n\t) : (\n\t\t<p { ...blockProps }>\n\t\t\t{ readOnlySiteTagLine || __( 'Site Tagline placeholder' ) }\n\t\t</p>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ siteTaglineContent }\n\t\t</>\n\t);\n}\n"]}
@@ -19,7 +19,11 @@ const metadata = {
19
19
  align: ["wide", "full"],
20
20
  html: false,
21
21
  color: {
22
- gradients: true
22
+ gradients: true,
23
+ __experimentalDefaultControls: {
24
+ background: true,
25
+ text: true
26
+ }
23
27
  },
24
28
  spacing: {
25
29
  margin: true,