@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/media-text/edit.js"],"names":["TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","clientId","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","isContentLocked","select","__unstableGetContentLockingParent","getSettings","blockEditorStore","coreStore","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image, isContentLocked } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableGetContentLockingParent, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisContentLocked:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\n\t\t[ isSelected, mediaId, clientId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\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\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __( 'Select which image size to load.' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tisContentLocked,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","clientId","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","isContentLocked","select","__unstableGetContentLockingParent","getSettings","blockEditorStore","coreStore","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image, isContentLocked } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableGetContentLockingParent, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisContentLocked:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\n\t\t[ isSelected, mediaId, clientId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = map(\n\t\timageSizes.filter( ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\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\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __( 'Select which image size to load.' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ ! isContentLocked && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tisContentLocked,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
@@ -144,7 +144,7 @@ class UnsupportedBlockEdit extends _element.Component {
144
144
 
145
145
  const titleFormat = (0, _i18n.__)("'%s' is not fully-supported");
146
146
  const infoTitle = (0, _i18n.sprintf)(titleFormat, blockTitle);
147
- const missingBlockDetail = (0, _hooks.applyFilters)('native.missing_block_detail', (0, _i18n.__)('We are working hard to add more blocks with each release.'));
147
+ const missingBlockDetail = (0, _hooks.applyFilters)('native.missing_block_detail', (0, _i18n.__)('We are working hard to add more blocks with each release.'), blockName);
148
148
  const missingBlockActionButton = (0, _hooks.applyFilters)('native.missing_block_action_button', (0, _i18n.__)('Edit using web editor'));
149
149
  const actionButtonStyle = getStylesFromColorScheme(_style.default.actionButton, _style.default.actionButtonDark);
150
150
  return (0, _element.createElement)(_components.BottomSheet, {
@@ -180,7 +180,7 @@ class UnsupportedBlockEdit extends _element.Component {
180
180
  size: _style.default.infoSheetIcon.size
181
181
  }), (0, _element.createElement)(_reactNative.Text, {
182
182
  style: [infoTextStyle, infoTitleStyle]
183
- }, infoTitle), isEditableInUnsupportedBlockEditor && (0, _element.createElement)(_reactNative.Text, {
183
+ }, infoTitle), isEditableInUnsupportedBlockEditor && missingBlockDetail && (0, _element.createElement)(_reactNative.Text, {
184
184
  style: [infoTextStyle, infoDescriptionStyle]
185
185
  }, missingBlockDetail)), (isUnsupportedBlockEditorSupported || canEnableUnsupportedBlockEditor) && isEditableInUnsupportedBlockEditor && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.TextControl, {
186
186
  label: missingBlockActionButton,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/missing/edit.native.js"],"names":["UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","Component","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","coreBlocks","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","styles","infoIcon","infoIconDark","helpIconContainer","help","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","isEditableInUnsupportedBlockEditor","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","titleFormat","missingBlockDetail","missingBlockActionButton","actionButtonStyle","actionButton","actionButtonDark","setTimeout","content","originalContent","actionButtons","missingBlockAlertActionButton","infoContainer","size","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","icon","settings","plugins","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","unsupportedBlock","unsupportedBlockDark","src","select","getSettings","blockEditorStore","unsupportedBlockEditor","includes","dispatch","ownProps","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableHighlight,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tcolor={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\tattributes,\n\t\t\tclientId,\n\t\t\tisUnsupportedBlockEditorSupported,\n\t\t\tcanEnableUnsupportedBlockEditor,\n\t\t\tisEditableInUnsupportedBlockEditor,\n\t\t} = this.props;\n\t\tconst infoTextStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoText,\n\t\t\tstyles.infoTextDark\n\t\t);\n\t\tconst infoTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoTitle,\n\t\t\tstyles.infoTitleDark\n\t\t);\n\t\tconst infoDescriptionStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoDescription,\n\t\t\tstyles.infoDescriptionDark\n\t\t);\n\t\tconst infoSheetIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoSheetIcon,\n\t\t\tstyles.infoSheetIconDark\n\t\t);\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst infoTitle = sprintf( titleFormat, blockTitle );\n\t\tconst missingBlockDetail = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' )\n\t\t);\n\t\tconst missingBlockActionButton = applyFilters(\n\t\t\t'native.missing_block_action_button',\n\t\t\t__( 'Edit using web editor' )\n\t\t);\n\n\t\tconst actionButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ this.state.showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ this.closeSheet }\n\t\t\t\tonModalHide={ () => {\n\t\t\t\t\tif ( this.state.sendFallbackMessage ) {\n\t\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\t// For the Classic block, the content is kept in the `content` attribute.\n\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\tblockName === 'core/freeform'\n\t\t\t\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t\t\t\t: attributes.originalContent;\n\t\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendFallbackMessage: false } );\n\t\t\t\t\t} else if ( this.state.sendButtonPressMessage ) {\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendButtonPressMessage: false } );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ isEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<Text style={ [ infoTextStyle, infoDescriptionStyle ] }>\n\t\t\t\t\t\t\t{ missingBlockDetail }\n\t\t\t\t\t\t</Text>\n\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ ( isUnsupportedBlockEditorSupported ||\n\t\t\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\t\t\t\tisEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ missingBlockActionButton }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.requestFallback }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\tcolor={ iconStyle.color }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tgetSettings( 'capabilities' ).unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tgetSettings( 'capabilities' )\n\t\t\t\t\t.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/missing/edit.native.js"],"names":["UBE_INCOMPATIBLE_BLOCKS","I18N_BLOCK_SCHEMA_TITLE","UnsupportedBlockEdit","Component","constructor","props","state","showHelp","toggleSheet","bind","closeSheet","requestFallback","onHelpButtonPressed","setState","componentWillUnmount","timeout","clearTimeout","getTitle","originalName","attributes","blockType","coreBlocks","title","metadata","textdomain","renderHelpIcon","infoIconStyle","getStylesFromColorScheme","styles","infoIcon","infoIconDark","helpIconContainer","help","color","isSelected","selectBlock","canEnableUnsupportedBlockEditor","isUnsupportedBlockEditorSupported","sendButtonPressMessage","sendFallbackMessage","renderSheet","blockTitle","blockName","clientId","isEditableInUnsupportedBlockEditor","infoTextStyle","infoText","infoTextDark","infoTitleStyle","infoTitle","infoTitleDark","infoDescriptionStyle","infoDescription","infoDescriptionDark","infoSheetIconStyle","infoSheetIcon","infoSheetIconDark","titleFormat","missingBlockDetail","missingBlockActionButton","actionButtonStyle","actionButton","actionButtonDark","setTimeout","content","originalContent","actionButtons","missingBlockAlertActionButton","infoContainer","size","render","preferredColorScheme","titleStyle","unsupportedBlockMessage","unsupportedBlockMessageDark","subTitleStyle","unsupportedBlockSubtitle","unsupportedBlockSubtitleDark","subtitle","icon","settings","plugins","iconStyle","unsupportedBlockIcon","unsupportedBlockIconDark","iconClassName","unsupportedBlock","unsupportedBlockDark","src","select","getSettings","blockEditorStore","unsupportedBlockEditor","includes","dispatch","ownProps","withPreferredColorScheme"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tView,\n\tText,\n\tTouchableWithoutFeedback,\n\tTouchableHighlight,\n} from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestUnsupportedBlockFallback,\n\tsendActionButtonPressedAction,\n\tactionButtons,\n} from '@wordpress/react-native-bridge';\nimport { BottomSheet, Icon, TextControl } from '@wordpress/components';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { coreBlocks } from '@wordpress/block-library';\nimport { normalizeIconObject } from '@wordpress/blocks';\nimport { Component } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { help, plugins } from '@wordpress/icons';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { applyFilters } from '@wordpress/hooks';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n// Blocks that can't be edited through the Unsupported block editor identified by their name.\nconst UBE_INCOMPATIBLE_BLOCKS = [ 'core/block' ];\nconst I18N_BLOCK_SCHEMA_TITLE = 'block title';\n\nexport class UnsupportedBlockEdit extends Component {\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.state = { showHelp: false };\n\t\tthis.toggleSheet = this.toggleSheet.bind( this );\n\t\tthis.closeSheet = this.closeSheet.bind( this );\n\t\tthis.requestFallback = this.requestFallback.bind( this );\n\t\tthis.onHelpButtonPressed = this.onHelpButtonPressed.bind( this );\n\t}\n\n\ttoggleSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: ! this.state.showHelp,\n\t\t} );\n\t}\n\n\tcloseSheet() {\n\t\tthis.setState( {\n\t\t\tshowHelp: false,\n\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tif ( this.timeout ) {\n\t\t\tclearTimeout( this.timeout );\n\t\t}\n\t}\n\n\tgetTitle() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst blockType = coreBlocks[ originalName ];\n\t\tconst title = blockType?.metadata.title;\n\t\tconst textdomain = blockType?.metadata.textdomain;\n\n\t\treturn title && textdomain\n\t\t\t? // eslint-disable-next-line @wordpress/i18n-no-variables, @wordpress/i18n-text-domain\n\t\t\t _x( title, I18N_BLOCK_SCHEMA_TITLE, textdomain )\n\t\t\t: originalName;\n\t}\n\n\trenderHelpIcon() {\n\t\tconst infoIconStyle = this.props.getStylesFromColorScheme(\n\t\t\tstyles.infoIcon,\n\t\t\tstyles.infoIconDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableHighlight\n\t\t\t\tonPress={ this.onHelpButtonPressed }\n\t\t\t\tstyle={ styles.helpIconContainer }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t>\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"unsupported-icon-help\"\n\t\t\t\t\tlabel={ __( 'Help icon' ) }\n\t\t\t\t\ticon={ help }\n\t\t\t\t\tcolor={ infoIconStyle.color }\n\t\t\t\t/>\n\t\t\t</TouchableHighlight>\n\t\t);\n\t}\n\n\tonHelpButtonPressed() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.selectBlock();\n\t\t}\n\t\tthis.toggleSheet();\n\t}\n\n\trequestFallback() {\n\t\tif (\n\t\t\tthis.props.canEnableUnsupportedBlockEditor &&\n\t\t\tthis.props.isUnsupportedBlockEditorSupported === false\n\t\t) {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendButtonPressMessage: true } );\n\t\t} else {\n\t\t\tthis.toggleSheet();\n\t\t\tthis.setState( { sendFallbackMessage: true } );\n\t\t}\n\t}\n\n\trenderSheet( blockTitle, blockName ) {\n\t\tconst {\n\t\t\tgetStylesFromColorScheme,\n\t\t\tattributes,\n\t\t\tclientId,\n\t\t\tisUnsupportedBlockEditorSupported,\n\t\t\tcanEnableUnsupportedBlockEditor,\n\t\t\tisEditableInUnsupportedBlockEditor,\n\t\t} = this.props;\n\t\tconst infoTextStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoText,\n\t\t\tstyles.infoTextDark\n\t\t);\n\t\tconst infoTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoTitle,\n\t\t\tstyles.infoTitleDark\n\t\t);\n\t\tconst infoDescriptionStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoDescription,\n\t\t\tstyles.infoDescriptionDark\n\t\t);\n\t\tconst infoSheetIconStyle = getStylesFromColorScheme(\n\t\t\tstyles.infoSheetIcon,\n\t\t\tstyles.infoSheetIconDark\n\t\t);\n\n\t\t/* translators: Missing block alert title. %s: The localized block name */\n\t\tconst titleFormat = __( \"'%s' is not fully-supported\" );\n\t\tconst infoTitle = sprintf( titleFormat, blockTitle );\n\t\tconst missingBlockDetail = applyFilters(\n\t\t\t'native.missing_block_detail',\n\t\t\t__( 'We are working hard to add more blocks with each release.' ),\n\t\t\tblockName\n\t\t);\n\t\tconst missingBlockActionButton = applyFilters(\n\t\t\t'native.missing_block_action_button',\n\t\t\t__( 'Edit using web editor' )\n\t\t);\n\n\t\tconst actionButtonStyle = getStylesFromColorScheme(\n\t\t\tstyles.actionButton,\n\t\t\tstyles.actionButtonDark\n\t\t);\n\n\t\treturn (\n\t\t\t<BottomSheet\n\t\t\t\tisVisible={ this.state.showHelp }\n\t\t\t\thideHeader\n\t\t\t\tonClose={ this.closeSheet }\n\t\t\t\tonModalHide={ () => {\n\t\t\t\t\tif ( this.state.sendFallbackMessage ) {\n\t\t\t\t\t\t// On iOS, onModalHide is called when the controller is still part of the hierarchy.\n\t\t\t\t\t\t// A small delay will ensure that the controller has already been removed.\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\t// For the Classic block, the content is kept in the `content` attribute.\n\t\t\t\t\t\t\tconst content =\n\t\t\t\t\t\t\t\tblockName === 'core/freeform'\n\t\t\t\t\t\t\t\t\t? attributes.content\n\t\t\t\t\t\t\t\t\t: attributes.originalContent;\n\t\t\t\t\t\t\trequestUnsupportedBlockFallback(\n\t\t\t\t\t\t\t\tcontent,\n\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t\tblockTitle\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendFallbackMessage: false } );\n\t\t\t\t\t} else if ( this.state.sendButtonPressMessage ) {\n\t\t\t\t\t\tthis.timeout = setTimeout( () => {\n\t\t\t\t\t\t\tsendActionButtonPressedAction(\n\t\t\t\t\t\t\t\tactionButtons.missingBlockAlertActionButton\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}, 100 );\n\t\t\t\t\t\tthis.setState( { sendButtonPressMessage: false } );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<View style={ styles.infoContainer }>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ help }\n\t\t\t\t\t\tcolor={ infoSheetIconStyle.color }\n\t\t\t\t\t\tsize={ styles.infoSheetIcon.size }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ [ infoTextStyle, infoTitleStyle ] }>\n\t\t\t\t\t\t{ infoTitle }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ isEditableInUnsupportedBlockEditor &&\n\t\t\t\t\t\tmissingBlockDetail && (\n\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t\t\tinfoTextStyle,\n\t\t\t\t\t\t\t\t\tinfoDescriptionStyle,\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{ missingBlockDetail }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) }\n\t\t\t\t</View>\n\t\t\t\t{ ( isUnsupportedBlockEditorSupported ||\n\t\t\t\t\tcanEnableUnsupportedBlockEditor ) &&\n\t\t\t\t\tisEditableInUnsupportedBlockEditor && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ missingBlockActionButton }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.requestFallback }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Dismiss' ) }\n\t\t\t\t\t\t\t\tseparatorType=\"topFullWidth\"\n\t\t\t\t\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t\t\t\t\t\tlabelStyle={ actionButtonStyle }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t</BottomSheet>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { originalName } = this.props.attributes;\n\t\tconst { getStylesFromColorScheme, preferredColorScheme } = this.props;\n\t\tconst blockType = coreBlocks[ originalName ];\n\n\t\tconst title = this.getTitle();\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockMessage,\n\t\t\tstyles.unsupportedBlockMessageDark\n\t\t);\n\n\t\tconst subTitleStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockSubtitle,\n\t\t\tstyles.unsupportedBlockSubtitleDark\n\t\t);\n\t\tconst subtitle = (\n\t\t\t<Text style={ subTitleStyle }>{ __( 'Unsupported' ) }</Text>\n\t\t);\n\n\t\tconst icon = blockType\n\t\t\t? normalizeIconObject( blockType.settings.icon )\n\t\t\t: plugins;\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.unsupportedBlockIcon,\n\t\t\tstyles.unsupportedBlockIconDark\n\t\t);\n\t\tconst iconClassName = 'unsupported-icon' + '-' + preferredColorScheme;\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tdisabled={ ! this.props.isSelected }\n\t\t\t\taccessibilityLabel={ __( 'Help button' ) }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityHint={ __( 'Tap here to show help' ) }\n\t\t\t\tonPress={ this.toggleSheet }\n\t\t\t>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ getStylesFromColorScheme(\n\t\t\t\t\t\tstyles.unsupportedBlock,\n\t\t\t\t\t\tstyles.unsupportedBlockDark\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ this.renderHelpIcon() }\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName={ iconClassName }\n\t\t\t\t\t\ticon={ icon && icon.src ? icon.src : icon }\n\t\t\t\t\t\tcolor={ iconStyle.color }\n\t\t\t\t\t/>\n\t\t\t\t\t<Text style={ titleStyle }>{ title }</Text>\n\t\t\t\t\t{ subtitle }\n\t\t\t\t\t{ this.renderSheet( title, originalName ) }\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { attributes } ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tisUnsupportedBlockEditorSupported:\n\t\t\t\tgetSettings( 'capabilities' ).unsupportedBlockEditor === true,\n\t\t\tcanEnableUnsupportedBlockEditor:\n\t\t\t\tgetSettings( 'capabilities' )\n\t\t\t\t\t.canEnableUnsupportedBlockEditor === true,\n\t\t\tisEditableInUnsupportedBlockEditor:\n\t\t\t\t! UBE_INCOMPATIBLE_BLOCKS.includes( attributes.originalName ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { selectBlock } = dispatch( blockEditorStore );\n\t\treturn {\n\t\t\tselectBlock() {\n\t\t\t\tselectBlock( ownProps.clientId );\n\t\t\t},\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( UnsupportedBlockEdit );\n"]}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.areBlocksDirty = areBlocksDirty;
7
+
8
+ function areBlocksDirty(originalBlocks, blocks) {
9
+ return !isDeepEqual(originalBlocks, blocks, (prop, x) => {
10
+ // Skip inner blocks of page list during comparison as they
11
+ // are **always** controlled and may be updated async due to
12
+ // syncing with entity records. Left unchecked this would
13
+ // inadvertently trigger the dirty state.
14
+ if ((x === null || x === void 0 ? void 0 : x.name) === 'core/page-list' && prop === 'innerBlocks') {
15
+ return true;
16
+ }
17
+ });
18
+ }
19
+ /**
20
+ * Conditionally compares two candidates for deep equality.
21
+ * Provides an option to skip a given property of an object during comparison.
22
+ *
23
+ * @param {*} x 1st candidate for comparison
24
+ * @param {*} y 2nd candidate for comparison
25
+ * @param {Function|undefined} shouldSkip a function which can be used to skip a given property of an object.
26
+ * @return {boolean} whether the two candidates are deeply equal.
27
+ */
28
+
29
+
30
+ const isDeepEqual = (x, y, shouldSkip) => {
31
+ if (x === y) {
32
+ return true;
33
+ } else if (typeof x === 'object' && x !== null && x !== undefined && typeof y === 'object' && y !== null && y !== undefined) {
34
+ if (Object.keys(x).length !== Object.keys(y).length) return false;
35
+
36
+ for (const prop in x) {
37
+ if (y.hasOwnProperty(prop)) {
38
+ // Afford skipping a given property of an object.
39
+ if (shouldSkip && shouldSkip(prop, x)) {
40
+ return true;
41
+ }
42
+
43
+ if (!isDeepEqual(x[prop], y[prop], shouldSkip)) return false;
44
+ } else return false;
45
+ }
46
+
47
+ return true;
48
+ }
49
+
50
+ return false;
51
+ };
52
+ //# sourceMappingURL=are-blocks-dirty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/edit/are-blocks-dirty.js"],"names":["areBlocksDirty","originalBlocks","blocks","isDeepEqual","prop","x","name","y","shouldSkip","undefined","Object","keys","length","hasOwnProperty"],"mappings":";;;;;;;AAAO,SAASA,cAAT,CAAyBC,cAAzB,EAAyCC,MAAzC,EAAkD;AACxD,SAAO,CAAEC,WAAW,CAAEF,cAAF,EAAkBC,MAAlB,EAA0B,CAAEE,IAAF,EAAQC,CAAR,KAAe;AAC5D;AACA;AACA;AACA;AACA,QAAK,CAAAA,CAAC,SAAD,IAAAA,CAAC,WAAD,YAAAA,CAAC,CAAEC,IAAH,MAAY,gBAAZ,IAAgCF,IAAI,KAAK,aAA9C,EAA8D;AAC7D,aAAO,IAAP;AACA;AACD,GARmB,CAApB;AASA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMD,WAAW,GAAG,CAAEE,CAAF,EAAKE,CAAL,EAAQC,UAAR,KAAwB;AAC3C,MAAKH,CAAC,KAAKE,CAAX,EAAe;AACd,WAAO,IAAP;AACA,GAFD,MAEO,IACN,OAAOF,CAAP,KAAa,QAAb,IACAA,CAAC,KAAK,IADN,IAEAA,CAAC,KAAKI,SAFN,IAGA,OAAOF,CAAP,KAAa,QAHb,IAIAA,CAAC,KAAK,IAJN,IAKAA,CAAC,KAAKE,SANA,EAOL;AACD,QAAKC,MAAM,CAACC,IAAP,CAAaN,CAAb,EAAiBO,MAAjB,KAA4BF,MAAM,CAACC,IAAP,CAAaJ,CAAb,EAAiBK,MAAlD,EAA2D,OAAO,KAAP;;AAE3D,SAAM,MAAMR,IAAZ,IAAoBC,CAApB,EAAwB;AACvB,UAAKE,CAAC,CAACM,cAAF,CAAkBT,IAAlB,CAAL,EAAgC;AAC/B;AACA,YAAKI,UAAU,IAAIA,UAAU,CAAEJ,IAAF,EAAQC,CAAR,CAA7B,EAA2C;AAC1C,iBAAO,IAAP;AACA;;AAED,YAAK,CAAEF,WAAW,CAAEE,CAAC,CAAED,IAAF,CAAH,EAAaG,CAAC,CAAEH,IAAF,CAAd,EAAwBI,UAAxB,CAAlB,EACC,OAAO,KAAP;AACD,OARD,MAQO,OAAO,KAAP;AACP;;AAED,WAAO,IAAP;AACA;;AAED,SAAO,KAAP;AACA,CA7BD","sourcesContent":["export function areBlocksDirty( originalBlocks, blocks ) {\n\treturn ! isDeepEqual( originalBlocks, blocks, ( prop, x ) => {\n\t\t// Skip inner blocks of page list during comparison as they\n\t\t// are **always** controlled and may be updated async due to\n\t\t// syncing with entity records. Left unchecked this would\n\t\t// inadvertently trigger the dirty state.\n\t\tif ( x?.name === 'core/page-list' && prop === 'innerBlocks' ) {\n\t\t\treturn true;\n\t\t}\n\t} );\n}\n\n/**\n * Conditionally compares two candidates for deep equality.\n * Provides an option to skip a given property of an object during comparison.\n *\n * @param {*} x 1st candidate for comparison\n * @param {*} y 2nd candidate for comparison\n * @param {Function|undefined} shouldSkip a function which can be used to skip a given property of an object.\n * @return {boolean} whether the two candidates are deeply equal.\n */\nconst isDeepEqual = ( x, y, shouldSkip ) => {\n\tif ( x === y ) {\n\t\treturn true;\n\t} else if (\n\t\ttypeof x === 'object' &&\n\t\tx !== null &&\n\t\tx !== undefined &&\n\t\ttypeof y === 'object' &&\n\t\ty !== null &&\n\t\ty !== undefined\n\t) {\n\t\tif ( Object.keys( x ).length !== Object.keys( y ).length ) return false;\n\n\t\tfor ( const prop in x ) {\n\t\t\tif ( y.hasOwnProperty( prop ) ) {\n\t\t\t\t// Afford skipping a given property of an object.\n\t\t\t\tif ( shouldSkip && shouldSkip( prop, x ) ) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tif ( ! isDeepEqual( x[ prop ], y[ prop ], shouldSkip ) )\n\t\t\t\t\treturn false;\n\t\t\t} else return false;\n\t\t}\n\n\t\treturn true;\n\t}\n\n\treturn false;\n};\n"]}
@@ -9,6 +9,8 @@ exports.default = void 0;
9
9
 
10
10
  var _element = require("@wordpress/element");
11
11
 
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
12
14
  var _classnames = _interopRequireDefault(require("classnames"));
13
15
 
14
16
  var _blockEditor = require("@wordpress/block-editor");
@@ -37,8 +39,6 @@ var _responsiveWrapper = _interopRequireDefault(require("./responsive-wrapper"))
37
39
 
38
40
  var _innerBlocks = _interopRequireDefault(require("./inner-blocks"));
39
41
 
40
- var _navigationMenuSelector = _interopRequireDefault(require("./navigation-menu-selector"));
41
-
42
42
  var _navigationMenuNameControl = _interopRequireDefault(require("./navigation-menu-name-control"));
43
43
 
44
44
  var _unsavedInnerBlocks = _interopRequireDefault(require("./unsaved-inner-blocks"));
@@ -61,6 +61,8 @@ var _utils = require("./utils");
61
61
 
62
62
  var _manageMenusButton = _interopRequireDefault(require("./manage-menus-button"));
63
63
 
64
+ var _menuInspectorControls = _interopRequireDefault(require("./menu-inspector-controls"));
65
+
64
66
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
65
67
 
66
68
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -245,13 +247,24 @@ function Navigation(_ref) {
245
247
  setRef(fallbackNavigationMenus[0].id);
246
248
  }, [ref, isCreatingNavigationMenu, fallbackNavigationMenus, hasUncontrolledInnerBlocks]);
247
249
  (0, _element.useEffect)(() => {
248
- if (!hasResolvedNavigationMenus || isConvertingClassicMenu || (fallbackNavigationMenus === null || fallbackNavigationMenus === void 0 ? void 0 : fallbackNavigationMenus.length) > 0 || (classicMenus === null || classicMenus === void 0 ? void 0 : classicMenus.length) !== 1) {
250
+ if (!hasResolvedNavigationMenus || isConvertingClassicMenu || (fallbackNavigationMenus === null || fallbackNavigationMenus === void 0 ? void 0 : fallbackNavigationMenus.length) > 0 || !(classicMenus !== null && classicMenus !== void 0 && classicMenus.length)) {
249
251
  return;
250
252
  } // If there's non fallback navigation menus and
251
- // only one classic menu then create a new navigation menu based on it.
253
+ // a classic menu with a `primary` location or slug,
254
+ // then create a new navigation menu based on it.
255
+ // Otherwise, use the most recently created classic menu.
256
+
252
257
 
258
+ const primaryMenus = classicMenus.filter(classicMenu => classicMenu.locations.includes('primary') || classicMenu.slug === 'primary');
253
259
 
254
- convertClassicMenu(classicMenus[0].id, classicMenus[0].name, 'publish');
260
+ if (primaryMenus.length) {
261
+ convertClassicMenu(primaryMenus[0].id, primaryMenus[0].name, 'publish');
262
+ } else {
263
+ classicMenus.sort((a, b) => {
264
+ return b.id - a.id;
265
+ });
266
+ convertClassicMenu(classicMenus[0].id, classicMenus[0].name, 'publish');
267
+ }
255
268
  }, [hasResolvedNavigationMenus]);
256
269
  const navRef = (0, _element.useRef)(); // The standard HTML5 tag for the block wrapper.
257
270
 
@@ -328,6 +341,20 @@ function Navigation(_ref) {
328
341
  }
329
342
  };
330
343
 
344
+ const onSelectClassicMenu = async classicMenu => {
345
+ const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
346
+
347
+ if (navMenu) {
348
+ handleUpdateMenu(navMenu.id, {
349
+ focusNavigationBlock: true
350
+ });
351
+ }
352
+ };
353
+
354
+ const onSelectNavigationMenu = menuId => {
355
+ handleUpdateMenu(menuId);
356
+ };
357
+
331
358
  (0, _element.useEffect)(() => {
332
359
  hideClassicMenuConversionNotice();
333
360
 
@@ -405,7 +432,8 @@ function Navigation(_ref) {
405
432
  showMenuAutoPublishDraftNotice((0, _i18n.__)('Error occurred while publishing the navigation menu.'));
406
433
  });
407
434
  }, [isDraftNavigationMenu, navigationMenu]);
