@wordpress/block-library 8.9.0 → 8.11.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 (502) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/block/edit.native.js +17 -10
  3. package/build/block/edit.native.js.map +1 -1
  4. package/build/code/index.js +1 -0
  5. package/build/code/index.js.map +1 -1
  6. package/build/column/index.js +1 -1
  7. package/build/columns/transforms.js +1 -5
  8. package/build/columns/transforms.js.map +1 -1
  9. package/build/comment-author-name/edit.js +1 -1
  10. package/build/comment-author-name/edit.js.map +1 -1
  11. package/build/comment-edit-link/edit.js +1 -1
  12. package/build/comment-edit-link/edit.js.map +1 -1
  13. package/build/cover/edit/inspector-controls.js +1 -1
  14. package/build/cover/edit/inspector-controls.js.map +1 -1
  15. package/build/cover/edit/resizable-cover-popover.js +3 -3
  16. package/build/cover/edit/resizable-cover-popover.js.map +1 -1
  17. package/build/cover/index.js +1 -1
  18. package/build/cover/variations.js +1 -1
  19. package/build/cover/variations.js.map +1 -1
  20. package/build/details/edit.js +19 -5
  21. package/build/details/edit.js.map +1 -1
  22. package/build/details/index.js +14 -10
  23. package/build/details/index.js.map +1 -1
  24. package/build/details/save.js +4 -1
  25. package/build/details/save.js.map +1 -1
  26. package/build/embed/variations.js +2 -2
  27. package/build/embed/variations.js.map +1 -1
  28. package/build/file/interactivity.js +19 -0
  29. package/build/file/interactivity.js.map +1 -0
  30. package/build/file/{utils.js → utils/index.js} +1 -1
  31. package/build/file/utils/index.js.map +1 -0
  32. package/build/file/view.js +1 -1
  33. package/build/file/view.js.map +1 -1
  34. package/build/freeform/modal.js +20 -17
  35. package/build/freeform/modal.js.map +1 -1
  36. package/build/gallery/edit.js +2 -8
  37. package/build/gallery/edit.js.map +1 -1
  38. package/build/gallery/v1/edit.js +1 -7
  39. package/build/gallery/v1/edit.js.map +1 -1
  40. package/build/gallery/v1/gallery-image.native.js +1 -3
  41. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  42. package/build/group/transforms.js +0 -5
  43. package/build/group/transforms.js.map +1 -1
  44. package/build/image/deprecated.js +2 -4
  45. package/build/image/deprecated.js.map +1 -1
  46. package/build/image/edit.js +13 -11
  47. package/build/image/edit.js.map +1 -1
  48. package/build/image/image.js +7 -12
  49. package/build/image/image.js.map +1 -1
  50. package/build/image/index.js +3 -0
  51. package/build/image/index.js.map +1 -1
  52. package/build/image/interactivity.js +102 -0
  53. package/build/image/interactivity.js.map +1 -0
  54. package/build/image/save.js +2 -4
  55. package/build/image/save.js.map +1 -1
  56. package/build/image/utils.js +10 -18
  57. package/build/image/utils.js.map +1 -1
  58. package/build/index.js +0 -6
  59. package/build/index.js.map +1 -1
  60. package/build/index.native.js +1 -1
  61. package/build/index.native.js.map +1 -1
  62. package/build/latest-posts/edit.native.js +1 -3
  63. package/build/latest-posts/edit.native.js.map +1 -1
  64. package/build/list/edit.js +1 -1
  65. package/build/list/edit.js.map +1 -1
  66. package/build/list-item/edit.native.js +1 -1
  67. package/build/list-item/edit.native.js.map +1 -1
  68. package/build/list-item/transforms.js +4 -1
  69. package/build/list-item/transforms.js.map +1 -1
  70. package/build/list-item/utils.js +5 -1
  71. package/build/list-item/utils.js.map +1 -1
  72. package/build/loginout/index.js +11 -1
  73. package/build/loginout/index.js.map +1 -1
  74. package/build/media-text/deprecated.js +4 -6
  75. package/build/media-text/deprecated.js.map +1 -1
  76. package/build/media-text/edit.js +13 -11
  77. package/build/media-text/edit.js.map +1 -1
  78. package/build/media-text/media-container.js +3 -3
  79. package/build/media-text/media-container.js.map +1 -1
  80. package/build/media-text/save.js +1 -3
  81. package/build/media-text/save.js.map +1 -1
  82. package/build/navigation/constants.js +15 -0
  83. package/build/navigation/constants.js.map +1 -0
  84. package/build/navigation/edit/index.js +16 -26
  85. package/build/navigation/edit/index.js.map +1 -1
  86. package/build/navigation/edit/inner-blocks.js +5 -7
  87. package/build/navigation/edit/inner-blocks.js.map +1 -1
  88. package/build/navigation/edit/leaf-more-menu.js +148 -0
  89. package/build/navigation/edit/leaf-more-menu.js.map +1 -0
  90. package/build/navigation/edit/menu-inspector-controls.js +53 -8
  91. package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
  92. package/build/navigation/edit/navigation-menu-delete-control.js +6 -6
  93. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  94. package/build/navigation/edit/unsaved-inner-blocks.js +12 -25
  95. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  96. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  97. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  98. package/build/navigation/interactivity.js +157 -0
  99. package/build/navigation/interactivity.js.map +1 -0
  100. package/build/navigation-link/edit.js +7 -5
  101. package/build/navigation-link/edit.js.map +1 -1
  102. package/build/navigation-link/update-attributes.js +5 -5
  103. package/build/navigation-link/update-attributes.js.map +1 -1
  104. package/build/navigation-submenu/edit.js +7 -5
  105. package/build/navigation-submenu/edit.js.map +1 -1
  106. package/build/paragraph/index.js +5 -1
  107. package/build/paragraph/index.js.map +1 -1
  108. package/build/paragraph/transforms.js +5 -1
  109. package/build/paragraph/transforms.js.map +1 -1
  110. package/build/pattern/edit.js +42 -8
  111. package/build/pattern/edit.js.map +1 -1
  112. package/build/pattern/index.js +12 -5
  113. package/build/pattern/index.js.map +1 -1
  114. package/build/pattern/v1/edit.js +57 -0
  115. package/build/pattern/v1/edit.js.map +1 -0
  116. package/build/post-author-name/edit.js +1 -1
  117. package/build/post-author-name/edit.js.map +1 -1
  118. package/build/post-featured-image/edit.js +1 -2
  119. package/build/post-featured-image/edit.js.map +1 -1
  120. package/build/post-featured-image/overlay.js +5 -0
  121. package/build/post-featured-image/overlay.js.map +1 -1
  122. package/build/post-title/edit.js +24 -7
  123. package/build/post-title/edit.js.map +1 -1
  124. package/build/preformatted/edit.native.js +3 -2
  125. package/build/preformatted/edit.native.js.map +1 -1
  126. package/build/quote/transforms.js +23 -37
  127. package/build/quote/transforms.js.map +1 -1
  128. package/build/read-more/edit.js +1 -1
  129. package/build/read-more/edit.js.map +1 -1
  130. package/build/search/edit.js +9 -1
  131. package/build/search/edit.js.map +1 -1
  132. package/build/site-title/edit/index.js +1 -1
  133. package/build/site-title/edit/index.js.map +1 -1
  134. package/build/social-link/edit.js +21 -4
  135. package/build/social-link/edit.js.map +1 -1
  136. package/build/social-links/edit.js +2 -2
  137. package/build/social-links/edit.js.map +1 -1
  138. package/build/template-part/edit/index.js +1 -7
  139. package/build/template-part/edit/index.js.map +1 -1
  140. package/build/template-part/edit/utils/hooks.js +2 -2
  141. package/build/template-part/edit/utils/hooks.js.map +1 -1
  142. package/build/utils/interactivity/constants.js +9 -0
  143. package/build/utils/interactivity/constants.js.map +1 -0
  144. package/build/utils/interactivity/directives.js +236 -0
  145. package/build/utils/interactivity/directives.js.map +1 -0
  146. package/build/utils/interactivity/hooks.js +176 -0
  147. package/build/utils/interactivity/hooks.js.map +1 -0
  148. package/build/utils/interactivity/hydration.js +34 -0
  149. package/build/utils/interactivity/hydration.js.map +1 -0
  150. package/build/utils/interactivity/index.js +34 -0
  151. package/build/utils/interactivity/index.js.map +1 -0
  152. package/build/utils/interactivity/portals.js +108 -0
  153. package/build/utils/interactivity/portals.js.map +1 -0
  154. package/build/utils/interactivity/store.js +67 -0
  155. package/build/utils/interactivity/store.js.map +1 -0
  156. package/build/utils/interactivity/utils.js +87 -0
  157. package/build/utils/interactivity/utils.js.map +1 -0
  158. package/build/utils/interactivity/vdom.js +109 -0
  159. package/build/utils/interactivity/vdom.js.map +1 -0
  160. package/build-module/block/edit.native.js +7 -1
  161. package/build-module/block/edit.native.js.map +1 -1
  162. package/build-module/code/index.js +1 -0
  163. package/build-module/code/index.js.map +1 -1
  164. package/build-module/column/index.js +1 -1
  165. package/build-module/columns/transforms.js +1 -5
  166. package/build-module/columns/transforms.js.map +1 -1
  167. package/build-module/comment-author-name/edit.js +1 -1
  168. package/build-module/comment-author-name/edit.js.map +1 -1
  169. package/build-module/comment-edit-link/edit.js +1 -1
  170. package/build-module/comment-edit-link/edit.js.map +1 -1
  171. package/build-module/cover/edit/inspector-controls.js +1 -1
  172. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  173. package/build-module/cover/edit/resizable-cover-popover.js +3 -3
  174. package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
  175. package/build-module/cover/index.js +1 -1
  176. package/build-module/cover/variations.js +1 -1
  177. package/build-module/cover/variations.js.map +1 -1
  178. package/build-module/details/edit.js +20 -6
  179. package/build-module/details/edit.js.map +1 -1
  180. package/build-module/details/index.js +14 -10
  181. package/build-module/details/index.js.map +1 -1
  182. package/build-module/details/save.js +5 -2
  183. package/build-module/details/save.js.map +1 -1
  184. package/build-module/embed/variations.js +2 -2
  185. package/build-module/embed/variations.js.map +1 -1
  186. package/build-module/file/interactivity.js +15 -0
  187. package/build-module/file/interactivity.js.map +1 -0
  188. package/build-module/file/{utils.js → utils/index.js} +1 -1
  189. package/build-module/file/utils/index.js.map +1 -0
  190. package/build-module/file/view.js +1 -1
  191. package/build-module/file/view.js.map +1 -1
  192. package/build-module/freeform/modal.js +19 -18
  193. package/build-module/freeform/modal.js.map +1 -1
  194. package/build-module/gallery/edit.js +2 -8
  195. package/build-module/gallery/edit.js.map +1 -1
  196. package/build-module/gallery/v1/edit.js +1 -6
  197. package/build-module/gallery/v1/edit.js.map +1 -1
  198. package/build-module/gallery/v1/gallery-image.native.js +1 -2
  199. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  200. package/build-module/group/transforms.js +0 -5
  201. package/build-module/group/transforms.js.map +1 -1
  202. package/build-module/image/deprecated.js +2 -3
  203. package/build-module/image/deprecated.js.map +1 -1
  204. package/build-module/image/edit.js +12 -11
  205. package/build-module/image/edit.js.map +1 -1
  206. package/build-module/image/image.js +7 -11
  207. package/build-module/image/image.js.map +1 -1
  208. package/build-module/image/index.js +3 -0
  209. package/build-module/image/index.js.map +1 -1
  210. package/build-module/image/interactivity.js +99 -0
  211. package/build-module/image/interactivity.js.map +1 -0
  212. package/build-module/image/save.js +2 -3
  213. package/build-module/image/save.js.map +1 -1
  214. package/build-module/image/utils.js +10 -17
  215. package/build-module/image/utils.js.map +1 -1
  216. package/build-module/index.js +0 -4
  217. package/build-module/index.js.map +1 -1
  218. package/build-module/index.native.js +1 -1
  219. package/build-module/index.native.js.map +1 -1
  220. package/build-module/latest-posts/edit.native.js +1 -2
  221. package/build-module/latest-posts/edit.native.js.map +1 -1
  222. package/build-module/list/edit.js +1 -1
  223. package/build-module/list/edit.js.map +1 -1
  224. package/build-module/list-item/edit.native.js +1 -1
  225. package/build-module/list-item/edit.native.js.map +1 -1
  226. package/build-module/list-item/transforms.js +5 -2
  227. package/build-module/list-item/transforms.js.map +1 -1
  228. package/build-module/list-item/utils.js +5 -1
  229. package/build-module/list-item/utils.js.map +1 -1
  230. package/build-module/loginout/index.js +11 -1
  231. package/build-module/loginout/index.js.map +1 -1
  232. package/build-module/media-text/deprecated.js +4 -5
  233. package/build-module/media-text/deprecated.js.map +1 -1
  234. package/build-module/media-text/edit.js +13 -12
  235. package/build-module/media-text/edit.js.map +1 -1
  236. package/build-module/media-text/media-container.js +3 -3
  237. package/build-module/media-text/media-container.js.map +1 -1
  238. package/build-module/media-text/save.js +1 -2
  239. package/build-module/media-text/save.js.map +1 -1
  240. package/build-module/navigation/constants.js +6 -0
  241. package/build-module/navigation/constants.js.map +1 -0
  242. package/build-module/navigation/edit/index.js +18 -27
  243. package/build-module/navigation/edit/index.js.map +1 -1
  244. package/build-module/navigation/edit/inner-blocks.js +2 -4
  245. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  246. package/build-module/navigation/edit/leaf-more-menu.js +132 -0
  247. package/build-module/navigation/edit/leaf-more-menu.js.map +1 -0
  248. package/build-module/navigation/edit/menu-inspector-controls.js +52 -9
  249. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
  250. package/build-module/navigation/edit/navigation-menu-delete-control.js +7 -7
  251. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  252. package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -20
  253. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  254. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  255. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  256. package/build-module/navigation/interactivity.js +154 -0
  257. package/build-module/navigation/interactivity.js.map +1 -0
  258. package/build-module/navigation-link/edit.js +7 -5
  259. package/build-module/navigation-link/edit.js.map +1 -1
  260. package/build-module/navigation-link/update-attributes.js +4 -4
  261. package/build-module/navigation-link/update-attributes.js.map +1 -1
  262. package/build-module/navigation-submenu/edit.js +7 -5
  263. package/build-module/navigation-submenu/edit.js.map +1 -1
  264. package/build-module/paragraph/index.js +5 -1
  265. package/build-module/paragraph/index.js.map +1 -1
  266. package/build-module/paragraph/transforms.js +5 -1
  267. package/build-module/paragraph/transforms.js.map +1 -1
  268. package/build-module/pattern/edit.js +42 -9
  269. package/build-module/pattern/edit.js.map +1 -1
  270. package/build-module/pattern/index.js +12 -3
  271. package/build-module/pattern/index.js.map +1 -1
  272. package/build-module/pattern/v1/edit.js +48 -0
  273. package/build-module/pattern/v1/edit.js.map +1 -0
  274. package/build-module/post-author-name/edit.js +1 -1
  275. package/build-module/post-author-name/edit.js.map +1 -1
  276. package/build-module/post-featured-image/edit.js +1 -2
  277. package/build-module/post-featured-image/edit.js.map +1 -1
  278. package/build-module/post-featured-image/overlay.js +5 -0
  279. package/build-module/post-featured-image/overlay.js.map +1 -1
  280. package/build-module/post-title/edit.js +23 -7
  281. package/build-module/post-title/edit.js.map +1 -1
  282. package/build-module/preformatted/edit.native.js +3 -2
  283. package/build-module/preformatted/edit.native.js.map +1 -1
  284. package/build-module/quote/transforms.js +23 -37
  285. package/build-module/quote/transforms.js.map +1 -1
  286. package/build-module/read-more/edit.js +1 -1
  287. package/build-module/read-more/edit.js.map +1 -1
  288. package/build-module/search/edit.js +9 -1
  289. package/build-module/search/edit.js.map +1 -1
  290. package/build-module/site-title/edit/index.js +1 -1
  291. package/build-module/site-title/edit/index.js.map +1 -1
  292. package/build-module/social-link/edit.js +20 -5
  293. package/build-module/social-link/edit.js.map +1 -1
  294. package/build-module/social-links/edit.js +2 -2
  295. package/build-module/social-links/edit.js.map +1 -1
  296. package/build-module/template-part/edit/index.js +1 -6
  297. package/build-module/template-part/edit/index.js.map +1 -1
  298. package/build-module/template-part/edit/utils/hooks.js +1 -1
  299. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  300. package/build-module/utils/interactivity/constants.js +2 -0
  301. package/build-module/utils/interactivity/constants.js.map +1 -0
  302. package/build-module/utils/interactivity/directives.js +220 -0
  303. package/build-module/utils/interactivity/directives.js.map +1 -0
  304. package/build-module/utils/interactivity/hooks.js +162 -0
  305. package/build-module/utils/interactivity/hooks.js.map +1 -0
  306. package/build-module/utils/interactivity/hydration.js +21 -0
  307. package/build-module/utils/interactivity/hydration.js.map +1 -0
  308. package/build-module/utils/interactivity/index.js +17 -0
  309. package/build-module/utils/interactivity/index.js.map +1 -0
  310. package/build-module/utils/interactivity/portals.js +100 -0
  311. package/build-module/utils/interactivity/portals.js.map +1 -0
  312. package/build-module/utils/interactivity/store.js +56 -0
  313. package/build-module/utils/interactivity/store.js.map +1 -0
  314. package/build-module/utils/interactivity/utils.js +75 -0
  315. package/build-module/utils/interactivity/utils.js.map +1 -0
  316. package/build-module/utils/interactivity/vdom.js +97 -0
  317. package/build-module/utils/interactivity/vdom.js.map +1 -0
  318. package/build-style/common-rtl.css +1 -1
  319. package/build-style/common.css +1 -1
  320. package/build-style/cover/style-rtl.css +3 -2
  321. package/build-style/cover/style.css +3 -2
  322. package/build-style/{details-summary → details}/editor-rtl.css +1 -1
  323. package/build-style/{details-summary → details}/editor.css +1 -1
  324. package/build-style/details/style-rtl.css +14 -0
  325. package/build-style/details/style.css +14 -0
  326. package/build-style/editor-rtl.css +71 -5
  327. package/build-style/editor.css +71 -5
  328. package/build-style/file/editor-rtl.css +3 -0
  329. package/build-style/file/editor.css +3 -0
  330. package/build-style/freeform/editor-rtl.css +29 -0
  331. package/build-style/freeform/editor.css +29 -0
  332. package/build-style/gallery/editor-rtl.css +0 -4
  333. package/build-style/gallery/editor.css +0 -4
  334. package/build-style/gallery/style-rtl.css +2 -4
  335. package/build-style/gallery/style.css +2 -4
  336. package/build-style/image/style-rtl.css +98 -0
  337. package/build-style/image/style.css +98 -0
  338. package/build-style/navigation/editor-rtl.css +36 -0
  339. package/build-style/navigation/editor.css +36 -0
  340. package/build-style/post-comments-form/style-rtl.css +1 -1
  341. package/build-style/post-comments-form/style.css +1 -1
  342. package/build-style/search/editor-rtl.css +1 -0
  343. package/build-style/search/editor.css +1 -0
  344. package/build-style/site-logo/editor-rtl.css +1 -0
  345. package/build-style/site-logo/editor.css +1 -0
  346. package/build-style/style-rtl.css +116 -10
  347. package/build-style/style.css +116 -10
  348. package/build-style/video/style-rtl.css +1 -2
  349. package/build-style/video/style.css +1 -2
  350. package/package.json +37 -33
  351. package/src/block/edit.native.js +18 -4
  352. package/src/buttons/test/edit.native.js +0 -9
  353. package/src/code/block.json +1 -0
  354. package/src/column/block.json +1 -1
  355. package/src/columns/test/__snapshots__/transforms.native.js.snap +1 -1
  356. package/src/columns/test/transforms.native.js +3 -5
  357. package/src/columns/transforms.js +2 -8
  358. package/src/comment-author-name/edit.js +1 -1
  359. package/src/comment-edit-link/edit.js +1 -1
  360. package/src/comment-template/index.php +8 -7
  361. package/src/comments/index.php +1 -6
  362. package/src/cover/block.json +1 -1
  363. package/src/cover/edit/inspector-controls.js +56 -54
  364. package/src/cover/edit/resizable-cover-popover.js +2 -1
  365. package/src/cover/style.scss +5 -0
  366. package/src/cover/test/edit.js +56 -2
  367. package/src/cover/variations.js +1 -3
  368. package/src/details/block.json +8 -6
  369. package/src/details/edit.js +27 -5
  370. package/src/details/editor.scss +3 -0
  371. package/src/details/index.js +10 -5
  372. package/src/details/save.js +5 -1
  373. package/src/details/style.scss +16 -0
  374. package/src/editor.scss +1 -1
  375. package/src/embed/variations.js +2 -2
  376. package/src/file/editor.scss +4 -0
  377. package/src/file/interactivity.js +15 -0
  378. package/src/file/view.js +4 -1
  379. package/src/freeform/editor.scss +45 -0
  380. package/src/freeform/modal.js +22 -19
  381. package/src/gallery/edit.js +5 -8
  382. package/src/gallery/editor.scss +0 -6
  383. package/src/gallery/test/index.native.js +48 -3
  384. package/src/gallery/v1/edit.js +1 -6
  385. package/src/gallery/v1/gallery-image.native.js +1 -2
  386. package/src/group/test/__snapshots__/transforms.native.js.snap +1 -1
  387. package/src/group/test/transforms.native.js +3 -5
  388. package/src/group/transforms.js +0 -7
  389. package/src/image/block.json +3 -0
  390. package/src/image/deprecated.js +2 -3
  391. package/src/image/edit.js +18 -18
  392. package/src/image/image.js +8 -11
  393. package/src/image/index.php +75 -2
  394. package/src/image/interactivity.js +113 -0
  395. package/src/image/save.js +4 -3
  396. package/src/image/style.scss +113 -0
  397. package/src/image/test/edit.native.js +38 -16
  398. package/src/image/utils.js +11 -18
  399. package/src/index.js +0 -4
  400. package/src/index.native.js +1 -0
  401. package/src/latest-posts/edit.native.js +1 -4
  402. package/src/list/edit.js +1 -1
  403. package/src/list/test/edit.native.js +80 -1
  404. package/src/list-item/edit.native.js +1 -1
  405. package/src/list-item/transforms.js +4 -2
  406. package/src/loginout/block.json +11 -1
  407. package/src/media-text/deprecated.js +4 -5
  408. package/src/media-text/edit.js +12 -10
  409. package/src/media-text/media-container.js +3 -3
  410. package/src/media-text/save.js +1 -2
  411. package/src/navigation/constants.js +21 -0
  412. package/src/navigation/edit/index.js +71 -83
  413. package/src/navigation/edit/inner-blocks.js +6 -16
  414. package/src/navigation/edit/leaf-more-menu.js +170 -0
  415. package/src/navigation/edit/menu-inspector-controls.js +78 -10
  416. package/src/navigation/edit/navigation-menu-delete-control.js +29 -29
  417. package/src/navigation/edit/unsaved-inner-blocks.js +12 -40
  418. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
  419. package/src/navigation/editor.scss +10 -0
  420. package/src/navigation/index.php +213 -204
  421. package/src/navigation/interactivity.js +151 -0
  422. package/src/navigation-link/edit.js +9 -3
  423. package/src/navigation-link/update-attributes.js +2 -2
  424. package/src/navigation-submenu/edit.js +9 -3
  425. package/src/paragraph/block.json +5 -1
  426. package/src/pattern/block.json +4 -0
  427. package/src/pattern/edit.js +53 -16
  428. package/src/pattern/index.js +5 -4
  429. package/src/pattern/index.php +14 -1
  430. package/src/pattern/v1/edit.js +57 -0
  431. package/src/post-author-name/edit.js +1 -1
  432. package/src/post-comments-form/style.scss +3 -1
  433. package/src/post-featured-image/edit.js +1 -1
  434. package/src/post-featured-image/index.php +1 -1
  435. package/src/post-featured-image/overlay.js +4 -0
  436. package/src/post-terms/index.php +2 -2
  437. package/src/post-title/edit.js +57 -44
  438. package/src/preformatted/edit.native.js +1 -3
  439. package/src/quote/test/__snapshots__/transforms.native.js.snap +1 -1
  440. package/src/quote/test/transforms.native.js +3 -5
  441. package/src/quote/transforms.js +9 -19
  442. package/src/read-more/edit.js +1 -1
  443. package/src/search/edit.js +9 -4
  444. package/src/search/editor.scss +1 -0
  445. package/src/site-logo/editor.scss +2 -1
  446. package/src/site-title/edit/index.js +1 -1
  447. package/src/social-link/edit.js +51 -26
  448. package/src/social-links/edit.js +33 -31
  449. package/src/style.scss +0 -1
  450. package/src/template-part/edit/index.js +4 -6
  451. package/src/template-part/edit/utils/hooks.js +1 -1
  452. package/src/template-part/index.php +22 -7
  453. package/src/utils/interactivity/constants.js +1 -0
  454. package/src/utils/interactivity/directives.js +200 -0
  455. package/src/utils/interactivity/hooks.js +145 -0
  456. package/src/utils/interactivity/hydration.js +22 -0
  457. package/src/utils/interactivity/index.js +17 -0
  458. package/src/utils/interactivity/portals.js +98 -0
  459. package/src/utils/interactivity/store.js +45 -0
  460. package/src/utils/interactivity/utils.js +66 -0
  461. package/src/utils/interactivity/vdom.js +94 -0
  462. package/tsconfig.json +1 -0
  463. package/tsconfig.tsbuildinfo +1 -1
  464. package/build/details-content/edit.js +0 -34
  465. package/build/details-content/edit.js.map +0 -1
  466. package/build/details-content/index.js +0 -94
  467. package/build/details-content/index.js.map +0 -1
  468. package/build/details-content/save.js +0 -20
  469. package/build/details-content/save.js.map +0 -1
  470. package/build/details-summary/edit.js +0 -42
  471. package/build/details-summary/edit.js.map +0 -1
  472. package/build/details-summary/index.js +0 -97
  473. package/build/details-summary/index.js.map +0 -1
  474. package/build/details-summary/save.js +0 -24
  475. package/build/details-summary/save.js.map +0 -1
  476. package/build/file/utils.js.map +0 -1
  477. package/build-module/details-content/edit.js +0 -23
  478. package/build-module/details-content/edit.js.map +0 -1
  479. package/build-module/details-content/index.js +0 -76
  480. package/build-module/details-content/index.js.map +0 -1
  481. package/build-module/details-content/save.js +0 -11
  482. package/build-module/details-content/save.js.map +0 -1
  483. package/build-module/details-summary/edit.js +0 -30
  484. package/build-module/details-summary/edit.js.map +0 -1
  485. package/build-module/details-summary/index.js +0 -79
  486. package/build-module/details-summary/index.js.map +0 -1
  487. package/build-module/details-summary/save.js +0 -16
  488. package/build-module/details-summary/save.js.map +0 -1
  489. package/build-module/file/utils.js.map +0 -1
  490. package/build-style/details-summary/style-rtl.css +0 -91
  491. package/build-style/details-summary/style.css +0 -91
  492. package/src/details-content/block.json +0 -50
  493. package/src/details-content/edit.js +0 -29
  494. package/src/details-content/index.js +0 -23
  495. package/src/details-content/save.js +0 -12
  496. package/src/details-summary/block.json +0 -53
  497. package/src/details-summary/edit.js +0 -27
  498. package/src/details-summary/editor.scss +0 -3
  499. package/src/details-summary/index.js +0 -23
  500. package/src/details-summary/save.js +0 -13
  501. package/src/details-summary/style.scss +0 -3
  502. /package/src/file/{utils.js → utils/index.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"names":["classnames","RangeControl","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","withColors","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__experimentalUseBorderProps","useBorderProps","compose","__","dimRatioToClass","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientClass","gradientValue","setGradient","colorGradientSettings","borderProps","overlayStyles","backgroundColor","color","backgroundImage","style","class","undefined","className","colorValue","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRatio"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { dimRatioToClass } from './utils';\n\nconst Overlay = ( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\toverlayColor,\n\tsetOverlayColor,\n} ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientClass, gradientValue, setGradient } =\n\t\t__experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst overlayStyles = {\n\t\tbackgroundColor: overlayColor.color,\n\t\tbackgroundImage: gradientValue,\n\t\t...borderProps.style,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ !! dimRatio && (\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-post-featured-image__overlay',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ overlayStyles }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: 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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => dimRatio !== undefined }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () => setAttributes( { dimRatio: 0 } ) }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: 0,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"names":["classnames","RangeControl","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","withColors","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__experimentalUseBorderProps","useBorderProps","compose","__","dimRatioToClass","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientClass","gradientValue","setGradient","colorGradientSettings","borderProps","overlayStyles","backgroundColor","color","backgroundImage","style","hasColorsOrGradients","class","undefined","className","colorValue","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRatio"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { dimRatioToClass } from './utils';\n\nconst Overlay = ( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\toverlayColor,\n\tsetOverlayColor,\n} ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientClass, gradientValue, setGradient } =\n\t\t__experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst overlayStyles = {\n\t\tbackgroundColor: overlayColor.color,\n\t\tbackgroundImage: gradientValue,\n\t\t...borderProps.style,\n\t};\n\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ !! dimRatio && (\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-post-featured-image__overlay',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ overlayStyles }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: 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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => dimRatio !== undefined }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () => setAttributes( { dimRatio: 0 } ) }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: 0,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"]}
