@wordpress/block-library 8.18.1-next.5a1d1283.0 → 8.19.1

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 (386) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/README.md +1 -1
  3. package/build/block/edit.js +53 -2
  4. package/build/block/edit.js.map +1 -1
  5. package/build/button/edit.js +7 -4
  6. package/build/button/edit.js.map +1 -1
  7. package/build/button/index.js +11 -2
  8. package/build/button/index.js.map +1 -1
  9. package/build/button/save.js +10 -4
  10. package/build/button/save.js.map +1 -1
  11. package/build/buttons/edit.js +12 -3
  12. package/build/buttons/edit.js.map +1 -1
  13. package/build/code/edit.js +8 -2
  14. package/build/code/edit.js.map +1 -1
  15. package/build/code/index.js +7 -1
  16. package/build/code/index.js.map +1 -1
  17. package/build/column/index.js +1 -0
  18. package/build/column/index.js.map +1 -1
  19. package/build/columns/index.js +2 -0
  20. package/build/columns/index.js.map +1 -1
  21. package/build/file/edit.native.js +1 -1
  22. package/build/file/edit.native.js.map +1 -1
  23. package/build/file/index.js +2 -1
  24. package/build/file/index.js.map +1 -1
  25. package/build/file/utils/index.js +1 -15
  26. package/build/file/utils/index.js.map +1 -1
  27. package/build/file/view.js +14 -1
  28. package/build/file/view.js.map +1 -1
  29. package/build/footnotes/edit.js +12 -2
  30. package/build/footnotes/edit.js.map +1 -1
  31. package/build/gallery/edit.js +1 -1
  32. package/build/gallery/edit.js.map +1 -1
  33. package/build/group/edit.js +0 -1
  34. package/build/group/edit.js.map +1 -1
  35. package/build/group/index.js +4 -0
  36. package/build/group/index.js.map +1 -1
  37. package/build/heading/edit.js +0 -1
  38. package/build/heading/edit.js.map +1 -1
  39. package/build/heading/index.js +2 -0
  40. package/build/heading/index.js.map +1 -1
  41. package/build/heading/transforms.js +3 -6
  42. package/build/heading/transforms.js.map +1 -1
  43. package/build/image/deprecated.js +191 -7
  44. package/build/image/deprecated.js.map +1 -1
  45. package/build/image/edit.js +27 -12
  46. package/build/image/edit.js.map +1 -1
  47. package/build/image/image.js +75 -40
  48. package/build/image/image.js.map +1 -1
  49. package/build/image/index.js +7 -4
  50. package/build/image/index.js.map +1 -1
  51. package/build/image/{view-interactivity.js → view.js} +1 -1
  52. package/build/image/view.js.map +1 -0
  53. package/build/list/deprecated.js +93 -1
  54. package/build/list/deprecated.js.map +1 -1
  55. package/build/list/edit.js +10 -10
  56. package/build/list/edit.js.map +1 -1
  57. package/build/list/ordered-list-settings.js +10 -10
  58. package/build/list/ordered-list-settings.js.map +1 -1
  59. package/build/list/save.js +4 -2
  60. package/build/list/save.js.map +1 -1
  61. package/build/list/utils.js +21 -2
  62. package/build/list/utils.js.map +1 -1
  63. package/build/navigation/constants.js +1 -1
  64. package/build/navigation/constants.js.map +1 -1
  65. package/build/navigation/index.js +4 -2
  66. package/build/navigation/index.js.map +1 -1
  67. package/build/navigation/view.js +168 -82
  68. package/build/navigation/view.js.map +1 -1
  69. package/build/navigation-link/edit.js +3 -9
  70. package/build/navigation-link/edit.js.map +1 -1
  71. package/build/navigation-link/transforms.js +24 -0
  72. package/build/navigation-link/transforms.js.map +1 -1
  73. package/build/page-list/edit.js +2 -1
  74. package/build/page-list/edit.js.map +1 -1
  75. package/build/pattern/edit.js +2 -0
  76. package/build/pattern/edit.js.map +1 -1
  77. package/build/post-comments-form/edit.js +10 -2
  78. package/build/post-comments-form/edit.js.map +1 -1
  79. package/build/post-comments-form/form.js +5 -3
  80. package/build/post-comments-form/form.js.map +1 -1
  81. package/build/post-content/edit.js +8 -7
  82. package/build/post-content/edit.js.map +1 -1
  83. package/build/post-content/index.js +3 -0
  84. package/build/post-content/index.js.map +1 -1
  85. package/build/post-featured-image/overlay.js +2 -1
  86. package/build/post-featured-image/overlay.js.map +1 -1
  87. package/build/preformatted/edit.js +4 -1
  88. package/build/preformatted/edit.js.map +1 -1
  89. package/build/preformatted/index.js +1 -1
  90. package/build/preformatted/index.js.map +1 -1
  91. package/build/pullquote/deprecated.js +6 -7
  92. package/build/pullquote/deprecated.js.map +1 -1
  93. package/build/query/edit/enhanced-pagination-modal.js +56 -0
  94. package/build/query/edit/enhanced-pagination-modal.js.map +1 -0
  95. package/build/query/edit/inspector-controls/enhanced-pagination-control.js +42 -0
  96. package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  97. package/build/query/edit/inspector-controls/index.js +8 -25
  98. package/build/query/edit/inspector-controls/index.js.map +1 -1
  99. package/build/query/edit/query-content.js +8 -2
  100. package/build/query/edit/query-content.js.map +1 -1
  101. package/build/query/utils.js +19 -0
  102. package/build/query/utils.js.map +1 -1
  103. package/build/query/view.js +21 -6
  104. package/build/query/view.js.map +1 -1
  105. package/build/search/index.js +1 -0
  106. package/build/search/index.js.map +1 -1
  107. package/build/search/view.js +81 -150
  108. package/build/search/view.js.map +1 -1
  109. package/build/social-link/edit.native.js +3 -1
  110. package/build/social-link/edit.native.js.map +1 -1
  111. package/build/table/edit.js +7 -7
  112. package/build/table/edit.js.map +1 -1
  113. package/build/table-of-contents/edit.js +2 -130
  114. package/build/table-of-contents/edit.js.map +1 -1
  115. package/build/table-of-contents/hooks.js +145 -0
  116. package/build/table-of-contents/hooks.js.map +1 -0
  117. package/build/table-of-contents/index.js +2 -1
  118. package/build/table-of-contents/index.js.map +1 -1
  119. package/build/verse/edit.js +4 -1
  120. package/build/verse/edit.js.map +1 -1
  121. package/build/verse/index.js +1 -1
  122. package/build/verse/index.js.map +1 -1
  123. package/build-module/block/edit.js +54 -3
  124. package/build-module/block/edit.js.map +1 -1
  125. package/build-module/button/edit.js +7 -4
  126. package/build-module/button/edit.js.map +1 -1
  127. package/build-module/button/index.js +11 -2
  128. package/build-module/button/index.js.map +1 -1
  129. package/build-module/button/save.js +10 -4
  130. package/build-module/button/save.js.map +1 -1
  131. package/build-module/buttons/edit.js +12 -3
  132. package/build-module/buttons/edit.js.map +1 -1
  133. package/build-module/code/edit.js +8 -2
  134. package/build-module/code/edit.js.map +1 -1
  135. package/build-module/code/index.js +7 -1
  136. package/build-module/code/index.js.map +1 -1
  137. package/build-module/column/index.js +1 -0
  138. package/build-module/column/index.js.map +1 -1
  139. package/build-module/columns/index.js +2 -0
  140. package/build-module/columns/index.js.map +1 -1
  141. package/build-module/file/edit.native.js +1 -1
  142. package/build-module/file/edit.native.js.map +1 -1
  143. package/build-module/file/index.js +2 -1
  144. package/build-module/file/index.js.map +1 -1
  145. package/build-module/file/utils/index.js +0 -13
  146. package/build-module/file/utils/index.js.map +1 -1
  147. package/build-module/file/view.js +14 -2
  148. package/build-module/file/view.js.map +1 -1
  149. package/build-module/footnotes/edit.js +12 -2
  150. package/build-module/footnotes/edit.js.map +1 -1
  151. package/build-module/gallery/edit.js +1 -1
  152. package/build-module/gallery/edit.js.map +1 -1
  153. package/build-module/group/edit.js +0 -1
  154. package/build-module/group/edit.js.map +1 -1
  155. package/build-module/group/index.js +4 -0
  156. package/build-module/group/index.js.map +1 -1
  157. package/build-module/heading/edit.js +0 -1
  158. package/build-module/heading/edit.js.map +1 -1
  159. package/build-module/heading/index.js +2 -0
  160. package/build-module/heading/index.js.map +1 -1
  161. package/build-module/heading/transforms.js +3 -6
  162. package/build-module/heading/transforms.js.map +1 -1
  163. package/build-module/image/deprecated.js +191 -7
  164. package/build-module/image/deprecated.js.map +1 -1
  165. package/build-module/image/edit.js +27 -12
  166. package/build-module/image/edit.js.map +1 -1
  167. package/build-module/image/image.js +77 -42
  168. package/build-module/image/image.js.map +1 -1
  169. package/build-module/image/index.js +7 -4
  170. package/build-module/image/index.js.map +1 -1
  171. package/build-module/image/{view-interactivity.js → view.js} +1 -1
  172. package/build-module/image/view.js.map +1 -0
  173. package/build-module/list/deprecated.js +95 -3
  174. package/build-module/list/deprecated.js.map +1 -1
  175. package/build-module/list/edit.js +10 -10
  176. package/build-module/list/edit.js.map +1 -1
  177. package/build-module/list/ordered-list-settings.js +10 -10
  178. package/build-module/list/ordered-list-settings.js.map +1 -1
  179. package/build-module/list/save.js +4 -2
  180. package/build-module/list/save.js.map +1 -1
  181. package/build-module/list/utils.js +20 -2
  182. package/build-module/list/utils.js.map +1 -1
  183. package/build-module/navigation/constants.js +1 -1
  184. package/build-module/navigation/constants.js.map +1 -1
  185. package/build-module/navigation/index.js +4 -2
  186. package/build-module/navigation/index.js.map +1 -1
  187. package/build-module/navigation/view.js +168 -83
  188. package/build-module/navigation/view.js.map +1 -1
  189. package/build-module/navigation-link/edit.js +3 -9
  190. package/build-module/navigation-link/edit.js.map +1 -1
  191. package/build-module/navigation-link/transforms.js +24 -0
  192. package/build-module/navigation-link/transforms.js.map +1 -1
  193. package/build-module/page-list/edit.js +2 -1
  194. package/build-module/page-list/edit.js.map +1 -1
  195. package/build-module/pattern/edit.js +2 -0
  196. package/build-module/pattern/edit.js.map +1 -1
  197. package/build-module/post-comments-form/edit.js +10 -2
  198. package/build-module/post-comments-form/edit.js.map +1 -1
  199. package/build-module/post-comments-form/form.js +5 -3
  200. package/build-module/post-comments-form/form.js.map +1 -1
  201. package/build-module/post-content/edit.js +8 -7
  202. package/build-module/post-content/edit.js.map +1 -1
  203. package/build-module/post-content/index.js +3 -0
  204. package/build-module/post-content/index.js.map +1 -1
  205. package/build-module/post-featured-image/overlay.js +2 -1
  206. package/build-module/post-featured-image/overlay.js.map +1 -1
  207. package/build-module/preformatted/edit.js +4 -1
  208. package/build-module/preformatted/edit.js.map +1 -1
  209. package/build-module/preformatted/index.js +1 -1
  210. package/build-module/preformatted/index.js.map +1 -1
  211. package/build-module/pullquote/deprecated.js +6 -7
  212. package/build-module/pullquote/deprecated.js.map +1 -1
  213. package/build-module/query/edit/enhanced-pagination-modal.js +50 -0
  214. package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -0
  215. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +35 -0
  216. package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -0
  217. package/build-module/query/edit/inspector-controls/index.js +9 -26
  218. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  219. package/build-module/query/edit/query-content.js +8 -2
  220. package/build-module/query/edit/query-content.js.map +1 -1
  221. package/build-module/query/utils.js +17 -0
  222. package/build-module/query/utils.js.map +1 -1
  223. package/build-module/query/view.js +21 -6
  224. package/build-module/query/view.js.map +1 -1
  225. package/build-module/search/index.js +1 -0
  226. package/build-module/search/index.js.map +1 -1
  227. package/build-module/search/view.js +81 -151
  228. package/build-module/search/view.js.map +1 -1
  229. package/build-module/social-link/edit.native.js +3 -1
  230. package/build-module/social-link/edit.native.js.map +1 -1
  231. package/build-module/table/edit.js +7 -7
  232. package/build-module/table/edit.js.map +1 -1
  233. package/build-module/table-of-contents/edit.js +3 -131
  234. package/build-module/table-of-contents/edit.js.map +1 -1
  235. package/build-module/table-of-contents/hooks.js +137 -0
  236. package/build-module/table-of-contents/hooks.js.map +1 -0
  237. package/build-module/table-of-contents/index.js +2 -1
  238. package/build-module/table-of-contents/index.js.map +1 -1
  239. package/build-module/verse/edit.js +4 -1
  240. package/build-module/verse/edit.js.map +1 -1
  241. package/build-module/verse/index.js +1 -1
  242. package/build-module/verse/index.js.map +1 -1
  243. package/build-style/cover/style-rtl.css +9 -0
  244. package/build-style/cover/style.css +9 -0
  245. package/build-style/editor-rtl.css +15 -9
  246. package/build-style/editor.css +15 -9
  247. package/build-style/file/style-rtl.css +5 -0
  248. package/build-style/file/style.css +5 -0
  249. package/build-style/heading/style-rtl.css +13 -0
  250. package/build-style/heading/style.css +13 -0
  251. package/build-style/navigation-link/editor-rtl.css +0 -9
  252. package/build-style/navigation-link/editor.css +0 -9
  253. package/build-style/paragraph/editor-rtl.css +5 -0
  254. package/build-style/paragraph/editor.css +5 -0
  255. package/build-style/paragraph/style-rtl.css +5 -0
  256. package/build-style/paragraph/style.css +5 -0
  257. package/build-style/post-navigation-link/style-rtl.css +3 -0
  258. package/build-style/post-navigation-link/style.css +3 -0
  259. package/build-style/query/editor-rtl.css +10 -0
  260. package/build-style/query/editor.css +10 -0
  261. package/build-style/query/style-rtl.css +1 -1
  262. package/build-style/query/style.css +1 -1
  263. package/build-style/reset-rtl.css +27 -27
  264. package/build-style/reset.css +27 -27
  265. package/build-style/style-rtl.css +35 -0
  266. package/build-style/style.css +35 -0
  267. package/package.json +33 -34
  268. package/src/audio/test/__snapshots__/edit.native.js.snap +78 -106
  269. package/src/avatar/index.php +2 -2
  270. package/src/block/edit.js +58 -2
  271. package/src/block/test/edit.native.js +2 -3
  272. package/src/button/block.json +11 -2
  273. package/src/button/edit.js +27 -11
  274. package/src/button/save.js +10 -4
  275. package/src/buttons/edit.js +13 -3
  276. package/src/buttons/test/edit.native.js +28 -24
  277. package/src/calendar/index.php +2 -2
  278. package/src/code/block.json +2 -1
  279. package/src/code/edit.js +13 -1
  280. package/src/code/index.js +5 -0
  281. package/src/column/block.json +1 -0
  282. package/src/columns/block.json +2 -0
  283. package/src/comment-template/index.php +1 -1
  284. package/src/comments-pagination-next/index.php +1 -1
  285. package/src/comments-pagination-previous/index.php +1 -1
  286. package/src/cover/style.scss +12 -1
  287. package/src/cover/test/edit.js +10 -10
  288. package/src/cover/test/edit.native.js +18 -27
  289. package/src/embed/test/index.native.js +30 -45
  290. package/src/file/block.json +2 -1
  291. package/src/file/edit.native.js +1 -1
  292. package/src/file/index.php +21 -21
  293. package/src/file/style.scss +6 -1
  294. package/src/file/test/__snapshots__/edit.native.js.snap +162 -218
  295. package/src/file/utils/index.js +0 -15
  296. package/src/file/view.js +14 -5
  297. package/src/footnotes/edit.js +13 -1
  298. package/src/gallery/edit.js +1 -1
  299. package/src/gallery/index.php +1 -1
  300. package/src/group/block.json +4 -0
  301. package/src/group/edit.js +0 -1
  302. package/src/heading/block.json +2 -0
  303. package/src/heading/edit.js +0 -1
  304. package/src/heading/style.scss +4 -0
  305. package/src/heading/transforms.js +1 -6
  306. package/src/image/block.json +7 -4
  307. package/src/image/deprecated.js +210 -7
  308. package/src/image/edit.js +43 -29
  309. package/src/image/image.js +86 -43
  310. package/src/image/index.php +253 -28
  311. package/src/latest-posts/index.php +1 -1
  312. package/src/list/deprecated.js +84 -3
  313. package/src/list/edit.js +6 -3
  314. package/src/list/ordered-list-settings.js +20 -5
  315. package/src/list/save.js +10 -1
  316. package/src/list/test/edit.native.js +2 -4
  317. package/src/list/utils.js +22 -1
  318. package/src/navigation/block.json +4 -2
  319. package/src/navigation/constants.js +1 -0
  320. package/src/navigation/index.php +87 -123
  321. package/src/navigation/view.js +192 -96
  322. package/src/navigation-link/edit.js +21 -36
  323. package/src/navigation-link/editor.scss +0 -8
  324. package/src/navigation-link/transforms.js +22 -0
  325. package/src/page-list/edit.js +2 -1
  326. package/src/paragraph/editor.scss +5 -0
  327. package/src/paragraph/style.scss +5 -0
  328. package/src/pattern/edit.js +1 -0
  329. package/src/pattern/index.php +5 -5
  330. package/src/post-comments-form/edit.js +10 -0
  331. package/src/post-comments-form/form.js +7 -1
  332. package/src/post-content/block.json +3 -0
  333. package/src/post-content/edit.js +14 -6
  334. package/src/post-excerpt/index.php +2 -2
  335. package/src/post-featured-image/index.php +2 -2
  336. package/src/post-featured-image/overlay.js +1 -0
  337. package/src/post-navigation-link/index.php +0 -5
  338. package/src/post-navigation-link/style.scss +4 -0
  339. package/src/post-template/index.php +1 -1
  340. package/src/post-terms/index.php +5 -2
  341. package/src/preformatted/edit.js +5 -0
  342. package/src/preformatted/index.js +1 -1
  343. package/src/pullquote/deprecated.js +8 -13
  344. package/src/query/edit/enhanced-pagination-modal.js +65 -0
  345. package/src/query/edit/inspector-controls/enhanced-pagination-control.js +49 -0
  346. package/src/query/edit/inspector-controls/index.js +9 -45
  347. package/src/query/edit/query-content.js +8 -0
  348. package/src/query/editor.scss +10 -0
  349. package/src/query/index.php +31 -16
  350. package/src/query/style.scss +2 -2
  351. package/src/query/utils.js +22 -0
  352. package/src/query/view.js +19 -10
  353. package/src/query-pagination-next/index.php +2 -1
  354. package/src/query-pagination-previous/index.php +2 -1
  355. package/src/reset.scss +1 -1
  356. package/src/search/block.json +1 -0
  357. package/src/search/index.php +47 -4
  358. package/src/search/test/__snapshots__/edit.native.js.snap +265 -363
  359. package/src/search/view.js +70 -169
  360. package/src/social-link/edit.native.js +1 -1
  361. package/src/social-link/editor.native.scss +4 -0
  362. package/src/table/edit.js +21 -19
  363. package/src/table-of-contents/block.json +2 -1
  364. package/src/table-of-contents/edit.js +5 -162
  365. package/src/table-of-contents/hooks.js +156 -0
  366. package/src/verse/edit.js +5 -0
  367. package/src/verse/index.js +1 -1
  368. package/src/verse/test/edit.native.js +2 -3
  369. package/build/file/view-interactivity.js +0 -22
  370. package/build/file/view-interactivity.js.map +0 -1
  371. package/build/image/view-interactivity.js.map +0 -1
  372. package/build/navigation/view-interactivity.js +0 -172
  373. package/build/navigation/view-interactivity.js.map +0 -1
  374. package/build/navigation/view-modal.js +0 -115
  375. package/build/navigation/view-modal.js.map +0 -1
  376. package/build-module/file/view-interactivity.js +0 -18
  377. package/build-module/file/view-interactivity.js.map +0 -1
  378. package/build-module/image/view-interactivity.js.map +0 -1
  379. package/build-module/navigation/view-interactivity.js +0 -169
  380. package/build-module/navigation/view-interactivity.js.map +0 -1
  381. package/build-module/navigation/view-modal.js +0 -112
  382. package/build-module/navigation/view-modal.js.map +0 -1
  383. package/src/file/view-interactivity.js +0 -18
  384. package/src/navigation/view-interactivity.js +0 -196
  385. package/src/navigation/view-modal.js +0 -127
  386. /package/src/image/{view-interactivity.js → view.js} +0 -0