408
- const stylingInspectorControls = (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
435
+ const colorGradientSettings = (0, _blockEditor.__experimentalUseMultipleOriginColorsAndGradients)();
436
+ const stylingInspectorControls = (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, hasSubmenuIndicatorSetting && (0, _element.createElement)(_components.PanelBody, {
409
437
  title: (0, _i18n.__)('Display')
410
438
  }, isResponsive && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.Button, {
411
439
  className: overlayMenuPreviewClasses,
@@ -459,35 +487,42 @@ function Navigation(_ref) {
459
487
  },
460
488
  disabled: attributes.openSubmenusOnClick,
461
489
  label: (0, _i18n.__)('Show arrow')
462
- }))), hasColorSettings && (0, _element.createElement)(_blockEditor.PanelColorSettings, {
463
- __experimentalHasMultipleOrigins: true,
490
+ })))), (0, _element.createElement)(_blockEditor.InspectorControls, {
491
+ __experimentalGroup: "color"
492
+ }, hasColorSettings && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.__experimentalColorGradientSettingsDropdown, (0, _extends2.default)({
464
493
  __experimentalIsRenderedInSidebar: true,
465
- title: (0, _i18n.__)('Color'),
466
- initialOpen: false,
467
- colorSettings: [{
468
- value: textColor.color,
469
- onChange: setTextColor,
470
- label: (0, _i18n.__)('Text')
494
+ settings: [{
495
+ colorValue: textColor.color,
496
+ label: (0, _i18n.__)('Text'),
497
+ onColorChange: setTextColor,
498
+ resetAllFilter: () => setTextColor()
471
499
  }, {
472
- value: backgroundColor.color,
473
- onChange: setBackgroundColor,
474
- label: (0, _i18n.__)('Background')
500
+ colorValue: backgroundColor.color,
501
+ label: (0, _i18n.__)('Background'),
502
+ onColorChange: setBackgroundColor,
503
+ resetAllFilter: () => setBackgroundColor()
475
504
  }, {
476
- value: overlayTextColor.color,
477
- onChange: setOverlayTextColor,
478
- label: (0, _i18n.__)('Submenu & overlay text')
505
+ colorValue: overlayTextColor.color,
506
+ label: (0, _i18n.__)('Submenu & overlay text'),
507
+ onColorChange: setOverlayTextColor,
508
+ resetAllFilter: () => setOverlayTextColor()
479
509
  }, {
480
- value: overlayBackgroundColor.color,
481
- onChange: setOverlayBackgroundColor,
482
- label: (0, _i18n.__)('Submenu & overlay background')
483
- }]
484
- }, enableContrastChecking && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.ContrastChecker, {
510
+ colorValue: overlayBackgroundColor.color,
511
+ label: (0, _i18n.__)('Submenu & overlay background'),
512
+ onColorChange: setOverlayBackgroundColor,
513
+ resetAllFilter: () => setOverlayBackgroundColor()
514
+ }],
515
+ panelId: clientId
516
+ }, colorGradientSettings, {
517
+ gradients: [],
518
+ disableCustomGradients: true
519
+ })), enableContrastChecking && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.ContrastChecker, {
485
520
  backgroundColor: detectedBackgroundColor,
486
521
  textColor: detectedColor
487
522
  }), (0, _element.createElement)(_blockEditor.ContrastChecker, {
488
523
  backgroundColor: detectedOverlayBackgroundColor,
489
524
  textColor: detectedOverlayColor
490
- })))); // If the block has inner blocks, but no menu id, then these blocks are either:
525
+ }))))); // If the block has inner blocks, but no menu id, then these blocks are either:
491
526
  // - inserted via a pattern.
