@wordpress/block-library 7.19.0 → 8.1.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 (862) hide show
  1. package/CHANGELOG.md +8 -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/categories/edit.js +1 -1
  18. package/build/categories/edit.js.map +1 -1
  19. package/build/code/transforms.js +1 -1
  20. package/build/code/transforms.js.map +1 -1
  21. package/build/columns/edit.js +1 -0
  22. package/build/columns/edit.js.map +1 -1
  23. package/build/columns/edit.native.js +13 -30
  24. package/build/columns/edit.native.js.map +1 -1
  25. package/build/comment-author-avatar/edit.js +1 -0
  26. package/build/comment-author-avatar/edit.js.map +1 -1
  27. package/build/cover/edit/inspector-controls.js +3 -1
  28. package/build/cover/edit/inspector-controls.js.map +1 -1
  29. package/build/cover/edit.native.js +24 -16
  30. package/build/cover/edit.native.js.map +1 -1
  31. package/build/embed/embed-controls.native.js +1 -0
  32. package/build/embed/embed-controls.native.js.map +1 -1
  33. package/build/embed/embed-preview.native.js +1 -3
  34. package/build/embed/embed-preview.native.js.map +1 -1
  35. package/build/file/inspector.js +1 -0
  36. package/build/file/inspector.js.map +1 -1
  37. package/build/freeform/edit.js +21 -6
  38. package/build/freeform/edit.js.map +1 -1
  39. package/build/freeform/modal.js +97 -0
  40. package/build/freeform/modal.js.map +1 -0
  41. package/build/gallery/edit.js +38 -15
  42. package/build/gallery/edit.js.map +1 -1
  43. package/build/gallery/gallery.js +2 -16
  44. package/build/gallery/gallery.js.map +1 -1
  45. package/build/gallery/gallery.native.js +1 -3
  46. package/build/gallery/gallery.native.js.map +1 -1
  47. package/build/gallery/shared.js +4 -10
  48. package/build/gallery/shared.js.map +1 -1
  49. package/build/gallery/transforms.js +1 -7
  50. package/build/gallery/transforms.js.map +1 -1
  51. package/build/gallery/use-get-media.js +1 -1
  52. package/build/gallery/use-get-media.js.map +1 -1
  53. package/build/gallery/use-get-media.native.js +3 -1
  54. package/build/gallery/use-get-media.native.js.map +1 -1
  55. package/build/gallery/v1/edit.js +22 -15
  56. package/build/gallery/v1/edit.js.map +1 -1
  57. package/build/gallery/v1/gallery.native.js +1 -3
  58. package/build/gallery/v1/gallery.native.js.map +1 -1
  59. package/build/gallery/v1/shared.js +4 -1
  60. package/build/gallery/v1/shared.js.map +1 -1
  61. package/build/group/edit.js +1 -2
  62. package/build/group/edit.js.map +1 -1
  63. package/build/group/index.js +3 -1
  64. package/build/group/index.js.map +1 -1
  65. package/build/group/placeholder.js +5 -26
  66. package/build/group/placeholder.js.map +1 -1
  67. package/build/heading/deprecated.js +152 -69
  68. package/build/heading/deprecated.js.map +1 -1
  69. package/build/heading/index.js +1 -2
  70. package/build/heading/index.js.map +1 -1
  71. package/build/heading/transforms.js +1 -2
  72. package/build/heading/transforms.js.map +1 -1
  73. package/build/html/index.js +1 -1
  74. package/build/image/edit.js +8 -5
  75. package/build/image/edit.js.map +1 -1
  76. package/build/image/edit.native.js +3 -2
  77. package/build/image/edit.native.js.map +1 -1
  78. package/build/image/image.js +13 -8
  79. package/build/image/image.js.map +1 -1
  80. package/build/index.js +3 -1
  81. package/build/index.js.map +1 -1
  82. package/build/latest-comments/edit.js +1 -0
  83. package/build/latest-comments/edit.js.map +1 -1
  84. package/build/latest-posts/edit.js +2 -0
  85. package/build/latest-posts/edit.js.map +1 -1
  86. package/build/list/transforms.js +1 -9
  87. package/build/list/transforms.js.map +1 -1
  88. package/build/list/utils.js +5 -2
  89. package/build/list/utils.js.map +1 -1
  90. package/build/list-item/index.js +4 -1
  91. package/build/list-item/index.js.map +1 -1
  92. package/build/list-item/transforms.js +22 -0
  93. package/build/list-item/transforms.js.map +1 -0
  94. package/build/list-item/utils.js +77 -1
  95. package/build/list-item/utils.js.map +1 -1
  96. package/build/media-text/edit.js +5 -2
  97. package/build/media-text/edit.js.map +1 -1
  98. package/build/missing/edit.native.js +2 -2
  99. package/build/missing/edit.native.js.map +1 -1
  100. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  101. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  102. package/build/navigation/edit/index.js +95 -117
  103. package/build/navigation/edit/index.js.map +1 -1
  104. package/build/navigation/edit/menu-inspector-controls.js +94 -0
  105. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  106. package/build/navigation/edit/navigation-menu-selector.js +2 -4
  107. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  108. package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
  109. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  110. package/build/navigation/edit/utils.js +81 -0
  111. package/build/navigation/edit/utils.js.map +1 -1
  112. package/build/navigation/view-modal.js +6 -2
  113. package/build/navigation/view-modal.js.map +1 -1
  114. package/build/navigation-link/edit.js +46 -356
  115. package/build/navigation-link/edit.js.map +1 -1
  116. package/build/navigation-link/link-ui.js +222 -0
  117. package/build/navigation-link/link-ui.js.map +1 -0
  118. package/build/navigation-link/transforms.js +12 -0
  119. package/build/navigation-link/transforms.js.map +1 -1
  120. package/build/navigation-link/update-attributes.js +108 -0
  121. package/build/navigation-link/update-attributes.js.map +1 -0
  122. package/build/navigation-submenu/edit.js +49 -245
  123. package/build/navigation-submenu/edit.js.map +1 -1
  124. package/build/page-list/constants.js +15 -0
  125. package/build/page-list/constants.js.map +1 -0
  126. package/build/page-list/convert-to-links-modal.js +22 -86
  127. package/build/page-list/convert-to-links-modal.js.map +1 -1
  128. package/build/page-list/convert-to-navigation-links.js +76 -0
  129. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  130. package/build/page-list/edit.js +143 -78
  131. package/build/page-list/edit.js.map +1 -1
  132. package/build/page-list/index.js +35 -3
  133. package/build/page-list/index.js.map +1 -1
  134. package/build/page-list-item/edit.js +91 -0
  135. package/build/page-list-item/edit.js.map +1 -0
  136. package/build/page-list-item/index.js +85 -0
  137. package/build/page-list-item/index.js.map +1 -0
  138. package/build/page-list-item/init.js +16 -0
  139. package/build/page-list-item/init.js.map +1 -0
  140. package/build/paragraph/index.js +1 -7
  141. package/build/paragraph/index.js.map +1 -1
  142. package/build/post-author/edit.js +3 -2
  143. package/build/post-author/edit.js.map +1 -1
  144. package/build/post-featured-image/overlay.js +1 -1
  145. package/build/post-featured-image/overlay.js.map +1 -1
  146. package/build/post-template/index.js +8 -0
  147. package/build/post-template/index.js.map +1 -1
  148. package/build/preformatted/transforms.js +3 -1
  149. package/build/preformatted/transforms.js.map +1 -1
  150. package/build/query/deprecated.js +192 -21
  151. package/build/query/deprecated.js.map +1 -1
  152. package/build/query/edit/index.js +2 -1
  153. package/build/query/edit/index.js.map +1 -1
  154. package/build/query/edit/inspector-controls/index.js +11 -5
  155. package/build/query/edit/inspector-controls/index.js.map +1 -1
  156. package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
  157. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  158. package/build/query/edit/query-content.js +2 -3
  159. package/build/query/edit/query-content.js.map +1 -1
  160. package/build/query/edit/query-placeholder.js +16 -27
  161. package/build/query/edit/query-placeholder.js.map +1 -1
  162. package/build/query/index.js +0 -8
  163. package/build/query/index.js.map +1 -1
  164. package/build/query/utils.js +73 -9
  165. package/build/query/utils.js.map +1 -1
  166. package/build/rss/edit.js +3 -0
  167. package/build/rss/edit.js.map +1 -1
  168. package/build/search/edit.js +2 -2
  169. package/build/search/edit.js.map +1 -1
  170. package/build/search/edit.native.js +22 -22
  171. package/build/search/edit.native.js.map +1 -1
  172. package/build/search/index.js +9 -1
  173. package/build/search/index.js.map +1 -1
  174. package/build/site-logo/edit.js +17 -9
  175. package/build/site-logo/edit.js.map +1 -1
  176. package/build/site-logo/index.js +1 -0
  177. package/build/site-logo/index.js.map +1 -1
  178. package/build/site-title/index.js +1 -0
  179. package/build/site-title/index.js.map +1 -1
  180. package/build/social-link/edit.js.map +1 -1
  181. package/build/social-link/social-list.js +4 -12
  182. package/build/social-link/social-list.js.map +1 -1
  183. package/build/social-links/edit.js +0 -1
  184. package/build/social-links/edit.js.map +1 -1
  185. package/build/table/edit.js +3 -1
  186. package/build/table/edit.js.map +1 -1
  187. package/build/table/index.js +17 -1
  188. package/build/table/index.js.map +1 -1
  189. package/build/table/save.js +4 -2
  190. package/build/table/save.js.map +1 -1
  191. package/build/table/state.js +24 -12
  192. package/build/table/state.js.map +1 -1
  193. package/build/table/transforms.js +3 -2
  194. package/build/table/transforms.js.map +1 -1
  195. package/build/table-of-contents/edit.js +3 -3
  196. package/build/table-of-contents/edit.js.map +1 -1
  197. package/build/tag-cloud/edit.js +2 -1
  198. package/build/tag-cloud/edit.js.map +1 -1
  199. package/build/template-part/edit/advanced-controls.js +11 -1
  200. package/build/template-part/edit/advanced-controls.js.map +1 -1
  201. package/build/template-part/edit/import-controls.js +160 -0
  202. package/build/template-part/edit/import-controls.js.map +1 -0
  203. package/build/template-part/edit/index.js +2 -1
  204. package/build/template-part/edit/index.js.map +1 -1
  205. package/build/template-part/edit/selection-modal.js +5 -2
  206. package/build/template-part/edit/selection-modal.js.map +1 -1
  207. package/build/template-part/edit/utils/hooks.js +2 -6
  208. package/build/template-part/edit/utils/hooks.js.map +1 -1
  209. package/build/template-part/edit/utils/transformers.js +48 -0
  210. package/build/template-part/edit/utils/transformers.js.map +1 -0
  211. package/build/text-columns/edit.js +1 -0
  212. package/build/text-columns/edit.js.map +1 -1
  213. package/build/utils/transformation-categories.native.js +1 -1
  214. package/build/utils/transformation-categories.native.js.map +1 -1
  215. package/build/video/edit.js +1 -1
  216. package/build/video/edit.js.map +1 -1
  217. package/build/video/edit.native.js +1 -3
  218. package/build/video/edit.native.js.map +1 -1
  219. package/build-module/audio/edit.native.js +1 -2
  220. package/build-module/audio/edit.native.js.map +1 -1
  221. package/build-module/audio/index.js +2 -1
  222. package/build-module/audio/index.js.map +1 -1
  223. package/build-module/avatar/edit.js +1 -0
  224. package/build-module/avatar/edit.js.map +1 -1
  225. package/build-module/avatar/user-control.js +1 -0
  226. package/build-module/avatar/user-control.js.map +1 -1
  227. package/build-module/block/edit.js +14 -2
  228. package/build-module/block/edit.js.map +1 -1
  229. package/build-module/block/edit.native.js +14 -6
  230. package/build-module/block/edit.native.js.map +1 -1
  231. package/build-module/block/index.js +1 -2
  232. package/build-module/block/index.js.map +1 -1
  233. package/build-module/button/edit.native.js +2 -1
  234. package/build-module/button/edit.native.js.map +1 -1
  235. package/build-module/categories/edit.js +1 -1
  236. package/build-module/categories/edit.js.map +1 -1
  237. package/build-module/code/transforms.js +1 -1
  238. package/build-module/code/transforms.js.map +1 -1
  239. package/build-module/columns/edit.js +1 -0
  240. package/build-module/columns/edit.js.map +1 -1
  241. package/build-module/columns/edit.native.js +13 -29
  242. package/build-module/columns/edit.native.js.map +1 -1
  243. package/build-module/comment-author-avatar/edit.js +1 -0
  244. package/build-module/comment-author-avatar/edit.js.map +1 -1
  245. package/build-module/cover/edit/inspector-controls.js +5 -3
  246. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  247. package/build-module/cover/edit.native.js +22 -14
  248. package/build-module/cover/edit.native.js.map +1 -1
  249. package/build-module/embed/embed-controls.native.js +2 -1
  250. package/build-module/embed/embed-controls.native.js.map +1 -1
  251. package/build-module/embed/embed-preview.native.js +1 -2
  252. package/build-module/embed/embed-preview.native.js.map +1 -1
  253. package/build-module/file/inspector.js +1 -0
  254. package/build-module/file/inspector.js.map +1 -1
  255. package/build-module/freeform/edit.js +22 -8
  256. package/build-module/freeform/edit.js.map +1 -1
  257. package/build-module/freeform/modal.js +90 -0
  258. package/build-module/freeform/modal.js.map +1 -0
  259. package/build-module/gallery/edit.js +39 -15
  260. package/build-module/gallery/edit.js.map +1 -1
  261. package/build-module/gallery/gallery.js +3 -16
  262. package/build-module/gallery/gallery.js.map +1 -1
  263. package/build-module/gallery/gallery.native.js +1 -2
  264. package/build-module/gallery/gallery.native.js.map +1 -1
  265. package/build-module/gallery/shared.js +5 -11
  266. package/build-module/gallery/shared.js.map +1 -1
  267. package/build-module/gallery/transforms.js +1 -6
  268. package/build-module/gallery/transforms.js.map +1 -1
  269. package/build-module/gallery/use-get-media.js +1 -1
  270. package/build-module/gallery/use-get-media.js.map +1 -1
  271. package/build-module/gallery/use-get-media.native.js +3 -1
  272. package/build-module/gallery/use-get-media.native.js.map +1 -1
  273. package/build-module/gallery/v1/edit.js +23 -16
  274. package/build-module/gallery/v1/edit.js.map +1 -1
  275. package/build-module/gallery/v1/gallery.native.js +1 -2
  276. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  277. package/build-module/gallery/v1/shared.js +5 -2
  278. package/build-module/gallery/v1/shared.js.map +1 -1
  279. package/build-module/group/edit.js +1 -3
  280. package/build-module/group/edit.js.map +1 -1
  281. package/build-module/group/index.js +3 -1
  282. package/build-module/group/index.js.map +1 -1
  283. package/build-module/group/placeholder.js +5 -26
  284. package/build-module/group/placeholder.js.map +1 -1
  285. package/build-module/heading/deprecated.js +152 -69
  286. package/build-module/heading/deprecated.js.map +1 -1
  287. package/build-module/heading/index.js +1 -2
  288. package/build-module/heading/index.js.map +1 -1
  289. package/build-module/heading/transforms.js +1 -2
  290. package/build-module/heading/transforms.js.map +1 -1
  291. package/build-module/html/index.js +1 -1
  292. package/build-module/image/edit.js +9 -6
  293. package/build-module/image/edit.js.map +1 -1
  294. package/build-module/image/edit.native.js +2 -1
  295. package/build-module/image/edit.native.js.map +1 -1
  296. package/build-module/image/image.js +14 -9
  297. package/build-module/image/image.js.map +1 -1
  298. package/build-module/index.js +2 -1
  299. package/build-module/index.js.map +1 -1
  300. package/build-module/latest-comments/edit.js +1 -0
  301. package/build-module/latest-comments/edit.js.map +1 -1
  302. package/build-module/latest-posts/edit.js +2 -0
  303. package/build-module/latest-posts/edit.js.map +1 -1
  304. package/build-module/list/transforms.js +1 -9
  305. package/build-module/list/transforms.js.map +1 -1
  306. package/build-module/list/utils.js +5 -2
  307. package/build-module/list/utils.js.map +1 -1
  308. package/build-module/list-item/index.js +3 -1
  309. package/build-module/list-item/index.js.map +1 -1
  310. package/build-module/list-item/transforms.js +13 -0
  311. package/build-module/list-item/transforms.js.map +1 -0
  312. package/build-module/list-item/utils.js +78 -1
  313. package/build-module/list-item/utils.js.map +1 -1
  314. package/build-module/media-text/edit.js +6 -3
  315. package/build-module/media-text/edit.js.map +1 -1
  316. package/build-module/missing/edit.native.js +2 -2
  317. package/build-module/missing/edit.native.js.map +1 -1
  318. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  319. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  320. package/build-module/navigation/edit/index.js +95 -118
  321. package/build-module/navigation/edit/index.js.map +1 -1
  322. package/build-module/navigation/edit/menu-inspector-controls.js +80 -0
  323. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  324. package/build-module/navigation/edit/navigation-menu-selector.js +2 -4
  325. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  326. package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
  327. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  328. package/build-module/navigation/edit/utils.js +75 -0
  329. package/build-module/navigation/edit/utils.js.map +1 -1
  330. package/build-module/navigation/view-modal.js +6 -2
  331. package/build-module/navigation/view-modal.js.map +1 -1
  332. package/build-module/navigation-link/edit.js +49 -357
  333. package/build-module/navigation-link/edit.js.map +1 -1
  334. package/build-module/navigation-link/link-ui.js +206 -0
  335. package/build-module/navigation-link/link-ui.js.map +1 -0
  336. package/build-module/navigation-link/transforms.js +12 -0
  337. package/build-module/navigation-link/transforms.js.map +1 -1
  338. package/build-module/navigation-link/update-attributes.js +97 -0
  339. package/build-module/navigation-link/update-attributes.js.map +1 -0
  340. package/build-module/navigation-submenu/edit.js +52 -246
  341. package/build-module/navigation-submenu/edit.js.map +1 -1
  342. package/build-module/page-list/constants.js +6 -0
  343. package/build-module/page-list/constants.js.map +1 -0
  344. package/build-module/page-list/convert-to-links-modal.js +20 -81
  345. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  346. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  347. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  348. package/build-module/page-list/edit.js +146 -82
  349. package/build-module/page-list/edit.js.map +1 -1
  350. package/build-module/page-list/index.js +36 -4
  351. package/build-module/page-list/index.js.map +1 -1
  352. package/build-module/page-list-item/edit.js +77 -0
  353. package/build-module/page-list-item/edit.js.map +1 -0
  354. package/build-module/page-list-item/index.js +68 -0
  355. package/build-module/page-list-item/index.js.map +1 -0
  356. package/build-module/page-list-item/init.js +6 -0
  357. package/build-module/page-list-item/init.js.map +1 -0
  358. package/build-module/paragraph/index.js +1 -7
  359. package/build-module/paragraph/index.js.map +1 -1
  360. package/build-module/post-author/edit.js +3 -2
  361. package/build-module/post-author/edit.js.map +1 -1
  362. package/build-module/post-featured-image/overlay.js +1 -1
  363. package/build-module/post-featured-image/overlay.js.map +1 -1
  364. package/build-module/post-template/index.js +8 -0
  365. package/build-module/post-template/index.js.map +1 -1
  366. package/build-module/preformatted/transforms.js +3 -1
  367. package/build-module/preformatted/transforms.js.map +1 -1
  368. package/build-module/query/deprecated.js +185 -21
  369. package/build-module/query/deprecated.js.map +1 -1
  370. package/build-module/query/edit/index.js +2 -1
  371. package/build-module/query/edit/index.js.map +1 -1
  372. package/build-module/query/edit/inspector-controls/index.js +11 -5
  373. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  374. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
  375. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  376. package/build-module/query/edit/query-content.js +1 -1
  377. package/build-module/query/edit/query-content.js.map +1 -1
  378. package/build-module/query/edit/query-placeholder.js +15 -27
  379. package/build-module/query/edit/query-placeholder.js.map +1 -1
  380. package/build-module/query/index.js +0 -8
  381. package/build-module/query/index.js.map +1 -1
  382. package/build-module/query/utils.js +69 -8
  383. package/build-module/query/utils.js.map +1 -1
  384. package/build-module/rss/edit.js +3 -0
  385. package/build-module/rss/edit.js.map +1 -1
  386. package/build-module/search/edit.js +2 -2
  387. package/build-module/search/edit.js.map +1 -1
  388. package/build-module/search/edit.native.js +20 -20
  389. package/build-module/search/edit.native.js.map +1 -1
  390. package/build-module/search/index.js +8 -1
  391. package/build-module/search/index.js.map +1 -1
  392. package/build-module/site-logo/edit.js +17 -8
  393. package/build-module/site-logo/edit.js.map +1 -1
  394. package/build-module/site-logo/index.js +1 -0
  395. package/build-module/site-logo/index.js.map +1 -1
  396. package/build-module/site-title/index.js +1 -0
  397. package/build-module/site-title/index.js.map +1 -1
  398. package/build-module/social-link/edit.js +2 -2
  399. package/build-module/social-link/edit.js.map +1 -1
  400. package/build-module/social-link/social-list.js +2 -11
  401. package/build-module/social-link/social-list.js.map +1 -1
  402. package/build-module/social-links/edit.js +0 -1
  403. package/build-module/social-links/edit.js.map +1 -1
  404. package/build-module/table/edit.js +3 -1
  405. package/build-module/table/edit.js.map +1 -1
  406. package/build-module/table/index.js +17 -1
  407. package/build-module/table/index.js.map +1 -1
  408. package/build-module/table/save.js +4 -2
  409. package/build-module/table/save.js.map +1 -1
  410. package/build-module/table/state.js +25 -13
  411. package/build-module/table/state.js.map +1 -1
  412. package/build-module/table/transforms.js +3 -2
  413. package/build-module/table/transforms.js.map +1 -1
  414. package/build-module/table-of-contents/edit.js +3 -3
  415. package/build-module/table-of-contents/edit.js.map +1 -1
  416. package/build-module/tag-cloud/edit.js +3 -2
  417. package/build-module/tag-cloud/edit.js.map +1 -1
  418. package/build-module/template-part/edit/advanced-controls.js +10 -1
  419. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  420. package/build-module/template-part/edit/import-controls.js +146 -0
  421. package/build-module/template-part/edit/import-controls.js.map +1 -0
  422. package/build-module/template-part/edit/index.js +2 -1
  423. package/build-module/template-part/edit/index.js.map +1 -1
  424. package/build-module/template-part/edit/selection-modal.js +6 -3
  425. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  426. package/build-module/template-part/edit/utils/hooks.js +3 -7
  427. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  428. package/build-module/template-part/edit/utils/transformers.js +40 -0
  429. package/build-module/template-part/edit/utils/transformers.js.map +1 -0
  430. package/build-module/text-columns/edit.js +1 -0
  431. package/build-module/text-columns/edit.js.map +1 -1
  432. package/build-module/utils/transformation-categories.native.js +1 -1
  433. package/build-module/utils/transformation-categories.native.js.map +1 -1
  434. package/build-module/video/edit.js +1 -1
  435. package/build-module/video/edit.js.map +1 -1
  436. package/build-module/video/edit.native.js +1 -2
  437. package/build-module/video/edit.native.js.map +1 -1
  438. package/build-style/archives/editor-rtl.css +15 -3
  439. package/build-style/archives/editor.css +15 -3
  440. package/build-style/archives/style-rtl.css +15 -3
  441. package/build-style/archives/style.css +15 -3
  442. package/build-style/audio/editor-rtl.css +15 -3
  443. package/build-style/audio/editor.css +15 -3
  444. package/build-style/audio/style-rtl.css +15 -3
  445. package/build-style/audio/style.css +15 -3
  446. package/build-style/audio/theme-rtl.css +15 -3
  447. package/build-style/audio/theme.css +15 -3
  448. package/build-style/avatar/editor-rtl.css +15 -3
  449. package/build-style/avatar/editor.css +15 -3
  450. package/build-style/avatar/style-rtl.css +15 -3
  451. package/build-style/avatar/style.css +15 -3
  452. package/build-style/block/editor-rtl.css +25 -3
  453. package/build-style/block/editor.css +25 -3
  454. package/build-style/button/editor-rtl.css +15 -3
  455. package/build-style/button/editor.css +15 -3
  456. package/build-style/button/style-rtl.css +15 -3
  457. package/build-style/button/style.css +15 -3
  458. package/build-style/buttons/editor-rtl.css +15 -3
  459. package/build-style/buttons/editor.css +15 -3
  460. package/build-style/buttons/style-rtl.css +15 -3
  461. package/build-style/buttons/style.css +15 -3
  462. package/build-style/calendar/style-rtl.css +15 -3
  463. package/build-style/calendar/style.css +15 -3
  464. package/build-style/categories/editor-rtl.css +15 -3
  465. package/build-style/categories/editor.css +15 -3
  466. package/build-style/categories/style-rtl.css +15 -3
  467. package/build-style/categories/style.css +15 -3
  468. package/build-style/classic-rtl.css +15 -3
  469. package/build-style/classic.css +15 -3
  470. package/build-style/code/editor-rtl.css +15 -3
  471. package/build-style/code/editor.css +15 -3
  472. package/build-style/code/style-rtl.css +15 -3
  473. package/build-style/code/style.css +15 -3
  474. package/build-style/code/theme-rtl.css +15 -3
  475. package/build-style/code/theme.css +15 -3
  476. package/build-style/columns/editor-rtl.css +15 -3
  477. package/build-style/columns/editor.css +15 -3
  478. package/build-style/columns/style-rtl.css +15 -3
  479. package/build-style/columns/style.css +15 -3
  480. package/build-style/comment-author-avatar/editor-rtl.css +15 -3
  481. package/build-style/comment-author-avatar/editor.css +15 -3
  482. package/build-style/comment-content/style-rtl.css +15 -3
  483. package/build-style/comment-content/style.css +15 -3
  484. package/build-style/comment-template/style-rtl.css +15 -3
  485. package/build-style/comment-template/style.css +15 -3
  486. package/build-style/comments/editor-rtl.css +15 -3
  487. package/build-style/comments/editor.css +15 -3
  488. package/build-style/comments/style-rtl.css +15 -3
  489. package/build-style/comments/style.css +15 -3
  490. package/build-style/comments-pagination/editor-rtl.css +15 -3
  491. package/build-style/comments-pagination/editor.css +15 -3
  492. package/build-style/comments-pagination/style-rtl.css +15 -3
  493. package/build-style/comments-pagination/style.css +15 -3
  494. package/build-style/comments-pagination-numbers/editor-rtl.css +15 -3
  495. package/build-style/comments-pagination-numbers/editor.css +15 -3
  496. package/build-style/comments-title/editor-rtl.css +15 -3
  497. package/build-style/comments-title/editor.css +15 -3
  498. package/build-style/common-rtl.css +20 -4
  499. package/build-style/common.css +20 -4
  500. package/build-style/cover/editor-rtl.css +15 -3
  501. package/build-style/cover/editor.css +15 -3
  502. package/build-style/cover/style-rtl.css +17 -4
  503. package/build-style/cover/style.css +17 -4
  504. package/build-style/editor-elements-rtl.css +15 -3
  505. package/build-style/editor-elements.css +15 -3
  506. package/build-style/editor-rtl.css +46 -29
  507. package/build-style/editor.css +46 -29
  508. package/build-style/elements-rtl.css +15 -3
  509. package/build-style/elements.css +15 -3
  510. package/build-style/embed/editor-rtl.css +15 -3
  511. package/build-style/embed/editor.css +15 -3
  512. package/build-style/embed/style-rtl.css +15 -3
  513. package/build-style/embed/style.css +15 -3
  514. package/build-style/embed/theme-rtl.css +15 -3
  515. package/build-style/embed/theme.css +15 -3
  516. package/build-style/file/editor-rtl.css +15 -3
  517. package/build-style/file/editor.css +15 -3
  518. package/build-style/file/style-rtl.css +15 -3
  519. package/build-style/file/style.css +15 -3
  520. package/build-style/freeform/editor-rtl.css +15 -3
  521. package/build-style/freeform/editor.css +15 -3
  522. package/build-style/gallery/editor-rtl.css +16 -4
  523. package/build-style/gallery/editor.css +16 -4
  524. package/build-style/gallery/style-rtl.css +19 -5
  525. package/build-style/gallery/style.css +19 -5
  526. package/build-style/gallery/theme-rtl.css +15 -3
  527. package/build-style/gallery/theme.css +15 -3
  528. package/build-style/group/editor-rtl.css +15 -3
  529. package/build-style/group/editor.css +15 -3
  530. package/build-style/group/style-rtl.css +15 -3
  531. package/build-style/group/style.css +15 -3
  532. package/build-style/group/theme-rtl.css +15 -3
  533. package/build-style/group/theme.css +15 -3
  534. package/build-style/heading/style-rtl.css +15 -3
  535. package/build-style/heading/style.css +15 -3
  536. package/build-style/html/editor-rtl.css +15 -3
  537. package/build-style/html/editor.css +15 -3
  538. package/build-style/image/editor-rtl.css +15 -12
  539. package/build-style/image/editor.css +15 -12
  540. package/build-style/image/style-rtl.css +15 -3
  541. package/build-style/image/style.css +15 -3
  542. package/build-style/image/theme-rtl.css +15 -3
  543. package/build-style/image/theme.css +15 -3
  544. package/build-style/latest-comments/style-rtl.css +15 -3
  545. package/build-style/latest-comments/style.css +15 -3
  546. package/build-style/latest-posts/editor-rtl.css +15 -3
  547. package/build-style/latest-posts/editor.css +15 -3
  548. package/build-style/latest-posts/style-rtl.css +15 -3
  549. package/build-style/latest-posts/style.css +15 -3
  550. package/build-style/list/style-rtl.css +15 -3
  551. package/build-style/list/style.css +15 -3
  552. package/build-style/media-text/editor-rtl.css +15 -3
  553. package/build-style/media-text/editor.css +15 -3
  554. package/build-style/media-text/style-rtl.css +15 -3
  555. package/build-style/media-text/style.css +15 -3
  556. package/build-style/more/editor-rtl.css +15 -3
  557. package/build-style/more/editor.css +15 -3
  558. package/build-style/navigation/editor-rtl.css +15 -9
  559. package/build-style/navigation/editor.css +15 -9
  560. package/build-style/navigation/style-rtl.css +15 -4
  561. package/build-style/navigation/style.css +15 -4
  562. package/build-style/navigation-link/editor-rtl.css +15 -3
  563. package/build-style/navigation-link/editor.css +15 -3
  564. package/build-style/navigation-link/style-rtl.css +15 -3
  565. package/build-style/navigation-link/style.css +15 -3
  566. package/build-style/navigation-submenu/editor-rtl.css +15 -3
  567. package/build-style/navigation-submenu/editor.css +15 -3
  568. package/build-style/nextpage/editor-rtl.css +15 -3
  569. package/build-style/nextpage/editor.css +15 -3
  570. package/build-style/page-list/editor-rtl.css +19 -3
  571. package/build-style/page-list/editor.css +19 -3
  572. package/build-style/page-list/style-rtl.css +15 -3
  573. package/build-style/page-list/style.css +15 -3
  574. package/build-style/paragraph/editor-rtl.css +15 -3
  575. package/build-style/paragraph/editor.css +15 -3
  576. package/build-style/paragraph/style-rtl.css +15 -3
  577. package/build-style/paragraph/style.css +15 -3
  578. package/build-style/post-author/style-rtl.css +15 -3
  579. package/build-style/post-author/style.css +15 -3
  580. package/build-style/post-comments-form/editor-rtl.css +15 -3
  581. package/build-style/post-comments-form/editor.css +15 -3
  582. package/build-style/post-comments-form/style-rtl.css +15 -3
  583. package/build-style/post-comments-form/style.css +15 -3
  584. package/build-style/post-date/style-rtl.css +15 -3
  585. package/build-style/post-date/style.css +15 -3
  586. package/build-style/post-excerpt/editor-rtl.css +15 -3
  587. package/build-style/post-excerpt/editor.css +15 -3
  588. package/build-style/post-excerpt/style-rtl.css +15 -3
  589. package/build-style/post-excerpt/style.css +15 -3
  590. package/build-style/post-featured-image/editor-rtl.css +15 -3
  591. package/build-style/post-featured-image/editor.css +15 -3
  592. package/build-style/post-featured-image/style-rtl.css +15 -3
  593. package/build-style/post-featured-image/style.css +15 -3
  594. package/build-style/post-navigation-link/style-rtl.css +15 -3
  595. package/build-style/post-navigation-link/style.css +15 -3
  596. package/build-style/post-template/editor-rtl.css +15 -3
  597. package/build-style/post-template/editor.css +15 -3
  598. package/build-style/post-template/style-rtl.css +15 -3
  599. package/build-style/post-template/style.css +15 -3
  600. package/build-style/post-terms/style-rtl.css +15 -3
  601. package/build-style/post-terms/style.css +15 -3
  602. package/build-style/post-title/style-rtl.css +15 -3
  603. package/build-style/post-title/style.css +15 -3
  604. package/build-style/preformatted/style-rtl.css +15 -3
  605. package/build-style/preformatted/style.css +15 -3
  606. package/build-style/pullquote/editor-rtl.css +15 -3
  607. package/build-style/pullquote/editor.css +15 -3
  608. package/build-style/pullquote/style-rtl.css +15 -3
  609. package/build-style/pullquote/style.css +15 -3
  610. package/build-style/pullquote/theme-rtl.css +15 -3
  611. package/build-style/pullquote/theme.css +15 -3
  612. package/build-style/query/editor-rtl.css +15 -3
  613. package/build-style/query/editor.css +15 -3
  614. package/build-style/query-pagination/editor-rtl.css +15 -3
  615. package/build-style/query-pagination/editor.css +15 -3
  616. package/build-style/query-pagination/style-rtl.css +15 -3
  617. package/build-style/query-pagination/style.css +15 -3
  618. package/build-style/query-pagination-numbers/editor-rtl.css +15 -3
  619. package/build-style/query-pagination-numbers/editor.css +15 -3
  620. package/build-style/query-title/style-rtl.css +15 -3
  621. package/build-style/query-title/style.css +15 -3
  622. package/build-style/quote/style-rtl.css +15 -3
  623. package/build-style/quote/style.css +15 -3
  624. package/build-style/quote/theme-rtl.css +15 -3
  625. package/build-style/quote/theme.css +15 -3
  626. package/build-style/read-more/style-rtl.css +15 -3
  627. package/build-style/read-more/style.css +15 -3
  628. package/build-style/reset-rtl.css +15 -3
  629. package/build-style/reset.css +15 -3
  630. package/build-style/rss/editor-rtl.css +15 -3
  631. package/build-style/rss/editor.css +15 -3
  632. package/build-style/rss/style-rtl.css +15 -3
  633. package/build-style/rss/style.css +15 -3
  634. package/build-style/search/editor-rtl.css +15 -3
  635. package/build-style/search/editor.css +15 -3
  636. package/build-style/search/style-rtl.css +15 -3
  637. package/build-style/search/style.css +15 -3
  638. package/build-style/search/theme-rtl.css +15 -3
  639. package/build-style/search/theme.css +15 -3
  640. package/build-style/separator/editor-rtl.css +15 -3
  641. package/build-style/separator/editor.css +15 -3
  642. package/build-style/separator/style-rtl.css +15 -3
  643. package/build-style/separator/style.css +15 -3
  644. package/build-style/separator/theme-rtl.css +15 -3
  645. package/build-style/separator/theme.css +15 -3
  646. package/build-style/shortcode/editor-rtl.css +16 -4
  647. package/build-style/shortcode/editor.css +16 -4
  648. package/build-style/site-logo/editor-rtl.css +15 -3
  649. package/build-style/site-logo/editor.css +15 -3
  650. package/build-style/site-logo/style-rtl.css +15 -3
  651. package/build-style/site-logo/style.css +15 -3
  652. package/build-style/site-tagline/editor-rtl.css +15 -3
  653. package/build-style/site-tagline/editor.css +15 -3
  654. package/build-style/site-title/editor-rtl.css +15 -3
  655. package/build-style/site-title/editor.css +15 -3
  656. package/build-style/site-title/style-rtl.css +15 -3
  657. package/build-style/site-title/style.css +15 -3
  658. package/build-style/social-link/editor-rtl.css +15 -3
  659. package/build-style/social-link/editor.css +15 -3
  660. package/build-style/social-links/editor-rtl.css +15 -3
  661. package/build-style/social-links/editor.css +15 -3
  662. package/build-style/social-links/style-rtl.css +15 -3
  663. package/build-style/social-links/style.css +15 -3
  664. package/build-style/spacer/editor-rtl.css +15 -3
  665. package/build-style/spacer/editor.css +15 -3
  666. package/build-style/spacer/style-rtl.css +15 -3
  667. package/build-style/spacer/style.css +15 -3
  668. package/build-style/style-rtl.css +36 -10
  669. package/build-style/style.css +36 -10
  670. package/build-style/table/editor-rtl.css +15 -11
  671. package/build-style/table/editor.css +15 -11
  672. package/build-style/table/style-rtl.css +21 -3
  673. package/build-style/table/style.css +21 -3
  674. package/build-style/table/theme-rtl.css +15 -9
  675. package/build-style/table/theme.css +15 -9
  676. package/build-style/tag-cloud/style-rtl.css +15 -3
  677. package/build-style/tag-cloud/style.css +15 -3
  678. package/build-style/template-part/editor-rtl.css +30 -4
  679. package/build-style/template-part/editor.css +30 -4
  680. package/build-style/template-part/theme-rtl.css +15 -3
  681. package/build-style/template-part/theme.css +15 -3
  682. package/build-style/text-columns/editor-rtl.css +15 -3
  683. package/build-style/text-columns/editor.css +15 -3
  684. package/build-style/text-columns/style-rtl.css +15 -3
  685. package/build-style/text-columns/style.css +15 -3
  686. package/build-style/theme-rtl.css +15 -9
  687. package/build-style/theme.css +15 -9
  688. package/build-style/verse/style-rtl.css +19 -4
  689. package/build-style/verse/style.css +19 -4
  690. package/build-style/video/editor-rtl.css +15 -3
  691. package/build-style/video/editor.css +15 -3
  692. package/build-style/video/style-rtl.css +17 -4
  693. package/build-style/video/style.css +17 -4
  694. package/build-style/video/theme-rtl.css +15 -3
  695. package/build-style/video/theme.css +15 -3
  696. package/package.json +32 -30
  697. package/src/audio/edit.native.js +1 -2
  698. package/src/audio/index.js +1 -0
  699. package/src/avatar/edit.js +1 -0
  700. package/src/avatar/user-control.js +1 -0
  701. package/src/block/block.json +1 -2
  702. package/src/block/edit.js +14 -3
  703. package/src/block/edit.native.js +24 -12
  704. package/src/block/editor.scss +17 -0
  705. package/src/block/index.php +1 -2
  706. package/src/block/test/edit.native.js +28 -32
  707. package/src/button/edit.native.js +1 -0
  708. package/src/buttons/test/edit.native.js +40 -51
  709. package/src/categories/edit.js +1 -1
  710. package/src/code/transforms.js +3 -1
  711. package/src/columns/edit.js +1 -0
  712. package/src/columns/edit.native.js +18 -26
  713. package/src/comment-author-avatar/edit.js +1 -0
  714. package/src/comments/index.php +0 -1
  715. package/src/cover/edit/inspector-controls.js +6 -4
  716. package/src/cover/edit.native.js +32 -19
  717. package/src/cover/test/edit.native.js +73 -126
  718. package/src/embed/embed-controls.native.js +1 -0
  719. package/src/embed/embed-preview.native.js +1 -2
  720. package/src/embed/test/index.native.js +237 -231
  721. package/src/file/inspector.js +1 -0
  722. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  723. package/src/freeform/edit.js +48 -29
  724. package/src/freeform/modal.js +111 -0
  725. package/src/gallery/edit.js +32 -7
  726. package/src/gallery/gallery.js +3 -13
  727. package/src/gallery/gallery.native.js +1 -2
  728. package/src/gallery/shared.js +7 -11
  729. package/src/gallery/transforms.js +1 -6
  730. package/src/gallery/use-get-media.js +1 -1
  731. package/src/gallery/use-get-media.native.js +2 -1
  732. package/src/gallery/v1/edit.js +8 -7
  733. package/src/gallery/v1/gallery.native.js +1 -2
  734. package/src/gallery/v1/shared.js +7 -2
  735. package/src/group/block.json +3 -1
  736. package/src/group/edit.js +2 -6
  737. package/src/group/placeholder.js +6 -25
  738. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  739. package/src/heading/block.json +1 -2
  740. package/src/heading/deprecated.js +209 -136
  741. package/src/heading/index.php +52 -0
  742. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  743. package/src/heading/test/index.native.js +44 -0
  744. package/src/home-link/index.php +1 -1
  745. package/src/html/block.json +1 -1
  746. package/src/image/edit.js +7 -2
  747. package/src/image/edit.native.js +2 -1
  748. package/src/image/editor.scss +0 -11
  749. package/src/image/image.js +14 -8
  750. package/src/image/test/edit.native.js +14 -10
  751. package/src/index.js +2 -0
  752. package/src/latest-comments/edit.js +1 -0
  753. package/src/latest-posts/edit.js +2 -0
  754. package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
  755. package/src/latest-posts/test/edit.native.js +49 -0
  756. package/src/list/test/edit.native.js +53 -45
  757. package/src/list/transforms.js +0 -11
  758. package/src/list/utils.js +6 -2
  759. package/src/list-item/index.js +2 -0
  760. package/src/list-item/transforms.js +17 -0
  761. package/src/list-item/utils.js +10 -1
  762. package/src/media-text/edit.js +6 -3
  763. package/src/missing/edit.native.js +13 -6
  764. package/src/missing/test/edit-integration.native.js +10 -12
  765. package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
  766. package/src/more/test/edit.native.js +41 -0
  767. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  768. package/src/navigation/edit/index.js +229 -298
  769. package/src/navigation/edit/menu-inspector-controls.js +119 -0
  770. package/src/navigation/edit/navigation-menu-selector.js +6 -7
  771. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  772. package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
  773. package/src/navigation/edit/utils.js +82 -0
  774. package/src/navigation/editor.scss +0 -7
  775. package/src/navigation/index.php +89 -10
  776. package/src/navigation/style.scss +0 -1
  777. package/src/navigation/view-modal.js +11 -1
  778. package/src/navigation-link/edit.js +62 -386
  779. package/src/navigation-link/index.php +64 -0
  780. package/src/navigation-link/link-ui.js +213 -0
  781. package/src/navigation-link/test/edit.js +23 -82
  782. package/src/navigation-link/transforms.js +14 -0
  783. package/src/navigation-link/update-attributes.js +99 -0
  784. package/src/navigation-submenu/edit.js +85 -276
  785. package/src/navigation-submenu/index.php +72 -0
  786. package/src/page-list/block.json +24 -2
  787. package/src/page-list/constants.js +8 -0
  788. package/src/page-list/convert-to-links-modal.js +19 -76
  789. package/src/page-list/convert-to-navigation-links.js +60 -0
  790. package/src/page-list/edit.js +187 -118
  791. package/src/page-list/editor.scss +4 -0
  792. package/src/page-list/index.js +8 -2
  793. package/src/page-list/index.php +18 -10
  794. package/src/page-list/test/convert-to-links-modal.js +28 -34
  795. package/src/page-list-item/block.json +51 -0
  796. package/src/page-list-item/edit.js +102 -0
  797. package/src/page-list-item/index.js +24 -0
  798. package/src/page-list-item/init.js +6 -0
  799. package/src/paragraph/index.js +0 -6
  800. package/src/post-author/edit.js +3 -2
  801. package/src/post-content/index.php +1 -2
  802. package/src/post-featured-image/index.php +7 -2
  803. package/src/post-featured-image/overlay.js +1 -1
  804. package/src/post-template/block.json +8 -0
  805. package/src/preformatted/transforms.js +4 -1
  806. package/src/query/block.json +0 -8
  807. package/src/query/deprecated.js +257 -86
  808. package/src/query/edit/index.js +1 -0
  809. package/src/query/edit/inspector-controls/index.js +50 -38
  810. package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
  811. package/src/query/edit/query-content.js +2 -1
  812. package/src/query/edit/query-placeholder.js +14 -25
  813. package/src/query/utils.js +59 -1
  814. package/src/rss/edit.js +3 -0
  815. package/src/search/edit.js +2 -2
  816. package/src/search/edit.native.js +31 -27
  817. package/src/search/index.js +5 -1
  818. package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
  819. package/src/separator/test/edit.native.js +41 -0
  820. package/src/shortcode/test/edit.native.js +15 -18
  821. package/src/site-logo/edit.js +13 -5
  822. package/src/site-logo/index.js +1 -0
  823. package/src/site-title/index.js +1 -0
  824. package/src/social-link/edit.js +3 -3
  825. package/src/social-link/social-list.js +2 -7
  826. package/src/social-link/test/index.native.js +10 -16
  827. package/src/social-links/edit.js +0 -1
  828. package/src/social-links/test/edit.native.js +4 -3
  829. package/src/spacer/test/index.native.js +39 -36
  830. package/src/table/block.json +15 -0
  831. package/src/table/edit.js +2 -1
  832. package/src/table/editor.scss +0 -4
  833. package/src/table/index.js +1 -0
  834. package/src/table/save.js +5 -1
  835. package/src/table/state.js +22 -7
  836. package/src/table/style.scss +8 -0
  837. package/src/table/theme.scss +0 -8
  838. package/src/table/transforms.js +2 -1
  839. package/src/table-of-contents/edit.js +3 -3
  840. package/src/tag-cloud/edit.js +3 -2
  841. package/src/template-part/edit/advanced-controls.js +12 -0
  842. package/src/template-part/edit/import-controls.js +180 -0
  843. package/src/template-part/edit/index.js +1 -0
  844. package/src/template-part/edit/selection-modal.js +4 -3
  845. package/src/template-part/edit/utils/hooks.js +7 -3
  846. package/src/template-part/edit/utils/transformers.js +37 -0
  847. package/src/template-part/editor.scss +20 -2
  848. package/src/template-part/index.php +1 -2
  849. package/src/text-columns/edit.js +1 -0
  850. package/src/utils/transformation-categories.native.js +1 -0
  851. package/src/verse/style.scss +4 -1
  852. package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
  853. package/src/verse/test/edit.native.js +40 -33
  854. package/src/video/edit.js +1 -1
  855. package/src/video/edit.native.js +1 -2
  856. package/test/babel-plugin.js +35 -35
  857. package/tsconfig.tsbuildinfo +1 -1
  858. package/build/query/constants.js +0 -16
  859. package/build/query/constants.js.map +0 -1
  860. package/build-module/query/constants.js +0 -7
  861. package/build-module/query/constants.js.map +0 -1
  862. package/src/query/constants.js +0 -7
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.native.js"],"names":["EmbedLinkSettings","__","PanelBody","ToggleControl","InspectorControls","useDispatch","store","editPostStore","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","themeSupportsResponsive","allowResponsive","toggleResponsive","url","linkLabel","onEditURL","closeGeneralSidebar","closeSettingsBottomSheet","value"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,iBAAP,MAA8B,uBAA9B;AACA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,aAApB,QAAyC,uBAAzC;AACA,SAASC,iBAAT,QAAkC,yBAAlC;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXR,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMS,aAAa,GAAG,QAQf;AAAA,MARiB;AACvBC,IAAAA,uBADuB;AAEvBC,IAAAA,uBAFuB;AAGvBC,IAAAA,eAHuB;AAIvBC,IAAAA,gBAJuB;AAKvBC,IAAAA,GALuB;AAMvBC,IAAAA,SANuB;AAOvBC,IAAAA;AAPuB,GAQjB;AACN,QAAM;AAAEC,IAAAA,mBAAmB,EAAEC;AAAvB,MACLd,WAAW,CAAEE,aAAF,CADZ;AAGA,SACC,8BACC,cAAC,iBAAD,QACGK,uBAAuB,IAAID,uBAA3B,IACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGV,EAAE,CAAE,gBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CADX;AAEC,IAAA,OAAO,EAAGY,eAFX;AAGC,IAAA,IAAI,EAAGL,iBAHR;AAIC,IAAA,QAAQ,EAAGM;AAJZ,IADD,CAFF,EAWC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGb,EAAE,CAAE,eAAF;AAArB,KACC,cAAC,iBAAD;AACC,IAAA,KAAK,EAAGc,GADT;AAEC,IAAA,KAAK,EAAGC,SAFT;AAGC,IAAA,QAAQ,EAAKI,KAAF,IAAa;AACvBD,MAAAA,wBAAwB;AACxBF,MAAAA,SAAS,CAAEG,KAAF,CAAT;AACA;AANF,IADD,CAXD,CADD,CADD;AA0BA,CAtCD;;AAwCA,eAAeV,aAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport EmbedLinkSettings from './embed-link-settings';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\nimport { store as editPostStore } from '@wordpress/edit-post';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\turl,\n\tlinkLabel,\n\tonEditURL,\n} ) => {\n\tconst { closeGeneralSidebar: closeSettingsBottomSheet } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<EmbedLinkSettings\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tlabel={ linkLabel }\n\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\tcloseSettingsBottomSheet();\n\t\t\t\t\t\t\tonEditURL( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default EmbedControls;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.native.js"],"names":["EmbedLinkSettings","__","PanelBody","ToggleControl","InspectorControls","useDispatch","store","editPostStore","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","themeSupportsResponsive","allowResponsive","toggleResponsive","url","linkLabel","onEditURL","closeGeneralSidebar","closeSettingsBottomSheet","value"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,iBAAP,MAA8B,uBAA9B;AACA;AACA;AACA;;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,EAAoBC,aAApB,QAAyC,uBAAzC;AACA,SAASC,iBAAT,QAAkC,yBAAlC;AACA,SAASC,WAAT,QAA4B,iBAA5B,C,CACA;;AACA,SAASC,KAAK,IAAIC,aAAlB,QAAuC,sBAAvC;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXR,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMS,aAAa,GAAG,QAQf;AAAA,MARiB;AACvBC,IAAAA,uBADuB;AAEvBC,IAAAA,uBAFuB;AAGvBC,IAAAA,eAHuB;AAIvBC,IAAAA,gBAJuB;AAKvBC,IAAAA,GALuB;AAMvBC,IAAAA,SANuB;AAOvBC,IAAAA;AAPuB,GAQjB;AACN,QAAM;AAAEC,IAAAA,mBAAmB,EAAEC;AAAvB,MACLd,WAAW,CAAEE,aAAF,CADZ;AAGA,SACC,8BACC,cAAC,iBAAD,QACGK,uBAAuB,IAAID,uBAA3B,IACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGV,EAAE,CAAE,gBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CADX;AAEC,IAAA,OAAO,EAAGY,eAFX;AAGC,IAAA,IAAI,EAAGL,iBAHR;AAIC,IAAA,QAAQ,EAAGM;AAJZ,IADD,CAFF,EAWC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGb,EAAE,CAAE,eAAF;AAArB,KACC,cAAC,iBAAD;AACC,IAAA,KAAK,EAAGc,GADT;AAEC,IAAA,KAAK,EAAGC,SAFT;AAGC,IAAA,QAAQ,EAAKI,KAAF,IAAa;AACvBD,MAAAA,wBAAwB;AACxBF,MAAAA,SAAS,CAAEG,KAAF,CAAT;AACA;AANF,IADD,CAXD,CADD,CADD;AA0BA,CAtCD;;AAwCA,eAAeV,aAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport EmbedLinkSettings from './embed-link-settings';\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useDispatch } from '@wordpress/data';\n// eslint-disable-next-line no-restricted-imports\nimport { store as editPostStore } from '@wordpress/edit-post';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\turl,\n\tlinkLabel,\n\tonEditURL,\n} ) => {\n\tconst { closeGeneralSidebar: closeSettingsBottomSheet } =\n\t\tuseDispatch( editPostStore );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<EmbedLinkSettings\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tlabel={ linkLabel }\n\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\tcloseSettingsBottomSheet();\n\t\t\t\t\t\t\tonEditURL( value );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default EmbedControls;\n"]}
@@ -4,7 +4,6 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import { TouchableWithoutFeedback } from 'react-native';
7
- import { isEmpty } from 'lodash';
8
7
  import classnames from 'classnames/dedupe';