@@ -897,6 +897,15 @@
897
897
  .wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
898
898
  .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
899
899
  margin: 0;
900
+ }
901
+ .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,
902
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,
903
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,
904
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,
905
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,
906
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,
907
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container {
908
+ margin: 0;
900
909
  width: auto;
901
910
  }
902
911
  .wp-block-cover-image .wp-block-cover__image-background,
@@ -1127,6 +1136,11 @@ section.wp-block-cover-image > h2,
1127
1136
  margin-bottom: 1em;
1128
1137
  }
1129
1138
 
1139
+ @media (max-width: 768px) {
1140
+ .wp-block-file__embed {
1141
+ display: none;
1142
+ }
1143
+ }
1130
1144
  :where(.wp-block-file__button) {
1131
1145
  border-radius: 2em;
1132
1146
  padding: 0.5em 1em;
@@ -1471,6 +1485,19 @@ h5.has-background,
1471
1485
  h6.has-background {
1472
1486
  padding: 1.25em 2.375em;
1473
1487
  }
1488
+ h1.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]), h1.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1489
+ h2.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1490
+ h2.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1491
+ h3.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1492
+ h3.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1493
+ h4.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1494
+ h4.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1495
+ h5.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1496
+ h5.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1497
+ h6.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1498
+ h6.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]) {
1499
+ rotate: 180deg;
1500
+ }
1474
1501
 