492
527
  // - inserted directly via Code View (or otherwise).
493
528
  // - from an older version of navigation block added before the block used a wp_navigation entity.
@@ -495,56 +530,20 @@ function Navigation(_ref) {
495
530
  // that automatically saves the menu as an entity when changes are made to the inner blocks.
496
531
 
497
532
  const hasUnsavedBlocks = hasUncontrolledInnerBlocks && !isEntityAvailable;
498
-
499
- const WrappedNavigationMenuSelector = _ref2 => {
500
- let {
501
- currentMenuId
502
- } = _ref2;
503
- return (0, _element.createElement)(_navigationMenuSelector.default, {
504
- currentMenuId: currentMenuId,
505
- clientId: clientId,
506
- onSelectNavigationMenu: menuId => {
507
- handleUpdateMenu(menuId);
508
- },
509
- onSelectClassicMenu: async classicMenu => {
510
- const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
511
-
512
- if (navMenu) {
513
- handleUpdateMenu(navMenu.id, {
514
- focusNavigationBlock: true
515
- });
516
- }
517
- },
518
- onCreateNew: createUntitledEmptyNavigationMenu,
519
- createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
520
- createNavigationMenuIsError: createNavigationMenuIsError
521
- /* translators: %s: The name of a menu. */
522
- ,
523
- actionLabel: (0, _i18n.__)("Switch to '%s'")
524
- });
525
- };
526
-
527
533
  const isManageMenusButtonDisabled = !hasManagePermissions || !hasResolvedNavigationMenus;
528
534
 
529
535
  if (hasUnsavedBlocks && !isCreatingNavigationMenu) {
530
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
531
- title: isOffCanvasNavigationEditorEnabled ? null : (0, _i18n.__)('Menu')
532
- }, isOffCanvasNavigationEditorEnabled ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHStack, {
533
- className: "wp-block-navigation-off-canvas-editor__header"
534
- }, (0, _element.createElement)(_components.__experimentalHeading, {
535
- className: "wp-block-navigation-off-canvas-editor__title",
536
- level: 2
537
- }, (0, _i18n.__)('Menu')), (0, _element.createElement)(WrappedNavigationMenuSelector, {
538
- currentMenuId: ref
539
- })), (0, _element.createElement)(_blockEditor.__experimentalOffCanvasEditor, {
540
- blocks: innerBlocks,
541
- isExpanded: true,
542
- selectBlockInCanvas: false
543
- })) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(WrappedNavigationMenuSelector, {
544
- currentMenuId: ref
545
- }), (0, _element.createElement)(_manageMenusButton.default, {
546
- disabled: isManageMenusButtonDisabled
547
- })))), stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
536
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_menuInspectorControls.default, {
537
+ clientId: clientId,
538
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
539
+ createNavigationMenuIsError: createNavigationMenuIsError,
540
+ currentMenuId: ref,
541
+ isNavigationMenuMissing: isNavigationMenuMissing,
542
+ isManageMenusButtonDisabled: isManageMenusButtonDisabled,
543
+ onCreateNew: createUntitledEmptyNavigationMenu,
544
+ onSelectClassicMenu: onSelectClassicMenu,
545
+ onSelectNavigationMenu: onSelectNavigationMenu
546
+ }), stylingInspectorControls, (0, _element.createElement)(_responsiveWrapper.default, {
548
547
  id: clientId,
549
548
  onToggle: setResponsiveMenuVisibility,
550
549
  isOpen: isResponsiveMenuOpen,
@@ -566,20 +565,16 @@ function Navigation(_ref) {
566
565
 
567
566
 
568
567
  if (ref && isNavigationMenuMissing) {
569
- return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
570
- title: isOffCanvasNavigationEditorEnabled ? null : (0, _i18n.__)('Menu')
571
- }, isOffCanvasNavigationEditorEnabled ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHStack, {
572
- className: "wp-block-navigation-off-canvas-editor__header"
573
- }, (0, _element.createElement)(_components.__experimentalHeading, {
574
- className: "wp-block-navigation-off-canvas-editor__title",
575
- level: 2
576
- }, (0, _i18n.__)('Menu')), (0, _element.createElement)(WrappedNavigationMenuSelector, {
577
- currentMenuId: null
578
- })), (0, _element.createElement)("p", null, "Select or create a menu")) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(WrappedNavigationMenuSelector, {
579
- currentMenuId: null
580
- }), (0, _element.createElement)(_manageMenusButton.default, {
581
- disabled: isManageMenusButtonDisabled
582
- })))), (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
568
+ return (0, _element.createElement)(TagName, blockProps, (0, _element.createElement)(_menuInspectorControls.default, {
569
+ clientId: clientId,
570
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
571
+ createNavigationMenuIsError: createNavigationMenuIsError,
572
+ isNavigationMenuMissing: isNavigationMenuMissing,
573
+ isManageMenusButtonDisabled: isManageMenusButtonDisabled,
574
+ onCreateNew: createUntitledEmptyNavigationMenu,
575
+ onSelectClassicMenu: onSelectClassicMenu,
576
+ onSelectNavigationMenu: onSelectNavigationMenu
577
+ }), (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
583
578
  onClick: createUntitledEmptyNavigationMenu,
584
579
  variant: "link"
585
580
  }, (0, _i18n.__)('Create a new menu?'))));