9
8
  /**
10
9
  * WordPress dependencies
@@ -51,7 +50,7 @@ const EmbedPreview = _ref => {
51
50
  const sandboxAlignStyle = styles[`embed-preview__sandbox--align-${align}`];
52
51
 
53
52
  function accessibilityLabelCreator(caption) {
54
- return isEmpty(caption) ?
53
+ return !caption ?
55
54
  /* translators: accessibility text. Empty Embed caption. */
56
55
  __('Embed caption. Empty') : sprintf(
57
56
  /* translators: accessibility text. %s: Embed caption. */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/embed-preview.native.js"],"names":["TouchableWithoutFeedback","isEmpty","classnames","View","BlockCaption","store","blockEditorStore","__","sprintf","memo","useState","SandBox","useSelect","getPhotoHtml","EmbedNoPreview","WpEmbedPreview","styles","EmbedPreview","align","className","clientId","icon","insertBlocksAfter","isSelected","label","onFocus","preview","previewable","isProviderPreviewable","type","url","isDefaultEmbedInfo","isCaptionSelected","setIsCaptionSelected","locale","getSettings","wrapperStyle","wrapperAlignStyle","sandboxAlignStyle","accessibilityLabelCreator","caption","onEmbedPreviewPress","onFocusCaption","provider_url","providerUrl","html","parsedHost","URL","host","split","parsedHostBaseUrl","splice","length","join","iframeTitle","sandboxClassnames","PreviewContent","embedWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport { isEmpty } from 'lodash';\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { memo, useState } from '@wordpress/element';\nimport { SandBox } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getPhotoHtml } from './util';\nimport EmbedNoPreview from './embed-no-preview';\nimport WpEmbedPreview from './wp-embed-preview';\nimport styles from './styles.scss';\n\nconst EmbedPreview = ( {\n\talign,\n\tclassName,\n\tclientId,\n\ticon,\n\tinsertBlocksAfter,\n\tisSelected,\n\tlabel,\n\tonFocus,\n\tpreview,\n\tpreviewable,\n\tisProviderPreviewable,\n\ttype,\n\turl,\n\tisDefaultEmbedInfo,\n} ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst { locale } = useSelect( blockEditorStore ).getSettings();\n\n\tconst wrapperStyle = styles[ 'embed-preview__wrapper' ];\n\tconst wrapperAlignStyle =\n\t\tstyles[ `embed-preview__wrapper--align-${ align }` ];\n\tconst sandboxAlignStyle =\n\t\tstyles[ `embed-preview__sandbox--align-${ align }` ];\n\n\tfunction accessibilityLabelCreator( caption ) {\n\t\treturn isEmpty( caption )\n\t\t\t? /* translators: accessibility text. Empty Embed caption. */\n\t\t\t __( 'Embed caption. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: Embed caption. */\n\t\t\t\t\t__( 'Embed caption. %s' ),\n\t\t\t\t\tcaption\n\t\t\t );\n\t}\n\n\tfunction onEmbedPreviewPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( onFocus ) {\n\t\t\tonFocus();\n\t\t}\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tconst { provider_url: providerUrl } = preview;\n\tconst html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;\n\tconst parsedHost = new URL( url ).host.split( '.' );\n\tconst parsedHostBaseUrl = parsedHost\n\t\t.splice( parsedHost.length - 2, parsedHost.length - 1 )\n\t\t.join( '.' );\n\tconst iframeTitle = sprintf(\n\t\t// translators: %s: host providing embed content e.g: www.youtube.com\n\t\t__( 'Embedded content from %s' ),\n\t\tparsedHostBaseUrl\n\t);\n\tconst sandboxClassnames = classnames(\n\t\ttype,\n\t\tclassName,\n\t\t'wp-block-embed__wrapper'\n\t);\n\n\tconst PreviewContent = 'wp-embed' === type ? WpEmbedPreview : SandBox;\n\tconst embedWrapper = (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ () => {\n\t\t\t\t\tif ( onFocus ) {\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( isCaptionSelected ) {\n\t\t\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"box-only\"\n\t\t\t\t\tstyle={ [ wrapperStyle, wrapperAlignStyle ] }\n\t\t\t\t>\n\t\t\t\t\t<PreviewContent\n\t\t\t\t\t\thtml={ html }\n\t\t\t\t\t\tlang={ locale }\n\t\t\t\t\t\ttitle={ iframeTitle }\n\t\t\t\t\t\ttype={ sandboxClassnames }\n\t\t\t\t\t\tproviderUrl={ providerUrl }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tcontainerStyle={ sandboxAlignStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onEmbedPreviewPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t{ isProviderPreviewable && previewable ? (\n\t\t\t\t\tembedWrapper\n\t\t\t\t) : (\n\t\t\t\t\t<EmbedNoPreview\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonPress={ () => setIsCaptionSelected( false ) }\n\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\tisDefaultEmbedInfo={ isDefaultEmbedInfo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessibilityLabelCreator={ accessibilityLabelCreator }\n\t\t\t\t\taccessible\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n};\n\nexport default memo( EmbedPreview );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/embed-preview.native.js"],"names":["TouchableWithoutFeedback","classnames","View","BlockCaption","store","blockEditorStore","__","sprintf","memo","useState","SandBox","useSelect","getPhotoHtml","EmbedNoPreview","WpEmbedPreview","styles","EmbedPreview","align","className","clientId","icon","insertBlocksAfter","isSelected","label","onFocus","preview","previewable","isProviderPreviewable","type","url","isDefaultEmbedInfo","isCaptionSelected","setIsCaptionSelected","locale","getSettings","wrapperStyle","wrapperAlignStyle","sandboxAlignStyle","accessibilityLabelCreator","caption","onEmbedPreviewPress","onFocusCaption","provider_url","providerUrl","html","parsedHost","URL","host","split","parsedHostBaseUrl","splice","length","join","iframeTitle","sandboxClassnames","PreviewContent","embedWrapper"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback } from 'react-native';\nimport classnames from 'classnames/dedupe';\n\n/**\n * WordPress dependencies\n */\nimport { View } from '@wordpress/primitives';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { memo, useState } from '@wordpress/element';\nimport { SandBox } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { getPhotoHtml } from './util';\nimport EmbedNoPreview from './embed-no-preview';\nimport WpEmbedPreview from './wp-embed-preview';\nimport styles from './styles.scss';\n\nconst EmbedPreview = ( {\n\talign,\n\tclassName,\n\tclientId,\n\ticon,\n\tinsertBlocksAfter,\n\tisSelected,\n\tlabel,\n\tonFocus,\n\tpreview,\n\tpreviewable,\n\tisProviderPreviewable,\n\ttype,\n\turl,\n\tisDefaultEmbedInfo,\n} ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tconst { locale } = useSelect( blockEditorStore ).getSettings();\n\n\tconst wrapperStyle = styles[ 'embed-preview__wrapper' ];\n\tconst wrapperAlignStyle =\n\t\tstyles[ `embed-preview__wrapper--align-${ align }` ];\n\tconst sandboxAlignStyle =\n\t\tstyles[ `embed-preview__sandbox--align-${ align }` ];\n\n\tfunction accessibilityLabelCreator( caption ) {\n\t\treturn ! caption\n\t\t\t? /* translators: accessibility text. Empty Embed caption. */\n\t\t\t __( 'Embed caption. Empty' )\n\t\t\t: sprintf(\n\t\t\t\t\t/* translators: accessibility text. %s: Embed caption. */\n\t\t\t\t\t__( 'Embed caption. %s' ),\n\t\t\t\t\tcaption\n\t\t\t );\n\t}\n\n\tfunction onEmbedPreviewPress() {\n\t\tsetIsCaptionSelected( false );\n\t}\n\n\tfunction onFocusCaption() {\n\t\tif ( onFocus ) {\n\t\t\tonFocus();\n\t\t}\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t}\n\n\tconst { provider_url: providerUrl } = preview;\n\tconst html = 'photo' === type ? getPhotoHtml( preview ) : preview.html;\n\tconst parsedHost = new URL( url ).host.split( '.' );\n\tconst parsedHostBaseUrl = parsedHost\n\t\t.splice( parsedHost.length - 2, parsedHost.length - 1 )\n\t\t.join( '.' );\n\tconst iframeTitle = sprintf(\n\t\t// translators: %s: host providing embed content e.g: www.youtube.com\n\t\t__( 'Embedded content from %s' ),\n\t\tparsedHostBaseUrl\n\t);\n\tconst sandboxClassnames = classnames(\n\t\ttype,\n\t\tclassName,\n\t\t'wp-block-embed__wrapper'\n\t);\n\n\tconst PreviewContent = 'wp-embed' === type ? WpEmbedPreview : SandBox;\n\tconst embedWrapper = (\n\t\t<>\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ () => {\n\t\t\t\t\tif ( onFocus ) {\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t}\n\t\t\t\t\tif ( isCaptionSelected ) {\n\t\t\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tpointerEvents=\"box-only\"\n\t\t\t\t\tstyle={ [ wrapperStyle, wrapperAlignStyle ] }\n\t\t\t\t>\n\t\t\t\t\t<PreviewContent\n\t\t\t\t\t\thtml={ html }\n\t\t\t\t\t\tlang={ locale }\n\t\t\t\t\t\ttitle={ iframeTitle }\n\t\t\t\t\t\ttype={ sandboxClassnames }\n\t\t\t\t\t\tproviderUrl={ providerUrl }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tcontainerStyle={ sandboxAlignStyle }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</>\n\t);\n\treturn (\n\t\t<TouchableWithoutFeedback\n\t\t\taccessible={ ! isSelected }\n\t\t\tonPress={ onEmbedPreviewPress }\n\t\t\tdisabled={ ! isSelected }\n\t\t>\n\t\t\t<View>\n\t\t\t\t{ isProviderPreviewable && previewable ? (\n\t\t\t\t\tembedWrapper\n\t\t\t\t) : (\n\t\t\t\t\t<EmbedNoPreview\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\tonPress={ () => setIsCaptionSelected( false ) }\n\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\tisDefaultEmbedInfo={ isDefaultEmbedInfo }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<BlockCaption\n\t\t\t\t\taccessibilityLabelCreator={ accessibilityLabelCreator }\n\t\t\t\t\taccessible\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\t\tonFocus={ onFocusCaption }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</TouchableWithoutFeedback>\n\t);\n};\n\nexport default memo( EmbedPreview );\n"]}
@@ -52,6 +52,7 @@ export default function FileBlockInspector(_ref) {
52
52
  checked: !!displayPreview,
53
53
  onChange: changeDisplayPreview
54
54
  }), displayPreview && createElement(RangeControl, {
55
+ __nextHasNoMarginBottom: true,
55
56
  label: __('Height in pixels'),
56
57
  min: MIN_PREVIEW_HEIGHT,
57
58
  max: Math.max(MAX_PREVIEW_HEIGHT, previewHeight),
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/file/inspector.js"],"names":["__","PanelBody","RangeControl","SelectControl","ToggleControl","InspectorControls","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","linkDestinationOptions","value","label","endsWith","Math","max"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,SADD,EAECC,YAFD,EAGCC,aAHD,EAICC,aAJD,QAKO,uBALP;AAMA,SAASC,iBAAT,QAAkC,yBAAlC;AAEA;AACA;AACA;;AACA,SAASC,kBAAT,EAA6BC,kBAA7B,QAAuD,QAAvD;AAEA,eAAe,SAASC,kBAAT,OAWX;AAAA,MAXwC;AAC3CC,IAAAA,KAD2C;AAE3CC,IAAAA,eAF2C;AAG3CC,IAAAA,kBAH2C;AAI3CC,IAAAA,2BAJ2C;AAK3CC,IAAAA,qBAL2C;AAM3CC,IAAAA,wBAN2C;AAO3CC,IAAAA,cAP2C;AAQ3CC,IAAAA,oBAR2C;AAS3CC,IAAAA,aAT2C;AAU3CC,IAAAA;AAV2C,GAWxC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,YAAR;AAAsBC,IAAAA;AAAtB,MAAyCZ,KAA/C;AAEA,MAAIa,sBAAsB,GAAG,CAAE;AAAEC,IAAAA,KAAK,EAAEJ,IAAT;AAAeK,IAAAA,KAAK,EAAExB,EAAE,CAAE,KAAF;AAAxB,GAAF,CAA7B;;AACA,MAAKqB,cAAL,EAAsB;AACrBC,IAAAA,sBAAsB,GAAG,CACxB;AAAEC,MAAAA,KAAK,EAAEJ,IAAT;AAAeK,MAAAA,KAAK,EAAExB,EAAE,CAAE,YAAF;AAAxB,KADwB,EAExB;AAAEuB,MAAAA,KAAK,EAAEF,cAAT;AAAyBG,MAAAA,KAAK,EAAExB,EAAE,CAAE,iBAAF;AAAlC,KAFwB,CAAzB;AAIA;;AAED,SACC,8BACC,cAAC,iBAAD,QACGmB,IAAI,CAACM,QAAL,CAAe,MAAf,KACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGzB,EAAE,CAAE,cAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,mBAAF,CADX;AAEC,IAAA,IAAI,EACHe,cAAc,GACXf,EAAE,CACF,mEADE,CADS,GAIX,IAPL;AASC,IAAA,OAAO,EAAG,CAAC,CAAEe,cATd;AAUC,IAAA,QAAQ,EAAGC;AAVZ,IADD,EAaGD,cAAc,IACf,cAAC,YAAD;AACC,IAAA,KAAK,EAAGf,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,GAAG,EAAGM,kBAFP;AAGC,IAAA,GAAG,EAAGoB,IAAI,CAACC,GAAL,CACLpB,kBADK,EAELU,aAFK,CAHP;AAOC,IAAA,KAAK,EAAGA,aAPT;AAQC,IAAA,QAAQ,EAAGC;AARZ,IAdF,CAFF,EA6BC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGlB,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGoB,YAFT;AAGC,IAAA,OAAO,EAAGE,sBAHX;AAIC,IAAA,QAAQ,EAAGV;AAJZ,IADD,EAOC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAGU,eAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAPD,EAYC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGb,EAAE,CAAE,sBAAF,CADX;AAEC,IAAA,OAAO,EAAGW,kBAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAZD,CA7BD,CADD,CADD;AAoDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';\n\nexport default function FileBlockInspector( {\n\threfs,\n\topenInNewWindow,\n\tshowDownloadButton,\n\tchangeLinkDestinationOption,\n\tchangeOpenInNewWindow,\n\tchangeShowDownloadButton,\n\tdisplayPreview,\n\tchangeDisplayPreview,\n\tpreviewHeight,\n\tchangePreviewHeight,\n} ) {\n\tconst { href, textLinkHref, attachmentPage } = hrefs;\n\n\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\tif ( attachmentPage ) {\n\t\tlinkDestinationOptions = [\n\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t];\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ href.endsWith( '.pdf' ) && (\n\t\t\t\t\t<PanelBody title={ __( 'PDF settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdisplayPreview\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\"Note: Most phone and tablet browsers won't display embedded PDFs.\"\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ !! displayPreview }\n\t\t\t\t\t\t\tonChange={ changeDisplayPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\t\t\tmax={ Math.max(\n\t\t\t\t\t\t\t\t\tMAX_PREVIEW_HEIGHT,\n\t\t\t\t\t\t\t\t\tpreviewHeight\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ previewHeight }\n\t\t\t\t\t\t\t\tonChange={ changePreviewHeight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\tonChange={ changeLinkDestinationOption }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewWindow }\n\t\t\t\t\t\tonChange={ changeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\tonChange={ changeShowDownloadButton }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/file/inspector.js"],"names":["__","PanelBody","RangeControl","SelectControl","ToggleControl","InspectorControls","MIN_PREVIEW_HEIGHT","MAX_PREVIEW_HEIGHT","FileBlockInspector","hrefs","openInNewWindow","showDownloadButton","changeLinkDestinationOption","changeOpenInNewWindow","changeShowDownloadButton","displayPreview","changeDisplayPreview","previewHeight","changePreviewHeight","href","textLinkHref","attachmentPage","linkDestinationOptions","value","label","endsWith","Math","max"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,SADD,EAECC,YAFD,EAGCC,aAHD,EAICC,aAJD,QAKO,uBALP;AAMA,SAASC,iBAAT,QAAkC,yBAAlC;AAEA;AACA;AACA;;AACA,SAASC,kBAAT,EAA6BC,kBAA7B,QAAuD,QAAvD;AAEA,eAAe,SAASC,kBAAT,OAWX;AAAA,MAXwC;AAC3CC,IAAAA,KAD2C;AAE3CC,IAAAA,eAF2C;AAG3CC,IAAAA,kBAH2C;AAI3CC,IAAAA,2BAJ2C;AAK3CC,IAAAA,qBAL2C;AAM3CC,IAAAA,wBAN2C;AAO3CC,IAAAA,cAP2C;AAQ3CC,IAAAA,oBAR2C;AAS3CC,IAAAA,aAT2C;AAU3CC,IAAAA;AAV2C,GAWxC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,YAAR;AAAsBC,IAAAA;AAAtB,MAAyCZ,KAA/C;AAEA,MAAIa,sBAAsB,GAAG,CAAE;AAAEC,IAAAA,KAAK,EAAEJ,IAAT;AAAeK,IAAAA,KAAK,EAAExB,EAAE,CAAE,KAAF;AAAxB,GAAF,CAA7B;;AACA,MAAKqB,cAAL,EAAsB;AACrBC,IAAAA,sBAAsB,GAAG,CACxB;AAAEC,MAAAA,KAAK,EAAEJ,IAAT;AAAeK,MAAAA,KAAK,EAAExB,EAAE,CAAE,YAAF;AAAxB,KADwB,EAExB;AAAEuB,MAAAA,KAAK,EAAEF,cAAT;AAAyBG,MAAAA,KAAK,EAAExB,EAAE,CAAE,iBAAF;AAAlC,KAFwB,CAAzB;AAIA;;AAED,SACC,8BACC,cAAC,iBAAD,QACGmB,IAAI,CAACM,QAAL,CAAe,MAAf,KACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGzB,EAAE,CAAE,cAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,mBAAF,CADX;AAEC,IAAA,IAAI,EACHe,cAAc,GACXf,EAAE,CACF,mEADE,CADS,GAIX,IAPL;AASC,IAAA,OAAO,EAAG,CAAC,CAAEe,cATd;AAUC,IAAA,QAAQ,EAAGC;AAVZ,IADD,EAaGD,cAAc,IACf,cAAC,YAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGf,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,GAAG,EAAGM,kBAHP;AAIC,IAAA,GAAG,EAAGoB,IAAI,CAACC,GAAL,CACLpB,kBADK,EAELU,aAFK,CAJP;AAQC,IAAA,KAAK,EAAGA,aART;AASC,IAAA,QAAQ,EAAGC;AATZ,IAdF,CAFF,EA8BC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGlB,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,SAAF,CADX;AAEC,IAAA,KAAK,EAAGoB,YAFT;AAGC,IAAA,OAAO,EAAGE,sBAHX;AAIC,IAAA,QAAQ,EAAGV;AAJZ,IADD,EAOC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGZ,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAGU,eAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAPD,EAYC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGb,EAAE,CAAE,sBAAF,CADX;AAEC,IAAA,OAAO,EAAGW,kBAFX;AAGC,IAAA,QAAQ,EAAGG;AAHZ,IAZD,CA9BD,CADD,CADD;AAqDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tSelectControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport { InspectorControls } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { MIN_PREVIEW_HEIGHT, MAX_PREVIEW_HEIGHT } from './edit';\n\nexport default function FileBlockInspector( {\n\threfs,\n\topenInNewWindow,\n\tshowDownloadButton,\n\tchangeLinkDestinationOption,\n\tchangeOpenInNewWindow,\n\tchangeShowDownloadButton,\n\tdisplayPreview,\n\tchangeDisplayPreview,\n\tpreviewHeight,\n\tchangePreviewHeight,\n} ) {\n\tconst { href, textLinkHref, attachmentPage } = hrefs;\n\n\tlet linkDestinationOptions = [ { value: href, label: __( 'URL' ) } ];\n\tif ( attachmentPage ) {\n\t\tlinkDestinationOptions = [\n\t\t\t{ value: href, label: __( 'Media file' ) },\n\t\t\t{ value: attachmentPage, label: __( 'Attachment page' ) },\n\t\t];\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ href.endsWith( '.pdf' ) && (\n\t\t\t\t\t<PanelBody title={ __( 'PDF settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show inline embed' ) }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\tdisplayPreview\n\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\"Note: Most phone and tablet browsers won't display embedded PDFs.\"\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ !! displayPreview }\n\t\t\t\t\t\t\tonChange={ changeDisplayPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayPreview && (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Height in pixels' ) }\n\t\t\t\t\t\t\t\tmin={ MIN_PREVIEW_HEIGHT }\n\t\t\t\t\t\t\t\tmax={ Math.max(\n\t\t\t\t\t\t\t\t\tMAX_PREVIEW_HEIGHT,\n\t\t\t\t\t\t\t\t\tpreviewHeight\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tvalue={ previewHeight }\n\t\t\t\t\t\t\t\tonChange={ changePreviewHeight }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ textLinkHref }\n\t\t\t\t\t\toptions={ linkDestinationOptions }\n\t\t\t\t\t\tonChange={ changeLinkDestinationOption }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\tchecked={ openInNewWindow }\n\t\t\t\t\t\tonChange={ changeOpenInNewWindow }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show download button' ) }\n\t\t\t\t\t\tchecked={ showDownloadButton }\n\t\t\t\t\t\tonChange={ changeShowDownloadButton }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
@@ -4,10 +4,10 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  * WordPress dependencies
5
5
  */
6
6
  import { BlockControls, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
7
- import { debounce } from '@wordpress/compose';
7
+ import { debounce, useRefEffect } from '@wordpress/compose';
8
8
  import { useSelect } from '@wordpress/data';
9
9
  import { ToolbarGroup } from '@wordpress/components';
10
- import { useEffect, useRef } from '@wordpress/element';
10
+ import { useEffect, useRef, useState } from '@wordpress/element';
11
11
  import { __ } from '@wordpress/i18n';
12
12
  import { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';
13
13
  /**
@@ -15,6 +15,7 @@ import { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';
15
15
  */
16
16
 
17
17
  import ConvertToBlocksButton from './convert-to-blocks-button';
18
+ import ModalEdit from './modal';
18
19
  const {
19
20
  wp
20
21
  } = window;
@@ -38,7 +39,23 @@ function isTmceEmpty(editor) {
38
39
  return /^\n?$/.test(body.innerText || body.textContent);
39
40
  }
40
41
 
41
- export default function ClassicEdit(_ref) {
42
+ export default function FreeformEdit(props) {
43
+ const {
44
+ clientId
45
+ } = props;
46
+ const canRemove = useSelect(select => select(blockEditorStore).canRemoveBlock(clientId), [clientId]);
47
+ const [isIframed, setIsIframed] = useState(false);
48
+ const ref = useRefEffect(element => {
49
+ setIsIframed(element.ownerDocument !== document);
50
+ }, []);
51
+ return createElement(Fragment, null, canRemove && createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ConvertToBlocksButton, {
52
+ clientId: clientId
53
+ }))), createElement("div", useBlockProps({
54
+ ref
55
+ }), isIframed ? createElement(ModalEdit, props) : createElement(ClassicEdit, props)));
56
+ }
57
+
58
+ function ClassicEdit(_ref) {
42
59
  let {
43
60
  clientId,
44
61
  attributes: {
@@ -50,7 +67,6 @@ export default function ClassicEdit(_ref) {
50
67
  const {
51
68
  getMultiSelectedBlockClientIds
52
69
  } = useSelect(blockEditorStore);
53
- const canRemove = useSelect(select => select(blockEditorStore).canRemoveBlock(clientId), [clientId]);
54
70
  const didMount = useRef(false);
55
71
  useEffect(() => {
56
72
  if (!didMount.current) {
@@ -217,9 +233,7 @@ export default function ClassicEdit(_ref) {
217
233
  /* eslint-disable jsx-a11y/no-static-element-interactions */
218
234
 
219
235
 
220
- return createElement(Fragment, null, canRemove && createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ConvertToBlocksButton, {
221
- clientId: clientId
222
- }))), createElement("div", useBlockProps(), createElement("div", {
236
+ return createElement(Fragment, null, createElement("div", {
223
237
  key: "toolbar",
224
238
  id: `toolbar-${clientId}`,
225
239
  className: "block-library-classic__toolbar",
@@ -230,7 +244,7 @@ export default function ClassicEdit(_ref) {
230
244
  key: "editor",
231
245
  id: `editor-${clientId}`,
232
246
  className: "wp-block-freeform block-library-rich-text__tinymce"
233
- })));
247
+ }));
234
248
  /* eslint-enable jsx-a11y/no-static-element-interactions */
235
249
  }
236
250
  //# sourceMappingURL=edit.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/freeform/edit.js"],"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useSelect","ToolbarGroup","useEffect","useRef","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","ClassicEdit","clientId","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","canRemove","select","canRemoveBlock","didMount","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","document","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","ownerDocument","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst didMount = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tconst currentContent = editor?.getContent();\n\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps() }>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"toolbar\"\n\t\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\t\tonClick={ focus }\n\t\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t\t/>\n\t\t\t\t<div\n\t\t\t\t\tkey=\"editor\"\n\t\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/freeform/edit.js"],"names":["BlockControls","useBlockProps","store","blockEditorStore","debounce","useRefEffect","useSelect","ToolbarGroup","useEffect","useRef","useState","__","BACKSPACE","DELETE","F10","isKeyboardEvent","ConvertToBlocksButton","ModalEdit","wp","window","isTmceEmpty","editor","body","getBody","childNodes","length","test","innerText","textContent","FreeformEdit","props","clientId","canRemove","select","canRemoveBlock","isIframed","setIsIframed","ref","element","ownerDocument","document","ClassicEdit","attributes","content","setAttributes","onReplace","getMultiSelectedBlockClientIds","didMount","current","tinymce","get","currentContent","getContent","setContent","baseURL","suffix","wpEditorL10n","EditorManager","overrideDefaults","base_url","onSetup","bookmark","on","selection","getBookmark","scrollContainer","querySelector","scrollPosition","scrollTop","once","moveToBookmark","debouncedOnChange","value","_lastChange","cancel","event","primary","stopPropagation","keyCode","preventDefault","stopImmediatePropagation","altKey","rootNode","activeElement","blur","focus","initialize","settings","oldEditor","inline","content_css","fixed_toolbar_container","setup","onReadyStateChange","readyState","addEventListener","removeEventListener","remove","onToolbarKeyDown","nativeEvent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { debounce, useRefEffect } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { ToolbarGroup } from '@wordpress/components';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE, F10, isKeyboardEvent } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport ConvertToBlocksButton from './convert-to-blocks-button';\nimport ModalEdit from './modal';\n\nconst { wp } = window;\n\nfunction isTmceEmpty( editor ) {\n\t// When tinyMce is empty the content seems to be:\n\t// <p><br data-mce-bogus=\"1\"></p>\n\t// avoid expensive checks for large documents\n\tconst body = editor.getBody();\n\tif ( body.childNodes.length > 1 ) {\n\t\treturn false;\n\t} else if ( body.childNodes.length === 0 ) {\n\t\treturn true;\n\t}\n\tif ( body.childNodes[ 0 ].childNodes.length > 1 ) {\n\t\treturn false;\n\t}\n\treturn /^\\n?$/.test( body.innerText || body.textContent );\n}\n\nexport default function FreeformEdit( props ) {\n\tconst { clientId } = props;\n\tconst canRemove = useSelect(\n\t\t( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),\n\t\t[ clientId ]\n\t);\n\tconst [ isIframed, setIsIframed ] = useState( false );\n\tconst ref = useRefEffect( ( element ) => {\n\t\tsetIsIframed( element.ownerDocument !== document );\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ canRemove && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<ConvertToBlocksButton clientId={ clientId } />\n\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...useBlockProps( { ref } ) }>\n\t\t\t\t{ isIframed ? (\n\t\t\t\t\t<ModalEdit { ...props } />\n\t\t\t\t) : (\n\t\t\t\t\t<ClassicEdit { ...props } />\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nfunction ClassicEdit( {\n\tclientId,\n\tattributes: { content },\n\tsetAttributes,\n\tonReplace,\n} ) {\n\tconst { getMultiSelectedBlockClientIds } = useSelect( blockEditorStore );\n\tconst didMount = useRef( false );\n\n\tuseEffect( () => {\n\t\tif ( ! didMount.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tconst currentContent = editor?.getContent();\n\n\t\tif ( currentContent !== content ) {\n\t\t\teditor.setContent( content || '' );\n\t\t}\n\t}, [ content ] );\n\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix } = window.wpEditorL10n.tinymce;\n\n\t\tdidMount.current = true;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\tfunction onSetup( editor ) {\n\t\t\tlet bookmark;\n\n\t\t\tif ( content ) {\n\t\t\t\teditor.on( 'loadContent', () => editor.setContent( content ) );\n\t\t\t}\n\n\t\t\teditor.on( 'blur', () => {\n\t\t\t\tbookmark = editor.selection.getBookmark( 2, true );\n\t\t\t\t// There is an issue with Chrome and the editor.focus call in core at https://core.trac.wordpress.org/browser/trunk/src/js/_enqueues/lib/link.js#L451.\n\t\t\t\t// This causes a scroll to the top of editor content on return from some content updating dialogs so tracking\n\t\t\t\t// scroll position until this is fixed in core.\n\t\t\t\tconst scrollContainer = document.querySelector(\n\t\t\t\t\t'.interface-interface-skeleton__content'\n\t\t\t\t);\n\t\t\t\tconst scrollPosition = scrollContainer.scrollTop;\n\n\t\t\t\t// Only update attributes if we aren't multi-selecting blocks.\n\t\t\t\t// Updating during multi-selection can overwrite attributes of other blocks.\n\t\t\t\tif ( ! getMultiSelectedBlockClientIds()?.length ) {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: editor.getContent(),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\teditor.once( 'focus', () => {\n\t\t\t\t\tif ( bookmark ) {\n\t\t\t\t\t\teditor.selection.moveToBookmark( bookmark );\n\t\t\t\t\t\tif ( scrollContainer.scrollTop !== scrollPosition ) {\n\t\t\t\t\t\t\tscrollContainer.scrollTop = scrollPosition;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} );\n\n\t\t\t\treturn false;\n\t\t\t} );\n\n\t\t\teditor.on( 'mousedown touchstart', () => {\n\t\t\t\tbookmark = null;\n\t\t\t} );\n\n\t\t\tconst debouncedOnChange = debounce( () => {\n\t\t\t\tconst value = editor.getContent();\n\n\t\t\t\tif ( value !== editor._lastChange ) {\n\t\t\t\t\teditor._lastChange = value;\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t}, 250 );\n\t\t\teditor.on( 'Paste Change input Undo Redo', debouncedOnChange );\n\n\t\t\t// We need to cancel the debounce call because when we remove\n\t\t\t// the editor (onUnmount) this callback is executed in\n\t\t\t// another tick. This results in setting the content to empty.\n\t\t\teditor.on( 'remove', debouncedOnChange.cancel );\n\n\t\t\teditor.on( 'keydown', ( event ) => {\n\t\t\t\tif ( isKeyboardEvent.primary( event, 'z' ) ) {\n\t\t\t\t\t// Prevent the gutenberg undo kicking in so TinyMCE undo stack works as expected.\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t( event.keyCode === BACKSPACE ||\n\t\t\t\t\t\tevent.keyCode === DELETE ) &&\n\t\t\t\t\tisTmceEmpty( editor )\n\t\t\t\t) {\n\t\t\t\t\t// Delete the block.\n\t\t\t\t\tonReplace( [] );\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.stopImmediatePropagation();\n\t\t\t\t}\n\n\t\t\t\tconst { altKey } = event;\n\t\t\t\t/*\n\t\t\t\t * Prevent Mousetrap from kicking in: TinyMCE already uses its own\n\t\t\t\t * `alt+f10` shortcut to focus its toolbar.\n\t\t\t\t */\n\t\t\t\tif ( altKey && event.keyCode === F10 ) {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t} );\n\n\t\t\teditor.on( 'init', () => {\n\t\t\t\tconst rootNode = editor.getBody();\n\n\t\t\t\t// Create the toolbar by refocussing the editor.\n\t\t\t\tif ( rootNode.ownerDocument.activeElement === rootNode ) {\n\t\t\t\t\trootNode.blur();\n\t\t\t\t\teditor.focus();\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\tfunction initialize() {\n\t\t\tconst { settings } = window.wpEditorL10n.tinymce;\n\t\t\twp.oldEditor.initialize( `editor-${ clientId }`, {\n\t\t\t\ttinymce: {\n\t\t\t\t\t...settings,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tcontent_css: false,\n\t\t\t\t\tfixed_toolbar_container: `#toolbar-${ clientId }`,\n\t\t\t\t\tsetup: onSetup,\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tfunction onReadyStateChange() {\n\t\t\tif ( document.readyState === 'complete' ) {\n\t\t\t\tinitialize();\n\t\t\t}\n\t\t}\n\n\t\tif ( document.readyState === 'complete' ) {\n\t\t\tinitialize();\n\t\t} else {\n\t\t\tdocument.addEventListener( 'readystatechange', onReadyStateChange );\n\t\t}\n\n\t\treturn () => {\n\t\t\tdocument.removeEventListener(\n\t\t\t\t'readystatechange',\n\t\t\t\tonReadyStateChange\n\t\t\t);\n\t\t\twp.oldEditor.remove( `editor-${ clientId }` );\n\t\t};\n\t}, [] );\n\n\tfunction focus() {\n\t\tconst editor = window.tinymce.get( `editor-${ clientId }` );\n\t\tif ( editor ) {\n\t\t\teditor.focus();\n\t\t}\n\t}\n\n\tfunction onToolbarKeyDown( event ) {\n\t\t// Prevent WritingFlow from kicking in and allow arrows navigation on the toolbar.\n\t\tevent.stopPropagation();\n\t\t// Prevent Mousetrap from moving focus to the top toolbar when pressing `alt+f10` on this block toolbar.\n\t\tevent.nativeEvent.stopImmediatePropagation();\n\t}\n\n\t// Disable reasons:\n\t//\n\t// jsx-a11y/no-static-element-interactions\n\t// - the toolbar itself is non-interactive, but must capture events\n\t// from the KeyboardShortcuts component to stop their propagation.\n\n\t/* eslint-disable jsx-a11y/no-static-element-interactions */\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tkey=\"toolbar\"\n\t\t\t\tid={ `toolbar-${ clientId }` }\n\t\t\t\tclassName=\"block-library-classic__toolbar\"\n\t\t\t\tonClick={ focus }\n\t\t\t\tdata-placeholder={ __( 'Classic' ) }\n\t\t\t\tonKeyDown={ onToolbarKeyDown }\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tkey=\"editor\"\n\t\t\t\tid={ `editor-${ clientId }` }\n\t\t\t\tclassName=\"wp-block-freeform block-library-rich-text__tinymce\"\n\t\t\t/>\n\t\t</>\n\t);\n\t/* eslint-enable jsx-a11y/no-static-element-interactions */\n}\n"]}
@@ -0,0 +1,90 @@
1
+ import { createElement, Fragment } from "@wordpress/element";
2
+
3
+ /**
4
+ * WordPress dependencies
5
+ */
6
+ import { BlockControls, store } from '@wordpress/block-editor';
7
+ import { ToolbarGroup, ToolbarButton, Modal, Button } from '@wordpress/components';
8
+ import { useEffect, useState, RawHTML } from '@wordpress/element';
9
+ import { __ } from '@wordpress/i18n';
10
+ import { useSelect } from '@wordpress/data';
11
+
12
+ function ClassicEdit(props) {
13
+ const styles = useSelect(select => select(store).getSettings().styles);
14
+ useEffect(() => {
15
+ const {
16
+ baseURL,
17
+ suffix,
18
+ settings
19
+ } = window.wpEditorL10n.tinymce;
20
+ window.tinymce.EditorManager.overrideDefaults({
21
+ base_url: baseURL,
22
+ suffix
23
+ });
24
+ window.wp.oldEditor.initialize(props.id, {
25
+ tinymce: { ...settings,
26
+ height: 500,
27
+
28
+ setup(editor) {
29
+ editor.on('init', () => {
30
+ const doc = editor.getDoc();
31
+ styles.forEach(_ref => {
32
+ let {
33
+ css
34
+ } = _ref;
35
+ const styleEl = doc.createElement('style');
36
+ styleEl.innerHTML = css;
37
+ doc.head.appendChild(styleEl);
38
+ });
39
+ });
40
+ }
41
+
42
+ }
43
+ });
44
+ return () => {
45
+ window.wp.oldEditor.remove(props.id);
46
+ };
47
+ }, []);
48
+ return createElement("textarea", props);
49
+ }
50
+
51
+ export default function ModalEdit(props) {
52
+ const {
53
+ clientId,
54
+ attributes: {
55
+ content
56
+ },
57
+ setAttributes,
58
+ onReplace
59
+ } = props;
60
+ const [isOpen, setOpen] = useState(false);
61
+ const id = `editor-${clientId}`;
62
+
63
+ const label = __('Classic Edit');
64
+
65
+ return createElement(Fragment, null, createElement(BlockControls, null, createElement(ToolbarGroup, null, createElement(ToolbarButton, {
66
+ onClick: () => setOpen(true)
67
+ }, label))), content && createElement(RawHTML, null, content), (isOpen || !content) && createElement(Modal, {
68
+ title: label,
69
+ __experimentalHideHeader: true
70
+ }, createElement("h2", {
71
+ style: {
72
+ display: 'flex',
73
+ justifyContent: 'space-between'
74
+ }
75
+ }, createElement("div", null, label), createElement("div", null, createElement(Button, {
76
+ onClick: () => content ? setOpen(false) : onReplace([])
77
+ }, __('Cancel')), createElement(Button, {
78
+ isPrimary: true,
79
+ onClick: () => {
80
+ setAttributes({
81
+ content: window.wp.oldEditor.getContent(id)
82
+ });
83
+ setOpen(false);
84
+ }
85
+ }, __('Save')))), createElement(ClassicEdit, {
86
+ id: id,
87
+ defaultValue: content
88
+ })));
89
+ }
90
+ //# sourceMappingURL=modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/freeform/modal.js"],"names":["BlockControls","store","ToolbarGroup","ToolbarButton","Modal","Button","useEffect","useState","RawHTML","__","useSelect","ClassicEdit","props","styles","select","getSettings","baseURL","suffix","settings","window","wpEditorL10n","tinymce","EditorManager","overrideDefaults","base_url","wp","oldEditor","initialize","id","height","setup","editor","on","doc","getDoc","forEach","css","styleEl","createElement","innerHTML","head","appendChild","remove","ModalEdit","clientId","attributes","content","setAttributes","onReplace","isOpen","setOpen","label","display","justifyContent","getContent"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { BlockControls, store } from '@wordpress/block-editor';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tModal,\n\tButton,\n} from '@wordpress/components';\nimport { useEffect, useState, RawHTML } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\nfunction ClassicEdit( props ) {\n\tconst styles = useSelect(\n\t\t( select ) => select( store ).getSettings().styles\n\t);\n\tuseEffect( () => {\n\t\tconst { baseURL, suffix, settings } = window.wpEditorL10n.tinymce;\n\n\t\twindow.tinymce.EditorManager.overrideDefaults( {\n\t\t\tbase_url: baseURL,\n\t\t\tsuffix,\n\t\t} );\n\n\t\twindow.wp.oldEditor.initialize( props.id, {\n\t\t\ttinymce: {\n\t\t\t\t...settings,\n\t\t\t\theight: 500,\n\t\t\t\tsetup( editor ) {\n\t\t\t\t\teditor.on( 'init', () => {\n\t\t\t\t\t\tconst doc = editor.getDoc();\n\t\t\t\t\t\tstyles.forEach( ( { css } ) => {\n\t\t\t\t\t\t\tconst styleEl = doc.createElement( 'style' );\n\t\t\t\t\t\t\tstyleEl.innerHTML = css;\n\t\t\t\t\t\t\tdoc.head.appendChild( styleEl );\n\t\t\t\t\t\t} );\n\t\t\t\t\t} );\n\t\t\t\t},\n\t\t\t},\n\t\t} );\n\n\t\treturn () => {\n\t\t\twindow.wp.oldEditor.remove( props.id );\n\t\t};\n\t}, [] );\n\n\treturn <textarea { ...props } />;\n}\n\nexport default function ModalEdit( props ) {\n\tconst {\n\t\tclientId,\n\t\tattributes: { content },\n\t\tsetAttributes,\n\t\tonReplace,\n\t} = props;\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst id = `editor-${ clientId }`;\n\tconst label = __( 'Classic Edit' );\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton onClick={ () => setOpen( true ) }>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ content && <RawHTML>{ content }</RawHTML> }\n\t\t\t{ ( isOpen || ! content ) && (\n\t\t\t\t<Modal title={ label } __experimentalHideHeader={ true }>\n\t\t\t\t\t<h2\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tdisplay: 'flex',\n\t\t\t\t\t\t\tjustifyContent: 'space-between',\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div>{ label }</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tcontent ? setOpen( false ) : onReplace( [] )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tisPrimary\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t\t\t\t\twindow.wp.oldEditor.getContent(\n\t\t\t\t\t\t\t\t\t\t\t\tid\n\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\tsetOpen( false );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</h2>\n\t\t\t\t\t<ClassicEdit id={ id } defaultValue={ content } />\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
@@ -5,14 +5,13 @@ import { createElement, Fragment } from "@wordpress/element";
5
5
  * External dependencies
6
6
  */
7
7
  import classnames from 'classnames';
8
- import { find } from 'lodash';
9
8
  /**
10
9
  * WordPress dependencies
11
10
  */
12
11
 
13
12
  import { compose } from '@wordpress/compose';
14
13
  import { BaseControl, PanelBody, SelectControl, ToggleControl, RangeControl, Spinner } from '@wordpress/components';
15
- import { store as blockEditorStore, MediaPlaceholder, InspectorControls, useBlockProps, BlockControls, MediaReplaceFlow } from '@wordpress/block-editor';
14
+ import { store as blockEditorStore, MediaPlaceholder, InspectorControls, useBlockProps, useInnerBlocksProps, BlockControls, MediaReplaceFlow } from '@wordpress/block-editor';
16
15
  import { Platform, useEffect, useMemo } from '@wordpress/element';
17
16
  import { __, _x, sprintf } from '@wordpress/i18n';
18
17
  import { useSelect, useDispatch } from '@wordpress/data';
@@ -47,6 +46,11 @@ const linkOptions = [{
47
46
  label: _x('None', 'Media item link option')
48
47
  }];
49
48
  const ALLOWED_MEDIA_TYPES = ['image'];
49
+ const allowedBlocks = ['core/image'];
50
+ const LAYOUT = {
51
+ type: 'default',
52
+ alignments: []
53
+ };
50
54
  const PLACEHOLDER_TEXT = Platform.isNative ? __('ADD MEDIA') : __('Drag images, upload new ones or select files from your library.');
51
55
  const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative ? {
52
56
  type: 'stepper'
@@ -145,8 +149,11 @@ function GalleryEdit(props) {
145
149
  function buildImageAttributes(imageAttributes) {
146
150
  var _image$caption;
147
151
 
148
- const image = imageAttributes.id ? find(imageData, {
149
- id: imageAttributes.id
152
+ const image = imageAttributes.id ? imageData.find(_ref => {
153
+ let {
154
+ id
155
+ } = _ref;
156
+ return id === imageAttributes.id;
150
157
  }) : null;
151
158
  let newClassName;
152
159
 
@@ -182,11 +189,15 @@ function GalleryEdit(props) {
182
189
  function isValidFileType(file) {
183
190
  var _file$url;
184
191
 
185
- return ALLOWED_MEDIA_TYPES.some(mediaType => {
186
- var _file$type;
187
-
188
- return ((_file$type = file.type) === null || _file$type === void 0 ? void 0 : _file$type.indexOf(mediaType)) === 0;
189
- }) || ((_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.indexOf('blob:')) === 0;
192
+ // It's necessary to retrieve the media type from the raw image data for already-uploaded images on native.
193
+ const nativeFileData = Platform.isNative && file.id ? imageData.find(_ref2 => {
194
+ let {
195
+ id
196
+ } = _ref2;
197
+ return id === file.id;
198
+ }) : null;
199
+ const mediaTypeSelector = nativeFileData ? nativeFileData === null || nativeFileData === void 0 ? void 0 : nativeFileData.media_type : file.type;
200
+ return ALLOWED_MEDIA_TYPES.some(mediaType => (mediaTypeSelector === null || mediaTypeSelector === void 0 ? void 0 : mediaTypeSelector.indexOf(mediaType)) === 0) || ((_file$url = file.url) === null || _file$url === void 0 ? void 0 : _file$url.indexOf('blob:')) === 0;
190
201
  }
191
202
 
192
203
  function updateImages(selectedImages) {
@@ -253,8 +264,11 @@ function GalleryEdit(props) {
253
264
  const blocks = [];
254
265
  getBlock(clientId).innerBlocks.forEach(block => {
255
266
  blocks.push(block.clientId);
256
- const image = block.attributes.id ? find(imageData, {
257
- id: block.attributes.id
267
+ const image = block.attributes.id ? imageData.find(_ref3 => {
268
+ let {
269
+ id
270
+ } = _ref3;
271
+ return id === block.attributes.id;
258
272
  }) : null;
259
273
  changedAttributes[block.clientId] = getHrefAndDestination(image, value);
260
274
  });
@@ -311,8 +325,11 @@ function GalleryEdit(props) {
311
325
  const blocks = [];
312
326
  getBlock(clientId).innerBlocks.forEach(block => {
313
327
  blocks.push(block.clientId);
314
- const image = block.attributes.id ? find(imageData, {
315
- id: block.attributes.id
328
+ const image = block.attributes.id ? imageData.find(_ref4 => {
329
+ let {
330
+ id
331
+ } = _ref4;
332
+ return id === block.attributes.id;
316
333
  }) : null;
317
334
  changedAttributes[block.clientId] = getImageSizeAttributes(image, newSizeSlug);
318
335
  });
@@ -376,15 +393,22 @@ function GalleryEdit(props) {
376
393
  const blockProps = useBlockProps({
377
394
  className: classnames(className, 'has-nested-images')
378
395
  });
396
+ const innerBlocksProps = useInnerBlocksProps(blockProps, {
397
+ allowedBlocks,
398
+ orientation: 'horizontal',
399
+ renderAppender: false,
400
+ __experimentalLayout: LAYOUT
401
+ });
379
402
 
380
403
  if (!hasImages) {
381
- return createElement(View, blockProps, mediaPlaceholder);
404
+ return createElement(View, innerBlocksProps, innerBlocksProps.children, mediaPlaceholder);
382
405
  }
383
406
 
384
407
  const hasLinkTo = linkTo && linkTo !== 'none';
385
408
  return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
386
409
  title: __('Settings')
387
410
  }, images.length > 1 && createElement(RangeControl, _extends({
411
+ __nextHasNoMarginBottom: true,
388
412
  label: __('Columns'),
389
413
  value: columns ? columns : defaultColumnsNumber(images.length),
390
414
  onChange: setColumnsNumber,
@@ -434,7 +458,7 @@ function GalleryEdit(props) {
434
458
  }), createElement(Gallery, _extends({}, props, {
435
459
  images: images,
436
460
  mediaPlaceholder: !hasImages || Platform.isNative ? mediaPlaceholder : undefined,
437
- blockProps: blockProps,
461
+ blockProps: innerBlocksProps,
438
462
  insertBlocksAfter: insertBlocksAfter
439
463
  })));
440
464
  }