@wordpress/block-library 7.5.0 → 7.8.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 (946) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/index.js +6 -1
  7. package/build/audio/index.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js +10 -9
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js.map +1 -1
  13. package/build/button/deprecated.js +175 -35
  14. package/build/button/deprecated.js.map +1 -1
  15. package/build/button/edit.js +1 -1
  16. package/build/button/edit.js.map +1 -1
  17. package/build/button/edit.native.js.map +1 -1
  18. package/build/button/index.js +25 -1
  19. package/build/button/index.js.map +1 -1
  20. package/build/button/save.js +1 -1
  21. package/build/button/save.js.map +1 -1
  22. package/build/buttons/deprecated.js.map +1 -1
  23. package/build/buttons/edit.js.map +1 -1
  24. package/build/buttons/edit.native.js.map +1 -1
  25. package/build/categories/edit.js +1 -1
  26. package/build/categories/edit.js.map +1 -1
  27. package/build/categories/index.js +1 -1
  28. package/build/column/deprecated.js.map +1 -1
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js.map +1 -1
  31. package/build/columns/deprecated.js.map +1 -1
  32. package/build/columns/edit.js +1 -1
  33. package/build/columns/edit.js.map +1 -1
  34. package/build/columns/edit.native.js +1 -1
  35. package/build/columns/edit.native.js.map +1 -1
  36. package/build/columns/index.js +3 -1
  37. package/build/columns/index.js.map +1 -1
  38. package/build/columns/utils.js +1 -1
  39. package/build/columns/utils.js.map +1 -1
  40. package/build/comment-author-avatar/index.js +1 -0
  41. package/build/comment-author-avatar/index.js.map +1 -1
  42. package/build/comment-author-name/edit.js +4 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-date/edit.js +1 -1
  45. package/build/comment-date/edit.js.map +1 -1
  46. package/build/comments-title/deprecated.js +110 -0
  47. package/build/comments-title/deprecated.js.map +1 -0
  48. package/build/comments-title/edit.js +35 -37
  49. package/build/comments-title/edit.js.map +1 -1
  50. package/build/comments-title/index.js +5 -8
  51. package/build/comments-title/index.js.map +1 -1
  52. package/build/cover/controls.native.js +2 -3
  53. package/build/cover/controls.native.js.map +1 -1
  54. package/build/cover/deprecated.js +212 -207
  55. package/build/cover/deprecated.js.map +1 -1
  56. package/build/cover/edit/block-controls.js +108 -0
  57. package/build/cover/edit/block-controls.js.map +1 -0
  58. package/build/cover/edit/cover-placeholder.js +49 -0
  59. package/build/cover/edit/cover-placeholder.js.map +1 -0
  60. package/build/cover/edit/index.js +336 -0
  61. package/build/cover/edit/index.js.map +1 -0
  62. package/build/cover/edit/inspector-controls.js +252 -0
  63. package/build/cover/edit/inspector-controls.js.map +1 -0
  64. package/build/cover/edit/resizable-cover.js +67 -0
  65. package/build/cover/edit/resizable-cover.js.map +1 -0
  66. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  67. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  68. package/build/cover/edit.native.js +0 -1
  69. package/build/cover/edit.native.js.map +1 -1
  70. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  71. package/build/cover/save.js +18 -5
  72. package/build/cover/save.js.map +1 -1
  73. package/build/cover/shared.js +15 -9
  74. package/build/cover/shared.js.map +1 -1
  75. package/build/cover/transforms.js.map +1 -1
  76. package/build/embed/deprecated.js +6 -1
  77. package/build/embed/deprecated.js.map +1 -1
  78. package/build/embed/edit.js.map +1 -1
  79. package/build/embed/edit.native.js.map +1 -1
  80. package/build/embed/embed-controls.native.js.map +1 -1
  81. package/build/embed/embed-preview.js +1 -1
  82. package/build/embed/embed-preview.js.map +1 -1
  83. package/build/embed/index.js +6 -1
  84. package/build/embed/index.js.map +1 -1
  85. package/build/embed/transforms.js +6 -1
  86. package/build/embed/transforms.js.map +1 -1
  87. package/build/embed/util.js +6 -1
  88. package/build/embed/util.js.map +1 -1
  89. package/build/file/edit.js +1 -1
  90. package/build/file/edit.js.map +1 -1
  91. package/build/file/edit.native.js +0 -1
  92. package/build/file/edit.native.js.map +1 -1
  93. package/build/file/index.js.map +1 -1
  94. package/build/file/save.js +9 -1
  95. package/build/file/save.js.map +1 -1
  96. package/build/gallery/edit.js +3 -2
  97. package/build/gallery/edit.js.map +1 -1
  98. package/build/gallery/gallery.js +1 -1
  99. package/build/gallery/gallery.js.map +1 -1
  100. package/build/gallery/gallery.native.js.map +1 -1
  101. package/build/gallery/gap-styles.js +14 -4
  102. package/build/gallery/gap-styles.js.map +1 -1
  103. package/build/gallery/index.js +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/shared.js +29 -12
  106. package/build/gallery/shared.js.map +1 -1
  107. package/build/gallery/use-get-media.js +2 -1
  108. package/build/gallery/use-get-media.js.map +1 -1
  109. package/build/gallery/use-short-code-transform.js +19 -18
  110. package/build/gallery/use-short-code-transform.js.map +1 -1
  111. package/build/gallery/v1/edit.js.map +1 -1
  112. package/build/gallery/v1/gallery-image.js.map +1 -1
  113. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  114. package/build/gallery/v1/gallery.js +1 -1
  115. package/build/gallery/v1/gallery.js.map +1 -1
  116. package/build/heading/autogenerate-anchors.js +7 -2
  117. package/build/heading/autogenerate-anchors.js.map +1 -1
  118. package/build/heading/deprecated.js.map +1 -1
  119. package/build/heading/edit.js +6 -2
  120. package/build/heading/edit.js.map +1 -1
  121. package/build/heading/index.js +1 -0
  122. package/build/heading/index.js.map +1 -1
  123. package/build/heading/transforms.js +1 -0
  124. package/build/heading/transforms.js.map +1 -1
  125. package/build/image/deprecated.js.map +1 -1
  126. package/build/image/edit.js +5 -56
  127. package/build/image/edit.js.map +1 -1
  128. package/build/image/edit.native.js +56 -4
  129. package/build/image/edit.native.js.map +1 -1
  130. package/build/image/image.js +4 -14
  131. package/build/image/image.js.map +1 -1
  132. package/build/image/index.js +5 -0
  133. package/build/image/index.js.map +1 -1
  134. package/build/image/transforms.js.map +1 -1
  135. package/build/image/utils.js +2 -1
  136. package/build/image/utils.js.map +1 -1
  137. package/build/index.js +46 -10
  138. package/build/index.js.map +1 -1
  139. package/build/is-block-metadata-experimental.js +18 -0
  140. package/build/is-block-metadata-experimental.js.map +1 -0
  141. package/build/latest-comments/edit.js.map +1 -1
  142. package/build/latest-posts/edit.js +31 -5
  143. package/build/latest-posts/edit.js.map +1 -1
  144. package/build/latest-posts/edit.native.js.map +1 -1
  145. package/build/list/index.js.map +1 -1
  146. package/build/list/transforms.js +6 -0
  147. package/build/list/transforms.js.map +1 -1
  148. package/build/list/v2/edit.js +2 -1
  149. package/build/list/v2/edit.js.map +1 -1
  150. package/build/list/v2/migrate.js +1 -0
  151. package/build/list/v2/migrate.js.map +1 -1
  152. package/build/list/v2/transforms.js +46 -9
  153. package/build/list/v2/transforms.js.map +1 -1
  154. package/build/list-item/edit.js +7 -9
  155. package/build/list-item/edit.js.map +1 -1
  156. package/build/list-item/hooks/index.js +24 -0
  157. package/build/list-item/hooks/index.js.map +1 -1
  158. package/build/list-item/hooks/use-backspace.js +59 -0
  159. package/build/list-item/hooks/use-backspace.js.map +1 -0
  160. package/build/list-item/hooks/use-enter.js +6 -9
  161. package/build/list-item/hooks/use-enter.js.map +1 -1
  162. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  163. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  164. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  165. package/build/list-item/hooks/use-space.js +54 -0
  166. package/build/list-item/hooks/use-space.js.map +1 -0
  167. package/build/list-item/hooks/use-split.js +44 -0
  168. package/build/list-item/hooks/use-split.js.map +1 -0
  169. package/build/list-item/index.js +1 -0
  170. package/build/list-item/index.js.map +1 -1
  171. package/build/list-item/utils.js +1 -1
  172. package/build/list-item/utils.js.map +1 -1
  173. package/build/media-text/deprecated.js +5 -3
  174. package/build/media-text/deprecated.js.map +1 -1
  175. package/build/media-text/edit.native.js +2 -1
  176. package/build/media-text/edit.native.js.map +1 -1
  177. package/build/media-text/media-container.js +3 -3
  178. package/build/media-text/media-container.js.map +1 -1
  179. package/build/media-text/media-container.native.js +2 -4
  180. package/build/media-text/media-container.native.js.map +1 -1
  181. package/build/media-text/save.js +3 -1
  182. package/build/media-text/save.js.map +1 -1
  183. package/build/media-text/transforms.js +137 -8
  184. package/build/media-text/transforms.js.map +1 -1
  185. package/build/missing/edit.native.js.map +1 -1
  186. package/build/navigation/deprecated.js.map +1 -1
  187. package/build/navigation/edit/index.js +86 -81
  188. package/build/navigation/edit/index.js.map +1 -1
  189. package/build/navigation/edit/inner-blocks.js +1 -5
  190. package/build/navigation/edit/inner-blocks.js.map +1 -1
  191. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  192. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  193. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  194. package/build/navigation/use-navigation-entities.js +3 -3
  195. package/build/navigation/use-navigation-entities.js.map +1 -1
  196. package/build/navigation/use-navigation-menu.js +130 -38
  197. package/build/navigation/use-navigation-menu.js.map +1 -1
  198. package/build/navigation/use-template-part-area-label.js +4 -1
  199. package/build/navigation/use-template-part-area-label.js.map +1 -1
  200. package/build/navigation-link/edit.js +44 -12
  201. package/build/navigation-link/edit.js.map +1 -1
  202. package/build/navigation-link/fallback-variations.js +1 -1
  203. package/build/navigation-link/fallback-variations.js.map +1 -1
  204. package/build/navigation-link/hooks.js +1 -1
  205. package/build/navigation-link/hooks.js.map +1 -1
  206. package/build/navigation-submenu/edit.js.map +1 -1
  207. package/build/page-list/convert-to-links-modal.js +1 -1
  208. package/build/page-list/convert-to-links-modal.js.map +1 -1
  209. package/build/page-list/edit.js +1 -1
  210. package/build/page-list/edit.js.map +1 -1
  211. package/build/paragraph/deprecated.js +1 -1
  212. package/build/paragraph/deprecated.js.map +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +1 -1
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-name/index.js +4 -0
  217. package/build/post-author-name/index.js.map +1 -1
  218. package/build/post-author-name/transforms.js +41 -0
  219. package/build/post-author-name/transforms.js.map +1 -0
  220. package/build/post-comment/index.js +1 -0
  221. package/build/post-comment/index.js.map +1 -1
  222. package/build/post-comments/edit.js +34 -16
  223. package/build/post-comments/edit.js.map +1 -1
  224. package/build/post-comments-count/index.js +1 -0
  225. package/build/post-comments-count/index.js.map +1 -1
  226. package/build/post-comments-form/form.js +12 -2
  227. package/build/post-comments-form/form.js.map +1 -1
  228. package/build/post-comments-link/index.js +1 -0
  229. package/build/post-comments-link/index.js.map +1 -1
  230. package/build/post-content/edit.js.map +1 -1
  231. package/build/post-date/edit.js +13 -7
  232. package/build/post-date/edit.js.map +1 -1
  233. package/build/post-featured-image/edit.js +11 -25
  234. package/build/post-featured-image/edit.js.map +1 -1
  235. package/build/post-navigation-link/index.js +4 -0
  236. package/build/post-navigation-link/index.js.map +1 -1
  237. package/build/post-template/edit.js +7 -2
  238. package/build/post-template/edit.js.map +1 -1
  239. package/build/post-terms/edit.js +11 -2
  240. package/build/post-terms/edit.js.map +1 -1
  241. package/build/post-terms/hooks.js +33 -0
  242. package/build/post-terms/hooks.js.map +1 -0
  243. package/build/post-terms/index.js +12 -5
  244. package/build/post-terms/index.js.map +1 -1
  245. package/build/post-title/index.js +1 -1
  246. package/build/post-title/index.js.map +1 -1
  247. package/build/pullquote/deprecated.js.map +1 -1
  248. package/build/pullquote/edit.js +1 -1
  249. package/build/pullquote/edit.js.map +1 -1
  250. package/build/pullquote/edit.native.js +1 -1
  251. package/build/pullquote/edit.native.js.map +1 -1
  252. package/build/query/edit/index.js +5 -1
  253. package/build/query/edit/index.js.map +1 -1
  254. package/build/query/edit/inspector-controls/index.js +26 -17
  255. package/build/query/edit/inspector-controls/index.js.map +1 -1
  256. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  257. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  258. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  259. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  260. package/build/query/edit/query-toolbar.js +16 -2
  261. package/build/query/edit/query-toolbar.js.map +1 -1
  262. package/build/query/index.js +2 -1
  263. package/build/query/index.js.map +1 -1
  264. package/build/query/utils.js +28 -2
  265. package/build/query/utils.js.map +1 -1
  266. package/build/query-title/index.js +1 -1
  267. package/build/query-title/index.js.map +1 -1
  268. package/build/query-title/variations.js +1 -1
  269. package/build/query-title/variations.js.map +1 -1
  270. package/build/quote/edit.js +3 -2
  271. package/build/quote/edit.js.map +1 -1
  272. package/build/quote/v2/edit.js +1 -1
  273. package/build/quote/v2/edit.js.map +1 -1
  274. package/build/search/edit.js +2 -1
  275. package/build/search/edit.js.map +1 -1
  276. package/build/search/edit.native.js.map +1 -1
  277. package/build/search/index.js +4 -0
  278. package/build/search/index.js.map +1 -1
  279. package/build/separator/use-deprecated-opacity.js.map +1 -1
  280. package/build/shortcode/edit.native.js +16 -13
  281. package/build/shortcode/edit.native.js.map +1 -1
  282. package/build/site-logo/edit.js +4 -13
  283. package/build/site-logo/edit.js.map +1 -1
  284. package/build/social-links/deprecated.js.map +1 -1
  285. package/build/social-links/edit.js +2 -2
  286. package/build/social-links/edit.js.map +1 -1
  287. package/build/social-links/edit.native.js.map +1 -1
  288. package/build/spacer/controls.js.map +1 -1
  289. package/build/table/deprecated.js.map +1 -1
  290. package/build/table/edit.js +15 -2
  291. package/build/table/edit.js.map +1 -1
  292. package/build/table/index.js +6 -1
  293. package/build/table/index.js.map +1 -1
  294. package/build/table/state.js.map +1 -1
  295. package/build/table-of-contents/edit.js +145 -65
  296. package/build/table-of-contents/edit.js.map +1 -1
  297. package/build/table-of-contents/index.js +13 -3
  298. package/build/table-of-contents/index.js.map +1 -1
  299. package/build/table-of-contents/list.js +16 -9
  300. package/build/table-of-contents/list.js.map +1 -1
  301. package/build/table-of-contents/save.js +40 -0
  302. package/build/table-of-contents/save.js.map +1 -0
  303. package/build/table-of-contents/utils.js +11 -77
  304. package/build/table-of-contents/utils.js.map +1 -1
  305. package/build/tag-cloud/edit.js.map +1 -1
  306. package/build/template-part/edit/advanced-controls.js +4 -1
  307. package/build/template-part/edit/advanced-controls.js.map +1 -1
  308. package/build/template-part/edit/index.js +7 -3
  309. package/build/template-part/edit/index.js.map +1 -1
  310. package/build/template-part/edit/inner-blocks.js +3 -8
  311. package/build/template-part/edit/inner-blocks.js.map +1 -1
  312. package/build/template-part/edit/utils/hooks.js +4 -1
  313. package/build/template-part/edit/utils/hooks.js.map +1 -1
  314. package/build/transformationCategories.native.js.map +1 -1
  315. package/build/video/edit-common-settings.js.map +1 -1
  316. package/build/video/edit.js +1 -1
  317. package/build/video/edit.js.map +1 -1
  318. package/build/video/edit.native.js +43 -0
  319. package/build/video/edit.native.js.map +1 -1
  320. package/build/video/index.js +6 -1
  321. package/build/video/index.js.map +1 -1
  322. package/build-module/audio/edit.js +2 -2
  323. package/build-module/audio/edit.js.map +1 -1
  324. package/build-module/audio/index.js +6 -1
  325. package/build-module/audio/index.js.map +1 -1
  326. package/build-module/avatar/hooks.js +2 -2
  327. package/build-module/avatar/hooks.js.map +1 -1
  328. package/build-module/block/edit.js +11 -10
  329. package/build-module/block/edit.js.map +1 -1
  330. package/build-module/block/edit.native.js.map +1 -1
  331. package/build-module/button/deprecated.js +175 -35
  332. package/build-module/button/deprecated.js.map +1 -1
  333. package/build-module/button/edit.js +2 -2
  334. package/build-module/button/edit.js.map +1 -1
  335. package/build-module/button/edit.native.js.map +1 -1
  336. package/build-module/button/index.js +25 -1
  337. package/build-module/button/index.js.map +1 -1
  338. package/build-module/button/save.js +2 -2
  339. package/build-module/button/save.js.map +1 -1
  340. package/build-module/buttons/deprecated.js.map +1 -1
  341. package/build-module/buttons/edit.js.map +1 -1
  342. package/build-module/buttons/edit.native.js.map +1 -1
  343. package/build-module/categories/edit.js +1 -1
  344. package/build-module/categories/edit.js.map +1 -1
  345. package/build-module/categories/index.js +1 -1
  346. package/build-module/column/deprecated.js.map +1 -1
  347. package/build-module/column/edit.js.map +1 -1
  348. package/build-module/column/edit.native.js.map +1 -1
  349. package/build-module/columns/deprecated.js.map +1 -1
  350. package/build-module/columns/edit.js +2 -2
  351. package/build-module/columns/edit.js.map +1 -1
  352. package/build-module/columns/edit.native.js +2 -2
  353. package/build-module/columns/edit.native.js.map +1 -1
  354. package/build-module/columns/index.js +3 -1
  355. package/build-module/columns/index.js.map +1 -1
  356. package/build-module/columns/utils.js +2 -2
  357. package/build-module/columns/utils.js.map +1 -1
  358. package/build-module/comment-author-avatar/index.js +1 -0
  359. package/build-module/comment-author-avatar/index.js.map +1 -1
  360. package/build-module/comment-author-name/edit.js +4 -2
  361. package/build-module/comment-author-name/edit.js.map +1 -1
  362. package/build-module/comment-date/edit.js +1 -1
  363. package/build-module/comment-date/edit.js.map +1 -1
  364. package/build-module/comments-title/deprecated.js +102 -0
  365. package/build-module/comments-title/deprecated.js.map +1 -0
  366. package/build-module/comments-title/edit.js +38 -40
  367. package/build-module/comments-title/edit.js.map +1 -1
  368. package/build-module/comments-title/index.js +4 -8
  369. package/build-module/comments-title/index.js.map +1 -1
  370. package/build-module/cover/controls.native.js +2 -3
  371. package/build-module/cover/controls.native.js.map +1 -1
  372. package/build-module/cover/deprecated.js +206 -198
  373. package/build-module/cover/deprecated.js.map +1 -1
  374. package/build-module/cover/edit/block-controls.js +99 -0
  375. package/build-module/cover/edit/block-controls.js.map +1 -0
  376. package/build-module/cover/edit/cover-placeholder.js +38 -0
  377. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  378. package/build-module/cover/edit/index.js +310 -0
  379. package/build-module/cover/edit/index.js.map +1 -0
  380. package/build-module/cover/edit/inspector-controls.js +240 -0
  381. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  382. package/build-module/cover/edit/resizable-cover.js +55 -0
  383. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  384. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  385. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  386. package/build-module/cover/edit.native.js +0 -1
  387. package/build-module/cover/edit.native.js.map +1 -1
  388. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  389. package/build-module/cover/save.js +19 -6
  390. package/build-module/cover/save.js.map +1 -1
  391. package/build-module/cover/shared.js +11 -5
  392. package/build-module/cover/shared.js.map +1 -1
  393. package/build-module/cover/transforms.js.map +1 -1
  394. package/build-module/embed/deprecated.js +6 -1
  395. package/build-module/embed/deprecated.js.map +1 -1
  396. package/build-module/embed/edit.js.map +1 -1
  397. package/build-module/embed/edit.native.js.map +1 -1
  398. package/build-module/embed/embed-controls.native.js.map +1 -1
  399. package/build-module/embed/embed-preview.js +2 -2
  400. package/build-module/embed/embed-preview.js.map +1 -1
  401. package/build-module/embed/index.js +6 -1
  402. package/build-module/embed/index.js.map +1 -1
  403. package/build-module/embed/transforms.js +6 -1
  404. package/build-module/embed/transforms.js.map +1 -1
  405. package/build-module/embed/util.js +6 -1
  406. package/build-module/embed/util.js.map +1 -1
  407. package/build-module/file/edit.js +2 -2
  408. package/build-module/file/edit.js.map +1 -1
  409. package/build-module/file/edit.native.js +0 -1
  410. package/build-module/file/edit.native.js.map +1 -1
  411. package/build-module/file/index.js.map +1 -1
  412. package/build-module/file/save.js +7 -2
  413. package/build-module/file/save.js.map +1 -1
  414. package/build-module/gallery/edit.js +4 -3
  415. package/build-module/gallery/edit.js.map +1 -1
  416. package/build-module/gallery/gallery.js +2 -2
  417. package/build-module/gallery/gallery.js.map +1 -1
  418. package/build-module/gallery/gallery.native.js.map +1 -1
  419. package/build-module/gallery/gap-styles.js +14 -4
  420. package/build-module/gallery/gap-styles.js.map +1 -1
  421. package/build-module/gallery/index.js +1 -1
  422. package/build-module/gallery/index.js.map +1 -1
  423. package/build-module/gallery/shared.js +27 -10
  424. package/build-module/gallery/shared.js.map +1 -1
  425. package/build-module/gallery/use-get-media.js +2 -1
  426. package/build-module/gallery/use-get-media.js.map +1 -1
  427. package/build-module/gallery/use-short-code-transform.js +19 -18
  428. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  429. package/build-module/gallery/v1/edit.js.map +1 -1
  430. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  431. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  432. package/build-module/gallery/v1/gallery.js +2 -2
  433. package/build-module/gallery/v1/gallery.js.map +1 -1
  434. package/build-module/heading/autogenerate-anchors.js +5 -2
  435. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  436. package/build-module/heading/deprecated.js.map +1 -1
  437. package/build-module/heading/edit.js +6 -2
  438. package/build-module/heading/edit.js.map +1 -1
  439. package/build-module/heading/index.js +1 -0
  440. package/build-module/heading/index.js.map +1 -1
  441. package/build-module/heading/transforms.js +1 -0
  442. package/build-module/heading/transforms.js.map +1 -1
  443. package/build-module/image/deprecated.js.map +1 -1
  444. package/build-module/image/edit.js +4 -52
  445. package/build-module/image/edit.js.map +1 -1
  446. package/build-module/image/edit.native.js +57 -6
  447. package/build-module/image/edit.native.js.map +1 -1
  448. package/build-module/image/image.js +6 -16
  449. package/build-module/image/image.js.map +1 -1
  450. package/build-module/image/index.js +5 -0
  451. package/build-module/image/index.js.map +1 -1
  452. package/build-module/image/transforms.js.map +1 -1
  453. package/build-module/image/utils.js +2 -2
  454. package/build-module/image/utils.js.map +1 -1
  455. package/build-module/index.js +42 -10
  456. package/build-module/index.js.map +1 -1
  457. package/build-module/is-block-metadata-experimental.js +16 -0
  458. package/build-module/is-block-metadata-experimental.js.map +1 -0
  459. package/build-module/latest-comments/edit.js.map +1 -1
  460. package/build-module/latest-posts/edit.js +31 -7
  461. package/build-module/latest-posts/edit.js.map +1 -1
  462. package/build-module/latest-posts/edit.native.js.map +1 -1
  463. package/build-module/list/index.js.map +1 -1
  464. package/build-module/list/transforms.js +6 -0
  465. package/build-module/list/transforms.js.map +1 -1
  466. package/build-module/list/v2/edit.js +2 -1
  467. package/build-module/list/v2/edit.js.map +1 -1
  468. package/build-module/list/v2/migrate.js +1 -3
  469. package/build-module/list/v2/migrate.js.map +1 -1
  470. package/build-module/list/v2/transforms.js +46 -9
  471. package/build-module/list/v2/transforms.js.map +1 -1
  472. package/build-module/list-item/edit.js +8 -9
  473. package/build-module/list-item/edit.js.map +1 -1
  474. package/build-module/list-item/hooks/index.js +3 -0
  475. package/build-module/list-item/hooks/index.js.map +1 -1
  476. package/build-module/list-item/hooks/use-backspace.js +44 -0
  477. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  478. package/build-module/list-item/hooks/use-enter.js +6 -9
  479. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  480. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  481. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  482. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  483. package/build-module/list-item/hooks/use-space.js +40 -0
  484. package/build-module/list-item/hooks/use-space.js.map +1 -0
  485. package/build-module/list-item/hooks/use-split.js +33 -0
  486. package/build-module/list-item/hooks/use-split.js.map +1 -0
  487. package/build-module/list-item/index.js +1 -0
  488. package/build-module/list-item/index.js.map +1 -1
  489. package/build-module/list-item/utils.js +1 -1
  490. package/build-module/list-item/utils.js.map +1 -1
  491. package/build-module/media-text/deprecated.js +3 -1
  492. package/build-module/media-text/deprecated.js.map +1 -1
  493. package/build-module/media-text/edit.native.js +2 -1
  494. package/build-module/media-text/edit.native.js.map +1 -1
  495. package/build-module/media-text/media-container.js +3 -1
  496. package/build-module/media-text/media-container.js.map +1 -1
  497. package/build-module/media-text/media-container.native.js +2 -4
  498. package/build-module/media-text/media-container.native.js.map +1 -1
  499. package/build-module/media-text/save.js +4 -1
  500. package/build-module/media-text/save.js.map +1 -1
  501. package/build-module/media-text/transforms.js +137 -8
  502. package/build-module/media-text/transforms.js.map +1 -1
  503. package/build-module/missing/edit.native.js.map +1 -1
  504. package/build-module/navigation/deprecated.js.map +1 -1
  505. package/build-module/navigation/edit/index.js +87 -82
  506. package/build-module/navigation/edit/index.js.map +1 -1
  507. package/build-module/navigation/edit/inner-blocks.js +2 -6
  508. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  509. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  510. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  511. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  512. package/build-module/navigation/use-navigation-entities.js +1 -1
  513. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  514. package/build-module/navigation/use-navigation-menu.js +130 -38
  515. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  516. package/build-module/navigation/use-template-part-area-label.js +4 -1
  517. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  518. package/build-module/navigation-link/edit.js +44 -13
  519. package/build-module/navigation-link/edit.js.map +1 -1
  520. package/build-module/navigation-link/fallback-variations.js +1 -1
  521. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  522. package/build-module/navigation-link/hooks.js +2 -2
  523. package/build-module/navigation-link/hooks.js.map +1 -1
  524. package/build-module/navigation-submenu/edit.js.map +1 -1
  525. package/build-module/page-list/convert-to-links-modal.js +1 -1
  526. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  527. package/build-module/page-list/edit.js +1 -1
  528. package/build-module/page-list/edit.js.map +1 -1
  529. package/build-module/paragraph/deprecated.js +2 -2
  530. package/build-module/paragraph/deprecated.js.map +1 -1
  531. package/build-module/pattern/edit.js.map +1 -1
  532. package/build-module/post-author/edit.js +1 -1
  533. package/build-module/post-author/edit.js.map +1 -1
  534. package/build-module/post-author-name/index.js +3 -0
  535. package/build-module/post-author-name/index.js.map +1 -1
  536. package/build-module/post-author-name/transforms.js +32 -0
  537. package/build-module/post-author-name/transforms.js.map +1 -0
  538. package/build-module/post-comment/index.js +1 -0
  539. package/build-module/post-comment/index.js.map +1 -1
  540. package/build-module/post-comments/edit.js +35 -16
  541. package/build-module/post-comments/edit.js.map +1 -1
  542. package/build-module/post-comments-count/index.js +1 -0
  543. package/build-module/post-comments-count/index.js.map +1 -1
  544. package/build-module/post-comments-form/form.js +8 -2
  545. package/build-module/post-comments-form/form.js.map +1 -1
  546. package/build-module/post-comments-link/index.js +1 -0
  547. package/build-module/post-comments-link/index.js.map +1 -1
  548. package/build-module/post-content/edit.js.map +1 -1
  549. package/build-module/post-date/edit.js +15 -9
  550. package/build-module/post-date/edit.js.map +1 -1
  551. package/build-module/post-featured-image/edit.js +11 -24
  552. package/build-module/post-featured-image/edit.js.map +1 -1
  553. package/build-module/post-navigation-link/index.js +4 -0
  554. package/build-module/post-navigation-link/index.js.map +1 -1
  555. package/build-module/post-template/edit.js +7 -2
  556. package/build-module/post-template/edit.js.map +1 -1
  557. package/build-module/post-terms/edit.js +10 -3
  558. package/build-module/post-terms/edit.js.map +1 -1
  559. package/build-module/post-terms/hooks.js +25 -0
  560. package/build-module/post-terms/hooks.js.map +1 -0
  561. package/build-module/post-terms/index.js +10 -8
  562. package/build-module/post-terms/index.js.map +1 -1
  563. package/build-module/post-title/index.js +1 -1
  564. package/build-module/post-title/index.js.map +1 -1
  565. package/build-module/pullquote/deprecated.js.map +1 -1
  566. package/build-module/pullquote/edit.js +2 -2
  567. package/build-module/pullquote/edit.js.map +1 -1
  568. package/build-module/pullquote/edit.native.js +2 -2
  569. package/build-module/pullquote/edit.native.js.map +1 -1
  570. package/build-module/query/edit/index.js +5 -1
  571. package/build-module/query/edit/index.js.map +1 -1
  572. package/build-module/query/edit/inspector-controls/index.js +24 -17
  573. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  574. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  575. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  576. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  577. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  578. package/build-module/query/edit/query-toolbar.js +14 -2
  579. package/build-module/query/edit/query-toolbar.js.map +1 -1
  580. package/build-module/query/index.js +2 -1
  581. package/build-module/query/index.js.map +1 -1
  582. package/build-module/query/utils.js +21 -0
  583. package/build-module/query/utils.js.map +1 -1
  584. package/build-module/query-title/index.js +1 -1
  585. package/build-module/query-title/index.js.map +1 -1
  586. package/build-module/query-title/variations.js +2 -2
  587. package/build-module/query-title/variations.js.map +1 -1
  588. package/build-module/quote/edit.js +4 -3
  589. package/build-module/quote/edit.js.map +1 -1
  590. package/build-module/quote/v2/edit.js +2 -2
  591. package/build-module/quote/v2/edit.js.map +1 -1
  592. package/build-module/search/edit.js +3 -2
  593. package/build-module/search/edit.js.map +1 -1
  594. package/build-module/search/edit.native.js.map +1 -1
  595. package/build-module/search/index.js +4 -0
  596. package/build-module/search/index.js.map +1 -1
  597. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  598. package/build-module/shortcode/edit.native.js +17 -13
  599. package/build-module/shortcode/edit.native.js.map +1 -1
  600. package/build-module/site-logo/edit.js +4 -12
  601. package/build-module/site-logo/edit.js.map +1 -1
  602. package/build-module/social-links/deprecated.js.map +1 -1
  603. package/build-module/social-links/edit.js +2 -2
  604. package/build-module/social-links/edit.js.map +1 -1
  605. package/build-module/social-links/edit.native.js.map +1 -1
  606. package/build-module/spacer/controls.js.map +1 -1
  607. package/build-module/table/deprecated.js.map +1 -1
  608. package/build-module/table/edit.js +17 -4
  609. package/build-module/table/edit.js.map +1 -1
  610. package/build-module/table/index.js +6 -1
  611. package/build-module/table/index.js.map +1 -1
  612. package/build-module/table/state.js.map +1 -1
  613. package/build-module/table-of-contents/edit.js +144 -68
  614. package/build-module/table-of-contents/edit.js.map +1 -1
  615. package/build-module/table-of-contents/index.js +12 -3
  616. package/build-module/table-of-contents/index.js.map +1 -1
  617. package/build-module/table-of-contents/list.js +18 -10
  618. package/build-module/table-of-contents/list.js.map +1 -1
  619. package/build-module/table-of-contents/save.js +28 -0
  620. package/build-module/table-of-contents/save.js.map +1 -0
  621. package/build-module/table-of-contents/utils.js +11 -73
  622. package/build-module/table-of-contents/utils.js.map +1 -1
  623. package/build-module/tag-cloud/edit.js.map +1 -1
  624. package/build-module/template-part/edit/advanced-controls.js +4 -1
  625. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  626. package/build-module/template-part/edit/index.js +8 -4
  627. package/build-module/template-part/edit/index.js.map +1 -1
  628. package/build-module/template-part/edit/inner-blocks.js +4 -9
  629. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  630. package/build-module/template-part/edit/utils/hooks.js +4 -1
  631. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  632. package/build-module/transformationCategories.native.js.map +1 -1
  633. package/build-module/video/edit-common-settings.js.map +1 -1
  634. package/build-module/video/edit.js +2 -2
  635. package/build-module/video/edit.js.map +1 -1
  636. package/build-module/video/edit.native.js +42 -1
  637. package/build-module/video/edit.native.js.map +1 -1
  638. package/build-module/video/index.js +6 -1
  639. package/build-module/video/index.js.map +1 -1
  640. package/build-style/audio/style-rtl.css +0 -3
  641. package/build-style/audio/style.css +0 -3
  642. package/build-style/button/style-rtl.css +0 -5
  643. package/build-style/button/style.css +0 -5
  644. package/build-style/common-rtl.css +1 -3
  645. package/build-style/common.css +1 -3
  646. package/build-style/cover/editor-rtl.css +11 -0
  647. package/build-style/cover/editor.css +11 -0
  648. package/build-style/cover/style-rtl.css +33 -25
  649. package/build-style/cover/style.css +33 -25
  650. package/build-style/editor-rtl.css +15 -45
  651. package/build-style/editor.css +15 -45
  652. package/build-style/embed/style-rtl.css +0 -1
  653. package/build-style/embed/style.css +0 -1
  654. package/build-style/file/style-rtl.css +9 -7
  655. package/build-style/file/style.css +9 -7
  656. package/build-style/gallery/style-rtl.css +2 -4
  657. package/build-style/gallery/style.css +2 -4
  658. package/build-style/image/editor-rtl.css +1 -1
  659. package/build-style/image/editor.css +1 -1
  660. package/build-style/image/style-rtl.css +0 -3
  661. package/build-style/image/style.css +0 -3
  662. package/build-style/post-comments/style-rtl.css +22 -0
  663. package/build-style/post-comments/style.css +22 -0
  664. package/build-style/post-comments-form/style-rtl.css +1 -3
  665. package/build-style/post-comments-form/style.css +1 -3
  666. package/build-style/post-featured-image/editor-rtl.css +0 -27
  667. package/build-style/post-featured-image/editor.css +0 -27
  668. package/build-style/search/style-rtl.css +4 -4
  669. package/build-style/search/style.css +4 -4
  670. package/build-style/separator/editor-rtl.css +1 -0
  671. package/build-style/separator/editor.css +1 -0
  672. package/build-style/site-logo/editor-rtl.css +0 -12
  673. package/build-style/site-logo/editor.css +0 -12
  674. package/build-style/site-logo/style-rtl.css +4 -0
  675. package/build-style/site-logo/style.css +4 -0
  676. package/build-style/style-rtl.css +77 -64
  677. package/build-style/style.css +77 -64
  678. package/build-style/table/style-rtl.css +0 -1
  679. package/build-style/table/style.css +0 -1
  680. package/build-style/video/editor-rtl.css +2 -5
  681. package/build-style/video/editor.css +2 -5
  682. package/build-style/video/style-rtl.css +1 -5
  683. package/build-style/video/style.css +1 -5
  684. package/build-types/table-of-contents/list.d.ts +12 -0
  685. package/build-types/table-of-contents/list.d.ts.map +1 -0
  686. package/build-types/table-of-contents/utils.d.ts +24 -0
  687. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  688. package/package.json +32 -30
  689. package/src/audio/block.json +6 -1
  690. package/src/audio/edit.js +4 -2
  691. package/src/audio/index.js +1 -2
  692. package/src/audio/style.scss +0 -2
  693. package/src/avatar/block.json +0 -1
  694. package/src/avatar/hooks.js +9 -6
  695. package/src/avatar/index.php +2 -2
  696. package/src/block/edit.js +43 -48
  697. package/src/block/edit.native.js +12 -16
  698. package/src/block/test/edit.native.js +6 -9
  699. package/src/button/block.json +25 -1
  700. package/src/button/deprecated.js +145 -36
  701. package/src/button/edit.js +7 -11
  702. package/src/button/edit.native.js +2 -3
  703. package/src/button/save.js +5 -11
  704. package/src/button/style.scss +0 -5
  705. package/src/buttons/deprecated.js +4 -6
  706. package/src/buttons/edit.js +3 -3
  707. package/src/buttons/edit.native.js +7 -11
  708. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  709. package/src/buttons/test/edit.native.js +1 -1
  710. package/src/categories/block.json +1 -1
  711. package/src/categories/edit.js +1 -1
  712. package/src/column/deprecated.js +2 -1
  713. package/src/column/edit.js +2 -3
  714. package/src/column/edit.native.js +2 -2
  715. package/src/columns/block.json +3 -1
  716. package/src/columns/deprecated.js +4 -2
  717. package/src/columns/edit.js +6 -7
  718. package/src/columns/edit.native.js +12 -16
  719. package/src/columns/index.js +1 -2
  720. package/src/columns/utils.js +5 -3
  721. package/src/comment-author-avatar/block.json +1 -0
  722. package/src/comment-author-name/edit.js +2 -2
  723. package/src/comment-date/edit.js +1 -1
  724. package/src/comments-title/block.json +0 -6
  725. package/src/comments-title/deprecated.js +34 -0
  726. package/src/comments-title/edit.js +44 -100
  727. package/src/comments-title/index.js +3 -1
  728. package/src/comments-title/index.php +41 -23
  729. package/src/cover/controls.native.js +3 -6
  730. package/src/cover/deprecated.js +237 -195
  731. package/src/cover/edit/block-controls.js +110 -0
  732. package/src/cover/edit/cover-placeholder.js +39 -0
  733. package/src/cover/edit/index.js +396 -0
  734. package/src/cover/edit/inspector-controls.js +317 -0
  735. package/src/cover/edit/resizable-cover.js +55 -0
  736. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  737. package/src/cover/edit.native.js +8 -14
  738. package/src/cover/editor.scss +14 -1
  739. package/src/cover/focal-point-settings-button.native.js +1 -1
  740. package/src/cover/index.php +20 -37
  741. package/src/cover/save.js +28 -16
  742. package/src/cover/shared.js +5 -3
  743. package/src/cover/style.scss +27 -22
  744. package/src/cover/test/block-controls.js +62 -0
  745. package/src/cover/test/edit.native.js +4 -7
  746. package/src/cover/transforms.js +2 -7
  747. package/src/embed/block.json +6 -1
  748. package/src/embed/edit.js +38 -40
  749. package/src/embed/edit.native.js +46 -49
  750. package/src/embed/embed-controls.native.js +2 -3
  751. package/src/embed/embed-preview.js +4 -2
  752. package/src/embed/style.scss +0 -1
  753. package/src/embed/test/index.native.js +24 -50
  754. package/src/file/edit.js +7 -5
  755. package/src/file/edit.native.js +14 -26
  756. package/src/file/index.js +1 -2
  757. package/src/file/save.js +14 -2
  758. package/src/file/style.scss +15 -14
  759. package/src/gallery/block.json +1 -1
  760. package/src/gallery/edit.js +10 -7
  761. package/src/gallery/gallery.js +2 -2
  762. package/src/gallery/gallery.native.js +2 -4
  763. package/src/gallery/gap-styles.js +21 -6
  764. package/src/gallery/index.js +2 -4
  765. package/src/gallery/index.php +23 -12
  766. package/src/gallery/shared.js +25 -11
  767. package/src/gallery/test/index.native.js +18 -34
  768. package/src/gallery/use-get-media.js +2 -1
  769. package/src/gallery/use-short-code-transform.js +19 -16
  770. package/src/gallery/v1/edit.js +15 -20
  771. package/src/gallery/v1/gallery-image.js +6 -11
  772. package/src/gallery/v1/gallery-image.native.js +8 -17
  773. package/src/gallery/v1/gallery.js +2 -2
  774. package/src/heading/autogenerate-anchors.js +8 -5
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -21
  777. package/src/heading/edit.js +7 -5
  778. package/src/image/block.json +5 -0
  779. package/src/image/deprecated.js +6 -29
  780. package/src/image/edit.js +0 -44
  781. package/src/image/edit.native.js +74 -25
  782. package/src/image/editor.scss +1 -1
  783. package/src/image/image.js +41 -51
  784. package/src/image/style.scss +0 -2
  785. package/src/image/styles.native.scss +11 -0
  786. package/src/image/test/edit.native.js +7 -7
  787. package/src/image/transforms.js +4 -3
  788. package/src/image/utils.js +2 -2
  789. package/src/index.js +51 -28
  790. package/src/is-block-metadata-experimental.js +19 -0
  791. package/src/latest-comments/edit.js +2 -6
  792. package/src/latest-posts/edit.js +33 -9
  793. package/src/latest-posts/edit.native.js +10 -15
  794. package/src/latest-posts/index.php +12 -6
  795. package/src/list/index.js +1 -2
  796. package/src/list/test/migrate.js +1 -2
  797. package/src/list/transforms.js +7 -0
  798. package/src/list/v2/edit.js +7 -9
  799. package/src/list/v2/migrate.js +1 -1
  800. package/src/list/v2/transforms.js +35 -0
  801. package/src/list-item/block.json +2 -1
  802. package/src/list-item/edit.js +17 -10
  803. package/src/list-item/hooks/index.js +3 -0
  804. package/src/list-item/hooks/use-backspace.js +51 -0
  805. package/src/list-item/hooks/use-enter.js +8 -16
  806. package/src/list-item/hooks/use-indent-list-item.js +49 -63
  807. package/src/list-item/hooks/use-outdent-list-item.js +2 -3
  808. package/src/list-item/hooks/use-space.js +47 -0
  809. package/src/list-item/hooks/use-split.js +33 -0
  810. package/src/list-item/utils.js +1 -1
  811. package/src/media-text/deprecated.js +6 -3
  812. package/src/media-text/edit.native.js +5 -6
  813. package/src/media-text/media-container.js +1 -1
  814. package/src/media-text/media-container.native.js +8 -13
  815. package/src/media-text/save.js +2 -1
  816. package/src/media-text/transforms.js +154 -0
  817. package/src/missing/edit.native.js +2 -3
  818. package/src/missing/test/edit-integration.native.js +2 -3
  819. package/src/missing/test/edit.native.js +6 -9
  820. package/src/navigation/deprecated.js +2 -5
  821. package/src/navigation/edit/index.js +195 -201
  822. package/src/navigation/edit/inner-blocks.js +1 -8
  823. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  824. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  825. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  826. package/src/navigation/index.php +40 -0
  827. package/src/navigation/test/use-navigation-menu.js +236 -0
  828. package/src/navigation/use-navigation-entities.js +12 -14
  829. package/src/navigation/use-navigation-menu.js +152 -82
  830. package/src/navigation/use-template-part-area-label.js +8 -7
  831. package/src/navigation-link/edit.js +59 -25
  832. package/src/navigation-link/fallback-variations.js +1 -1
  833. package/src/navigation-link/hooks.js +2 -2
  834. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  835. package/src/navigation-link/test/edit.js +2 -24
  836. package/src/navigation-submenu/edit.js +10 -20
  837. package/src/page-list/convert-to-links-modal.js +52 -55
  838. package/src/page-list/edit.js +7 -10
  839. package/src/page-list/test/convert-to-links-modal.js +6 -12
  840. package/src/paragraph/deprecated.js +2 -2
  841. package/src/pattern/edit.js +2 -4
  842. package/src/post-author/edit.js +26 -25
  843. package/src/post-author/index.php +3 -2
  844. package/src/post-author-name/block.json +1 -0
  845. package/src/post-author-name/index.js +2 -0
  846. package/src/post-author-name/index.php +1 -1
  847. package/src/post-author-name/transforms.js +25 -0
  848. package/src/post-comment/block.json +1 -0
  849. package/src/post-comments/edit.js +54 -22
  850. package/src/post-comments/index.php +1 -1
  851. package/src/post-comments/style.scss +26 -0
  852. package/src/post-comments-count/block.json +1 -0
  853. package/src/post-comments-form/form.js +12 -5
  854. package/src/post-comments-form/index.php +1 -1
  855. package/src/post-comments-form/style.scss +1 -4
  856. package/src/post-comments-link/block.json +1 -0
  857. package/src/post-content/edit.js +2 -3
  858. package/src/post-date/edit.js +4 -3
  859. package/src/post-featured-image/edit.js +15 -31
  860. package/src/post-featured-image/editor.scss +0 -29
  861. package/src/post-navigation-link/block.json +4 -0
  862. package/src/post-template/edit.js +5 -0
  863. package/src/post-template/index.php +30 -0
  864. package/src/post-terms/edit.js +19 -0
  865. package/src/post-terms/hooks.js +27 -0
  866. package/src/post-terms/index.js +14 -7
  867. package/src/post-terms/index.php +40 -2
  868. package/src/post-title/index.js +1 -1
  869. package/src/pullquote/deprecated.js +2 -1
  870. package/src/pullquote/edit.js +2 -2
  871. package/src/pullquote/edit.native.js +2 -2
  872. package/src/query/block.json +2 -1
  873. package/src/query/edit/index.js +10 -10
  874. package/src/query/edit/inspector-controls/index.js +25 -11
  875. package/src/query/edit/inspector-controls/parent-control.js +132 -0
  876. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  877. package/src/query/edit/query-toolbar.js +25 -5
  878. package/src/query/utils.js +22 -0
  879. package/src/query-pagination/index.php +0 -1
  880. package/src/query-title/index.js +1 -1
  881. package/src/query-title/variations.js +2 -2
  882. package/src/quote/edit.js +5 -2
  883. package/src/quote/v2/edit.js +8 -8
  884. package/src/quote/v2/test/migrate.js +1 -2
  885. package/src/search/block.json +4 -0
  886. package/src/search/edit.js +10 -13
  887. package/src/search/edit.native.js +4 -6
  888. package/src/search/index.php +29 -16
  889. package/src/search/style.scss +2 -1
  890. package/src/separator/editor.scss +1 -0
  891. package/src/separator/use-deprecated-opacity.js +2 -4
  892. package/src/shortcode/edit.native.js +30 -15
  893. package/src/shortcode/style.native.scss +11 -4
  894. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  895. package/src/shortcode/test/edit.native.js +55 -40
  896. package/src/site-logo/edit.js +4 -18
  897. package/src/site-logo/editor.scss +0 -14
  898. package/src/site-logo/style.scss +6 -0
  899. package/src/social-links/deprecated.js +4 -2
  900. package/src/social-links/edit.js +11 -10
  901. package/src/social-links/edit.native.js +3 -5
  902. package/src/spacer/controls.js +2 -3
  903. package/src/spacer/test/index.native.js +10 -21
  904. package/src/table/block.json +6 -1
  905. package/src/table/deprecated.js +4 -8
  906. package/src/table/edit.js +19 -4
  907. package/src/table/state.js +2 -4
  908. package/src/table/style.scss +0 -1
  909. package/src/table-of-contents/block.json +9 -2
  910. package/src/table-of-contents/edit.js +166 -77
  911. package/src/table-of-contents/index.js +2 -0
  912. package/src/table-of-contents/list.tsx +46 -0
  913. package/src/table-of-contents/save.js +25 -0
  914. package/src/table-of-contents/utils.ts +71 -0
  915. package/src/tag-cloud/block.json +1 -1
  916. package/src/tag-cloud/edit.js +4 -7
  917. package/src/template-part/edit/advanced-controls.js +4 -4
  918. package/src/template-part/edit/index.js +31 -25
  919. package/src/template-part/edit/inner-blocks.js +2 -10
  920. package/src/template-part/edit/utils/hooks.js +8 -7
  921. package/src/transformationCategories.native.js +3 -3
  922. package/src/video/block.json +6 -1
  923. package/src/video/edit-common-settings.js +2 -8
  924. package/src/video/edit.js +4 -2
  925. package/src/video/edit.native.js +38 -16
  926. package/src/video/editor.scss +3 -6
  927. package/src/video/index.js +1 -2
  928. package/src/video/style.scss +0 -2
  929. package/test/babel-plugin.js +67 -0
  930. package/tsconfig.json +11 -0
  931. package/tsconfig.tsbuildinfo +1 -0
  932. package/build/cover/edit.js +0 -598
  933. package/build/cover/edit.js.map +0 -1
  934. package/build/cover/use-cover-is-dark.js.map +0 -1
  935. package/build/post-terms/variations.js +0 -37
  936. package/build/post-terms/variations.js.map +0 -1
  937. package/build-module/cover/edit.js +0 -575
  938. package/build-module/cover/edit.js.map +0 -1
  939. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  940. package/build-module/post-terms/variations.js +0 -27
  941. package/build-module/post-terms/variations.js.map +0 -1
  942. package/src/cover/edit.js +0 -757
  943. package/src/post-terms/variations.js +0 -28
  944. package/src/table-of-contents/index.php +0 -346
  945. package/src/table-of-contents/list.js +0 -28
  946. package/src/table-of-contents/utils.js +0 -126
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/edit.native.js"],"names":["MIN_BUTTON_WIDTH","MARGINS","widthMargin","marginLeft","styles","paddingLeft","BUTTON_OPTIONS","value","label","SearchEdit","onFocus","isSelected","attributes","setAttributes","className","blockWidth","style","isButtonSelected","setIsButtonSelected","isLabelSelected","setIsLabelSelected","isPlaceholderSelected","setIsPlaceholderSelected","isLongButton","setIsLongButton","buttonWidth","setButtonWidth","isScreenReaderEnabled","setIsScreenReaderEnabled","textInputRef","showLabel","buttonPosition","buttonUseIcon","placeholder","buttonText","a11yInfoChangeSubscription","AccessibilityInfo","addEventListener","handleScreenReaderToggled","then","screenReaderEnabled","remove","hasTextInput","current","blur","maxButtonWidth","Math","floor","tempIsLongButton","onLayoutButton","nativeEvent","width","layout","getBlockClassNames","undefined","getSelectedButtonPositionLabel","option","blockProps","controls","position","isButtonInside","borderStyle","border","borderDark","inputStyle","plainTextInput","plainTextInputDark","baseColors","color","text","placeholderStyle","plainTextPlaceholder","plainTextPlaceholderDark","searchBarStyle","searchBarContainer","flexDirection","getAccessibilityLabelForButton","getAccessibilityLabelForPlaceholder","title","description","getAccessibilityLabelForLabel","renderTextField","searchInputContainer","newVal","buttonPlaceholderText","baseButtonStyles","blocks","richTextButtonContainerStyle","buttonContainer","buttonContainerWide","background","backgroundColor","borderWidth","richTextButtonStyle","richTextButton","placeholderColor","iconStyles","icon","fill","renderButton","search","html","richTextButtonCursor","searchBlockContainer","richTextLabel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tPlainText,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Constants\n */\nconst MIN_BUTTON_WIDTH = 75;\nconst MARGINS =\n\tstyles.widthMargin?.marginLeft + styles.widthMargin?.paddingLeft;\n\nconst BUTTON_OPTIONS = [\n\t{ value: 'button-inside', label: __( 'Button inside' ) },\n\t{ value: 'button-outside', label: __( 'Button outside' ) },\n\t{ value: 'no-button', label: __( 'No button' ) },\n];\n\nexport default function SearchEdit( {\n\tonFocus,\n\tisSelected,\n\tattributes,\n\tsetAttributes,\n\tclassName,\n\tblockWidth,\n\tstyle,\n} ) {\n\tconst [ isButtonSelected, setIsButtonSelected ] = useState( false );\n\tconst [ isLabelSelected, setIsLabelSelected ] = useState( false );\n\tconst [ isPlaceholderSelected, setIsPlaceholderSelected ] = useState(\n\t\tfalse\n\t);\n\tconst [ isLongButton, setIsLongButton ] = useState( false );\n\tconst [ buttonWidth, setButtonWidth ] = useState( MIN_BUTTON_WIDTH );\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] = useState(\n\t\tfalse\n\t);\n\n\tconst textInputRef = useRef( null );\n\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tplaceholder,\n\t\tbuttonText,\n\t} = attributes;\n\n\t/*\n\t * Check if screenreader is enabled and save to state. This is important for\n\t * properly creating accessibilityLabel text.\n\t */\n\tuseEffect( () => {\n\t\tconst a11yInfoChangeSubscription = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\thandleScreenReaderToggled\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\ta11yInfoChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst handleScreenReaderToggled = ( screenReaderEnabled ) => {\n\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t};\n\n\t/*\n\t * Called when the value of isSelected changes. Blurs the PlainText component\n\t * used by the placeholder when this block loses focus.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasTextInput() && isPlaceholderSelected && ! isSelected ) {\n\t\t\ttextInputRef.current.blur();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tconst maxButtonWidth = Math.floor( blockWidth / 2 - MARGINS );\n\t\tconst tempIsLongButton = buttonWidth > maxButtonWidth;\n\n\t\t// Update this value only if it has changed to avoid flickering.\n\t\tif ( isLongButton !== tempIsLongButton ) {\n\t\t\tsetIsLongButton( tempIsLongButton );\n\t\t}\n\t}, [ blockWidth, buttonWidth ] );\n\n\tconst hasTextInput = () => {\n\t\treturn textInputRef && textInputRef.current;\n\t};\n\n\tconst onLayoutButton = ( { nativeEvent } ) => {\n\t\tconst { width } = nativeEvent?.layout;\n\n\t\tif ( width ) {\n\t\t\tsetButtonWidth( width );\n\t\t}\n\t};\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t'button-inside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\t'button-outside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\t'no-button' === buttonPosition\n\t\t\t\t? 'wp-block-search__no-button'\n\t\t\t\t: undefined,\n\t\t\t'button-only' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-only'\n\t\t\t\t: undefined,\n\t\t\t! buttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst getSelectedButtonPositionLabel = ( option ) => {\n\t\tswitch ( option ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn __( 'Inside' );\n\t\t\tcase 'button-outside':\n\t\t\t\treturn __( 'Outside' );\n\t\t\tcase 'no-button':\n\t\t\t\treturn __( 'No button' );\n\t\t}\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\tconst controls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Search settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Hide search heading' ) }\n\t\t\t\t\tchecked={ ! showLabel }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\tvalue={ getSelectedButtonPositionLabel( buttonPosition ) }\n\t\t\t\t\tonChange={ ( position ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tbuttonPosition: position,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ BUTTON_OPTIONS }\n\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t/>\n\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Use icon button' ) }\n\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\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</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst isButtonInside = buttonPosition === 'button-inside';\n\n\tconst borderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.border,\n\t\tstyles.borderDark\n\t);\n\n\tconst inputStyle = [\n\t\t! isButtonInside && borderStyle,\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextInput,\n\t\t\tstyles.plainTextInputDark\n\t\t),\n\t\tstyle?.baseColors?.color && { color: style?.baseColors?.color?.text },\n\t];\n\n\tconst placeholderStyle = {\n\t\t...usePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextPlaceholder,\n\t\t\tstyles.plainTextPlaceholderDark\n\t\t),\n\t\t...( style?.baseColors?.color && {\n\t\t\tcolor: style?.baseColors?.color?.text,\n\t\t} ),\n\t};\n\n\tconst searchBarStyle = [\n\t\tstyles.searchBarContainer,\n\t\tisButtonInside && borderStyle,\n\t\tisLongButton && { flexDirection: 'column' },\n\t];\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Button\n\t */\n\tconst getAccessibilityLabelForButton = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-button';\n\t\t}\n\n\t\treturn `${ __(\n\t\t\t'Search button. Current button text is'\n\t\t) } ${ buttonText }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Input\n\t * \t\t\t\t\t placeholder field.\n\t */\n\tconst getAccessibilityLabelForPlaceholder = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-input';\n\t\t}\n\n\t\tconst title = __( 'Search input field.' );\n\t\tconst description = placeholder\n\t\t\t? `${ __( 'Current placeholder text is' ) } ${ placeholder }`\n\t\t\t: __( 'No custom placeholder set' );\n\t\treturn `${ title } ${ description }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Label field\n\t */\n\tconst getAccessibilityLabelForLabel = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-label';\n\t\t}\n\n\t\treturn `${ __( 'Search block label. Current text is' ) } ${ label }`;\n\t};\n\n\tconst renderTextField = () => {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ styles.searchInputContainer }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t? __( 'Double tap to edit placeholder text' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabelForPlaceholder() }\n\t\t\t>\n\t\t\t\t<PlainText\n\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\tisSelected={ isPlaceholderSelected }\n\t\t\t\t\tclassName=\"wp-block-search__input\"\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode=\"tail\" // Currently only works on ios.\n\t\t\t\t\tlabel={ null }\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: newVal } )\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\tsetIsPlaceholderSelected( true );\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ () => setIsPlaceholderSelected( false ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t};\n\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst buttonPlaceholderText =\n\t\tisButtonSelected ||\n\t\t( ! isButtonSelected && buttonText && buttonText !== '' )\n\t\t\t? ''\n\t\t\t: __( 'Add button text' );\n\n\tconst baseButtonStyles = {\n\t\t...style?.baseColors?.blocks?.[ 'core/button' ]?.color,\n\t\t...attributes?.style?.color,\n\t\t...( style?.color && { text: style.color } ),\n\t};\n\n\tconst richTextButtonContainerStyle = [\n\t\tstyles.buttonContainer,\n\t\tisLongButton && styles.buttonContainerWide,\n\t\tbaseButtonStyles?.background && {\n\t\t\tbackgroundColor: baseButtonStyles.background,\n\t\t\tborderWidth: 0,\n\t\t},\n\t\tstyle?.backgroundColor && {\n\t\t\tbackgroundColor: style.backgroundColor,\n\t\t\tborderWidth: 0,\n\t\t},\n\t];\n\n\tconst richTextButtonStyle = {\n\t\t...styles.richTextButton,\n\t\t...( baseButtonStyles?.text && {\n\t\t\tcolor: baseButtonStyles.text,\n\t\t\tplaceholderColor: baseButtonStyles.text,\n\t\t} ),\n\t};\n\n\tconst iconStyles = {\n\t\t...styles.icon,\n\t\t...( baseButtonStyles?.text && { fill: baseButtonStyles.text } ),\n\t};\n\n\tconst renderButton = () => {\n\t\treturn (\n\t\t\t<View style={ richTextButtonContainerStyle }>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t{ ...iconStyles }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<View\n\t\t\t\t\t\taccessible={ true }\n\t\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t\t? __( 'Double tap to edit button text' )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForButton() }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-search__button\"\n\t\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\tstyle={ richTextButtonStyle }\n\t\t\t\t\t\t\tplaceholder={ buttonPlaceholderText }\n\t\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={ MIN_BUTTON_WIDTH }\n\t\t\t\t\t\t\tmaxWidth={ blockWidth - MARGINS }\n\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\tisSelected={ isButtonSelected }\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\tstyles.richTextButtonCursor?.color\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t};\n\n\treturn (\n\t\t<View\n\t\t\t{ ...blockProps }\n\t\t\tstyle={ styles.searchBlockContainer }\n\t\t\timportantForAccessibility={\n\t\t\t\tisSelected ? 'yes' : 'no-hide-descendants'\n\t\t\t}\n\t\t\taccessibilityElementsHidden={ isSelected ? false : true }\n\t\t>\n\t\t\t{ isSelected && controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<View\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t? __( 'Double tap to edit label text' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForLabel() }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tstyle={ styles.richTextLabel }\n\t\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisSelected={ isLabelSelected }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tselectionColor={ styles.richTextButtonCursor?.color }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ ( 'button-inside' === buttonPosition ||\n\t\t\t\t'button-outside' === buttonPosition ) && (\n\t\t\t\t<View style={ searchBarStyle }>\n\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t{ renderButton() }\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ 'button-only' === buttonPosition && renderButton() }\n\t\t\t{ 'no-button' === buttonPosition && renderTextField() }\n\t\t</View>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/edit.native.js"],"names":["MIN_BUTTON_WIDTH","MARGINS","widthMargin","marginLeft","styles","paddingLeft","BUTTON_OPTIONS","value","label","SearchEdit","onFocus","isSelected","attributes","setAttributes","className","blockWidth","style","isButtonSelected","setIsButtonSelected","isLabelSelected","setIsLabelSelected","isPlaceholderSelected","setIsPlaceholderSelected","isLongButton","setIsLongButton","buttonWidth","setButtonWidth","isScreenReaderEnabled","setIsScreenReaderEnabled","textInputRef","showLabel","buttonPosition","buttonUseIcon","placeholder","buttonText","a11yInfoChangeSubscription","AccessibilityInfo","addEventListener","handleScreenReaderToggled","then","screenReaderEnabled","remove","hasTextInput","current","blur","maxButtonWidth","Math","floor","tempIsLongButton","onLayoutButton","nativeEvent","width","layout","getBlockClassNames","undefined","getSelectedButtonPositionLabel","option","blockProps","controls","position","isButtonInside","borderStyle","border","borderDark","inputStyle","plainTextInput","plainTextInputDark","baseColors","color","text","placeholderStyle","plainTextPlaceholder","plainTextPlaceholderDark","searchBarStyle","searchBarContainer","flexDirection","getAccessibilityLabelForButton","getAccessibilityLabelForPlaceholder","title","description","getAccessibilityLabelForLabel","renderTextField","searchInputContainer","newVal","buttonPlaceholderText","baseButtonStyles","blocks","richTextButtonContainerStyle","buttonContainer","buttonContainerWide","background","backgroundColor","borderWidth","richTextButtonStyle","richTextButton","placeholderColor","iconStyles","icon","fill","renderButton","search","html","richTextButtonCursor","searchBlockContainer","richTextLabel"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tPlainText,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Constants\n */\nconst MIN_BUTTON_WIDTH = 75;\nconst MARGINS =\n\tstyles.widthMargin?.marginLeft + styles.widthMargin?.paddingLeft;\n\nconst BUTTON_OPTIONS = [\n\t{ value: 'button-inside', label: __( 'Button inside' ) },\n\t{ value: 'button-outside', label: __( 'Button outside' ) },\n\t{ value: 'no-button', label: __( 'No button' ) },\n];\n\nexport default function SearchEdit( {\n\tonFocus,\n\tisSelected,\n\tattributes,\n\tsetAttributes,\n\tclassName,\n\tblockWidth,\n\tstyle,\n} ) {\n\tconst [ isButtonSelected, setIsButtonSelected ] = useState( false );\n\tconst [ isLabelSelected, setIsLabelSelected ] = useState( false );\n\tconst [ isPlaceholderSelected, setIsPlaceholderSelected ] =\n\t\tuseState( false );\n\tconst [ isLongButton, setIsLongButton ] = useState( false );\n\tconst [ buttonWidth, setButtonWidth ] = useState( MIN_BUTTON_WIDTH );\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tconst textInputRef = useRef( null );\n\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tplaceholder,\n\t\tbuttonText,\n\t} = attributes;\n\n\t/*\n\t * Check if screenreader is enabled and save to state. This is important for\n\t * properly creating accessibilityLabel text.\n\t */\n\tuseEffect( () => {\n\t\tconst a11yInfoChangeSubscription = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\thandleScreenReaderToggled\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\ta11yInfoChangeSubscription.remove();\n\t\t};\n\t}, [] );\n\n\tconst handleScreenReaderToggled = ( screenReaderEnabled ) => {\n\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t};\n\n\t/*\n\t * Called when the value of isSelected changes. Blurs the PlainText component\n\t * used by the placeholder when this block loses focus.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasTextInput() && isPlaceholderSelected && ! isSelected ) {\n\t\t\ttextInputRef.current.blur();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tconst maxButtonWidth = Math.floor( blockWidth / 2 - MARGINS );\n\t\tconst tempIsLongButton = buttonWidth > maxButtonWidth;\n\n\t\t// Update this value only if it has changed to avoid flickering.\n\t\tif ( isLongButton !== tempIsLongButton ) {\n\t\t\tsetIsLongButton( tempIsLongButton );\n\t\t}\n\t}, [ blockWidth, buttonWidth ] );\n\n\tconst hasTextInput = () => {\n\t\treturn textInputRef && textInputRef.current;\n\t};\n\n\tconst onLayoutButton = ( { nativeEvent } ) => {\n\t\tconst { width } = nativeEvent?.layout;\n\n\t\tif ( width ) {\n\t\t\tsetButtonWidth( width );\n\t\t}\n\t};\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t'button-inside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\t'button-outside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\t'no-button' === buttonPosition\n\t\t\t\t? 'wp-block-search__no-button'\n\t\t\t\t: undefined,\n\t\t\t'button-only' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-only'\n\t\t\t\t: undefined,\n\t\t\t! buttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst getSelectedButtonPositionLabel = ( option ) => {\n\t\tswitch ( option ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn __( 'Inside' );\n\t\t\tcase 'button-outside':\n\t\t\t\treturn __( 'Outside' );\n\t\t\tcase 'no-button':\n\t\t\t\treturn __( 'No button' );\n\t\t}\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\tconst controls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Search settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Hide search heading' ) }\n\t\t\t\t\tchecked={ ! showLabel }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\tvalue={ getSelectedButtonPositionLabel( buttonPosition ) }\n\t\t\t\t\tonChange={ ( position ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tbuttonPosition: position,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ BUTTON_OPTIONS }\n\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t/>\n\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Use icon button' ) }\n\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\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</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst isButtonInside = buttonPosition === 'button-inside';\n\n\tconst borderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.border,\n\t\tstyles.borderDark\n\t);\n\n\tconst inputStyle = [\n\t\t! isButtonInside && borderStyle,\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextInput,\n\t\t\tstyles.plainTextInputDark\n\t\t),\n\t\tstyle?.baseColors?.color && { color: style?.baseColors?.color?.text },\n\t];\n\n\tconst placeholderStyle = {\n\t\t...usePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextPlaceholder,\n\t\t\tstyles.plainTextPlaceholderDark\n\t\t),\n\t\t...( style?.baseColors?.color && {\n\t\t\tcolor: style?.baseColors?.color?.text,\n\t\t} ),\n\t};\n\n\tconst searchBarStyle = [\n\t\tstyles.searchBarContainer,\n\t\tisButtonInside && borderStyle,\n\t\tisLongButton && { flexDirection: 'column' },\n\t];\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Button\n\t */\n\tconst getAccessibilityLabelForButton = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-button';\n\t\t}\n\n\t\treturn `${ __(\n\t\t\t'Search button. Current button text is'\n\t\t) } ${ buttonText }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Input\n\t * \t\t\t\t\t placeholder field.\n\t */\n\tconst getAccessibilityLabelForPlaceholder = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-input';\n\t\t}\n\n\t\tconst title = __( 'Search input field.' );\n\t\tconst description = placeholder\n\t\t\t? `${ __( 'Current placeholder text is' ) } ${ placeholder }`\n\t\t\t: __( 'No custom placeholder set' );\n\t\treturn `${ title } ${ description }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Label field\n\t */\n\tconst getAccessibilityLabelForLabel = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-label';\n\t\t}\n\n\t\treturn `${ __( 'Search block label. Current text is' ) } ${ label }`;\n\t};\n\n\tconst renderTextField = () => {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ styles.searchInputContainer }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t? __( 'Double tap to edit placeholder text' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabelForPlaceholder() }\n\t\t\t>\n\t\t\t\t<PlainText\n\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\tisSelected={ isPlaceholderSelected }\n\t\t\t\t\tclassName=\"wp-block-search__input\"\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode=\"tail\" // Currently only works on ios.\n\t\t\t\t\tlabel={ null }\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: newVal } )\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\tsetIsPlaceholderSelected( true );\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ () => setIsPlaceholderSelected( false ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t};\n\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst buttonPlaceholderText =\n\t\tisButtonSelected ||\n\t\t( ! isButtonSelected && buttonText && buttonText !== '' )\n\t\t\t? ''\n\t\t\t: __( 'Add button text' );\n\n\tconst baseButtonStyles = {\n\t\t...style?.baseColors?.blocks?.[ 'core/button' ]?.color,\n\t\t...attributes?.style?.color,\n\t\t...( style?.color && { text: style.color } ),\n\t};\n\n\tconst richTextButtonContainerStyle = [\n\t\tstyles.buttonContainer,\n\t\tisLongButton && styles.buttonContainerWide,\n\t\tbaseButtonStyles?.background && {\n\t\t\tbackgroundColor: baseButtonStyles.background,\n\t\t\tborderWidth: 0,\n\t\t},\n\t\tstyle?.backgroundColor && {\n\t\t\tbackgroundColor: style.backgroundColor,\n\t\t\tborderWidth: 0,\n\t\t},\n\t];\n\n\tconst richTextButtonStyle = {\n\t\t...styles.richTextButton,\n\t\t...( baseButtonStyles?.text && {\n\t\t\tcolor: baseButtonStyles.text,\n\t\t\tplaceholderColor: baseButtonStyles.text,\n\t\t} ),\n\t};\n\n\tconst iconStyles = {\n\t\t...styles.icon,\n\t\t...( baseButtonStyles?.text && { fill: baseButtonStyles.text } ),\n\t};\n\n\tconst renderButton = () => {\n\t\treturn (\n\t\t\t<View style={ richTextButtonContainerStyle }>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t{ ...iconStyles }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<View\n\t\t\t\t\t\taccessible={ true }\n\t\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t\t? __( 'Double tap to edit button text' )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForButton() }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-search__button\"\n\t\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\tstyle={ richTextButtonStyle }\n\t\t\t\t\t\t\tplaceholder={ buttonPlaceholderText }\n\t\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={ MIN_BUTTON_WIDTH }\n\t\t\t\t\t\t\tmaxWidth={ blockWidth - MARGINS }\n\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\tisSelected={ isButtonSelected }\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\tstyles.richTextButtonCursor?.color\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t};\n\n\treturn (\n\t\t<View\n\t\t\t{ ...blockProps }\n\t\t\tstyle={ styles.searchBlockContainer }\n\t\t\timportantForAccessibility={\n\t\t\t\tisSelected ? 'yes' : 'no-hide-descendants'\n\t\t\t}\n\t\t\taccessibilityElementsHidden={ isSelected ? false : true }\n\t\t>\n\t\t\t{ isSelected && controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<View\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t? __( 'Double tap to edit label text' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForLabel() }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tstyle={ styles.richTextLabel }\n\t\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisSelected={ isLabelSelected }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tselectionColor={ styles.richTextButtonCursor?.color }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ ( 'button-inside' === buttonPosition ||\n\t\t\t\t'button-outside' === buttonPosition ) && (\n\t\t\t\t<View style={ searchBarStyle }>\n\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t{ renderButton() }\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ 'button-only' === buttonPosition && renderButton() }\n\t\t\t{ 'no-button' === buttonPosition && renderTextField() }\n\t\t</View>\n\t);\n}\n"]}
@@ -60,6 +60,10 @@ const metadata = {
60
60
  buttonUseIcon: {
61
61
  type: "boolean",
62
62
  "default": false
63
+ },
64
+ query: {
65
+ type: "object",
66
+ "default": {}
63
67
  }
64
68
  },