@@ -607,18 +602,8 @@ function Navigation(_ref) {
607
602
  clientId: clientId,
608
603
  canUserCreateNavigationMenu: canUserCreateNavigationMenu,
609
604
  isResolvingCanUserCreateNavigationMenu: isResolvingCanUserCreateNavigationMenu,
610
- onSelectNavigationMenu: menuId => {
611
- handleUpdateMenu(menuId);
612
- },
613
- onSelectClassicMenu: async classicMenu => {
614
- const navMenu = await convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
615
-
616
- if (navMenu) {
617
- handleUpdateMenu(navMenu.id, {
618
- focusNavigationBlock: true
619
- });
620
- }
621
- },
605
+ onSelectNavigationMenu: onSelectNavigationMenu,
606
+ onSelectClassicMenu: onSelectClassicMenu,
622
607
  onCreateEmpty: createUntitledEmptyNavigationMenu
623
608
  }));
624
609
  }
@@ -629,24 +614,17 @@ function Navigation(_ref) {
629
614
  id: ref
630
615
  }, (0, _element.createElement)(_blockEditor.__experimentalRecursionProvider, {
631
616
  uniqueId: recursionId
632
- }, (0, _element.createElement)(_blockEditor.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
633
- title: isOffCanvasNavigationEditorEnabled ? null : (0, _i18n.__)('Menu')
634
- }, isOffCanvasNavigationEditorEnabled ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHStack, {
635
- className: "wp-block-navigation-off-canvas-editor__header"
636
- }, (0, _element.createElement)(_components.__experimentalHeading, {
637
- className: "wp-block-navigation-off-canvas-editor__title",
638
- level: 2
639
- }, (0, _i18n.__)('Menu')), (0, _element.createElement)(WrappedNavigationMenuSelector, {
640
- currentMenuId: ref
641
- })), (0, _element.createElement)(_blockEditor.__experimentalOffCanvasEditor, {
642
- blocks: innerBlocks,
643
- isExpanded: true,
644
- selectBlockInCanvas: false
645
- })) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(WrappedNavigationMenuSelector, {
646
- currentMenuId: ref
647
- }), (0, _element.createElement)(_manageMenusButton.default, {
648
- disabled: isManageMenusButtonDisabled
649
- })))), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
617
+ }, (0, _element.createElement)(_menuInspectorControls.default, {
618
+ clientId: clientId,
619
+ createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
620
+ createNavigationMenuIsError: createNavigationMenuIsError,
621
+ currentMenuId: ref,
622
+ isNavigationMenuMissing: isNavigationMenuMissing,
623
+ isManageMenusButtonDisabled: isManageMenusButtonDisabled,
624
+ onCreateNew: createUntitledEmptyNavigationMenu,
625
+ onSelectClassicMenu: onSelectClassicMenu,
626
+ onSelectNavigationMenu: onSelectNavigationMenu
627
+ }), stylingInspectorControls, isEntityAvailable && (0, _element.createElement)(_blockEditor.InspectorControls, {
650
628
  __experimentalGroup: "advanced"
651
629
  }, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && (0, _element.createElement)(_navigationMenuNameControl.default, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && (0, _element.createElement)(_navigationMenuDeleteControl.default, {
652
630
  onDelete: function () {