1475
1502
  .wp-block-image img {
1476
1503
  height: auto;
@@ -2603,6 +2630,11 @@ p.has-background {
2603
2630
  color: inherit;
2604
2631
  }
2605
2632
 
2633
+ p.has-text-align-right[style*="writing-mode:vertical-rl"],
2634
+ p.has-text-align-left[style*="writing-mode:vertical-lr"] {
2635
+ rotate: 180deg;
2636
+ }
2637
+
2606
2638
  .wp-block-post-author {
2607
2639
  display: flex;
2608
2640
  flex-wrap: wrap;
@@ -2794,6 +2826,9 @@ p.has-background {
2794
2826
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron) {
2795
2827
  transform: scaleX(-1);;
2796
2828
  }
2829
+ .wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"], .wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"] {
2830
+ rotate: 180deg;
2831
+ }
2797
2832
 
2798
2833
  .wp-block-post-terms {
2799
2834
  box-sizing: border-box;
@@ -904,6 +904,15 @@
904
904
  .wp-block-cover-image.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container,
905
905
  .wp-block-cover.has-custom-content-position.has-custom-content-position .wp-block-cover__inner-container {
906
906
  margin: 0;
907
+ }
908
+ .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container, .wp-block-cover-image.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container,
909
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-left .wp-block-cover__inner-container,
910
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-top-right .wp-block-cover__inner-container,
911
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-left .wp-block-cover__inner-container,
912
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-center-right .wp-block-cover__inner-container,
913
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-left .wp-block-cover__inner-container,
914
+ .wp-block-cover.has-custom-content-position.has-custom-content-position.is-position-bottom-right .wp-block-cover__inner-container {
915
+ margin: 0;
907
916
  width: auto;
908
917
  }
909
918
  .wp-block-cover-image .wp-block-cover__image-background,
@@ -1135,6 +1144,11 @@ section.wp-block-cover-image > h2,
1135
1144
  margin-bottom: 1em;
1136
1145
  }
1137
1146
 
1147
+ @media (max-width: 768px) {
1148
+ .wp-block-file__embed {
1149
+ display: none;
1150
+ }
1151
+ }
1138
1152
  :where(.wp-block-file__button) {
1139
1153
  border-radius: 2em;
1140
1154
  padding: 0.5em 1em;
@@ -1479,6 +1493,19 @@ h5.has-background,
1479
1493
  h6.has-background {
1480
1494
  padding: 1.25em 2.375em;
1481
1495
  }
1496
+ h1.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]), h1.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1497
+ h2.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1498
+ h2.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1499
+ h3.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1500
+ h3.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1501
+ h4.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1502
+ h4.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1503
+ h5.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1504
+ h5.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]),
1505
+ h6.has-text-align-right[style*=writing-mode]:where([style*="vertical-rl"]),
1506
+ h6.has-text-align-left[style*=writing-mode]:where([style*="vertical-lr"]) {
1507
+ rotate: 180deg;
1508
+ }
1482
1509
 