65
69
  supports: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/index.js"],"names":["name","metadata","settings","icon","example","variations","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,UAAU,EAAVA,mBAHuB;AAIvBC,EAAAA,IAAI,EAAJA;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":["name","metadata","settings","icon","example","variations","edit"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE,EAFc;AAGvBC,EAAAA,UAAU,EAAVA,mBAHuB;AAIvBC,EAAAA,IAAI,EAAJA;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 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/separator/use-deprecated-opacity.js"],"names":["useDeprecatedOpacity","opacity","currentColor","setAttributes","deprecatedOpacityWithNoColor","setDeprecatedOpacityWithNoColor","previousColor"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,oBAAT,CACdC,OADc,EAEdC,YAFc,EAGdC,aAHc,EAIb;AACD,QAAM,CACLC,4BADK,EAELC,+BAFK,IAGF,uBAAU,KAAV,CAHJ;AAIA,QAAMC,aAAa,GAAG,0BAAaJ,YAAb,CAAtB,CALC,CAOD;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QAAKD,OAAO,KAAK,KAAZ,IAAqB,CAAEC,YAAvB,IAAuC,CAAEI,aAA9C,EAA8D;AAC7DD,MAAAA,+BAA+B,CAAE,IAAF,CAA/B;AACA;AACD,GAJD,EAIG,CAAEH,YAAF,EAAgBI,aAAhB,EAA+BL,OAA/B,CAJH,EAVC,CAgBD;AACA;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QACCA,OAAO,KAAK,KAAZ,KACIG,4BAA4B,IAAIF,YAAlC,IACCI,aAAa,IAAIJ,YAAY,KAAKI,aAFrC,CADD,EAIE;AACDH,MAAAA,aAAa,CAAE;AAAEF,QAAAA,OAAO,EAAE;AAAX,OAAF,CAAb;AACAI,MAAAA,+BAA+B,CAAE,KAAF,CAA/B;AACA;AACD,GATD,EASG,CAAED,4BAAF,EAAgCF,YAAhC,EAA8CI,aAA9C,CATH;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\nexport default function useDeprecatedOpacity(\n\topacity,\n\tcurrentColor,\n\tsetAttributes\n) {\n\tconst [\n\t\tdeprecatedOpacityWithNoColor,\n\t\tsetDeprecatedOpacityWithNoColor,\n\t] = useState( false );\n\tconst previousColor = usePrevious( currentColor );\n\n\t// A separator with no color set will always have previousColor set to undefined,\n\t// and we need to differentiate these from those with color set that will return\n\t// previousColor as undefined on the first render.\n\tuseEffect( () => {\n\t\tif ( opacity === 'css' && ! currentColor && ! previousColor ) {\n\t\t\tsetDeprecatedOpacityWithNoColor( true );\n\t\t}\n\t}, [ currentColor, previousColor, opacity ] );\n\n\t// For deprecated blocks, that have a default 0.4 css opacity set, we\n\t// need to remove this if the current color is changed, or a color is added.\n\t// In these instances the opacity attribute is set back to the default of\n\t// alpha-channel which allows a new custom opacity to be set via the color picker.\n\tuseEffect( () => {\n\t\tif (\n\t\t\topacity === 'css' &&\n\t\t\t( ( deprecatedOpacityWithNoColor && currentColor ) ||\n\t\t\t\t( previousColor && currentColor !== previousColor ) )\n\t\t) {\n\t\t\tsetAttributes( { opacity: 'alpha-channel' } );\n\t\t\tsetDeprecatedOpacityWithNoColor( false );\n\t\t}\n\t}, [ deprecatedOpacityWithNoColor, currentColor, previousColor ] );\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/separator/use-deprecated-opacity.js"],"names":["useDeprecatedOpacity","opacity","currentColor","setAttributes","deprecatedOpacityWithNoColor","setDeprecatedOpacityWithNoColor","previousColor"],"mappings":";;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIe,SAASA,oBAAT,CACdC,OADc,EAEdC,YAFc,EAGdC,aAHc,EAIb;AACD,QAAM,CAAEC,4BAAF,EAAgCC,+BAAhC,IACL,uBAAU,KAAV,CADD;AAEA,QAAMC,aAAa,GAAG,0BAAaJ,YAAb,CAAtB,CAHC,CAKD;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QAAKD,OAAO,KAAK,KAAZ,IAAqB,CAAEC,YAAvB,IAAuC,CAAEI,aAA9C,EAA8D;AAC7DD,MAAAA,+BAA+B,CAAE,IAAF,CAA/B;AACA;AACD,GAJD,EAIG,CAAEH,YAAF,EAAgBI,aAAhB,EAA+BL,OAA/B,CAJH,EARC,CAcD;AACA;AACA;AACA;;AACA,0BAAW,MAAM;AAChB,QACCA,OAAO,KAAK,KAAZ,KACIG,4BAA4B,IAAIF,YAAlC,IACCI,aAAa,IAAIJ,YAAY,KAAKI,aAFrC,CADD,EAIE;AACDH,MAAAA,aAAa,CAAE;AAAEF,QAAAA,OAAO,EAAE;AAAX,OAAF,CAAb;AACAI,MAAAA,+BAA+B,CAAE,KAAF,CAA/B;AACA;AACD,GATD,EASG,CAAED,4BAAF,EAAgCF,YAAhC,EAA8CI,aAA9C,CATH;AAUA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\n\nexport default function useDeprecatedOpacity(\n\topacity,\n\tcurrentColor,\n\tsetAttributes\n) {\n\tconst [ deprecatedOpacityWithNoColor, setDeprecatedOpacityWithNoColor ] =\n\t\tuseState( false );\n\tconst previousColor = usePrevious( currentColor );\n\n\t// A separator with no color set will always have previousColor set to undefined,\n\t// and we need to differentiate these from those with color set that will return\n\t// previousColor as undefined on the first render.\n\tuseEffect( () => {\n\t\tif ( opacity === 'css' && ! currentColor && ! previousColor ) {\n\t\t\tsetDeprecatedOpacityWithNoColor( true );\n\t\t}\n\t}, [ currentColor, previousColor, opacity ] );\n\n\t// For deprecated blocks, that have a default 0.4 css opacity set, we\n\t// need to remove this if the current color is changed, or a color is added.\n\t// In these instances the opacity attribute is set back to the default of\n\t// alpha-channel which allows a new custom opacity to be set via the color picker.\n\tuseEffect( () => {\n\t\tif (\n\t\t\topacity === 'css' &&\n\t\t\t( ( deprecatedOpacityWithNoColor && currentColor ) ||\n\t\t\t\t( previousColor && currentColor !== previousColor ) )\n\t\t) {\n\t\t\tsetAttributes( { opacity: 'alpha-channel' } );\n\t\t\tsetDeprecatedOpacityWithNoColor( false );\n\t\t}\n\t}, [ deprecatedOpacityWithNoColor, currentColor, previousColor ] );\n}\n"]}
@@ -37,30 +37,33 @@ function ShortcodeEdit(props) {
37
37
  setAttributes,
38
38
  onFocus,
39
39
  onBlur,
40
- getStylesFromColorScheme
40
+ getStylesFromColorScheme,
41
+ blockWidth
41
42
  } = props;
42
43
  const titleStyle = getStylesFromColorScheme(_style.default.blockTitle, _style.default.blockTitleDark);
44
+ const shortcodeContainerStyle = getStylesFromColorScheme(_style.default.blockShortcodeContainer, _style.default.blockShortcodeContainerDark);
43
45
  const shortcodeStyle = getStylesFromColorScheme(_style.default.blockShortcode, _style.default.blockShortcodeDark);
44
46
  const placeholderStyle = getStylesFromColorScheme(_style.default.placeholder, _style.default.placeholderDark);
47
+ const maxWidth = blockWidth - shortcodeContainerStyle.paddingLeft + shortcodeContainerStyle.paddingRight;
48
+ const onChange = (0, _element.useCallback)(text => setAttributes({
49
+ text
50
+ }), [setAttributes]);
45
51
  return (0, _element.createElement)(_reactNative.View, null, (0, _element.createElement)(_reactNative.Text, {
46
52
  style: titleStyle
47
- }, (0, _i18n.__)('Shortcode')), (0, _element.createElement)(_blockEditor.PlainText, {
53
+ }, (0, _i18n.__)('Shortcode')), (0, _element.createElement)(_reactNative.View, {
54
+ style: shortcodeContainerStyle
55
+ }, (0, _element.createElement)(_blockEditor.PlainText, {
56
+ __experimentalVersion: 2,
48
57
  value: attributes.text,
49
58
  style: shortcodeStyle,
50
- multiline: true,
51
- underlineColorAndroid: "transparent",
52
- onChange: text => setAttributes({
53
- text
54
- }),
59
+ onChange: onChange,
55
60
  placeholder: (0, _i18n.__)('Add a shortcode…'),
56
- "aria-label": (0, _i18n.__)('Shortcode'),
57
- isSelected: props.isSelected,
58
61
  onFocus: onFocus,
59
62
  onBlur: onBlur,
60
- autoCorrect: false,
61
- autoComplete: "off",
62
- placeholderTextColor: placeholderStyle.color
63
- }));
63
+ placeholderTextColor: placeholderStyle.color,
64
+ maxWidth: maxWidth,
65
+ disableAutocorrection: true
66
+ })));
64
67
  }
