@wordpress/block-library 8.13.0 → 8.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (549) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/index.js +5 -1
  3. package/build/archives/index.js.map +1 -1
  4. package/build/audio/index.js +5 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/index.js +1 -1
  9. package/build/block/edit.js +1 -1
  10. package/build/block/edit.js.map +1 -1
  11. package/build/block/edit.native.js +6 -9
  12. package/build/block/edit.native.js.map +1 -1
  13. package/build/block/index.js +2 -1
  14. package/build/block/index.js.map +1 -1
  15. package/build/buttons/edit.js +7 -3
  16. package/build/buttons/edit.js.map +1 -1
  17. package/build/categories/index.js +5 -1
  18. package/build/categories/index.js.map +1 -1
  19. package/build/code/index.js +5 -1
  20. package/build/code/index.js.map +1 -1
  21. package/build/column/edit.native.js +1 -4
  22. package/build/column/edit.native.js.map +1 -1
  23. package/build/column/index.js +1 -0
  24. package/build/column/index.js.map +1 -1
  25. package/build/columns/edit.js +1 -0
  26. package/build/columns/edit.js.map +1 -1
  27. package/build/comment-author-avatar/edit.js +1 -0
  28. package/build/comment-author-avatar/edit.js.map +1 -1
  29. package/build/comments/index.js +1 -0
  30. package/build/comments/index.js.map +1 -1
  31. package/build/cover/deprecated.js +4 -2
  32. package/build/cover/deprecated.js.map +1 -1
  33. package/build/cover/edit/inspector-controls.js +2 -1
  34. package/build/cover/edit/inspector-controls.js.map +1 -1
  35. package/build/cover/index.js +1 -0
  36. package/build/cover/index.js.map +1 -1
  37. package/build/details/index.js +5 -1
  38. package/build/details/index.js.map +1 -1
  39. package/build/embed/embed-placeholder.native.js +37 -13
  40. package/build/embed/embed-placeholder.native.js.map +1 -1
  41. package/build/embed/util.js +9 -8
  42. package/build/embed/util.js.map +1 -1
  43. package/build/file/inspector.js +1 -0
  44. package/build/file/inspector.js.map +1 -1
  45. package/build/file/{interactivity.js → view-interactivity.js} +6 -2
  46. package/build/file/view-interactivity.js.map +1 -0
  47. package/build/footnotes/edit.js +20 -1
  48. package/build/footnotes/edit.js.map +1 -1
  49. package/build/footnotes/format.js +19 -16
  50. package/build/footnotes/format.js.map +1 -1
  51. package/build/footnotes/index.js +0 -1
  52. package/build/footnotes/index.js.map +1 -1
  53. package/build/gallery/edit.js +1 -1
  54. package/build/gallery/edit.js.map +1 -1
  55. package/build/gallery/index.js +3 -1
  56. package/build/gallery/index.js.map +1 -1
  57. package/build/group/index.js +1 -0
  58. package/build/group/index.js.map +1 -1
  59. package/build/heading/index.js +5 -1
  60. package/build/heading/index.js.map +1 -1
  61. package/build/heading/transforms.js +5 -1
  62. package/build/heading/transforms.js.map +1 -1
  63. package/build/image/deprecated.js +453 -175
  64. package/build/image/deprecated.js.map +1 -1
  65. package/build/image/edit.js +0 -4
  66. package/build/image/edit.js.map +1 -1
  67. package/build/image/image.js +96 -43
  68. package/build/image/image.js.map +1 -1
  69. package/build/image/index.js +6 -0
  70. package/build/image/index.js.map +1 -1
  71. package/build/image/save.js +8 -1
  72. package/build/image/save.js.map +1 -1
  73. package/build/image/utils.js +18 -0
  74. package/build/image/utils.js.map +1 -1
  75. package/build/image/{interactivity.js → view-interactivity.js} +86 -44
  76. package/build/image/view-interactivity.js.map +1 -0
  77. package/build/index.js +12 -3
  78. package/build/index.js.map +1 -1
  79. package/build/latest-comments/edit.js +1 -0
  80. package/build/latest-comments/edit.js.map +1 -1
  81. package/build/latest-posts/edit.js +2 -0
  82. package/build/latest-posts/edit.js.map +1 -1
  83. package/build/list/edit.js +4 -4
  84. package/build/list/edit.js.map +1 -1
  85. package/build/list/index.js +5 -1
  86. package/build/list/index.js.map +1 -1
  87. package/build/list-item/utils.js +6 -1
  88. package/build/list-item/utils.js.map +1 -1
  89. package/build/media-text/index.js +1 -0
  90. package/build/media-text/index.js.map +1 -1
  91. package/build/media-text/media-container.native.js +2 -1
  92. package/build/media-text/media-container.native.js.map +1 -1
  93. package/build/missing/edit.js +22 -8
  94. package/build/missing/edit.js.map +1 -1
  95. package/build/missing/edit.native.js +7 -5
  96. package/build/missing/edit.native.js.map +1 -1
  97. package/build/navigation/constants.js +10 -4
  98. package/build/navigation/constants.js.map +1 -1
  99. package/build/navigation/edit/index.js +17 -3
  100. package/build/navigation/edit/index.js.map +1 -1
  101. package/build/navigation/edit/inner-blocks.js +2 -2
  102. package/build/navigation/edit/inner-blocks.js.map +1 -1
  103. package/build/navigation/edit/menu-inspector-controls.js +0 -1
  104. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  105. package/build/navigation/edit/unsaved-inner-blocks.js +2 -2
  106. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  107. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -15
  108. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  109. package/build/navigation/use-navigation-menu.js +33 -45
  110. package/build/navigation/use-navigation-menu.js.map +1 -1
  111. package/build/navigation/view-interactivity.js +185 -0
  112. package/build/navigation/view-interactivity.js.map +1 -0
  113. package/build/navigation-link/edit.js +12 -18
  114. package/build/navigation-link/edit.js.map +1 -1
  115. package/build/navigation-link/link-ui.js +12 -2
  116. package/build/navigation-link/link-ui.js.map +1 -1
  117. package/build/navigation-submenu/edit.js +2 -2
  118. package/build/navigation-submenu/edit.js.map +1 -1
  119. package/build/page-list/convert-to-links-modal.js +3 -3
  120. package/build/page-list/convert-to-links-modal.js.map +1 -1
  121. package/build/page-list/edit.js +34 -39
  122. package/build/page-list/edit.js.map +1 -1
  123. package/build/page-list/use-convert-to-navigation-links.js +2 -15
  124. package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
  125. package/build/paragraph/index.js +1 -0
  126. package/build/paragraph/index.js.map +1 -1
  127. package/build/paragraph/transforms.js +1 -0
  128. package/build/paragraph/transforms.js.map +1 -1
  129. package/build/post-comments-form/index.js +1 -0
  130. package/build/post-comments-form/index.js.map +1 -1
  131. package/build/post-navigation-link/index.js +1 -0
  132. package/build/post-navigation-link/index.js.map +1 -1
  133. package/build/post-time-to-read/index.js +5 -1
  134. package/build/post-time-to-read/index.js.map +1 -1
  135. package/build/query-pagination/edit.js +1 -1
  136. package/build/query-pagination/edit.js.map +1 -1
  137. package/build/query-pagination-numbers/index.js +1 -1
  138. package/build/query-title/edit.js +43 -1
  139. package/build/query-title/edit.js.map +1 -1
  140. package/build/quote/index.js +1 -0
  141. package/build/quote/index.js.map +1 -1
  142. package/build/quote/transforms.js +8 -0
  143. package/build/quote/transforms.js.map +1 -1
  144. package/build/rss/edit.js +3 -0
  145. package/build/rss/edit.js.map +1 -1
  146. package/build/search/edit.js +4 -3
  147. package/build/search/edit.js.map +1 -1
  148. package/build/search/index.js +1 -0
  149. package/build/search/index.js.map +1 -1
  150. package/build/site-logo/edit.js +1 -0
  151. package/build/site-logo/edit.js.map +1 -1
  152. package/build/site-logo/index.js +5 -1
  153. package/build/site-logo/index.js.map +1 -1
  154. package/build/site-tagline/icon.js +1 -1
  155. package/build/site-tagline/icon.js.map +1 -1
  156. package/build/site-tagline/index.js +5 -1
  157. package/build/site-tagline/index.js.map +1 -1
  158. package/build/site-title/index.js +5 -1
  159. package/build/site-title/index.js.map +1 -1
  160. package/build/social-links/index.js +3 -1
  161. package/build/social-links/index.js.map +1 -1
  162. package/build/table/index.js +5 -1
  163. package/build/table/index.js.map +1 -1
  164. package/build/tag-cloud/edit.js +1 -0
  165. package/build/tag-cloud/edit.js.map +1 -1
  166. package/build/template-part/edit/index.js +1 -1
  167. package/build/template-part/edit/index.js.map +1 -1
  168. package/build/term-description/index.js +1 -0
  169. package/build/term-description/index.js.map +1 -1
  170. package/build/text-columns/edit.js +1 -0
  171. package/build/text-columns/edit.js.map +1 -1
  172. package/build/verse/index.js +5 -1
  173. package/build/verse/index.js.map +1 -1
  174. package/build/video/deprecated.js +5 -1
  175. package/build/video/deprecated.js.map +1 -1
  176. package/build/video/index.js +5 -1
  177. package/build/video/index.js.map +1 -1
  178. package/build-module/archives/index.js +5 -1
  179. package/build-module/archives/index.js.map +1 -1
  180. package/build-module/audio/index.js +5 -1
  181. package/build-module/audio/index.js.map +1 -1
  182. package/build-module/avatar/edit.js +1 -0
  183. package/build-module/avatar/edit.js.map +1 -1
  184. package/build-module/avatar/index.js +1 -1
  185. package/build-module/block/edit.js +1 -1
  186. package/build-module/block/edit.js.map +1 -1
  187. package/build-module/block/edit.native.js +7 -9
  188. package/build-module/block/edit.native.js.map +1 -1
  189. package/build-module/block/index.js +2 -1
  190. package/build-module/block/index.js.map +1 -1
  191. package/build-module/buttons/edit.js +7 -3
  192. package/build-module/buttons/edit.js.map +1 -1
  193. package/build-module/categories/index.js +5 -1
  194. package/build-module/categories/index.js.map +1 -1
  195. package/build-module/code/index.js +5 -1
  196. package/build-module/code/index.js.map +1 -1
  197. package/build-module/column/edit.native.js +1 -4
  198. package/build-module/column/edit.native.js.map +1 -1
  199. package/build-module/column/index.js +1 -0
  200. package/build-module/column/index.js.map +1 -1
  201. package/build-module/columns/edit.js +1 -0
  202. package/build-module/columns/edit.js.map +1 -1
  203. package/build-module/comment-author-avatar/edit.js +1 -0
  204. package/build-module/comment-author-avatar/edit.js.map +1 -1
  205. package/build-module/comments/index.js +1 -0
  206. package/build-module/comments/index.js.map +1 -1
  207. package/build-module/cover/deprecated.js +4 -2
  208. package/build-module/cover/deprecated.js.map +1 -1
  209. package/build-module/cover/edit/inspector-controls.js +2 -1
  210. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  211. package/build-module/cover/index.js +1 -0
  212. package/build-module/cover/index.js.map +1 -1
  213. package/build-module/details/index.js +5 -1
  214. package/build-module/details/index.js.map +1 -1
  215. package/build-module/embed/embed-placeholder.native.js +37 -14
  216. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  217. package/build-module/embed/util.js +6 -6
  218. package/build-module/embed/util.js.map +1 -1
  219. package/build-module/file/inspector.js +1 -0
  220. package/build-module/file/inspector.js.map +1 -1
  221. package/build-module/file/{interactivity.js → view-interactivity.js} +6 -2
  222. package/build-module/file/view-interactivity.js.map +1 -0
  223. package/build-module/footnotes/edit.js +18 -2
  224. package/build-module/footnotes/edit.js.map +1 -1
  225. package/build-module/footnotes/format.js +19 -16
  226. package/build-module/footnotes/format.js.map +1 -1
  227. package/build-module/footnotes/index.js +0 -1
  228. package/build-module/footnotes/index.js.map +1 -1
  229. package/build-module/gallery/edit.js +1 -1
  230. package/build-module/gallery/edit.js.map +1 -1
  231. package/build-module/gallery/index.js +3 -1
  232. package/build-module/gallery/index.js.map +1 -1
  233. package/build-module/group/index.js +1 -0
  234. package/build-module/group/index.js.map +1 -1
  235. package/build-module/heading/index.js +5 -1
  236. package/build-module/heading/index.js.map +1 -1
  237. package/build-module/heading/transforms.js +5 -1
  238. package/build-module/heading/transforms.js.map +1 -1
  239. package/build-module/image/deprecated.js +454 -176
  240. package/build-module/image/deprecated.js.map +1 -1
  241. package/build-module/image/edit.js +0 -4
  242. package/build-module/image/edit.js.map +1 -1
  243. package/build-module/image/image.js +96 -46
  244. package/build-module/image/image.js.map +1 -1
  245. package/build-module/image/index.js +6 -0
  246. package/build-module/image/index.js.map +1 -1
  247. package/build-module/image/save.js +8 -1
  248. package/build-module/image/save.js.map +1 -1
  249. package/build-module/image/utils.js +16 -0
  250. package/build-module/image/utils.js.map +1 -1
  251. package/build-module/image/{interactivity.js → view-interactivity.js} +86 -44
  252. package/build-module/image/view-interactivity.js.map +1 -0
  253. package/build-module/index.js +12 -3
  254. package/build-module/index.js.map +1 -1
  255. package/build-module/latest-comments/edit.js +1 -0
  256. package/build-module/latest-comments/edit.js.map +1 -1
  257. package/build-module/latest-posts/edit.js +2 -0
  258. package/build-module/latest-posts/edit.js.map +1 -1
  259. package/build-module/list/edit.js +4 -4
  260. package/build-module/list/edit.js.map +1 -1
  261. package/build-module/list/index.js +5 -1
  262. package/build-module/list/index.js.map +1 -1
  263. package/build-module/list-item/utils.js +6 -1
  264. package/build-module/list-item/utils.js.map +1 -1
  265. package/build-module/media-text/index.js +1 -0
  266. package/build-module/media-text/index.js.map +1 -1
  267. package/build-module/media-text/media-container.native.js +2 -1
  268. package/build-module/media-text/media-container.native.js.map +1 -1
  269. package/build-module/missing/edit.js +22 -8
  270. package/build-module/missing/edit.js.map +1 -1
  271. package/build-module/missing/edit.native.js +8 -6
  272. package/build-module/missing/edit.native.js.map +1 -1
  273. package/build-module/navigation/constants.js +8 -3
  274. package/build-module/navigation/constants.js.map +1 -1
  275. package/build-module/navigation/edit/index.js +18 -4
  276. package/build-module/navigation/edit/index.js.map +1 -1
  277. package/build-module/navigation/edit/inner-blocks.js +2 -2
  278. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  279. package/build-module/navigation/edit/menu-inspector-controls.js +0 -1
  280. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  281. package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -2
  282. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  283. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +10 -14
  284. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  285. package/build-module/navigation/use-navigation-menu.js +35 -47
  286. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  287. package/build-module/navigation/view-interactivity.js +182 -0
  288. package/build-module/navigation/view-interactivity.js.map +1 -0
  289. package/build-module/navigation-link/edit.js +13 -19
  290. package/build-module/navigation-link/edit.js.map +1 -1
  291. package/build-module/navigation-link/link-ui.js +13 -3
  292. package/build-module/navigation-link/link-ui.js.map +1 -1
  293. package/build-module/navigation-submenu/edit.js +2 -2
  294. package/build-module/navigation-submenu/edit.js.map +1 -1
  295. package/build-module/page-list/convert-to-links-modal.js +3 -3
  296. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  297. package/build-module/page-list/edit.js +34 -39
  298. package/build-module/page-list/edit.js.map +1 -1
  299. package/build-module/page-list/use-convert-to-navigation-links.js +3 -16
  300. package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
  301. package/build-module/paragraph/index.js +1 -0
  302. package/build-module/paragraph/index.js.map +1 -1
  303. package/build-module/paragraph/transforms.js +1 -0
  304. package/build-module/paragraph/transforms.js.map +1 -1
  305. package/build-module/post-comments-form/index.js +1 -0
  306. package/build-module/post-comments-form/index.js.map +1 -1
  307. package/build-module/post-navigation-link/index.js +1 -0
  308. package/build-module/post-navigation-link/index.js.map +1 -1
  309. package/build-module/post-time-to-read/index.js +5 -1
  310. package/build-module/post-time-to-read/index.js.map +1 -1
  311. package/build-module/query-pagination/edit.js +1 -1
  312. package/build-module/query-pagination/edit.js.map +1 -1
  313. package/build-module/query-pagination-numbers/index.js +1 -1
  314. package/build-module/query-title/edit.js +44 -3
  315. package/build-module/query-title/edit.js.map +1 -1
  316. package/build-module/quote/index.js +1 -0
  317. package/build-module/quote/index.js.map +1 -1
  318. package/build-module/quote/transforms.js +8 -0
  319. package/build-module/quote/transforms.js.map +1 -1
  320. package/build-module/rss/edit.js +3 -0
  321. package/build-module/rss/edit.js.map +1 -1
  322. package/build-module/search/edit.js +4 -3
  323. package/build-module/search/edit.js.map +1 -1
  324. package/build-module/search/index.js +1 -0
  325. package/build-module/search/index.js.map +1 -1
  326. package/build-module/site-logo/edit.js +1 -0
  327. package/build-module/site-logo/edit.js.map +1 -1
  328. package/build-module/site-logo/index.js +5 -1
  329. package/build-module/site-logo/index.js.map +1 -1
  330. package/build-module/site-tagline/icon.js +1 -1
  331. package/build-module/site-tagline/icon.js.map +1 -1
  332. package/build-module/site-tagline/index.js +5 -1
  333. package/build-module/site-tagline/index.js.map +1 -1
  334. package/build-module/site-title/index.js +5 -1
  335. package/build-module/site-title/index.js.map +1 -1
  336. package/build-module/social-links/index.js +3 -1
  337. package/build-module/social-links/index.js.map +1 -1
  338. package/build-module/table/index.js +5 -1
  339. package/build-module/table/index.js.map +1 -1
  340. package/build-module/tag-cloud/edit.js +1 -0
  341. package/build-module/tag-cloud/edit.js.map +1 -1
  342. package/build-module/template-part/edit/index.js +1 -1
  343. package/build-module/template-part/edit/index.js.map +1 -1
  344. package/build-module/term-description/index.js +1 -0
  345. package/build-module/term-description/index.js.map +1 -1
  346. package/build-module/text-columns/edit.js +1 -0
  347. package/build-module/text-columns/edit.js.map +1 -1
  348. package/build-module/verse/index.js +5 -1
  349. package/build-module/verse/index.js.map +1 -1
  350. package/build-module/video/deprecated.js +5 -1
  351. package/build-module/video/deprecated.js.map +1 -1
  352. package/build-module/video/index.js +5 -1
  353. package/build-module/video/index.js.map +1 -1
  354. package/build-style/details/style-rtl.css +4 -2
  355. package/build-style/details/style.css +4 -2
  356. package/build-style/footnotes/style-rtl.css +4 -3
  357. package/build-style/footnotes/style.css +4 -3
  358. package/build-style/image/style-rtl.css +16 -2
  359. package/build-style/image/style.css +16 -2
  360. package/build-style/navigation/style-rtl.css +14 -2
  361. package/build-style/navigation/style.css +14 -2
  362. package/build-style/query-pagination/style-rtl.css +4 -2
  363. package/build-style/query-pagination/style.css +4 -2
  364. package/build-style/style-rtl.css +42 -11
  365. package/build-style/style.css +42 -11
  366. package/package.json +33 -37
  367. package/src/archives/block.json +5 -1
  368. package/src/audio/block.json +5 -1
  369. package/src/audio/test/__snapshots__/edit.native.js.snap +58 -33
  370. package/src/avatar/block.json +1 -1
  371. package/src/avatar/edit.js +1 -0
  372. package/src/block/block.json +2 -1
  373. package/src/block/edit.js +2 -2
  374. package/src/block/edit.native.js +8 -12
  375. package/src/block/editor.native.scss +2 -2
  376. package/src/block/test/edit.native.js +4 -4
  377. package/src/buttons/edit.js +4 -4
  378. package/src/categories/block.json +5 -1
  379. package/src/code/block.json +5 -1
  380. package/src/column/block.json +1 -0
  381. package/src/column/edit.native.js +4 -10
  382. package/src/column/editor.native.scss +0 -4
  383. package/src/columns/edit.js +1 -0
  384. package/src/comment-author-avatar/edit.js +1 -0
  385. package/src/comment-template/index.php +5 -2
  386. package/src/comments/block.json +1 -0
  387. package/src/cover/block.json +1 -0
  388. package/src/cover/deprecated.js +2 -0
  389. package/src/cover/edit/inspector-controls.js +1 -0
  390. package/src/details/block.json +5 -1
  391. package/src/embed/embed-placeholder.native.js +80 -47
  392. package/src/embed/styles.native.scss +54 -18
  393. package/src/embed/test/index.native.js +5 -5
  394. package/src/embed/util.js +4 -6
  395. package/src/file/index.php +4 -3
  396. package/src/file/inspector.js +1 -0
  397. package/src/file/test/__snapshots__/edit.native.js.snap +58 -33
  398. package/src/file/{interactivity.js → view-interactivity.js} +4 -1
  399. package/src/footnotes/block.json +0 -1
  400. package/src/footnotes/edit.js +21 -2
  401. package/src/footnotes/format.js +22 -20
  402. package/src/footnotes/index.php +11 -9
  403. package/src/footnotes/style.scss +6 -3
  404. package/src/gallery/block.json +3 -1
  405. package/src/gallery/edit.js +1 -1
  406. package/src/gallery/test/index.native.js +17 -16
  407. package/src/group/block.json +1 -0
  408. package/src/heading/block.json +5 -1
  409. package/src/heading/test/index.native.js +18 -0
  410. package/src/home-link/index.php +15 -2
  411. package/src/image/block.json +6 -0
  412. package/src/image/deprecated.js +597 -320
  413. package/src/image/edit.js +0 -4
  414. package/src/image/image.js +131 -62
  415. package/src/image/index.php +47 -8
  416. package/src/image/save.js +9 -1
  417. package/src/image/style.scss +15 -2
  418. package/src/image/test/edit.native.js +1 -1
  419. package/src/image/utils.js +16 -0
  420. package/src/image/{interactivity.js → view-interactivity.js} +99 -50
  421. package/src/index.js +18 -1
  422. package/src/latest-comments/edit.js +1 -0
  423. package/src/latest-posts/edit.js +2 -0
  424. package/src/latest-posts/index.php +1 -1
  425. package/src/list/block.json +5 -1
  426. package/src/list/edit.js +6 -4
  427. package/src/list/test/edit.native.js +129 -33
  428. package/src/media-text/block.json +1 -0
  429. package/src/media-text/media-container.native.js +1 -0
  430. package/src/missing/edit.js +31 -11
  431. package/src/missing/edit.native.js +12 -10
  432. package/src/missing/style.native.scss +19 -12
  433. package/src/missing/test/__snapshots__/edit.native.js.snap +21 -13
  434. package/src/navigation/constants.js +12 -6
  435. package/src/navigation/edit/index.js +30 -3
  436. package/src/navigation/edit/inner-blocks.js +2 -2
  437. package/src/navigation/edit/menu-inspector-controls.js +0 -1
  438. package/src/navigation/edit/unsaved-inner-blocks.js +2 -2
  439. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +17 -21
  440. package/src/navigation/index.php +43 -16
  441. package/src/navigation/style.scss +27 -8
  442. package/src/navigation/use-navigation-menu.js +39 -63
  443. package/src/navigation/view-interactivity.js +196 -0
  444. package/src/navigation-link/edit.js +61 -61
  445. package/src/navigation-link/link-ui.js +14 -2
  446. package/src/navigation-submenu/edit.js +2 -2
  447. package/src/navigation-submenu/index.php +2 -12
  448. package/src/page-list/convert-to-links-modal.js +3 -3
  449. package/src/page-list/edit.js +65 -62
  450. package/src/page-list/use-convert-to-navigation-links.js +3 -20
  451. package/src/paragraph/block.json +1 -0
  452. package/src/paragraph/test/__snapshots__/edit.native.js.snap +1 -0
  453. package/src/paragraph/test/edit.native.js +26 -0
  454. package/src/post-comments-form/block.json +1 -0
  455. package/src/post-navigation-link/block.json +1 -0
  456. package/src/post-template/index.php +4 -2
  457. package/src/post-time-to-read/block.json +5 -1
  458. package/src/post-title/index.php +6 -3
  459. package/src/preformatted/test/__snapshots__/edit.native.js.snap +2 -0
  460. package/src/query-pagination/edit.js +17 -14
  461. package/src/query-pagination-numbers/block.json +1 -1
  462. package/src/query-title/edit.js +48 -6
  463. package/src/quote/block.json +1 -0
  464. package/src/quote/test/__snapshots__/transforms.native.js.snap +10 -0
  465. package/src/quote/test/transforms.native.js +5 -1
  466. package/src/quote/transforms.js +13 -0
  467. package/src/rss/edit.js +3 -0
  468. package/src/search/block.json +1 -0
  469. package/src/search/edit.js +4 -3
  470. package/src/search/index.php +22 -4
  471. package/src/search/test/__snapshots__/edit.native.js.snap +7 -0
  472. package/src/site-logo/block.json +5 -1
  473. package/src/site-logo/edit.js +1 -0
  474. package/src/site-tagline/block.json +5 -1
  475. package/src/site-tagline/icon.js +1 -1
  476. package/src/site-title/block.json +5 -1
  477. package/src/social-links/block.json +3 -1
  478. package/src/table/block.json +5 -1
  479. package/src/tag-cloud/edit.js +1 -0
  480. package/src/template-part/edit/index.js +1 -1
  481. package/src/template-part/index.php +9 -15
  482. package/src/term-description/block.json +1 -0
  483. package/src/text-columns/edit.js +1 -0
  484. package/src/verse/block.json +5 -1
  485. package/src/video/block.json +5 -1
  486. package/build/file/interactivity.js.map +0 -1
  487. package/build/gallery/shared-icon.native.js +0 -38
  488. package/build/gallery/shared-icon.native.js.map +0 -1
  489. package/build/heading/heading-level-icon.js +0 -61
  490. package/build/heading/heading-level-icon.js.map +0 -1
  491. package/build/image/interactivity.js.map +0 -1
  492. package/build/navigation/interactivity.js +0 -167
  493. package/build/navigation/interactivity.js.map +0 -1
  494. package/build/utils/interactivity/constants.js +0 -9
  495. package/build/utils/interactivity/constants.js.map +0 -1
  496. package/build/utils/interactivity/directives.js +0 -222
  497. package/build/utils/interactivity/directives.js.map +0 -1
  498. package/build/utils/interactivity/hooks.js +0 -159
  499. package/build/utils/interactivity/hooks.js.map +0 -1
  500. package/build/utils/interactivity/hydration.js +0 -34
  501. package/build/utils/interactivity/hydration.js.map +0 -1
  502. package/build/utils/interactivity/index.js +0 -32
  503. package/build/utils/interactivity/index.js.map +0 -1
  504. package/build/utils/interactivity/portals.js +0 -108
  505. package/build/utils/interactivity/portals.js.map +0 -1
  506. package/build/utils/interactivity/store.js +0 -66
  507. package/build/utils/interactivity/store.js.map +0 -1
  508. package/build/utils/interactivity/utils.js +0 -87
  509. package/build/utils/interactivity/utils.js.map +0 -1
  510. package/build/utils/interactivity/vdom.js +0 -119
  511. package/build/utils/interactivity/vdom.js.map +0 -1
  512. package/build-module/file/interactivity.js.map +0 -1
  513. package/build-module/gallery/shared-icon.native.js +0 -24
  514. package/build-module/gallery/shared-icon.native.js.map +0 -1
  515. package/build-module/heading/heading-level-icon.js +0 -53
  516. package/build-module/heading/heading-level-icon.js.map +0 -1
  517. package/build-module/image/interactivity.js.map +0 -1
  518. package/build-module/navigation/interactivity.js +0 -164
  519. package/build-module/navigation/interactivity.js.map +0 -1
  520. package/build-module/utils/interactivity/constants.js +0 -2
  521. package/build-module/utils/interactivity/constants.js.map +0 -1
  522. package/build-module/utils/interactivity/directives.js +0 -209
  523. package/build-module/utils/interactivity/directives.js.map +0 -1
  524. package/build-module/utils/interactivity/hooks.js +0 -145
  525. package/build-module/utils/interactivity/hooks.js.map +0 -1
  526. package/build-module/utils/interactivity/hydration.js +0 -21
  527. package/build-module/utils/interactivity/hydration.js.map +0 -1
  528. package/build-module/utils/interactivity/index.js +0 -15
  529. package/build-module/utils/interactivity/index.js.map +0 -1
  530. package/build-module/utils/interactivity/portals.js +0 -100
  531. package/build-module/utils/interactivity/portals.js.map +0 -1
  532. package/build-module/utils/interactivity/store.js +0 -55
  533. package/build-module/utils/interactivity/store.js.map +0 -1
  534. package/build-module/utils/interactivity/utils.js +0 -75
  535. package/build-module/utils/interactivity/utils.js.map +0 -1
  536. package/build-module/utils/interactivity/vdom.js +0 -107
  537. package/build-module/utils/interactivity/vdom.js.map +0 -1
  538. package/src/gallery/shared-icon.native.js +0 -23
  539. package/src/heading/heading-level-icon.js +0 -48
  540. package/src/navigation/interactivity.js +0 -169
  541. package/src/utils/interactivity/constants.js +0 -1
  542. package/src/utils/interactivity/directives.js +0 -200
  543. package/src/utils/interactivity/hooks.js +0 -145
  544. package/src/utils/interactivity/hydration.js +0 -22
  545. package/src/utils/interactivity/index.js +0 -15
  546. package/src/utils/interactivity/portals.js +0 -98
  547. package/src/utils/interactivity/store.js +0 -45
  548. package/src/utils/interactivity/utils.js +0 -66
  549. package/src/utils/interactivity/vdom.js +0 -111
