@wordpress/block-library 6.0.1 → 6.0.5

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 (1093) hide show
  1. package/build/block/edit.js +1 -1
  2. package/build/block/edit.js.map +1 -1
  3. package/build/button/deprecated.js +155 -10
  4. package/build/button/deprecated.js.map +1 -1
  5. package/build/button/edit.native.js +257 -330
  6. package/build/button/edit.native.js.map +1 -1
  7. package/build/button/index.js +4 -1
  8. package/build/button/index.js.map +1 -1
  9. package/build/buttons/deprecated.js +84 -2
  10. package/build/buttons/deprecated.js.map +1 -1
  11. package/build/buttons/edit.js +6 -42
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/buttons/index.js +16 -14
  14. package/build/buttons/index.js.map +1 -1
  15. package/build/buttons/save.js +4 -20
  16. package/build/buttons/save.js.map +1 -1
  17. package/build/buttons/transforms.js +15 -10
  18. package/build/buttons/transforms.js.map +1 -1
  19. package/build/categories/edit.js +16 -6
  20. package/build/categories/edit.js.map +1 -1
  21. package/build/categories/index.js +4 -0
  22. package/build/categories/index.js.map +1 -1
  23. package/build/code/edit.native.js +8 -5
  24. package/build/code/edit.native.js.map +1 -1
  25. package/build/code/index.js +24 -1
  26. package/build/code/index.js.map +1 -1
  27. package/build/column/edit.js +4 -2
  28. package/build/column/edit.js.map +1 -1
  29. package/build/column/index.js +4 -0
  30. package/build/column/index.js.map +1 -1
  31. package/build/column/save.js +7 -3
  32. package/build/column/save.js.map +1 -1
  33. package/build/columns/edit.js +1 -1
  34. package/build/columns/edit.js.map +1 -1
  35. package/build/columns/index.js +1 -0
  36. package/build/columns/index.js.map +1 -1
  37. package/build/columns/save.js +7 -2
  38. package/build/columns/save.js.map +1 -1
  39. package/build/comment-author-avatar/edit.js +83 -0
  40. package/build/comment-author-avatar/edit.js.map +1 -0
  41. package/build/{post-comment-date → comment-author-avatar}/index.js +25 -9
  42. package/build/comment-author-avatar/index.js.map +1 -0
  43. package/build/comment-author-name/deprecated.js +69 -0
  44. package/build/comment-author-name/deprecated.js.map +1 -0
  45. package/build/comment-author-name/edit.js +112 -0
  46. package/build/comment-author-name/edit.js.map +1 -0
  47. package/build/comment-author-name/index.js +77 -0
  48. package/build/comment-author-name/index.js.map +1 -0
  49. package/build/comment-content/edit.js +74 -0
  50. package/build/comment-content/edit.js.map +1 -0
  51. package/build/comment-content/index.js +68 -0
  52. package/build/comment-content/index.js.map +1 -0
  53. package/build/comment-date/deprecated.js +68 -0
  54. package/build/comment-date/deprecated.js.map +1 -0
  55. package/build/comment-date/edit.js +95 -0
  56. package/build/comment-date/edit.js.map +1 -0
  57. package/build/comment-date/index.js +72 -0
  58. package/build/comment-date/index.js.map +1 -0
  59. package/build/comment-edit-link/edit.js +61 -0
  60. package/build/comment-edit-link/edit.js.map +1 -0
  61. package/build/comment-edit-link/index.js +67 -0
  62. package/build/comment-edit-link/index.js.map +1 -0
  63. package/build/comment-reply-link/edit.js +63 -0
  64. package/build/comment-reply-link/edit.js.map +1 -0
  65. package/build/comment-reply-link/index.js +63 -0
  66. package/build/comment-reply-link/index.js.map +1 -0
  67. package/build/comment-template/edit.js +82 -0
  68. package/build/comment-template/edit.js.map +1 -0
  69. package/build/{post-comment-content → comment-template}/index.js +13 -8
  70. package/build/comment-template/index.js.map +1 -0
  71. package/build/comment-template/save.js +18 -0
  72. package/build/comment-template/save.js.map +1 -0
  73. package/build/comments-query-loop/edit.js +64 -0
  74. package/build/comments-query-loop/edit.js.map +1 -0
  75. package/build/comments-query-loop/index.js +67 -0
  76. package/build/comments-query-loop/index.js.map +1 -0
  77. package/build/comments-query-loop/save.js +22 -0
  78. package/build/comments-query-loop/save.js.map +1 -0
  79. package/build/comments-query-loop/toolbar.js +54 -0
  80. package/build/comments-query-loop/toolbar.js.map +1 -0
  81. package/build/cover/deprecated.js +180 -20
  82. package/build/cover/deprecated.js.map +1 -1
  83. package/build/cover/edit.js +62 -28
  84. package/build/cover/edit.js.map +1 -1
  85. package/build/cover/edit.native.js +6 -2
  86. package/build/cover/edit.native.js.map +1 -1
  87. package/build/cover/index.js +12 -1
  88. package/build/cover/index.js.map +1 -1
  89. package/build/cover/save.js +17 -14
  90. package/build/cover/save.js.map +1 -1
  91. package/build/cover/shared.js +3 -2
  92. package/build/cover/shared.js.map +1 -1
  93. package/build/embed/edit.native.js +4 -8
  94. package/build/embed/edit.native.js.map +1 -1
  95. package/build/embed/embed-bottom-sheet.native.js +4 -5
  96. package/build/embed/embed-bottom-sheet.native.js.map +1 -1
  97. package/build/embed/embed-no-preview.native.js +2 -1
  98. package/build/embed/embed-no-preview.native.js.map +1 -1
  99. package/build/embed/icons.js +16 -1
  100. package/build/embed/icons.js.map +1 -1
  101. package/build/embed/transforms.native.js +3 -1
  102. package/build/embed/transforms.native.js.map +1 -1
  103. package/build/embed/variations.js +20 -0
  104. package/build/embed/variations.js.map +1 -1
  105. package/build/freeform/edit.js +16 -4
  106. package/build/freeform/edit.js.map +1 -1
  107. package/build/gallery/edit.js +7 -0
  108. package/build/gallery/edit.js.map +1 -1
  109. package/build/gallery/gallery.js +1 -1
  110. package/build/gallery/gallery.js.map +1 -1
  111. package/build/gallery/gallery.native.js +1 -1
  112. package/build/gallery/gallery.native.js.map +1 -1
  113. package/build/gallery/index.js +6 -1
  114. package/build/gallery/index.js.map +1 -1
  115. package/build/gallery/save.js +7 -2
  116. package/build/gallery/save.js.map +1 -1
  117. package/build/gallery/shared.js +0 -7
  118. package/build/gallery/shared.js.map +1 -1
  119. package/build/gallery/use-get-media.js +4 -10
  120. package/build/gallery/use-get-media.js.map +1 -1
  121. package/build/gallery/use-mobile-warning.js +43 -0
  122. package/build/gallery/use-mobile-warning.js.map +1 -0
  123. package/build/group/edit.js +1 -1
  124. package/build/group/edit.js.map +1 -1
  125. package/build/group/index.js +1 -0
  126. package/build/group/index.js.map +1 -1
  127. package/build/group/save.js +4 -5
  128. package/build/group/save.js.map +1 -1
  129. package/build/group/variations.js +2 -1
  130. package/build/group/variations.js.map +1 -1
  131. package/build/heading/autogenerate-anchors.js +90 -0
  132. package/build/heading/autogenerate-anchors.js.map +1 -0
  133. package/build/heading/edit.js +42 -5
  134. package/build/heading/edit.js.map +1 -1
  135. package/build/heading/index.js +14 -2
  136. package/build/heading/index.js.map +1 -1
  137. package/build/heading/transforms.js +14 -2
  138. package/build/heading/transforms.js.map +1 -1
  139. package/build/image/edit.native.js +126 -60
  140. package/build/image/edit.native.js.map +1 -1
  141. package/build/image/index.js +1 -1
  142. package/build/image/transforms.js +2 -1
  143. package/build/image/transforms.js.map +1 -1
  144. package/build/index.js +83 -70
  145. package/build/index.js.map +1 -1
  146. package/build/index.native.js +3 -1
  147. package/build/index.native.js.map +1 -1
  148. package/build/list/deprecated.js +111 -0
  149. package/build/list/deprecated.js.map +1 -0
  150. package/build/list/index.js +15 -3
  151. package/build/list/index.js.map +1 -1
  152. package/build/media-text/edit.js +1 -1
  153. package/build/media-text/edit.js.map +1 -1
  154. package/build/media-text/save.js +3 -3
  155. package/build/media-text/save.js.map +1 -1
  156. package/build/navigation/deprecated.js +340 -23
  157. package/build/navigation/deprecated.js.map +1 -1
  158. package/build/navigation/edit/index.js +372 -0
  159. package/build/navigation/edit/index.js.map +1 -0
  160. package/build/navigation/edit/inner-blocks.js +100 -0
  161. package/build/navigation/edit/inner-blocks.js.map +1 -0
  162. package/build/navigation/edit/navigation-menu-delete-control.js +60 -0
  163. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  164. package/build/navigation/edit/navigation-menu-name-control.js +27 -0
  165. package/build/navigation/edit/navigation-menu-name-control.js.map +1 -0
  166. package/build/navigation/edit/navigation-menu-name-modal.js +54 -0
  167. package/build/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  168. package/build/navigation/edit/navigation-menu-publish-button.js +53 -0
  169. package/build/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  170. package/build/navigation/edit/navigation-menu-selector.js +49 -0
  171. package/build/navigation/edit/navigation-menu-selector.js.map +1 -0
  172. package/build/navigation/edit/placeholder/index.js +207 -0
  173. package/build/navigation/edit/placeholder/index.js.map +1 -0
  174. package/build/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +14 -2
  175. package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  176. package/build/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +9 -5
  177. package/build/navigation/edit/responsive-wrapper.js.map +1 -0
  178. package/build/navigation/edit/unsaved-inner-blocks.js +153 -0
  179. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  180. package/build/navigation/{block-navigation-list.js → edit/use-list-view-modal.js} +34 -3
  181. package/build/navigation/edit/use-list-view-modal.js.map +1 -0
  182. package/build/navigation/index.js +25 -13
  183. package/build/navigation/index.js.map +1 -1
  184. package/build/navigation/save.js +10 -1
  185. package/build/navigation/save.js.map +1 -1
  186. package/build/navigation/use-navigation-menu.js +40 -0
  187. package/build/navigation/use-navigation-menu.js.map +1 -0
  188. package/build/navigation/use-template-part-area-label.js +74 -0
  189. package/build/navigation/use-template-part-area-label.js.map +1 -0
  190. package/build/navigation/view.js +29 -26
  191. package/build/navigation/view.js.map +1 -1
  192. package/build/navigation-area/edit.js +97 -0
  193. package/build/navigation-area/edit.js.map +1 -0
  194. package/build/navigation-area/index.js +61 -0
  195. package/build/navigation-area/index.js.map +1 -0
  196. package/build/navigation-area/inner-blocks.js +33 -0
  197. package/build/navigation-area/inner-blocks.js.map +1 -0
  198. package/build/navigation-area/save.js +18 -0
  199. package/build/navigation-area/save.js.map +1 -0
  200. package/build/navigation-link/edit.js +69 -7
  201. package/build/navigation-link/edit.js.map +1 -1
  202. package/build/navigation-link/transforms.js +5 -1
  203. package/build/navigation-link/transforms.js.map +1 -1
  204. package/build/navigation-submenu/edit.js +2 -2
  205. package/build/navigation-submenu/edit.js.map +1 -1
  206. package/build/page-list/edit.js +125 -84
  207. package/build/page-list/edit.js.map +1 -1
  208. package/build/page-list/index.js +1 -35
  209. package/build/page-list/index.js.map +1 -1
  210. package/build/paragraph/edit.native.js +2 -1
  211. package/build/paragraph/edit.native.js.map +1 -1
  212. package/build/paragraph/index.js +8 -1
  213. package/build/paragraph/index.js.map +1 -1
  214. package/build/paragraph/transforms.js +8 -1
  215. package/build/paragraph/transforms.js.map +1 -1
  216. package/build/pattern/edit.js +43 -0
  217. package/build/pattern/edit.js.map +1 -0
  218. package/build/{post-comment-author → pattern}/index.js +11 -10
  219. package/build/pattern/index.js.map +1 -0
  220. package/build/post-author/index.js +12 -1
  221. package/build/post-author/index.js.map +1 -1
  222. package/build/post-comment/edit.js +7 -8
  223. package/build/post-comment/edit.js.map +1 -1
  224. package/build/post-comment/index.js +4 -3
  225. package/build/post-comment/index.js.map +1 -1
  226. package/build/post-comment/save.js +5 -1
  227. package/build/post-comment/save.js.map +1 -1
  228. package/build/post-comments/index.js +8 -1
  229. package/build/post-comments/index.js.map +1 -1
  230. package/build/post-comments-count/index.js +7 -1
  231. package/build/post-comments-count/index.js.map +1 -1
  232. package/build/post-comments-form/index.js +9 -2
  233. package/build/post-comments-form/index.js.map +1 -1
  234. package/build/post-comments-link/index.js +8 -1
  235. package/build/post-comments-link/index.js.map +1 -1
  236. package/build/post-content/edit.js +2 -2
  237. package/build/post-content/edit.js.map +1 -1
  238. package/build/post-date/deprecated.js +71 -0
  239. package/build/post-date/deprecated.js.map +1 -0
  240. package/build/post-date/edit.js +1 -1
  241. package/build/post-date/edit.js.map +1 -1
  242. package/build/post-date/index.js +12 -2
  243. package/build/post-date/index.js.map +1 -1
  244. package/build/post-excerpt/edit.js +1 -1
  245. package/build/post-excerpt/edit.js.map +1 -1
  246. package/build/post-excerpt/index.js +12 -1
  247. package/build/post-excerpt/index.js.map +1 -1
  248. package/build/post-featured-image/index.js +5 -1
  249. package/build/post-featured-image/index.js.map +1 -1
  250. package/build/post-navigation-link/index.js +8 -1
  251. package/build/post-navigation-link/index.js.map +1 -1
  252. package/build/post-template/edit.js +8 -4
  253. package/build/post-template/edit.js.map +1 -1
  254. package/build/post-terms/edit.js +2 -6
  255. package/build/post-terms/edit.js.map +1 -1
  256. package/build/post-terms/index.js +7 -1
  257. package/build/post-terms/index.js.map +1 -1
  258. package/build/post-terms/use-post-terms.js +3 -1
  259. package/build/post-terms/use-post-terms.js.map +1 -1
  260. package/build/post-title/deprecated.js +84 -0
  261. package/build/post-title/deprecated.js.map +1 -0
  262. package/build/post-title/edit.js +1 -1
  263. package/build/post-title/edit.js.map +1 -1
  264. package/build/post-title/index.js +14 -2
  265. package/build/post-title/index.js.map +1 -1
  266. package/build/preformatted/edit.js +5 -2
  267. package/build/preformatted/edit.js.map +1 -1
  268. package/build/preformatted/edit.native.js +16 -6
  269. package/build/preformatted/edit.native.js.map +1 -1
  270. package/build/preformatted/index.js +9 -1
  271. package/build/preformatted/index.js.map +1 -1
  272. package/build/pullquote/blockquote.native.js +14 -2
  273. package/build/pullquote/blockquote.native.js.map +1 -1
  274. package/build/pullquote/edit.native.js +124 -0
  275. package/build/pullquote/edit.native.js.map +1 -0
  276. package/build/pullquote/figure.native.js +20 -8
  277. package/build/pullquote/figure.native.js.map +1 -1
  278. package/build/pullquote/index.js +12 -0
  279. package/build/pullquote/index.js.map +1 -1
  280. package/build/query/edit/index.js +1 -1
  281. package/build/query/edit/index.js.map +1 -1
  282. package/build/query/save.js +5 -1
  283. package/build/query/save.js.map +1 -1
  284. package/build/query-pagination/edit.js +1 -1
  285. package/build/query-pagination/edit.js.map +1 -1
  286. package/build/query-pagination-next/index.js +8 -1
  287. package/build/query-pagination-next/index.js.map +1 -1
  288. package/build/query-pagination-previous/index.js +8 -1
  289. package/build/query-pagination-previous/index.js.map +1 -1
  290. package/build/query-title/deprecated.js +70 -0
  291. package/build/query-title/deprecated.js.map +1 -0
  292. package/build/query-title/index.js +17 -2
  293. package/build/query-title/index.js.map +1 -1
  294. package/build/quote/deprecated.js +9 -0
  295. package/build/quote/deprecated.js.map +1 -1
  296. package/build/quote/index.js +17 -1
  297. package/build/quote/index.js.map +1 -1
  298. package/build/search/edit.js +27 -1
  299. package/build/search/edit.js.map +1 -1
  300. package/build/search/edit.native.js +38 -7
  301. package/build/search/edit.native.js.map +1 -1
  302. package/build/separator/separator-settings.js +1 -0
  303. package/build/separator/separator-settings.js.map +1 -1
  304. package/build/site-logo/edit.js +46 -21
  305. package/build/site-logo/edit.js.map +1 -1
  306. package/build/site-logo/index.js +6 -0
  307. package/build/site-logo/index.js.map +1 -1
  308. package/build/site-tagline/deprecated.js +68 -0
  309. package/build/site-tagline/deprecated.js.map +1 -0
  310. package/build/site-tagline/index.js +11 -3
  311. package/build/site-tagline/index.js.map +1 -1
  312. package/build/site-title/deprecated.js +81 -0
  313. package/build/site-title/deprecated.js.map +1 -0
  314. package/build/site-title/index.js +15 -2
  315. package/build/site-title/index.js.map +1 -1
  316. package/build/social-links/edit.js +2 -1
  317. package/build/social-links/edit.js.map +1 -1
  318. package/build/social-links/index.js +1 -0
  319. package/build/social-links/index.js.map +1 -1
  320. package/build/social-links/save.js +7 -2
  321. package/build/social-links/save.js.map +1 -1
  322. package/build/table/index.js +11 -0
  323. package/build/table/index.js.map +1 -1
  324. package/build/template-part/edit/inner-blocks.js +1 -1
  325. package/build/template-part/edit/inner-blocks.js.map +1 -1
  326. package/build/template-part/edit/placeholder/index.js +3 -3
  327. package/build/template-part/edit/placeholder/index.js.map +1 -1
  328. package/build/template-part/edit/placeholder/patterns-setup.js +3 -2
  329. package/build/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  330. package/build/template-part/edit/selection/template-part-previews.js +1 -1
  331. package/build/template-part/edit/selection/template-part-previews.js.map +1 -1
  332. package/build/template-part/variations.js +1 -1
  333. package/build/template-part/variations.js.map +1 -1
  334. package/build/term-description/edit.js +1 -1
  335. package/build/term-description/edit.js.map +1 -1
  336. package/build/term-description/index.js +4 -1
  337. package/build/term-description/index.js.map +1 -1
  338. package/build/utils/clean-empty-object.js +31 -0
  339. package/build/utils/clean-empty-object.js.map +1 -0
  340. package/build/utils/migrate-font-family.js +49 -0
  341. package/build/utils/migrate-font-family.js.map +1 -0
  342. package/build/verse/deprecated.js +93 -14
  343. package/build/verse/deprecated.js.map +1 -1
  344. package/build/verse/index.js +10 -1
  345. package/build/verse/index.js.map +1 -1
  346. package/build-module/block/edit.js +1 -1
  347. package/build-module/block/edit.js.map +1 -1
  348. package/build-module/button/deprecated.js +155 -11
  349. package/build-module/button/deprecated.js.map +1 -1
  350. package/build-module/button/edit.native.js +259 -331
  351. package/build-module/button/edit.native.js.map +1 -1
  352. package/build-module/button/index.js +4 -1
  353. package/build-module/button/index.js.map +1 -1
  354. package/build-module/buttons/deprecated.js +82 -3
  355. package/build-module/buttons/deprecated.js.map +1 -1
  356. package/build-module/buttons/edit.js +6 -39
  357. package/build-module/buttons/edit.js.map +1 -1
  358. package/build-module/buttons/index.js +16 -13
  359. package/build-module/buttons/index.js.map +1 -1
  360. package/build-module/buttons/save.js +4 -18
  361. package/build-module/buttons/save.js.map +1 -1
  362. package/build-module/buttons/transforms.js +15 -10
  363. package/build-module/buttons/transforms.js.map +1 -1
  364. package/build-module/categories/edit.js +16 -6
  365. package/build-module/categories/edit.js.map +1 -1
  366. package/build-module/categories/index.js +4 -0
  367. package/build-module/categories/index.js.map +1 -1
  368. package/build-module/code/edit.native.js +9 -5
  369. package/build-module/code/edit.native.js.map +1 -1
  370. package/build-module/code/index.js +24 -1
  371. package/build-module/code/index.js.map +1 -1
  372. package/build-module/column/edit.js +4 -2
  373. package/build-module/column/edit.js.map +1 -1
  374. package/build-module/column/index.js +4 -0
  375. package/build-module/column/index.js.map +1 -1
  376. package/build-module/column/save.js +6 -4
  377. package/build-module/column/save.js.map +1 -1
  378. package/build-module/columns/edit.js +1 -1
  379. package/build-module/columns/edit.js.map +1 -1
  380. package/build-module/columns/index.js +1 -0
  381. package/build-module/columns/index.js.map +1 -1
  382. package/build-module/columns/save.js +5 -3
  383. package/build-module/columns/save.js.map +1 -1
  384. package/build-module/comment-author-avatar/edit.js +69 -0
  385. package/build-module/comment-author-avatar/edit.js.map +1 -0
  386. package/build-module/comment-author-avatar/index.js +52 -0
  387. package/build-module/comment-author-avatar/index.js.map +1 -0
  388. package/build-module/comment-author-name/deprecated.js +58 -0
  389. package/build-module/comment-author-name/deprecated.js.map +1 -0
  390. package/build-module/comment-author-name/edit.js +97 -0
  391. package/build-module/comment-author-name/edit.js.map +1 -0
  392. package/build-module/comment-author-name/index.js +63 -0
  393. package/build-module/comment-author-name/index.js.map +1 -0
  394. package/build-module/comment-content/edit.js +61 -0
  395. package/build-module/comment-content/edit.js.map +1 -0
  396. package/build-module/comment-content/index.js +55 -0
  397. package/build-module/comment-content/index.js.map +1 -0
  398. package/build-module/comment-date/deprecated.js +57 -0
  399. package/build-module/comment-date/deprecated.js.map +1 -0
  400. package/build-module/comment-date/edit.js +85 -0
  401. package/build-module/comment-date/edit.js.map +1 -0
  402. package/build-module/comment-date/index.js +58 -0
  403. package/build-module/comment-date/index.js.map +1 -0
  404. package/build-module/comment-edit-link/edit.js +48 -0
  405. package/build-module/comment-edit-link/edit.js.map +1 -0
  406. package/build-module/comment-edit-link/index.js +54 -0
  407. package/build-module/comment-edit-link/index.js.map +1 -0
  408. package/build-module/comment-reply-link/edit.js +50 -0
  409. package/build-module/comment-reply-link/edit.js.map +1 -0
  410. package/build-module/comment-reply-link/index.js +50 -0
  411. package/build-module/comment-reply-link/index.js.map +1 -0
  412. package/build-module/comment-template/edit.js +71 -0
  413. package/build-module/comment-template/edit.js.map +1 -0
  414. package/build-module/comment-template/index.js +35 -0
  415. package/build-module/comment-template/index.js.map +1 -0
  416. package/build-module/comment-template/save.js +10 -0
  417. package/build-module/comment-template/save.js.map +1 -0
  418. package/build-module/comments-query-loop/edit.js +50 -0
  419. package/build-module/comments-query-loop/edit.js.map +1 -0
  420. package/build-module/comments-query-loop/index.js +53 -0
  421. package/build-module/comments-query-loop/index.js.map +1 -0
  422. package/build-module/comments-query-loop/save.js +14 -0
  423. package/build-module/comments-query-loop/save.js.map +1 -0
  424. package/build-module/comments-query-loop/toolbar.js +44 -0
  425. package/build-module/comments-query-loop/toolbar.js.map +1 -0
  426. package/build-module/cover/deprecated.js +183 -21
  427. package/build-module/cover/deprecated.js.map +1 -1
  428. package/build-module/cover/edit.js +62 -28
  429. package/build-module/cover/edit.js.map +1 -1
  430. package/build-module/cover/edit.native.js +6 -2
  431. package/build-module/cover/edit.native.js.map +1 -1
  432. package/build-module/cover/index.js +12 -1
  433. package/build-module/cover/index.js.map +1 -1
  434. package/build-module/cover/save.js +18 -15
  435. package/build-module/cover/save.js.map +1 -1
  436. package/build-module/cover/shared.js +3 -2
  437. package/build-module/cover/shared.js.map +1 -1
  438. package/build-module/embed/edit.native.js +4 -8
  439. package/build-module/embed/edit.native.js.map +1 -1
  440. package/build-module/embed/embed-bottom-sheet.native.js +4 -5
  441. package/build-module/embed/embed-bottom-sheet.native.js.map +1 -1
  442. package/build-module/embed/embed-no-preview.native.js +2 -1
  443. package/build-module/embed/embed-no-preview.native.js.map +1 -1
  444. package/build-module/embed/icons.js +13 -0
  445. package/build-module/embed/icons.js.map +1 -1
  446. package/build-module/embed/transforms.native.js +2 -1
  447. package/build-module/embed/transforms.native.js.map +1 -1
  448. package/build-module/embed/variations.js +21 -1
  449. package/build-module/embed/variations.js.map +1 -1
  450. package/build-module/freeform/edit.js +16 -5
  451. package/build-module/freeform/edit.js.map +1 -1
  452. package/build-module/gallery/edit.js +6 -0
  453. package/build-module/gallery/edit.js.map +1 -1
  454. package/build-module/gallery/gallery.js +1 -1
  455. package/build-module/gallery/gallery.js.map +1 -1
  456. package/build-module/gallery/gallery.native.js +1 -1
  457. package/build-module/gallery/gallery.native.js.map +1 -1
  458. package/build-module/gallery/index.js +6 -1
  459. package/build-module/gallery/index.js.map +1 -1
  460. package/build-module/gallery/save.js +5 -3
  461. package/build-module/gallery/save.js.map +1 -1
  462. package/build-module/gallery/shared.js +0 -6
  463. package/build-module/gallery/shared.js.map +1 -1
  464. package/build-module/gallery/use-get-media.js +4 -10
  465. package/build-module/gallery/use-get-media.js.map +1 -1
  466. package/build-module/gallery/use-mobile-warning.js +32 -0
  467. package/build-module/gallery/use-mobile-warning.js.map +1 -0
  468. package/build-module/group/edit.js +1 -1
  469. package/build-module/group/edit.js.map +1 -1
  470. package/build-module/group/index.js +1 -0
  471. package/build-module/group/index.js.map +1 -1
  472. package/build-module/group/save.js +5 -6
  473. package/build-module/group/save.js.map +1 -1
  474. package/build-module/group/variations.js +2 -1
  475. package/build-module/group/variations.js.map +1 -1
  476. package/build-module/heading/autogenerate-anchors.js +77 -0
  477. package/build-module/heading/autogenerate-anchors.js.map +1 -0
  478. package/build-module/heading/edit.js +43 -7
  479. package/build-module/heading/edit.js.map +1 -1
  480. package/build-module/heading/index.js +14 -2
  481. package/build-module/heading/index.js.map +1 -1
  482. package/build-module/heading/transforms.js +14 -2
  483. package/build-module/heading/transforms.js.map +1 -1
  484. package/build-module/image/edit.native.js +128 -63
  485. package/build-module/image/edit.native.js.map +1 -1
  486. package/build-module/image/index.js +1 -1
  487. package/build-module/image/transforms.js +2 -1
  488. package/build-module/image/transforms.js.map +1 -1
  489. package/build-module/index.js +59 -53
  490. package/build-module/index.js.map +1 -1
  491. package/build-module/index.native.js +1 -2
  492. package/build-module/index.native.js.map +1 -1
  493. package/build-module/list/deprecated.js +99 -0
  494. package/build-module/list/deprecated.js.map +1 -0
  495. package/build-module/list/index.js +14 -3
  496. package/build-module/list/index.js.map +1 -1
  497. package/build-module/media-text/edit.js +1 -1
  498. package/build-module/media-text/edit.js.map +1 -1
  499. package/build-module/media-text/save.js +4 -4
  500. package/build-module/media-text/save.js.map +1 -1
  501. package/build-module/navigation/deprecated.js +336 -23
  502. package/build-module/navigation/deprecated.js.map +1 -1
  503. package/build-module/navigation/edit/index.js +346 -0
  504. package/build-module/navigation/edit/index.js.map +1 -0
  505. package/build-module/navigation/edit/inner-blocks.js +87 -0
  506. package/build-module/navigation/edit/inner-blocks.js.map +1 -0
  507. package/build-module/navigation/edit/navigation-menu-delete-control.js +50 -0
  508. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -0
  509. package/build-module/navigation/edit/navigation-menu-name-control.js +17 -0
  510. package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -0
  511. package/build-module/navigation/edit/navigation-menu-name-modal.js +46 -0
  512. package/build-module/navigation/edit/navigation-menu-name-modal.js.map +1 -0
  513. package/build-module/navigation/edit/navigation-menu-publish-button.js +40 -0
  514. package/build-module/navigation/edit/navigation-menu-publish-button.js.map +1 -0
  515. package/build-module/navigation/edit/navigation-menu-selector.js +36 -0
  516. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -0
  517. package/build-module/navigation/edit/placeholder/index.js +189 -0
  518. package/build-module/navigation/edit/placeholder/index.js.map +1 -0
  519. package/build-module/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +11 -2
  520. package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -0
  521. package/build-module/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +9 -5
  522. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -0
  523. package/build-module/navigation/edit/unsaved-inner-blocks.js +136 -0
  524. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -0
  525. package/build-module/navigation/{block-navigation-list.js → edit/use-list-view-modal.js} +31 -2
  526. package/build-module/navigation/edit/use-list-view-modal.js.map +1 -0
  527. package/build-module/navigation/index.js +25 -12
  528. package/build-module/navigation/index.js.map +1 -1
  529. package/build-module/navigation/save.js +10 -1
  530. package/build-module/navigation/save.js.map +1 -1
  531. package/build-module/navigation/use-navigation-menu.js +31 -0
  532. package/build-module/navigation/use-navigation-menu.js.map +1 -0
  533. package/build-module/navigation/use-template-part-area-label.js +63 -0
  534. package/build-module/navigation/use-template-part-area-label.js.map +1 -0
  535. package/build-module/navigation/view.js +28 -26
  536. package/build-module/navigation/view.js.map +1 -1
  537. package/build-module/navigation-area/edit.js +82 -0
  538. package/build-module/navigation-area/edit.js.map +1 -0
  539. package/build-module/navigation-area/index.js +47 -0
  540. package/build-module/navigation-area/index.js.map +1 -0
  541. package/build-module/navigation-area/inner-blocks.js +25 -0
  542. package/build-module/navigation-area/inner-blocks.js.map +1 -0
  543. package/build-module/navigation-area/save.js +10 -0
  544. package/build-module/navigation-area/save.js.map +1 -0
  545. package/build-module/navigation-link/edit.js +72 -10
  546. package/build-module/navigation-link/edit.js.map +1 -1
  547. package/build-module/navigation-link/transforms.js +5 -1
  548. package/build-module/navigation-link/transforms.js.map +1 -1
  549. package/build-module/navigation-submenu/edit.js +2 -2
  550. package/build-module/navigation-submenu/edit.js.map +1 -1
  551. package/build-module/page-list/edit.js +127 -86
  552. package/build-module/page-list/edit.js.map +1 -1
  553. package/build-module/page-list/index.js +1 -35
  554. package/build-module/page-list/index.js.map +1 -1
  555. package/build-module/paragraph/edit.native.js +2 -1
  556. package/build-module/paragraph/edit.native.js.map +1 -1
  557. package/build-module/paragraph/index.js +8 -1
  558. package/build-module/paragraph/index.js.map +1 -1
  559. package/build-module/paragraph/transforms.js +8 -1
  560. package/build-module/paragraph/transforms.js.map +1 -1
  561. package/build-module/pattern/edit.js +35 -0
  562. package/build-module/pattern/edit.js.map +1 -0
  563. package/build-module/pattern/index.js +29 -0
  564. package/build-module/pattern/index.js.map +1 -0
  565. package/build-module/post-author/index.js +12 -1
  566. package/build-module/post-author/index.js.map +1 -1
  567. package/build-module/post-comment/edit.js +8 -9
  568. package/build-module/post-comment/edit.js.map +1 -1
  569. package/build-module/post-comment/index.js +4 -3
  570. package/build-module/post-comment/index.js.map +1 -1
  571. package/build-module/post-comment/save.js +4 -2
  572. package/build-module/post-comment/save.js.map +1 -1
  573. package/build-module/post-comments/index.js +8 -1
  574. package/build-module/post-comments/index.js.map +1 -1
  575. package/build-module/post-comments-count/index.js +7 -1
  576. package/build-module/post-comments-count/index.js.map +1 -1
  577. package/build-module/post-comments-form/index.js +9 -2
  578. package/build-module/post-comments-form/index.js.map +1 -1
  579. package/build-module/post-comments-link/index.js +8 -1
  580. package/build-module/post-comments-link/index.js.map +1 -1
  581. package/build-module/post-content/edit.js +2 -2
  582. package/build-module/post-content/edit.js.map +1 -1
  583. package/build-module/post-date/deprecated.js +60 -0
  584. package/build-module/post-date/deprecated.js.map +1 -0
  585. package/build-module/post-date/edit.js +1 -1
  586. package/build-module/post-date/edit.js.map +1 -1
  587. package/build-module/post-date/index.js +11 -2
  588. package/build-module/post-date/index.js.map +1 -1
  589. package/build-module/post-excerpt/edit.js +1 -1
  590. package/build-module/post-excerpt/edit.js.map +1 -1
  591. package/build-module/post-excerpt/index.js +12 -1
  592. package/build-module/post-excerpt/index.js.map +1 -1
  593. package/build-module/post-featured-image/index.js +5 -1
  594. package/build-module/post-featured-image/index.js.map +1 -1
  595. package/build-module/post-navigation-link/index.js +8 -1
  596. package/build-module/post-navigation-link/index.js.map +1 -1
  597. package/build-module/post-template/edit.js +10 -5
  598. package/build-module/post-template/edit.js.map +1 -1
  599. package/build-module/post-terms/edit.js +2 -6
  600. package/build-module/post-terms/edit.js.map +1 -1
  601. package/build-module/post-terms/index.js +7 -1
  602. package/build-module/post-terms/index.js.map +1 -1
  603. package/build-module/post-terms/use-post-terms.js +3 -1
  604. package/build-module/post-terms/use-post-terms.js.map +1 -1
  605. package/build-module/post-title/deprecated.js +73 -0
  606. package/build-module/post-title/deprecated.js.map +1 -0
  607. package/build-module/post-title/edit.js +1 -1
  608. package/build-module/post-title/edit.js.map +1 -1
  609. package/build-module/post-title/index.js +13 -2
  610. package/build-module/post-title/index.js.map +1 -1
  611. package/build-module/preformatted/edit.js +5 -2
  612. package/build-module/preformatted/edit.js.map +1 -1
  613. package/build-module/preformatted/edit.native.js +17 -6
  614. package/build-module/preformatted/edit.native.js.map +1 -1
  615. package/build-module/preformatted/index.js +9 -1
  616. package/build-module/preformatted/index.js.map +1 -1
  617. package/build-module/pullquote/blockquote.native.js +14 -2
  618. package/build-module/pullquote/blockquote.native.js.map +1 -1
  619. package/build-module/pullquote/edit.native.js +112 -0
  620. package/build-module/pullquote/edit.native.js.map +1 -0
  621. package/build-module/pullquote/figure.native.js +20 -9
  622. package/build-module/pullquote/figure.native.js.map +1 -1
  623. package/build-module/pullquote/index.js +12 -0
  624. package/build-module/pullquote/index.js.map +1 -1
  625. package/build-module/query/edit/index.js +1 -1
  626. package/build-module/query/edit/index.js.map +1 -1
  627. package/build-module/query/save.js +4 -2
  628. package/build-module/query/save.js.map +1 -1
  629. package/build-module/query-pagination/edit.js +1 -1
  630. package/build-module/query-pagination/edit.js.map +1 -1
  631. package/build-module/query-pagination-next/index.js +8 -1
  632. package/build-module/query-pagination-next/index.js.map +1 -1
  633. package/build-module/query-pagination-previous/index.js +8 -1
  634. package/build-module/query-pagination-previous/index.js.map +1 -1
  635. package/build-module/query-title/deprecated.js +59 -0
  636. package/build-module/query-title/deprecated.js.map +1 -0
  637. package/build-module/query-title/index.js +16 -2
  638. package/build-module/query-title/index.js.map +1 -1
  639. package/build-module/quote/deprecated.js +9 -0
  640. package/build-module/quote/deprecated.js.map +1 -1
  641. package/build-module/quote/index.js +17 -1
  642. package/build-module/quote/index.js.map +1 -1
  643. package/build-module/search/edit.js +28 -2
  644. package/build-module/search/edit.js.map +1 -1
  645. package/build-module/search/edit.native.js +38 -7
  646. package/build-module/search/edit.native.js.map +1 -1
  647. package/build-module/separator/separator-settings.js +1 -0
  648. package/build-module/separator/separator-settings.js.map +1 -1
  649. package/build-module/site-logo/edit.js +49 -26
  650. package/build-module/site-logo/edit.js.map +1 -1
  651. package/build-module/site-logo/index.js +6 -0
  652. package/build-module/site-logo/index.js.map +1 -1
  653. package/build-module/site-tagline/deprecated.js +57 -0
  654. package/build-module/site-tagline/deprecated.js.map +1 -0
  655. package/build-module/site-tagline/index.js +10 -3
  656. package/build-module/site-tagline/index.js.map +1 -1
  657. package/build-module/site-title/deprecated.js +70 -0
  658. package/build-module/site-title/deprecated.js.map +1 -0
  659. package/build-module/site-title/index.js +14 -2
  660. package/build-module/site-title/index.js.map +1 -1
  661. package/build-module/social-links/edit.js +2 -1
  662. package/build-module/social-links/edit.js.map +1 -1
  663. package/build-module/social-links/index.js +1 -0
  664. package/build-module/social-links/index.js.map +1 -1
  665. package/build-module/social-links/save.js +5 -3
  666. package/build-module/social-links/save.js.map +1 -1
  667. package/build-module/table/index.js +11 -0
  668. package/build-module/table/index.js.map +1 -1
  669. package/build-module/template-part/edit/inner-blocks.js +1 -1
  670. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  671. package/build-module/template-part/edit/placeholder/index.js +3 -3
  672. package/build-module/template-part/edit/placeholder/index.js.map +1 -1
  673. package/build-module/template-part/edit/placeholder/patterns-setup.js +3 -2
  674. package/build-module/template-part/edit/placeholder/patterns-setup.js.map +1 -1
  675. package/build-module/template-part/edit/selection/template-part-previews.js +1 -1
  676. package/build-module/template-part/edit/selection/template-part-previews.js.map +1 -1
  677. package/build-module/template-part/variations.js +2 -2
  678. package/build-module/template-part/variations.js.map +1 -1
  679. package/build-module/term-description/edit.js +1 -1
  680. package/build-module/term-description/edit.js.map +1 -1
  681. package/build-module/term-description/index.js +4 -1
  682. package/build-module/term-description/index.js.map +1 -1
  683. package/build-module/utils/clean-empty-object.js +22 -0
  684. package/build-module/utils/clean-empty-object.js.map +1 -0
  685. package/build-module/utils/migrate-font-family.js +38 -0
  686. package/build-module/utils/migrate-font-family.js.map +1 -0
  687. package/build-module/verse/deprecated.js +90 -15
  688. package/build-module/verse/deprecated.js.map +1 -1
  689. package/build-module/verse/index.js +10 -1
  690. package/build-module/verse/index.js.map +1 -1
  691. package/build-style/button/editor-rtl.css +0 -1
  692. package/build-style/button/editor.css +0 -1
  693. package/build-style/button/style-rtl.css +15 -27
  694. package/build-style/button/style.css +15 -27
  695. package/build-style/buttons/editor-rtl.css +4 -8
  696. package/build-style/buttons/editor.css +4 -8
  697. package/build-style/buttons/style-rtl.css +1 -35
  698. package/build-style/buttons/style.css +1 -48
  699. package/build-style/columns/style-rtl.css +1 -1
  700. package/build-style/columns/style.css +1 -1
  701. package/build-style/common-rtl.css +2 -16
  702. package/build-style/common.css +2 -16
  703. package/build-style/cover/editor-rtl.css +14 -32
  704. package/build-style/cover/editor.css +14 -32
  705. package/build-style/cover/style-rtl.css +28 -40
  706. package/build-style/cover/style.css +28 -40
  707. package/build-style/editor-rtl.css +198 -145
  708. package/build-style/editor.css +198 -145
  709. package/build-style/image/editor-rtl.css +1 -0
  710. package/build-style/image/editor.css +1 -0
  711. package/build-style/image/style-rtl.css +4 -0
  712. package/build-style/image/style.css +4 -0
  713. package/build-style/media-text/style-rtl.css +1 -0
  714. package/build-style/media-text/style.css +1 -0
  715. package/build-style/navigation/editor-rtl.css +58 -16
  716. package/build-style/navigation/editor.css +58 -16
  717. package/build-style/navigation/style-rtl.css +51 -112
  718. package/build-style/navigation/style.css +51 -112
  719. package/build-style/navigation-link/editor-rtl.css +31 -14
  720. package/build-style/navigation-link/editor.css +31 -14
  721. package/build-style/navigation-link/style-rtl.css +1 -1
  722. package/build-style/navigation-link/style.css +1 -1
  723. package/build-style/navigation-submenu/editor-rtl.css +1 -1
  724. package/build-style/navigation-submenu/editor.css +1 -1
  725. package/build-style/navigation-submenu/style-rtl.css +2 -0
  726. package/build-style/navigation-submenu/style.css +2 -0
  727. package/build-style/page-list/style-rtl.css +4 -16
  728. package/build-style/page-list/style.css +4 -16
  729. package/build-style/post-author/style-rtl.css +0 -1
  730. package/build-style/post-author/style.css +0 -1
  731. package/build-style/post-comments/style-rtl.css +21 -1
  732. package/build-style/post-comments/style.css +21 -1
  733. package/build-style/post-comments-form/style-rtl.css +29 -0
  734. package/build-style/post-comments-form/style.css +29 -0
  735. package/build-style/post-featured-image/editor-rtl.css +1 -1
  736. package/build-style/post-featured-image/editor.css +1 -1
  737. package/build-style/post-featured-image/style-rtl.css +1 -1
  738. package/build-style/post-featured-image/style.css +1 -1
  739. package/build-style/quote/theme-rtl.css +1 -1
  740. package/build-style/quote/theme.css +1 -1
  741. package/build-style/reset-rtl.css +0 -5
  742. package/build-style/reset.css +0 -5
  743. package/build-style/search/style-rtl.css +18 -6
  744. package/build-style/search/style.css +18 -6
  745. package/build-style/separator/style-rtl.css +0 -1
  746. package/build-style/separator/style.css +0 -1
  747. package/build-style/site-logo/editor-rtl.css +82 -14
  748. package/build-style/site-logo/editor.css +82 -14
  749. package/build-style/site-logo/style-rtl.css +6 -2
  750. package/build-style/site-logo/style.css +6 -2
  751. package/build-style/social-link/editor-rtl.css +4 -0
  752. package/build-style/social-link/editor.css +4 -0
  753. package/build-style/social-links/editor-rtl.css +4 -0
  754. package/build-style/social-links/editor.css +4 -0
  755. package/build-style/social-links/style-rtl.css +7 -1
  756. package/build-style/social-links/style.css +7 -1
  757. package/build-style/style-rtl.css +192 -261
  758. package/build-style/style.css +192 -274
  759. package/build-style/template-part/editor-rtl.css +0 -7
  760. package/build-style/template-part/editor.css +0 -7
  761. package/build-style/theme-rtl.css +1 -1
  762. package/build-style/theme.css +1 -1
  763. package/package.json +20 -19
  764. package/src/audio/test/edit.native.js +4 -0
  765. package/src/block/edit.js +1 -1
  766. package/src/button/block.json +4 -1
  767. package/src/button/deprecated.js +149 -4
  768. package/src/button/edit.native.js +319 -366
  769. package/src/button/editor.scss +0 -1
  770. package/src/button/style.scss +18 -41
  771. package/src/buttons/block.json +15 -10
  772. package/src/buttons/deprecated.js +76 -3
  773. package/src/buttons/edit.js +4 -49
  774. package/src/buttons/editor.scss +8 -9
  775. package/src/buttons/index.js +0 -2
  776. package/src/buttons/save.js +4 -21
  777. package/src/buttons/style.scss +1 -51
  778. package/src/categories/block.json +4 -0
  779. package/src/categories/edit.js +36 -18
  780. package/src/categories/index.php +3 -0
  781. package/src/code/block.json +24 -1
  782. package/src/code/edit.native.js +12 -14
  783. package/src/column/block.json +4 -0
  784. package/src/column/edit.js +8 -2
  785. package/src/column/save.js +9 -12
  786. package/src/columns/block.json +1 -0
  787. package/src/columns/edit.js +1 -1
  788. package/src/columns/save.js +5 -6
  789. package/src/columns/style.scss +1 -1
  790. package/src/comment-author-avatar/block.json +34 -0
  791. package/src/comment-author-avatar/edit.js +96 -0
  792. package/src/comment-author-avatar/index.js +18 -0
  793. package/src/comment-author-avatar/index.php +62 -0
  794. package/src/comment-author-name/block.json +43 -0
  795. package/src/comment-author-name/deprecated.js +50 -0
  796. package/src/comment-author-name/edit.js +124 -0
  797. package/src/comment-author-name/index.js +20 -0
  798. package/src/comment-author-name/index.php +57 -0
  799. package/src/comment-content/block.json +37 -0
  800. package/src/comment-content/edit.js +80 -0
  801. package/src/{post-comment-content → comment-content}/index.js +1 -1
  802. package/src/comment-content/index.php +56 -0
  803. package/src/comment-date/block.json +38 -0
  804. package/src/comment-date/deprecated.js +49 -0
  805. package/src/comment-date/edit.js +106 -0
  806. package/src/{post-comment-date → comment-date}/index.js +2 -0
  807. package/src/comment-date/index.php +56 -0
  808. package/src/comment-edit-link/block.json +36 -0
  809. package/src/comment-edit-link/edit.js +68 -0
  810. package/src/{post-comment-author → comment-edit-link}/index.js +5 -5
  811. package/src/comment-edit-link/index.php +58 -0
  812. package/src/comment-reply-link/block.json +32 -0
  813. package/src/comment-reply-link/edit.js +59 -0
  814. package/src/comment-reply-link/index.js +18 -0
  815. package/src/comment-reply-link/index.php +80 -0
  816. package/src/comment-template/block.json +15 -0
  817. package/src/comment-template/edit.js +100 -0
  818. package/src/comment-template/index.js +20 -0
  819. package/src/comment-template/index.php +65 -0
  820. package/src/comment-template/save.js +8 -0
  821. package/src/comments-query-loop/block.json +33 -0
  822. package/src/comments-query-loop/edit.js +53 -0
  823. package/src/comments-query-loop/index.js +20 -0
  824. package/src/comments-query-loop/save.js +14 -0
  825. package/src/comments-query-loop/toolbar.js +57 -0
  826. package/src/common.scss +3 -17
  827. package/src/cover/block.json +12 -1
  828. package/src/cover/deprecated.js +707 -510
  829. package/src/cover/edit.js +70 -42
  830. package/src/cover/edit.native.js +5 -1
  831. package/src/cover/editor.scss +20 -38
  832. package/src/cover/save.js +30 -26
  833. package/src/cover/shared.js +3 -2
  834. package/src/cover/style.scss +9 -7
  835. package/src/editor.scss +4 -20
  836. package/src/embed/edit.native.js +6 -9
  837. package/src/embed/embed-bottom-sheet.native.js +4 -5
  838. package/src/embed/embed-no-preview.native.js +1 -0
  839. package/src/embed/icons.js +11 -0
  840. package/src/embed/test/__snapshots__/index.native.js.snap +181 -0
  841. package/src/embed/test/index.native.js +991 -0
  842. package/src/embed/transforms.native.js +2 -0
  843. package/src/embed/variations.js +21 -0
  844. package/src/file/test/__snapshots__/edit.native.js.snap +6 -3
  845. package/src/file/test/edit.native.js +4 -0
  846. package/src/freeform/edit.js +14 -4
  847. package/src/gallery/block.json +6 -1
  848. package/src/gallery/edit.js +7 -0
  849. package/src/gallery/editor.scss +0 -1
  850. package/src/gallery/gallery.js +1 -4
  851. package/src/gallery/gallery.native.js +1 -4
  852. package/src/gallery/index.php +52 -0
  853. package/src/gallery/save.js +9 -3
  854. package/src/gallery/shared.js +0 -7
  855. package/src/gallery/use-get-media.js +6 -11
  856. package/src/gallery/use-mobile-warning.js +28 -0
  857. package/src/group/block.json +1 -0
  858. package/src/group/edit.js +1 -1
  859. package/src/group/save.js +3 -8
  860. package/src/group/variations.js +1 -1
  861. package/src/heading/autogenerate-anchors.js +81 -0
  862. package/src/heading/block.json +14 -2
  863. package/src/heading/edit.js +42 -4
  864. package/src/home-link/index.php +3 -1
  865. package/src/image/block.json +1 -1
  866. package/src/image/edit.native.js +120 -64
  867. package/src/image/editor.scss +1 -0
  868. package/src/image/index.php +42 -0
  869. package/src/image/style.scss +8 -2
  870. package/src/image/test/edit.native.js +225 -40
  871. package/src/image/transforms.js +4 -0
  872. package/src/index.js +96 -88
  873. package/src/index.native.js +1 -1
  874. package/src/list/block.json +11 -2
  875. package/src/list/deprecated.js +79 -0
  876. package/src/list/index.js +2 -0
  877. package/src/media-text/edit.js +1 -1
  878. package/src/media-text/save.js +6 -4
  879. package/src/media-text/style.scss +1 -0
  880. package/src/navigation/block.json +41 -13
  881. package/src/navigation/deprecated.js +336 -27
  882. package/src/navigation/edit/index.js +510 -0
  883. package/src/navigation/edit/inner-blocks.js +134 -0
  884. package/src/navigation/edit/navigation-menu-delete-control.js +81 -0
  885. package/src/navigation/edit/navigation-menu-name-control.js +22 -0
  886. package/src/navigation/edit/navigation-menu-name-modal.js +69 -0
  887. package/src/navigation/edit/navigation-menu-publish-button.js +57 -0
  888. package/src/navigation/edit/navigation-menu-selector.js +42 -0
  889. package/src/navigation/edit/placeholder/index.js +257 -0
  890. package/src/navigation/{placeholder-preview.js → edit/placeholder/placeholder-preview.js} +13 -2
  891. package/src/navigation/{responsive-wrapper.js → edit/responsive-wrapper.js} +8 -6
  892. package/src/navigation/edit/unsaved-inner-blocks.js +197 -0
  893. package/src/navigation/edit/use-list-view-modal.js +72 -0
  894. package/src/navigation/editor.scss +86 -31
  895. package/src/navigation/index.js +0 -2
  896. package/src/navigation/index.php +54 -107
  897. package/src/navigation/save.js +7 -1
  898. package/src/navigation/style.scss +81 -155
  899. package/src/navigation/use-navigation-menu.js +60 -0
  900. package/src/navigation/use-template-part-area-label.js +78 -0
  901. package/src/navigation/view.js +33 -32
  902. package/src/navigation-area/block.json +27 -0
  903. package/src/navigation-area/edit.js +105 -0
  904. package/src/navigation-area/index.js +26 -0
  905. package/src/navigation-area/index.php +21 -0
  906. package/src/navigation-area/inner-blocks.js +24 -0
  907. package/src/navigation-area/save.js +8 -0
  908. package/src/navigation-link/edit.js +97 -12
  909. package/src/navigation-link/editor.scss +30 -19
  910. package/src/navigation-link/index.php +8 -10
  911. package/src/navigation-link/style.scss +1 -1
  912. package/src/navigation-link/transforms.js +5 -1
  913. package/src/navigation-submenu/edit.js +2 -2
  914. package/src/navigation-submenu/editor.scss +1 -1
  915. package/src/navigation-submenu/index.php +10 -9
  916. package/src/navigation-submenu/style.scss +5 -0
  917. package/src/page-list/block.json +0 -33
  918. package/src/page-list/edit.js +168 -110
  919. package/src/page-list/index.php +27 -26
  920. package/src/page-list/style.scss +4 -23
  921. package/src/paragraph/block.json +8 -1
  922. package/src/paragraph/edit.native.js +1 -0
  923. package/src/pattern/block.json +17 -0
  924. package/src/pattern/edit.js +41 -0
  925. package/src/pattern/index.js +12 -0
  926. package/src/pattern/index.php +44 -0
  927. package/src/post-author/block.json +12 -1
  928. package/src/post-author/style.scss +0 -1
  929. package/src/post-comment/block.json +4 -3
  930. package/src/post-comment/edit.js +16 -13
  931. package/src/post-comment/save.js +4 -6
  932. package/src/post-comments/block.json +8 -1
  933. package/src/post-comments/index.php +12 -3
  934. package/src/post-comments/style.scss +27 -1
  935. package/src/post-comments-count/block.json +7 -1
  936. package/src/post-comments-form/block.json +9 -2
  937. package/src/post-comments-form/index.php +0 -14
  938. package/src/post-comments-form/style.scss +47 -7
  939. package/src/post-comments-link/block.json +8 -1
  940. package/src/post-content/edit.js +2 -2
  941. package/src/post-date/block.json +8 -1
  942. package/src/post-date/deprecated.js +52 -0
  943. package/src/post-date/edit.js +1 -1
  944. package/src/post-date/index.js +2 -0
  945. package/src/post-excerpt/block.json +12 -1
  946. package/src/post-excerpt/edit.js +1 -7
  947. package/src/post-excerpt/index.php +7 -1
  948. package/src/post-featured-image/block.json +5 -1
  949. package/src/post-featured-image/editor.scss +1 -1
  950. package/src/post-featured-image/style.scss +1 -1
  951. package/src/post-navigation-link/block.json +8 -1
  952. package/src/post-navigation-link/index.php +1 -2
  953. package/src/post-template/edit.js +8 -3
  954. package/src/post-template/index.php +0 -11
  955. package/src/post-terms/block.json +7 -1
  956. package/src/post-terms/edit.js +2 -14
  957. package/src/post-terms/use-post-terms.js +1 -1
  958. package/src/post-title/block.json +10 -1
  959. package/src/post-title/deprecated.js +65 -0
  960. package/src/post-title/edit.js +1 -1
  961. package/src/post-title/index.js +2 -0
  962. package/src/post-title/index.php +7 -2
  963. package/src/preformatted/block.json +9 -1
  964. package/src/preformatted/edit.js +2 -1
  965. package/src/preformatted/edit.native.js +20 -6
  966. package/src/preformatted/styles.native.scss +5 -0
  967. package/src/preformatted/test/__snapshots__/edit.native.js.snap +20 -2
  968. package/src/pullquote/block.json +12 -0
  969. package/src/pullquote/blockquote.native.js +12 -2
  970. package/src/pullquote/edit.native.js +129 -0
  971. package/src/pullquote/figure.native.js +17 -7
  972. package/src/query/edit/index.js +1 -1
  973. package/src/query/save.js +4 -6
  974. package/src/query-pagination/edit.js +1 -1
  975. package/src/query-pagination-next/block.json +8 -1
  976. package/src/query-pagination-previous/block.json +8 -1
  977. package/src/query-title/block.json +13 -1
  978. package/src/query-title/deprecated.js +51 -0
  979. package/src/query-title/index.js +2 -0
  980. package/src/quote/block.json +15 -1
  981. package/src/quote/deprecated.js +10 -0
  982. package/src/quote/theme.scss +1 -0
  983. package/src/reset.scss +0 -9
  984. package/src/search/edit.js +29 -0
  985. package/src/search/edit.native.js +46 -12
  986. package/src/search/style.scss +54 -52
  987. package/src/search/test/__snapshots__/edit.native.js.snap +33 -5
  988. package/src/search/test/edit.native.js +4 -0
  989. package/src/separator/separator-settings.js +1 -0
  990. package/src/separator/style.scss +0 -1
  991. package/src/site-logo/block.json +6 -0
  992. package/src/site-logo/edit.js +59 -34
  993. package/src/site-logo/editor.scss +101 -16
  994. package/src/site-logo/index.php +20 -19
  995. package/src/site-logo/style.scss +8 -2
  996. package/src/site-tagline/block.json +7 -2
  997. package/src/site-tagline/deprecated.js +49 -0
  998. package/src/site-tagline/index.js +2 -0
  999. package/src/site-title/block.json +11 -1
  1000. package/src/site-title/deprecated.js +62 -0
  1001. package/src/site-title/index.js +2 -0
  1002. package/src/site-title/index.php +3 -0
  1003. package/src/social-link/editor.scss +4 -0
  1004. package/src/social-links/block.json +1 -0
  1005. package/src/social-links/edit.js +2 -1
  1006. package/src/social-links/editor.scss +4 -0
  1007. package/src/social-links/save.js +4 -6
  1008. package/src/social-links/style.scss +8 -1
  1009. package/src/table/block.json +11 -0
  1010. package/src/template-part/edit/inner-blocks.js +1 -1
  1011. package/src/template-part/edit/placeholder/index.js +5 -3
  1012. package/src/template-part/edit/placeholder/patterns-setup.js +3 -2
  1013. package/src/template-part/edit/selection/template-part-previews.js +3 -1
  1014. package/src/template-part/editor.scss +0 -16
  1015. package/src/template-part/index.php +6 -3
  1016. package/src/template-part/variations.js +2 -2
  1017. package/src/term-description/block.json +4 -1
  1018. package/src/term-description/edit.js +1 -1
  1019. package/src/utils/clean-empty-object.js +23 -0
  1020. package/src/utils/migrate-font-family.js +37 -0
  1021. package/src/verse/block.json +10 -1
  1022. package/src/verse/deprecated.js +86 -25
  1023. package/build/buttons/variations.js +0 -33
  1024. package/build/buttons/variations.js.map +0 -1
  1025. package/build/navigation/block-navigation-list.js.map +0 -1
  1026. package/build/navigation/edit.js +0 -304
  1027. package/build/navigation/edit.js.map +0 -1
  1028. package/build/navigation/placeholder-preview.js.map +0 -1
  1029. package/build/navigation/placeholder.js +0 -129
  1030. package/build/navigation/placeholder.js.map +0 -1
  1031. package/build/navigation/responsive-wrapper.js.map +0 -1
  1032. package/build/navigation/use-block-navigator.js +0 -51
  1033. package/build/navigation/use-block-navigator.js.map +0 -1
  1034. package/build/navigation/variations.js +0 -32
  1035. package/build/navigation/variations.js.map +0 -1
  1036. package/build/post-comment-author/edit.js +0 -51
  1037. package/build/post-comment-author/edit.js.map +0 -1
  1038. package/build/post-comment-author/index.js.map +0 -1
  1039. package/build/post-comment-content/edit.js +0 -37
  1040. package/build/post-comment-content/edit.js.map +0 -1
  1041. package/build/post-comment-content/index.js.map +0 -1
  1042. package/build/post-comment-date/edit.js +0 -62
  1043. package/build/post-comment-date/edit.js.map +0 -1
  1044. package/build/post-comment-date/index.js.map +0 -1
  1045. package/build-module/buttons/variations.js +0 -24
  1046. package/build-module/buttons/variations.js.map +0 -1
  1047. package/build-module/navigation/block-navigation-list.js.map +0 -1
  1048. package/build-module/navigation/edit.js +0 -284
  1049. package/build-module/navigation/edit.js.map +0 -1
  1050. package/build-module/navigation/placeholder-preview.js.map +0 -1
  1051. package/build-module/navigation/placeholder.js +0 -113
  1052. package/build-module/navigation/placeholder.js.map +0 -1
  1053. package/build-module/navigation/responsive-wrapper.js.map +0 -1
  1054. package/build-module/navigation/use-block-navigator.js +0 -39
  1055. package/build-module/navigation/use-block-navigator.js.map +0 -1
  1056. package/build-module/navigation/variations.js +0 -23
  1057. package/build-module/navigation/variations.js.map +0 -1
  1058. package/build-module/post-comment-author/edit.js +0 -40
  1059. package/build-module/post-comment-author/edit.js.map +0 -1
  1060. package/build-module/post-comment-author/index.js +0 -31
  1061. package/build-module/post-comment-author/index.js.map +0 -1
  1062. package/build-module/post-comment-content/edit.js +0 -27
  1063. package/build-module/post-comment-content/edit.js.map +0 -1
  1064. package/build-module/post-comment-content/index.js +0 -31
  1065. package/build-module/post-comment-content/index.js.map +0 -1
  1066. package/build-module/post-comment-date/edit.js +0 -52
  1067. package/build-module/post-comment-date/edit.js.map +0 -1
  1068. package/build-module/post-comment-date/index.js +0 -36
  1069. package/build-module/post-comment-date/index.js.map +0 -1
  1070. package/build-style/post-author/editor-rtl.css +0 -104
  1071. package/build-style/post-author/editor.css +0 -104
  1072. package/build-style/query-title/editor-rtl.css +0 -80
  1073. package/build-style/query-title/editor.css +0 -80
  1074. package/build-style/term-description/editor-rtl.css +0 -80
  1075. package/build-style/term-description/editor.css +0 -80
  1076. package/src/buttons/variations.js +0 -24
  1077. package/src/navigation/block-navigation-list.js +0 -38
  1078. package/src/navigation/edit.js +0 -411
  1079. package/src/navigation/placeholder.js +0 -154
  1080. package/src/navigation/use-block-navigator.js +0 -46
  1081. package/src/navigation/variations.js +0 -23
  1082. package/src/post-author/editor.scss +0 -35
  1083. package/src/post-comment-author/block.json +0 -13
  1084. package/src/post-comment-author/edit.js +0 -35
  1085. package/src/post-comment-author/index.php +0 -41
  1086. package/src/post-comment-content/block.json +0 -13
  1087. package/src/post-comment-content/edit.js +0 -32
  1088. package/src/post-comment-content/index.php +0 -42
  1089. package/src/post-comment-date/block.json +0 -18
  1090. package/src/post-comment-date/edit.js +0 -54
  1091. package/src/post-comment-date/index.php +0 -44
  1092. package/src/query-title/editor.scss +0 -4
  1093. package/src/term-description/editor.scss +0 -4