65
68
 
66
69
  var _default = (0, _compose.withPreferredColorScheme)(ShortcodeEdit);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/shortcode/edit.native.js"],"names":["ShortcodeEdit","props","attributes","setAttributes","onFocus","onBlur","getStylesFromColorScheme","titleStyle","styles","blockTitle","blockTitleDark","shortcodeStyle","blockShortcode","blockShortcodeDark","placeholderStyle","placeholder","placeholderDark","text","isSelected","color"],"mappings":";;;;;;;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAMA;;AAhBA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAIO,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,MAJK;AAKLC,IAAAA;AALK,MAMFL,KANJ;AAOA,QAAMM,UAAU,GAAGD,wBAAwB,CAC1CE,eAAOC,UADmC,EAE1CD,eAAOE,cAFmC,CAA3C;AAIA,QAAMC,cAAc,GAAGL,wBAAwB,CAC9CE,eAAOI,cADuC,EAE9CJ,eAAOK,kBAFuC,CAA/C;AAIA,QAAMC,gBAAgB,GAAGR,wBAAwB,CAChDE,eAAOO,WADyC,EAEhDP,eAAOQ,eAFyC,CAAjD;AAKA,SACC,4BAAC,iBAAD,QACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGT;AAAd,KAA6B,cAAI,WAAJ,CAA7B,CADD,EAEC,4BAAC,sBAAD;AACC,IAAA,KAAK,EAAGL,UAAU,CAACe,IADpB;AAEC,IAAA,KAAK,EAAGN,cAFT;AAGC,IAAA,SAAS,EAAG,IAHb;AAIC,IAAA,qBAAqB,EAAC,aAJvB;AAKC,IAAA,QAAQ,EAAKM,IAAF,IAAYd,aAAa,CAAE;AAAEc,MAAAA;AAAF,KAAF,CALrC;AAMC,IAAA,WAAW,EAAG,cAAI,kBAAJ,CANf;AAOC,kBAAa,cAAI,WAAJ,CAPd;AAQC,IAAA,UAAU,EAAGhB,KAAK,CAACiB,UARpB;AASC,IAAA,OAAO,EAAGd,OATX;AAUC,IAAA,MAAM,EAAGC,MAVV;AAWC,IAAA,WAAW,EAAG,KAXf;AAYC,IAAA,YAAY,EAAC,KAZd;AAaC,IAAA,oBAAoB,EAAGS,gBAAgB,CAACK;AAbzC,IAFD,CADD;AAoBA;;eAEc,uCAA0BnB,aAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PlainText } from '@wordpress/block-editor';\nimport { withPreferredColorScheme } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\n\nimport styles from './style.scss';\n\nexport function ShortcodeEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tonFocus,\n\t\tonBlur,\n\t\tgetStylesFromColorScheme,\n\t} = props;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.blockTitle,\n\t\tstyles.blockTitleDark\n\t);\n\tconst shortcodeStyle = getStylesFromColorScheme(\n\t\tstyles.blockShortcode,\n\t\tstyles.blockShortcodeDark\n\t);\n\tconst placeholderStyle = getStylesFromColorScheme(\n\t\tstyles.placeholder,\n\t\tstyles.placeholderDark\n\t);\n\n\treturn (\n\t\t<View>\n\t\t\t<Text style={ titleStyle }>{ __( 'Shortcode' ) }</Text>\n\t\t\t<PlainText\n\t\t\t\tvalue={ attributes.text }\n\t\t\t\tstyle={ shortcodeStyle }\n\t\t\t\tmultiline={ true }\n\t\t\t\tunderlineColorAndroid=\"transparent\"\n\t\t\t\tonChange={ ( text ) => setAttributes( { text } ) }\n\t\t\t\tplaceholder={ __( 'Add a shortcode…' ) }\n\t\t\t\taria-label={ __( 'Shortcode' ) }\n\t\t\t\tisSelected={ props.isSelected }\n\t\t\t\tonFocus={ onFocus }\n\t\t\t\tonBlur={ onBlur }\n\t\t\t\tautoCorrect={ false }\n\t\t\t\tautoComplete=\"off\"\n\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( ShortcodeEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/shortcode/edit.native.js"],"names":["ShortcodeEdit","props","attributes","setAttributes","onFocus","onBlur","getStylesFromColorScheme","blockWidth","titleStyle","styles","blockTitle","blockTitleDark","shortcodeContainerStyle","blockShortcodeContainer","blockShortcodeContainerDark","shortcodeStyle","blockShortcode","blockShortcodeDark","placeholderStyle","placeholder","placeholderDark","maxWidth","paddingLeft","paddingRight","onChange","text","color"],"mappings":";;;;;;;;;;AAWA;;AARA;;AAKA;;AACA;;AACA;;AAOA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAMA;AACA;AACA;AAIO,SAASA,aAAT,CAAwBC,KAAxB,EAAgC;AACtC,QAAM;AACLC,IAAAA,UADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,OAHK;AAILC,IAAAA,MAJK;AAKLC,IAAAA,wBALK;AAMLC,IAAAA;AANK,MAOFN,KAPJ;AAQA,QAAMO,UAAU,GAAGF,wBAAwB,CAC1CG,eAAOC,UADmC,EAE1CD,eAAOE,cAFmC,CAA3C;AAIA,QAAMC,uBAAuB,GAAGN,wBAAwB,CACvDG,eAAOI,uBADgD,EAEvDJ,eAAOK,2BAFgD,CAAxD;AAIA,QAAMC,cAAc,GAAGT,wBAAwB,CAC9CG,eAAOO,cADuC,EAE9CP,eAAOQ,kBAFuC,CAA/C;AAIA,QAAMC,gBAAgB,GAAGZ,wBAAwB,CAChDG,eAAOU,WADyC,EAEhDV,eAAOW,eAFyC,CAAjD;AAKA,QAAMC,QAAQ,GACbd,UAAU,GACVK,uBAAuB,CAACU,WADxB,GAEAV,uBAAuB,CAACW,YAHzB;AAKA,QAAMC,QAAQ,GAAG,0BACdC,IAAF,IAAYtB,aAAa,CAAE;AAAEsB,IAAAA;AAAF,GAAF,CADT,EAEhB,CAAEtB,aAAF,CAFgB,CAAjB;AAKA,SACC,4BAAC,iBAAD,QACC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGK;AAAd,KAA6B,cAAI,WAAJ,CAA7B,CADD,EAEC,4BAAC,iBAAD;AAAM,IAAA,KAAK,EAAGI;AAAd,KACC,4BAAC,sBAAD;AACC,IAAA,qBAAqB,EAAG,CADzB;AAEC,IAAA,KAAK,EAAGV,UAAU,CAACuB,IAFpB;AAGC,IAAA,KAAK,EAAGV,cAHT;AAIC,IAAA,QAAQ,EAAGS,QAJZ;AAKC,IAAA,WAAW,EAAG,cAAI,kBAAJ,CALf;AAMC,IAAA,OAAO,EAAGpB,OANX;AAOC,IAAA,MAAM,EAAGC,MAPV;AAQC,IAAA,oBAAoB,EAAGa,gBAAgB,CAACQ,KARzC;AASC,IAAA,QAAQ,EAAGL,QATZ;AAUC,IAAA,qBAAqB;AAVtB,IADD,CAFD,CADD;AAmBA;;eAEc,uCAA0BrB,aAA1B,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View, Text } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PlainText } from '@wordpress/block-editor';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\n\nimport styles from './style.scss';\n\nexport function ShortcodeEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tonFocus,\n\t\tonBlur,\n\t\tgetStylesFromColorScheme,\n\t\tblockWidth,\n\t} = props;\n\tconst titleStyle = getStylesFromColorScheme(\n\t\tstyles.blockTitle,\n\t\tstyles.blockTitleDark\n\t);\n\tconst shortcodeContainerStyle = getStylesFromColorScheme(\n\t\tstyles.blockShortcodeContainer,\n\t\tstyles.blockShortcodeContainerDark\n\t);\n\tconst shortcodeStyle = getStylesFromColorScheme(\n\t\tstyles.blockShortcode,\n\t\tstyles.blockShortcodeDark\n\t);\n\tconst placeholderStyle = getStylesFromColorScheme(\n\t\tstyles.placeholder,\n\t\tstyles.placeholderDark\n\t);\n\n\tconst maxWidth =\n\t\tblockWidth -\n\t\tshortcodeContainerStyle.paddingLeft +\n\t\tshortcodeContainerStyle.paddingRight;\n\n\tconst onChange = useCallback(\n\t\t( text ) => setAttributes( { text } ),\n\t\t[ setAttributes ]\n\t);\n\n\treturn (\n\t\t<View>\n\t\t\t<Text style={ titleStyle }>{ __( 'Shortcode' ) }</Text>\n\t\t\t<View style={ shortcodeContainerStyle }>\n\t\t\t\t<PlainText\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\tvalue={ attributes.text }\n\t\t\t\t\tstyle={ shortcodeStyle }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tplaceholder={ __( 'Add a shortcode…' ) }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonBlur={ onBlur }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle.color }\n\t\t\t\t\tmaxWidth={ maxWidth }\n\t\t\t\t\tdisableAutocorrection\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</View>\n\t);\n}\n\nexport default withPreferredColorScheme( ShortcodeEdit );\n"]}