@@ -12,6 +12,7 @@ import classnames from 'classnames';
12
12
  import { AlignmentControl, BlockControls, InspectorControls, useBlockProps, PlainText } from '@wordpress/block-editor';
13
13
  import { ToggleControl, TextControl, PanelBody } from '@wordpress/components';
14
14
  import { __ } from '@wordpress/i18n';
15
+ import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
15
16
  import { useEntityProp } from '@wordpress/core-data';
16
17
  /**
17
18
  * Internal dependencies
@@ -33,13 +34,26 @@ export default function PostTitleEdit(_ref) {
33
34
  postType,
34
35
  postId,
35
36
  queryId
36
- }
37
+ },
38
+ insertBlocksAfter
37
39
  } = _ref;
38
40
  const TagName = 0 === level ? 'p' : 'h' + level;
39
41
  const isDescendentOfQueryLoop = Number.isFinite(queryId);
40
- const userCanEdit = useCanEditEntity('postType', postType, postId);
42
+ /**
43
+ * Hack: useCanEditEntity may trigger an OPTIONS request to the REST API via the canUser resolver.
44
+ * However, when the Post Title is a descendant of a Query Loop block, the title cannot be edited.
45
+ * In order to avoid these unnecessary requests, we call the hook without
46
+ * the proper data, resulting in returning early without making them.
47
+ */
48
+
49
+ const userCanEdit = useCanEditEntity('postType', !isDescendentOfQueryLoop && postType, postId);
41
50
  const [rawTitle = '', setTitle, fullTitle] = useEntityProp('postType', postType, 'title', postId);