@@ -55,12 +55,28 @@ const metadata = {
55
55
  }
56
56
  },
57
57
  supports: {
58
- anchor: true
58
+ anchor: true,
59
+ __experimentalSlashInserter: true,
60
+ typography: {
61
+ fontSize: true,
62
+ lineHeight: true,
63
+ __experimentalFontStyle: true,
64
+ __experimentalFontWeight: true,
65
+ __experimentalLetterSpacing: true,
66
+ __experimentalTextTransform: true,
67
+ __experimentalDefaultControls: {
68
+ fontSize: true,
69
+ fontAppearance: true
70
+ }
71
+ }
59
72
  },
60
73
  styles: [{
61
74
  name: "default",
62
75
  label: "Default",
63
76
  isDefault: true
77
+ }, {
78
+ name: "plain",
79
+ label: "Plain"
64
80
  }, {
65
81
  name: "large",
66
82
  label: "Large"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["name","metadata","settings","icon","example","attributes","value","citation","className","transforms","edit","save","merge","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EACJ,QAAQ,cAAI,uCAAJ,CAAR,GAAwD,MAF9C;AAGXC,MAAAA,QAAQ,EAAE,gBAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA;AADJ,GAFc;AAUvBC,EAAAA,UAAU,EAAVA,mBAVuB;AAWvBC,EAAAA,IAAI,EAAJA,aAXuB;AAYvBC,EAAAA,IAAI,EAAJA,aAZuB;;AAavBC,EAAAA,KAAK,CAAEP,UAAF,EAAc;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAd,EAAoC;AACxC;AACA;AACA,QAAK,CAAEA,QAAP,EAAkB;AACjBA,MAAAA,QAAQ,GAAGF,UAAU,CAACE,QAAtB;AACA;;AAED,QAAK,CAAED,KAAF,IAAWA,KAAK,KAAK,SAA1B,EAAsC;AACrC,aAAO,EACN,GAAGD,UADG;AAENE,QAAAA;AAFM,OAAP;AAIA;;AAED,WAAO,EACN,GAAGF,UADG;AAENC,MAAAA,KAAK,EAAED,UAAU,CAACC,KAAX,GAAmBA,KAFpB;AAGNC,MAAAA;AAHM,KAAP;AAKA,GAhCsB;;AAiCvBM,EAAAA,UAAU,EAAVA;AAjCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalue:\n\t\t\t\t'<p>' + __( 'In quoting others, we cite ourselves.' ) + '</p>',\n\t\t\tcitation: 'Julio Cortázar',\n\t\t\tclassName: 'is-style-large',\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tmerge( attributes, { value, citation } ) {\n\t\t// Quote citations cannot be merged. Pick the second one unless it's\n\t\t// empty.\n\t\tif ( ! citation ) {\n\t\t\tcitation = attributes.citation;\n\t\t}\n\n\t\tif ( ! value || value === '<p></p>' ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tcitation,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalue: attributes.value + value,\n\t\t\tcitation,\n\t\t};\n\t},\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["name","metadata","settings","icon","example","attributes","value","citation","className","transforms","edit","save","merge","deprecated"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AAbA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EACJ,QAAQ,cAAI,uCAAJ,CAAR,GAAwD,MAF9C;AAGXC,MAAAA,QAAQ,EAAE,gBAHC;AAIXC,MAAAA,SAAS,EAAE;AAJA;AADJ,GAFc;AAUvBC,EAAAA,UAAU,EAAVA,mBAVuB;AAWvBC,EAAAA,IAAI,EAAJA,aAXuB;AAYvBC,EAAAA,IAAI,EAAJA,aAZuB;;AAavBC,EAAAA,KAAK,CAAEP,UAAF,EAAc;AAAEC,IAAAA,KAAF;AAASC,IAAAA;AAAT,GAAd,EAAoC;AACxC;AACA;AACA,QAAK,CAAEA,QAAP,EAAkB;AACjBA,MAAAA,QAAQ,GAAGF,UAAU,CAACE,QAAtB;AACA;;AAED,QAAK,CAAED,KAAF,IAAWA,KAAK,KAAK,SAA1B,EAAsC;AACrC,aAAO,EACN,GAAGD,UADG;AAENE,QAAAA;AAFM,OAAP;AAIA;;AAED,WAAO,EACN,GAAGF,UADG;AAENC,MAAAA,KAAK,EAAED,UAAU,CAACC,KAAX,GAAmBA,KAFpB;AAGNC,MAAAA;AAHM,KAAP;AAKA,GAhCsB;;AAiCvBM,EAAAA,UAAU,EAAVA;AAjCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalue:\n\t\t\t\t'<p>' + __( 'In quoting others, we cite ourselves.' ) + '</p>',\n\t\t\tcitation: 'Julio Cortázar',\n\t\t\tclassName: 'is-style-large',\n\t\t},\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tmerge( attributes, { value, citation } ) {\n\t\t// Quote citations cannot be merged. Pick the second one unless it's\n\t\t// empty.\n\t\tif ( ! citation ) {\n\t\t\tcitation = attributes.citation;\n\t\t}\n\n\t\tif ( ! value || value === '<p></p>' ) {\n\t\t\treturn {\n\t\t\t\t...attributes,\n\t\t\t\tcitation,\n\t\t\t};\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalue: attributes.value + value,\n\t\t\tcitation,\n\t\t};\n\t},\n\tdeprecated,\n};\n"]}
@@ -13,6 +13,8 @@ var _classnames = _interopRequireDefault(require("classnames"));
13
13
 
14
14
  var _blockEditor = require("@wordpress/block-editor");
15
15
 
16
+ var _data = require("@wordpress/data");
17
+
16
18
  var _components = require("@wordpress/components");
17
19
 
18
20
  var _compose = require("@wordpress/compose");
@@ -45,7 +47,8 @@ function SearchEdit({
45
47
  attributes,
46
48
  setAttributes,
47
49
  toggleSelection,
48
- isSelected
50
+ isSelected,
51
+ clientId
49
52
  }) {
50
53
  var _style$border, _style$border2;
51
54
 
@@ -61,6 +64,29 @@ function SearchEdit({
61
64
  buttonUseIcon,
62
65
  style
63
66
  } = attributes;
67
+ const insertedInNavigationBlock = (0, _data.useSelect)(select => {
68
+ var _getBlockParentsByBlo;
69
+
70
+ const {
71
+ getBlockParentsByBlockName,
72
+ wasBlockJustInserted
73
+ } = select(_blockEditor.store);
74
+ return !!((_getBlockParentsByBlo = getBlockParentsByBlockName(clientId, 'core/navigation')) !== null && _getBlockParentsByBlo !== void 0 && _getBlockParentsByBlo.length) && wasBlockJustInserted(clientId);
75
+ }, [clientId]);
76
+ const {
77
+ __unstableMarkNextChangeAsNotPersistent
78
+ } = (0, _data.useDispatch)(_blockEditor.store);
79
+ (0, _element.useEffect)(() => {
80
+ if (!insertedInNavigationBlock) return; // This side-effect should not create an undo level.
81
+
82
+ __unstableMarkNextChangeAsNotPersistent();
83
+
84
+ setAttributes({
85
+ showLabel: false,
86
+ buttonUseIcon: true,
87
+ buttonPosition: 'button-inside'
88
+ });
89
+ }, [insertedInNavigationBlock]);
64
90
  const borderRadius = style === null || style === void 0 ? void 0 : (_style$border = style.border) === null || _style$border === void 0 ? void 0 : _style$border.radius;
65
91
  const borderColor = style === null || style === void 0 ? void 0 : (_style$border2 = style.border) === null || _style$border2 === void 0 ? void 0 : _style$border2.color;
66
92
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes); // Check for old deprecated numerical border radius. Done as a separate
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","borderRadius","border","radius","borderColor","color","borderProps","colorProps","unitControlInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","buttonOutside","onClick","buttonInside","noButton","getButtonPositionIcon","buttonOnly","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","search","html","controls","toggleLabel","buttonWithIcon","MIN_WIDTH","MIN_WIDTH_UNIT","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseColorProps as useColorProps,\n} from '@wordpress/block-editor';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst borderRadius = style?.border?.radius;\n\tconst borderColor = style?.border?.color;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t! isButtonPositionInside ? borderProps.className : undefined,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = {\n\t\t\tborderColor,\n\t\t};\n\n\t\tconst isNonZeroBorderRadius = parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst {\n\t\t\t\t\ttopLeft,\n\t\t\t\t\ttopRight,\n\t\t\t\t\tbottomLeft,\n\t\t\t\t\tbottomRight,\n\t\t\t\t} = borderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t\t...styles,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","blockEditorStore","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderColor","color","borderProps","colorProps","unitControlInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","buttonOutside","onClick","buttonInside","noButton","getButtonPositionIcon","buttonOnly","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","event","target","value","renderButton","buttonClasses","buttonStyles","search","html","controls","toggleLabel","buttonWithIcon","MIN_WIDTH","MIN_WIDTH_UNIT","newWidth","filteredWidth","parseInt","newUnit","maxWidth","map","widthValue","padBorderRadius","getWrapperStyles","styles","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","Number","isInteger","blockProps","direction","elt","offsetWidth","delta"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseColorProps as useColorProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\tuseEffect( () => {\n\t\tif ( ! insertedInNavigationBlock ) return;\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}, [ insertedInNavigationBlock ] );\n\tconst borderRadius = style?.border?.radius;\n\tconst borderColor = style?.border?.color;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t! isButtonPositionInside ? borderProps.className : undefined,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className\n\t\t);\n\t\tconst textFieldStyles = isButtonPositionInside\n\t\t\t? { borderRadius }\n\t\t\t: borderProps.style;\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstyle={ { maxWidth: 80 } }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = {\n\t\t\tborderColor,\n\t\t};\n\n\t\tconst isNonZeroBorderRadius = parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst {\n\t\t\t\t\ttopLeft,\n\t\t\t\t\ttopRight,\n\t\t\t\t\tbottomLeft,\n\t\t\t\t\tbottomRight,\n\t\t\t\t} = borderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t\t...styles,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
@@ -51,9 +51,10 @@ function SearchEdit({
51
51
  attributes,
52
52
  setAttributes,
53
53
  className,
54
- blockWidth
54
+ blockWidth,
55
+ style
55
56
  }) {
56
- var _styles$richTextButto2;
57
+ var _style$baseColors, _style$baseColors2, _style$baseColors2$co, _style$baseColors3, _style$baseColors4, _style$baseColors4$co, _style$baseColors5, _style$baseColors5$bl, _style$baseColors5$bl2, _attributes$style, _styles$richTextButto2;
57
58
 
58
59
  const [isButtonSelected, setIsButtonSelected] = (0, _element.useState)(false);
59
60
  const [isLabelSelected, setIsLabelSelected] = (0, _element.useState)(false);
@@ -177,8 +178,14 @@ function SearchEdit({
177
178
  })));