@@ -29,8 +29,6 @@ var _coreData = require("@wordpress/core-data");
29
29
 
30
30
  var _icons = require("@wordpress/icons");
31
31
 
32
- var _primitives = require("@wordpress/primitives");
33
-
34
32
  var _notices = require("@wordpress/notices");
35
33
 
36
34
  var _useClientWidth = _interopRequireDefault(require("../image/use-client-width"));
@@ -451,7 +449,7 @@ function LogoEdit(_ref2) {
451
449
  } = (0, _data.useDispatch)(_notices.store);
452
450
 
453
451
  const onUploadError = message => {
454
- createErrorNotice(message[2], {
452
+ createErrorNotice(message, {
455
453
  type: 'snackbar'
456
454
  });
457
455
  };
@@ -496,16 +494,9 @@ function LogoEdit(_ref2) {
496
494
  const placeholderClassName = (0, _classnames.default)('block-editor-media-placeholder', className);
497
495
  return (0, _element.createElement)(_components.Placeholder, {
498
496
  className: placeholderClassName,
499
- preview: logoImage
500
- }, (0, _element.createElement)(_primitives.SVG, {
501
- className: "components-placeholder__illustration",
502
- fill: "none",
503
- xmlns: "http://www.w3.org/2000/svg",
504
- viewBox: "0 0 60 60"
505
- }, (0, _element.createElement)(_primitives.Path, {
506
- vectorEffect: "non-scaling-stroke",
507
- d: "m61 32.622-13.555-9.137-15.888 9.859a5 5 0 0 1-5.386-.073l-9.095-5.989L1 37.5"
508
- })), content);
497
+ preview: logoImage,
498
+ withIllustration: true
499
+ }, content);
509
500
  };
