@wordpress/block-library 7.5.0 → 7.8.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 (946) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +3 -2
  3. package/babel-plugin.js +154 -0
  4. package/build/audio/edit.js +1 -1
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/index.js +6 -1
  7. package/build/audio/index.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js +10 -9
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js.map +1 -1
  13. package/build/button/deprecated.js +175 -35
  14. package/build/button/deprecated.js.map +1 -1
  15. package/build/button/edit.js +1 -1
  16. package/build/button/edit.js.map +1 -1
  17. package/build/button/edit.native.js.map +1 -1
  18. package/build/button/index.js +25 -1
  19. package/build/button/index.js.map +1 -1
  20. package/build/button/save.js +1 -1
  21. package/build/button/save.js.map +1 -1
  22. package/build/buttons/deprecated.js.map +1 -1
  23. package/build/buttons/edit.js.map +1 -1
  24. package/build/buttons/edit.native.js.map +1 -1
  25. package/build/categories/edit.js +1 -1
  26. package/build/categories/edit.js.map +1 -1
  27. package/build/categories/index.js +1 -1
  28. package/build/column/deprecated.js.map +1 -1
  29. package/build/column/edit.js.map +1 -1
  30. package/build/column/edit.native.js.map +1 -1
  31. package/build/columns/deprecated.js.map +1 -1
  32. package/build/columns/edit.js +1 -1
  33. package/build/columns/edit.js.map +1 -1
  34. package/build/columns/edit.native.js +1 -1
  35. package/build/columns/edit.native.js.map +1 -1
  36. package/build/columns/index.js +3 -1
  37. package/build/columns/index.js.map +1 -1
  38. package/build/columns/utils.js +1 -1
  39. package/build/columns/utils.js.map +1 -1
  40. package/build/comment-author-avatar/index.js +1 -0
  41. package/build/comment-author-avatar/index.js.map +1 -1
  42. package/build/comment-author-name/edit.js +4 -2
  43. package/build/comment-author-name/edit.js.map +1 -1
  44. package/build/comment-date/edit.js +1 -1
  45. package/build/comment-date/edit.js.map +1 -1
  46. package/build/comments-title/deprecated.js +110 -0
  47. package/build/comments-title/deprecated.js.map +1 -0
  48. package/build/comments-title/edit.js +35 -37
  49. package/build/comments-title/edit.js.map +1 -1
  50. package/build/comments-title/index.js +5 -8
  51. package/build/comments-title/index.js.map +1 -1
  52. package/build/cover/controls.native.js +2 -3
  53. package/build/cover/controls.native.js.map +1 -1
  54. package/build/cover/deprecated.js +212 -207
  55. package/build/cover/deprecated.js.map +1 -1
  56. package/build/cover/edit/block-controls.js +108 -0
  57. package/build/cover/edit/block-controls.js.map +1 -0
  58. package/build/cover/edit/cover-placeholder.js +49 -0
  59. package/build/cover/edit/cover-placeholder.js.map +1 -0
  60. package/build/cover/edit/index.js +336 -0
  61. package/build/cover/edit/index.js.map +1 -0
  62. package/build/cover/edit/inspector-controls.js +252 -0
  63. package/build/cover/edit/inspector-controls.js.map +1 -0
  64. package/build/cover/edit/resizable-cover.js +67 -0
  65. package/build/cover/edit/resizable-cover.js.map +1 -0
  66. package/build/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  67. package/build/cover/edit/use-cover-is-dark.js.map +1 -0
  68. package/build/cover/edit.native.js +0 -1
  69. package/build/cover/edit.native.js.map +1 -1
  70. package/build/cover/focal-point-settings-button.native.js.map +1 -1
  71. package/build/cover/save.js +18 -5
  72. package/build/cover/save.js.map +1 -1
  73. package/build/cover/shared.js +15 -9
  74. package/build/cover/shared.js.map +1 -1
  75. package/build/cover/transforms.js.map +1 -1
  76. package/build/embed/deprecated.js +6 -1
  77. package/build/embed/deprecated.js.map +1 -1
  78. package/build/embed/edit.js.map +1 -1
  79. package/build/embed/edit.native.js.map +1 -1
  80. package/build/embed/embed-controls.native.js.map +1 -1
  81. package/build/embed/embed-preview.js +1 -1
  82. package/build/embed/embed-preview.js.map +1 -1
  83. package/build/embed/index.js +6 -1
  84. package/build/embed/index.js.map +1 -1
  85. package/build/embed/transforms.js +6 -1
  86. package/build/embed/transforms.js.map +1 -1
  87. package/build/embed/util.js +6 -1
  88. package/build/embed/util.js.map +1 -1
  89. package/build/file/edit.js +1 -1
  90. package/build/file/edit.js.map +1 -1
  91. package/build/file/edit.native.js +0 -1
  92. package/build/file/edit.native.js.map +1 -1
  93. package/build/file/index.js.map +1 -1
  94. package/build/file/save.js +9 -1
  95. package/build/file/save.js.map +1 -1
  96. package/build/gallery/edit.js +3 -2
  97. package/build/gallery/edit.js.map +1 -1
  98. package/build/gallery/gallery.js +1 -1
  99. package/build/gallery/gallery.js.map +1 -1
  100. package/build/gallery/gallery.native.js.map +1 -1
  101. package/build/gallery/gap-styles.js +14 -4
  102. package/build/gallery/gap-styles.js.map +1 -1
  103. package/build/gallery/index.js +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/shared.js +29 -12
  106. package/build/gallery/shared.js.map +1 -1
  107. package/build/gallery/use-get-media.js +2 -1
  108. package/build/gallery/use-get-media.js.map +1 -1
  109. package/build/gallery/use-short-code-transform.js +19 -18
  110. package/build/gallery/use-short-code-transform.js.map +1 -1
  111. package/build/gallery/v1/edit.js.map +1 -1
  112. package/build/gallery/v1/gallery-image.js.map +1 -1
  113. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  114. package/build/gallery/v1/gallery.js +1 -1
  115. package/build/gallery/v1/gallery.js.map +1 -1
  116. package/build/heading/autogenerate-anchors.js +7 -2
  117. package/build/heading/autogenerate-anchors.js.map +1 -1
  118. package/build/heading/deprecated.js.map +1 -1
  119. package/build/heading/edit.js +6 -2
  120. package/build/heading/edit.js.map +1 -1
  121. package/build/heading/index.js +1 -0
  122. package/build/heading/index.js.map +1 -1
  123. package/build/heading/transforms.js +1 -0
  124. package/build/heading/transforms.js.map +1 -1
  125. package/build/image/deprecated.js.map +1 -1
  126. package/build/image/edit.js +5 -56
  127. package/build/image/edit.js.map +1 -1
  128. package/build/image/edit.native.js +56 -4
  129. package/build/image/edit.native.js.map +1 -1
  130. package/build/image/image.js +4 -14
  131. package/build/image/image.js.map +1 -1
  132. package/build/image/index.js +5 -0
  133. package/build/image/index.js.map +1 -1
  134. package/build/image/transforms.js.map +1 -1
  135. package/build/image/utils.js +2 -1
  136. package/build/image/utils.js.map +1 -1
  137. package/build/index.js +46 -10
  138. package/build/index.js.map +1 -1
  139. package/build/is-block-metadata-experimental.js +18 -0
  140. package/build/is-block-metadata-experimental.js.map +1 -0
  141. package/build/latest-comments/edit.js.map +1 -1
  142. package/build/latest-posts/edit.js +31 -5
  143. package/build/latest-posts/edit.js.map +1 -1
  144. package/build/latest-posts/edit.native.js.map +1 -1
  145. package/build/list/index.js.map +1 -1
  146. package/build/list/transforms.js +6 -0
  147. package/build/list/transforms.js.map +1 -1
  148. package/build/list/v2/edit.js +2 -1
  149. package/build/list/v2/edit.js.map +1 -1
  150. package/build/list/v2/migrate.js +1 -0
  151. package/build/list/v2/migrate.js.map +1 -1
  152. package/build/list/v2/transforms.js +46 -9
  153. package/build/list/v2/transforms.js.map +1 -1
  154. package/build/list-item/edit.js +7 -9
  155. package/build/list-item/edit.js.map +1 -1
  156. package/build/list-item/hooks/index.js +24 -0
  157. package/build/list-item/hooks/index.js.map +1 -1
  158. package/build/list-item/hooks/use-backspace.js +59 -0
  159. package/build/list-item/hooks/use-backspace.js.map +1 -0
  160. package/build/list-item/hooks/use-enter.js +6 -9
  161. package/build/list-item/hooks/use-enter.js.map +1 -1
  162. package/build/list-item/hooks/use-indent-list-item.js +33 -39
  163. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  164. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  165. package/build/list-item/hooks/use-space.js +54 -0
  166. package/build/list-item/hooks/use-space.js.map +1 -0
  167. package/build/list-item/hooks/use-split.js +44 -0
  168. package/build/list-item/hooks/use-split.js.map +1 -0
  169. package/build/list-item/index.js +1 -0
  170. package/build/list-item/index.js.map +1 -1
  171. package/build/list-item/utils.js +1 -1
  172. package/build/list-item/utils.js.map +1 -1
  173. package/build/media-text/deprecated.js +5 -3
  174. package/build/media-text/deprecated.js.map +1 -1
  175. package/build/media-text/edit.native.js +2 -1
  176. package/build/media-text/edit.native.js.map +1 -1
  177. package/build/media-text/media-container.js +3 -3
  178. package/build/media-text/media-container.js.map +1 -1
  179. package/build/media-text/media-container.native.js +2 -4
  180. package/build/media-text/media-container.native.js.map +1 -1
  181. package/build/media-text/save.js +3 -1
  182. package/build/media-text/save.js.map +1 -1
  183. package/build/media-text/transforms.js +137 -8
  184. package/build/media-text/transforms.js.map +1 -1
  185. package/build/missing/edit.native.js.map +1 -1
  186. package/build/navigation/deprecated.js.map +1 -1
  187. package/build/navigation/edit/index.js +86 -81
  188. package/build/navigation/edit/index.js.map +1 -1
  189. package/build/navigation/edit/inner-blocks.js +1 -5
  190. package/build/navigation/edit/inner-blocks.js.map +1 -1
  191. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  192. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  193. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  194. package/build/navigation/use-navigation-entities.js +3 -3
  195. package/build/navigation/use-navigation-entities.js.map +1 -1
  196. package/build/navigation/use-navigation-menu.js +130 -38
  197. package/build/navigation/use-navigation-menu.js.map +1 -1
  198. package/build/navigation/use-template-part-area-label.js +4 -1
  199. package/build/navigation/use-template-part-area-label.js.map +1 -1
  200. package/build/navigation-link/edit.js +44 -12
  201. package/build/navigation-link/edit.js.map +1 -1
  202. package/build/navigation-link/fallback-variations.js +1 -1
  203. package/build/navigation-link/fallback-variations.js.map +1 -1
  204. package/build/navigation-link/hooks.js +1 -1
  205. package/build/navigation-link/hooks.js.map +1 -1
  206. package/build/navigation-submenu/edit.js.map +1 -1
  207. package/build/page-list/convert-to-links-modal.js +1 -1
  208. package/build/page-list/convert-to-links-modal.js.map +1 -1
  209. package/build/page-list/edit.js +1 -1
  210. package/build/page-list/edit.js.map +1 -1
  211. package/build/paragraph/deprecated.js +1 -1
  212. package/build/paragraph/deprecated.js.map +1 -1
  213. package/build/pattern/edit.js.map +1 -1
  214. package/build/post-author/edit.js +1 -1
  215. package/build/post-author/edit.js.map +1 -1
  216. package/build/post-author-name/index.js +4 -0
  217. package/build/post-author-name/index.js.map +1 -1
  218. package/build/post-author-name/transforms.js +41 -0
  219. package/build/post-author-name/transforms.js.map +1 -0
  220. package/build/post-comment/index.js +1 -0
  221. package/build/post-comment/index.js.map +1 -1
  222. package/build/post-comments/edit.js +34 -16
  223. package/build/post-comments/edit.js.map +1 -1
  224. package/build/post-comments-count/index.js +1 -0
  225. package/build/post-comments-count/index.js.map +1 -1
  226. package/build/post-comments-form/form.js +12 -2
  227. package/build/post-comments-form/form.js.map +1 -1
  228. package/build/post-comments-link/index.js +1 -0
  229. package/build/post-comments-link/index.js.map +1 -1
  230. package/build/post-content/edit.js.map +1 -1
  231. package/build/post-date/edit.js +13 -7
  232. package/build/post-date/edit.js.map +1 -1
  233. package/build/post-featured-image/edit.js +11 -25
  234. package/build/post-featured-image/edit.js.map +1 -1
  235. package/build/post-navigation-link/index.js +4 -0
  236. package/build/post-navigation-link/index.js.map +1 -1
  237. package/build/post-template/edit.js +7 -2
  238. package/build/post-template/edit.js.map +1 -1
  239. package/build/post-terms/edit.js +11 -2
  240. package/build/post-terms/edit.js.map +1 -1
  241. package/build/post-terms/hooks.js +33 -0
  242. package/build/post-terms/hooks.js.map +1 -0
  243. package/build/post-terms/index.js +12 -5
  244. package/build/post-terms/index.js.map +1 -1
  245. package/build/post-title/index.js +1 -1
  246. package/build/post-title/index.js.map +1 -1
  247. package/build/pullquote/deprecated.js.map +1 -1
  248. package/build/pullquote/edit.js +1 -1
  249. package/build/pullquote/edit.js.map +1 -1
  250. package/build/pullquote/edit.native.js +1 -1
  251. package/build/pullquote/edit.native.js.map +1 -1
  252. package/build/query/edit/index.js +5 -1
  253. package/build/query/edit/index.js.map +1 -1
  254. package/build/query/edit/inspector-controls/index.js +26 -17
  255. package/build/query/edit/inspector-controls/index.js.map +1 -1
  256. package/build/query/edit/inspector-controls/parent-control.js +148 -0
  257. package/build/query/edit/inspector-controls/parent-control.js.map +1 -0
  258. package/build/query/edit/inspector-controls/sticky-control.js +41 -0
  259. package/build/query/edit/inspector-controls/sticky-control.js.map +1 -0
  260. package/build/query/edit/query-toolbar.js +16 -2
  261. package/build/query/edit/query-toolbar.js.map +1 -1
  262. package/build/query/index.js +2 -1
  263. package/build/query/index.js.map +1 -1
  264. package/build/query/utils.js +28 -2
  265. package/build/query/utils.js.map +1 -1
  266. package/build/query-title/index.js +1 -1
  267. package/build/query-title/index.js.map +1 -1
  268. package/build/query-title/variations.js +1 -1
  269. package/build/query-title/variations.js.map +1 -1
  270. package/build/quote/edit.js +3 -2
  271. package/build/quote/edit.js.map +1 -1
  272. package/build/quote/v2/edit.js +1 -1
  273. package/build/quote/v2/edit.js.map +1 -1
  274. package/build/search/edit.js +2 -1
  275. package/build/search/edit.js.map +1 -1
  276. package/build/search/edit.native.js.map +1 -1
  277. package/build/search/index.js +4 -0
  278. package/build/search/index.js.map +1 -1
  279. package/build/separator/use-deprecated-opacity.js.map +1 -1
  280. package/build/shortcode/edit.native.js +16 -13
  281. package/build/shortcode/edit.native.js.map +1 -1
  282. package/build/site-logo/edit.js +4 -13
  283. package/build/site-logo/edit.js.map +1 -1
  284. package/build/social-links/deprecated.js.map +1 -1
  285. package/build/social-links/edit.js +2 -2
  286. package/build/social-links/edit.js.map +1 -1
  287. package/build/social-links/edit.native.js.map +1 -1
  288. package/build/spacer/controls.js.map +1 -1
  289. package/build/table/deprecated.js.map +1 -1
  290. package/build/table/edit.js +15 -2
  291. package/build/table/edit.js.map +1 -1
  292. package/build/table/index.js +6 -1
  293. package/build/table/index.js.map +1 -1
  294. package/build/table/state.js.map +1 -1
  295. package/build/table-of-contents/edit.js +145 -65
  296. package/build/table-of-contents/edit.js.map +1 -1
  297. package/build/table-of-contents/index.js +13 -3
  298. package/build/table-of-contents/index.js.map +1 -1
  299. package/build/table-of-contents/list.js +16 -9
  300. package/build/table-of-contents/list.js.map +1 -1
  301. package/build/table-of-contents/save.js +40 -0
  302. package/build/table-of-contents/save.js.map +1 -0
  303. package/build/table-of-contents/utils.js +11 -77
  304. package/build/table-of-contents/utils.js.map +1 -1
  305. package/build/tag-cloud/edit.js.map +1 -1
  306. package/build/template-part/edit/advanced-controls.js +4 -1
  307. package/build/template-part/edit/advanced-controls.js.map +1 -1
  308. package/build/template-part/edit/index.js +7 -3
  309. package/build/template-part/edit/index.js.map +1 -1
  310. package/build/template-part/edit/inner-blocks.js +3 -8
  311. package/build/template-part/edit/inner-blocks.js.map +1 -1
  312. package/build/template-part/edit/utils/hooks.js +4 -1
  313. package/build/template-part/edit/utils/hooks.js.map +1 -1
  314. package/build/transformationCategories.native.js.map +1 -1
  315. package/build/video/edit-common-settings.js.map +1 -1
  316. package/build/video/edit.js +1 -1
  317. package/build/video/edit.js.map +1 -1
  318. package/build/video/edit.native.js +43 -0
  319. package/build/video/edit.native.js.map +1 -1
  320. package/build/video/index.js +6 -1
  321. package/build/video/index.js.map +1 -1
  322. package/build-module/audio/edit.js +2 -2
  323. package/build-module/audio/edit.js.map +1 -1
  324. package/build-module/audio/index.js +6 -1
  325. package/build-module/audio/index.js.map +1 -1
  326. package/build-module/avatar/hooks.js +2 -2
  327. package/build-module/avatar/hooks.js.map +1 -1
  328. package/build-module/block/edit.js +11 -10
  329. package/build-module/block/edit.js.map +1 -1
  330. package/build-module/block/edit.native.js.map +1 -1
  331. package/build-module/button/deprecated.js +175 -35
  332. package/build-module/button/deprecated.js.map +1 -1
  333. package/build-module/button/edit.js +2 -2
  334. package/build-module/button/edit.js.map +1 -1
  335. package/build-module/button/edit.native.js.map +1 -1
  336. package/build-module/button/index.js +25 -1
  337. package/build-module/button/index.js.map +1 -1
  338. package/build-module/button/save.js +2 -2
  339. package/build-module/button/save.js.map +1 -1
  340. package/build-module/buttons/deprecated.js.map +1 -1
  341. package/build-module/buttons/edit.js.map +1 -1
  342. package/build-module/buttons/edit.native.js.map +1 -1
  343. package/build-module/categories/edit.js +1 -1
  344. package/build-module/categories/edit.js.map +1 -1
  345. package/build-module/categories/index.js +1 -1
  346. package/build-module/column/deprecated.js.map +1 -1
  347. package/build-module/column/edit.js.map +1 -1
  348. package/build-module/column/edit.native.js.map +1 -1
  349. package/build-module/columns/deprecated.js.map +1 -1
  350. package/build-module/columns/edit.js +2 -2
  351. package/build-module/columns/edit.js.map +1 -1
  352. package/build-module/columns/edit.native.js +2 -2
  353. package/build-module/columns/edit.native.js.map +1 -1
  354. package/build-module/columns/index.js +3 -1
  355. package/build-module/columns/index.js.map +1 -1
  356. package/build-module/columns/utils.js +2 -2
  357. package/build-module/columns/utils.js.map +1 -1
  358. package/build-module/comment-author-avatar/index.js +1 -0
  359. package/build-module/comment-author-avatar/index.js.map +1 -1
  360. package/build-module/comment-author-name/edit.js +4 -2
  361. package/build-module/comment-author-name/edit.js.map +1 -1
  362. package/build-module/comment-date/edit.js +1 -1
  363. package/build-module/comment-date/edit.js.map +1 -1
  364. package/build-module/comments-title/deprecated.js +102 -0
  365. package/build-module/comments-title/deprecated.js.map +1 -0
  366. package/build-module/comments-title/edit.js +38 -40
  367. package/build-module/comments-title/edit.js.map +1 -1
  368. package/build-module/comments-title/index.js +4 -8
  369. package/build-module/comments-title/index.js.map +1 -1
  370. package/build-module/cover/controls.native.js +2 -3
  371. package/build-module/cover/controls.native.js.map +1 -1
  372. package/build-module/cover/deprecated.js +206 -198
  373. package/build-module/cover/deprecated.js.map +1 -1
  374. package/build-module/cover/edit/block-controls.js +99 -0
  375. package/build-module/cover/edit/block-controls.js.map +1 -0
  376. package/build-module/cover/edit/cover-placeholder.js +38 -0
  377. package/build-module/cover/edit/cover-placeholder.js.map +1 -0
  378. package/build-module/cover/edit/index.js +310 -0
  379. package/build-module/cover/edit/index.js.map +1 -0
  380. package/build-module/cover/edit/inspector-controls.js +240 -0
  381. package/build-module/cover/edit/inspector-controls.js.map +1 -0
  382. package/build-module/cover/edit/resizable-cover.js +55 -0
  383. package/build-module/cover/edit/resizable-cover.js.map +1 -0
  384. package/build-module/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  385. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -0
  386. package/build-module/cover/edit.native.js +0 -1
  387. package/build-module/cover/edit.native.js.map +1 -1
  388. package/build-module/cover/focal-point-settings-button.native.js.map +1 -1
  389. package/build-module/cover/save.js +19 -6
  390. package/build-module/cover/save.js.map +1 -1
  391. package/build-module/cover/shared.js +11 -5
  392. package/build-module/cover/shared.js.map +1 -1
  393. package/build-module/cover/transforms.js.map +1 -1
  394. package/build-module/embed/deprecated.js +6 -1
  395. package/build-module/embed/deprecated.js.map +1 -1
  396. package/build-module/embed/edit.js.map +1 -1
  397. package/build-module/embed/edit.native.js.map +1 -1
  398. package/build-module/embed/embed-controls.native.js.map +1 -1
  399. package/build-module/embed/embed-preview.js +2 -2
  400. package/build-module/embed/embed-preview.js.map +1 -1
  401. package/build-module/embed/index.js +6 -1
  402. package/build-module/embed/index.js.map +1 -1
  403. package/build-module/embed/transforms.js +6 -1
  404. package/build-module/embed/transforms.js.map +1 -1
  405. package/build-module/embed/util.js +6 -1
  406. package/build-module/embed/util.js.map +1 -1
  407. package/build-module/file/edit.js +2 -2
  408. package/build-module/file/edit.js.map +1 -1
  409. package/build-module/file/edit.native.js +0 -1
  410. package/build-module/file/edit.native.js.map +1 -1
  411. package/build-module/file/index.js.map +1 -1
  412. package/build-module/file/save.js +7 -2
  413. package/build-module/file/save.js.map +1 -1
  414. package/build-module/gallery/edit.js +4 -3
  415. package/build-module/gallery/edit.js.map +1 -1
  416. package/build-module/gallery/gallery.js +2 -2
  417. package/build-module/gallery/gallery.js.map +1 -1
  418. package/build-module/gallery/gallery.native.js.map +1 -1
  419. package/build-module/gallery/gap-styles.js +14 -4
  420. package/build-module/gallery/gap-styles.js.map +1 -1
  421. package/build-module/gallery/index.js +1 -1
  422. package/build-module/gallery/index.js.map +1 -1
  423. package/build-module/gallery/shared.js +27 -10
  424. package/build-module/gallery/shared.js.map +1 -1
  425. package/build-module/gallery/use-get-media.js +2 -1
  426. package/build-module/gallery/use-get-media.js.map +1 -1
  427. package/build-module/gallery/use-short-code-transform.js +19 -18
  428. package/build-module/gallery/use-short-code-transform.js.map +1 -1
  429. package/build-module/gallery/v1/edit.js.map +1 -1
  430. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  431. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  432. package/build-module/gallery/v1/gallery.js +2 -2
  433. package/build-module/gallery/v1/gallery.js.map +1 -1
  434. package/build-module/heading/autogenerate-anchors.js +5 -2
  435. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  436. package/build-module/heading/deprecated.js.map +1 -1
  437. package/build-module/heading/edit.js +6 -2
  438. package/build-module/heading/edit.js.map +1 -1
  439. package/build-module/heading/index.js +1 -0
  440. package/build-module/heading/index.js.map +1 -1
  441. package/build-module/heading/transforms.js +1 -0
  442. package/build-module/heading/transforms.js.map +1 -1
  443. package/build-module/image/deprecated.js.map +1 -1
  444. package/build-module/image/edit.js +4 -52
  445. package/build-module/image/edit.js.map +1 -1
  446. package/build-module/image/edit.native.js +57 -6
  447. package/build-module/image/edit.native.js.map +1 -1
  448. package/build-module/image/image.js +6 -16
  449. package/build-module/image/image.js.map +1 -1
  450. package/build-module/image/index.js +5 -0
  451. package/build-module/image/index.js.map +1 -1
  452. package/build-module/image/transforms.js.map +1 -1
  453. package/build-module/image/utils.js +2 -2
  454. package/build-module/image/utils.js.map +1 -1
  455. package/build-module/index.js +42 -10
  456. package/build-module/index.js.map +1 -1
  457. package/build-module/is-block-metadata-experimental.js +16 -0
  458. package/build-module/is-block-metadata-experimental.js.map +1 -0
  459. package/build-module/latest-comments/edit.js.map +1 -1
  460. package/build-module/latest-posts/edit.js +31 -7
  461. package/build-module/latest-posts/edit.js.map +1 -1
  462. package/build-module/latest-posts/edit.native.js.map +1 -1
  463. package/build-module/list/index.js.map +1 -1
  464. package/build-module/list/transforms.js +6 -0
  465. package/build-module/list/transforms.js.map +1 -1
  466. package/build-module/list/v2/edit.js +2 -1
  467. package/build-module/list/v2/edit.js.map +1 -1
  468. package/build-module/list/v2/migrate.js +1 -3
  469. package/build-module/list/v2/migrate.js.map +1 -1
  470. package/build-module/list/v2/transforms.js +46 -9
  471. package/build-module/list/v2/transforms.js.map +1 -1
  472. package/build-module/list-item/edit.js +8 -9
  473. package/build-module/list-item/edit.js.map +1 -1
  474. package/build-module/list-item/hooks/index.js +3 -0
  475. package/build-module/list-item/hooks/index.js.map +1 -1
  476. package/build-module/list-item/hooks/use-backspace.js +44 -0
  477. package/build-module/list-item/hooks/use-backspace.js.map +1 -0
  478. package/build-module/list-item/hooks/use-enter.js +6 -9
  479. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  480. package/build-module/list-item/hooks/use-indent-list-item.js +33 -38
  481. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  482. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  483. package/build-module/list-item/hooks/use-space.js +40 -0
  484. package/build-module/list-item/hooks/use-space.js.map +1 -0
  485. package/build-module/list-item/hooks/use-split.js +33 -0
  486. package/build-module/list-item/hooks/use-split.js.map +1 -0
  487. package/build-module/list-item/index.js +1 -0
  488. package/build-module/list-item/index.js.map +1 -1
  489. package/build-module/list-item/utils.js +1 -1
  490. package/build-module/list-item/utils.js.map +1 -1
  491. package/build-module/media-text/deprecated.js +3 -1
  492. package/build-module/media-text/deprecated.js.map +1 -1
  493. package/build-module/media-text/edit.native.js +2 -1
  494. package/build-module/media-text/edit.native.js.map +1 -1
  495. package/build-module/media-text/media-container.js +3 -1
  496. package/build-module/media-text/media-container.js.map +1 -1
  497. package/build-module/media-text/media-container.native.js +2 -4
  498. package/build-module/media-text/media-container.native.js.map +1 -1
  499. package/build-module/media-text/save.js +4 -1
  500. package/build-module/media-text/save.js.map +1 -1
  501. package/build-module/media-text/transforms.js +137 -8
  502. package/build-module/media-text/transforms.js.map +1 -1
  503. package/build-module/missing/edit.native.js.map +1 -1
  504. package/build-module/navigation/deprecated.js.map +1 -1
  505. package/build-module/navigation/edit/index.js +87 -82
  506. package/build-module/navigation/edit/index.js.map +1 -1
  507. package/build-module/navigation/edit/inner-blocks.js +2 -6
  508. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  509. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  510. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  511. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  512. package/build-module/navigation/use-navigation-entities.js +1 -1
  513. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  514. package/build-module/navigation/use-navigation-menu.js +130 -38
  515. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  516. package/build-module/navigation/use-template-part-area-label.js +4 -1
  517. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  518. package/build-module/navigation-link/edit.js +44 -13
  519. package/build-module/navigation-link/edit.js.map +1 -1
  520. package/build-module/navigation-link/fallback-variations.js +1 -1
  521. package/build-module/navigation-link/fallback-variations.js.map +1 -1
  522. package/build-module/navigation-link/hooks.js +2 -2
  523. package/build-module/navigation-link/hooks.js.map +1 -1
  524. package/build-module/navigation-submenu/edit.js.map +1 -1
  525. package/build-module/page-list/convert-to-links-modal.js +1 -1
  526. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  527. package/build-module/page-list/edit.js +1 -1
  528. package/build-module/page-list/edit.js.map +1 -1
  529. package/build-module/paragraph/deprecated.js +2 -2
  530. package/build-module/paragraph/deprecated.js.map +1 -1
  531. package/build-module/pattern/edit.js.map +1 -1
  532. package/build-module/post-author/edit.js +1 -1
  533. package/build-module/post-author/edit.js.map +1 -1
  534. package/build-module/post-author-name/index.js +3 -0
  535. package/build-module/post-author-name/index.js.map +1 -1
  536. package/build-module/post-author-name/transforms.js +32 -0
  537. package/build-module/post-author-name/transforms.js.map +1 -0
  538. package/build-module/post-comment/index.js +1 -0
  539. package/build-module/post-comment/index.js.map +1 -1
  540. package/build-module/post-comments/edit.js +35 -16
  541. package/build-module/post-comments/edit.js.map +1 -1
  542. package/build-module/post-comments-count/index.js +1 -0
  543. package/build-module/post-comments-count/index.js.map +1 -1
  544. package/build-module/post-comments-form/form.js +8 -2
  545. package/build-module/post-comments-form/form.js.map +1 -1
  546. package/build-module/post-comments-link/index.js +1 -0
  547. package/build-module/post-comments-link/index.js.map +1 -1
  548. package/build-module/post-content/edit.js.map +1 -1
  549. package/build-module/post-date/edit.js +15 -9
  550. package/build-module/post-date/edit.js.map +1 -1
  551. package/build-module/post-featured-image/edit.js +11 -24
  552. package/build-module/post-featured-image/edit.js.map +1 -1
  553. package/build-module/post-navigation-link/index.js +4 -0
  554. package/build-module/post-navigation-link/index.js.map +1 -1
  555. package/build-module/post-template/edit.js +7 -2
  556. package/build-module/post-template/edit.js.map +1 -1
  557. package/build-module/post-terms/edit.js +10 -3
  558. package/build-module/post-terms/edit.js.map +1 -1
  559. package/build-module/post-terms/hooks.js +25 -0
  560. package/build-module/post-terms/hooks.js.map +1 -0
  561. package/build-module/post-terms/index.js +10 -8
  562. package/build-module/post-terms/index.js.map +1 -1
  563. package/build-module/post-title/index.js +1 -1
  564. package/build-module/post-title/index.js.map +1 -1
  565. package/build-module/pullquote/deprecated.js.map +1 -1
  566. package/build-module/pullquote/edit.js +2 -2
  567. package/build-module/pullquote/edit.js.map +1 -1
  568. package/build-module/pullquote/edit.native.js +2 -2
  569. package/build-module/pullquote/edit.native.js.map +1 -1
  570. package/build-module/query/edit/index.js +5 -1
  571. package/build-module/query/edit/index.js.map +1 -1
  572. package/build-module/query/edit/inspector-controls/index.js +24 -17
  573. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  574. package/build-module/query/edit/inspector-controls/parent-control.js +135 -0
  575. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -0
  576. package/build-module/query/edit/inspector-controls/sticky-control.js +31 -0
  577. package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -0
  578. package/build-module/query/edit/query-toolbar.js +14 -2
  579. package/build-module/query/edit/query-toolbar.js.map +1 -1
  580. package/build-module/query/index.js +2 -1
  581. package/build-module/query/index.js.map +1 -1
  582. package/build-module/query/utils.js +21 -0
  583. package/build-module/query/utils.js.map +1 -1
  584. package/build-module/query-title/index.js +1 -1
  585. package/build-module/query-title/index.js.map +1 -1
  586. package/build-module/query-title/variations.js +2 -2
  587. package/build-module/query-title/variations.js.map +1 -1
  588. package/build-module/quote/edit.js +4 -3
  589. package/build-module/quote/edit.js.map +1 -1
  590. package/build-module/quote/v2/edit.js +2 -2
  591. package/build-module/quote/v2/edit.js.map +1 -1
  592. package/build-module/search/edit.js +3 -2
  593. package/build-module/search/edit.js.map +1 -1
  594. package/build-module/search/edit.native.js.map +1 -1
  595. package/build-module/search/index.js +4 -0
  596. package/build-module/search/index.js.map +1 -1
  597. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  598. package/build-module/shortcode/edit.native.js +17 -13
  599. package/build-module/shortcode/edit.native.js.map +1 -1
  600. package/build-module/site-logo/edit.js +4 -12
  601. package/build-module/site-logo/edit.js.map +1 -1
  602. package/build-module/social-links/deprecated.js.map +1 -1
  603. package/build-module/social-links/edit.js +2 -2
  604. package/build-module/social-links/edit.js.map +1 -1
  605. package/build-module/social-links/edit.native.js.map +1 -1
  606. package/build-module/spacer/controls.js.map +1 -1
  607. package/build-module/table/deprecated.js.map +1 -1
  608. package/build-module/table/edit.js +17 -4
  609. package/build-module/table/edit.js.map +1 -1
  610. package/build-module/table/index.js +6 -1
  611. package/build-module/table/index.js.map +1 -1
  612. package/build-module/table/state.js.map +1 -1
  613. package/build-module/table-of-contents/edit.js +144 -68
  614. package/build-module/table-of-contents/edit.js.map +1 -1
  615. package/build-module/table-of-contents/index.js +12 -3
  616. package/build-module/table-of-contents/index.js.map +1 -1
  617. package/build-module/table-of-contents/list.js +18 -10
  618. package/build-module/table-of-contents/list.js.map +1 -1
  619. package/build-module/table-of-contents/save.js +28 -0
  620. package/build-module/table-of-contents/save.js.map +1 -0
  621. package/build-module/table-of-contents/utils.js +11 -73
  622. package/build-module/table-of-contents/utils.js.map +1 -1
  623. package/build-module/tag-cloud/edit.js.map +1 -1
  624. package/build-module/template-part/edit/advanced-controls.js +4 -1
  625. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  626. package/build-module/template-part/edit/index.js +8 -4
  627. package/build-module/template-part/edit/index.js.map +1 -1
  628. package/build-module/template-part/edit/inner-blocks.js +4 -9
  629. package/build-module/template-part/edit/inner-blocks.js.map +1 -1
  630. package/build-module/template-part/edit/utils/hooks.js +4 -1
  631. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  632. package/build-module/transformationCategories.native.js.map +1 -1
  633. package/build-module/video/edit-common-settings.js.map +1 -1
  634. package/build-module/video/edit.js +2 -2
  635. package/build-module/video/edit.js.map +1 -1
  636. package/build-module/video/edit.native.js +42 -1
  637. package/build-module/video/edit.native.js.map +1 -1
  638. package/build-module/video/index.js +6 -1
  639. package/build-module/video/index.js.map +1 -1
  640. package/build-style/audio/style-rtl.css +0 -3
  641. package/build-style/audio/style.css +0 -3
  642. package/build-style/button/style-rtl.css +0 -5
  643. package/build-style/button/style.css +0 -5
  644. package/build-style/common-rtl.css +1 -3
  645. package/build-style/common.css +1 -3
  646. package/build-style/cover/editor-rtl.css +11 -0
  647. package/build-style/cover/editor.css +11 -0
  648. package/build-style/cover/style-rtl.css +33 -25
  649. package/build-style/cover/style.css +33 -25
  650. package/build-style/editor-rtl.css +15 -45
  651. package/build-style/editor.css +15 -45
  652. package/build-style/embed/style-rtl.css +0 -1
  653. package/build-style/embed/style.css +0 -1
  654. package/build-style/file/style-rtl.css +9 -7
  655. package/build-style/file/style.css +9 -7
  656. package/build-style/gallery/style-rtl.css +2 -4
  657. package/build-style/gallery/style.css +2 -4
  658. package/build-style/image/editor-rtl.css +1 -1
  659. package/build-style/image/editor.css +1 -1
  660. package/build-style/image/style-rtl.css +0 -3
  661. package/build-style/image/style.css +0 -3
  662. package/build-style/post-comments/style-rtl.css +22 -0
  663. package/build-style/post-comments/style.css +22 -0
  664. package/build-style/post-comments-form/style-rtl.css +1 -3
  665. package/build-style/post-comments-form/style.css +1 -3
  666. package/build-style/post-featured-image/editor-rtl.css +0 -27
  667. package/build-style/post-featured-image/editor.css +0 -27
  668. package/build-style/search/style-rtl.css +4 -4
  669. package/build-style/search/style.css +4 -4
  670. package/build-style/separator/editor-rtl.css +1 -0
  671. package/build-style/separator/editor.css +1 -0
  672. package/build-style/site-logo/editor-rtl.css +0 -12
  673. package/build-style/site-logo/editor.css +0 -12
  674. package/build-style/site-logo/style-rtl.css +4 -0
  675. package/build-style/site-logo/style.css +4 -0
  676. package/build-style/style-rtl.css +77 -64
  677. package/build-style/style.css +77 -64
  678. package/build-style/table/style-rtl.css +0 -1
  679. package/build-style/table/style.css +0 -1
  680. package/build-style/video/editor-rtl.css +2 -5
  681. package/build-style/video/editor.css +2 -5
  682. package/build-style/video/style-rtl.css +1 -5
  683. package/build-style/video/style.css +1 -5
  684. package/build-types/table-of-contents/list.d.ts +12 -0
  685. package/build-types/table-of-contents/list.d.ts.map +1 -0
  686. package/build-types/table-of-contents/utils.d.ts +24 -0
  687. package/build-types/table-of-contents/utils.d.ts.map +1 -0
  688. package/package.json +32 -30
  689. package/src/audio/block.json +6 -1
  690. package/src/audio/edit.js +4 -2
  691. package/src/audio/index.js +1 -2
  692. package/src/audio/style.scss +0 -2
  693. package/src/avatar/block.json +0 -1
  694. package/src/avatar/hooks.js +9 -6
  695. package/src/avatar/index.php +2 -2
  696. package/src/block/edit.js +43 -48
  697. package/src/block/edit.native.js +12 -16
  698. package/src/block/test/edit.native.js +6 -9
  699. package/src/button/block.json +25 -1
  700. package/src/button/deprecated.js +145 -36
  701. package/src/button/edit.js +7 -11
  702. package/src/button/edit.native.js +2 -3
  703. package/src/button/save.js +5 -11
  704. package/src/button/style.scss +0 -5
  705. package/src/buttons/deprecated.js +4 -6
  706. package/src/buttons/edit.js +3 -3
  707. package/src/buttons/edit.native.js +7 -11
  708. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  709. package/src/buttons/test/edit.native.js +1 -1
  710. package/src/categories/block.json +1 -1
  711. package/src/categories/edit.js +1 -1
  712. package/src/column/deprecated.js +2 -1
  713. package/src/column/edit.js +2 -3
  714. package/src/column/edit.native.js +2 -2
  715. package/src/columns/block.json +3 -1
  716. package/src/columns/deprecated.js +4 -2
  717. package/src/columns/edit.js +6 -7
  718. package/src/columns/edit.native.js +12 -16
  719. package/src/columns/index.js +1 -2
  720. package/src/columns/utils.js +5 -3
  721. package/src/comment-author-avatar/block.json +1 -0
  722. package/src/comment-author-name/edit.js +2 -2
  723. package/src/comment-date/edit.js +1 -1
  724. package/src/comments-title/block.json +0 -6
  725. package/src/comments-title/deprecated.js +34 -0
  726. package/src/comments-title/edit.js +44 -100
  727. package/src/comments-title/index.js +3 -1
  728. package/src/comments-title/index.php +41 -23
  729. package/src/cover/controls.native.js +3 -6
  730. package/src/cover/deprecated.js +237 -195
  731. package/src/cover/edit/block-controls.js +110 -0
  732. package/src/cover/edit/cover-placeholder.js +39 -0
  733. package/src/cover/edit/index.js +396 -0
  734. package/src/cover/edit/inspector-controls.js +317 -0
  735. package/src/cover/edit/resizable-cover.js +55 -0
  736. package/src/cover/{use-cover-is-dark.js → edit/use-cover-is-dark.js} +0 -0
  737. package/src/cover/edit.native.js +8 -14
  738. package/src/cover/editor.scss +14 -1
  739. package/src/cover/focal-point-settings-button.native.js +1 -1
  740. package/src/cover/index.php +20 -37
  741. package/src/cover/save.js +28 -16
  742. package/src/cover/shared.js +5 -3
  743. package/src/cover/style.scss +27 -22
  744. package/src/cover/test/block-controls.js +62 -0
  745. package/src/cover/test/edit.native.js +4 -7
  746. package/src/cover/transforms.js +2 -7
  747. package/src/embed/block.json +6 -1
  748. package/src/embed/edit.js +38 -40
  749. package/src/embed/edit.native.js +46 -49
  750. package/src/embed/embed-controls.native.js +2 -3
  751. package/src/embed/embed-preview.js +4 -2
  752. package/src/embed/style.scss +0 -1
  753. package/src/embed/test/index.native.js +24 -50
  754. package/src/file/edit.js +7 -5
  755. package/src/file/edit.native.js +14 -26
  756. package/src/file/index.js +1 -2
  757. package/src/file/save.js +14 -2
  758. package/src/file/style.scss +15 -14
  759. package/src/gallery/block.json +1 -1
  760. package/src/gallery/edit.js +10 -7
  761. package/src/gallery/gallery.js +2 -2
  762. package/src/gallery/gallery.native.js +2 -4
  763. package/src/gallery/gap-styles.js +21 -6
  764. package/src/gallery/index.js +2 -4
  765. package/src/gallery/index.php +23 -12
  766. package/src/gallery/shared.js +25 -11
  767. package/src/gallery/test/index.native.js +18 -34
  768. package/src/gallery/use-get-media.js +2 -1
  769. package/src/gallery/use-short-code-transform.js +19 -16
  770. package/src/gallery/v1/edit.js +15 -20
  771. package/src/gallery/v1/gallery-image.js +6 -11
  772. package/src/gallery/v1/gallery-image.native.js +8 -17
  773. package/src/gallery/v1/gallery.js +2 -2
  774. package/src/heading/autogenerate-anchors.js +8 -5
  775. package/src/heading/block.json +1 -0
  776. package/src/heading/deprecated.js +6 -21
  777. package/src/heading/edit.js +7 -5
  778. package/src/image/block.json +5 -0
  779. package/src/image/deprecated.js +6 -29
  780. package/src/image/edit.js +0 -44
  781. package/src/image/edit.native.js +74 -25
  782. package/src/image/editor.scss +1 -1
  783. package/src/image/image.js +41 -51
  784. package/src/image/style.scss +0 -2
  785. package/src/image/styles.native.scss +11 -0
  786. package/src/image/test/edit.native.js +7 -7
  787. package/src/image/transforms.js +4 -3
  788. package/src/image/utils.js +2 -2
  789. package/src/index.js +51 -28
  790. package/src/is-block-metadata-experimental.js +19 -0
  791. package/src/latest-comments/edit.js +2 -6
  792. package/src/latest-posts/edit.js +33 -9
  793. package/src/latest-posts/edit.native.js +10 -15
  794. package/src/latest-posts/index.php +12 -6
  795. package/src/list/index.js +1 -2
  796. package/src/list/test/migrate.js +1 -2
  797. package/src/list/transforms.js +7 -0
  798. package/src/list/v2/edit.js +7 -9
  799. package/src/list/v2/migrate.js +1 -1
  800. package/src/list/v2/transforms.js +35 -0
  801. package/src/list-item/block.json +2 -1
  802. package/src/list-item/edit.js +17 -10
  803. package/src/list-item/hooks/index.js +3 -0
  804. package/src/list-item/hooks/use-backspace.js +51 -0
  805. package/src/list-item/hooks/use-enter.js +8 -16
  806. package/src/list-item/hooks/use-indent-list-item.js +49 -63
  807. package/src/list-item/hooks/use-outdent-list-item.js +2 -3
  808. package/src/list-item/hooks/use-space.js +47 -0
  809. package/src/list-item/hooks/use-split.js +33 -0
  810. package/src/list-item/utils.js +1 -1
  811. package/src/media-text/deprecated.js +6 -3
  812. package/src/media-text/edit.native.js +5 -6
  813. package/src/media-text/media-container.js +1 -1
  814. package/src/media-text/media-container.native.js +8 -13
  815. package/src/media-text/save.js +2 -1
  816. package/src/media-text/transforms.js +154 -0
  817. package/src/missing/edit.native.js +2 -3
  818. package/src/missing/test/edit-integration.native.js +2 -3
  819. package/src/missing/test/edit.native.js +6 -9
  820. package/src/navigation/deprecated.js +2 -5
  821. package/src/navigation/edit/index.js +195 -201
  822. package/src/navigation/edit/inner-blocks.js +1 -8
  823. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  824. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  825. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  826. package/src/navigation/index.php +40 -0
  827. package/src/navigation/test/use-navigation-menu.js +236 -0
  828. package/src/navigation/use-navigation-entities.js +12 -14
  829. package/src/navigation/use-navigation-menu.js +152 -82
  830. package/src/navigation/use-template-part-area-label.js +8 -7
  831. package/src/navigation-link/edit.js +59 -25
  832. package/src/navigation-link/fallback-variations.js +1 -1
  833. package/src/navigation-link/hooks.js +2 -2
  834. package/src/navigation-link/test/__snapshots__/hooks.js.snap +4 -4
  835. package/src/navigation-link/test/edit.js +2 -24
  836. package/src/navigation-submenu/edit.js +10 -20
  837. package/src/page-list/convert-to-links-modal.js +52 -55
  838. package/src/page-list/edit.js +7 -10
  839. package/src/page-list/test/convert-to-links-modal.js +6 -12
  840. package/src/paragraph/deprecated.js +2 -2
  841. package/src/pattern/edit.js +2 -4
  842. package/src/post-author/edit.js +26 -25
  843. package/src/post-author/index.php +3 -2
  844. package/src/post-author-name/block.json +1 -0
  845. package/src/post-author-name/index.js +2 -0
  846. package/src/post-author-name/index.php +1 -1
  847. package/src/post-author-name/transforms.js +25 -0
  848. package/src/post-comment/block.json +1 -0
  849. package/src/post-comments/edit.js +54 -22
  850. package/src/post-comments/index.php +1 -1
  851. package/src/post-comments/style.scss +26 -0
  852. package/src/post-comments-count/block.json +1 -0
  853. package/src/post-comments-form/form.js +12 -5
  854. package/src/post-comments-form/index.php +1 -1
  855. package/src/post-comments-form/style.scss +1 -4
  856. package/src/post-comments-link/block.json +1 -0
  857. package/src/post-content/edit.js +2 -3
  858. package/src/post-date/edit.js +4 -3
  859. package/src/post-featured-image/edit.js +15 -31
  860. package/src/post-featured-image/editor.scss +0 -29
  861. package/src/post-navigation-link/block.json +4 -0
  862. package/src/post-template/edit.js +5 -0
  863. package/src/post-template/index.php +30 -0
  864. package/src/post-terms/edit.js +19 -0
  865. package/src/post-terms/hooks.js +27 -0
  866. package/src/post-terms/index.js +14 -7
  867. package/src/post-terms/index.php +40 -2
  868. package/src/post-title/index.js +1 -1
  869. package/src/pullquote/deprecated.js +2 -1
  870. package/src/pullquote/edit.js +2 -2
  871. package/src/pullquote/edit.native.js +2 -2
  872. package/src/query/block.json +2 -1
  873. package/src/query/edit/index.js +10 -10
  874. package/src/query/edit/inspector-controls/index.js +25 -11
  875. package/src/query/edit/inspector-controls/parent-control.js +132 -0
  876. package/src/query/edit/inspector-controls/sticky-control.js +25 -0
  877. package/src/query/edit/query-toolbar.js +25 -5
  878. package/src/query/utils.js +22 -0
  879. package/src/query-pagination/index.php +0 -1
  880. package/src/query-title/index.js +1 -1
  881. package/src/query-title/variations.js +2 -2
  882. package/src/quote/edit.js +5 -2
  883. package/src/quote/v2/edit.js +8 -8
  884. package/src/quote/v2/test/migrate.js +1 -2
  885. package/src/search/block.json +4 -0
  886. package/src/search/edit.js +10 -13
  887. package/src/search/edit.native.js +4 -6
  888. package/src/search/index.php +29 -16
  889. package/src/search/style.scss +2 -1
  890. package/src/separator/editor.scss +1 -0
  891. package/src/separator/use-deprecated-opacity.js +2 -4
  892. package/src/shortcode/edit.native.js +30 -15
  893. package/src/shortcode/style.native.scss +11 -4
  894. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  895. package/src/shortcode/test/edit.native.js +55 -40
  896. package/src/site-logo/edit.js +4 -18
  897. package/src/site-logo/editor.scss +0 -14
  898. package/src/site-logo/style.scss +6 -0
  899. package/src/social-links/deprecated.js +4 -2
  900. package/src/social-links/edit.js +11 -10
  901. package/src/social-links/edit.native.js +3 -5
  902. package/src/spacer/controls.js +2 -3
  903. package/src/spacer/test/index.native.js +10 -21
  904. package/src/table/block.json +6 -1
  905. package/src/table/deprecated.js +4 -8
  906. package/src/table/edit.js +19 -4
  907. package/src/table/state.js +2 -4
  908. package/src/table/style.scss +0 -1
  909. package/src/table-of-contents/block.json +9 -2
  910. package/src/table-of-contents/edit.js +166 -77
  911. package/src/table-of-contents/index.js +2 -0
  912. package/src/table-of-contents/list.tsx +46 -0
  913. package/src/table-of-contents/save.js +25 -0
  914. package/src/table-of-contents/utils.ts +71 -0
  915. package/src/tag-cloud/block.json +1 -1
  916. package/src/tag-cloud/edit.js +4 -7
  917. package/src/template-part/edit/advanced-controls.js +4 -4
  918. package/src/template-part/edit/index.js +31 -25
  919. package/src/template-part/edit/inner-blocks.js +2 -10
  920. package/src/template-part/edit/utils/hooks.js +8 -7
  921. package/src/transformationCategories.native.js +3 -3
  922. package/src/video/block.json +6 -1
  923. package/src/video/edit-common-settings.js +2 -8
  924. package/src/video/edit.js +4 -2
  925. package/src/video/edit.native.js +38 -16
  926. package/src/video/editor.scss +3 -6
  927. package/src/video/index.js +1 -2
  928. package/src/video/style.scss +0 -2
  929. package/test/babel-plugin.js +67 -0
  930. package/tsconfig.json +11 -0
  931. package/tsconfig.tsbuildinfo +1 -0
  932. package/build/cover/edit.js +0 -598
  933. package/build/cover/edit.js.map +0 -1
  934. package/build/cover/use-cover-is-dark.js.map +0 -1
  935. package/build/post-terms/variations.js +0 -37
  936. package/build/post-terms/variations.js.map +0 -1
  937. package/build-module/cover/edit.js +0 -575
  938. package/build-module/cover/edit.js.map +0 -1
  939. package/build-module/cover/use-cover-is-dark.js.map +0 -1
  940. package/build-module/post-terms/variations.js +0 -27
  941. package/build-module/post-terms/variations.js.map +0 -1
  942. package/src/cover/edit.js +0 -757
  943. package/src/post-terms/variations.js +0 -28
  944. package/src/table-of-contents/index.php +0 -346
  945. package/src/table-of-contents/list.js +0 -28
  946. package/src/table-of-contents/utils.js +0 -126