@@ -50,7 +50,7 @@ function QueryPaginationEdit({
50
50
  return innerBlocks?.find(innerBlock => {
51
51
  return ['core/query-pagination-next', 'core/query-pagination-previous'].includes(innerBlock.name);
52
52
  });
53
- }, []);
53
+ }, [clientId]);
54
54
  const blockProps = (0, _blockEditor.useBlockProps)();
55
55
  const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)(blockProps, {
56
56
  template: TEMPLATE,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-pagination/edit.js"],"names":["TEMPLATE","ALLOWED_BLOCKS","QueryPaginationEdit","attributes","paginationArrow","showLabel","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","blockEditorStore","innerBlocks","find","innerBlock","includes","name","blockProps","innerBlocksProps","template","allowedBlocks","value"],"mappings":";;;;;;;AAYA;;AATA;;AACA;;AAMA;;AACA;;AAMA;;AACA;;AAlBA;AACA;AACA;;AAYA;AACA;AACA;AAIA,MAAMA,QAAQ,GAAG,CAChB,CAAE,gCAAF,CADgB,EAEhB,CAAE,+BAAF,CAFgB,EAGhB,CAAE,4BAAF,CAHgB,CAAjB;AAKA,MAAMC,cAAc,GAAG,CACtB,gCADsB,EAEtB,+BAFsB,EAGtB,4BAHsB,CAAvB;;AAMe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GADgC;AAE5CC,EAAAA,aAF4C;AAG5CC,EAAAA;AAH4C,CAA9B,EAIX;AACH,QAAMC,qBAAqB,GAAG,qBAAaC,MAAF,IAAc;AACtD,UAAM;AAAEC,MAAAA;AAAF,QAAgBD,MAAM,CAAEE,kBAAF,CAA5B;AACA,UAAMC,WAAW,GAAGF,SAAS,CAAEH,QAAF,CAA7B;AACA;AACF;AACA;AACA;;AACE,WAAOK,WAAW,EAAEC,IAAb,CAAqBC,UAAF,IAAkB;AAC3C,aAAO,CACN,4BADM,EAEN,gCAFM,EAGLC,QAHK,CAGKD,UAAU,CAACE,IAHhB,CAAP;AAIA,KALM,CAAP;AAMA,GAb6B,EAa3B,EAb2B,CAA9B;AAcA,QAAMC,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,QAAQ,EAAEnB,QAD+C;AAEzDoB,IAAAA,aAAa,EAAEnB;AAF0C,GAAjC,CAAzB,CAhBG,CAoBH;;AACA,0BAAW,MAAM;AAChB,QAAKG,eAAe,KAAK,MAApB,IAA8B,CAAEC,SAArC,EAAiD;AAChDC,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAE;AAAb,OAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAED,eAAF,EAAmBE,aAAnB,EAAkCD,SAAlC,CAJH;AAKA,SACC,qDACGG,qBAAqB,IACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,0DAAD;AACC,IAAA,KAAK,EAAGJ,eADT;AAEC,IAAA,QAAQ,EAAKiB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAEF,QAAAA,eAAe,EAAEiB;AAAnB,OAAF,CAAb;AACA;AAJF,IADD,EAOGjB,eAAe,KAAK,MAApB,IACD,4BAAC,wDAAD;AACC,IAAA,KAAK,EAAGC,SADT;AAEC,IAAA,QAAQ,EAAKgB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAEgB;AAAb,OAAF,CAAb;AACA;AAJF,IARF,CADD,CAFF,EAqBC,wCAAUH;AAAV,IArBD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { QueryPaginationArrowControls } from './query-pagination-arrow-controls';\nimport { QueryPaginationLabelControl } from './query-pagination-label-control';\n\nconst TEMPLATE = [\n\t[ 'core/query-pagination-previous' ],\n\t[ 'core/query-pagination-numbers' ],\n\t[ 'core/query-pagination-next' ],\n];\nconst ALLOWED_BLOCKS = [\n\t'core/query-pagination-previous',\n\t'core/query-pagination-numbers',\n\t'core/query-pagination-next',\n];\n\nexport default function QueryPaginationEdit( {\n\tattributes: { paginationArrow, showLabel },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst hasNextPreviousBlocks = useSelect( ( select ) => {\n\t\tconst { getBlocks } = select( blockEditorStore );\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\t/**\n\t\t * Show the `paginationArrow` and `showLabel` controls only if a\n\t\t * `QueryPaginationNext/Previous` block exists.\n\t\t */\n\t\treturn innerBlocks?.find( ( innerBlock ) => {\n\t\t\treturn [\n\t\t\t\t'core/query-pagination-next',\n\t\t\t\t'core/query-pagination-previous',\n\t\t\t].includes( innerBlock.name );\n\t\t} );\n\t}, [] );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t} );\n\t// Always show label text if paginationArrow is set to 'none'.\n\tuseEffect( () => {\n\t\tif ( paginationArrow === 'none' && ! showLabel ) {\n\t\t\tsetAttributes( { showLabel: true } );\n\t\t}\n\t}, [ paginationArrow, setAttributes, showLabel ] );\n\treturn (\n\t\t<>\n\t\t\t{ hasNextPreviousBlocks && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<QueryPaginationArrowControls\n\t\t\t\t\t\t\tvalue={ paginationArrow }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ paginationArrow !== 'none' && (\n\t\t\t\t\t\t\t<QueryPaginationLabelControl\n\t\t\t\t\t\t\t\tvalue={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { showLabel: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<nav { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-pagination/edit.js"],"names":["TEMPLATE","ALLOWED_BLOCKS","QueryPaginationEdit","attributes","paginationArrow","showLabel","setAttributes","clientId","hasNextPreviousBlocks","select","getBlocks","blockEditorStore","innerBlocks","find","innerBlock","includes","name","blockProps","innerBlocksProps","template","allowedBlocks","value"],"mappings":";;;;;;;AAYA;;AATA;;AACA;;AAMA;;AACA;;AAMA;;AACA;;AAlBA;AACA;AACA;;AAYA;AACA;AACA;AAIA,MAAMA,QAAQ,GAAG,CAChB,CAAE,gCAAF,CADgB,EAEhB,CAAE,+BAAF,CAFgB,EAGhB,CAAE,4BAAF,CAHgB,CAAjB;AAKA,MAAMC,cAAc,GAAG,CACtB,gCADsB,EAEtB,+BAFsB,EAGtB,4BAHsB,CAAvB;;AAMe,SAASC,mBAAT,CAA8B;AAC5CC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA;AAAnB,GADgC;AAE5CC,EAAAA,aAF4C;AAG5CC,EAAAA;AAH4C,CAA9B,EAIX;AACH,QAAMC,qBAAqB,GAAG,qBAC3BC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAgBD,MAAM,CAAEE,kBAAF,CAA5B;AACA,UAAMC,WAAW,GAAGF,SAAS,CAAEH,QAAF,CAA7B;AACA;AACH;AACA;AACA;;AACG,WAAOK,WAAW,EAAEC,IAAb,CAAqBC,UAAF,IAAkB;AAC3C,aAAO,CACN,4BADM,EAEN,gCAFM,EAGLC,QAHK,CAGKD,UAAU,CAACE,IAHhB,CAAP;AAIA,KALM,CAAP;AAMA,GAd4B,EAe7B,CAAET,QAAF,CAf6B,CAA9B;AAiBA,QAAMU,UAAU,GAAG,iCAAnB;AACA,QAAMC,gBAAgB,GAAG,sCAAqBD,UAArB,EAAiC;AACzDE,IAAAA,QAAQ,EAAEnB,QAD+C;AAEzDoB,IAAAA,aAAa,EAAEnB;AAF0C,GAAjC,CAAzB,CAnBG,CAuBH;;AACA,0BAAW,MAAM;AAChB,QAAKG,eAAe,KAAK,MAApB,IAA8B,CAAEC,SAArC,EAAiD;AAChDC,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAE;AAAb,OAAF,CAAb;AACA;AACD,GAJD,EAIG,CAAED,eAAF,EAAmBE,aAAnB,EAAkCD,SAAlC,CAJH;AAKA,SACC,qDACGG,qBAAqB,IACtB,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,0DAAD;AACC,IAAA,KAAK,EAAGJ,eADT;AAEC,IAAA,QAAQ,EAAKiB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAEF,QAAAA,eAAe,EAAEiB;AAAnB,OAAF,CAAb;AACA;AAJF,IADD,EAOGjB,eAAe,KAAK,MAApB,IACD,4BAAC,wDAAD;AACC,IAAA,KAAK,EAAGC,SADT;AAEC,IAAA,QAAQ,EAAKgB,KAAF,IAAa;AACvBf,MAAAA,aAAa,CAAE;AAAED,QAAAA,SAAS,EAAEgB;AAAb,OAAF,CAAb;AACA;AAJF,IARF,CADD,CAFF,EAqBC,wCAAUH;AAAV,IArBD,CADD;AAyBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody } from '@wordpress/components';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { QueryPaginationArrowControls } from './query-pagination-arrow-controls';\nimport { QueryPaginationLabelControl } from './query-pagination-label-control';\n\nconst TEMPLATE = [\n\t[ 'core/query-pagination-previous' ],\n\t[ 'core/query-pagination-numbers' ],\n\t[ 'core/query-pagination-next' ],\n];\nconst ALLOWED_BLOCKS = [\n\t'core/query-pagination-previous',\n\t'core/query-pagination-numbers',\n\t'core/query-pagination-next',\n];\n\nexport default function QueryPaginationEdit( {\n\tattributes: { paginationArrow, showLabel },\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst hasNextPreviousBlocks = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst innerBlocks = getBlocks( clientId );\n\t\t\t/**\n\t\t\t * Show the `paginationArrow` and `showLabel` controls only if a\n\t\t\t * `QueryPaginationNext/Previous` block exists.\n\t\t\t */\n\t\t\treturn innerBlocks?.find( ( innerBlock ) => {\n\t\t\t\treturn [\n\t\t\t\t\t'core/query-pagination-next',\n\t\t\t\t\t'core/query-pagination-previous',\n\t\t\t\t].includes( innerBlock.name );\n\t\t\t} );\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t} );\n\t// Always show label text if paginationArrow is set to 'none'.\n\tuseEffect( () => {\n\t\tif ( paginationArrow === 'none' && ! showLabel ) {\n\t\t\tsetAttributes( { showLabel: true } );\n\t\t}\n\t}, [ paginationArrow, setAttributes, showLabel ] );\n\treturn (\n\t\t<>\n\t\t\t{ hasNextPreviousBlocks && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<QueryPaginationArrowControls\n\t\t\t\t\t\t\tvalue={ paginationArrow }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { paginationArrow: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ paginationArrow !== 'none' && (\n\t\t\t\t\t\t\t<QueryPaginationLabelControl\n\t\t\t\t\t\t\t\tvalue={ showLabel }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { showLabel: value } );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<nav { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"]}
@@ -54,7 +54,7 @@ const metadata = {
54
54
  }
55
55
  }
56
56
  },
