@wordpress/block-library 7.19.0 → 8.0.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 (761) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/edit.native.js.map +1 -1
  17. package/build/code/transforms.js +1 -1
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +1 -0
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/columns/edit.native.js +13 -30
  22. package/build/columns/edit.native.js.map +1 -1
  23. package/build/comment-author-avatar/edit.js +1 -0
  24. package/build/comment-author-avatar/edit.js.map +1 -1
  25. package/build/cover/edit/inspector-controls.js +2 -0
  26. package/build/cover/edit/inspector-controls.js.map +1 -1
  27. package/build/cover/edit.native.js +24 -16
  28. package/build/cover/edit.native.js.map +1 -1
  29. package/build/embed/embed-controls.native.js +1 -0
  30. package/build/embed/embed-controls.native.js.map +1 -1
  31. package/build/embed/embed-preview.native.js +1 -3
  32. package/build/embed/embed-preview.native.js.map +1 -1
  33. package/build/file/inspector.js +1 -0
  34. package/build/file/inspector.js.map +1 -1
  35. package/build/gallery/edit.js +25 -13
  36. package/build/gallery/edit.js.map +1 -1
  37. package/build/gallery/gallery.native.js +1 -3
  38. package/build/gallery/gallery.native.js.map +1 -1
  39. package/build/gallery/shared.js +4 -10
  40. package/build/gallery/shared.js.map +1 -1
  41. package/build/gallery/transforms.js +1 -7
  42. package/build/gallery/transforms.js.map +1 -1
  43. package/build/gallery/use-get-media.js +1 -1
  44. package/build/gallery/use-get-media.js.map +1 -1
  45. package/build/gallery/use-get-media.native.js +3 -1
  46. package/build/gallery/use-get-media.native.js.map +1 -1
  47. package/build/gallery/v1/edit.js +22 -15
  48. package/build/gallery/v1/edit.js.map +1 -1
  49. package/build/gallery/v1/gallery.native.js +1 -3
  50. package/build/gallery/v1/gallery.native.js.map +1 -1
  51. package/build/gallery/v1/shared.js +4 -1
  52. package/build/gallery/v1/shared.js.map +1 -1
  53. package/build/group/edit.js +1 -2
  54. package/build/group/edit.js.map +1 -1
  55. package/build/group/index.js +3 -1
  56. package/build/group/index.js.map +1 -1
  57. package/build/group/placeholder.js +5 -26
  58. package/build/group/placeholder.js.map +1 -1
  59. package/build/heading/deprecated.js +152 -69
  60. package/build/heading/deprecated.js.map +1 -1
  61. package/build/heading/index.js +1 -2
  62. package/build/heading/index.js.map +1 -1
  63. package/build/heading/transforms.js +1 -2
  64. package/build/heading/transforms.js.map +1 -1
  65. package/build/html/index.js +1 -1
  66. package/build/image/edit.js +8 -5
  67. package/build/image/edit.js.map +1 -1
  68. package/build/image/edit.native.js +3 -2
  69. package/build/image/edit.native.js.map +1 -1
  70. package/build/image/image.js +12 -8
  71. package/build/image/image.js.map +1 -1
  72. package/build/index.js +3 -1
  73. package/build/index.js.map +1 -1
  74. package/build/latest-comments/edit.js +1 -0
  75. package/build/latest-comments/edit.js.map +1 -1
  76. package/build/latest-posts/edit.js +2 -0
  77. package/build/latest-posts/edit.js.map +1 -1
  78. package/build/list/transforms.js +1 -9
  79. package/build/list/transforms.js.map +1 -1
  80. package/build/list/utils.js +5 -2
  81. package/build/list/utils.js.map +1 -1
  82. package/build/list-item/index.js +4 -1
  83. package/build/list-item/index.js.map +1 -1
  84. package/build/list-item/transforms.js +22 -0
  85. package/build/list-item/transforms.js.map +1 -0
  86. package/build/list-item/utils.js +77 -1
  87. package/build/list-item/utils.js.map +1 -1
  88. package/build/media-text/edit.js +4 -2
  89. package/build/media-text/edit.js.map +1 -1
  90. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  91. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  92. package/build/navigation/edit/index.js +95 -116
  93. package/build/navigation/edit/index.js.map +1 -1
  94. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  95. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  96. package/build/navigation/edit/navigation-menu-selector.js +5 -10
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
  99. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  100. package/build/navigation/view-modal.js +6 -2
  101. package/build/navigation/view-modal.js.map +1 -1
  102. package/build/navigation-link/edit.js +42 -298
  103. package/build/navigation-link/edit.js.map +1 -1
  104. package/build/navigation-link/link-ui.js +222 -0
  105. package/build/navigation-link/link-ui.js.map +1 -0
  106. package/build/navigation-link/transforms.js +12 -0
  107. package/build/navigation-link/transforms.js.map +1 -1
  108. package/build/navigation-link/update-attributes.js +108 -0
  109. package/build/navigation-link/update-attributes.js.map +1 -0
  110. package/build/navigation-submenu/edit.js +42 -173
  111. package/build/navigation-submenu/edit.js.map +1 -1
  112. package/build/page-list/constants.js +15 -0
  113. package/build/page-list/constants.js.map +1 -0
  114. package/build/page-list/convert-to-links-modal.js +22 -86
  115. package/build/page-list/convert-to-links-modal.js.map +1 -1
  116. package/build/page-list/convert-to-navigation-links.js +76 -0
  117. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  118. package/build/page-list/edit.js +142 -78
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list/index.js +6 -1
  121. package/build/page-list/index.js.map +1 -1
  122. package/build/page-list-item/edit.js +87 -0
  123. package/build/page-list-item/edit.js.map +1 -0
  124. package/build/page-list-item/index.js +85 -0
  125. package/build/page-list-item/index.js.map +1 -0
  126. package/build/page-list-item/init.js +16 -0
  127. package/build/page-list-item/init.js.map +1 -0
  128. package/build/paragraph/index.js +1 -7
  129. package/build/paragraph/index.js.map +1 -1
  130. package/build/post-author/edit.js +3 -2
  131. package/build/post-author/edit.js.map +1 -1
  132. package/build/post-featured-image/overlay.js +1 -0
  133. package/build/post-featured-image/overlay.js.map +1 -1
  134. package/build/post-template/index.js +8 -0
  135. package/build/post-template/index.js.map +1 -1
  136. package/build/preformatted/transforms.js +3 -1
  137. package/build/preformatted/transforms.js.map +1 -1
  138. package/build/query/deprecated.js +192 -21
  139. package/build/query/deprecated.js.map +1 -1
  140. package/build/query/edit/inspector-controls/index.js +1 -0
  141. package/build/query/edit/inspector-controls/index.js.map +1 -1
  142. package/build/query/edit/query-placeholder.js +3 -19
  143. package/build/query/edit/query-placeholder.js.map +1 -1
  144. package/build/query/index.js +0 -8
  145. package/build/query/index.js.map +1 -1
  146. package/build/query/utils.js +0 -8
  147. package/build/query/utils.js.map +1 -1
  148. package/build/rss/edit.js +3 -0
  149. package/build/rss/edit.js.map +1 -1
  150. package/build/search/edit.native.js +22 -22
  151. package/build/search/edit.native.js.map +1 -1
  152. package/build/search/index.js +9 -1
  153. package/build/search/index.js.map +1 -1
  154. package/build/site-logo/edit.js +17 -9
  155. package/build/site-logo/edit.js.map +1 -1
  156. package/build/site-logo/index.js +1 -0
  157. package/build/site-logo/index.js.map +1 -1
  158. package/build/site-title/index.js +1 -0
  159. package/build/site-title/index.js.map +1 -1
  160. package/build/social-link/social-list.js +4 -12
  161. package/build/social-link/social-list.js.map +1 -1
  162. package/build/table/edit.js +3 -1
  163. package/build/table/edit.js.map +1 -1
  164. package/build/table/index.js +17 -1
  165. package/build/table/index.js.map +1 -1
  166. package/build/table/save.js +4 -2
  167. package/build/table/save.js.map +1 -1
  168. package/build/table/state.js +24 -12
  169. package/build/table/state.js.map +1 -1
  170. package/build/table/transforms.js +3 -2
  171. package/build/table/transforms.js.map +1 -1
  172. package/build/table-of-contents/edit.js +2 -2
  173. package/build/table-of-contents/edit.js.map +1 -1
  174. package/build/tag-cloud/edit.js +2 -1
  175. package/build/tag-cloud/edit.js.map +1 -1
  176. package/build/template-part/edit/selection-modal.js +5 -2
  177. package/build/template-part/edit/selection-modal.js.map +1 -1
  178. package/build/template-part/edit/utils/hooks.js +2 -6
  179. package/build/template-part/edit/utils/hooks.js.map +1 -1
  180. package/build/text-columns/edit.js +1 -0
  181. package/build/text-columns/edit.js.map +1 -1
  182. package/build/utils/transformation-categories.native.js +1 -1
  183. package/build/utils/transformation-categories.native.js.map +1 -1
  184. package/build/video/edit.js +1 -1
  185. package/build/video/edit.js.map +1 -1
  186. package/build/video/edit.native.js +1 -3
  187. package/build/video/edit.native.js.map +1 -1
  188. package/build-module/audio/edit.native.js +1 -2
  189. package/build-module/audio/edit.native.js.map +1 -1
  190. package/build-module/audio/index.js +2 -1
  191. package/build-module/audio/index.js.map +1 -1
  192. package/build-module/avatar/edit.js +1 -0
  193. package/build-module/avatar/edit.js.map +1 -1
  194. package/build-module/avatar/user-control.js +1 -0
  195. package/build-module/avatar/user-control.js.map +1 -1
  196. package/build-module/block/edit.js +14 -2
  197. package/build-module/block/edit.js.map +1 -1
  198. package/build-module/block/edit.native.js +14 -6
  199. package/build-module/block/edit.native.js.map +1 -1
  200. package/build-module/block/index.js +1 -2
  201. package/build-module/block/index.js.map +1 -1
  202. package/build-module/button/edit.native.js +2 -1
  203. package/build-module/button/edit.native.js.map +1 -1
  204. package/build-module/code/transforms.js +1 -1
  205. package/build-module/code/transforms.js.map +1 -1
  206. package/build-module/columns/edit.js +1 -0
  207. package/build-module/columns/edit.js.map +1 -1
  208. package/build-module/columns/edit.native.js +13 -29
  209. package/build-module/columns/edit.native.js.map +1 -1
  210. package/build-module/comment-author-avatar/edit.js +1 -0
  211. package/build-module/comment-author-avatar/edit.js.map +1 -1
  212. package/build-module/cover/edit/inspector-controls.js +2 -0
  213. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  214. package/build-module/cover/edit.native.js +22 -14
  215. package/build-module/cover/edit.native.js.map +1 -1
  216. package/build-module/embed/embed-controls.native.js +2 -1
  217. package/build-module/embed/embed-controls.native.js.map +1 -1
  218. package/build-module/embed/embed-preview.native.js +1 -2
  219. package/build-module/embed/embed-preview.native.js.map +1 -1
  220. package/build-module/file/inspector.js +1 -0
  221. package/build-module/file/inspector.js.map +1 -1
  222. package/build-module/gallery/edit.js +25 -12
  223. package/build-module/gallery/edit.js.map +1 -1
  224. package/build-module/gallery/gallery.native.js +1 -2
  225. package/build-module/gallery/gallery.native.js.map +1 -1
  226. package/build-module/gallery/shared.js +5 -11
  227. package/build-module/gallery/shared.js.map +1 -1
  228. package/build-module/gallery/transforms.js +1 -6
  229. package/build-module/gallery/transforms.js.map +1 -1
  230. package/build-module/gallery/use-get-media.js +1 -1
  231. package/build-module/gallery/use-get-media.js.map +1 -1
  232. package/build-module/gallery/use-get-media.native.js +3 -1
  233. package/build-module/gallery/use-get-media.native.js.map +1 -1
  234. package/build-module/gallery/v1/edit.js +23 -16
  235. package/build-module/gallery/v1/edit.js.map +1 -1
  236. package/build-module/gallery/v1/gallery.native.js +1 -2
  237. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  238. package/build-module/gallery/v1/shared.js +5 -2
  239. package/build-module/gallery/v1/shared.js.map +1 -1
  240. package/build-module/group/edit.js +1 -3
  241. package/build-module/group/edit.js.map +1 -1
  242. package/build-module/group/index.js +3 -1
  243. package/build-module/group/index.js.map +1 -1
  244. package/build-module/group/placeholder.js +5 -26
  245. package/build-module/group/placeholder.js.map +1 -1
  246. package/build-module/heading/deprecated.js +152 -69
  247. package/build-module/heading/deprecated.js.map +1 -1
  248. package/build-module/heading/index.js +1 -2
  249. package/build-module/heading/index.js.map +1 -1
  250. package/build-module/heading/transforms.js +1 -2
  251. package/build-module/heading/transforms.js.map +1 -1
  252. package/build-module/html/index.js +1 -1
  253. package/build-module/image/edit.js +9 -6
  254. package/build-module/image/edit.js.map +1 -1
  255. package/build-module/image/edit.native.js +2 -1
  256. package/build-module/image/edit.native.js.map +1 -1
  257. package/build-module/image/image.js +13 -9
  258. package/build-module/image/image.js.map +1 -1
  259. package/build-module/index.js +2 -1
  260. package/build-module/index.js.map +1 -1
  261. package/build-module/latest-comments/edit.js +1 -0
  262. package/build-module/latest-comments/edit.js.map +1 -1
  263. package/build-module/latest-posts/edit.js +2 -0
  264. package/build-module/latest-posts/edit.js.map +1 -1
  265. package/build-module/list/transforms.js +1 -9
  266. package/build-module/list/transforms.js.map +1 -1
  267. package/build-module/list/utils.js +5 -2
  268. package/build-module/list/utils.js.map +1 -1
  269. package/build-module/list-item/index.js +3 -1
  270. package/build-module/list-item/index.js.map +1 -1
  271. package/build-module/list-item/transforms.js +13 -0
  272. package/build-module/list-item/transforms.js.map +1 -0
  273. package/build-module/list-item/utils.js +78 -1
  274. package/build-module/list-item/utils.js.map +1 -1
  275. package/build-module/media-text/edit.js +5 -3
  276. package/build-module/media-text/edit.js.map +1 -1
  277. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  278. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  279. package/build-module/navigation/edit/index.js +95 -117
  280. package/build-module/navigation/edit/index.js.map +1 -1
  281. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  282. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  283. package/build-module/navigation/edit/navigation-menu-selector.js +6 -11
  284. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  285. package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
  286. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  287. package/build-module/navigation/view-modal.js +6 -2
  288. package/build-module/navigation/view-modal.js.map +1 -1
  289. package/build-module/navigation-link/edit.js +46 -299
  290. package/build-module/navigation-link/edit.js.map +1 -1
  291. package/build-module/navigation-link/link-ui.js +206 -0
  292. package/build-module/navigation-link/link-ui.js.map +1 -0
  293. package/build-module/navigation-link/transforms.js +12 -0
  294. package/build-module/navigation-link/transforms.js.map +1 -1
  295. package/build-module/navigation-link/update-attributes.js +97 -0
  296. package/build-module/navigation-link/update-attributes.js.map +1 -0
  297. package/build-module/navigation-submenu/edit.js +47 -175
  298. package/build-module/navigation-submenu/edit.js.map +1 -1
  299. package/build-module/page-list/constants.js +6 -0
  300. package/build-module/page-list/constants.js.map +1 -0
  301. package/build-module/page-list/convert-to-links-modal.js +20 -81
  302. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  303. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  304. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  305. package/build-module/page-list/edit.js +144 -82
  306. package/build-module/page-list/edit.js.map +1 -1
  307. package/build-module/page-list/index.js +6 -1
  308. package/build-module/page-list/index.js.map +1 -1
  309. package/build-module/page-list-item/edit.js +74 -0
  310. package/build-module/page-list-item/edit.js.map +1 -0
  311. package/build-module/page-list-item/index.js +68 -0
  312. package/build-module/page-list-item/index.js.map +1 -0
  313. package/build-module/page-list-item/init.js +6 -0
  314. package/build-module/page-list-item/init.js.map +1 -0
  315. package/build-module/paragraph/index.js +1 -7
  316. package/build-module/paragraph/index.js.map +1 -1
  317. package/build-module/post-author/edit.js +3 -2
  318. package/build-module/post-author/edit.js.map +1 -1
  319. package/build-module/post-featured-image/overlay.js +1 -0
  320. package/build-module/post-featured-image/overlay.js.map +1 -1
  321. package/build-module/post-template/index.js +8 -0
  322. package/build-module/post-template/index.js.map +1 -1
  323. package/build-module/preformatted/transforms.js +3 -1
  324. package/build-module/preformatted/transforms.js.map +1 -1
  325. package/build-module/query/deprecated.js +185 -21
  326. package/build-module/query/deprecated.js.map +1 -1
  327. package/build-module/query/edit/inspector-controls/index.js +1 -0
  328. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  329. package/build-module/query/edit/query-placeholder.js +3 -19
  330. package/build-module/query/edit/query-placeholder.js.map +1 -1
  331. package/build-module/query/index.js +0 -8
  332. package/build-module/query/index.js.map +1 -1
  333. package/build-module/query/utils.js +0 -8
  334. package/build-module/query/utils.js.map +1 -1
  335. package/build-module/rss/edit.js +3 -0
  336. package/build-module/rss/edit.js.map +1 -1
  337. package/build-module/search/edit.native.js +20 -20
  338. package/build-module/search/edit.native.js.map +1 -1
  339. package/build-module/search/index.js +8 -1
  340. package/build-module/search/index.js.map +1 -1
  341. package/build-module/site-logo/edit.js +17 -8
  342. package/build-module/site-logo/edit.js.map +1 -1
  343. package/build-module/site-logo/index.js +1 -0
  344. package/build-module/site-logo/index.js.map +1 -1
  345. package/build-module/site-title/index.js +1 -0
  346. package/build-module/site-title/index.js.map +1 -1
  347. package/build-module/social-link/social-list.js +2 -11
  348. package/build-module/social-link/social-list.js.map +1 -1
  349. package/build-module/table/edit.js +3 -1
  350. package/build-module/table/edit.js.map +1 -1
  351. package/build-module/table/index.js +17 -1
  352. package/build-module/table/index.js.map +1 -1
  353. package/build-module/table/save.js +4 -2
  354. package/build-module/table/save.js.map +1 -1
  355. package/build-module/table/state.js +25 -13
  356. package/build-module/table/state.js.map +1 -1
  357. package/build-module/table/transforms.js +3 -2
  358. package/build-module/table/transforms.js.map +1 -1
  359. package/build-module/table-of-contents/edit.js +2 -2
  360. package/build-module/table-of-contents/edit.js.map +1 -1
  361. package/build-module/tag-cloud/edit.js +3 -2
  362. package/build-module/tag-cloud/edit.js.map +1 -1
  363. package/build-module/template-part/edit/selection-modal.js +6 -3
  364. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  365. package/build-module/template-part/edit/utils/hooks.js +3 -7
  366. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  367. package/build-module/text-columns/edit.js +1 -0
  368. package/build-module/text-columns/edit.js.map +1 -1
  369. package/build-module/utils/transformation-categories.native.js +1 -1
  370. package/build-module/utils/transformation-categories.native.js.map +1 -1
  371. package/build-module/video/edit.js +1 -1
  372. package/build-module/video/edit.js.map +1 -1
  373. package/build-module/video/edit.native.js +1 -2
  374. package/build-module/video/edit.native.js.map +1 -1
  375. package/build-style/archives/editor-rtl.css +12 -0
  376. package/build-style/archives/editor.css +12 -0
  377. package/build-style/archives/style-rtl.css +12 -0
  378. package/build-style/archives/style.css +12 -0
  379. package/build-style/audio/editor-rtl.css +12 -0
  380. package/build-style/audio/editor.css +12 -0
  381. package/build-style/audio/style-rtl.css +12 -0
  382. package/build-style/audio/style.css +12 -0
  383. package/build-style/audio/theme-rtl.css +12 -0
  384. package/build-style/audio/theme.css +12 -0
  385. package/build-style/avatar/editor-rtl.css +12 -0
  386. package/build-style/avatar/editor.css +12 -0
  387. package/build-style/avatar/style-rtl.css +12 -0
  388. package/build-style/avatar/style.css +12 -0
  389. package/build-style/block/editor-rtl.css +22 -0
  390. package/build-style/block/editor.css +22 -0
  391. package/build-style/button/editor-rtl.css +12 -0
  392. package/build-style/button/editor.css +12 -0
  393. package/build-style/button/style-rtl.css +12 -0
  394. package/build-style/button/style.css +12 -0
  395. package/build-style/buttons/editor-rtl.css +12 -0
  396. package/build-style/buttons/editor.css +12 -0
  397. package/build-style/buttons/style-rtl.css +12 -0
  398. package/build-style/buttons/style.css +12 -0
  399. package/build-style/calendar/style-rtl.css +12 -0
  400. package/build-style/calendar/style.css +12 -0
  401. package/build-style/categories/editor-rtl.css +12 -0
  402. package/build-style/categories/editor.css +12 -0
  403. package/build-style/categories/style-rtl.css +12 -0
  404. package/build-style/categories/style.css +12 -0
  405. package/build-style/classic-rtl.css +12 -0
  406. package/build-style/classic.css +12 -0
  407. package/build-style/code/editor-rtl.css +12 -0
  408. package/build-style/code/editor.css +12 -0
  409. package/build-style/code/style-rtl.css +12 -0
  410. package/build-style/code/style.css +12 -0
  411. package/build-style/code/theme-rtl.css +12 -0
  412. package/build-style/code/theme.css +12 -0
  413. package/build-style/columns/editor-rtl.css +12 -0
  414. package/build-style/columns/editor.css +12 -0
  415. package/build-style/columns/style-rtl.css +12 -0
  416. package/build-style/columns/style.css +12 -0
  417. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  418. package/build-style/comment-author-avatar/editor.css +12 -0
  419. package/build-style/comment-content/style-rtl.css +12 -0
  420. package/build-style/comment-content/style.css +12 -0
  421. package/build-style/comment-template/style-rtl.css +12 -0
  422. package/build-style/comment-template/style.css +12 -0
  423. package/build-style/comments/editor-rtl.css +12 -0
  424. package/build-style/comments/editor.css +12 -0
  425. package/build-style/comments/style-rtl.css +12 -0
  426. package/build-style/comments/style.css +12 -0
  427. package/build-style/comments-pagination/editor-rtl.css +12 -0
  428. package/build-style/comments-pagination/editor.css +12 -0
  429. package/build-style/comments-pagination/style-rtl.css +12 -0
  430. package/build-style/comments-pagination/style.css +12 -0
  431. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  432. package/build-style/comments-pagination-numbers/editor.css +12 -0
  433. package/build-style/comments-title/editor-rtl.css +12 -0
  434. package/build-style/comments-title/editor.css +12 -0
  435. package/build-style/common-rtl.css +17 -1
  436. package/build-style/common.css +17 -1
  437. package/build-style/cover/editor-rtl.css +12 -0
  438. package/build-style/cover/editor.css +12 -0
  439. package/build-style/cover/style-rtl.css +14 -1
  440. package/build-style/cover/style.css +14 -1
  441. package/build-style/editor-elements-rtl.css +12 -0
  442. package/build-style/editor-elements.css +12 -0
  443. package/build-style/editor-rtl.css +39 -20
  444. package/build-style/editor.css +39 -20
  445. package/build-style/elements-rtl.css +12 -0
  446. package/build-style/elements.css +12 -0
  447. package/build-style/embed/editor-rtl.css +12 -0
  448. package/build-style/embed/editor.css +12 -0
  449. package/build-style/embed/style-rtl.css +12 -0
  450. package/build-style/embed/style.css +12 -0
  451. package/build-style/embed/theme-rtl.css +12 -0
  452. package/build-style/embed/theme.css +12 -0
  453. package/build-style/file/editor-rtl.css +12 -0
  454. package/build-style/file/editor.css +12 -0
  455. package/build-style/file/style-rtl.css +12 -0
  456. package/build-style/file/style.css +12 -0
  457. package/build-style/freeform/editor-rtl.css +12 -0
  458. package/build-style/freeform/editor.css +12 -0
  459. package/build-style/gallery/editor-rtl.css +13 -1
  460. package/build-style/gallery/editor.css +13 -1
  461. package/build-style/gallery/style-rtl.css +16 -2
  462. package/build-style/gallery/style.css +16 -2
  463. package/build-style/gallery/theme-rtl.css +12 -0
  464. package/build-style/gallery/theme.css +12 -0
  465. package/build-style/group/editor-rtl.css +12 -0
  466. package/build-style/group/editor.css +12 -0
  467. package/build-style/group/style-rtl.css +12 -0
  468. package/build-style/group/style.css +12 -0
  469. package/build-style/group/theme-rtl.css +12 -0
  470. package/build-style/group/theme.css +12 -0
  471. package/build-style/heading/style-rtl.css +12 -0
  472. package/build-style/heading/style.css +12 -0
  473. package/build-style/html/editor-rtl.css +12 -0
  474. package/build-style/html/editor.css +12 -0
  475. package/build-style/image/editor-rtl.css +12 -9
  476. package/build-style/image/editor.css +12 -9
  477. package/build-style/image/style-rtl.css +12 -0
  478. package/build-style/image/style.css +12 -0
  479. package/build-style/image/theme-rtl.css +12 -0
  480. package/build-style/image/theme.css +12 -0
  481. package/build-style/latest-comments/style-rtl.css +12 -0
  482. package/build-style/latest-comments/style.css +12 -0
  483. package/build-style/latest-posts/editor-rtl.css +12 -0
  484. package/build-style/latest-posts/editor.css +12 -0
  485. package/build-style/latest-posts/style-rtl.css +12 -0
  486. package/build-style/latest-posts/style.css +12 -0
  487. package/build-style/list/style-rtl.css +12 -0
  488. package/build-style/list/style.css +12 -0
  489. package/build-style/media-text/editor-rtl.css +12 -0
  490. package/build-style/media-text/editor.css +12 -0
  491. package/build-style/media-text/style-rtl.css +12 -0
  492. package/build-style/media-text/style.css +12 -0
  493. package/build-style/more/editor-rtl.css +12 -0
  494. package/build-style/more/editor.css +12 -0
  495. package/build-style/navigation/editor-rtl.css +12 -0
  496. package/build-style/navigation/editor.css +12 -0
  497. package/build-style/navigation/style-rtl.css +12 -0
  498. package/build-style/navigation/style.css +12 -0
  499. package/build-style/navigation-link/editor-rtl.css +12 -0
  500. package/build-style/navigation-link/editor.css +12 -0
  501. package/build-style/navigation-link/style-rtl.css +12 -0
  502. package/build-style/navigation-link/style.css +12 -0
  503. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  504. package/build-style/navigation-submenu/editor.css +12 -0
  505. package/build-style/nextpage/editor-rtl.css +12 -0
  506. package/build-style/nextpage/editor.css +12 -0
  507. package/build-style/page-list/editor-rtl.css +12 -0
  508. package/build-style/page-list/editor.css +12 -0
  509. package/build-style/page-list/style-rtl.css +12 -0
  510. package/build-style/page-list/style.css +12 -0
  511. package/build-style/paragraph/editor-rtl.css +12 -0
  512. package/build-style/paragraph/editor.css +12 -0
  513. package/build-style/paragraph/style-rtl.css +12 -0
  514. package/build-style/paragraph/style.css +12 -0
  515. package/build-style/post-author/style-rtl.css +12 -0
  516. package/build-style/post-author/style.css +12 -0
  517. package/build-style/post-comments-form/editor-rtl.css +12 -0
  518. package/build-style/post-comments-form/editor.css +12 -0
  519. package/build-style/post-comments-form/style-rtl.css +12 -0
  520. package/build-style/post-comments-form/style.css +12 -0
  521. package/build-style/post-date/style-rtl.css +12 -0
  522. package/build-style/post-date/style.css +12 -0
  523. package/build-style/post-excerpt/editor-rtl.css +12 -0
  524. package/build-style/post-excerpt/editor.css +12 -0
  525. package/build-style/post-excerpt/style-rtl.css +12 -0
  526. package/build-style/post-excerpt/style.css +12 -0
  527. package/build-style/post-featured-image/editor-rtl.css +12 -0
  528. package/build-style/post-featured-image/editor.css +12 -0
  529. package/build-style/post-featured-image/style-rtl.css +12 -0
  530. package/build-style/post-featured-image/style.css +12 -0
  531. package/build-style/post-navigation-link/style-rtl.css +12 -0
  532. package/build-style/post-navigation-link/style.css +12 -0
  533. package/build-style/post-template/editor-rtl.css +12 -0
  534. package/build-style/post-template/editor.css +12 -0
  535. package/build-style/post-template/style-rtl.css +12 -0
  536. package/build-style/post-template/style.css +12 -0
  537. package/build-style/post-terms/style-rtl.css +12 -0
  538. package/build-style/post-terms/style.css +12 -0
  539. package/build-style/post-title/style-rtl.css +12 -0
  540. package/build-style/post-title/style.css +12 -0
  541. package/build-style/preformatted/style-rtl.css +12 -0
  542. package/build-style/preformatted/style.css +12 -0
  543. package/build-style/pullquote/editor-rtl.css +12 -0
  544. package/build-style/pullquote/editor.css +12 -0
  545. package/build-style/pullquote/style-rtl.css +12 -0
  546. package/build-style/pullquote/style.css +12 -0
  547. package/build-style/pullquote/theme-rtl.css +12 -0
  548. package/build-style/pullquote/theme.css +12 -0
  549. package/build-style/query/editor-rtl.css +12 -0
  550. package/build-style/query/editor.css +12 -0
  551. package/build-style/query-pagination/editor-rtl.css +12 -0
  552. package/build-style/query-pagination/editor.css +12 -0
  553. package/build-style/query-pagination/style-rtl.css +12 -0
  554. package/build-style/query-pagination/style.css +12 -0
  555. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  556. package/build-style/query-pagination-numbers/editor.css +12 -0
  557. package/build-style/query-title/style-rtl.css +12 -0
  558. package/build-style/query-title/style.css +12 -0
  559. package/build-style/quote/style-rtl.css +12 -0
  560. package/build-style/quote/style.css +12 -0
  561. package/build-style/quote/theme-rtl.css +12 -0
  562. package/build-style/quote/theme.css +12 -0
  563. package/build-style/read-more/style-rtl.css +12 -0
  564. package/build-style/read-more/style.css +12 -0
  565. package/build-style/reset-rtl.css +12 -0
  566. package/build-style/reset.css +12 -0
  567. package/build-style/rss/editor-rtl.css +12 -0
  568. package/build-style/rss/editor.css +12 -0
  569. package/build-style/rss/style-rtl.css +12 -0
  570. package/build-style/rss/style.css +12 -0
  571. package/build-style/search/editor-rtl.css +12 -0
  572. package/build-style/search/editor.css +12 -0
  573. package/build-style/search/style-rtl.css +12 -0
  574. package/build-style/search/style.css +12 -0
  575. package/build-style/search/theme-rtl.css +12 -0
  576. package/build-style/search/theme.css +12 -0
  577. package/build-style/separator/editor-rtl.css +12 -0
  578. package/build-style/separator/editor.css +12 -0
  579. package/build-style/separator/style-rtl.css +12 -0
  580. package/build-style/separator/style.css +12 -0
  581. package/build-style/separator/theme-rtl.css +12 -0
  582. package/build-style/separator/theme.css +12 -0
  583. package/build-style/shortcode/editor-rtl.css +13 -1
  584. package/build-style/shortcode/editor.css +13 -1
  585. package/build-style/site-logo/editor-rtl.css +12 -0
  586. package/build-style/site-logo/editor.css +12 -0
  587. package/build-style/site-logo/style-rtl.css +12 -0
  588. package/build-style/site-logo/style.css +12 -0
  589. package/build-style/site-tagline/editor-rtl.css +12 -0
  590. package/build-style/site-tagline/editor.css +12 -0
  591. package/build-style/site-title/editor-rtl.css +12 -0
  592. package/build-style/site-title/editor.css +12 -0
  593. package/build-style/site-title/style-rtl.css +12 -0
  594. package/build-style/site-title/style.css +12 -0
  595. package/build-style/social-link/editor-rtl.css +12 -0
  596. package/build-style/social-link/editor.css +12 -0
  597. package/build-style/social-links/editor-rtl.css +12 -0
  598. package/build-style/social-links/editor.css +12 -0
  599. package/build-style/social-links/style-rtl.css +12 -0
  600. package/build-style/social-links/style.css +12 -0
  601. package/build-style/spacer/editor-rtl.css +12 -0
  602. package/build-style/spacer/editor.css +12 -0
  603. package/build-style/spacer/style-rtl.css +12 -0
  604. package/build-style/spacer/style.css +12 -0
  605. package/build-style/style-rtl.css +23 -5
  606. package/build-style/style.css +23 -5
  607. package/build-style/table/editor-rtl.css +12 -8
  608. package/build-style/table/editor.css +12 -8
  609. package/build-style/table/style-rtl.css +12 -0
  610. package/build-style/table/style.css +12 -0
  611. package/build-style/table/theme-rtl.css +12 -0
  612. package/build-style/table/theme.css +12 -0
  613. package/build-style/tag-cloud/style-rtl.css +12 -0
  614. package/build-style/tag-cloud/style.css +12 -0
  615. package/build-style/template-part/editor-rtl.css +27 -1
  616. package/build-style/template-part/editor.css +27 -1
  617. package/build-style/template-part/theme-rtl.css +12 -0
  618. package/build-style/template-part/theme.css +12 -0
  619. package/build-style/text-columns/editor-rtl.css +12 -0
  620. package/build-style/text-columns/editor.css +12 -0
  621. package/build-style/text-columns/style-rtl.css +12 -0
  622. package/build-style/text-columns/style.css +12 -0
  623. package/build-style/theme-rtl.css +12 -0
  624. package/build-style/theme.css +12 -0
  625. package/build-style/verse/style-rtl.css +12 -0
  626. package/build-style/verse/style.css +12 -0
  627. package/build-style/video/editor-rtl.css +12 -0
  628. package/build-style/video/editor.css +12 -0
  629. package/build-style/video/style-rtl.css +14 -1
  630. package/build-style/video/style.css +14 -1
  631. package/build-style/video/theme-rtl.css +12 -0
  632. package/build-style/video/theme.css +12 -0
  633. package/package.json +32 -30
  634. package/src/audio/edit.native.js +1 -2
  635. package/src/audio/index.js +1 -0
  636. package/src/avatar/edit.js +1 -0
  637. package/src/avatar/user-control.js +1 -0
  638. package/src/block/block.json +1 -2
  639. package/src/block/edit.js +14 -3
  640. package/src/block/edit.native.js +24 -12
  641. package/src/block/editor.scss +17 -0
  642. package/src/block/index.php +1 -2
  643. package/src/block/test/edit.native.js +28 -32
  644. package/src/button/edit.native.js +1 -0
  645. package/src/buttons/test/edit.native.js +40 -51
  646. package/src/code/transforms.js +3 -1
  647. package/src/columns/edit.js +1 -0
  648. package/src/columns/edit.native.js +18 -26
  649. package/src/comment-author-avatar/edit.js +1 -0
  650. package/src/cover/edit/inspector-controls.js +2 -0
  651. package/src/cover/edit.native.js +32 -19
  652. package/src/cover/test/edit.native.js +73 -126
  653. package/src/embed/embed-controls.native.js +1 -0
  654. package/src/embed/embed-preview.native.js +1 -2
  655. package/src/embed/test/index.native.js +237 -231
  656. package/src/file/inspector.js +1 -0
  657. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  658. package/src/gallery/edit.js +15 -5
  659. package/src/gallery/gallery.native.js +1 -2
  660. package/src/gallery/shared.js +7 -11
  661. package/src/gallery/transforms.js +1 -6
  662. package/src/gallery/use-get-media.js +1 -1
  663. package/src/gallery/use-get-media.native.js +2 -1
  664. package/src/gallery/v1/edit.js +8 -7
  665. package/src/gallery/v1/gallery.native.js +1 -2
  666. package/src/gallery/v1/shared.js +7 -2
  667. package/src/group/block.json +3 -1
  668. package/src/group/edit.js +2 -6
  669. package/src/group/placeholder.js +6 -25
  670. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  671. package/src/heading/block.json +1 -2
  672. package/src/heading/deprecated.js +209 -136
  673. package/src/heading/index.php +52 -0
  674. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  675. package/src/heading/test/index.native.js +44 -0
  676. package/src/home-link/index.php +1 -1
  677. package/src/html/block.json +1 -1
  678. package/src/image/edit.js +7 -2
  679. package/src/image/edit.native.js +2 -1
  680. package/src/image/editor.scss +0 -11
  681. package/src/image/image.js +13 -8
  682. package/src/image/test/edit.native.js +14 -10
  683. package/src/index.js +2 -0
  684. package/src/latest-comments/edit.js +1 -0
  685. package/src/latest-posts/edit.js +2 -0
  686. package/src/list/test/edit.native.js +53 -45
  687. package/src/list/transforms.js +0 -11
  688. package/src/list/utils.js +6 -2
  689. package/src/list-item/index.js +2 -0
  690. package/src/list-item/transforms.js +17 -0
  691. package/src/list-item/utils.js +10 -1
  692. package/src/media-text/edit.js +5 -3
  693. package/src/missing/test/edit-integration.native.js +10 -12
  694. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  695. package/src/navigation/edit/index.js +230 -298
  696. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  697. package/src/navigation/edit/navigation-menu-selector.js +5 -16
  698. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  699. package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
  700. package/src/navigation/index.php +57 -10
  701. package/src/navigation/view-modal.js +11 -1
  702. package/src/navigation-link/edit.js +58 -329
  703. package/src/navigation-link/index.php +32 -0
  704. package/src/navigation-link/link-ui.js +213 -0
  705. package/src/navigation-link/test/edit.js +23 -82
  706. package/src/navigation-link/transforms.js +14 -0
  707. package/src/navigation-link/update-attributes.js +99 -0
  708. package/src/navigation-submenu/edit.js +57 -177
  709. package/src/navigation-submenu/index.php +40 -0
  710. package/src/page-list/block.json +6 -1
  711. package/src/page-list/constants.js +8 -0
  712. package/src/page-list/convert-to-links-modal.js +19 -76
  713. package/src/page-list/convert-to-navigation-links.js +60 -0
  714. package/src/page-list/edit.js +179 -118
  715. package/src/page-list/index.php +9 -0
  716. package/src/page-list/test/convert-to-links-modal.js +28 -34
  717. package/src/page-list-item/block.json +51 -0
  718. package/src/page-list-item/edit.js +94 -0
  719. package/src/page-list-item/index.js +24 -0
  720. package/src/page-list-item/init.js +6 -0
  721. package/src/paragraph/index.js +0 -6
  722. package/src/post-author/edit.js +3 -2
  723. package/src/post-content/index.php +1 -2
  724. package/src/post-featured-image/index.php +7 -2
  725. package/src/post-featured-image/overlay.js +1 -0
  726. package/src/post-template/block.json +8 -0
  727. package/src/preformatted/transforms.js +4 -1
  728. package/src/query/block.json +0 -8
  729. package/src/query/deprecated.js +257 -86
  730. package/src/query/edit/inspector-controls/index.js +1 -0
  731. package/src/query/edit/query-placeholder.js +4 -16
  732. package/src/rss/edit.js +3 -0
  733. package/src/search/edit.native.js +31 -27
  734. package/src/search/index.js +5 -1
  735. package/src/shortcode/test/edit.native.js +15 -18
  736. package/src/site-logo/edit.js +13 -5
  737. package/src/site-logo/index.js +1 -0
  738. package/src/site-title/index.js +1 -0
  739. package/src/social-link/social-list.js +2 -7
  740. package/src/social-link/test/index.native.js +10 -16
  741. package/src/social-links/test/edit.native.js +4 -3
  742. package/src/spacer/test/index.native.js +39 -36
  743. package/src/table/block.json +15 -0
  744. package/src/table/edit.js +2 -1
  745. package/src/table/editor.scss +0 -4
  746. package/src/table/index.js +1 -0
  747. package/src/table/save.js +5 -1
  748. package/src/table/state.js +22 -7
  749. package/src/table/transforms.js +2 -1
  750. package/src/table-of-contents/edit.js +2 -2
  751. package/src/tag-cloud/edit.js +3 -2
  752. package/src/template-part/edit/selection-modal.js +4 -3
  753. package/src/template-part/edit/utils/hooks.js +7 -3
  754. package/src/template-part/editor.scss +20 -2
  755. package/src/template-part/index.php +1 -2
  756. package/src/text-columns/edit.js +1 -0
  757. package/src/utils/transformation-categories.native.js +1 -0
  758. package/src/video/edit.js +1 -1
  759. package/src/video/edit.native.js +1 -2
  760. package/test/babel-plugin.js +35 -35
  761. package/tsconfig.tsbuildinfo +1 -1