@@ -5,70 +5,64 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = useIndentListItem;
7
7
 
8
- var _lodash = require("lodash");
9
-
10
8
  var _element = require("@wordpress/element");
11
9
 
12
10
  var _data = require("@wordpress/data");
13
11
 
14
12
  var _blockEditor = require("@wordpress/block-editor");
15
13
 
16
- var _utils = require("../utils");
17
-
18
- /**
19
- * External dependencies
20
- */
14
+ var _blocks = require("@wordpress/blocks");
21
15
 
22
16
  /**
23
17
  * WordPress dependencies
24
18
  */
25
-
26
- /**
27
- * Internal dependencies
28
- */
29
19
  function useIndentListItem(clientId) {
30
- const {
31
- canIndent
32
- } = (0, _data.useSelect)(innerSelect => {
33
- const {
34
- getBlockIndex
35
- } = innerSelect(_blockEditor.store);
36
- return {
37
- canIndent: getBlockIndex(clientId) > 0
38
- };
39
- }, [clientId]);
20
+ const canIndent = (0, _data.useSelect)(select => select(_blockEditor.store).getBlockIndex(clientId) > 0, [clientId]);
40
21
  const {
41
22
  replaceBlocks,
42
- selectionChange
23
+ selectionChange,
24
+ multiSelect
43
25
  } = (0, _data.useDispatch)(_blockEditor.store);
44
26
  const {
45
- getBlockRootClientId,
46
27
  getBlock,
47
- getBlockOrder,
28
+ getPreviousBlockClientId,
48
29
  getSelectionStart,
49
30
  getSelectionEnd,
50
- getBlockIndex
31
+ hasMultiSelection,
32
+ getMultiSelectedBlockClientIds
51
33
  } = (0, _data.useSelect)(_blockEditor.store);
52
34
  return [canIndent, (0, _element.useCallback)(() => {
53
- var _first, _first2, _first3, _first4;
35
+ var _newListItem$innerBlo;
36
+
37
+ const _hasMultiSelection = hasMultiSelection();
38
+
39
+ const clientIds = _hasMultiSelection ? getMultiSelectedBlockClientIds() : [clientId];
40
+ const clonedBlocks = clientIds.map(_clientId => (0, _blocks.cloneBlock)(getBlock(_clientId)));
41
+ const previousSiblingId = getPreviousBlockClientId(clientId);
42
+ const newListItem = (0, _blocks.cloneBlock)(getBlock(previousSiblingId)); // If the sibling has no innerBlocks, create a new `list` block.
43
+
44
+ if (!((_newListItem$innerBlo = newListItem.innerBlocks) !== null && _newListItem$innerBlo !== void 0 && _newListItem$innerBlo.length)) {
45
+ newListItem.innerBlocks = [(0, _blocks.createBlock)('core/list')];
46
+ } // A list item usually has one `list`, but it's possible to have
47
+ // more. So we need to preserve the previous `list` blocks and
48
+ // merge the new blocks to the last `list`.
49
+
50
+
51
+ newListItem.innerBlocks[newListItem.innerBlocks.length - 1].innerBlocks.push(...clonedBlocks); // We get the selection start/end here, because when
52
+ // we replace blocks, the selection is updated too.
54
53
 
55
54
  const selectionStart = getSelectionStart();
56
- const selectionEnd = getSelectionEnd();
57
- const parentId = getBlockRootClientId(clientId);
58
- const previousSiblingId = getBlockOrder(parentId)[getBlockIndex(clientId) - 1];
59
- const previousSibling = getBlock(previousSiblingId);
60
- const previousSiblingChildren = ((_first = (0, _lodash.first)(previousSibling.innerBlocks)) === null || _first === void 0 ? void 0 : _first.innerBlocks) || [];
61
- const previousSiblingListAttributes = ((_first2 = (0, _lodash.first)(previousSibling.innerBlocks)) === null || _first2 === void 0 ? void 0 : _first2.attributes) || {};
62
- const block = getBlock(clientId);
63
- const childListAttributes = (_first3 = (0, _lodash.first)(block.innerBlocks)) === null || _first3 === void 0 ? void 0 : _first3.attributes;
64
- const childItemBlocks = ((_first4 = (0, _lodash.first)(block.innerBlocks)) === null || _first4 === void 0 ? void 0 : _first4.innerBlocks) || [];
65
- const newBlock = (0, _utils.createListItem)(block.attributes, childListAttributes, childItemBlocks); // Replace the previous sibling of the block being indented and the indented block,
55
+ const selectionEnd = getSelectionEnd(); // Replace the previous sibling of the block being indented and the indented blocks,
66
56
  // with a new block whose attributes are equal to the ones of the previous sibling and
67
- // whose descendants are the children of the previous sibling, followed by the indented block.
57
+ // whose descendants are the children of the previous sibling, followed by the indented blocks.
68
58
 
69
- replaceBlocks([previousSiblingId, clientId], [(0, _utils.createListItem)(previousSibling.attributes, previousSiblingListAttributes, [...previousSiblingChildren, newBlock])]); // Restore the selection state.
59
+ replaceBlocks([previousSiblingId, ...clientIds], [newListItem]);
70
60
 
71
- selectionChange(newBlock.clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
61
+ if (!_hasMultiSelection) {
62
+ selectionChange(clonedBlocks[0].clientId, selectionEnd.attributeKey, selectionEnd.clientId === selectionStart.clientId ? selectionStart.offset : selectionEnd.offset, selectionEnd.offset);
63
+ } else {
64
+ multiSelect(clonedBlocks[0].clientId, clonedBlocks[clonedBlocks.length - 1].clientId);
65
+ }
72
66
  }, [clientId])];
73
67
  }
74
68
  //# sourceMappingURL=use-indent-list-item.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-indent-list-item.js"],"names":["useIndentListItem","clientId","canIndent","innerSelect","getBlockIndex","blockEditorStore","replaceBlocks","selectionChange","getBlockRootClientId","getBlock","getBlockOrder","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","parentId","previousSiblingId","previousSibling","previousSiblingChildren","innerBlocks","previousSiblingListAttributes","attributes","block","childListAttributes","childItemBlocks","newBlock","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AAKA;;AACA;;AACA;;AAKA;;AAfA;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,iBAAT,CAA4BC,QAA5B,EAAuC;AACrD,QAAM;AAAEC,IAAAA;AAAF,MAAgB,qBACnBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAAoBD,WAAW,CAAEE,kBAAF,CAArC;AACA,WAAO;AACNH,MAAAA,SAAS,EAAEE,aAAa,CAAEH,QAAF,CAAb,GAA4B;AADjC,KAAP;AAGA,GANoB,EAOrB,CAAEA,QAAF,CAPqB,CAAtB;AASA,QAAM;AAAEK,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaF,kBAAb,CAA3C;AACA,QAAM;AACLG,IAAAA,oBADK;AAELC,IAAAA,QAFK;AAGLC,IAAAA,aAHK;AAILC,IAAAA,iBAJK;AAKLC,IAAAA,eALK;AAMLR,IAAAA;AANK,MAOF,qBAAWC,kBAAX,CAPJ;AASA,SAAO,CACNH,SADM,EAEN,0BAAa,MAAM;AAAA;;AAClB,UAAMW,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,QAAQ,GAAGP,oBAAoB,CAAEP,QAAF,CAArC;AACA,UAAMe,iBAAiB,GAAGN,aAAa,CAAEK,QAAF,CAAb,CACzBX,aAAa,CAAEH,QAAF,CAAb,GAA4B,CADH,CAA1B;AAGA,UAAMgB,eAAe,GAAGR,QAAQ,CAAEO,iBAAF,CAAhC;AACA,UAAME,uBAAuB,GAC5B,8BAAOD,eAAe,CAACE,WAAvB,mDAAsCA,WAAtC,KAAqD,EADtD;AAEA,UAAMC,6BAA6B,GAClC,+BAAOH,eAAe,CAACE,WAAvB,qDAAsCE,UAAtC,KAAoD,EADrD;AAEA,UAAMC,KAAK,GAAGb,QAAQ,CAAER,QAAF,CAAtB;AAEA,UAAMsB,mBAAmB,cAAG,mBAAOD,KAAK,CAACH,WAAb,CAAH,4CAAG,QAA4BE,UAAxD;AACA,UAAMG,eAAe,GACpB,+BAAOF,KAAK,CAACH,WAAb,qDAA4BA,WAA5B,KAA2C,EAD5C;AAGA,UAAMM,QAAQ,GAAG,2BAChBH,KAAK,CAACD,UADU,EAEhBE,mBAFgB,EAGhBC,eAHgB,CAAjB,CAnBkB,CAwBlB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEU,iBAAF,EAAqBf,QAArB,CADY,EAEZ,CACC,2BACCgB,eAAe,CAACI,UADjB,EAECD,6BAFD,EAGC,CAAE,GAAGF,uBAAL,EAA8BO,QAA9B,CAHD,CADD,CAFY,CAAb,CA3BkB,CAsClB;;AACAlB,IAAAA,eAAe,CACdkB,QAAQ,CAACxB,QADK,EAEda,YAAY,CAACY,YAFC,EAGdZ,YAAY,CAACb,QAAb,KAA0BY,cAAc,CAACZ,QAAzC,GACGY,cAAc,CAACc,MADlB,GAEGb,YAAY,CAACa,MALF,EAMdb,YAAY,CAACa,MANC,CAAf;AAQA,GA/CD,EA+CG,CAAE1B,QAAF,CA/CH,CAFM,CAAP;AAmDA","sourcesContent":["/**\n * External dependencies\n */\nimport { first } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useIndentListItem( clientId ) {\n\tconst { canIndent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockIndex } = innerSelect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tcanIndent: getBlockIndex( clientId ) > 0,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlock,\n\t\tgetBlockOrder,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\tgetBlockIndex,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanIndent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst parentId = getBlockRootClientId( clientId );\n\t\t\tconst previousSiblingId = getBlockOrder( parentId )[\n\t\t\t\tgetBlockIndex( clientId ) - 1\n\t\t\t];\n\t\t\tconst previousSibling = getBlock( previousSiblingId );\n\t\t\tconst previousSiblingChildren =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.innerBlocks || [];\n\t\t\tconst previousSiblingListAttributes =\n\t\t\t\tfirst( previousSibling.innerBlocks )?.attributes || {};\n\t\t\tconst block = getBlock( clientId );\n\n\t\t\tconst childListAttributes = first( block.innerBlocks )?.attributes;\n\t\t\tconst childItemBlocks =\n\t\t\t\tfirst( block.innerBlocks )?.innerBlocks || [];\n\n\t\t\tconst newBlock = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\tchildListAttributes,\n\t\t\t\tchildItemBlocks\n\t\t\t);\n\t\t\t// Replace the previous sibling of the block being indented and the indented block,\n\t\t\t// with a new block whose attributes are equal to the ones of the previous sibling and\n\t\t\t// whose descendants are the children of the previous sibling, followed by the indented block.\n\t\t\treplaceBlocks(\n\t\t\t\t[ previousSiblingId, clientId ],\n\t\t\t\t[\n\t\t\t\t\tcreateListItem(\n\t\t\t\t\t\tpreviousSibling.attributes,\n\t\t\t\t\t\tpreviousSiblingListAttributes,\n\t\t\t\t\t\t[ ...previousSiblingChildren, newBlock ]\n\t\t\t\t\t),\n\t\t\t\t]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewBlock.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-indent-list-item.js"],"names":["useIndentListItem","clientId","canIndent","select","blockEditorStore","getBlockIndex","replaceBlocks","selectionChange","multiSelect","getBlock","getPreviousBlockClientId","getSelectionStart","getSelectionEnd","hasMultiSelection","getMultiSelectedBlockClientIds","_hasMultiSelection","clientIds","clonedBlocks","map","_clientId","previousSiblingId","newListItem","innerBlocks","length","push","selectionStart","selectionEnd","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,iBAAT,CAA4BC,QAA5B,EAAuC;AACrD,QAAMC,SAAS,GAAG,qBACfC,MAAF,IAAcA,MAAM,CAAEC,kBAAF,CAAN,CAA2BC,aAA3B,CAA0CJ,QAA1C,IAAuD,CADpD,EAEjB,CAAEA,QAAF,CAFiB,CAAlB;AAIA,QAAM;AAAEK,IAAAA,aAAF;AAAiBC,IAAAA,eAAjB;AAAkCC,IAAAA;AAAlC,MACL,uBAAaJ,kBAAb,CADD;AAEA,QAAM;AACLK,IAAAA,QADK;AAELC,IAAAA,wBAFK;AAGLC,IAAAA,iBAHK;AAILC,IAAAA,eAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOF,qBAAWV,kBAAX,CAPJ;AAQA,SAAO,CACNF,SADM,EAEN,0BAAa,MAAM;AAAA;;AAClB,UAAMa,kBAAkB,GAAGF,iBAAiB,EAA5C;;AACA,UAAMG,SAAS,GAAGD,kBAAkB,GACjCD,8BAA8B,EADG,GAEjC,CAAEb,QAAF,CAFH;AAGA,UAAMgB,YAAY,GAAGD,SAAS,CAACE,GAAV,CAAiBC,SAAF,IACnC,wBAAYV,QAAQ,CAAEU,SAAF,CAApB,CADoB,CAArB;AAGA,UAAMC,iBAAiB,GAAGV,wBAAwB,CAAET,QAAF,CAAlD;AACA,UAAMoB,WAAW,GAAG,wBAAYZ,QAAQ,CAAEW,iBAAF,CAApB,CAApB,CATkB,CAUlB;;AACA,QAAK,2BAAEC,WAAW,CAACC,WAAd,kDAAE,sBAAyBC,MAA3B,CAAL,EAAyC;AACxCF,MAAAA,WAAW,CAACC,WAAZ,GAA0B,CAAE,yBAAa,WAAb,CAAF,CAA1B;AACA,KAbiB,CAclB;AACA;AACA;;;AACAD,IAAAA,WAAW,CAACC,WAAZ,CACCD,WAAW,CAACC,WAAZ,CAAwBC,MAAxB,GAAiC,CADlC,EAEED,WAFF,CAEcE,IAFd,CAEoB,GAAGP,YAFvB,EAjBkB,CAqBlB;AACA;;AACA,UAAMQ,cAAc,GAAGd,iBAAiB,EAAxC;AACA,UAAMe,YAAY,GAAGd,eAAe,EAApC,CAxBkB,CAyBlB;AACA;AACA;;AACAN,IAAAA,aAAa,CACZ,CAAEc,iBAAF,EAAqB,GAAGJ,SAAxB,CADY,EAEZ,CAAEK,WAAF,CAFY,CAAb;;AAIA,QAAK,CAAEN,kBAAP,EAA4B;AAC3BR,MAAAA,eAAe,CACdU,YAAY,CAAE,CAAF,CAAZ,CAAkBhB,QADJ,EAEdyB,YAAY,CAACC,YAFC,EAGdD,YAAY,CAACzB,QAAb,KAA0BwB,cAAc,CAACxB,QAAzC,GACGwB,cAAc,CAACG,MADlB,GAEGF,YAAY,CAACE,MALF,EAMdF,YAAY,CAACE,MANC,CAAf;AAQA,KATD,MASO;AACNpB,MAAAA,WAAW,CACVS,YAAY,CAAE,CAAF,CAAZ,CAAkBhB,QADR,EAEVgB,YAAY,CAAEA,YAAY,CAACM,MAAb,GAAsB,CAAxB,CAAZ,CAAwCtB,QAF9B,CAAX;AAIA;AACD,GA/CD,EA+CG,CAAEA,QAAF,CA/CH,CAFM,CAAP;AAmDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { createBlock, cloneBlock } from '@wordpress/blocks';\n\nexport default function useIndentListItem( clientId ) {\n\tconst canIndent = useSelect(\n\t\t( select ) => select( blockEditorStore ).getBlockIndex( clientId ) > 0,\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange, multiSelect } =\n\t\tuseDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlock,\n\t\tgetPreviousBlockClientId,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t\thasMultiSelection,\n\t\tgetMultiSelectedBlockClientIds,\n\t} = useSelect( blockEditorStore );\n\treturn [\n\t\tcanIndent,\n\t\tuseCallback( () => {\n\t\t\tconst _hasMultiSelection = hasMultiSelection();\n\t\t\tconst clientIds = _hasMultiSelection\n\t\t\t\t? getMultiSelectedBlockClientIds()\n\t\t\t\t: [ clientId ];\n\t\t\tconst clonedBlocks = clientIds.map( ( _clientId ) =>\n\t\t\t\tcloneBlock( getBlock( _clientId ) )\n\t\t\t);\n\t\t\tconst previousSiblingId = getPreviousBlockClientId( clientId );\n\t\t\tconst newListItem = cloneBlock( getBlock( previousSiblingId ) );\n\t\t\t// If the sibling has no innerBlocks, create a new `list` block.\n\t\t\tif ( ! newListItem.innerBlocks?.length ) {\n\t\t\t\tnewListItem.innerBlocks = [ createBlock( 'core/list' ) ];\n\t\t\t}\n\t\t\t// A list item usually has one `list`, but it's possible to have\n\t\t\t// more. So we need to preserve the previous `list` blocks and\n\t\t\t// merge the new blocks to the last `list`.\n\t\t\tnewListItem.innerBlocks[\n\t\t\t\tnewListItem.innerBlocks.length - 1\n\t\t\t].innerBlocks.push( ...clonedBlocks );\n\n\t\t\t// We get the selection start/end here, because when\n\t\t\t// we replace blocks, the selection is updated too.\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\t\t\t// Replace the previous sibling of the block being indented and the indented blocks,\n\t\t\t// with a new block whose attributes are equal to the ones of the previous sibling and\n\t\t\t// whose descendants are the children of the previous sibling, followed by the indented blocks.\n\t\t\treplaceBlocks(\n\t\t\t\t[ previousSiblingId, ...clientIds ],\n\t\t\t\t[ newListItem ]\n\t\t\t);\n\t\t\tif ( ! _hasMultiSelection ) {\n\t\t\t\tselectionChange(\n\t\t\t\t\tclonedBlocks[ 0 ].clientId,\n\t\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\t\tselectionEnd.offset\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmultiSelect(\n\t\t\t\t\tclonedBlocks[ 0 ].clientId,\n\t\t\t\t\tclonedBlocks[ clonedBlocks.length - 1 ].clientId\n\t\t\t\t);\n\t\t\t}\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","blockEditorStore","grandParentId","replaceBlocks","selectionChange","getBlockAttributes","getBlock","getBlockIndex","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","listParentId","listAttributes","listItemParentId","listItemParentAttributes","index","siblingBlocks","innerBlocks","previousSiblings","slice","afterSiblings","newListItemParent","block","childList","childItems","hasChildItems","length","newItem","attributes","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,CAA6BC,QAA7B,EAAwC;AACtD,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,WAAW,CAAEE,kBAAF,CAA5C;AACA,UAAMC,aAAa,GAAGF,oBAAoB,CACzCA,oBAAoB,CAAEH,QAAF,CADqB,CAA1C;AAGA,WAAO;AACNC,MAAAA,UAAU,EAAE,CAAC,CAAEI;AADT,KAAP;AAGA,GATqB,EAUtB,CAAEL,QAAF,CAVsB,CAAvB;AAYA,QAAM;AAAEM,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaH,kBAAb,CAA3C;AACA,QAAM;AACLD,IAAAA,oBADK;AAELK,IAAAA,kBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOF,qBAAWR,kBAAX,CAPJ;AASA,SAAO,CACNH,UADM,EAEN,0BAAa,MAAM;AAClB,UAAMY,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,YAAY,GAAGZ,oBAAoB,CAAEH,QAAF,CAAzC;AACA,UAAMgB,cAAc,GAAGR,kBAAkB,CAAEO,YAAF,CAAzC;AACA,UAAME,gBAAgB,GAAGd,oBAAoB,CAAEY,YAAF,CAA7C;AACA,UAAMG,wBAAwB,GAAGV,kBAAkB,CAClDS,gBADkD,CAAnD;AAIA,UAAME,KAAK,GAAGT,aAAa,CAAEV,QAAF,CAA3B;AACA,UAAMoB,aAAa,GAAGX,QAAQ,CAAEM,YAAF,CAAR,CAAyBM,WAA/C;AACA,UAAMC,gBAAgB,GAAGF,aAAa,CAACG,KAAd,CAAqB,CAArB,EAAwBJ,KAAxB,CAAzB;AACA,UAAMK,aAAa,GAAGJ,aAAa,CAACG,KAAd,CAAqBJ,KAAK,GAAG,CAA7B,CAAtB,CAdkB,CAgBlB;AACA;;AACA,UAAMM,iBAAiB,GAAG,2BACzBP,wBADyB,EAEzBF,cAFyB,EAGzBM,gBAHyB,CAA1B;AAMA,UAAMI,KAAK,GAAGjB,QAAQ,CAAET,QAAF,CAAtB;AACA,UAAM2B,SAAS,GAAGD,KAAK,CAACL,WAAN,CAAmB,CAAnB,CAAlB;AACA,UAAMO,UAAU,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEN,WAAX,KAA0B,EAA7C;AACA,UAAMQ,aAAa,GAAG,CAAC,CAAED,UAAU,CAACE,MAApC,CA3BkB,CA6BlB;AACA;AACA;;AACA,UAAMC,OAAO,GAAG,2BACfL,KAAK,CAACM,UADS,EAEfH,aAAa,GAAGF,SAAS,CAACK,UAAb,GAA0BhB,cAFxB,EAGf,CAAE,GAAGY,UAAL,EAAiB,GAAGJ,aAApB,CAHe,CAAhB,CAhCkB,CAsClB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEW,gBAAF,CADY,EAEZ,CAAEQ,iBAAF,EAAqBM,OAArB,CAFY,CAAb,CAzCkB,CA8ClB;;AACAxB,IAAAA,eAAe,CACdwB,OAAO,CAAC/B,QADM,EAEdc,YAAY,CAACmB,YAFC,EAGdnB,YAAY,CAACd,QAAb,KAA0Ba,cAAc,CAACb,QAAzC,GACGa,cAAc,CAACqB,MADlB,GAEGpB,YAAY,CAACoB,MALF,EAMdpB,YAAY,CAACoB,MANC,CAAf;AAQA,GAvDD,EAuDG,CAAElC,QAAF,CAvDH,CAFM,CAAP;AA2DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst listParentId = getBlockRootClientId( clientId );\n\t\t\tconst listAttributes = getBlockAttributes( listParentId );\n\t\t\tconst listItemParentId = getBlockRootClientId( listParentId );\n\t\t\tconst listItemParentAttributes = getBlockAttributes(\n\t\t\t\tlistItemParentId\n\t\t\t);\n\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst siblingBlocks = getBlock( listParentId ).innerBlocks;\n\t\t\tconst previousSiblings = siblingBlocks.slice( 0, index );\n\t\t\tconst afterSiblings = siblingBlocks.slice( index + 1 );\n\n\t\t\t// Create a new parent list item block with just the siblings\n\t\t\t// that existed before the child item being outdent.\n\t\t\tconst newListItemParent = createListItem(\n\t\t\t\tlistItemParentAttributes,\n\t\t\t\tlistAttributes,\n\t\t\t\tpreviousSiblings\n\t\t\t);\n\n\t\t\tconst block = getBlock( clientId );\n\t\t\tconst childList = block.innerBlocks[ 0 ];\n\t\t\tconst childItems = childList?.innerBlocks || [];\n\t\t\tconst hasChildItems = !! childItems.length;\n\n\t\t\t// Create a new list item block whose attributes are equal to the\n\t\t\t// block being outdent and whose children are the children that it had (if any)\n\t\t\t// followed by the siblings that existed after it.\n\t\t\tconst newItem = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\thasChildItems ? childList.attributes : listAttributes,\n\t\t\t\t[ ...childItems, ...afterSiblings ]\n\t\t\t);\n\n\t\t\t// Replace the parent list item block, with a new block containing\n\t\t\t// the previous siblings, followed by another block containing after siblings\n\t\t\t// in relation to the block being outdent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ listItemParentId ],\n\t\t\t\t[ newListItemParent, newItem ]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewItem.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-outdent-list-item.js"],"names":["useOutdentListItem","clientId","canOutdent","innerSelect","getBlockRootClientId","blockEditorStore","grandParentId","replaceBlocks","selectionChange","getBlockAttributes","getBlock","getBlockIndex","getSelectionStart","getSelectionEnd","selectionStart","selectionEnd","listParentId","listAttributes","listItemParentId","listItemParentAttributes","index","siblingBlocks","innerBlocks","previousSiblings","slice","afterSiblings","newListItemParent","block","childList","childItems","hasChildItems","length","newItem","attributes","attributeKey","offset"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AAKA;;AAVA;AACA;AACA;;AAKA;AACA;AACA;AAGe,SAASA,kBAAT,CAA6BC,QAA7B,EAAwC;AACtD,QAAM;AAAEC,IAAAA;AAAF,MAAiB,qBACpBC,WAAF,IAAmB;AAClB,UAAM;AAAEC,MAAAA;AAAF,QAA2BD,WAAW,CAAEE,kBAAF,CAA5C;AACA,UAAMC,aAAa,GAAGF,oBAAoB,CACzCA,oBAAoB,CAAEH,QAAF,CADqB,CAA1C;AAGA,WAAO;AACNC,MAAAA,UAAU,EAAE,CAAC,CAAEI;AADT,KAAP;AAGA,GATqB,EAUtB,CAAEL,QAAF,CAVsB,CAAvB;AAYA,QAAM;AAAEM,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,MAAqC,uBAAaH,kBAAb,CAA3C;AACA,QAAM;AACLD,IAAAA,oBADK;AAELK,IAAAA,kBAFK;AAGLC,IAAAA,QAHK;AAILC,IAAAA,aAJK;AAKLC,IAAAA,iBALK;AAMLC,IAAAA;AANK,MAOF,qBAAWR,kBAAX,CAPJ;AASA,SAAO,CACNH,UADM,EAEN,0BAAa,MAAM;AAClB,UAAMY,cAAc,GAAGF,iBAAiB,EAAxC;AACA,UAAMG,YAAY,GAAGF,eAAe,EAApC;AAEA,UAAMG,YAAY,GAAGZ,oBAAoB,CAAEH,QAAF,CAAzC;AACA,UAAMgB,cAAc,GAAGR,kBAAkB,CAAEO,YAAF,CAAzC;AACA,UAAME,gBAAgB,GAAGd,oBAAoB,CAAEY,YAAF,CAA7C;AACA,UAAMG,wBAAwB,GAC7BV,kBAAkB,CAAES,gBAAF,CADnB;AAGA,UAAME,KAAK,GAAGT,aAAa,CAAEV,QAAF,CAA3B;AACA,UAAMoB,aAAa,GAAGX,QAAQ,CAAEM,YAAF,CAAR,CAAyBM,WAA/C;AACA,UAAMC,gBAAgB,GAAGF,aAAa,CAACG,KAAd,CAAqB,CAArB,EAAwBJ,KAAxB,CAAzB;AACA,UAAMK,aAAa,GAAGJ,aAAa,CAACG,KAAd,CAAqBJ,KAAK,GAAG,CAA7B,CAAtB,CAbkB,CAelB;AACA;;AACA,UAAMM,iBAAiB,GAAG,2BACzBP,wBADyB,EAEzBF,cAFyB,EAGzBM,gBAHyB,CAA1B;AAMA,UAAMI,KAAK,GAAGjB,QAAQ,CAAET,QAAF,CAAtB;AACA,UAAM2B,SAAS,GAAGD,KAAK,CAACL,WAAN,CAAmB,CAAnB,CAAlB;AACA,UAAMO,UAAU,GAAG,CAAAD,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEN,WAAX,KAA0B,EAA7C;AACA,UAAMQ,aAAa,GAAG,CAAC,CAAED,UAAU,CAACE,MAApC,CA1BkB,CA4BlB;AACA;AACA;;AACA,UAAMC,OAAO,GAAG,2BACfL,KAAK,CAACM,UADS,EAEfH,aAAa,GAAGF,SAAS,CAACK,UAAb,GAA0BhB,cAFxB,EAGf,CAAE,GAAGY,UAAL,EAAiB,GAAGJ,aAApB,CAHe,CAAhB,CA/BkB,CAqClB;AACA;AACA;;AACAlB,IAAAA,aAAa,CACZ,CAAEW,gBAAF,CADY,EAEZ,CAAEQ,iBAAF,EAAqBM,OAArB,CAFY,CAAb,CAxCkB,CA6ClB;;AACAxB,IAAAA,eAAe,CACdwB,OAAO,CAAC/B,QADM,EAEdc,YAAY,CAACmB,YAFC,EAGdnB,YAAY,CAACd,QAAb,KAA0Ba,cAAc,CAACb,QAAzC,GACGa,cAAc,CAACqB,MADlB,GAEGpB,YAAY,CAACoB,MALF,EAMdpB,YAAY,CAACoB,MANC,CAAf;AAQA,GAtDD,EAsDG,CAAElC,QAAF,CAtDH,CAFM,CAAP;AA0DA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { createListItem } from '../utils';\n\nexport default function useOutdentListItem( clientId ) {\n\tconst { canOutdent } = useSelect(\n\t\t( innerSelect ) => {\n\t\t\tconst { getBlockRootClientId } = innerSelect( blockEditorStore );\n\t\t\tconst grandParentId = getBlockRootClientId(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\treturn {\n\t\t\t\tcanOutdent: !! grandParentId,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst {\n\t\tgetBlockRootClientId,\n\t\tgetBlockAttributes,\n\t\tgetBlock,\n\t\tgetBlockIndex,\n\t\tgetSelectionStart,\n\t\tgetSelectionEnd,\n\t} = useSelect( blockEditorStore );\n\n\treturn [\n\t\tcanOutdent,\n\t\tuseCallback( () => {\n\t\t\tconst selectionStart = getSelectionStart();\n\t\t\tconst selectionEnd = getSelectionEnd();\n\n\t\t\tconst listParentId = getBlockRootClientId( clientId );\n\t\t\tconst listAttributes = getBlockAttributes( listParentId );\n\t\t\tconst listItemParentId = getBlockRootClientId( listParentId );\n\t\t\tconst listItemParentAttributes =\n\t\t\t\tgetBlockAttributes( listItemParentId );\n\n\t\t\tconst index = getBlockIndex( clientId );\n\t\t\tconst siblingBlocks = getBlock( listParentId ).innerBlocks;\n\t\t\tconst previousSiblings = siblingBlocks.slice( 0, index );\n\t\t\tconst afterSiblings = siblingBlocks.slice( index + 1 );\n\n\t\t\t// Create a new parent list item block with just the siblings\n\t\t\t// that existed before the child item being outdent.\n\t\t\tconst newListItemParent = createListItem(\n\t\t\t\tlistItemParentAttributes,\n\t\t\t\tlistAttributes,\n\t\t\t\tpreviousSiblings\n\t\t\t);\n\n\t\t\tconst block = getBlock( clientId );\n\t\t\tconst childList = block.innerBlocks[ 0 ];\n\t\t\tconst childItems = childList?.innerBlocks || [];\n\t\t\tconst hasChildItems = !! childItems.length;\n\n\t\t\t// Create a new list item block whose attributes are equal to the\n\t\t\t// block being outdent and whose children are the children that it had (if any)\n\t\t\t// followed by the siblings that existed after it.\n\t\t\tconst newItem = createListItem(\n\t\t\t\tblock.attributes,\n\t\t\t\thasChildItems ? childList.attributes : listAttributes,\n\t\t\t\t[ ...childItems, ...afterSiblings ]\n\t\t\t);\n\n\t\t\t// Replace the parent list item block, with a new block containing\n\t\t\t// the previous siblings, followed by another block containing after siblings\n\t\t\t// in relation to the block being outdent.\n\t\t\treplaceBlocks(\n\t\t\t\t[ listItemParentId ],\n\t\t\t\t[ newListItemParent, newItem ]\n\t\t\t);\n\n\t\t\t// Restore the selection state.\n\t\t\tselectionChange(\n\t\t\t\tnewItem.clientId,\n\t\t\t\tselectionEnd.attributeKey,\n\t\t\t\tselectionEnd.clientId === selectionStart.clientId\n\t\t\t\t\t? selectionStart.offset\n\t\t\t\t\t: selectionEnd.offset,\n\t\t\t\tselectionEnd.offset\n\t\t\t);\n\t\t}, [ clientId ] ),\n\t];\n}\n"]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = useSpace;
9
+
10
+ var _compose = require("@wordpress/compose");
11
+
12
+ var _keycodes = require("@wordpress/keycodes");
13
+
14
+ var _blockEditor = require("@wordpress/block-editor");
15
+
16
+ var _data = require("@wordpress/data");
17
+
18
+ var _useIndentListItem = _interopRequireDefault(require("./use-indent-list-item"));
19
+
20
+ /**
21
+ * WordPress dependencies
22
+ */
23
+
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+ function useSpace(clientId) {
28
+ const {
29
+ getSelectionStart,
30
+ getSelectionEnd
31
+ } = (0, _data.useSelect)(_blockEditor.store);
32
+ const [canIndent, indentListItem] = (0, _useIndentListItem.default)(clientId);
33
+ return (0, _compose.useRefEffect)(element => {
34
+ function onKeyDown(event) {
35
+ if (event.defaultPrevented || event.keyCode !== _keycodes.SPACE || !canIndent) {
36
+ return;
37
+ }
38
+
39
+ const selectionStart = getSelectionStart();
40
+ const selectionEnd = getSelectionEnd();
41
+
42
+ if (selectionStart.offset === 0 && selectionEnd.offset === 0) {
43
+ event.preventDefault();
44
+ indentListItem();
45
+ }
46
+ }
47
+
48
+ element.addEventListener('keydown', onKeyDown);
49
+ return () => {
50
+ element.removeEventListener('keydown', onKeyDown);
51
+ };
52
+ }, [canIndent, indentListItem]);
53
+ }
54
+ //# sourceMappingURL=use-space.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-space.js"],"names":["useSpace","clientId","getSelectionStart","getSelectionEnd","blockEditorStore","canIndent","indentListItem","element","onKeyDown","event","defaultPrevented","keyCode","SPACE","selectionStart","selectionEnd","offset","preventDefault","addEventListener","removeEventListener"],"mappings":";;;;;;;;;AAGA;;AACA;;AACA;;AACA;;AAKA;;AAXA;AACA;AACA;;AAMA;AACA;AACA;AAGe,SAASA,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MACL,qBAAWC,kBAAX,CADD;AAEA,QAAM,CAAEC,SAAF,EAAaC,cAAb,IAAgC,gCAAmBL,QAAnB,CAAtC;AAEA,SAAO,2BACJM,OAAF,IAAe;AACd,aAASC,SAAT,CAAoBC,KAApB,EAA4B;AAC3B,UACCA,KAAK,CAACC,gBAAN,IACAD,KAAK,CAACE,OAAN,KAAkBC,eADlB,IAEA,CAAEP,SAHH,EAIE;AACD;AACA;;AACD,YAAMQ,cAAc,GAAGX,iBAAiB,EAAxC;AACA,YAAMY,YAAY,GAAGX,eAAe,EAApC;;AACA,UACCU,cAAc,CAACE,MAAf,KAA0B,CAA1B,IACAD,YAAY,CAACC,MAAb,KAAwB,CAFzB,EAGE;AACDN,QAAAA,KAAK,CAACO,cAAN;AACAV,QAAAA,cAAc;AACd;AACD;;AAEDC,IAAAA,OAAO,CAACU,gBAAR,CAA0B,SAA1B,EAAqCT,SAArC;AACA,WAAO,MAAM;AACZD,MAAAA,OAAO,CAACW,mBAAR,CAA6B,SAA7B,EAAwCV,SAAxC;AACA,KAFD;AAGA,GAzBK,EA0BN,CAAEH,SAAF,EAAaC,cAAb,CA1BM,CAAP;AA4BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRefEffect } from '@wordpress/compose';\nimport { SPACE } from '@wordpress/keycodes';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport useIndentListItem from './use-indent-list-item';\n\nexport default function useSpace( clientId ) {\n\tconst { getSelectionStart, getSelectionEnd } =\n\t\tuseSelect( blockEditorStore );\n\tconst [ canIndent, indentListItem ] = useIndentListItem( clientId );\n\n\treturn useRefEffect(\n\t\t( element ) => {\n\t\t\tfunction onKeyDown( event ) {\n\t\t\t\tif (\n\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\tevent.keyCode !== SPACE ||\n\t\t\t\t\t! canIndent\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst selectionStart = getSelectionStart();\n\t\t\t\tconst selectionEnd = getSelectionEnd();\n\t\t\t\tif (\n\t\t\t\t\tselectionStart.offset === 0 &&\n\t\t\t\t\tselectionEnd.offset === 0\n\t\t\t\t) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tindentListItem();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\t\treturn () => {\n\t\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t\t};\n\t\t},\n\t\t[ canIndent, indentListItem ]\n\t);\n}\n"]}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = useSplit;
7
+
8
+ var _element = require("@wordpress/element");
9
+
10
+ var _data = require("@wordpress/data");
11
+
12
+ var _blockEditor = require("@wordpress/block-editor");
13
+
14
+ var _blocks = require("@wordpress/blocks");
15
+
16
+ /**
17
+ * WordPress dependencies
18
+ */
19
+ function useSplit(clientId) {
20
+ // We can not rely on the isAfterOriginal parameter of the callback,
21
+ // because if the value after the split is empty isAfterOriginal is false
22
+ // while the value is in fact after the original. So to avoid that issue we use
23
+ // a flag where the first execution of the callback is false (it is the before value)
24
+ // and the second execution is true, it is the after value.
25
+ const isAfter = (0, _element.useRef)(false);
26
+ const {
27
+ getBlock
28
+ } = (0, _data.useSelect)(_blockEditor.store);
29
+ return (0, _element.useCallback)(value => {
30
+ const block = getBlock(clientId);
31
+
32
+ if (isAfter.current) {
33
+ return (0, _blocks.cloneBlock)(block, {
34
+ content: value
35
+ });
36
+ }
37
+
38
+ isAfter.current = true;
39
+ return (0, _blocks.createBlock)(block.name, { ...block.attributes,
40
+ content: value
41
+ });
42
+ }, [clientId, getBlock]);
43
+ }
44
+ //# sourceMappingURL=use-split.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/hooks/use-split.js"],"names":["useSplit","clientId","isAfter","getBlock","blockEditorStore","value","block","current","content","name","attributes"],"mappings":";;;;;;;AAGA;;AACA;;AACA;;AACA;;AANA;AACA;AACA;AAMe,SAASA,QAAT,CAAmBC,QAAnB,EAA8B;AAC5C;AACA;AACA;AACA;AACA;AACA,QAAMC,OAAO,GAAG,qBAAQ,KAAR,CAAhB;AACA,QAAM;AAAEC,IAAAA;AAAF,MAAe,qBAAWC,kBAAX,CAArB;AACA,SAAO,0BACJC,KAAF,IAAa;AACZ,UAAMC,KAAK,GAAGH,QAAQ,CAAEF,QAAF,CAAtB;;AACA,QAAKC,OAAO,CAACK,OAAb,EAAuB;AACtB,aAAO,wBAAYD,KAAZ,EAAmB;AACzBE,QAAAA,OAAO,EAAEH;AADgB,OAAnB,CAAP;AAGA;;AACDH,IAAAA,OAAO,CAACK,OAAR,GAAkB,IAAlB;AACA,WAAO,yBAAaD,KAAK,CAACG,IAAnB,EAAyB,EAC/B,GAAGH,KAAK,CAACI,UADsB;AAE/BF,MAAAA,OAAO,EAAEH;AAFsB,KAAzB,CAAP;AAIA,GAbK,EAcN,CAAEJ,QAAF,EAAYE,QAAZ,CAdM,CAAP;AAgBA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useRef } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { cloneBlock, createBlock } from '@wordpress/blocks';\n\nexport default function useSplit( clientId ) {\n\t// We can not rely on the isAfterOriginal parameter of the callback,\n\t// because if the value after the split is empty isAfterOriginal is false\n\t// while the value is in fact after the original. So to avoid that issue we use\n\t// a flag where the first execution of the callback is false (it is the before value)\n\t// and the second execution is true, it is the after value.\n\tconst isAfter = useRef( false );\n\tconst { getBlock } = useSelect( blockEditorStore );\n\treturn useCallback(\n\t\t( value ) => {\n\t\t\tconst block = getBlock( clientId );\n\t\t\tif ( isAfter.current ) {\n\t\t\t\treturn cloneBlock( block, {\n\t\t\t\t\tcontent: value,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tisAfter.current = true;\n\t\t\treturn createBlock( block.name, {\n\t\t\t\t...block.attributes,\n\t\t\t\tcontent: value,\n\t\t\t} );\n\t\t},\n\t\t[ clientId, getBlock ]\n\t);\n}\n"]}
@@ -23,6 +23,7 @@ var _save = _interopRequireDefault(require("./save"));
23
23
  const metadata = {
24
24
  $schema: "https://schemas.wp.org/trunk/block.json",
25
25
  apiVersion: 2,
26
+ __experimental: "list-v2",
26
27
  name: "core/list-item",
27
28
  title: "List item",
28
29
  category: "text",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["name","metadata","settings","icon","edit","save","merge","attributes","attributesToMerge","content"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;;AAIvBC,EAAAA,KAAK,CAAEC,UAAF,EAAcC,iBAAd,EAAkC;AACtC,WAAO,EACN,GAAGD,UADG;AAENE,MAAAA,OAAO,EAAEF,UAAU,CAACE,OAAX,GAAqBD,iBAAiB,CAACC;AAF1C,KAAP;AAIA;;AATsB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/index.js"],"names":["name","metadata","settings","icon","edit","save","merge","attributes","attributesToMerge","content"],"mappings":";;;;;;;;;AAGA;;AAMA;;AACA;;AAVA;AACA;AACA;;AAGA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,eADuB;AAEvBC,EAAAA,IAAI,EAAJA,aAFuB;AAGvBC,EAAAA,IAAI,EAAJA,aAHuB;;AAIvBC,EAAAA,KAAK,CAAEC,UAAF,EAAcC,iBAAd,EAAkC;AACtC,WAAO,EACN,GAAGD,UADG;AAENE,MAAAA,OAAO,EAAEF,UAAU,CAACE,OAAX,GAAqBD,iBAAiB,CAACC;AAF1C,KAAP;AAIA;;AATsB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n};\n"]}
@@ -11,6 +11,6 @@ var _blocks = require("@wordpress/blocks");
11
11
  * WordPress dependencies
12
12
  */
13
13
  function createListItem(listItemAttributes, listAttributes, children) {
14
- return (0, _blocks.createBlock)('core/list-item', listItemAttributes, !children || !children.length ? [] : [(0, _blocks.createBlock)('core/list', listAttributes, children)]);
14
+ return (0, _blocks.createBlock)('core/list-item', listItemAttributes, !(children !== null && children !== void 0 && children.length) ? [] : [(0, _blocks.createBlock)('core/list', listAttributes, children)]);
15
15
  }
16
16
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createListItem","listItemAttributes","listAttributes","children","length"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAO,yBACN,gBADM,EAENF,kBAFM,EAGN,CAAEE,QAAF,IAAc,CAAEA,QAAQ,CAACC,MAAzB,GACG,EADH,GAEG,CAAE,yBAAa,WAAb,EAA0BF,cAA1B,EAA0CC,QAA1C,CAAF,CALG,CAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\t'core/list-item',\n\t\tlistItemAttributes,\n\t\t! children || ! children.length\n\t\t\t? []\n\t\t\t: [ createBlock( 'core/list', listAttributes, children ) ]\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/list-item/utils.js"],"names":["createListItem","listItemAttributes","listAttributes","children","length"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGO,SAASA,cAAT,CAAyBC,kBAAzB,EAA6CC,cAA7C,EAA6DC,QAA7D,EAAwE;AAC9E,SAAO,yBACN,gBADM,EAENF,kBAFM,EAGN,EAAEE,QAAF,aAAEA,QAAF,eAAEA,QAAQ,CAAEC,MAAZ,IACG,EADH,GAEG,CAAE,yBAAa,WAAb,EAA0BF,cAA1B,EAA0CC,QAA1C,CAAF,CALG,CAAP;AAOA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nexport function createListItem( listItemAttributes, listAttributes, children ) {\n\treturn createBlock(\n\t\t'core/list-item',\n\t\tlistItemAttributes,\n\t\t! children?.length\n\t\t\t? []\n\t\t\t: [ createBlock( 'core/list', listAttributes, children ) ]\n\t);\n}\n"]}
@@ -30,6 +30,8 @@ var _mediaContainer = require("./media-container");
30
30
  */
31
31
  const DEFAULT_MEDIA_WIDTH = 50;
32
32
 
33
+ const noop = () => {};
34
+
33
35
  const migrateCustomColors = attributes => {
34
36
  if (!attributes.customBackgroundColor) {
35
37
  return attributes;
@@ -197,7 +199,7 @@ var _default = [{
197
199
  }, (0, _element.createElement)("figure", {
198
200
  className: "wp-block-media-text__media",
199
201
  style: backgroundStyles
200
- }, (mediaTypeRenders[mediaType] || _lodash.noop)()), (0, _element.createElement)("div", {
202
+ }, (mediaTypeRenders[mediaType] || noop)()), (0, _element.createElement)("div", {
201
203
  className: "wp-block-media-text__content"
202
204
  }, (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null)));
203
205
  }
@@ -279,7 +281,7 @@ var _default = [{
279
281
  }, (0, _element.createElement)("figure", {
280
282
  className: "wp-block-media-text__media",
281
283
  style: backgroundStyles
282
- }, (mediaTypeRenders[mediaType] || _lodash.noop)()), (0, _element.createElement)("div", {
284
+ }, (mediaTypeRenders[mediaType] || noop)()), (0, _element.createElement)("div", {
283
285
  className: "wp-block-media-text__content"
284
286
  }, (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null)));
285
287
  }
@@ -342,7 +344,7 @@ var _default = [{
342
344
  style: style
343
345
  }, (0, _element.createElement)("figure", {
344
346
  className: "wp-block-media-text__media"
345
- }, (mediaTypeRenders[mediaType] || _lodash.noop)()), (0, _element.createElement)("div", {
347
+ }, (mediaTypeRenders[mediaType] || noop)()), (0, _element.createElement)("div", {
346
348
  className: "wp-block-media-text__content"
347
349
  }, (0, _element.createElement)(_blockEditor.InnerBlocks.Content, null)));
348
350
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["DEFAULT_MEDIA_WIDTH","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","migrate","save","mediaUrl","newRel","undefined","image","mediaTypeRenders","video","backgroundClass","className","backgroundStyles","gridTemplateColumns","noop"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop, isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","migrate","save","mediaUrl","newRel","undefined","image","mediaTypeRenders","video","backgroundClass","className","backgroundStyles","gridTemplateColumns"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks, getColorClassName } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
@@ -275,6 +275,7 @@ class MediaTextEdit extends _element.Component {
275
275
  const widthString = `${temporaryMediaWidth}%`;
276
276
  const innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;
277
277
  const innerBlockWidthString = `${innerBlockWidth}%`;
278
+ const hasMedia = mediaType === _blockEditor.MEDIA_TYPE_IMAGE || mediaType === _blockEditor.MEDIA_TYPE_VIDEO;
278
279
  const innerBlockContainerStyle = [{
279
280
  width: innerBlockWidthString
280
281
  }, !shouldStack ? _style.default.innerBlock : { ...(mediaPosition === 'left' ? _style.default.innerBlockStackMediaLeft : _style.default.innerBlockStackMediaRight)
@@ -317,7 +318,7 @@ class MediaTextEdit extends _element.Component {
317
318
  });
318
319
  };
319
320
 
320
- return (0, _element.createElement)(_element.Fragment, null, mediaType === _blockEditor.MEDIA_TYPE_IMAGE && this.getControls(), (0, _element.createElement)(_blockEditor.BlockControls, null, (isMediaSelected || mediaType === _blockEditor.MEDIA_TYPE_VIDEO) && (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.Button, {
321
+ return (0, _element.createElement)(_element.Fragment, null, mediaType === _blockEditor.MEDIA_TYPE_IMAGE && this.getControls(), (0, _element.createElement)(_blockEditor.BlockControls, null, hasMedia && (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.Button, {
321
322
  label: (0, _i18n.__)('Edit media'),
322
323
  icon: _icons.replace,
323
324
  onClick: this.onReplaceMedia
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","title","isActive","onClick","onVerticalAlignmentChange","alignment","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","replace","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\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' && media.sizes ) {\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\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\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\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ( isMediaSelected || mediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\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</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockParents,\n\t\t\tgetSettings,\n\t\t} = select( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","title","isActive","onClick","onVerticalAlignmentChange","alignment","replace","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\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' && media.sizes ) {\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\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\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\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\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</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
@@ -14,8 +14,6 @@ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")
14
14
 
15
15
  var _classnames = _interopRequireDefault(require("classnames"));
16
16
 
17
- var _lodash = require("lodash");
18
-
19
17
  var _components = require("@wordpress/components");
20
18
 
21
19
  var _blockEditor = require("@wordpress/block-editor");
@@ -47,6 +45,8 @@ var _mediaContainerIcon = _interopRequireDefault(require("./media-container-icon
47
45
  */
48
46
  const ALLOWED_MEDIA_TYPES = ['image', 'video'];
49
47
 
48
+ const noop = () => {};
49
+
50
50
  function imageFillStyles(url, focalPoint) {
51
51
  return url ? {
52
52
  backgroundImage: `url(${url})`,
@@ -189,7 +189,7 @@ function MediaContainer(props, ref) {
189
189
  onSelectMedia: onSelectMedia,
190
190
  mediaUrl: mediaUrl,
191
191
  mediaId: mediaId
192
- }), (mediaTypeRenderers[mediaType] || _lodash.noop)(), isTemporaryMedia && (0, _element.createElement)(_components.Spinner, null), (0, _element.createElement)(PlaceholderContainer, props));
192
+ }), (mediaTypeRenderers[mediaType] || noop)(), isTemporaryMedia && (0, _element.createElement)(_components.Spinner, null), (0, _element.createElement)(PlaceholderContainer, props));
193
193
  }
194
194
 
195
195
  return (0, _element.createElement)(PlaceholderContainer, props);