57
- editorStyle: "query-pagination-numbers-editor"
57
+ editorStyle: "wp-block-query-pagination-numbers-editor"
58
58
  };
59
59
  exports.metadata = metadata;
60
60
  const {
@@ -17,6 +17,8 @@ var _components = require("@wordpress/components");
17
17
 
18
18
  var _i18n = require("@wordpress/i18n");
19
19
 
20
+ var _data = require("@wordpress/data");
21
+
20
22
  /**
21
23
  * External dependencies
22
24
  */
@@ -36,6 +38,22 @@ function QueryTitleEdit({
36
38
  },
37
39
  setAttributes
38
40
  }) {
41
+ const {
42
+ archiveTypeTitle,
43
+ archiveNameLabel
44
+ } = (0, _data.useSelect)(select => {
45
+ const {
46
+ getSettings
47
+ } = select(_blockEditor.store);
48
+ const {
49
+ __experimentalArchiveTitleNameLabel,
50
+ __experimentalArchiveTitleTypeLabel
51
+ } = getSettings();
52
+ return {
53
+ archiveTypeTitle: __experimentalArchiveTitleTypeLabel,
54
+ archiveNameLabel: __experimentalArchiveTitleNameLabel
55
+ };
56
+ });
39
57
  const TagName = `h${level}`;
40
58
  const blockProps = (0, _blockEditor.useBlockProps)({
41
59
  className: (0, _classnames.default)('wp-block-query-title__placeholder', {
@@ -51,6 +69,30 @@ function QueryTitleEdit({
51
69
  let titleElement;
52
70
 
53
71
  if (type === 'archive') {
72
+ let title;
73
+
74
+ if (archiveTypeTitle) {
75
+ if (showPrefix) {
76
+ if (archiveNameLabel) {
77
+ title = (0, _i18n.sprintf)(
78
+ /* translators: 1: Archive type title e.g: "Category", 2: Label of the archive e.g: "Shoes" */
79
+ (0, _i18n.__)('%1$s: %2$s'), archiveTypeTitle, archiveNameLabel);
80
+ } else {
81
+ title = (0, _i18n.sprintf)(
82
+ /* translators: %s: Archive type title e.g: "Category", "Tag"... */
83
+ (0, _i18n.__)('%s: Name'), archiveTypeTitle);
84
+ }
85
+ } else if (archiveNameLabel) {
86
+ title = archiveNameLabel;
87
+ } else {
88
+ title = (0, _i18n.sprintf)(
89
+ /* translators: %s: Archive type title e.g: "Category", "Tag"... */
90
+ (0, _i18n.__)('%s name'), archiveTypeTitle);
91
+ }
92
+ } else {
93
+ title = showPrefix ? (0, _i18n.__)('Archive type: Name') : (0, _i18n.__)('Archive title');
94
+ }
95
+
54
96
  titleElement = (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
55
97
  title: (0, _i18n.__)('Settings')
56
98
  }, (0, _element.createElement)(_components.ToggleControl, {
@@ -61,7 +103,7 @@ function QueryTitleEdit({
61
103
  }),
62
104
  checked: showPrefix
63
105
  }))), (0, _element.createElement)(TagName, { ...blockProps
64
- }, showPrefix ? (0, _i18n.__)('Archive type: Name') : (0, _i18n.__)('Archive title')));
106
+ }, title));
65
107
  }
66
108
 
67
109
  if (type === 'search') {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showPrefix","showSearchTerm","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAQA;;AACA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;AAYA,MAAMA,eAAe,GAAG,CAAE,SAAF,EAAa,QAAb,CAAxB;;AAEe,SAASC,cAAT,CAAyB;AACvCC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,KAAR;AAAeC,IAAAA,SAAf;AAA0BC,IAAAA,UAA1B;AAAsCC,IAAAA;AAAtC,GAD2B;AAEvCC,EAAAA;AAFuC,CAAzB,EAGX;AACH,QAAMC,OAAO,GAAI,IAAIL,KAAO,EAA5B;AACA,QAAMM,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAE,yBAAY,mCAAZ,EAAiD;AAC3D,OAAG,kBAAkBN,SAAW,EAAhC,GAAqCA;AADsB,KAAjD;AADsB,GAAf,CAAnB;;AAMA,MAAK,CAAEL,eAAe,CAACY,QAAhB,CAA0BT,IAA1B,CAAP,EAA0C;AACzC,WACC,wCAAUO;AAAV,OACC,4BAAC,oBAAD,QAAW,cAAI,iCAAJ,CAAX,CADD,CADD;AAKA;;AAED,MAAIG,YAAJ;;AACA,MAAKV,IAAI,KAAK,SAAd,EAA0B;AACzBU,IAAAA,YAAY,GACX,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,MAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,OACC,4BAAC,yBAAD;AACC,MAAA,uBAAuB,MADxB;AAEC,MAAA,KAAK,EAAG,cAAI,4BAAJ,CAFT;AAGC,MAAA,QAAQ,EAAG,MACVL,aAAa,CAAE;AAAEF,QAAAA,UAAU,EAAE,CAAEA;AAAhB,OAAF,CAJf;AAMC,MAAA,OAAO,EAAGA;AANX,MADD,CADD,CADD,EAaC,4BAAC,OAAD,OAAcI;AAAd,OACGJ,UAAU,GACT,cAAI,oBAAJ,CADS,GAET,cAAI,eAAJ,CAHJ,CAbD,CADD;AAqBA;;AAED,MAAKH,IAAI,KAAK,QAAd,EAAyB;AACxBU,IAAAA,YAAY,GACX,qDACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,MAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,OACC,4BAAC,yBAAD;AACC,MAAA,uBAAuB,MADxB;AAEC,MAAA,KAAK,EAAG,cAAI,2BAAJ,CAFT;AAGC,MAAA,QAAQ,EAAG,MACVL,aAAa,CAAE;AACdD,QAAAA,cAAc,EAAE,CAAEA;AADJ,OAAF,CAJf;AAQC,MAAA,OAAO,EAAGA;AARX,MADD,CADD,CADD,EAgBC,4BAAC,OAAD,OAAcG;AAAd,OACGH,cAAc,GACb,cAAI,mCAAJ,CADa,GAEb,cAAI,gBAAJ,CAHJ,CAhBD,CADD;AAwBA;;AAED,SACC,qDACC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,4BAAC,iCAAD;AACC,IAAA,KAAK,EAAGH,KADT;AAEC,IAAA,QAAQ,EAAKU,QAAF,IACVN,aAAa,CAAE;AAAEJ,MAAAA,KAAK,EAAEU;AAAT,KAAF;AAHf,IADD,EAOC,4BAAC,6BAAD;AACC,IAAA,KAAK,EAAGT,SADT;AAEC,IAAA,QAAQ,EAAKU,SAAF,IAAiB;AAC3BP,MAAAA,aAAa,CAAE;AAAEH,QAAAA,SAAS,EAAEU;AAAb,OAAF,CAAb;AACA;AAJF,IAPD,CADD,EAeGF,YAfH,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showPrefix, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showPrefix\n\t\t\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t\t\t: __( 'Archive title' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showPrefix","showSearchTerm","setAttributes","archiveTypeTitle","archiveNameLabel","select","getSettings","blockEditorStore","__experimentalArchiveTitleNameLabel","__experimentalArchiveTitleTypeLabel","TagName","blockProps","className","includes","titleElement","title","newLevel","nextAlign"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n\tHeadingLevelDropdown,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showPrefix, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst { archiveTypeTitle, archiveNameLabel } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst {\n\t\t\t__experimentalArchiveTitleNameLabel,\n\t\t\t__experimentalArchiveTitleTypeLabel,\n\t\t} = getSettings();\n\t\treturn {\n\t\t\tarchiveTypeTitle: __experimentalArchiveTitleTypeLabel,\n\t\t\tarchiveNameLabel: __experimentalArchiveTitleNameLabel,\n\t\t};\n\t} );\n\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\tlet title;\n\t\tif ( archiveTypeTitle ) {\n\t\t\tif ( showPrefix ) {\n\t\t\t\tif ( archiveNameLabel ) {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: 1: Archive type title e.g: \"Category\", 2: Label of the archive e.g: \"Shoes\" */\n\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\tarchiveTypeTitle,\n\t\t\t\t\t\tarchiveNameLabel\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttitle = sprintf(\n\t\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t\t__( '%s: Name' ),\n\t\t\t\t\t\tarchiveTypeTitle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} else if ( archiveNameLabel ) {\n\t\t\t\ttitle = archiveNameLabel;\n\t\t\t} else {\n\t\t\t\ttitle = sprintf(\n\t\t\t\t\t/* translators: %s: Archive type title e.g: \"Category\", \"Tag\"... */\n\t\t\t\t\t__( '%s name' ),\n\t\t\t\t\tarchiveTypeTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\ttitle = showPrefix\n\t\t\t\t? __( 'Archive type: Name' )\n\t\t\t\t: __( 'Archive title' );\n\t\t}\n\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show archive type in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { showPrefix: ! showPrefix } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showPrefix }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<TagName { ...blockProps }>{ title }</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: “search term”' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
@@ -77,6 +77,7 @@ const metadata = {
77
77
  },
78
78
  color: {
79
79
  gradients: true,
80
+ heading: true,
80
81
  link: true,
81
82
  __experimentalDefaultControls: {
82
83
  background: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["name","metadata","settings","icon","example","attributes","citation","innerBlocks","content","transforms","edit","save","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE;AADC,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXG,QAAAA,OAAO,EAAE,cAAI,uCAAJ;AADE;AAFb,KADY;AAJL,GAFc;AAevBC,EAAAA,UAAU,EAAVA,mBAfuB;AAgBvBC,EAAAA,IAAI,EAAJA,aAhBuB;AAiBvBC,EAAAA,IAAI,EAAJA,aAjBuB;AAkBvBC,EAAAA,UAAU,EAAVA;AAlBuB,CAAjB;;;AAqBA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEb,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\tcitation: 'Julio Cortázar',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/index.js"],"names":["name","metadata","settings","icon","example","attributes","citation","innerBlocks","content","transforms","edit","save","deprecated","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AACA;;AAEA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,QAAQ,EAAE;AADC,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCP,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXG,QAAAA,OAAO,EAAE,cAAI,uCAAJ;AADE;AAFb,KADY;AAJL,GAFc;AAevBC,EAAAA,UAAU,EAAVA,mBAfuB;AAgBvBC,EAAAA,IAAI,EAAJA,aAhBuB;AAiBvBC,EAAAA,IAAI,EAAJA,aAjBuB;AAkBvBC,EAAAA,UAAU,EAAVA;AAlBuB,CAAjB;;;AAqBA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEb,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { quote as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\tcitation: 'Julio Cortázar',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( 'In quoting others, we cite ourselves.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -97,6 +97,14 @@ const transforms = {
97
97
  style
98
98
  });
99
99
  }
100
+ }, {
101
+ type: 'block',
102
+ blocks: ['core/paragraph'],
103
+ transform: ({
104
+ citation
105
+ }, innerBlocks) => citation ? [...innerBlocks, (0, _blocks.createBlock)('core/paragraph', {
106
+ content: citation
107
+ })] : innerBlocks
100
108
  }, {
101
109
  type: 'block',
102
110
  blocks: ['core/group'],
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","content","prefix","schema","blockquote","children","selector","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","length","includes","name","some","__experimentalConvert","map","block","attributes","innerBlocks","to","every","join","ungroup"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/paragraph', { content: value } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node, handler ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\thandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\t// When a single block is selected make the tranformation\n\t\t\t\t// available only to specific blocks that make sense.\n\t\t\t\tif ( blocks.length === 1 ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t'core/list',\n\t\t\t\t\t\t'core/pullquote',\n\t\t\t\t\t].includes( blocks[ 0 ].name );\n\t\t\t\t}\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map( ( { attributes } ) => `${ attributes.content }` )\n\t\t\t\t\t.join( '<br>' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t],\n\tungroup: ( { citation }, innerBlocks ) =>\n\t\tcitation\n\t\t\t? [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t} ),\n\t\t\t ]\n\t\t\t: innerBlocks,\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","content","prefix","schema","blockquote","children","selector","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","length","includes","name","some","__experimentalConvert","map","block","attributes","innerBlocks","to","every","join","ungroup"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\t[ createBlock( 'core/paragraph', { content: value } ) ]\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node, handler ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\thandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\t// When a single block is selected make the tranformation\n\t\t\t\t// available only to specific blocks that make sense.\n\t\t\t\tif ( blocks.length === 1 ) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t'core/paragraph',\n\t\t\t\t\t\t'core/heading',\n\t\t\t\t\t\t'core/list',\n\t\t\t\t\t\t'core/pullquote',\n\t\t\t\t\t].includes( blocks[ 0 ].name );\n\t\t\t\t}\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map( ( { attributes } ) => `${ attributes.content }` )\n\t\t\t\t\t.join( '<br>' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( { citation }, innerBlocks ) =>\n\t\t\t\tcitation\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: innerBlocks,\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t],\n\tungroup: ( { citation }, innerBlocks ) =>\n\t\tcitation\n\t\t\t? [\n\t\t\t\t\t...innerBlocks,\n\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t} ),\n\t\t\t ]\n\t\t\t: innerBlocks,\n};\n\nexport default transforms;\n"]}
package/build/rss/edit.js CHANGED
@@ -114,6 +114,7 @@ function RSSEdit({
114
114
  title: (0, _i18n.__)('Settings')
115
115
  }, (0, _element.createElement)(_components.RangeControl, {
116
116
  __nextHasNoMarginBottom: true,
117
+ __next40pxDefaultSize: true,
117
118
  label: (0, _i18n.__)('Number of items'),
118
119
  value: itemsToShow,
119
120
  onChange: value => setAttributes({
@@ -139,6 +140,7 @@ function RSSEdit({
139
140
  onChange: toggleAttribute('displayExcerpt')
140
141
  }), displayExcerpt && (0, _element.createElement)(_components.RangeControl, {
141
142
  __nextHasNoMarginBottom: true,
143
+ __next40pxDefaultSize: true,
142
144
  label: (0, _i18n.__)('Max number of words in excerpt'),
143
145
  value: excerptLength,
144
146
  onChange: value => setAttributes({
@@ -149,6 +151,7 @@ function RSSEdit({
149
151
  required: true
150
152
  }), blockLayout === 'grid' && (0, _element.createElement)(_components.RangeControl, {
151
153
  __nextHasNoMarginBottom: true,
154
+ __next40pxDefaultSize: true,
152
155
  label: (0, _i18n.__)('Columns'),
153
156
  value: columns,
154
157
  onChange: value => setAttributes({
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/rss/edit.js"],"names":["DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","blockProps","rss","toolbarControls","icon","edit","title","onClick","list","isActive","grid"],"mappings":";;;;;;;;;AAmBA;;AAhBA;;AAKA;;AAYA;;AACA;;AACA;;AACA;;AAvBA;AACA;AACA;AAuBA,MAAMA,iBAAiB,GAAG,CAA1B;AACA,MAAMC,iBAAiB,GAAG,EAA1B;;AAEe,SAASC,OAAT,CAAkB;AAAEC,EAAAA,UAAF;AAAcC,EAAAA;AAAd,CAAlB,EAAkD;AAChE,QAAM,CAAEC,SAAF,EAAaC,YAAb,IAA8B,uBAAU,CAAEH,UAAU,CAACI,OAAvB,CAApC;AAEA,QAAM;AACLC,IAAAA,WADK;AAELC,IAAAA,OAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,WAJK;AAKLC,IAAAA,cALK;AAMLC,IAAAA,aANK;AAOLN,IAAAA,OAPK;AAQLO,IAAAA;AARK,MASFX,UATJ;;AAWA,WAASY,eAAT,CAA0BC,QAA1B,EAAqC;AACpC,WAAO,MAAM;AACZ,YAAMC,KAAK,GAAGd,UAAU,CAAEa,QAAF,CAAxB;AAEAZ,MAAAA,aAAa,CAAE;AAAE,SAAEY,QAAF,GAAc,CAAEC;AAAlB,OAAF,CAAb;AACA,KAJD;AAKA;;AAED,WAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC7BA,IAAAA,KAAK,CAACC,cAAN;;AAEA,QAAKb,OAAL,EAAe;AACdH,MAAAA,aAAa,CAAE;AAAEG,QAAAA,OAAO,EAAE,sBAAaA,OAAb;AAAX,OAAF,CAAb;AACAD,MAAAA,YAAY,CAAE,KAAF,CAAZ;AACA;AACD;;AAED,QAAMe,UAAU,GAAG,iCAAnB;;AAEA,MAAKhB,SAAL,EAAiB;AAChB,WACC,wCAAUgB;AAAV,OACC,4BAAC,uBAAD;AAAa,MAAA,IAAI,EAAGC,UAApB;AAA0B,MAAA,KAAK,EAAC;AAAhC,OACC;AACC,MAAA,QAAQ,EAAGJ,WADZ;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,4BAAC,gCAAD;AAAQ,MAAA,IAAI;AAAZ,OACC,4BAAC,sCAAD;AACC,MAAA,qBAAqB,MADtB;AAEC,MAAA,WAAW,EAAG,cAAI,iBAAJ,CAFf;AAGC,MAAA,KAAK,EAAGX,OAHT;AAIC,MAAA,QAAQ,EAAKU,KAAF,IACVb,aAAa,CAAE;AAAEG,QAAAA,OAAO,EAAEU;AAAX,OAAF,CALf;AAOC,MAAA,SAAS,EAAC;AAPX,MADD,EAUC,4BAAC,kBAAD;AAAQ,MAAA,OAAO,EAAC,SAAhB;AAA0B,MAAA,IAAI,EAAC;AAA/B,OACG,cAAI,SAAJ,CADH,CAVD,CAJD,CADD,CADD,CADD;AAyBA;;AAED,QAAMM,eAAe,GAAG,CACvB;AACCC,IAAAA,IAAI,EAAEC,WADP;AAECC,IAAAA,KAAK,EAAE,cAAI,cAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMrB,YAAY,CAAE,IAAF;AAH5B,GADuB,EAMvB;AACCkB,IAAAA,IAAI,EAAEI,WADP;AAECF,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMvB,aAAa,CAAE;AAAEI,MAAAA,WAAW,EAAE;AAAf,KAAF,CAH7B;AAICqB,IAAAA,QAAQ,EAAErB,WAAW,KAAK;AAJ3B,GANuB,EAYvB;AACCgB,IAAAA,IAAI,EAAEM,WADP;AAECJ,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,OAAO,EAAE,MAAMvB,aAAa,CAAE;AAAEI,MAAAA,WAAW,EAAE;AAAf,KAAF,CAH7B;AAICqB,IAAAA,QAAQ,EAAErB,WAAW,KAAK;AAJ3B,GAZuB,CAAxB;AAoBA,SACC,qDACC,4BAAC,0BAAD,QACC,4BAAC,wBAAD;AAAc,IAAA,QAAQ,EAAGe;AAAzB,IADD,CADD,EAIC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CAFT;AAGC,IAAA,KAAK,EAAGT,WAHT;AAIC,IAAA,QAAQ,EAAKG,KAAF,IACVb,aAAa,CAAE;AAAEU,MAAAA,WAAW,EAAEG;AAAf,KAAF,CALf;AAOC,IAAA,GAAG,EAAGjB,iBAPP;AAQC,IAAA,GAAG,EAAGC,iBARP;AASC,IAAA,QAAQ;AATT,IADD,EAYC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,gBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGS,aAHX;AAIC,IAAA,QAAQ,EAAGK,eAAe,CAAE,eAAF;AAJ3B,IAZD,EAkBC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,cAAJ,CAFT;AAGC,IAAA,OAAO,EAAGJ,WAHX;AAIC,IAAA,QAAQ,EAAGI,eAAe,CAAE,aAAF;AAJ3B,IAlBD,EAwBC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGH,cAHX;AAIC,IAAA,QAAQ,EAAGG,eAAe,CAAE,gBAAF;AAJ3B,IAxBD,EA8BGH,cAAc,IACf,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,gCAAJ,CAFT;AAGC,IAAA,KAAK,EAAGC,aAHT;AAIC,IAAA,QAAQ,EAAKI,KAAF,IACVb,aAAa,CAAE;AAAES,MAAAA,aAAa,EAAEI;AAAjB,KAAF,CALf;AAOC,IAAA,GAAG,EAAG,EAPP;AAQC,IAAA,GAAG,EAAG,GARP;AASC,IAAA,QAAQ;AATT,IA/BF,EA2CGT,WAAW,KAAK,MAAhB,IACD,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,SAAJ,CAFT;AAGC,IAAA,KAAK,EAAGC,OAHT;AAIC,IAAA,QAAQ,EAAKQ,KAAF,IACVb,aAAa,CAAE;AAAEK,MAAAA,OAAO,EAAEQ;AAAX,KAAF,CALf;AAOC,IAAA,GAAG,EAAG,CAPP;AAQC,IAAA,GAAG,EAAG,CARP;AASC,IAAA,QAAQ;AATT,IA5CF,CADD,CAJD,EA+DC,wCAAUI;AAAV,KACC,4BAAC,oBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAC,UADP;AAEC,IAAA,UAAU,EAAGlB;AAFd,IADD,CADD,CA/DD,CADD;AA0EA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { grid, list, edit, rss } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { prependHTTP } from '@wordpress/url';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t} = attributes;\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTP( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps();\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ rss } label=\"RSS\">\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack wrap>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t{ __( 'Use URL' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: edit,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ 6 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/rss\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/rss/edit.js"],"names":["DEFAULT_MIN_ITEMS","DEFAULT_MAX_ITEMS","RSSEdit","attributes","setAttributes","isEditing","setIsEditing","feedURL","blockLayout","columns","displayAuthor","displayDate","displayExcerpt","excerptLength","itemsToShow","toggleAttribute","propName","value","onSubmitURL","event","preventDefault","blockProps","rss","toolbarControls","icon","edit","title","onClick","list","isActive","grid"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tButton,\n\tDisabled,\n\tPanelBody,\n\tPlaceholder,\n\tRangeControl,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControl as InputControl,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { grid, list, edit, rss } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { prependHTTP } from '@wordpress/url';\nimport ServerSideRender from '@wordpress/server-side-render';\n\nconst DEFAULT_MIN_ITEMS = 1;\nconst DEFAULT_MAX_ITEMS = 20;\n\nexport default function RSSEdit( { attributes, setAttributes } ) {\n\tconst [ isEditing, setIsEditing ] = useState( ! attributes.feedURL );\n\n\tconst {\n\t\tblockLayout,\n\t\tcolumns,\n\t\tdisplayAuthor,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t\texcerptLength,\n\t\tfeedURL,\n\t\titemsToShow,\n\t} = attributes;\n\n\tfunction toggleAttribute( propName ) {\n\t\treturn () => {\n\t\t\tconst value = attributes[ propName ];\n\n\t\t\tsetAttributes( { [ propName ]: ! value } );\n\t\t};\n\t}\n\n\tfunction onSubmitURL( event ) {\n\t\tevent.preventDefault();\n\n\t\tif ( feedURL ) {\n\t\t\tsetAttributes( { feedURL: prependHTTP( feedURL ) } );\n\t\t\tsetIsEditing( false );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps();\n\n\tif ( isEditing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Placeholder icon={ rss } label=\"RSS\">\n\t\t\t\t\t<form\n\t\t\t\t\t\tonSubmit={ onSubmitURL }\n\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-form\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack wrap>\n\t\t\t\t\t\t\t<InputControl\n\t\t\t\t\t\t\t\t__next36pxDefaultSize\n\t\t\t\t\t\t\t\tplaceholder={ __( 'Enter URL here…' ) }\n\t\t\t\t\t\t\t\tvalue={ feedURL }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { feedURL: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tclassName=\"wp-block-rss__placeholder-input\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t\t{ __( 'Use URL' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</form>\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst toolbarControls = [\n\t\t{\n\t\t\ticon: edit,\n\t\t\ttitle: __( 'Edit RSS URL' ),\n\t\t\tonClick: () => setIsEditing( true ),\n\t\t},\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'list' } ),\n\t\t\tisActive: blockLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { blockLayout: 'grid' } ),\n\t\t\tisActive: blockLayout === 'grid',\n\t\t},\n\t];\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Number of items' ) }\n\t\t\t\t\t\tvalue={ itemsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { itemsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ DEFAULT_MIN_ITEMS }\n\t\t\t\t\t\tmax={ DEFAULT_MAX_ITEMS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAuthor' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayDate' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayExcerpt' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayExcerpt && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 10 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ blockLayout === 'grid' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ 6 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Disabled>\n\t\t\t\t\t<ServerSideRender\n\t\t\t\t\t\tblock=\"core/rss\"\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t/>\n\t\t\t\t</Disabled>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -77,9 +77,9 @@ function SearchEdit({
77
77
  const {
78
78
  __unstableMarkNextChangeAsNotPersistent
79
79
  } = (0, _data.useDispatch)(_blockEditor.store);
80
- (0, _element.useEffect)(() => {
81
- if (!insertedInNavigationBlock) return; // This side-effect should not create an undo level.
82
80
 
81
+ if (insertedInNavigationBlock) {
82
+ // This side-effect should not create an undo level.
83
83
  __unstableMarkNextChangeAsNotPersistent();
84
84
 
85
85
  setAttributes({
@@ -87,7 +87,8 @@ function SearchEdit({
87
87
  buttonUseIcon: true,
88
88
  buttonPosition: 'button-inside'
89
89
  });
90
- }, [insertedInNavigationBlock]);
90
+ }
91
+
91
92
  const borderRadius = style?.border?.radius;
92
93
  const borderProps = (0, _blockEditor.__experimentalUseBorderProps)(attributes); // Check for old deprecated numerical border radius. Done as a separate
93
94
  // check so that a borderRadius style won't overwrite the longhand
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["DEFAULT_INNER_PADDING","BUTTON_BEHAVIOR_EXPAND","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","buttonBehavior","isSearchFieldHidden","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","blockEditorStore","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","buttonOutside","onClick","buttonInside","noButton","buttonOnly","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","event","target","value","renderButton","buttonClasses","buttonStyles","handleButtonClick","search","html","controls","toggleLabel","buttonWithIcon","MIN_WIDTH","MIN_WIDTH_UNIT","newWidth","filteredWidth","parseInt","newUnit","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","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__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } 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\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\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\nconst BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';\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\tbuttonBehavior,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\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 } =\n\t\tuseDispatch( blockEditorStore );\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 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 fluidTypographySettings = useSetting( 'typography.fluid' );\n\tconst layout = useSetting( 'layout' );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\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\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior\n\t\t\t\t? 'wp-block-search__button-behavior-expand'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\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\tisSearchFieldHidden: false,\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\tisSearchFieldHidden: false,\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\tisSearchFieldHidden: false,\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 only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\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\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\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\tref={ searchFieldRef }\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\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\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\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\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\tonClick={ handleButtonClick }\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\t__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ 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\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\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 = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\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};\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\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\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={ labelClassnames }\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\tstyle={ typographyProps.style }\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 ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\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{ 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","BUTTON_BEHAVIOR_EXPAND","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","buttonBehavior","isSearchFieldHidden","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","blockEditorStore","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","buttonOutside","onClick","buttonInside","noButton","buttonOnly","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","event","target","value","renderButton","buttonClasses","buttonStyles","handleButtonClick","search","html","controls","toggleLabel","buttonWithIcon","MIN_WIDTH","MIN_WIDTH_UNIT","newWidth","filteredWidth","parseInt","newUnit","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","direction","elt","offsetWidth","delta"],"mappings":";;;;;;;;;AAqBA;;AAlBA;;AAKA;;AAYA;;AAEA;;AAYA;;AACA;;AACA;;AACA;;AAKA;;AAQA;;AAlDA;AACA;AACA;;AAGA;AACA;AACA;;AAgCA;AACA;AACA;AAgBA;AACA;AACA,MAAMA,qBAAqB,GAAG,KAA9B;AAEA,MAAMC,sBAAsB,GAAG,oBAA/B;;AAEe,SAASC,UAAT,CAAqB;AACnCC,EAAAA,SADmC;AAEnCC,EAAAA,UAFmC;AAGnCC,EAAAA,aAHmC;AAInCC,EAAAA,eAJmC;AAKnCC,EAAAA,UALmC;AAMnCC,EAAAA;AANmC,CAArB,EAOX;AACH,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,SAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA,KAJK;AAKLC,IAAAA,SALK;AAMLC,IAAAA,KANK;AAOLC,IAAAA,UAPK;AAQLC,IAAAA,cARK;AASLC,IAAAA,aATK;AAULC,IAAAA,cAVK;AAWLC,IAAAA,mBAXK;AAYLC,IAAAA;AAZK,MAaFhB,UAbJ;AAeA,QAAMiB,yBAAyB,GAAG,qBAC/BC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,0BAAF;AAA8BC,MAAAA;AAA9B,QACLF,MAAM,CAAEG,kBAAF,CADP;AAEA,WACC,CAAC,CAAEF,0BAA0B,CAAEf,QAAF,EAAY,iBAAZ,CAA1B,EACAkB,MADH,IACaF,oBAAoB,CAAEhB,QAAF,CAFlC;AAIA,GARgC,EASjC,CAAEA,QAAF,CATiC,CAAlC;AAWA,QAAM;AAAEmB,IAAAA;AAAF,MACL,uBAAaF,kBAAb,CADD;;AAGA,MAAKJ,yBAAL,EAAiC;AAChC;AACAM,IAAAA,uCAAuC;;AACvCtB,IAAAA,aAAa,CAAE;AACdK,MAAAA,SAAS,EAAE,KADG;AAEdO,MAAAA,aAAa,EAAE,IAFD;AAGdD,MAAAA,cAAc,EAAE;AAHF,KAAF,CAAb;AAKA;;AAED,QAAMY,YAAY,GAAGR,KAAK,EAAES,MAAP,EAAeC,MAApC;AACA,QAAMC,WAAW,GAAG,+CAAgB3B,UAAhB,CAApB,CAzCG,CA2CH;AACA;AACA;;AACA,MAAK,OAAOwB,YAAP,KAAwB,QAA7B,EAAwC;AACvCG,IAAAA,WAAW,CAACX,KAAZ,CAAkBQ,YAAlB,GAAkC,GAAGA,YAAc,IAAnD;AACA;;AAED,QAAMI,UAAU,GAAG,8CAAe5B,UAAf,CAAnB;AACA,QAAM6B,uBAAuB,GAAG,6BAAY,kBAAZ,CAAhC;AACA,QAAMC,MAAM,GAAG,6BAAY,QAAZ,CAAf;AACA,QAAMC,eAAe,GAAG,gDAAoB/B,UAApB,EAAgC;AACvDgC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAEJ;AADI,KAD2C;AAIvDC,IAAAA,MAAM,EAAE;AACPI,MAAAA,QAAQ,EAAEJ,MAAM,EAAEI;AADX;AAJ+C,GAAhC,CAAxB;AAQA,QAAMC,qBAAqB,GAAG,4BAAeC,qCAAf,CAA9B;AACA,QAAMC,kBAAkB,GAAI,0BAA0BF,qBAAuB,EAA7E;AACA,QAAMG,sBAAsB,GAAG,oBAAoB1B,cAAnD;AACA,QAAM2B,uBAAuB,GAAG,qBAAqB3B,cAArD;AACA,QAAM4B,WAAW,GAAG,gBAAgB5B,cAApC;AACA,QAAM6B,aAAa,GAAG,kBAAkB7B,cAAxC;AACA,QAAM8B,cAAc,GAAG,sBAAvB;AACA,QAAMC,SAAS,GAAG,sBAAlB;AAEA,QAAMC,KAAK,GAAG,8CAAgB;AAC7BC,IAAAA,cAAc,EAAE,CAAE,GAAF,EAAO,IAAP,CADa;AAE7BC,IAAAA,aAAa,EAAE;AAAE,WAAKC,uBAAP;AAAyBC,MAAAA,EAAE,EAAEC;AAA7B;AAFc,GAAhB,CAAd;AAKA,0BAAW,MAAM;AAChB,QAAKR,aAAa,IAAI,CAAEtC,UAAxB,EAAqC;AACpCF,MAAAA,aAAa,CAAE;AACdc,QAAAA,mBAAmB,EAAE;AADP,OAAF,CAAb;AAGA;AACD,GAND,EAMG,CAAE0B,aAAF,EAAiBtC,UAAjB,EAA6BF,aAA7B,CANH,EA3EG,CAmFH;;AACA,0BAAW,MAAM;AAChB,QAAK,CAAEwC,aAAF,IAAmB,CAAEtC,UAA1B,EAAuC;AACtC;AACA;;AAEDF,IAAAA,aAAa,CAAE;AACdc,MAAAA,mBAAmB,EAAE;AADP,KAAF,CAAb;AAGA,GARD,EAQG,CAAE0B,aAAF,EAAiBtC,UAAjB,EAA6BF,aAA7B,EAA4CO,KAA5C,CARH;;AAUA,QAAM0C,kBAAkB,GAAG,MAAM;AAChC,WAAO,yBACNnD,SADM,EAENuC,sBAAsB,GACnB,gCADmB,GAEnBa,SAJG,EAKNZ,uBAAuB,GACpB,iCADoB,GAEpBY,SAPG,EAQNX,WAAW,GAAG,4BAAH,GAAkCW,SARvC,EASNV,aAAa,GAAG,8BAAH,GAAoCU,SAT3C,EAUN,CAAEtC,aAAF,IAAmB,CAAE2B,WAArB,GACG,8BADH,GAEGW,SAZG,EAaNtC,aAAa,IAAI,CAAE2B,WAAnB,GACG,8BADH,GAEGW,SAfG,EAgBNV,aAAa,IAAI5C,sBAAsB,KAAKiB,cAA5C,GACG,yCADH,GAEGqC,SAlBG,EAmBNV,aAAa,IAAI1B,mBAAjB,GACG,qCADH,GAEGoC,SArBG,CAAP;AAuBA,GAxBD;;AA0BA,QAAMC,sBAAsB,GAAG,CAC9B;AACCC,IAAAA,IAAI,EAAE,eADP;AAECC,IAAAA,KAAK,EAAE,cAAI,gBAAJ,CAFR;AAGCC,IAAAA,QAAQ,EAAE3C,cAAc,KAAK,gBAH9B;AAIC4C,IAAAA,IAAI,EAAEC,qBAJP;AAKCC,IAAAA,OAAO,EAAE,MAAM;AACdzD,MAAAA,aAAa,CAAE;AACdW,QAAAA,cAAc,EAAE,gBADF;AAEdG,QAAAA,mBAAmB,EAAE;AAFP,OAAF,CAAb;AAIA;AAVF,GAD8B,EAa9B;AACCsC,IAAAA,IAAI,EAAE,eADP;AAECC,IAAAA,KAAK,EAAE,cAAI,eAAJ,CAFR;AAGCC,IAAAA,QAAQ,EAAE3C,cAAc,KAAK,eAH9B;AAIC4C,IAAAA,IAAI,EAAEG,oBAJP;AAKCD,IAAAA,OAAO,EAAE,MAAM;AACdzD,MAAAA,aAAa,CAAE;AACdW,QAAAA,cAAc,EAAE,eADF;AAEdG,QAAAA,mBAAmB,EAAE;AAFP,OAAF,CAAb;AAIA;AAVF,GAb8B,EAyB9B;AACCsC,IAAAA,IAAI,EAAE,eADP;AAECC,IAAAA,KAAK,EAAE,cAAI,WAAJ,CAFR;AAGCC,IAAAA,QAAQ,EAAE3C,cAAc,KAAK,WAH9B;AAIC4C,IAAAA,IAAI,EAAEI,gBAJP;AAKCF,IAAAA,OAAO,EAAE,MAAM;AACdzD,MAAAA,aAAa,CAAE;AACdW,QAAAA,cAAc,EAAE,WADF;AAEdG,QAAAA,mBAAmB,EAAE;AAFP,OAAF,CAAb;AAIA;AAVF,GAzB8B,EAqC9B;AACCsC,IAAAA,IAAI,EAAE,eADP;AAECC,IAAAA,KAAK,EAAE,cAAI,aAAJ,CAFR;AAGCC,IAAAA,QAAQ,EAAE3C,cAAc,KAAK,aAH9B;AAIC4C,IAAAA,IAAI,EAAEK,kBAJP;AAKCH,IAAAA,OAAO,EAAE,MAAM;AACdzD,MAAAA,aAAa,CAAE;AACdW,QAAAA,cAAc,EAAE,aADF;AAEdG,QAAAA,mBAAmB,EAAE;AAFP,OAAF,CAAb;AAIA;AAVF,GArC8B,CAA/B;;AAmDA,QAAM+C,qBAAqB,GAAG,MAAM;AACnC,YAASlD,cAAT;AACC,WAAK,eAAL;AACC,eAAO+C,oBAAP;;AACD,WAAK,gBAAL;AACC,eAAOF,qBAAP;;AACD,WAAK,WAAL;AACC,eAAOG,gBAAP;;AACD,WAAK,aAAL;AACC,eAAOC,kBAAP;AARF;AAUA,GAXD;;AAaA,QAAME,iBAAiB,GAAG,MAAM;AAC/B,QAAKtB,aAAL,EAAqB;AACpB,aAAO,EAAP;AACA;;AAED,WAAO;AACNuB,MAAAA,KAAK,EAAEtD,KAAK,KAAK,OADX;AAENuD,MAAAA,IAAI,EAAEvD,KAAK,KAAK;AAFV,KAAP;AAIA,GATD;;AAWA,QAAMwD,eAAe,GAAG,MAAM;AAC7B;AACA,UAAMC,gBAAgB,GAAG,yBACxB,wBADwB,EAExB7B,sBAAsB,GAAGa,SAAH,GAAexB,WAAW,CAAC5B,SAFzB,EAGxBgC,eAAe,CAAChC,SAHQ,CAAzB;AAKA,UAAMqE,eAAe,GAAG,EACvB,IAAK9B,sBAAsB,GACxB;AAAEd,QAAAA;AAAF,OADwB,GAExBG,WAAW,CAACX,KAFf,CADuB;AAIvB,SAAGe,eAAe,CAACf,KAJI;AAKvBqD,MAAAA,cAAc,EAAElB;AALO,KAAxB;AAQA,WACC;AACC,MAAA,IAAI,EAAC,QADN;AAEC,MAAA,SAAS,EAAGgB,gBAFb;AAGC,MAAA,KAAK,EAAGC,eAHT;AAIC,oBAAa,cAAI,2BAAJ,CAJd,CAKC;AACA;AACA;AAPD;AAQC,MAAA,WAAW,EACV7D,WAAW,GAAG4C,SAAH,GAAe,cAAI,uBAAJ,CAT5B;AAWC,MAAA,KAAK,EAAG5C,WAXT;AAYC,MAAA,QAAQ,EAAK+D,KAAF,IACVrE,aAAa,CAAE;AAAEM,QAAAA,WAAW,EAAE+D,KAAK,CAACC,MAAN,CAAaC;AAA5B,OAAF,CAbf;AAeC,MAAA,GAAG,EAAG9B;AAfP,MADD;AAmBA,GAlCD;;AAoCA,QAAM+B,YAAY,GAAG,MAAM;AAC1B;AACA,UAAMC,aAAa,GAAG,yBACrB,yBADqB,EAErB9C,UAAU,CAAC7B,SAFU,EAGrBgC,eAAe,CAAChC,SAHK,EAIrBuC,sBAAsB,GAAGa,SAAH,GAAexB,WAAW,CAAC5B,SAJ5B,EAKrBc,aAAa,GAAG,UAAH,GAAgBsC,SALR,EAMrB,oDAAmC,QAAnC,CANqB,CAAtB;AAQA,UAAMwB,YAAY,GAAG,EACpB,GAAG/C,UAAU,CAACZ,KADM;AAEpB,SAAGe,eAAe,CAACf,KAFC;AAGpB,UAAKsB,sBAAsB,GACxB;AAAEd,QAAAA;AAAF,OADwB,GAExBG,WAAW,CAACX,KAFf;AAHoB,KAArB;;AAOA,UAAM4D,iBAAiB,GAAG,MAAM;AAC/B,UAAKnC,aAAa,IAAI5C,sBAAsB,KAAKiB,cAAjD,EAAkE;AACjEb,QAAAA,aAAa,CAAE;AACdc,UAAAA,mBAAmB,EAAE,CAAEA;AADT,SAAF,CAAb;AAGA;AACD,KAND;;AAQA,WACC,qDACGF,aAAa,IACd;AACC,MAAA,IAAI,EAAC,QADN;AAEC,MAAA,SAAS,EAAG6D,aAFb;AAGC,MAAA,KAAK,EAAGC,YAHT;AAIC,oBACChE,UAAU,GACP,8BAAWA,UAAX,CADO,GAEP,cAAI,QAAJ,CAPL;AASC,MAAA,OAAO,EAAGiE,iBATX;AAUC,MAAA,GAAG,EAAGjC;AAVP,OAYC,4BAAC,WAAD;AAAM,MAAA,IAAI,EAAGkC;AAAb,MAZD,CAFF,EAkBG,CAAEhE,aAAF,IACD,4BAAC,qBAAD;AACC,MAAA,SAAS,EAAG6D,aADb;AAEC,MAAA,KAAK,EAAGC,YAFT;AAGC,oBAAa,cAAI,aAAJ,CAHd;AAIC,MAAA,WAAW,EAAG,cAAI,kBAAJ,CAJf;AAKC,MAAA,4BAA4B,MAL7B;AAMC,MAAA,KAAK,EAAGhE,UANT;AAOC,MAAA,QAAQ,EAAKmE,IAAF,IACV7E,aAAa,CAAE;AAAEU,QAAAA,UAAU,EAAEmE;AAAd,OAAF,CARf;AAUC,MAAA,OAAO,EAAGF;AAVX,MAnBF,CADD;AAmCA,GA5DD;;AA8DA,QAAMG,QAAQ,GACb,qDACC,4BAAC,0BAAD,QACC,4BAAC,wBAAD,QACC,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CADT;AAEC,IAAA,IAAI,EAAGC,mBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACf/E,MAAAA,aAAa,CAAE;AACdK,QAAAA,SAAS,EAAE,CAAEA;AADC,OAAF,CAAb;AAGA,KAPF;AAQC,IAAA,SAAS,EAAGA,SAAS,GAAG,YAAH,GAAkB6C;AARxC,IADD,EAWC,4BAAC,+BAAD;AACC,IAAA,IAAI,EAAGW,qBAAqB,EAD7B;AAEC,IAAA,KAAK,EAAG,cAAI,wBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGV;AAHZ,IAXD,EAgBG,CAAEZ,WAAF,IACD,4BAAC,yBAAD;AACC,IAAA,KAAK,EAAG,cAAI,sBAAJ,CADT;AAEC,IAAA,IAAI,EAAGyC,sBAFR;AAGC,IAAA,OAAO,EAAG,MAAM;AACfhF,MAAAA,aAAa,CAAE;AACdY,QAAAA,aAAa,EAAE,CAAEA;AADH,OAAF,CAAb;AAGA,KAPF;AAQC,IAAA,SAAS,EACRA,aAAa,GAAG,YAAH,GAAkBsC;AATjC,IAjBF,CADD,CADD,EAmCC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,kBAAJ;AAAnB,KACC,4BAAC,uBAAD;AACC,IAAA,KAAK,EAAG,cAAI,OAAJ,CADT;AAEC,IAAA,EAAE,EAAGd;AAFN,KAIC,4BAAC,qCAAD;AACC,IAAA,EAAE,EAAGA,kBADN;AAEC,IAAA,GAAG,EAAI,GAAG6C,gBAAW,GAAGC,qBAAgB,EAFzC;AAGC,IAAA,QAAQ,EAAKC,QAAF,IAAgB;AAC1B,YAAMC,aAAa,GAClB5E,SAAS,KAAK,GAAd,IACA6E,QAAQ,CAAEF,QAAF,EAAY,EAAZ,CAAR,GAA2B,GAD3B,GAEG,GAFH,GAGGA,QAJJ;AAMAnF,MAAAA,aAAa,CAAE;AACdO,QAAAA,KAAK,EAAE8E,QAAQ,CAAED,aAAF,EAAiB,EAAjB;AADD,OAAF,CAAb;AAGA,KAbF;AAcC,IAAA,YAAY,EAAKE,OAAF,IAAe;AAC7BtF,MAAAA,aAAa,CAAE;AACdO,QAAAA,KAAK,EACJ,QAAQ+E,OAAR,GACGxC,uBADH,GAEGE,uBAJU;AAKdxC,QAAAA,SAAS,EAAE8E;AALG,OAAF,CAAb;AAOA,KAtBF;AAuBC,IAAA,oBAAoB,EAAG,MAvBxB;AAwBC,IAAA,KAAK,EAAI,GAAG/E,KAAO,GAAGC,SAAW,EAxBlC;AAyBC,IAAA,KAAK,EAAGmC;AAzBT,IAJD,EAgCC,4BAAC,uBAAD;AACC,IAAA,SAAS,EAAC,0CADX;AAEC,kBAAa,cAAI,kBAAJ;AAFd,KAIG,CAAE,EAAF,EAAM,EAAN,EAAU,EAAV,EAAc,GAAd,EAAoB4C,GAApB,CAA2BC,UAAF,IAAkB;AAC5C,WACC,4BAAC,kBAAD;AACC,MAAA,GAAG,EAAGA,UADP;AAEC,MAAA,OAAO,MAFR;AAGC,MAAA,OAAO,EACNA,UAAU,KAAKjF,KAAf,IACAC,SAAS,KAAK,GADd,GAEG,SAFH,GAGG0C,SAPL;AASC,MAAA,OAAO,EAAG,MACTlD,aAAa,CAAE;AACdO,QAAAA,KAAK,EAAEiF,UADO;AAEdhF,QAAAA,SAAS,EAAE;AAFG,OAAF;AAVf,OAgBGgF,UAhBH,MADD;AAoBA,GArBC,CAJH,CAhCD,CADD,CADD,CAnCD,CADD;;AAuGA,QAAMC,eAAe,GAAKhE,MAAF,IACvBA,MAAM,GAAI,QAAQA,MAAQ,MAAM9B,qBAAuB,GAAjD,GAAsDuD,SAD7D;;AAGA,QAAMwC,gBAAgB,GAAG,MAAM;AAC9B,UAAMC,MAAM,GAAGtD,sBAAsB,GAClCX,WAAW,CAACX,KADsB,GAElC;AACAQ,MAAAA,YAAY,EAAEG,WAAW,CAACX,KAAZ,EAAmBQ,YADjC;AAEAqE,MAAAA,mBAAmB,EAAElE,WAAW,CAACX,KAAZ,EAAmB6E,mBAFxC;AAGAC,MAAAA,oBAAoB,EACnBnE,WAAW,CAACX,KAAZ,EAAmB8E,oBAJpB;AAKAC,MAAAA,sBAAsB,EACrBpE,WAAW,CAACX,KAAZ,EAAmB+E,sBANpB;AAOAC,MAAAA,uBAAuB,EACtBrE,WAAW,CAACX,KAAZ,EAAmBgF;AARpB,KAFH;AAaA,UAAMC,qBAAqB,GAC1BzE,YAAY,KAAK2B,SAAjB,IAA8BmC,QAAQ,CAAE9D,YAAF,EAAgB,EAAhB,CAAR,KAAiC,CADhE;;AAGA,QAAKc,sBAAsB,IAAI2D,qBAA/B,EAAuD;AACtD;AACA;AACA;AACA;AACA;AAEA,UAAK,OAAOzE,YAAP,KAAwB,QAA7B,EAAwC;AACvC;AACA,cAAM;AAAE0E,UAAAA,OAAF;AAAWC,UAAAA,QAAX;AAAqBC,UAAAA,UAArB;AAAiCC,UAAAA;AAAjC,YACL7E,YADD;AAGA,eAAO,EACN,GAAGoE,MADG;AAENC,UAAAA,mBAAmB,EAAEH,eAAe,CAAEQ,OAAF,CAF9B;AAGNJ,UAAAA,oBAAoB,EAAEJ,eAAe,CAAES,QAAF,CAH/B;AAINJ,UAAAA,sBAAsB,EAAEL,eAAe,CAAEU,UAAF,CAJjC;AAKNJ,UAAAA,uBAAuB,EAAEN,eAAe,CAAEW,WAAF;AALlC,SAAP;AAOA,OAnBqD,CAqBtD;AACA;AACA;;;AACA,YAAM3E,MAAM,GAAG4E,MAAM,CAACC,SAAP,CAAkB/E,YAAlB,IACX,GAAGA,YAAc,IADN,GAEZA,YAFH;AAIAoE,MAAAA,MAAM,CAACpE,YAAP,GAAuB,QAAQE,MAAQ,MAAM9B,qBAAuB,GAApE;AACA;;AAED,WAAOgG,MAAP;AACA,GAjDD;;AAmDA,QAAMY,UAAU,GAAG,gCAAe;AACjCzG,IAAAA,SAAS,EAAEmD,kBAAkB,EADI;AAEjClC,IAAAA,KAAK,EAAE,EACN,GAAGe,eAAe,CAACf,KADb;AAEN;AACAqD,MAAAA,cAAc,EAAElB;AAHV;AAF0B,GAAf,CAAnB;AASA,QAAMsD,eAAe,GAAG,yBACvB,wBADuB,EAEvB1E,eAAe,CAAChC,SAFO,CAAxB;AAKA,SACC,wCAAUyG;AAAV,KACGzB,QADH,EAGGzE,SAAS,IACV,4BAAC,qBAAD;AACC,IAAA,SAAS,EAAGmG,eADb;AAEC,kBAAa,cAAI,YAAJ,CAFd;AAGC,IAAA,WAAW,EAAG,cAAI,YAAJ,CAHf;AAIC,IAAA,4BAA4B,MAJ7B;AAKC,IAAA,KAAK,EAAGpG,KALT;AAMC,IAAA,QAAQ,EAAKyE,IAAF,IAAY7E,aAAa,CAAE;AAAEI,MAAAA,KAAK,EAAEyE;AAAT,KAAF,CANrC;AAOC,IAAA,KAAK,EAAG/C,eAAe,CAACf;AAPzB,IAJF,EAeC,4BAAC,wBAAD;AACC,IAAA,IAAI,EAAG;AACNR,MAAAA,KAAK,EAAG,GAAGA,KAAO,GAAGC,SAAW;AAD1B,KADR;AAIC,IAAA,SAAS,EAAG,yBACX,iCADW,EAEX6B,sBAAsB,GAAGX,WAAW,CAAC5B,SAAf,GAA2BoD,SAFtC,CAJb;AAQC,IAAA,KAAK,EAAGwC,gBAAgB,EARzB;AASC,IAAA,QAAQ,EAAGT,gBATZ;AAUC,IAAA,MAAM,EAAGnB,iBAAiB,EAV3B;AAWC,IAAA,aAAa,EAAG,CAAEO,KAAF,EAASoC,SAAT,EAAoBC,GAApB,KAA6B;AAC5C1G,MAAAA,aAAa,CAAE;AACdO,QAAAA,KAAK,EAAE8E,QAAQ,CAAEqB,GAAG,CAACC,WAAN,EAAmB,EAAnB,CADD;AAEdnG,QAAAA,SAAS,EAAE;AAFG,OAAF,CAAb;AAIAP,MAAAA,eAAe,CAAE,KAAF,CAAf;AACA,KAjBF;AAkBC,IAAA,YAAY,EAAG,CAAEoE,KAAF,EAASoC,SAAT,EAAoBC,GAApB,EAAyBE,KAAzB,KAAoC;AAClD5G,MAAAA,aAAa,CAAE;AACdO,QAAAA,KAAK,EAAE8E,QAAQ,CAAE9E,KAAK,GAAGqG,KAAK,CAACrG,KAAhB,EAAuB,EAAvB;AADD,OAAF,CAAb;AAGAN,MAAAA,eAAe,CAAE,IAAF,CAAf;AACA,KAvBF;AAwBC,IAAA,UAAU,EAAGC;AAxBd,KA0BG,CAAEmC,sBAAsB,IACzBC,uBADG,IAEHE,aAFC,KAGD,qDACGyB,eAAe,EADlB,EAEGO,YAAY,EAFf,CA7BF,EAmCGjC,WAAW,IAAI0B,eAAe,EAnCjC,CAfD,CADD;AAuDA","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__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } 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\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\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\nconst BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';\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\tbuttonBehavior,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\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 } =\n\t\tuseDispatch( blockEditorStore );\n\n\tif ( insertedInNavigationBlock ) {\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}\n\n\tconst borderRadius = style?.border?.radius;\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 fluidTypographySettings = useSetting( 'typography.fluid' );\n\tconst layout = useSetting( 'layout' );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\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\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior\n\t\t\t\t? 'wp-block-search__button-behavior-expand'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\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\tisSearchFieldHidden: false,\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\tisSearchFieldHidden: false,\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\tisSearchFieldHidden: false,\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 only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\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\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\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\tref={ searchFieldRef }\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\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\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\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\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\tonClick={ handleButtonClick }\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\t__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ 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\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\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 = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\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};\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\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\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={ labelClassnames }\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\tstyle={ typographyProps.style }\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 ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\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{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
@@ -116,6 +116,7 @@ const metadata = {
116
116
  },
117
117
  html: false
118
118
  },
119
+ viewScript: "file:./view.min.js",
119
120
  editorStyle: "wp-block-search-editor",
120
121
  style: "wp-block-search"
121
122
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/index.js"],"names":["name","metadata","settings","icon","example","attributes","buttonText","label","viewportWidth","variations","edit","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,UAAU,EAAE,cAAI,QAAJ,CAAd;AAA8BC,MAAAA,KAAK,EAAE,cAAI,QAAJ;AAArC,KADJ;AAERC,IAAAA,aAAa,EAAE;AAFP,GAFc;AAMvBC,EAAAA,UAAU,EAAVA,mBANuB;AAOvBC,EAAAA,IAAI,EAAJA;AAPuB,CAAjB;;;AAUA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEX,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/index.js"],"names":["name","metadata","settings","icon","example","attributes","buttonText","label","viewportWidth","variations","edit","init"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AAEA;;AACA;;AAZA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,aADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,UAAU,EAAE,cAAI,QAAJ,CAAd;AAA8BC,MAAAA,KAAK,EAAE,cAAI,QAAJ;AAArC,KADJ;AAERC,IAAAA,aAAa,EAAE;AAFP,GAFc;AAMvBC,EAAAA,UAAU,EAAVA,mBANuB;AAOvBC,EAAAA,IAAI,EAAJA;AAPuB,CAAjB;;;AAUA,MAAMC,IAAI,GAAG,MAAM,wBAAW;AAAEX,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAX,CAAnB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { search as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: { buttonText: __( 'Search' ), label: __( 'Search' ) },\n\t\tviewportWidth: 400,\n\t},\n\tvariations,\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -269,6 +269,7 @@ const SiteLogo = ({
269
269
  title: (0, _i18n.__)('Settings')
270
270
  }, (0, _element.createElement)(_components.RangeControl, {
271
271
  __nextHasNoMarginBottom: true,
272
+ __next40pxDefaultSize: true,
272
273
  label: (0, _i18n.__)('Image width'),
273
274
  onChange: newWidth => setAttributes({
274
275
  width: newWidth