package/src/index.js CHANGED
@@ -67,6 +67,7 @@ import * as navigationSubmenu from './navigation-submenu';
67
67
  import * as nextpage from './nextpage';
68
68
  import * as pattern from './pattern';
69
69
  import * as pageList from './page-list';
70
+ import * as pageListItem from './page-list-item';
70
71
  import * as paragraph from './paragraph';
71
72
  import * as postAuthor from './post-author';
72
73
  import * as postAuthorName from './post-author-name';
@@ -155,6 +156,7 @@ const getAllBlocks = () =>
155
156
  more,
156
157
  nextpage,
157
158
  pageList,
159
+ pageListItem,
158
160
  pattern,
159
161
  preformatted,
160
162
  pullquote,
@@ -56,6 +56,7 @@ export default function LatestComments( { attributes, setAttributes } ) {
56
56
  }
57
57
  />
58
58
  <RangeControl
59
+ __nextHasNoMarginBottom
59
60
  label={ __( 'Number of comments' ) }
60
61
  value={ commentsToShow }
61
62
  onChange={ ( value ) =>
@@ -234,6 +234,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
234
234
  { displayPostContent &&
235
235
  displayPostContentRadio === 'excerpt' && (
236
236
  <RangeControl
237
+ __nextHasNoMarginBottom
237
238
  label={ __( 'Max number of words in excerpt' ) }
238
239
  value={ excerptLength }
239
240
  onChange={ ( value ) =>
@@ -355,6 +356,7 @@ export default function LatestPostsEdit( { attributes, setAttributes } ) {
355
356
 
356
357
  { postLayout === 'grid' && (
357
358
  <RangeControl
359
+ __nextHasNoMarginBottom
358
360
  label={ __( 'Columns' ) }
359
361
  value={ columns }
360
362
  onChange={ ( value ) =>
@@ -63,16 +63,18 @@ describe( 'List block', () => {
63
63
  <li></li><!-- /wp:list-item --></ul>
64
64
  <!-- /wp:list -->`;
65
65
 
66
- const { getByLabelText } = await initializeEditor( {
66
+ const screen = await initializeEditor( {
67
67
  initialHtml,
68
68
  } );
69
69
 
70
70
  // Select List block
71
- const listBlock = getByLabelText( /List Block\. Row 1/ );
71
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
72
72
  fireEvent.press( listBlock );
73
73
 
74
74
  // Select List Item block
75
- const listItemBlock = getByLabelText( /List item Block\. Row 1/ );
75
+ const [ listItemBlock ] = screen.getAllByLabelText(
76
+ /List item Block\. Row 1/
77
+ );
76
78
  fireEvent.press( listItemBlock );
77
79
 
78
80
  const listItemField =
@@ -109,25 +111,25 @@ describe( 'List block', () => {
109
111
  <!-- /wp:list-item --></ul>
110
112
  <!-- /wp:list -->`;
111
113
 
112
- const { getByLabelText } = await initializeEditor( {
114
+ const screen = await initializeEditor( {
113
115
  initialHtml,
114
116
  } );
115
117
 
116
118
  // Select List block
117
- const listBlock = getByLabelText( /List Block\. Row 1/ );
119
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
118
120
 
119
121
  fireEvent.press( listBlock );
120
122
 
121
123
  // Select List Item block
122
- const firstNestedLevelBlock = within( listBlock ).getByLabelText(
124
+ const [ firstNestedLevelBlock ] = within( listBlock ).getAllByLabelText(
123
125
  /List item Block\. Row 2/
124
126
  );
125
127
  fireEvent.press( firstNestedLevelBlock );
126
128
 
127
129
  // Select second level list
128
- const secondNestedLevelBlock = within(
130
+ const [ secondNestedLevelBlock ] = within(
129
131
  firstNestedLevelBlock
130
- ).getByLabelText( /List Block\. Row 1/ );
132
+ ).getAllByLabelText( /List Block\. Row 1/ );
131
133
  fireEvent.press( secondNestedLevelBlock );
132
134
 
133
135
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -143,20 +145,22 @@ describe( 'List block', () => {
143
145
  <!-- /wp:list-item --></ul>
144
146
  <!-- /wp:list -->`;
145
147
 
146
- const { getByLabelText } = await initializeEditor( {
148
+ const screen = await initializeEditor( {
147
149
  initialHtml,
148
150
  } );
149
151
 
150
152
  // Select List block
151
- const listBlock = getByLabelText( /List Block\. Row 1/ );
153
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
152
154
  fireEvent.press( listBlock );
153
155
 
154
156
  // Select Secont List Item block
155
- const listItemBlock = getByLabelText( /List item Block\. Row 2/ );
157
+ const [ listItemBlock ] = screen.getAllByLabelText(
158
+ /List item Block\. Row 2/
159
+ );
156
160
  fireEvent.press( listItemBlock );
157
161
 
158
162
  // Update indentation
159
- const indentButton = getByLabelText( 'Indent' );
163
+ const indentButton = screen.getByLabelText( 'Indent' );
160
164
  fireEvent.press( indentButton );
161
165
 
162
166
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -173,33 +177,33 @@ describe( 'List block', () => {
173
177
  <!-- /wp:list-item --></ul>
174
178
  <!-- /wp:list -->`;
175
179
 
176
- const { getByLabelText } = await initializeEditor( {
180
+ const screen = await initializeEditor( {
177
181
  initialHtml,
178
182
  } );
179
183
 
180
184
  // Select List block
181
- const listBlock = getByLabelText( /List Block\. Row 1/ );
185
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
182
186
  fireEvent.press( listBlock );
183
187
 
184
188
  // Select List Item block
185
- const firstNestedLevelBlock = within( listBlock ).getByLabelText(
189
+ const [ firstNestedLevelBlock ] = within( listBlock ).getAllByLabelText(
186
190
  /List item Block\. Row 1/
187
191
  );
188
192
  fireEvent.press( firstNestedLevelBlock );
189
193
 
190
194
  // Select Inner block List
191
- const innerBlockList = within( firstNestedLevelBlock ).getByLabelText(
192
- /List Block\. Row 1/
193
- );
195
+ const [ innerBlockList ] = within(
196
+ firstNestedLevelBlock
197
+ ).getAllByLabelText( /List Block\. Row 1/ );
194
198
 
195
199
  // Select nested List Item block
196
- const listItemBlock = within( innerBlockList ).getByLabelText(
200
+ const [ listItemBlock ] = within( innerBlockList ).getAllByLabelText(
197
201
  /List item Block\. Row 1/
198
202
  );
199
203
  fireEvent.press( listItemBlock );
200
204
 
201
205
  // Update indentation
202
- const outdentButton = getByLabelText( 'Outdent' );
206
+ const outdentButton = screen.getByLabelText( 'Outdent' );
203
207
  fireEvent.press( outdentButton );
204
208
 
205
209
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -218,16 +222,16 @@ describe( 'List block', () => {
218
222
  <!-- /wp:list-item --></ul>
219
223
  <!-- /wp:list -->`;
220
224
 
221
- const { getByLabelText } = await initializeEditor( {
225
+ const screen = await initializeEditor( {
222
226
  initialHtml,
223
227
  } );
224
228
 
225
229
  // Select List block
226
- const listBlock = getByLabelText( /List Block\. Row 1/ );
230
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
227
231
  fireEvent.press( listBlock );
228
232
 
229
233
  // Update to ordered list
230
- const orderedButton = getByLabelText( 'Ordered' );
234
+ const orderedButton = screen.getByLabelText( 'Ordered' );
231
235
  fireEvent.press( orderedButton );
232
236
 
233
237
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -246,27 +250,29 @@ describe( 'List block', () => {
246
250
  <!-- /wp:list-item --></ul>
247
251
  <!-- /wp:list -->`;
248
252
 
249
- const { getByLabelText, getByTestId } = await initializeEditor( {
253
+ const screen = await initializeEditor( {
250
254
  initialHtml,
251
255
  } );
252
256
 
253
257
  // Select List block
254
- const listBlock = getByLabelText( /List Block\. Row 1/ );
258
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
255
259
  fireEvent.press( listBlock );
256
260
 
257
261
  // Update to ordered list
258
- const orderedButton = getByLabelText( 'Ordered' );
262
+ const orderedButton = screen.getByLabelText( 'Ordered' );
259
263
  fireEvent.press( orderedButton );
260
264
 
261
265
  // Set order to reverse
262
266
 
263
267
  // Open block settings
264
- fireEvent.press( getByLabelText( 'Open Settings' ) );
268
+ fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
265
269
  await waitFor(
266
- () => getByTestId( 'block-settings-modal' ).props.isVisible
270
+ () => screen.getByTestId( 'block-settings-modal' ).props.isVisible
267
271
  );
268
272
 
269
- const reverseButton = getByLabelText( /Reverse list numbering\. Off/ );
273
+ const reverseButton = screen.getByLabelText(
274
+ /Reverse list numbering\. Off/
275
+ );
270
276
  fireEvent.press( reverseButton );
271
277
 
272
278
  expect( getEditorHtml() ).toMatchSnapshot();
@@ -285,27 +291,27 @@ describe( 'List block', () => {
285
291
  <!-- /wp:list-item --></ul>
286
292
  <!-- /wp:list -->`;
287
293
 
288
- const { getByLabelText, getByTestId } = await initializeEditor( {
294
+ const screen = await initializeEditor( {
289
295
  initialHtml,
290
296
  } );
291
297
 
292
298
  // Select List block
293
- const listBlock = getByLabelText( /List Block\. Row 1/ );
299
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 1/ );
294
300
  fireEvent.press( listBlock );
295
301
 
296
302
  // Update to ordered list
297
- const orderedButton = getByLabelText( 'Ordered' );
303
+ const orderedButton = screen.getByLabelText( 'Ordered' );
298
304
  fireEvent.press( orderedButton );
299
305
 
300
306
  // Set order to reverse
301
307
 
302
308
  // Open block settings
303
- fireEvent.press( getByLabelText( 'Open Settings' ) );
309
+ fireEvent.press( screen.getByLabelText( 'Open Settings' ) );
304
310
  await waitFor(
305
- () => getByTestId( 'block-settings-modal' ).props.isVisible
311
+ () => screen.getByTestId( 'block-settings-modal' ).props.isVisible
306
312
  );
307
313
 
308
- const startValueButton = getByLabelText( /Start value\. Empty/ );
314
+ const startValueButton = screen.getByLabelText( /Start value\. Empty/ );
309
315
  fireEvent.press( startValueButton );
310
316
  const startValueInput =
311
317
  within( startValueButton ).getByDisplayValue( '' );
@@ -328,11 +334,11 @@ describe( 'List block', () => {
328
334
  } );
329
335
 
330
336
  // Select List block
331
- const listBlock = screen.getByLabelText( /List Block\. Row 2/ );
337
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 2/ );
332
338
  fireEvent.press( listBlock );
333
339
 
334
340
  // Select List Item block
335
- const listItemBlock = within( listBlock ).getByLabelText(
341
+ const [ listItemBlock ] = within( listBlock ).getAllByLabelText(
336
342
  /List item Block\. Row 1/
337
343
  );
338
344
  fireEvent.press( listItemBlock );
@@ -361,7 +367,7 @@ describe( 'List block', () => {
361
367
  ` );
362
368
  } );
363
369
 
364
- it( 'unwraps list items when attempting to merge with non-list block', async () => {
370
+ it( 'unwraps first item when attempting to merge with non-list block', async () => {
365
371
  const initialHtml = `<!-- wp:paragraph -->
366
372
  <p>A quick brown fox.</p>
367
373
  <!-- /wp:paragraph -->
@@ -376,11 +382,11 @@ describe( 'List block', () => {
376
382
  } );
377
383
 
378
384
  // Select List block
379
- const listBlock = screen.getByLabelText( /List Block\. Row 2/ );
385
+ const [ listBlock ] = screen.getAllByLabelText( /List Block\. Row 2/ );
380
386
  fireEvent.press( listBlock );
381
387
 
382
388
  // Select List Item block
383
- const listItemBlock = within( listBlock ).getByLabelText(
389
+ const [ listItemBlock ] = within( listBlock ).getAllByLabelText(
384
390
  /List item Block\. Row 1/
385
391
  );
386
392
  fireEvent.press( listItemBlock );
@@ -400,14 +406,16 @@ describe( 'List block', () => {
400
406
  "<!-- wp:paragraph -->
401
407
  <p>A quick brown fox.</p>
402
408
  <!-- /wp:paragraph -->
403
-
409
+
404
410
  <!-- wp:paragraph -->
405
411
  <p>One</p>
406
412
  <!-- /wp:paragraph -->
407
-
408
- <!-- wp:paragraph -->
409
- <p>Two</p>
410
- <!-- /wp:paragraph -->"
413
+
414
+ <!-- wp:list -->
415
+ <ul><!-- wp:list-item -->
416
+ <li>Two</li>
417
+ <!-- /wp:list-item --></ul>
418
+ <!-- /wp:list -->"
411
419
  ` );
412
420
  } );
413
421
  } );
@@ -114,17 +114,6 @@ const transforms = {
114
114
  );
115
115
  },
116
116
  } ) ),
117
- {
118
- type: 'block',
119
- blocks: [ '*' ],
120
- transform: ( _attributes, childBlocks ) => {
121
- return getListContentFlat( childBlocks ).map( ( content ) =>
122
- createBlock( 'core/paragraph', {
123
- content,
124
- } )
125
- );
126
- },
127
- },
128
117
  ],
129
118
  };
130
119
 
package/src/list/utils.js CHANGED
@@ -56,7 +56,8 @@ export function createListBlockFromDOMElement( listElement ) {
56
56
  }
57
57
 
58
58
  export function migrateToListV2( attributes ) {
59
- const { values, start, reversed, ordered, type } = attributes;
59
+ const { values, start, reversed, ordered, type, ...otherAttributes } =
60
+ attributes;
60
61
 
61
62
  const list = document.createElement( ordered ? 'ol' : 'ul' );
62
63
  list.innerHTML = values;
@@ -72,5 +73,8 @@ export function migrateToListV2( attributes ) {
72
73
 
73
74
  const [ listBlock ] = rawHandler( { HTML: list.outerHTML } );
74
75
 
75
- return [ listBlock.attributes, listBlock.innerBlocks ];
76
+ return [
77
+ { ...otherAttributes, ...listBlock.attributes },
78
+ listBlock.innerBlocks,
79
+ ];
76
80
  }
@@ -10,6 +10,7 @@ import initBlock from '../utils/init-block';
10
10
  import metadata from './block.json';
11
11
  import edit from './edit';
12
12
  import save from './save';
13
+ import transforms from './transforms';
13
14
 
14
15
  const { name } = metadata;
15
16
 
@@ -25,6 +26,7 @@ export const settings = {
25
26
  content: attributes.content + attributesToMerge.content,
26
27
  };
27
28
  },
29
+ transforms,
28
30
  };
29
31
 
30
32
  export const init = () => initBlock( { name, metadata, settings } );
@@ -0,0 +1,17 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { createBlock } from '@wordpress/blocks';
5
+
6
+ const transforms = {
7
+ to: [
8
+ {
9
+ type: 'block',
10
+ blocks: [ 'core/paragraph' ],
11
+ transform: ( attributes ) =>
12
+ createBlock( 'core/paragraph', attributes ),
13
+ },
14
+ ],
15
+ };
16
+
17
+ export default transforms;
@@ -8,6 +8,7 @@ import { createBlock, switchToBlockType } from '@wordpress/blocks';
8
8
  */
9
9
  import { name as listItemName } from './block.json';
10
10
  import { name as listName } from '../list/block.json';
11
+ import { name as paragraphName } from '../paragraph/block.json';
11
12
 
12
13
  export function createListItem( listItemAttributes, listAttributes, children ) {
13
14
  return createBlock(
@@ -19,6 +20,14 @@ export function createListItem( listItemAttributes, listAttributes, children ) {
19
20
  );
20
21
  }
21
22
 
23
+ function convertBlockToList( block ) {
24
+ const list = switchToBlockType( block, listName );
25
+ if ( list ) return list;
26
+ const paragraph = switchToBlockType( block, paragraphName );
27
+ if ( paragraph ) return switchToBlockType( paragraph, listName );
28
+ return null;
29
+ }
30
+
22
31
  export function convertToListItems( blocks ) {
23
32
  const listItems = [];
24
33
 
@@ -27,7 +36,7 @@ export function convertToListItems( blocks ) {
27
36
  listItems.push( block );
28
37
  } else if ( block.name === listName ) {
29
38
  listItems.push( ...block.innerBlocks );
30
- } else if ( ( block = switchToBlockType( block, listName ) ) ) {
39
+ } else if ( ( block = convertBlockToList( block ) ) ) {
31
40
  for ( const { innerBlocks } of block ) {
32
41
  listItems.push( ...innerBlocks );
33
42
  }
@@ -2,7 +2,7 @@
2
2
  * External dependencies
3
3
  */
4
4
  import classnames from 'classnames';
5
- import { map, filter } from 'lodash';
5
+ import { map } from 'lodash';
6
6
 
7
7
  /**
8
8
  * WordPress dependencies
@@ -199,7 +199,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
199
199
  setAttributes( {
200
200
  mediaWidth: applyWidthConstraints( width ),
201
201
  } );
202
- setTemporaryMediaWidth( applyWidthConstraints( width ) );
202
+ setTemporaryMediaWidth( null );
203
203
  };
204
204
 
205
205
  const classNames = classnames( {
@@ -226,7 +226,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
226
226
  };
227
227
 
228
228
  const imageSizeOptions = map(
229
- filter( imageSizes, ( { slug } ) =>
229
+ imageSizes.filter( ( { slug } ) =>
230
230
  getImageSourceUrlBySizeSlug( image, slug )
231
231
  ),
232
232
  ( { name, slug } ) => ( { value: slug, label: name } )
@@ -268,6 +268,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
268
268
  ) }
269
269
  { imageFill && mediaUrl && mediaType === 'image' && (
270
270
  <FocalPointPicker
271
+ __nextHasNoMarginBottom
271
272
  label={ __( 'Focal point picker' ) }
272
273
  url={ mediaUrl }
273
274
  value={ focalPoint }
@@ -306,6 +307,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
306
307
  ) }
307
308
  { mediaUrl && (
308
309
  <RangeControl
310
+ __nextHasNoMarginBottom
309
311
  label={ __( 'Media width' ) }
310
312
  value={ temporaryMediaWidth || mediaWidth }
311
313
  onChange={ commitWidthChange }
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { initializeEditor, fireEvent, waitFor, within } from 'test/helpers';
4
+ import { initializeEditor, fireEvent, within } from 'test/helpers';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -40,12 +40,12 @@ describe( 'Unsupported block', () => {
40
40
  const initialHtml = `<!-- wp:table -->
41
41
  <figure class="wp-block-table"><table><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></tbody></table></figure>
42
42
  <!-- /wp:table -->`;
43
- const { getByLabelText } = await initializeEditor( {
43
+ const screen = await initializeEditor( {
44
44
  initialHtml,
45
45
  } );
46
46
 
47
- const missingBlock = await waitFor( () =>
48
- getByLabelText( /Unsupported Block\. Row 1/ )
47
+ const [ missingBlock ] = await screen.findAllByLabelText(
48
+ /Unsupported Block\. Row 1/
49
49
  );
50
50
 
51
51
  const translatedTableTitle =
@@ -58,24 +58,22 @@ describe( 'Unsupported block', () => {
58
58
  const initialHtml = `<!-- wp:table -->
59
59
  <figure class="wp-block-table"><table><tbody><tr><td>1</td><td>2</td></tr><tr><td>3</td><td>4</td></tr></tbody></table></figure>
60
60
  <!-- /wp:table -->`;
61
- const { getByLabelText, getByText } = await initializeEditor( {
61
+ const screen = await initializeEditor( {
62
62
  initialHtml,
63
63
  } );
64
64
 
65
- const missingBlock = await waitFor( () =>
66
- getByLabelText( /Unsupported Block\. Row 1/ )
65
+ const [ missingBlock ] = await screen.findAllByLabelText(
66
+ /Unsupported Block\. Row 1/
67
67
  );
68
68
 
69
69
  fireEvent.press( missingBlock );
70
70
 
71
- const helpButton = await waitFor( () =>
72
- getByLabelText( 'Help button' )
73
- );
71
+ const [ helpButton ] = await screen.findAllByLabelText( 'Help button' );
74
72
 
75
73
  fireEvent.press( helpButton );
76
74
 
77
- const bottomSheetTitle = await waitFor( () =>
78
- getByText( '«Tabla» no es totalmente compatible' )
75
+ const bottomSheetTitle = await screen.findByText(
76
+ '«Tabla» no es totalmente compatible'
79
77
  );
80
78
 
81
79
  expect( bottomSheetTitle ).toBeDefined();
@@ -0,0 +1,51 @@
1
+ export function areBlocksDirty( originalBlocks, blocks ) {
2
+ return ! isDeepEqual( originalBlocks, blocks, ( prop, x ) => {
3
+ // Skip inner blocks of page list during comparison as they
4
+ // are **always** controlled and may be updated async due to
5
+ // syncing with entity records. Left unchecked this would
6
+ // inadvertently trigger the dirty state.
7
+ if ( x?.name === 'core/page-list' && prop === 'innerBlocks' ) {
8
+ return true;
9
+ }
10
+ } );
11
+ }
12
+
13
+ /**
14
+ * Conditionally compares two candidates for deep equality.
15
+ * Provides an option to skip a given property of an object during comparison.
16
+ *
17
+ * @param {*} x 1st candidate for comparison
18
+ * @param {*} y 2nd candidate for comparison
19
+ * @param {Function|undefined} shouldSkip a function which can be used to skip a given property of an object.
20
+ * @return {boolean} whether the two candidates are deeply equal.
21
+ */
22
+ const isDeepEqual = ( x, y, shouldSkip ) => {
23
+ if ( x === y ) {
24
+ return true;
25
+ } else if (
26
+ typeof x === 'object' &&
27
+ x !== null &&
28
+ x !== undefined &&
29
+ typeof y === 'object' &&
30
+ y !== null &&
31
+ y !== undefined
32
+ ) {
33
+ if ( Object.keys( x ).length !== Object.keys( y ).length ) return false;
34
+
35
+ for ( const prop in x ) {
36
+ if ( y.hasOwnProperty( prop ) ) {
37
+ // Afford skipping a given property of an object.
38
+ if ( shouldSkip && shouldSkip( prop, x ) ) {
39
+ return true;
40
+ }
41
+
42
+ if ( ! isDeepEqual( x[ prop ], y[ prop ], shouldSkip ) )
43
+ return false;
44
+ } else return false;
45
+ }
46
+
47
+ return true;
48
+ }
49
+
50
+ return false;
51
+ };