178
179
  const isButtonInside = buttonPosition === 'button-inside';
179
180
  const borderStyle = (0, _compose.usePreferredColorSchemeStyle)(_style.default.border, _style.default.borderDark);
180
- const inputStyle = [!isButtonInside && borderStyle, (0, _compose.usePreferredColorSchemeStyle)(_style.default.plainTextInput, _style.default.plainTextInputDark)];
181
- const placeholderStyle = (0, _compose.usePreferredColorSchemeStyle)(_style.default.plainTextPlaceholder, _style.default.plainTextPlaceholderDark);
181
+ const inputStyle = [!isButtonInside && borderStyle, (0, _compose.usePreferredColorSchemeStyle)(_style.default.plainTextInput, _style.default.plainTextInputDark), (style === null || style === void 0 ? void 0 : (_style$baseColors = style.baseColors) === null || _style$baseColors === void 0 ? void 0 : _style$baseColors.color) && {
182
+ color: style === null || style === void 0 ? void 0 : (_style$baseColors2 = style.baseColors) === null || _style$baseColors2 === void 0 ? void 0 : (_style$baseColors2$co = _style$baseColors2.color) === null || _style$baseColors2$co === void 0 ? void 0 : _style$baseColors2$co.text
183
+ }];
184
+ const placeholderStyle = { ...(0, _compose.usePreferredColorSchemeStyle)(_style.default.plainTextPlaceholder, _style.default.plainTextPlaceholderDark),
185
+ ...((style === null || style === void 0 ? void 0 : (_style$baseColors3 = style.baseColors) === null || _style$baseColors3 === void 0 ? void 0 : _style$baseColors3.color) && {
186
+ color: style === null || style === void 0 ? void 0 : (_style$baseColors4 = style.baseColors) === null || _style$baseColors4 === void 0 ? void 0 : (_style$baseColors4$co = _style$baseColors4.color) === null || _style$baseColors4$co === void 0 ? void 0 : _style$baseColors4$co.text
187
+ })
188
+ };
182
189
  const searchBarStyle = [_style.default.searchBarContainer, isButtonInside && borderStyle, isLongButton && {
183
190
  flexDirection: 'column'
184
191
  }];