510
501
 
511
502
  const classes = (0, _classnames.default)(className, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["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","blockEditorStore","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","coreStore","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","crop","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","noticesStore","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open","upload"],"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\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\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"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/site-logo/edit.js"],"names":["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","blockEditorStore","classes","imageEditing","maxWidth","title","select","getSettings","siteEntities","coreStore","getEditedEntityRecord","onResizeStart","onResizeStop","img","event","target","imgWrapper","preventDefault","imageWidthWithinContainer","exceedMaxWidth","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","imageAttributes","id","top","right","bottom","left","direction","elt","delta","parseInt","syncSiteIconHelpText","a","newWidth","min","value","undefined","crop","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","noticesStore","onUploadError","message","type","controls","logoImage","isLoading","placeholder","content","placeholderClassName","blockProps","label","open","upload"],"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 { 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 } =\n\t\t\tselect( coreStore );\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\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\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, { 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\twithIllustration={ true }\n\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 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/social-links/deprecated.js"],"names":["migrateWithLayout","attributes","layout","className","prefix","justifiedItemsRegex","RegExp","newAttributes","replace","trim","justifyContent","match","Object","assign","type","slice","length","deprecated","iconColor","customIconColor","iconColorValue","iconBackgroundColor","customIconBackgroundColor","iconBackgroundColorValue","openInNewTab","default","size","providesContext","supports","align","anchor","migrate","save","props","itemsJustification","style","useBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * The specific handling by `className` below is needed because `itemsJustification`\n * was introduced in https://github.com/WordPress/gutenberg/pull/28980/files and wasn't\n * declared in block.json.\n *\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\tconst { className } = attributes;\n\t// Matches classes with `items-justified-` prefix.\n\tconst prefix = `items-justified-`;\n\tconst justifiedItemsRegex = new RegExp( `\\\\b${ prefix }[^ ]*[ ]?\\\\b`, 'g' );\n\tconst newAttributes = {\n\t\t...attributes,\n\t\tclassName: className?.replace( justifiedItemsRegex, '' ).trim(),\n\t};\n\t/**\n\t * Add `layout` prop only if `justifyContent` is defined, for backwards\n\t * compatibility. In other cases the block's default layout will be used.\n\t * Also noting that due to the missing attribute, it's possible for a block\n\t * to have more than one of `justified` classes.\n\t */\n\tconst justifyContent = className\n\t\t?.match( justifiedItemsRegex )?.[ 0 ]\n\t\t?.trim();\n\tif ( justifyContent ) {\n\t\tObject.assign( newAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tjustifyContent: justifyContent.slice( prefix.length ),\n\t\t\t},\n\t\t} );\n\t}\n\treturn newAttributes;\n};\n\n// Social Links block deprecations.\nconst deprecated = [\n\t// V1. Remove CSS variable use for colors.\n\t{\n\t\tattributes: {\n\t\t\ticonColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomIconColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonColorValue: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomIconBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonBackgroundColorValue: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\topenInNewTab: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tprovidesContext: {\n\t\t\topenInNewTab: 'openInNewTab',\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'left', 'center', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tmigrate: migrateWithLayout,\n\t\tsave: ( props ) => {\n\t\t\tconst {\n\t\t\t\tattributes: {\n\t\t\t\t\ticonBackgroundColorValue,\n\t\t\t\t\ticonColorValue,\n\t\t\t\t\titemsJustification,\n\t\t\t\t\tsize,\n\t\t\t\t},\n\t\t\t} = props;\n\n\t\t\tconst className = classNames( size, {\n\t\t\t\t'has-icon-color': iconColorValue,\n\t\t\t\t'has-icon-background-color': iconBackgroundColorValue,\n\t\t\t\t[ `items-justified-${ itemsJustification }` ]: itemsJustification,\n\t\t\t} );\n\n\t\t\tconst style = {\n\t\t\t\t'--wp--social-links--icon-color': iconColorValue,\n\t\t\t\t'--wp--social-links--icon-background-color': iconBackgroundColorValue,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<ul { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</ul>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/social-links/deprecated.js"],"names":["migrateWithLayout","attributes","layout","className","prefix","justifiedItemsRegex","RegExp","newAttributes","replace","trim","justifyContent","match","Object","assign","type","slice","length","deprecated","iconColor","customIconColor","iconColorValue","iconBackgroundColor","customIconBackgroundColor","iconBackgroundColorValue","openInNewTab","default","size","providesContext","supports","align","anchor","migrate","save","props","itemsJustification","style","useBlockProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * The specific handling by `className` below is needed because `itemsJustification`\n * was introduced in https://github.com/WordPress/gutenberg/pull/28980/files and wasn't\n * declared in block.json.\n *\n * @param {Object} attributes Block's attributes.\n */\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\tconst { className } = attributes;\n\t// Matches classes with `items-justified-` prefix.\n\tconst prefix = `items-justified-`;\n\tconst justifiedItemsRegex = new RegExp( `\\\\b${ prefix }[^ ]*[ ]?\\\\b`, 'g' );\n\tconst newAttributes = {\n\t\t...attributes,\n\t\tclassName: className?.replace( justifiedItemsRegex, '' ).trim(),\n\t};\n\t/**\n\t * Add `layout` prop only if `justifyContent` is defined, for backwards\n\t * compatibility. In other cases the block's default layout will be used.\n\t * Also noting that due to the missing attribute, it's possible for a block\n\t * to have more than one of `justified` classes.\n\t */\n\tconst justifyContent = className\n\t\t?.match( justifiedItemsRegex )?.[ 0 ]\n\t\t?.trim();\n\tif ( justifyContent ) {\n\t\tObject.assign( newAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tjustifyContent: justifyContent.slice( prefix.length ),\n\t\t\t},\n\t\t} );\n\t}\n\treturn newAttributes;\n};\n\n// Social Links block deprecations.\nconst deprecated = [\n\t// V1. Remove CSS variable use for colors.\n\t{\n\t\tattributes: {\n\t\t\ticonColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomIconColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonColorValue: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomIconBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ticonBackgroundColorValue: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\topenInNewTab: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tprovidesContext: {\n\t\t\topenInNewTab: 'openInNewTab',\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'left', 'center', 'right' ],\n\t\t\tanchor: true,\n\t\t},\n\t\tmigrate: migrateWithLayout,\n\t\tsave: ( props ) => {\n\t\t\tconst {\n\t\t\t\tattributes: {\n\t\t\t\t\ticonBackgroundColorValue,\n\t\t\t\t\ticonColorValue,\n\t\t\t\t\titemsJustification,\n\t\t\t\t\tsize,\n\t\t\t\t},\n\t\t\t} = props;\n\n\t\t\tconst className = classNames( size, {\n\t\t\t\t'has-icon-color': iconColorValue,\n\t\t\t\t'has-icon-background-color': iconBackgroundColorValue,\n\t\t\t\t[ `items-justified-${ itemsJustification }` ]:\n\t\t\t\t\titemsJustification,\n\t\t\t} );\n\n\t\t\tconst style = {\n\t\t\t\t'--wp--social-links--icon-color': iconColorValue,\n\t\t\t\t'--wp--social-links--icon-background-color':\n\t\t\t\t\ticonBackgroundColorValue,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<ul { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</ul>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
@@ -198,11 +198,11 @@ function SocialLinksEdit(props) {
198
198
  __experimentalIsRenderedInSidebar: true,
199
199
  title: (0, _i18n.__)('Color'),
200
200
  colorSettings: colorSettings
201
- }), !logosOnly && (0, _element.createElement)(_blockEditor.ContrastChecker, {
201
+ }, !logosOnly && (0, _element.createElement)(_blockEditor.ContrastChecker, {
202
202
  textColor: iconColorValue,
203
203
  backgroundColor: iconBackgroundColorValue,
204
204
  isLargeText: false
205
- })), (0, _element.createElement)("ul", innerBlocksProps));
205
+ }))), (0, _element.createElement)("ul", innerBlocksProps));
206
206
  }