1483
1510
  .wp-block-image img {
1484
1511
  height: auto;
@@ -2633,6 +2660,11 @@ p.has-background {
2633
2660
  color: inherit;
2634
2661
  }
2635
2662
 
2663
+ p.has-text-align-right[style*="writing-mode:vertical-rl"],
2664
+ p.has-text-align-left[style*="writing-mode:vertical-lr"] {
2665
+ rotate: 180deg;
2666
+ }
2667
+
2636
2668
  .wp-block-post-author {
2637
2669
  display: flex;
2638
2670
  flex-wrap: wrap;
@@ -2824,6 +2856,9 @@ p.has-background {
2824
2856
  .wp-block-post-navigation-link .wp-block-post-navigation-link__arrow-next:not(.is-arrow-chevron) {
2825
2857
  transform: scaleX(1) /*rtl:scaleX(-1);*/;
2826
2858
  }
2859
+ .wp-block-post-navigation-link.has-text-align-right[style*="writing-mode: vertical-rl"], .wp-block-post-navigation-link.has-text-align-left[style*="writing-mode: vertical-lr"] {
2860
+ rotate: 180deg;
2861
+ }
2827
2862
 
2828
2863
  .wp-block-post-terms {
2829
2864
  box-sizing: border-box;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/block-library",
3
- "version": "8.18.1-next.5a1d1283.0",
3
+ "version": "8.19.1",
4
4
  "description": "Block library for the WordPress editor.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -31,36 +31,36 @@
31
31
  ],
32
32
  "dependencies": {
33
33
  "@babel/runtime": "^7.16.0",
34
- "@wordpress/a11y": "^3.41.1-next.5a1d1283.0",
35
- "@wordpress/api-fetch": "^6.38.1-next.5a1d1283.0",
36
- "@wordpress/autop": "^3.41.1-next.5a1d1283.0",
37
- "@wordpress/blob": "^3.41.1-next.5a1d1283.0",
38
- "@wordpress/block-editor": "^12.9.1-next.5a1d1283.0",
39
- "@wordpress/blocks": "^12.18.1-next.5a1d1283.0",
40
- "@wordpress/components": "^26.0.1-next.5a1d1283.0",
41
- "@wordpress/compose": "^6.18.1-next.5a1d1283.0",
42
- "@wordpress/core-data": "^6.18.1-next.5a1d1283.0",
43
- "@wordpress/data": "^9.11.1-next.5a1d1283.0",
44
- "@wordpress/date": "^4.41.1-next.5a1d1283.0",
45
- "@wordpress/deprecated": "^3.41.1-next.5a1d1283.0",
46
- "@wordpress/dom": "^3.41.1-next.5a1d1283.0",
47
- "@wordpress/element": "^5.18.1-next.5a1d1283.0",
48
- "@wordpress/escape-html": "^2.41.1-next.5a1d1283.0",
49
- "@wordpress/hooks": "^3.41.1-next.5a1d1283.0",
50
- "@wordpress/html-entities": "^3.41.1-next.5a1d1283.0",
51
- "@wordpress/i18n": "^4.41.1-next.5a1d1283.0",
52
- "@wordpress/icons": "^9.32.1-next.5a1d1283.0",
53
- "@wordpress/interactivity": "^2.2.1-next.5a1d1283.0",
54
- "@wordpress/keycodes": "^3.41.1-next.5a1d1283.0",
55
- "@wordpress/notices": "^4.9.1-next.5a1d1283.0",
56
- "@wordpress/primitives": "^3.39.1-next.5a1d1283.0",
57
- "@wordpress/private-apis": "^0.23.1-next.5a1d1283.0",
58
- "@wordpress/reusable-blocks": "^4.18.1-next.5a1d1283.0",
59
- "@wordpress/rich-text": "^6.18.1-next.5a1d1283.0",
60
- "@wordpress/server-side-render": "^4.18.1-next.5a1d1283.0",
61
- "@wordpress/url": "^3.42.1-next.5a1d1283.0",
62
- "@wordpress/viewport": "^5.18.1-next.5a1d1283.0",
63
- "@wordpress/wordcount": "^3.41.1-next.5a1d1283.0",
34
+ "@wordpress/a11y": "^3.42.1",
35
+ "@wordpress/api-fetch": "^6.39.1",
36
+ "@wordpress/autop": "^3.42.1",
37
+ "@wordpress/blob": "^3.42.1",
38
+ "@wordpress/block-editor": "^12.10.1",
39
+ "@wordpress/blocks": "^12.19.1",
40
+ "@wordpress/components": "^25.8.1",
41
+ "@wordpress/compose": "^6.19.1",
42
+ "@wordpress/core-data": "^6.19.1",
43
+ "@wordpress/data": "^9.12.1",
44
+ "@wordpress/date": "^4.42.1",
45
+ "@wordpress/deprecated": "^3.42.1",
46
+ "@wordpress/dom": "^3.42.1",
47
+ "@wordpress/element": "^5.19.1",
48
+ "@wordpress/escape-html": "^2.42.1",
49
+ "@wordpress/hooks": "^3.42.1",
50
+ "@wordpress/html-entities": "^3.42.1",
51
+ "@wordpress/i18n": "^4.42.1",
52
+ "@wordpress/icons": "^9.33.1",
53
+ "@wordpress/interactivity": "^2.3.1",
54
+ "@wordpress/keycodes": "^3.42.1",
55
+ "@wordpress/notices": "^4.10.1",
56
+ "@wordpress/primitives": "^3.40.1",
57
+ "@wordpress/private-apis": "^0.24.1",
58
+ "@wordpress/reusable-blocks": "^4.19.1",
59
+ "@wordpress/rich-text": "^6.19.1",
60
+ "@wordpress/server-side-render": "^4.19.1",
61
+ "@wordpress/url": "^3.43.1",
62
+ "@wordpress/viewport": "^5.19.1",
63
+ "@wordpress/wordcount": "^3.42.1",
64
64
  "change-case": "^4.1.2",
65
65
  "classnames": "^2.3.1",
66
66
  "colord": "^2.7.0",
@@ -68,9 +68,8 @@
68
68
  "fast-average-color": "^9.1.1",
69
69
  "fast-deep-equal": "^3.1.3",
70
70
  "memize": "^2.1.0",
71
- "micromodal": "^0.4.10",
72
71
  "remove-accents": "^0.5.0",
73
- "uuid": "^8.3.0"
72
+ "uuid": "^9.0.1"
74
73
  },
75
74
  "peerDependencies": {
76
75
  "react": "^18.0.0",
@@ -79,5 +78,5 @@
79
78
  "publishConfig": {
80
79
  "access": "public"
81
80
  },
82
- "gitHead": "fa0b66987dab5a15f38663e06036d09bccffaa4b"
81
+ "gitHead": "4987d16acb5c41b62704dc4f88225acb97ddd698"
83
82
  }
@@ -133,7 +133,7 @@ exports[`Audio block renders audio block error state without crashing 1`] = `
133
133
  ]
134
134
  }
135
135
  >
136
- <View
136
+ <RCTAztecView
137
137
  accessibilityState={
138
138
  {
139
139
  "busy": undefined,
@@ -143,73 +143,59 @@ exports[`Audio block renders audio block error state without crashing 1`] = `
143
143
  "selected": undefined,
144
144
  }
145
145
  }
146
- accessibilityValue={
146
+ accessible={true}
147
+ activeFormats={[]}
148
+ blockType={
147
149
  {
148
- "max": undefined,
149
- "min": undefined,
150
- "now": undefined,
151
- "text": undefined,
150
+ "tag": "p",
152
151
  }
153
152
  }
154
- accessible={false}
155
- collapsable={false}
153
+ deleteEnter={true}
154
+ disableEditingMenu={false}
156
155
  focusable={true}
156
+ fontFamily="serif"
157
+ fontSize={14}
158
+ isMultiline={false}
159
+ maxImagesWidth={200}
160
+ onBackspace={[Function]}
157
161
  onBlur={[Function]}
162
+ onChange={[Function]}
158
163
  onClick={[Function]}
164
+ onContentSizeChange={[Function]}
165
+ onEnter={[Function]}
159
166
  onFocus={[Function]}
167
+ onHTMLContentWithCursor={[Function]}
168
+ onKeyDown={[Function]}
169
+ onPaste={[Function]}
160
170
  onResponderGrant={[Function]}
161
171
  onResponderMove={[Function]}
162
172
  onResponderRelease={[Function]}
163
173
  onResponderTerminate={[Function]}
164
174
  onResponderTerminationRequest={[Function]}
175
+ onSelectionChange={[Function]}
165
176
  onStartShouldSetResponder={[Function]}
166
- >
167
- <RCTAztecView
168
- activeFormats={[]}
169
- blockType={
170
- {
171
- "tag": "p",
172
- }
173
- }
174
- deleteEnter={true}
175
- disableEditingMenu={false}
176
- fontFamily="serif"
177
- fontSize={14}
178
- isMultiline={false}
179
- maxImagesWidth={200}
180
- onBackspace={[Function]}
181
- onBlur={[Function]}
182
- onChange={[Function]}
183
- onContentSizeChange={[Function]}
184
- onEnter={[Function]}
185
- onFocus={[Function]}
186
- onHTMLContentWithCursor={[Function]}
187
- onKeyDown={[Function]}
188
- onPaste={[Function]}
189
- onSelectionChange={[Function]}
190
- placeholder="Add caption"
191
- placeholderTextColor="gray"
192
- selectionColor="black"
193
- style={
194
- {
195
- "backgroundColor": undefined,
196
- "maxWidth": undefined,
197
- "minHeight": 0,
198
- }
177
+ placeholder="Add caption"
178
+ placeholderTextColor="gray"
179
+ selectionColor="black"
180
+ style={
181
+ {
182
+ "backgroundColor": undefined,
183
+ "maxWidth": undefined,
184
+ "minHeight": 0,
199
185
  }
200
- text={
201
- {
202
- "eventCount": undefined,
203
- "linkTextColor": undefined,
204
- "selection": null,
205
- "tag": "p",
206
- "text": "",
207
- }
186
+ }
187
+ text={
188
+ {
189
+ "eventCount": undefined,
190
+ "linkTextColor": undefined,
191
+ "selection": null,
192
+ "tag": "p",
193
+ "text": "",
208
194
  }
209
- textAlign="center"
210
- triggerKeyCodes={[]}
211
- />
212
- </View>
195
+ }
196
+ textAlign="center"
197
+ triggerKeyCodes={[]}
198
+ />
213
199
  </View>
214
200
  </View>
215
201
  </View>
@@ -373,7 +359,7 @@ exports[`Audio block renders audio file without crashing 1`] = `
373
359
  ]
374
360
  }
375
361
  >
376
- <View
362
+ <RCTAztecView
377
363
  accessibilityState={
378
364
  {
379
365
  "busy": undefined,
@@ -383,73 +369,59 @@ exports[`Audio block renders audio file without crashing 1`] = `
383
369
  "selected": undefined,
384
370
  }
385
371
  }
386
- accessibilityValue={
372
+ accessible={true}
373
+ activeFormats={[]}
374
+ blockType={
387
375
  {
388
- "max": undefined,
389
- "min": undefined,
390
- "now": undefined,
391
- "text": undefined,
376
+ "tag": "p",
392
377
  }
393
378
  }
394
- accessible={false}
395
- collapsable={false}
379
+ deleteEnter={true}
380
+ disableEditingMenu={false}
396
381
  focusable={true}
382
+ fontFamily="serif"
383
+ fontSize={14}
384
+ isMultiline={false}
385
+ maxImagesWidth={200}
386
+ onBackspace={[Function]}
397
387
  onBlur={[Function]}
388
+ onChange={[Function]}
398
389
  onClick={[Function]}
390
+ onContentSizeChange={[Function]}
391
+ onEnter={[Function]}
399
392
  onFocus={[Function]}
393
+ onHTMLContentWithCursor={[Function]}
394
+ onKeyDown={[Function]}
395
+ onPaste={[Function]}
400
396
  onResponderGrant={[Function]}
401
397
  onResponderMove={[Function]}
402
398
  onResponderRelease={[Function]}
403
399
  onResponderTerminate={[Function]}
404
400
  onResponderTerminationRequest={[Function]}
401
+ onSelectionChange={[Function]}
405
402
  onStartShouldSetResponder={[Function]}
406
- >
407
- <RCTAztecView
408
- activeFormats={[]}
409
- blockType={
410
- {
411
- "tag": "p",
412
- }
413
- }
414
- deleteEnter={true}
415
- disableEditingMenu={false}
416
- fontFamily="serif"
417
- fontSize={14}
418
- isMultiline={false}
419
- maxImagesWidth={200}
420
- onBackspace={[Function]}
421
- onBlur={[Function]}
422
- onChange={[Function]}
423
- onContentSizeChange={[Function]}
424
- onEnter={[Function]}
425
- onFocus={[Function]}
426
- onHTMLContentWithCursor={[Function]}
427
- onKeyDown={[Function]}
428
- onPaste={[Function]}
429
- onSelectionChange={[Function]}
430
- placeholder="Add caption"
431
- placeholderTextColor="gray"
432
- selectionColor="black"
433
- style={
434
- {
435
- "backgroundColor": undefined,
436
- "maxWidth": undefined,
437
- "minHeight": 0,
438
- }
403
+ placeholder="Add caption"
404
+ placeholderTextColor="gray"
405
+ selectionColor="black"
406
+ style={
407
+ {
408
+ "backgroundColor": undefined,
409
+ "maxWidth": undefined,
410
+ "minHeight": 0,
439
411
  }
440
- text={
441
- {
442
- "eventCount": undefined,
443
- "linkTextColor": undefined,
444
- "selection": null,
445
- "tag": "p",
446
- "text": "",
447
- }
412
+ }
413
+ text={
414
+ {
415
+ "eventCount": undefined,
416
+ "linkTextColor": undefined,
417
+ "selection": null,
418
+ "tag": "p",
419
+ "text": "",
448
420
  }
449
- textAlign="center"
450
- triggerKeyCodes={[]}
451
- />
452
- </View>
421
+ }
422
+ textAlign="center"
423
+ triggerKeyCodes={[]}
424
+ />
453
425
  </View>
454
426
  </View>
455
427
  </View>
@@ -112,12 +112,12 @@ function get_block_core_avatar_border_attributes( $attributes ) {
112
112
 
113
113
  // Border color.
114
114
  $preset_color = array_key_exists( 'borderColor', $attributes ) ? "var:preset|color|{$attributes['borderColor']}" : null;
115
- $custom_color = _wp_array_get( $attributes, array( 'style', 'border', 'color' ), null );
115
+ $custom_color = $attributes['style']['border']['color'] ?? null;
116
116
  $border_styles['color'] = $preset_color ? $preset_color : $custom_color;
117
117
 
118
118
  // Individual border styles e.g. top, left etc.
119
119
  foreach ( $sides as $side ) {
120
- $border = _wp_array_get( $attributes, array( 'style', 'border', $side ), null );
120
+ $border = $attributes['style']['border'][ $side ] ?? null;
121
121
  $border_styles[ $side ] = array(
122
122
  'color' => isset( $border['color'] ) ? $border['color'] : null,
123
123
  'style' => isset( $border['style'] ) ? $border['style'] : null,
package/src/block/edit.js CHANGED
@@ -1,3 +1,8 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
1
6
  /**
2
7
  * WordPress dependencies
3
8
  */
@@ -21,9 +26,52 @@ import {
21
26
  InspectorControls,
22
27
  useBlockProps,
23
28
  Warning,
29
+ privateApis as blockEditorPrivateApis,
24
30
  } from '@wordpress/block-editor';
31
+ import { useRef, useMemo } from '@wordpress/element';
32
+
33
+ /**
34
+ * Internal dependencies
35
+ */
36
+ import { unlock } from '../lock-unlock';
37
+
38
+ const fullAlignments = [ 'full', 'wide', 'left', 'right' ];
39
+
40
+ const useInferredLayout = ( blocks, parentLayout ) => {
41
+ const initialInferredAlignmentRef = useRef();
25
42
 
26
- export default function ReusableBlockEdit( { attributes: { ref } } ) {
43
+ return useMemo( () => {
44
+ // Exit early if the pattern's blocks haven't loaded yet.
45
+ if ( ! blocks?.length ) {
46
+ return {};
47
+ }
48
+
49
+ let alignment = initialInferredAlignmentRef.current;
50
+
51
+ // Only track the initial alignment so that temporarily removed
52
+ // alignments can be reapplied.
53
+ if ( alignment === undefined ) {
54
+ const isConstrained = parentLayout?.type === 'constrained';
55
+ const hasFullAlignment = blocks.some( ( block ) =>
56
+ fullAlignments.includes( block.attributes.align )
57
+ );
58
+
59
+ alignment = isConstrained && hasFullAlignment ? 'full' : null;
60
+ initialInferredAlignmentRef.current = alignment;
61
+ }
62
+
63
+ const layout = alignment ? parentLayout : undefined;
64
+
65
+ return { alignment, layout };
66
+ }, [ blocks, parentLayout ] );
67
+ };
68
+
69
+ export default function ReusableBlockEdit( {
70
+ name,
71
+ attributes: { ref },
72
+ __unstableParentLayout: parentLayout,
73
+ } ) {
74
+ const { useLayoutClasses } = unlock( blockEditorPrivateApis );
27
75
  const hasAlreadyRendered = useHasRecursion( ref );
28
76
  const { record, hasResolved } = useEntityRecord(
29
77
  'postType',
@@ -45,12 +93,20 @@ export default function ReusableBlockEdit( { attributes: { ref } } ) {
45
93
  ref
46
94
  );
47
95
 
96
+ const { alignment, layout } = useInferredLayout( blocks, parentLayout );
97
+ const layoutClasses = useLayoutClasses( { layout }, name );
98
+
48
99
  const blockProps = useBlockProps( {
49
- className: 'block-library-block__reusable-block-container',
100
+ className: classnames(
101
+ 'block-library-block__reusable-block-container',
102
+ layout && layoutClasses,
103
+ { [ `align${ alignment }` ]: alignment }
104
+ ),
50
105
  } );
51
106
 
52
107
  const innerBlocksProps = useInnerBlocksProps( blockProps, {
53
108
  value: blocks,
109
+ layout,
54
110
  onInput,
55
111
  onChange,
56
112
  renderAppender: blocks?.length
@@ -165,9 +165,8 @@ describe( 'Synced patterns', () => {
165
165
  /Pattern Block\. Row 1/
166
166
  );
167
167
 
168
- const innerBlockListWrapper = await within(
169
- reusableBlock
170
- ).findByTestId( 'block-list-wrapper' );
168
+ const innerBlockListWrapper =
169
+ await within( reusableBlock ).findByTestId( 'block-list-wrapper' );
171
170
 
172
171
  // onLayout event has to be explicitly dispatched in BlockList component,
173
172
  // otherwise the inner blocks are not rendered.
@@ -9,6 +9,15 @@
9
9
  "keywords": [ "link" ],
10
10
  "textdomain": "default",
11
11
  "attributes": {
12
+ "tagName": {
13
+ "type": "string",
14
+ "enum": [ "a", "button" ],
15
+ "default": "a"
16
+ },
17
+ "type": {
18
+ "type": "string",
19
+ "default": "button"
20
+ },
12
21
  "textAlign": {
13
22
  "type": "string"
14
23
  },
@@ -22,14 +31,14 @@
22
31
  "title": {
23
32
  "type": "string",
24
33
  "source": "attribute",
25
- "selector": "a",
34
+ "selector": "a,button",
26
35
  "attribute": "title",
27
36
  "__experimentalRole": "content"
28
37
  },
29
38
  "text": {
30
39
  "type": "string",
31
40
  "source": "html",
32
- "selector": "a",
41
+ "selector": "a,button",
33
42
  "__experimentalRole": "content"
34
43
  },
35
44
  "linkTarget": {