@@ -264,15 +271,39 @@ function SearchEdit({
264
271
 
265
272
 
266
273
  const buttonPlaceholderText = isButtonSelected || !isButtonSelected && buttonText && buttonText !== '' ? '' : (0, _i18n.__)('Add button text');
274
+ const baseButtonStyles = { ...(style === null || style === void 0 ? void 0 : (_style$baseColors5 = style.baseColors) === null || _style$baseColors5 === void 0 ? void 0 : (_style$baseColors5$bl = _style$baseColors5.blocks) === null || _style$baseColors5$bl === void 0 ? void 0 : (_style$baseColors5$bl2 = _style$baseColors5$bl['core/button']) === null || _style$baseColors5$bl2 === void 0 ? void 0 : _style$baseColors5$bl2.color),
275
+ ...(attributes === null || attributes === void 0 ? void 0 : (_attributes$style = attributes.style) === null || _attributes$style === void 0 ? void 0 : _attributes$style.color),
276
+ ...((style === null || style === void 0 ? void 0 : style.color) && {
277
+ text: style.color
278
+ })
279
+ };
280
+ const richTextButtonContainerStyle = [_style.default.buttonContainer, isLongButton && _style.default.buttonContainerWide, (baseButtonStyles === null || baseButtonStyles === void 0 ? void 0 : baseButtonStyles.background) && {
281
+ backgroundColor: baseButtonStyles.background,
282
+ borderWidth: 0
283
+ }, (style === null || style === void 0 ? void 0 : style.backgroundColor) && {
284
+ backgroundColor: style.backgroundColor,
285
+ borderWidth: 0
286
+ }];
287
+ const richTextButtonStyle = { ..._style.default.richTextButton,
288
+ ...((baseButtonStyles === null || baseButtonStyles === void 0 ? void 0 : baseButtonStyles.text) && {
289
+ color: baseButtonStyles.text,
290
+ placeholderColor: baseButtonStyles.text
291
+ })
292
+ };
293
+ const iconStyles = { ..._style.default.icon,
294
+ ...((baseButtonStyles === null || baseButtonStyles === void 0 ? void 0 : baseButtonStyles.text) && {
295
+ fill: baseButtonStyles.text
296
+ })
297
+ };
267
298
 
268
299
  const renderButton = () => {
269
300
  var _styles$richTextButto;
270
301
 
271
302
  return (0, _element.createElement)(_reactNative.View, {
272
- style: [_style.default.buttonContainer, isLongButton && _style.default.buttonContainerWide]
303
+ style: richTextButtonContainerStyle
273
304
  }, buttonUseIcon && (0, _element.createElement)(_components.Icon, (0, _extends2.default)({
274
305
  icon: _icons.search
275
- }, _style.default.icon, {
306
+ }, iconStyles, {
276
307
  onLayout: onLayoutButton
277
308
  })), !buttonUseIcon && (0, _element.createElement)(_reactNative.View, {
278
309
  accessible: true,
@@ -284,7 +315,7 @@ function SearchEdit({
284
315
  className: "wp-block-search__button",
285
316
  identifier: "text",
286
317
  tagName: "p",
287
- style: _style.default.richTextButton,
318
+ style: richTextButtonStyle,
288
319
  placeholder: buttonPlaceholderText,
289
320
  value: buttonText,
290
321
  withoutInteractiveFormatting: true,
@@ -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","isButtonSelected","setIsButtonSelected","isLabelSelected","setIsLabelSelected","isPlaceholderSelected","setIsPlaceholderSelected","isLongButton","setIsLongButton","buttonWidth","setButtonWidth","isScreenReaderEnabled","setIsScreenReaderEnabled","textInputRef","showLabel","buttonPosition","buttonUseIcon","placeholder","buttonText","AccessibilityInfo","addEventListener","handleScreenReaderToggled","then","screenReaderEnabled","removeEventListener","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","placeholderStyle","plainTextPlaceholder","plainTextPlaceholderDark","searchBarStyle","searchBarContainer","flexDirection","getAccessibilityLabelForButton","getAccessibilityLabelForPlaceholder","title","description","getAccessibilityLabelForLabel","renderTextField","searchInputContainer","newVal","color","buttonPlaceholderText","renderButton","buttonContainer","buttonContainerWide","search","icon","richTextButton","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} ) {\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\tAccessibilityInfo.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\tAccessibilityInfo.removeEventListener(\n\t\t\t\t'screenReaderChanged',\n\t\t\t\thandleScreenReaderToggled\n\t\t\t);\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];\n\n\tconst placeholderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.plainTextPlaceholder,\n\t\tstyles.plainTextPlaceholderDark\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 renderButton = () => {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tstyles.buttonContainer,\n\t\t\t\t\tisLongButton && styles.buttonContainerWide,\n\t\t\t\t] }\n\t\t\t>\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{ ...styles.icon }\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={ styles.richTextButton }\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","AccessibilityInfo","addEventListener","handleScreenReaderToggled","then","screenReaderEnabled","removeEventListener","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\tAccessibilityInfo.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\tAccessibilityInfo.removeEventListener(\n\t\t\t\t'screenReaderChanged',\n\t\t\t\thandleScreenReaderToggled\n\t\t\t);\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"]}
@@ -18,6 +18,7 @@ const SeparatorSettings = ({
18
18
  color,
19
19
  setColor
20
20
  }) => (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_blockEditor.PanelColorSettings, {
21
+ __experimentalHasMultipleOrigins: true,
21
22
  title: (0, _i18n.__)('Color'),
22
23
  colorSettings: [{
23
24
  value: color.color,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/separator/separator-settings.js"],"names":["SeparatorSettings","color","setColor","value","onChange","label"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,CAAE;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAF,KACzB,4BAAC,8BAAD,QACC,4BAAC,+BAAD;AACC,EAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,EAAA,aAAa,EAAG,CACf;AACCC,IAAAA,KAAK,EAAEF,KAAK,CAACA,KADd;AAECG,IAAAA,QAAQ,EAAEF,QAFX;AAGCG,IAAAA,KAAK,EAAE,cAAI,OAAJ;AAHR,GADe;AAFjB,EADD,CADD;;eAeeL,iB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';\n\nconst SeparatorSettings = ( { color, setColor } ) => (\n\t<InspectorControls>\n\t\t<PanelColorSettings\n\t\t\ttitle={ __( 'Color' ) }\n\t\t\tcolorSettings={ [\n\t\t\t\t{\n\t\t\t\t\tvalue: color.color,\n\t\t\t\t\tonChange: setColor,\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t></PanelColorSettings>\n\t</InspectorControls>\n);\n\nexport default SeparatorSettings;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/separator/separator-settings.js"],"names":["SeparatorSettings","color","setColor","value","onChange","label"],"mappings":";;;;;;;;;AAGA;;AACA;;AAJA;AACA;AACA;AAIA,MAAMA,iBAAiB,GAAG,CAAE;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAF,KACzB,4BAAC,8BAAD,QACC,4BAAC,+BAAD;AACC,EAAA,gCAAgC,MADjC;AAEC,EAAA,KAAK,EAAG,cAAI,OAAJ,CAFT;AAGC,EAAA,aAAa,EAAG,CACf;AACCC,IAAAA,KAAK,EAAEF,KAAK,CAACA,KADd;AAECG,IAAAA,QAAQ,EAAEF,QAFX;AAGCG,IAAAA,KAAK,EAAE,cAAI,OAAJ;AAHR,GADe;AAHjB,EADD,CADD;;eAgBeL,iB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, PanelColorSettings } from '@wordpress/block-editor';\n\nconst SeparatorSettings = ( { color, setColor } ) => (\n\t<InspectorControls>\n\t\t<PanelColorSettings\n\t\t\t__experimentalHasMultipleOrigins\n\t\t\ttitle={ __( 'Color' ) }\n\t\t\tcolorSettings={ [\n\t\t\t\t{\n\t\t\t\t\tvalue: color.color,\n\t\t\t\t\tonChange: setColor,\n\t\t\t\t\tlabel: __( 'Color' ),\n\t\t\t\t},\n\t\t\t] }\n\t\t></PanelColorSettings>\n\t</InspectorControls>\n);\n\nexport default SeparatorSettings;\n"]}
@@ -29,6 +29,10 @@ 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
+ var _notices = require("@wordpress/notices");
35
+
32
36
  var _useClientWidth = _interopRequireDefault(require("../image/use-client-width"));
33
37
 
34
38
  var _constants = require("../image/constants");
@@ -288,7 +292,6 @@ function LogoEdit({
288
292
  width
289
293
  } = attributes;
290
294
  const [logoUrl, setLogoUrl] = (0, _element.useState)();
291
- const [error, setError] = (0, _element.useState)();
292
295
  const ref = (0, _element.useRef)();
293
296
  const {
294
297
  siteLogoId,
@@ -359,7 +362,6 @@ function LogoEdit({
359
362
  if (!media.id && media.url) {
360
363
  // This is a temporary blob image
361
364
  setLogo(undefined);
362
- setError(null);
363
365
  setLogoUrl(media.url);
364
366
  return;
365
367
  }
@@ -372,8 +374,14 @@ function LogoEdit({
372
374
  setLogoUrl(undefined);
373
375
  };
374
376
 
377
+ const {
378
+ createErrorNotice
379
+ } = (0, _data.useDispatch)(_notices.store);
380
+
375
381
  const onUploadError = message => {
376
- setError(message[2] ? message[2] : null);
382
+ createErrorNotice(message[2], {
383
+ type: 'snackbar'
384
+ });
377
385
  };
378
386
 
379
387
  const controls = canUserEdit && logoUrl && (0, _element.createElement)(_blockEditor.BlockControls, {
@@ -384,10 +392,9 @@ function LogoEdit({
384
392
  accept: ACCEPT_MEDIA_STRING,
385
393
  onSelect: onSelectLogo,
386
394
  onError: onUploadError
387
- }), (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
395
+ }, (0, _element.createElement)(_components.MenuItem, {
388
396
  onClick: onRemoveLogo
389
397
  }, (0, _i18n.__)('Reset'))));
390
- const label = (0, _i18n.__)('Site Logo');
391
398
  let logoImage;
392
399
  const isLoading = siteLogoId === undefined || isRequestingMediaItem;
393
400
 
@@ -410,6 +417,22 @@ function LogoEdit({
410
417
  });
411
418
  }
412
419
 
420
+ const placeholder = content => {
421
+ const placeholderClassName = (0, _classnames.default)('block-editor-media-placeholder', className);
422
+ return (0, _element.createElement)(_components.Placeholder, {
423
+ className: placeholderClassName,
424
+ preview: logoImage
425
+ }, (0, _element.createElement)(_primitives.SVG, {
426
+ className: "components-placeholder__illustration",
427
+ fill: "none",
428
+ xmlns: "http://www.w3.org/2000/svg",
429
+ viewBox: "0 0 60 60"
430
+ }, (0, _element.createElement)(_primitives.Path, {
431
+ vectorEffect: "non-scaling-stroke",
432
+ 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"
433
+ })), content);
434
+ };
435
+
413
436
  const classes = (0, _classnames.default)(className, {
414
437
  'is-default-size': !width
415
438
  });
@@ -417,29 +440,31 @@ function LogoEdit({
417
440
  ref,
418
441
  className: classes
419
442
  });
443
+ const label = (0, _i18n.__)('Add a site logo');
420
444
  return (0, _element.createElement)("div", blockProps, controls, !!logoUrl && logoImage, !logoUrl && !canUserEdit && (0, _element.createElement)(_components.Placeholder, {
421
- className: "site-logo_placeholder",
422
- icon: _icons.siteLogo,
423
- label: label
445
+ className: "site-logo_placeholder"
424
446
  }, isLoading && (0, _element.createElement)("span", {
425
447
  className: "components-placeholder__preview"
426
448
  }, (0, _element.createElement)(_components.Spinner, null))), !logoUrl && canUserEdit && (0, _element.createElement)(_blockEditor.MediaPlaceholder, {
427
- icon: (0, _element.createElement)(_blockEditor.BlockIcon, {
428
- icon: _icons.siteLogo
429
- }),
430
- labels: {
431
- title: label,
432
- instructions: (0, _i18n.__)('Upload an image, or pick one from your media library, to be your site logo')
433
- },
434
449
  onSelect: onSelectLogo,
435
450
  accept: ACCEPT_MEDIA_STRING,
436
451
  allowedTypes: ALLOWED_MEDIA_TYPES,
437
- mediaPreview: logoImage,
438
- notices: error && (0, _element.createElement)(_components.Notice, {
439
- status: "error",
440
- isDismissible: false
441
- }, error),
442
- onError: onUploadError
452
+ onError: onUploadError,
453
+ placeholder: placeholder,
454
+ mediaLibraryButton: ({
455
+ open
456
+ }) => {
457
+ return (0, _element.createElement)(_components.Button, {
458
+ icon: _icons.upload,
459
+ variant: "primary",
460
+ label: label,
461
+ showTooltip: true,
462
+ tooltipPosition: "top center",
463
+ onClick: () => {
464
+ open();
465
+ }
466
+ });
467
+ }
443
468
  }));
444
469
  }
445
470
  //# sourceMappingURL=edit.js.map