207
207
 
208
208
  const iconColorAttributes = {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","getDefaultBlockLayout","blockTypeOrName","layoutBlockSupportConfig","default","SocialLinksEdit","props","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","layout","usedLayout","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","__experimentalAppenderTagName","__experimentalLayout","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","push","onClose","map","entry","check","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { Fragment, useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\tPanelColorSettings,\n\twithColors,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nconst getDefaultBlockLayout = ( blockTypeOrName ) => {\n\tconst layoutBlockSupportConfig = getBlockSupport(\n\t\tblockTypeOrName,\n\t\t'__experimentalLayout'\n\t);\n\treturn layoutBlockSupportConfig?.default;\n};\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tname,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t\tlayout,\n\t} = attributes;\n\tconst usedLayout = layout || getDefaultBlockLayout( name );\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\t__experimentalAppenderTagName: 'li',\n\t\t__experimentalLayout: usedLayout,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\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\tsize: entry.value,\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\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tcolorSettings={ colorSettings }\n\t\t\t\t/>\n\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</Fragment>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/social-links/edit.js"],"names":["ALLOWED_BLOCKS","sizeOptions","name","value","getDefaultBlockLayout","blockTypeOrName","layoutBlockSupportConfig","default","SocialLinksEdit","props","attributes","iconBackgroundColor","iconColor","isSelected","setAttributes","setIconBackgroundColor","setIconColor","iconBackgroundColorValue","customIconBackgroundColor","iconColorValue","openInNewTab","showLabels","size","layout","usedLayout","logosOnly","className","includes","backgroundBackup","current","undefined","SocialPlaceholder","SelectedSocialPlaceholder","color","blockProps","innerBlocksProps","allowedBlocks","placeholder","templateLock","__experimentalAppenderTagName","__experimentalLayout","POPOVER_PROPS","position","colorSettings","onChange","colorValue","label","push","onClose","map","entry","check","textColor","backgroundColor","iconColorAttributes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlockSupport } from '@wordpress/blocks';\nimport { Fragment, useEffect, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n\tInspectorControls,\n\tContrastChecker,\n\tPanelColorSettings,\n\twithColors,\n} from '@wordpress/block-editor';\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPanelBody,\n\tToggleControl,\n\tToolbarDropdownMenu,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { check } from '@wordpress/icons';\n\nconst ALLOWED_BLOCKS = [ 'core/social-link' ];\n\nconst sizeOptions = [\n\t{ name: __( 'Small' ), value: 'has-small-icon-size' },\n\t{ name: __( 'Normal' ), value: 'has-normal-icon-size' },\n\t{ name: __( 'Large' ), value: 'has-large-icon-size' },\n\t{ name: __( 'Huge' ), value: 'has-huge-icon-size' },\n];\n\nconst getDefaultBlockLayout = ( blockTypeOrName ) => {\n\tconst layoutBlockSupportConfig = getBlockSupport(\n\t\tblockTypeOrName,\n\t\t'__experimentalLayout'\n\t);\n\treturn layoutBlockSupportConfig?.default;\n};\n\nexport function SocialLinksEdit( props ) {\n\tconst {\n\t\tname,\n\t\tattributes,\n\t\ticonBackgroundColor,\n\t\ticonColor,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tsetIconBackgroundColor,\n\t\tsetIconColor,\n\t} = props;\n\n\tconst {\n\t\ticonBackgroundColorValue,\n\t\tcustomIconBackgroundColor,\n\t\ticonColorValue,\n\t\topenInNewTab,\n\t\tshowLabels,\n\t\tsize,\n\t\tlayout,\n\t} = attributes;\n\tconst usedLayout = layout || getDefaultBlockLayout( name );\n\n\tconst logosOnly = attributes.className?.includes( 'is-style-logos-only' );\n\n\t// Remove icon background color when logos only style is selected or\n\t// restore it when any other style is selected.\n\tconst backgroundBackup = useRef( {} );\n\tuseEffect( () => {\n\t\tif ( logosOnly ) {\n\t\t\tbackgroundBackup.current = {\n\t\t\t\ticonBackgroundColor,\n\t\t\t\ticonBackgroundColorValue,\n\t\t\t\tcustomIconBackgroundColor,\n\t\t\t};\n\t\t\tsetAttributes( {\n\t\t\t\ticonBackgroundColor: undefined,\n\t\t\t\tcustomIconBackgroundColor: undefined,\n\t\t\t\ticonBackgroundColorValue: undefined,\n\t\t\t} );\n\t\t} else {\n\t\t\tsetAttributes( { ...backgroundBackup.current } );\n\t\t}\n\t}, [ logosOnly ] );\n\n\tconst SocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-placeholder\">\n\t\t\t<div className=\"wp-block-social-links__social-placeholder-icons\">\n\t\t\t\t<div className=\"wp-social-link wp-social-link-twitter\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-facebook\"></div>\n\t\t\t\t<div className=\"wp-social-link wp-social-link-instagram\"></div>\n\t\t\t</div>\n\t\t</li>\n\t);\n\n\tconst SelectedSocialPlaceholder = (\n\t\t<li className=\"wp-block-social-links__social-prompt\">\n\t\t\t{ __( 'Click plus to add' ) }\n\t\t</li>\n\t);\n\n\t// Fallback color values are used maintain selections in case switching\n\t// themes and named colors in palette do not match.\n\tconst className = classNames( size, {\n\t\t'has-icon-color': iconColor.color || iconColorValue,\n\t\t'has-icon-background-color':\n\t\t\ticonBackgroundColor.color || iconBackgroundColorValue,\n\t} );\n\n\tconst blockProps = useBlockProps( { className } );\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\tplaceholder: isSelected ? SelectedSocialPlaceholder : SocialPlaceholder,\n\t\ttemplateLock: false,\n\t\t__experimentalAppenderTagName: 'li',\n\t\t__experimentalLayout: usedLayout,\n\t} );\n\n\tconst POPOVER_PROPS = {\n\t\tposition: 'bottom right',\n\t};\n\n\tconst colorSettings = [\n\t\t{\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconColor.color || iconColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconColor( colorValue );\n\t\t\t\tsetAttributes( { iconColorValue: colorValue } );\n\t\t\t},\n\t\t\tlabel: __( 'Icon color' ),\n\t\t},\n\t];\n\n\tif ( ! logosOnly ) {\n\t\tcolorSettings.push( {\n\t\t\t// Use custom attribute as fallback to prevent loss of named color selection when\n\t\t\t// switching themes to a new theme that does not have a matching named color.\n\t\t\tvalue: iconBackgroundColor.color || iconBackgroundColorValue,\n\t\t\tonChange: ( colorValue ) => {\n\t\t\t\tsetIconBackgroundColor( colorValue );\n\t\t\t\tsetAttributes( {\n\t\t\t\t\ticonBackgroundColorValue: colorValue,\n\t\t\t\t} );\n\t\t\t},\n\t\t\tlabel: __( 'Icon background' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<Fragment>\n\t\t\t<BlockControls group=\"other\">\n\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\t\ttext={ __( 'Size' ) }\n\t\t\t\t\ticon={ null }\n\t\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\t>\n\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t{ sizeOptions.map( ( entry ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t( size === entry.value ||\n\t\t\t\t\t\t\t\t\t\t\t\t( ! size &&\n\t\t\t\t\t\t\t\t\t\t\t\t\tentry.value ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'has-normal-icon-size' ) ) &&\n\t\t\t\t\t\t\t\t\t\t\tcheck\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tisSelected={ size === entry.value }\n\t\t\t\t\t\t\t\t\t\tkey={ entry.value }\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\tsize: entry.value,\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\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\t\trole=\"menuitemradio\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ entry.name }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open links in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewTab }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { openInNewTab: ! openInNewTab } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show labels' ) }\n\t\t\t\t\t\tchecked={ showLabels }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showLabels: ! showLabels } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tcolorSettings={ colorSettings }\n\t\t\t\t>\n\t\t\t\t\t{ ! logosOnly && (\n\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\ttextColor: iconColorValue,\n\t\t\t\t\t\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisLargeText={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t</InspectorControls>\n\t\t\t<ul { ...innerBlocksProps } />\n\t\t</Fragment>\n\t);\n}\n\nconst iconColorAttributes = {\n\ticonColor: 'icon-color',\n\ticonBackgroundColor: 'icon-background-color',\n};\n\nexport default withColors( iconColorAttributes )( SocialLinksEdit );\n"]}