42
51
  const [link] = useEntityProp('postType', postType, 'link', postId);
52
+
53
+ const onSplitAtEnd = () => {
54
+ insertBlocksAfter(createBlock(getDefaultBlockName()));
55
+ };
56
+
43
57
  const blockProps = useBlockProps({
44
58
  className: classnames({
45
59
  [`has-text-align-${textAlign}`]: textAlign
@@ -48,12 +62,13 @@ export default function PostTitleEdit(_ref) {
48
62
  let titleElement = createElement(TagName, blockProps, __('Post Title'));
49
63
 
50
64
  if (postType && postId) {
51
- titleElement = userCanEdit && !isDescendentOfQueryLoop ? createElement(PlainText, _extends({
65
+ titleElement = userCanEdit ? createElement(PlainText, _extends({
52
66
  tagName: TagName,
53
67
  placeholder: __('No Title'),
54
68
  value: rawTitle,
55
69
  onChange: setTitle,
56
- __experimentalVersion: 2
70
+ __experimentalVersion: 2,
71
+ __unstableOnSplitAtEnd: onSplitAtEnd
57
72
  }, blockProps)) : createElement(TagName, _extends({}, blockProps, {
58
73
  dangerouslySetInnerHTML: {
59
74
  __html: fullTitle === null || fullTitle === void 0 ? void 0 : fullTitle.rendered
@@ -62,7 +77,7 @@ export default function PostTitleEdit(_ref) {
62
77
  }
63
78
 
64
79
  if (isLink && postType && postId) {
65
- titleElement = userCanEdit && !isDescendentOfQueryLoop ? createElement(TagName, blockProps, createElement(PlainText, {
80
+ titleElement = userCanEdit ? createElement(TagName, blockProps, createElement(PlainText, {
66
81
  tagName: "a",
67
82
  href: link,
68
83
  target: linkTarget,
@@ -70,7 +85,8 @@ export default function PostTitleEdit(_ref) {
70
85
  placeholder: !rawTitle.length ? __('No Title') : null,
71
86
  value: rawTitle,
72
87
  onChange: setTitle,
73
- __experimentalVersion: 2
88
+ __experimentalVersion: 2,
89
+ __unstableOnSplitAtEnd: onSplitAtEnd
74
90
  })) : createElement(TagName, blockProps, createElement("a", {
75
91
  href: link,
76
92
  target: linkTarget,
@@ -97,7 +113,7 @@ export default function PostTitleEdit(_ref) {
97
113
  });
98
114
  }
99
115
  })), createElement(InspectorControls, null, createElement(PanelBody, {
100
- title: __('Link settings')
116
+ title: __('Settings')
101
117
  }, createElement(ToggleControl, {
102
118
  __nextHasNoMarginBottom: true,
103
119
  label: __('Make title a link'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","InspectorControls","useBlockProps","PlainText","ToggleControl","TextControl","PanelBody","__","useEntityProp","HeadingLevelDropdown","useCanEditEntity","PostTitleEdit","attributes","level","textAlign","isLink","rel","linkTarget","setAttributes","context","postType","postId","queryId","TagName","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawTitle","setTitle","fullTitle","link","blockProps","className","titleElement","__html","rendered","length","event","preventDefault","newLevel","nextAlign","value","newRel"],"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\tPlainText,\n} from '@wordpress/block-editor';\nimport { ToggleControl, TextControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, textAlign, isLink, rel, linkTarget },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n} ) {\n\tconst TagName = 0 === level ? 'p' : 'h' + level;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tlet titleElement = (\n\t\t<TagName { ...blockProps }>{ __( 'Post Title' ) }</TagName>\n\t);\n\n\tif ( postType && postId ) {\n\t\ttitleElement =\n\t\t\tuserCanEdit && ! isDescendentOfQueryLoop ? (\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tdangerouslySetInnerHTML={ { __html: fullTitle?.rendered } }\n\t\t\t\t/>\n\t\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement =\n\t\t\tuserCanEdit && ! isDescendentOfQueryLoop ? (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<PlainText\n\t\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t! rawTitle.length ? __( 'No Title' ) : null\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) : (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ link }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t__html: fullTitle?.rendered,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\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\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","InspectorControls","useBlockProps","PlainText","ToggleControl","TextControl","PanelBody","__","createBlock","getDefaultBlockName","useEntityProp","HeadingLevelDropdown","useCanEditEntity","PostTitleEdit","attributes","level","textAlign","isLink","rel","linkTarget","setAttributes","context","postType","postId","queryId","insertBlocksAfter","TagName","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawTitle","setTitle","fullTitle","link","onSplitAtEnd","blockProps","className","titleElement","__html","rendered","length","event","preventDefault","newLevel","nextAlign","value","newRel"],"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\tPlainText,\n} from '@wordpress/block-editor';\nimport { ToggleControl, TextControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostTitleEdit( {\n\tattributes: { level, textAlign, isLink, rel, linkTarget },\n\tsetAttributes,\n\tcontext: { postType, postId, queryId },\n\tinsertBlocksAfter,\n} ) {\n\tconst TagName = 0 === level ? 'p' : 'h' + level;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\t/**\n\t * Hack: useCanEditEntity may trigger an OPTIONS request to the REST API via the canUser resolver.\n\t * However, when the Post Title is a descendant of a Query Loop block, the title cannot be edited.\n\t * In order to avoid these unnecessary requests, we call the hook without\n\t * the proper data, resulting in returning early without making them.\n\t */\n\tconst userCanEdit = useCanEditEntity(\n\t\t'postType',\n\t\t! isDescendentOfQueryLoop && postType,\n\t\tpostId\n\t);\n\tconst [ rawTitle = '', setTitle, fullTitle ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'title',\n\t\tpostId\n\t);\n\tconst [ link ] = useEntityProp( 'postType', postType, 'link', postId );\n\tconst onSplitAtEnd = () => {\n\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) );\n\t};\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tlet titleElement = (\n\t\t<TagName { ...blockProps }>{ __( 'Post Title' ) }</TagName>\n\t);\n\n\tif ( postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<PlainText\n\t\t\t\ttagName={ TagName }\n\t\t\t\tplaceholder={ __( 'No Title' ) }\n\t\t\t\tvalue={ rawTitle }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t) : (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tdangerouslySetInnerHTML={ { __html: fullTitle?.rendered } }\n\t\t\t/>\n\t\t);\n\t}\n\n\tif ( isLink && postType && postId ) {\n\t\ttitleElement = userCanEdit ? (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlainText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tplaceholder={ ! rawTitle.length ? __( 'No Title' ) : null }\n\t\t\t\t\tvalue={ rawTitle }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\t__experimentalVersion={ 2 }\n\t\t\t\t\t__unstableOnSplitAtEnd={ onSplitAtEnd }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t) : (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<a\n\t\t\t\t\thref={ link }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ rel }\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t__html: fullTitle?.rendered,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</TagName>\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\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Make title a link' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
@@ -16,6 +16,8 @@ import { usePreferredColorSchemeStyle } from '@wordpress/compose';
16
16
  import WebPreformattedEdit from './edit.js';
17
17
  import styles from './styles.scss';
18
18
  export default function PreformattedEdit(props) {
19
+ var _style$baseColors;
20
+
19
21
  const {
20
22
  style
21
23
  } = props;
@@ -29,10 +31,9 @@ export default function PreformattedEdit(props) {
29
31
  color: style.color
30
32
  })
31
33
  };
32
- const hasBaseColors = (style === null || style === void 0 ? void 0 : style.baseColors) && Object.entries(style.baseColors).length !== 0;
33
34
  const containerStyles = [wpBlockPreformatted, (style === null || style === void 0 ? void 0 : style.backgroundColor) && {
34
35
  backgroundColor: style.backgroundColor
35
- }, hasBaseColors && !(style !== null && style !== void 0 && style.backgroundColor) && styles['wp-block-preformatted__no-background']];
36
+ }, (style === null || style === void 0 ? void 0 : (_style$baseColors = style.baseColors) === null || _style$baseColors === void 0 ? void 0 : _style$baseColors.color) && !(style !== null && style !== void 0 && style.backgroundColor) && styles['wp-block-preformatted__no-background']];
36
37
  const propsWithStyle = { ...props,
37
38
  style: richTextStyle
38
39
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/preformatted/edit.native.js"],"names":["View","usePreferredColorSchemeStyle","WebPreformattedEdit","styles","PreformattedEdit","props","style","textBaseStyle","wpRichTextLight","wpRichTextDark","wpBlockPreformatted","wpBlockPreformattedLight","wpBlockPreformattedDark","richTextStyle","baseColors","fontSize","color","hasBaseColors","Object","entries","length","containerStyles","backgroundColor","propsWithStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AACA;AACA;AACA;;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,WAAhC;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,eAAe,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AACjD,QAAM;AAAEC,IAAAA;AAAF,MAAYD,KAAlB;AAEA,QAAME,aAAa,GAAGN,4BAA4B,CACjDE,MAAM,CAACK,eAD0C,EAEjDL,MAAM,CAACM,cAF0C,CAAlD;AAIA,QAAMC,mBAAmB,GAAGT,4BAA4B,CACvDE,MAAM,CAACQ,wBADgD,EAEvDR,MAAM,CAACS,uBAFgD,CAAxD;AAIA,QAAMC,aAAa,GAAG,EACrB,IAAK,EAAEP,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEQ,UAAT,KAAuBP,aAA5B,CADqB;AAErB,QAAK,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAES,QAAP,KAAmB;AAAEA,MAAAA,QAAQ,EAAET,KAAK,CAACS;AAAlB,KAAxB,CAFqB;AAGrB,QAAK,CAAAT,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEU,KAAP,KAAgB;AAAEA,MAAAA,KAAK,EAAEV,KAAK,CAACU;AAAf,KAArB;AAHqB,GAAtB;AAKA,QAAMC,aAAa,GAClB,CAAAX,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEQ,UAAP,KAAqBI,MAAM,CAACC,OAAP,CAAgBb,KAAK,CAACQ,UAAtB,EAAmCM,MAAnC,KAA8C,CADpE;AAEA,QAAMC,eAAe,GAAG,CACvBX,mBADuB,EAEvB,CAAAJ,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEgB,eAAP,KAA0B;AAAEA,IAAAA,eAAe,EAAEhB,KAAK,CAACgB;AAAzB,GAFH,EAGvBL,aAAa,IACZ,EAAEX,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEgB,eAAT,CADD,IAECnB,MAAM,CAAE,sCAAF,CALgB,CAAxB;AAQA,QAAMoB,cAAc,GAAG,EACtB,GAAGlB,KADmB;AAEtBC,IAAAA,KAAK,EAAEO;AAFe,GAAvB;AAIA,SACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGQ;AAAd,KACC,cAAC,mBAAD,EAA0BE,cAA1B,CADD,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport WebPreformattedEdit from './edit.js';\nimport styles from './styles.scss';\n\nexport default function PreformattedEdit( props ) {\n\tconst { style } = props;\n\n\tconst textBaseStyle = usePreferredColorSchemeStyle(\n\t\tstyles.wpRichTextLight,\n\t\tstyles.wpRichTextDark\n\t);\n\tconst wpBlockPreformatted = usePreferredColorSchemeStyle(\n\t\tstyles.wpBlockPreformattedLight,\n\t\tstyles.wpBlockPreformattedDark\n\t);\n\tconst richTextStyle = {\n\t\t...( ! style?.baseColors && textBaseStyle ),\n\t\t...( style?.fontSize && { fontSize: style.fontSize } ),\n\t\t...( style?.color && { color: style.color } ),\n\t};\n\tconst hasBaseColors =\n\t\tstyle?.baseColors && Object.entries( style.baseColors ).length !== 0;\n\tconst containerStyles = [\n\t\twpBlockPreformatted,\n\t\tstyle?.backgroundColor && { backgroundColor: style.backgroundColor },\n\t\thasBaseColors &&\n\t\t\t! style?.backgroundColor &&\n\t\t\tstyles[ 'wp-block-preformatted__no-background' ],\n\t];\n\n\tconst propsWithStyle = {\n\t\t...props,\n\t\tstyle: richTextStyle,\n\t};\n\treturn (\n\t\t<View style={ containerStyles }>\n\t\t\t<WebPreformattedEdit { ...propsWithStyle } />\n\t\t</View>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/preformatted/edit.native.js"],"names":["View","usePreferredColorSchemeStyle","WebPreformattedEdit","styles","PreformattedEdit","props","style","textBaseStyle","wpRichTextLight","wpRichTextDark","wpBlockPreformatted","wpBlockPreformattedLight","wpBlockPreformattedDark","richTextStyle","baseColors","fontSize","color","containerStyles","backgroundColor","propsWithStyle"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,IAAT,QAAqB,cAArB;AACA;AACA;AACA;;AACA,SAASC,4BAAT,QAA6C,oBAA7C;AACA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,WAAhC;AACA,OAAOC,MAAP,MAAmB,eAAnB;AAEA,eAAe,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AAAA;;AACjD,QAAM;AAAEC,IAAAA;AAAF,MAAYD,KAAlB;AAEA,QAAME,aAAa,GAAGN,4BAA4B,CACjDE,MAAM,CAACK,eAD0C,EAEjDL,MAAM,CAACM,cAF0C,CAAlD;AAIA,QAAMC,mBAAmB,GAAGT,4BAA4B,CACvDE,MAAM,CAACQ,wBADgD,EAEvDR,MAAM,CAACS,uBAFgD,CAAxD;AAIA,QAAMC,aAAa,GAAG,EACrB,IAAK,EAAEP,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEQ,UAAT,KAAuBP,aAA5B,CADqB;AAErB,QAAK,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAES,QAAP,KAAmB;AAAEA,MAAAA,QAAQ,EAAET,KAAK,CAACS;AAAlB,KAAxB,CAFqB;AAGrB,QAAK,CAAAT,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEU,KAAP,KAAgB;AAAEA,MAAAA,KAAK,EAAEV,KAAK,CAACU;AAAf,KAArB;AAHqB,GAAtB;AAKA,QAAMC,eAAe,GAAG,CACvBP,mBADuB,EAEvB,CAAAJ,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEY,eAAP,KAA0B;AAAEA,IAAAA,eAAe,EAAEZ,KAAK,CAACY;AAAzB,GAFH,EAGvB,CAAAZ,KAAK,SAAL,IAAAA,KAAK,WAAL,iCAAAA,KAAK,CAAEQ,UAAP,wEAAmBE,KAAnB,KACC,EAAEV,KAAF,aAAEA,KAAF,eAAEA,KAAK,CAAEY,eAAT,CADD,IAECf,MAAM,CAAE,sCAAF,CALgB,CAAxB;AAQA,QAAMgB,cAAc,GAAG,EACtB,GAAGd,KADmB;AAEtBC,IAAAA,KAAK,EAAEO;AAFe,GAAvB;AAIA,SACC,cAAC,IAAD;AAAM,IAAA,KAAK,EAAGI;AAAd,KACC,cAAC,mBAAD,EAA0BE,cAA1B,CADD,CADD;AAKA","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n/**\n * Internal dependencies\n */\nimport WebPreformattedEdit from './edit.js';\nimport styles from './styles.scss';\n\nexport default function PreformattedEdit( props ) {\n\tconst { style } = props;\n\n\tconst textBaseStyle = usePreferredColorSchemeStyle(\n\t\tstyles.wpRichTextLight,\n\t\tstyles.wpRichTextDark\n\t);\n\tconst wpBlockPreformatted = usePreferredColorSchemeStyle(\n\t\tstyles.wpBlockPreformattedLight,\n\t\tstyles.wpBlockPreformattedDark\n\t);\n\tconst richTextStyle = {\n\t\t...( ! style?.baseColors && textBaseStyle ),\n\t\t...( style?.fontSize && { fontSize: style.fontSize } ),\n\t\t...( style?.color && { color: style.color } ),\n\t};\n\tconst containerStyles = [\n\t\twpBlockPreformatted,\n\t\tstyle?.backgroundColor && { backgroundColor: style.backgroundColor },\n\t\tstyle?.baseColors?.color &&\n\t\t\t! style?.backgroundColor &&\n\t\t\tstyles[ 'wp-block-preformatted__no-background' ],\n\t];\n\n\tconst propsWithStyle = {\n\t\t...props,\n\t\tstyle: richTextStyle,\n\t};\n\treturn (\n\t\t<View style={ containerStyles }>\n\t\t\t<WebPreformattedEdit { ...propsWithStyle } />\n\t\t</View>\n\t);\n}\n"]}
@@ -23,17 +23,6 @@ const transforms = {
23
23
  content: value
24
24
  })]);
25
25
  }
26
- }, {
27
- type: 'block',
28
- blocks: ['core/group'],
29
- transform: (_ref2, innerBlocks) => {
30
- let {
31
- anchor
32
- } = _ref2;
33
- return createBlock('core/quote', {
34
- anchor
35
- }, innerBlocks);
36
- }
37
26
  }, {
38
27
  type: 'prefix',
39
28
  prefix: '>',
@@ -63,8 +52,8 @@ const transforms = {
63
52
  type: 'block',
64
53
  isMultiBlock: true,
65
54
  blocks: ['*'],
66
- isMatch: (_ref3, blocks) => {
67
- let {} = _ref3;
55
+ isMatch: (_ref2, blocks) => {
56
+ let {} = _ref2;
68
57
 
69
58
  // When a single block is selected make the tranformation
70
59
  // available only to specific blocks that make sense.
@@ -72,10 +61,10 @@ const transforms = {
72
61
  return ['core/paragraph', 'core/heading', 'core/list', 'core/pullquote'].includes(blocks[0].name);
73
62
  }
74
63
 
75
- return !blocks.some(_ref4 => {
64
+ return !blocks.some(_ref3 => {
76
65
  let {
77
66
  name
78
- } = _ref4;
67
+ } = _ref3;
79
68
  return name === 'core/quote';
80
69
  });
81
70
  },
@@ -84,26 +73,26 @@ const transforms = {
84
73
  to: [{
85
74
  type: 'block',
86
75
  blocks: ['core/pullquote'],
87
- isMatch: (_ref5, block) => {
88
- let {} = _ref5;
89
- return block.innerBlocks.every(_ref6 => {
76
+ isMatch: (_ref4, block) => {
77
+ let {} = _ref4;
78
+ return block.innerBlocks.every(_ref5 => {
90
79
  let {
91
80
  name
92
- } = _ref6;
81
+ } = _ref5;
93
82
  return name === 'core/paragraph';
94
83
  });
95
84
  },
96
- transform: (_ref7, innerBlocks) => {
85
+ transform: (_ref6, innerBlocks) => {
97
86
  let {
98
87
  citation,
99
88
  anchor,
100
89
  fontSize,
101
90
  style
102
- } = _ref7;
103
- const value = innerBlocks.map(_ref8 => {
91
+ } = _ref6;
92
+ const value = innerBlocks.map(_ref7 => {
104
93
  let {
105
94
  attributes
106
- } = _ref8;
95
+ } = _ref7;
107
96
  return `${attributes.content}`;
108
97
  }).join('<br>');
109
98
  return createBlock('core/pullquote', {
@@ -117,29 +106,26 @@ const transforms = {
117
106
  }, {
118
107
  type: 'block',
119
108
  blocks: ['core/group'],
120
- transform: (_ref9, innerBlocks) => {
109
+ transform: (_ref8, innerBlocks) => {
121
110
  let {
122
111
  citation,
123
112
  anchor
124
- } = _ref9;
113
+ } = _ref8;
125
114
  return createBlock('core/group', {
126
115
  anchor
127
116
  }, citation ? [...innerBlocks, createBlock('core/paragraph', {
128
117
  content: citation
129
118
  })] : innerBlocks);
130
119
  }
131
- }, {
132
- type: 'block',
133
- blocks: ['*'],
134
- transform: (_ref10, innerBlocks) => {
135
- let {
136
- citation
137
- } = _ref10;
138
- return citation ? [...innerBlocks, createBlock('core/paragraph', {
139
- content: citation
140
- })] : innerBlocks;
141
- }
142
- }]
120
+ }],
121
+ ungroup: (_ref9, innerBlocks) => {
122
+ let {
123
+ citation
124
+ } = _ref9;
125
+ return citation ? [...innerBlocks, createBlock('core/paragraph', {
126
+ content: citation
127
+ })] : innerBlocks;
128
+ }
143
129
  };
144
130
  export default transforms;
145
131
  //# sourceMappingURL=transforms.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","content","innerBlocks","prefix","schema","blockquote","children","selector","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","length","includes","name","some","__experimentalConvert","map","block","attributes","to","every","join"],"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: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock( 'core/quote', { anchor }, innerBlocks ),\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\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\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],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","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":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AAEA,MAAMC,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE,QAAoD;AAAA,UAAlD;AAAEC,QAAAA,KAAF;AAASC,QAAAA,QAAT;AAAmBC,QAAAA,MAAnB;AAA2BC,QAAAA,QAA3B;AAAqCC,QAAAA;AAArC,OAAkD;AAC9D,aAAOV,WAAW,CACjB,YADiB,EAEjB;AACCO,QAAAA,QADD;AAECC,QAAAA,MAFD;AAGCC,QAAAA,QAHD;AAICC,QAAAA;AAJD,OAFiB,EAQjB,CAAEV,WAAW,CAAE,gBAAF,EAAoB;AAAEW,QAAAA,OAAO,EAAEL;AAAX,OAApB,CAAb,CARiB,CAAlB;AAUA;AAdF,GADK,EAiBL;AACCH,IAAAA,IAAI,EAAE,QADP;AAECS,IAAAA,MAAM,EAAE,GAFT;AAGCP,IAAAA,SAAS,EAAIM,OAAF,IACVX,WAAW,CAAE,YAAF,EAAgB,EAAhB,EAAoB,CAC9BA,WAAW,CAAE,gBAAF,EAAoB;AAAEW,MAAAA;AAAF,KAApB,CADmB,CAApB;AAJb,GAjBK,EAyBL;AACCR,IAAAA,IAAI,EAAE,KADP;AAECU,IAAAA,MAAM,EAAE,OAAQ;AACfC,MAAAA,UAAU,EAAE;AACXC,QAAAA,QAAQ,EAAE;AADC;AADG,KAAR,CAFT;AAOCC,IAAAA,QAAQ,EAAE,YAPX;AAQCX,IAAAA,SAAS,EAAE,CAAEY,IAAF,EAAQC,OAAR,KAAqB;AAC/B,aAAOlB,WAAW,CACjB,YADiB,EAEjB;AACA;AACA;AACA;AACA;AACA,QAPiB,EAQjBkB,OAAO,CAAE;AACRC,QAAAA,IAAI,EAAEF,IAAI,CAACG,SADH;AAERC,QAAAA,IAAI,EAAE;AAFE,OAAF,CARU,CAAlB;AAaA;AAtBF,GAzBK,EAiDL;AACClB,IAAAA,IAAI,EAAE,OADP;AAECmB,IAAAA,YAAY,EAAE,IAFf;AAGClB,IAAAA,MAAM,EAAE,CAAE,GAAF,CAHT;AAICmB,IAAAA,OAAO,EAAE,QAAMnB,MAAN,KAAkB;AAAA,UAAhB,EAAgB;;AAC1B;AACA;AACA,UAAKA,MAAM,CAACoB,MAAP,KAAkB,CAAvB,EAA2B;AAC1B,eAAO,CACN,gBADM,EAEN,cAFM,EAGN,WAHM,EAIN,gBAJM,EAKLC,QALK,CAKKrB,MAAM,CAAE,CAAF,CAAN,CAAYsB,IALjB,CAAP;AAMA;;AACD,aAAO,CAAEtB,MAAM,CAACuB,IAAP,CAAa;AAAA,YAAE;AAAED,UAAAA;AAAF,SAAF;AAAA,eAAgBA,IAAI,KAAK,YAAzB;AAAA,OAAb,CAAT;AACA,KAhBF;AAiBCE,IAAAA,qBAAqB,EAAIxB,MAAF,IACtBJ,WAAW,CACV,YADU,EAEV,EAFU,EAGVI,MAAM,CAACyB,GAAP,CAAcC,KAAF,IACX9B,WAAW,CACV8B,KAAK,CAACJ,IADI,EAEVI,KAAK,CAACC,UAFI,EAGVD,KAAK,CAACE,WAHI,CADZ,CAHU;AAlBb,GAjDK,CADY;AAiFlBC,EAAAA,EAAE,EAAE,CACH;AACC9B,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,gBAAF,CAFT;AAGCmB,IAAAA,OAAO,EAAE,QAAMO,KAAN,KAAiB;AAAA,UAAf,EAAe;AACzB,aAAOA,KAAK,CAACE,WAAN,CAAkBE,KAAlB,CACN;AAAA,YAAE;AAAER,UAAAA;AAAF,SAAF;AAAA,eAAgBA,IAAI,KAAK,gBAAzB;AAAA,OADM,CAAP;AAGA,KAPF;AAQCrB,IAAAA,SAAS,EAAE,QAEV2B,WAFU,KAGN;AAAA,UAFJ;AAAEzB,QAAAA,QAAF;AAAYC,QAAAA,MAAZ;AAAoBC,QAAAA,QAApB;AAA8BC,QAAAA;AAA9B,OAEI;AACJ,YAAMJ,KAAK,GAAG0B,WAAW,CACvBH,GADY,CACP;AAAA,YAAE;AAAEE,UAAAA;AAAF,SAAF;AAAA,eAAuB,GAAGA,UAAU,CAACpB,OAAS,EAA9C;AAAA,OADO,EAEZwB,IAFY,CAEN,MAFM,CAAd;AAGA,aAAOnC,WAAW,CAAE,gBAAF,EAAoB;AACrCM,QAAAA,KADqC;AAErCC,QAAAA,QAFqC;AAGrCC,QAAAA,MAHqC;AAIrCC,QAAAA,QAJqC;AAKrCC,QAAAA;AALqC,OAApB,CAAlB;AAOA;AAtBF,GADG,EAyBH;AACCP,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE,QAAwB2B,WAAxB;AAAA,UAAE;AAAEzB,QAAAA,QAAF;AAAYC,QAAAA;AAAZ,OAAF;AAAA,aACVR,WAAW,CACV,YADU,EAEV;AAAEQ,QAAAA;AAAF,OAFU,EAGVD,QAAQ,GACL,CACA,GAAGyB,WADH,EAEAhC,WAAW,CAAE,gBAAF,EAAoB;AAC9BW,QAAAA,OAAO,EAAEJ;AADqB,OAApB,CAFX,CADK,GAOLyB,WAVO,CADD;AAAA;AAHZ,GAzBG,CAjFc;AA4HlBI,EAAAA,OAAO,EAAE,QAAgBJ,WAAhB;AAAA,QAAE;AAAEzB,MAAAA;AAAF,KAAF;AAAA,WACRA,QAAQ,GACL,CACA,GAAGyB,WADH,EAEAhC,WAAW,CAAE,gBAAF,EAAoB;AAC9BW,MAAAA,OAAO,EAAEJ;AADqB,KAApB,CAFX,CADK,GAOLyB,WARK;AAAA;AA5HS,CAAnB;AAuIA,eAAe/B,UAAf","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"]}
@@ -19,7 +19,7 @@ export default function ReadMore(_ref) {
19
19
  } = _ref;
20
20
  const blockProps = useBlockProps();
21
21
  return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
22
- title: __('Link settings')
22
+ title: __('Settings')
23
23
  }, createElement(ToggleControl, {
24
24
  __nextHasNoMarginBottom: true,
25
25
  label: __('Open in new tab'),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/read-more/edit.js"],"names":["InspectorControls","RichText","useBlockProps","ToggleControl","PanelBody","createBlock","getDefaultBlockName","__","ReadMore","attributes","content","linkTarget","setAttributes","insertBlocksAfter","blockProps","value","newValue"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,QAFD,EAGCC,aAHD,QAIO,yBAJP;AAKA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,uBAAzC;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,QAAT,OAIX;AAAA,MAJ8B;AACjCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KADqB;AAEjCC,IAAAA,aAFiC;AAGjCC,IAAAA;AAHiC,GAI9B;AACH,QAAMC,UAAU,GAAGZ,aAAa,EAAhC;AACA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGK,EAAE,CAAE,eAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CAFX;AAGC,IAAA,QAAQ,EAAKQ,KAAF,IACVH,aAAa,CAAE;AACdD,MAAAA,UAAU,EAAEI,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAJf;AAQC,IAAA,OAAO,EAAGJ,UAAU,KAAK;AAR1B,IADD,CADD,CADD,EAeC,cAAC,QAAD;AACC,IAAA,OAAO,EAAC,GADT;AAEC,kBAAaJ,EAAE,CAAE,uBAAF,CAFhB;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAHjB;AAIC,IAAA,KAAK,EAAGG,OAJT;AAKC,IAAA,QAAQ,EAAKM,QAAF,IACVJ,aAAa,CAAE;AAAEF,MAAAA,OAAO,EAAEM;AAAX,KAAF,CANf;AAQC,IAAA,sBAAsB,EAAG,MACxBH,iBAAiB,CAAER,WAAW,CAAEC,mBAAmB,EAArB,CAAb,CATnB;AAWC,IAAA,4BAA4B,EAAG;AAXhC,KAYMQ,UAZN,EAfD,CADD;AAgCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ReadMore( {\n\tattributes: { content, linkTarget },\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\ttagName=\"a\"\n\t\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\t\tplaceholder={ __( 'Read more' ) }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\tsetAttributes( { content: newValue } )\n\t\t\t\t}\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t\twithoutInteractiveFormatting={ true }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/read-more/edit.js"],"names":["InspectorControls","RichText","useBlockProps","ToggleControl","PanelBody","createBlock","getDefaultBlockName","__","ReadMore","attributes","content","linkTarget","setAttributes","insertBlocksAfter","blockProps","value","newValue"],"mappings":";;;AAAA;AACA;AACA;AACA,SACCA,iBADD,EAECC,QAFD,EAGCC,aAHD,QAIO,yBAJP;AAKA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,uBAAzC;AACA,SAASC,WAAT,EAAsBC,mBAAtB,QAAiD,mBAAjD;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,eAAe,SAASC,QAAT,OAIX;AAAA,MAJ8B;AACjCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,OAAF;AAAWC,MAAAA;AAAX,KADqB;AAEjCC,IAAAA,aAFiC;AAGjCC,IAAAA;AAHiC,GAI9B;AACH,QAAMC,UAAU,GAAGZ,aAAa,EAAhC;AACA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGK,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,iBAAF,CAFX;AAGC,IAAA,QAAQ,EAAKQ,KAAF,IACVH,aAAa,CAAE;AACdD,MAAAA,UAAU,EAAEI,KAAK,GAAG,QAAH,GAAc;AADjB,KAAF,CAJf;AAQC,IAAA,OAAO,EAAGJ,UAAU,KAAK;AAR1B,IADD,CADD,CADD,EAeC,cAAC,QAAD;AACC,IAAA,OAAO,EAAC,GADT;AAEC,kBAAaJ,EAAE,CAAE,uBAAF,CAFhB;AAGC,IAAA,WAAW,EAAGA,EAAE,CAAE,WAAF,CAHjB;AAIC,IAAA,KAAK,EAAGG,OAJT;AAKC,IAAA,QAAQ,EAAKM,QAAF,IACVJ,aAAa,CAAE;AAAEF,MAAAA,OAAO,EAAEM;AAAX,KAAF,CANf;AAQC,IAAA,sBAAsB,EAAG,MACxBH,iBAAiB,CAAER,WAAW,CAAEC,mBAAmB,EAArB,CAAb,CATnB;AAWC,IAAA,4BAA4B,EAAG;AAXhC,KAYMQ,UAZN,EAfD,CADD;AAgCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ReadMore( {\n\tattributes: { content, linkTarget },\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<RichText\n\t\t\t\ttagName=\"a\"\n\t\t\t\taria-label={ __( '“Read more” link text' ) }\n\t\t\t\tplaceholder={ __( 'Read more' ) }\n\t\t\t\tvalue={ content }\n\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\tsetAttributes( { content: newValue } )\n\t\t\t\t}\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t\twithoutInteractiveFormatting={ true }\n\t\t\t\t{ ...blockProps }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
@@ -82,7 +82,15 @@ export default function SearchEdit(_ref) {
82
82
 
83
83
  const colorProps = useColorProps(attributes);
84
84
  const fluidTypographySettings = useSetting('typography.fluid');
85
- const typographyProps = useTypographyProps(attributes, fluidTypographySettings);
85
+ const layout = useSetting('layout');
86
+ const typographyProps = useTypographyProps(attributes, {
87
+ typography: {
88
+ fluid: fluidTypographySettings
89
+ },
90
+ layout: {
91
+ wideSize: layout === null || layout === void 0 ? void 0 : layout.wideSize
92
+ }
93
+ });
86
94
  const unitControlInstanceId = useInstanceId(UnitControl);
87
95
  const unitControlInputId = `wp-block-search__width-${unitControlInstanceId}`;
88
96
  const isButtonPositionInside = 'button-inside' === buttonPosition;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSetting","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","typographyProps","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","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 } 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\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\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 typographyProps = useTypographyProps(\n\t\tattributes,\n\t\tfluidTypographySettings\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\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\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/>\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\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>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\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\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = 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 || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/search/edit.js"],"names":["classnames","useBlockProps","BlockControls","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSetting","useDispatch","useSelect","useEffect","ToolbarDropdownMenu","ToolbarGroup","Button","ButtonGroup","ToolbarButton","ResizableBox","PanelBody","BaseControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","useInstanceId","Icon","search","__","__unstableStripHTML","stripHTML","buttonOnly","buttonOutside","buttonInside","noButton","buttonWithIcon","toggleLabel","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","MIN_WIDTH_UNIT","DEFAULT_INNER_PADDING","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","style","insertedInNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","role","title","isActive","icon","onClick","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","event","target","value","renderButton","buttonClasses","buttonStyles","html","controls","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 } 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\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\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\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\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/>\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\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>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\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\t`${ widthValue }%` ===\n\t\t\t\t\t\t\t\t\t\t\t`${ width }${ widthUnit }`\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = 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 || isButtonPositionOutside ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasOnlyButton && renderButton() }\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"]}
@@ -95,7 +95,7 @@ export default function SiteTitleEdit(_ref) {
95
95
  });
96
96
  }
97
97
  })), createElement(InspectorControls, null, createElement(PanelBody, {
98
- title: __('Link settings')
98
+ title: __('Settings')
99
99
  }, createElement(ToggleControl, {
100
100
  __nextHasNoMarginBottom: true,
101
101
  label: __('Make title link to home'),