@wordpress/block-library 7.3.5 → 7.5.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 (400) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/archives/edit.js +1 -1
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/audio/edit.js +4 -16
  5. package/build/audio/edit.js.map +1 -1
  6. package/build/audio/edit.native.js +1 -1
  7. package/build/audio/edit.native.js.map +1 -1
  8. package/build/button/edit.native.js +7 -3
  9. package/build/button/edit.native.js.map +1 -1
  10. package/build/categories/edit.js +8 -3
  11. package/build/categories/edit.js.map +1 -1
  12. package/build/categories/index.js +4 -0
  13. package/build/categories/index.js.map +1 -1
  14. package/build/column/index.js +10 -0
  15. package/build/column/index.js.map +1 -1
  16. package/build/comment-template/edit.js +1 -3
  17. package/build/comment-template/edit.js.map +1 -1
  18. package/build/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  19. package/{build-module/comments-query-loop → build/comments}/edit/comments-inspector-controls.js.map +1 -1
  20. package/build/{comments-query-loop → comments}/edit.js +2 -2
  21. package/build/comments/edit.js.map +1 -0
  22. package/build/{comments-query-loop → comments}/index.js +1 -1
  23. package/build/comments/index.js.map +1 -0
  24. package/build/{comments-query-loop → comments}/save.js +2 -2
  25. package/build/comments/save.js.map +1 -0
  26. package/build/cover/edit.js +4 -71
  27. package/build/cover/edit.js.map +1 -1
  28. package/build/cover/edit.native.js +36 -15
  29. package/build/cover/edit.native.js.map +1 -1
  30. package/build/cover/transforms.js +77 -6
  31. package/build/cover/transforms.js.map +1 -1
  32. package/build/cover/use-cover-is-dark.js +81 -0
  33. package/build/cover/use-cover-is-dark.js.map +1 -0
  34. package/build/cover/use-cover-is-dark.native.js +60 -0
  35. package/build/cover/use-cover-is-dark.native.js.map +1 -0
  36. package/build/embed/edit.js +12 -18
  37. package/build/embed/edit.js.map +1 -1
  38. package/build/embed/edit.native.js +1 -7
  39. package/build/embed/edit.native.js.map +1 -1
  40. package/build/embed/util.js +29 -4
  41. package/build/embed/util.js.map +1 -1
  42. package/build/file/inspector.js +2 -4
  43. package/build/file/inspector.js.map +1 -1
  44. package/build/gallery/edit.js +1 -1
  45. package/build/gallery/edit.js.map +1 -1
  46. package/build/gallery/v1/edit.js +1 -1
  47. package/build/gallery/v1/edit.js.map +1 -1
  48. package/build/group/index.js +1 -0
  49. package/build/group/index.js.map +1 -1
  50. package/build/heading/transforms.js +8 -4
  51. package/build/heading/transforms.js.map +1 -1
  52. package/build/html/edit.js +2 -2
  53. package/build/html/edit.js.map +1 -1
  54. package/build/image/edit.js +4 -6
  55. package/build/image/edit.js.map +1 -1
  56. package/build/image/edit.native.js +1 -1
  57. package/build/image/edit.native.js.map +1 -1
  58. package/build/image/image.js +1 -1
  59. package/build/image/image.js.map +1 -1
  60. package/build/index.js +4 -6
  61. package/build/index.js.map +1 -1
  62. package/build/index.native.js +14 -3
  63. package/build/index.native.js.map +1 -1
  64. package/build/latest-comments/edit.js +1 -1
  65. package/build/latest-comments/edit.js.map +1 -1
  66. package/build/latest-posts/edit.native.js +49 -0
  67. package/build/latest-posts/edit.native.js.map +1 -1
  68. package/build/loginout/edit.js +1 -1
  69. package/build/loginout/edit.js.map +1 -1
  70. package/build/media-text/edit.js +1 -2
  71. package/build/media-text/edit.js.map +1 -1
  72. package/build/media-text/edit.native.js +1 -1
  73. package/build/media-text/edit.native.js.map +1 -1
  74. package/build/navigation/edit/index.js +5 -28
  75. package/build/navigation/edit/index.js.map +1 -1
  76. package/build/navigation/edit/unsaved-inner-blocks.js +5 -4
  77. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  78. package/build/navigation/index.js +1 -2
  79. package/build/navigation/index.js.map +1 -1
  80. package/build/navigation/view-modal.js +62 -0
  81. package/build/navigation/view-modal.js.map +1 -0
  82. package/build/navigation/view.js +1 -34
  83. package/build/navigation/view.js.map +1 -1
  84. package/build/navigation-link/edit.js +1 -1
  85. package/build/navigation-link/edit.js.map +1 -1
  86. package/build/paragraph/edit.js +10 -0
  87. package/build/paragraph/edit.js.map +1 -1
  88. package/build/paragraph/edit.native.js +6 -2
  89. package/build/paragraph/edit.native.js.map +1 -1
  90. package/build/paragraph/use-enter.js +94 -0
  91. package/build/paragraph/use-enter.js.map +1 -0
  92. package/build/post-author/edit.js +1 -1
  93. package/build/post-author/edit.js.map +1 -1
  94. package/build/post-comment/index.js +1 -1
  95. package/build/post-comments/edit.js +13 -34
  96. package/build/post-comments/edit.js.map +1 -1
  97. package/build/post-comments/index.js +1 -1
  98. package/build/post-comments-form/edit.js +37 -24
  99. package/build/post-comments-form/edit.js.map +1 -1
  100. package/build/post-comments-form/form.js +48 -0
  101. package/build/post-comments-form/form.js.map +1 -0
  102. package/build/post-excerpt/edit.js +1 -1
  103. package/build/post-excerpt/edit.js.map +1 -1
  104. package/build/post-terms/edit.js +25 -3
  105. package/build/post-terms/edit.js.map +1 -1
  106. package/build/post-terms/index.js +8 -0
  107. package/build/post-terms/index.js.map +1 -1
  108. package/build/quote/index.js +7 -0
  109. package/build/quote/index.js.map +1 -1
  110. package/build/quote/v2/edit.js +11 -3
  111. package/build/quote/v2/edit.js.map +1 -1
  112. package/build/rss/edit.js +1 -1
  113. package/build/rss/edit.js.map +1 -1
  114. package/build/search/edit.js +11 -9
  115. package/build/search/edit.js.map +1 -1
  116. package/build/separator/index.js +3 -0
  117. package/build/separator/index.js.map +1 -1
  118. package/build/spacer/constants.js +9 -0
  119. package/build/spacer/constants.js.map +1 -0
  120. package/build/spacer/controls.js +3 -3
  121. package/build/spacer/controls.js.map +1 -1
  122. package/build/spacer/controls.native.js +2 -2
  123. package/build/spacer/controls.native.js.map +1 -1
  124. package/build/spacer/edit.js +5 -6
  125. package/build/spacer/edit.js.map +1 -1
  126. package/build/table/edit.js +8 -2
  127. package/build/table/edit.js.map +1 -1
  128. package/build/tag-cloud/edit.js +1 -1
  129. package/build/tag-cloud/edit.js.map +1 -1
  130. package/build/video/edit.js +4 -8
  131. package/build/video/edit.js.map +1 -1
  132. package/build/video/edit.native.js +1 -1
  133. package/build/video/edit.native.js.map +1 -1
  134. package/build-module/archives/edit.js +1 -1
  135. package/build-module/archives/edit.js.map +1 -1
  136. package/build-module/audio/edit.js +4 -16
  137. package/build-module/audio/edit.js.map +1 -1
  138. package/build-module/audio/edit.native.js +1 -1
  139. package/build-module/audio/edit.native.js.map +1 -1
  140. package/build-module/button/edit.native.js +7 -3
  141. package/build-module/button/edit.native.js.map +1 -1
  142. package/build-module/categories/edit.js +8 -3
  143. package/build-module/categories/edit.js.map +1 -1
  144. package/build-module/categories/index.js +4 -0
  145. package/build-module/categories/index.js.map +1 -1
  146. package/build-module/column/index.js +10 -0
  147. package/build-module/column/index.js.map +1 -1
  148. package/build-module/comment-template/edit.js +1 -3
  149. package/build-module/comment-template/edit.js.map +1 -1
  150. package/build-module/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  151. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -0
  152. package/build-module/{comments-query-loop → comments}/edit.js +1 -1
  153. package/build-module/comments/edit.js.map +1 -0
  154. package/build-module/{comments-query-loop → comments}/index.js +1 -1
  155. package/build-module/comments/index.js.map +1 -0
  156. package/build-module/{comments-query-loop → comments}/save.js +1 -1
  157. package/build-module/comments/save.js.map +1 -0
  158. package/build-module/cover/edit.js +4 -71
  159. package/build-module/cover/edit.js.map +1 -1
  160. package/build-module/cover/edit.native.js +35 -16
  161. package/build-module/cover/edit.native.js.map +1 -1
  162. package/build-module/cover/transforms.js +74 -6
  163. package/build-module/cover/transforms.js.map +1 -1
  164. package/build-module/cover/use-cover-is-dark.js +70 -0
  165. package/build-module/cover/use-cover-is-dark.js.map +1 -0
  166. package/build-module/cover/use-cover-is-dark.native.js +51 -0
  167. package/build-module/cover/use-cover-is-dark.native.js.map +1 -0
  168. package/build-module/embed/edit.js +13 -19
  169. package/build-module/embed/edit.js.map +1 -1
  170. package/build-module/embed/edit.native.js +2 -8
  171. package/build-module/embed/edit.native.js.map +1 -1
  172. package/build-module/embed/util.js +25 -3
  173. package/build-module/embed/util.js.map +1 -1
  174. package/build-module/file/inspector.js +2 -4
  175. package/build-module/file/inspector.js.map +1 -1
  176. package/build-module/gallery/edit.js +1 -1
  177. package/build-module/gallery/edit.js.map +1 -1
  178. package/build-module/gallery/v1/edit.js +1 -1
  179. package/build-module/gallery/v1/edit.js.map +1 -1
  180. package/build-module/group/index.js +1 -0
  181. package/build-module/group/index.js.map +1 -1
  182. package/build-module/heading/transforms.js +8 -4
  183. package/build-module/heading/transforms.js.map +1 -1
  184. package/build-module/html/edit.js +2 -2
  185. package/build-module/html/edit.js.map +1 -1
  186. package/build-module/image/edit.js +4 -6
  187. package/build-module/image/edit.js.map +1 -1
  188. package/build-module/image/edit.native.js +1 -1
  189. package/build-module/image/edit.native.js.map +1 -1
  190. package/build-module/image/image.js +1 -1
  191. package/build-module/image/image.js.map +1 -1
  192. package/build-module/index.js +3 -4
  193. package/build-module/index.js.map +1 -1
  194. package/build-module/index.native.js +14 -3
  195. package/build-module/index.native.js.map +1 -1
  196. package/build-module/latest-comments/edit.js +1 -1
  197. package/build-module/latest-comments/edit.js.map +1 -1
  198. package/build-module/latest-posts/edit.native.js +51 -2
  199. package/build-module/latest-posts/edit.native.js.map +1 -1
  200. package/build-module/loginout/edit.js +1 -1
  201. package/build-module/loginout/edit.js.map +1 -1
  202. package/build-module/media-text/edit.js +1 -2
  203. package/build-module/media-text/edit.js.map +1 -1
  204. package/build-module/media-text/edit.native.js +1 -1
  205. package/build-module/media-text/edit.native.js.map +1 -1
  206. package/build-module/navigation/edit/index.js +6 -28
  207. package/build-module/navigation/edit/index.js.map +1 -1
  208. package/build-module/navigation/edit/unsaved-inner-blocks.js +5 -4
  209. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  210. package/build-module/navigation/index.js +1 -2
  211. package/build-module/navigation/index.js.map +1 -1
  212. package/build-module/navigation/view-modal.js +56 -0
  213. package/build-module/navigation/view-modal.js.map +1 -0
  214. package/build-module/navigation/view.js +1 -30
  215. package/build-module/navigation/view.js.map +1 -1
  216. package/build-module/navigation-link/edit.js +1 -1
  217. package/build-module/navigation-link/edit.js.map +1 -1
  218. package/build-module/paragraph/edit.js +9 -0
  219. package/build-module/paragraph/edit.js.map +1 -1
  220. package/build-module/paragraph/edit.native.js +6 -2
  221. package/build-module/paragraph/edit.native.js.map +1 -1
  222. package/build-module/paragraph/use-enter.js +81 -0
  223. package/build-module/paragraph/use-enter.js.map +1 -0
  224. package/build-module/post-author/edit.js +1 -1
  225. package/build-module/post-author/edit.js.map +1 -1
  226. package/build-module/post-comment/index.js +1 -1
  227. package/build-module/post-comments/edit.js +13 -35
  228. package/build-module/post-comments/edit.js.map +1 -1
  229. package/build-module/post-comments/index.js +1 -1
  230. package/build-module/post-comments-form/edit.js +38 -26
  231. package/build-module/post-comments-form/edit.js.map +1 -1
  232. package/build-module/post-comments-form/form.js +39 -0
  233. package/build-module/post-comments-form/form.js.map +1 -0
  234. package/build-module/post-excerpt/edit.js +1 -1
  235. package/build-module/post-excerpt/edit.js.map +1 -1
  236. package/build-module/post-terms/edit.js +26 -4
  237. package/build-module/post-terms/edit.js.map +1 -1
  238. package/build-module/post-terms/index.js +8 -0
  239. package/build-module/post-terms/index.js.map +1 -1
  240. package/build-module/quote/index.js +2 -1
  241. package/build-module/quote/index.js.map +1 -1
  242. package/build-module/quote/v2/edit.js +10 -3
  243. package/build-module/quote/v2/edit.js.map +1 -1
  244. package/build-module/rss/edit.js +1 -1
  245. package/build-module/rss/edit.js.map +1 -1
  246. package/build-module/search/edit.js +11 -9
  247. package/build-module/search/edit.js.map +1 -1
  248. package/build-module/separator/index.js +3 -0
  249. package/build-module/separator/index.js.map +1 -1
  250. package/build-module/spacer/constants.js +2 -0
  251. package/build-module/spacer/constants.js.map +1 -0
  252. package/build-module/spacer/controls.js +2 -2
  253. package/build-module/spacer/controls.js.map +1 -1
  254. package/build-module/spacer/controls.native.js +1 -1
  255. package/build-module/spacer/controls.native.js.map +1 -1
  256. package/build-module/spacer/edit.js +1 -1
  257. package/build-module/spacer/edit.js.map +1 -1
  258. package/build-module/table/edit.js +9 -3
  259. package/build-module/table/edit.js.map +1 -1
  260. package/build-module/tag-cloud/edit.js +1 -1
  261. package/build-module/tag-cloud/edit.js.map +1 -1
  262. package/build-module/video/edit.js +4 -8
  263. package/build-module/video/edit.js.map +1 -1
  264. package/build-module/video/edit.native.js +1 -1
  265. package/build-module/video/edit.native.js.map +1 -1
  266. package/build-style/{comments-query-loop → comments}/editor-rtl.css +0 -0
  267. package/build-style/{comments-query-loop → comments}/editor.css +0 -0
  268. package/build-style/common-rtl.css +32 -0
  269. package/build-style/common.css +32 -0
  270. package/build-style/cover/style-rtl.css +0 -4
  271. package/build-style/cover/style.css +0 -4
  272. package/build-style/editor-rtl.css +12 -4
  273. package/build-style/editor.css +12 -4
  274. package/build-style/navigation/style-rtl.css +3 -0
  275. package/build-style/navigation/style.css +3 -0
  276. package/build-style/style-rtl.css +73 -4
  277. package/build-style/style.css +73 -4
  278. package/build-style/table/editor-rtl.css +8 -0
  279. package/build-style/table/editor.css +8 -0
  280. package/build-style/table/style-rtl.css +38 -0
  281. package/build-style/table/style.css +38 -0
  282. package/package.json +28 -28
  283. package/src/archives/edit.js +1 -1
  284. package/src/audio/edit.js +3 -8
  285. package/src/audio/edit.native.js +1 -1
  286. package/src/button/edit.native.js +6 -3
  287. package/src/categories/block.json +4 -0
  288. package/src/categories/edit.js +8 -2
  289. package/src/categories/index.php +1 -0
  290. package/src/column/block.json +10 -0
  291. package/src/comment-template/edit.js +1 -5
  292. package/src/comment-template/index.php +4 -0
  293. package/src/{comments-query-loop → comments}/block.json +1 -1
  294. package/src/{comments-query-loop → comments}/edit/comments-inspector-controls.js +0 -0
  295. package/src/{comments-query-loop → comments}/edit.js +1 -1
  296. package/src/{comments-query-loop → comments}/editor.scss +0 -0
  297. package/src/{comments-query-loop → comments}/index.js +0 -0
  298. package/src/{comments-query-loop → comments}/save.js +1 -3
  299. package/src/comments-pagination/index.php +4 -0
  300. package/src/comments-title/index.php +4 -0
  301. package/src/common.scss +24 -1
  302. package/src/cover/edit.js +2 -67
  303. package/src/cover/edit.native.js +40 -13
  304. package/src/cover/style.native.scss +4 -0
  305. package/src/cover/style.scss +0 -4
  306. package/src/cover/test/__snapshots__/edit.native.js.snap +6 -6
  307. package/src/cover/test/transforms.js +301 -0
  308. package/src/cover/transforms.js +112 -7
  309. package/src/cover/use-cover-is-dark.js +71 -0
  310. package/src/cover/use-cover-is-dark.native.js +51 -0
  311. package/src/editor.scss +1 -1
  312. package/src/embed/edit.js +19 -24
  313. package/src/embed/edit.native.js +9 -14
  314. package/src/embed/util.js +34 -2
  315. package/src/file/inspector.js +1 -3
  316. package/src/gallery/edit.js +1 -1
  317. package/src/gallery/v1/edit.js +1 -1
  318. package/src/group/block.json +1 -0
  319. package/src/heading/transforms.js +4 -3
  320. package/src/html/edit.js +2 -2
  321. package/src/image/edit.js +2 -4
  322. package/src/image/edit.native.js +1 -1
  323. package/src/image/image.js +1 -1
  324. package/src/index.js +2 -5
  325. package/src/index.native.js +12 -2
  326. package/src/latest-comments/edit.js +1 -1
  327. package/src/latest-posts/edit.native.js +56 -1
  328. package/src/loginout/edit.js +1 -1
  329. package/src/media-text/edit.js +1 -2
  330. package/src/media-text/edit.native.js +1 -1
  331. package/src/navigation/block.json +1 -2
  332. package/src/navigation/edit/index.js +6 -36
  333. package/src/navigation/edit/unsaved-inner-blocks.js +5 -4
  334. package/src/navigation/index.php +5 -0
  335. package/src/navigation/style.scss +3 -0
  336. package/src/navigation/view-modal.js +68 -0
  337. package/src/navigation/view.js +0 -35
  338. package/src/navigation-link/edit.js +1 -1
  339. package/src/paragraph/edit.js +6 -0
  340. package/src/paragraph/edit.native.js +13 -1
  341. package/src/paragraph/use-enter.js +103 -0
  342. package/src/post-author/edit.js +1 -1
  343. package/src/post-author/index.php +1 -1
  344. package/src/post-comment/block.json +1 -1
  345. package/src/post-comments/block.json +1 -1
  346. package/src/post-comments/edit.js +13 -43
  347. package/src/post-comments/index.php +2 -0
  348. package/src/post-comments-form/edit.js +50 -58
  349. package/src/post-comments-form/form.js +43 -0
  350. package/src/post-comments-form/index.php +5 -1
  351. package/src/post-excerpt/edit.js +1 -1
  352. package/src/post-terms/block.json +8 -0
  353. package/src/post-terms/edit.js +28 -1
  354. package/src/post-terms/index.php +12 -2
  355. package/src/quote/block.json +1 -0
  356. package/src/quote/index.js +1 -1
  357. package/src/quote/v2/edit.js +3 -0
  358. package/src/rss/edit.js +1 -1
  359. package/src/search/edit.js +13 -7
  360. package/src/search/index.php +84 -33
  361. package/src/separator/block.json +3 -0
  362. package/src/spacer/constants.js +1 -0
  363. package/src/spacer/controls.js +2 -2
  364. package/src/spacer/controls.native.js +1 -1
  365. package/src/spacer/edit.js +1 -2
  366. package/src/table/edit.js +11 -2
  367. package/src/table/editor.scss +13 -0
  368. package/src/table/style.scss +52 -0
  369. package/src/tag-cloud/edit.js +1 -1
  370. package/src/video/edit.js +4 -5
  371. package/src/video/edit.native.js +1 -1
  372. package/build/comments-query-loop/edit/comments-inspector-controls.js.map +0 -1
  373. package/build/comments-query-loop/edit.js.map +0 -1
  374. package/build/comments-query-loop/index.js.map +0 -1
  375. package/build/comments-query-loop/save.js.map +0 -1
  376. package/build/navigation-area/edit.js +0 -110
  377. package/build/navigation-area/edit.js.map +0 -1
  378. package/build/navigation-area/index.js +0 -62
  379. package/build/navigation-area/index.js.map +0 -1
  380. package/build/navigation-area/inner-blocks.js +0 -34
  381. package/build/navigation-area/inner-blocks.js.map +0 -1
  382. package/build/navigation-area/save.js +0 -18
  383. package/build/navigation-area/save.js.map +0 -1
  384. package/build-module/comments-query-loop/edit.js.map +0 -1
  385. package/build-module/comments-query-loop/index.js.map +0 -1
  386. package/build-module/comments-query-loop/save.js.map +0 -1
  387. package/build-module/navigation-area/edit.js +0 -94
  388. package/build-module/navigation-area/edit.js.map +0 -1
  389. package/build-module/navigation-area/index.js +0 -48
  390. package/build-module/navigation-area/index.js.map +0 -1
  391. package/build-module/navigation-area/inner-blocks.js +0 -26
  392. package/build-module/navigation-area/inner-blocks.js.map +0 -1
  393. package/build-module/navigation-area/save.js +0 -10
  394. package/build-module/navigation-area/save.js.map +0 -1
  395. package/src/navigation-area/block.json +0 -23
  396. package/src/navigation-area/edit.js +0 -111
  397. package/src/navigation-area/index.js +0 -26
  398. package/src/navigation-area/index.php +0 -22
  399. package/src/navigation-area/inner-blocks.js +0 -24
  400. package/src/navigation-area/save.js +0 -8
@@ -128,7 +128,16 @@ const registerBlockVariations = block => {
128
128
  const devOnly = block => !!__DEV__ ? block : null; // eslint-disable-next-line no-unused-vars
129
129
 
130
130
 
131
- const iOSOnly = block => Platform.OS === 'ios' ? block : devOnly(block); // Hide the Classic block and SocialLink block
131
+ const iOSOnly = block => Platform.OS === 'ios' ? block : devOnly(block); // To be removed once Quote V2 is released on the web editor.
132
+
133
+
134
+ function quoteCheck(quoteBlock, blocksFlags) {
135
+ if (blocksFlags !== null && blocksFlags !== void 0 && blocksFlags.__experimentalEnableQuoteBlockV2) {
136
+ quoteBlock.settings = quoteBlock === null || quoteBlock === void 0 ? void 0 : quoteBlock.settingsV2;
137
+ }
138
+
139
+ return quoteBlock;
140
+ } // Hide the Classic block and SocialLink block
132
141
 
133
142
 
134
143
  addFilter('blocks.registerBlockType', 'core/react-native-editor', (settings, name) => {
@@ -166,11 +175,13 @@ addFilter('blocks.registerBlockType', 'core/react-native-editor', (settings, nam
166
175
  *
167
176
  * registerCoreBlocks();
168
177
  * ```
178
+ * @param {Object} [blocksFlags] Experimental flags
179
+ *
169
180
  */
170
181
 
171
- export const registerCoreBlocks = () => {
182
+ export const registerCoreBlocks = blocksFlags => {
172
183
  // When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo
173
- [paragraph, heading, devOnly(code), missing, more, image, video, nextpage, separator, list, quote, mediaText, preformatted, gallery, columns, column, group, classic, button, spacer, shortcode, buttons, latestPosts, verse, cover, socialLink, socialLinks, pullquote, file, audio, reusableBlock, search, embed].forEach(registerBlock);
184
+ [paragraph, heading, devOnly(code), missing, more, image, video, nextpage, separator, list, quoteCheck(quote, blocksFlags), mediaText, preformatted, gallery, columns, column, group, classic, button, spacer, shortcode, buttons, latestPosts, verse, cover, socialLink, socialLinks, pullquote, file, audio, reusableBlock, search, embed].forEach(registerBlock);
174
185
  registerBlockVariations(socialLink);
175
186
  setDefaultBlockName(paragraph.name);
176
187
  setFreeformContentHandlerName(classic.name);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/index.native.js"],"names":["Platform","sortBy","hasBlockSupport","registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","addFilter","paragraph","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","transformationCategory","ALLOWED_BLOCKS_GRADIENT_SUPPORT","coreBlocks","reduce","accumulator","block","name","registerBlock","metadata","settings","supports","includes","color","gradients","registerBlockVariations","variations","forEach","v","icon","title","devOnly","__DEV__","iOSOnly","OS","hiddenBlocks","inserter","transforms","supportedMobileTransforms","registerCoreBlocks","NEW_BLOCK_TYPES"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './transformationCategories';\n\nconst ALLOWED_BLOCKS_GRADIENT_SUPPORT = [ 'core/button' ];\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nexport const registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tconst { supports } = metadata;\n\n\tregisterBlockType(\n\t\t{\n\t\t\tname,\n\t\t\t...metadata,\n\t\t\t// Gradients support only available for blocks listed in ALLOWED_BLOCKS_GRADIENT_SUPPORT.\n\t\t\t...( ! ALLOWED_BLOCKS_GRADIENT_SUPPORT.includes( name ) &&\n\t\t\tsupports?.color?.gradients\n\t\t\t\t? {\n\t\t\t\t\t\tsupports: {\n\t\t\t\t\t\t\t...supports,\n\t\t\t\t\t\t\tcolor: { ...supports.color, gradients: false },\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t},\n\t\tsettings\n\t);\n};\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n *\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tsortBy( settings.variations, 'title' ).forEach( ( v ) => {\n\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t...metadata,\n\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t...settings,\n\t\t\ticon: v.icon(),\n\t\t\ttitle: v.title,\n\t\t\tvariations: [],\n\t\t} );\n\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n */\nexport const registerCoreBlocks = () => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlist,\n\t\tquote,\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t].forEach( registerBlock );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {\n\t[ embed.name ]: 40,\n\t[ search.name ]: 40,\n\t[ audio.name ]: 40,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/index.native.js"],"names":["Platform","sortBy","hasBlockSupport","registerBlockType","setDefaultBlockName","setFreeformContentHandlerName","setUnregisteredTypeHandlerName","setGroupingBlockName","addFilter","paragraph","image","heading","quote","gallery","archives","audio","button","calendar","categories","code","columns","column","cover","embed","file","html","mediaText","latestComments","latestPosts","list","missing","more","nextpage","preformatted","pullquote","reusableBlock","rss","search","separator","shortcode","spacer","table","textColumns","verse","video","tagCloud","classic","group","buttons","socialLink","socialLinks","transformationCategory","ALLOWED_BLOCKS_GRADIENT_SUPPORT","coreBlocks","reduce","accumulator","block","name","registerBlock","metadata","settings","supports","includes","color","gradients","registerBlockVariations","variations","forEach","v","icon","title","devOnly","__DEV__","iOSOnly","OS","quoteCheck","quoteBlock","blocksFlags","__experimentalEnableQuoteBlockV2","settingsV2","hiddenBlocks","inserter","transforms","supportedMobileTransforms","registerCoreBlocks","NEW_BLOCK_TYPES"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\nimport { sortBy } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\thasBlockSupport,\n\tregisterBlockType,\n\tsetDefaultBlockName,\n\tsetFreeformContentHandlerName,\n\tsetUnregisteredTypeHandlerName,\n\tsetGroupingBlockName,\n} from '@wordpress/blocks';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport * as paragraph from './paragraph';\nimport * as image from './image';\nimport * as heading from './heading';\nimport * as quote from './quote';\nimport * as gallery from './gallery';\nimport * as archives from './archives';\nimport * as audio from './audio';\nimport * as button from './button';\nimport * as calendar from './calendar';\nimport * as categories from './categories';\nimport * as code from './code';\nimport * as columns from './columns';\nimport * as column from './column';\nimport * as cover from './cover';\nimport * as embed from './embed';\nimport * as file from './file';\nimport * as html from './html';\nimport * as mediaText from './media-text';\nimport * as latestComments from './latest-comments';\nimport * as latestPosts from './latest-posts';\nimport * as list from './list';\nimport * as missing from './missing';\nimport * as more from './more';\nimport * as nextpage from './nextpage';\nimport * as preformatted from './preformatted';\nimport * as pullquote from './pullquote';\nimport * as reusableBlock from './block';\nimport * as rss from './rss';\nimport * as search from './search';\nimport * as separator from './separator';\nimport * as shortcode from './shortcode';\nimport * as spacer from './spacer';\nimport * as table from './table';\nimport * as textColumns from './text-columns';\nimport * as verse from './verse';\nimport * as video from './video';\nimport * as tagCloud from './tag-cloud';\nimport * as classic from './freeform';\nimport * as group from './group';\nimport * as buttons from './buttons';\nimport * as socialLink from './social-link';\nimport * as socialLinks from './social-links';\n\nimport { transformationCategory } from './transformationCategories';\n\nconst ALLOWED_BLOCKS_GRADIENT_SUPPORT = [ 'core/button' ];\n\nexport const coreBlocks = [\n\t// Common blocks are grouped at the top to prioritize their display\n\t// in various contexts — like the inserter and auto-complete components.\n\tparagraph,\n\timage,\n\theading,\n\tgallery,\n\tlist,\n\tquote,\n\n\t// Register all remaining core blocks.\n\tshortcode,\n\tarchives,\n\taudio,\n\tbutton,\n\tcalendar,\n\tcategories,\n\tcode,\n\tcolumns,\n\tcolumn,\n\tcover,\n\tembed,\n\tfile,\n\thtml,\n\tmediaText,\n\tlatestComments,\n\tlatestPosts,\n\tmissing,\n\tmore,\n\tnextpage,\n\tpreformatted,\n\tpullquote,\n\trss,\n\tsearch,\n\tseparator,\n\treusableBlock,\n\tspacer,\n\ttable,\n\ttagCloud,\n\ttextColumns,\n\tverse,\n\tvideo,\n\tclassic,\n\tbuttons,\n\tsocialLink,\n\tsocialLinks,\n].reduce( ( accumulator, block ) => {\n\taccumulator[ block.name ] = block;\n\treturn accumulator;\n}, {} );\n\n/**\n * Function to register an individual block.\n *\n * @param {Object} block The block to be registered.\n *\n */\nexport const registerBlock = ( block ) => {\n\tif ( ! block ) {\n\t\treturn;\n\t}\n\tconst { metadata, settings, name } = block;\n\tconst { supports } = metadata;\n\n\tregisterBlockType(\n\t\t{\n\t\t\tname,\n\t\t\t...metadata,\n\t\t\t// Gradients support only available for blocks listed in ALLOWED_BLOCKS_GRADIENT_SUPPORT.\n\t\t\t...( ! ALLOWED_BLOCKS_GRADIENT_SUPPORT.includes( name ) &&\n\t\t\tsupports?.color?.gradients\n\t\t\t\t? {\n\t\t\t\t\t\tsupports: {\n\t\t\t\t\t\t\t...supports,\n\t\t\t\t\t\t\tcolor: { ...supports.color, gradients: false },\n\t\t\t\t\t\t},\n\t\t\t\t }\n\t\t\t\t: {} ),\n\t\t},\n\t\tsettings\n\t);\n};\n\n/**\n * Function to register a block variations e.g. social icons different types.\n *\n * @param {Object} block The block which variations will be registered.\n *\n */\nconst registerBlockVariations = ( block ) => {\n\tconst { metadata, settings, name } = block;\n\n\tsortBy( settings.variations, 'title' ).forEach( ( v ) => {\n\t\tregisterBlockType( `${ name }-${ v.name }`, {\n\t\t\t...metadata,\n\t\t\tname: `${ name }-${ v.name }`,\n\t\t\t...settings,\n\t\t\ticon: v.icon(),\n\t\t\ttitle: v.title,\n\t\t\tvariations: [],\n\t\t} );\n\t} );\n};\n\n// Only enable code block for development\n// eslint-disable-next-line no-undef\nconst devOnly = ( block ) => ( !! __DEV__ ? block : null );\n\n// eslint-disable-next-line no-unused-vars\nconst iOSOnly = ( block ) =>\n\tPlatform.OS === 'ios' ? block : devOnly( block );\n\n// To be removed once Quote V2 is released on the web editor.\nfunction quoteCheck( quoteBlock, blocksFlags ) {\n\tif ( blocksFlags?.__experimentalEnableQuoteBlockV2 ) {\n\t\tquoteBlock.settings = quoteBlock?.settingsV2;\n\t}\n\treturn quoteBlock;\n}\n\n// Hide the Classic block and SocialLink block\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tconst hiddenBlocks = [ 'core/freeform', 'core/social-link' ];\n\t\tif (\n\t\t\thiddenBlocks.includes( name ) &&\n\t\t\thasBlockSupport( settings, 'inserter', true )\n\t\t) {\n\t\t\tsettings.supports = {\n\t\t\t\t...settings.supports,\n\t\t\t\tinserter: false,\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/react-native-editor',\n\t( settings, name ) => {\n\t\tif ( ! settings.transforms ) {\n\t\t\treturn settings;\n\t\t}\n\n\t\tif ( ! settings.transforms.supportedMobileTransforms ) {\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\ttransforms: {\n\t\t\t\t\t...settings.transforms,\n\t\t\t\t\tsupportedMobileTransforms: transformationCategory( name ),\n\t\t\t\t},\n\t\t\t};\n\t\t}\n\n\t\treturn settings;\n\t}\n);\n\n/**\n * Function to register core blocks provided by the block editor.\n *\n * @example\n * ```js\n * import { registerCoreBlocks } from '@wordpress/block-library';\n *\n * registerCoreBlocks();\n * ```\n * @param {Object} [blocksFlags] Experimental flags\n *\n */\nexport const registerCoreBlocks = ( blocksFlags ) => {\n\t// When adding new blocks to this list please also consider updating /src/block-support/supported-blocks.json in the Gutenberg-Mobile repo\n\t[\n\t\tparagraph,\n\t\theading,\n\t\tdevOnly( code ),\n\t\tmissing,\n\t\tmore,\n\t\timage,\n\t\tvideo,\n\t\tnextpage,\n\t\tseparator,\n\t\tlist,\n\t\tquoteCheck( quote, blocksFlags ),\n\t\tmediaText,\n\t\tpreformatted,\n\t\tgallery,\n\t\tcolumns,\n\t\tcolumn,\n\t\tgroup,\n\t\tclassic,\n\t\tbutton,\n\t\tspacer,\n\t\tshortcode,\n\t\tbuttons,\n\t\tlatestPosts,\n\t\tverse,\n\t\tcover,\n\t\tsocialLink,\n\t\tsocialLinks,\n\t\tpullquote,\n\t\tfile,\n\t\taudio,\n\t\treusableBlock,\n\t\tsearch,\n\t\tembed,\n\t].forEach( registerBlock );\n\n\tregisterBlockVariations( socialLink );\n\tsetDefaultBlockName( paragraph.name );\n\tsetFreeformContentHandlerName( classic.name );\n\tsetUnregisteredTypeHandlerName( missing.name );\n\tif ( group ) {\n\t\tsetGroupingBlockName( group.name );\n\t}\n};\n\n/**\n * Dictates which block types are considered \"new.\" For each of the block types\n * below, if the native host app does not already have an impression count set,\n * an initial count will be set. When a block type's impression count is greater\n * than 0, a \"new\" badge is displayed on the block type within the block\n * inserter.\n *\n * @constant {{ string, number }}\n */\nexport const NEW_BLOCK_TYPES = {\n\t[ embed.name ]: 40,\n\t[ search.name ]: 40,\n\t[ audio.name ]: 40,\n};\n"]}
@@ -33,7 +33,7 @@ export default function LatestComments(_ref) {
33
33
  displayExcerpt
34
34
  } = attributes;
35
35
  return createElement("div", useBlockProps(), createElement(InspectorControls, null, createElement(PanelBody, {
36
- title: __('Latest comments settings')
36
+ title: __('Settings')
37
37
  }, createElement(ToggleControl, {
38
38
  label: __('Display avatar'),
39
39
  checked: displayAvatar,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"names":["InspectorControls","useBlockProps","Disabled","PanelBody","RangeControl","ToggleControl","ServerSideRender","__","MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","value","_locale"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AACA,SACCC,QADD,EAECC,SAFD,EAGCC,YAHD,EAICC,aAJD,QAKO,uBALP;AAMA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,GAArB;AAEA,eAAe,SAASC,cAAT,OAAyD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACvE,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA;AAJK,MAKFL,UALJ;AAOA,SACC,qBAAUV,aAAa,EAAvB,EACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGM,EAAE,CAAE,0BAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAGO,aAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AAAEE,MAAAA,aAAa,EAAE,CAAEA;AAAnB,KAAF;AAJf,IADD,EAQC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGP,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,OAAO,EAAGQ,WAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AAAEG,MAAAA,WAAW,EAAE,CAAEA;AAAjB,KAAF;AAJf,IARD,EAeC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAGS,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAfD,EAwBC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGT,EAAE,CAAE,oBAAF,CADX;AAEC,IAAA,KAAK,EAAGM,cAFT;AAGC,IAAA,QAAQ,EAAKI,KAAF,IACVL,aAAa,CAAE;AAAEC,MAAAA,cAAc,EAAEI;AAAlB,KAAF,CAJf;AAMC,IAAA,GAAG,EAAGT,YANP;AAOC,IAAA,GAAG,EAAGC,YAPP;AAQC,IAAA,QAAQ;AART,IAxBD,CADD,CADD,EAsCC,cAAC,QAAD,QACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAC,sBADP;AAEC,IAAA,UAAU,EAAGE,UAFd,CAGC;AACA;AACA;AALD;AAMC,IAAA,YAAY,EAAG;AAAEO,MAAAA,OAAO,EAAE;AAAX;AANhB,IADD,CAtCD,CADD;AAmDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst {\n\t\tcommentsToShow,\n\t\tdisplayAvatar,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t} = attributes;\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Latest comments settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display avatar' ) }\n\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: ! displayAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\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\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-comments/edit.js"],"names":["InspectorControls","useBlockProps","Disabled","PanelBody","RangeControl","ToggleControl","ServerSideRender","__","MIN_COMMENTS","MAX_COMMENTS","LatestComments","attributes","setAttributes","commentsToShow","displayAvatar","displayDate","displayExcerpt","value","_locale"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AACA,SACCC,QADD,EAECC,SAFD,EAGCC,YAHD,EAICC,aAJD,QAKO,uBALP;AAMA,OAAOC,gBAAP,MAA6B,+BAA7B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,CAArB;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,YAAY,GAAG,GAArB;AAEA,eAAe,SAASC,cAAT,OAAyD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACvE,QAAM;AACLC,IAAAA,cADK;AAELC,IAAAA,aAFK;AAGLC,IAAAA,WAHK;AAILC,IAAAA;AAJK,MAKFL,UALJ;AAOA,SACC,qBAAUV,aAAa,EAAvB,EACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGM,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,OAAO,EAAGO,aAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AAAEE,MAAAA,aAAa,EAAE,CAAEA;AAAnB,KAAF;AAJf,IADD,EAQC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGP,EAAE,CAAE,cAAF,CADX;AAEC,IAAA,OAAO,EAAGQ,WAFX;AAGC,IAAA,QAAQ,EAAG,MACVH,aAAa,CAAE;AAAEG,MAAAA,WAAW,EAAE,CAAEA;AAAjB,KAAF;AAJf,IARD,EAeC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGR,EAAE,CAAE,iBAAF,CADX;AAEC,IAAA,OAAO,EAAGS,cAFX;AAGC,IAAA,QAAQ,EAAG,MACVJ,aAAa,CAAE;AACdI,MAAAA,cAAc,EAAE,CAAEA;AADJ,KAAF;AAJf,IAfD,EAwBC,cAAC,YAAD;AACC,IAAA,KAAK,EAAGT,EAAE,CAAE,oBAAF,CADX;AAEC,IAAA,KAAK,EAAGM,cAFT;AAGC,IAAA,QAAQ,EAAKI,KAAF,IACVL,aAAa,CAAE;AAAEC,MAAAA,cAAc,EAAEI;AAAlB,KAAF,CAJf;AAMC,IAAA,GAAG,EAAGT,YANP;AAOC,IAAA,GAAG,EAAGC,YAPP;AAQC,IAAA,QAAQ;AART,IAxBD,CADD,CADD,EAsCC,cAAC,QAAD,QACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAC,sBADP;AAEC,IAAA,UAAU,EAAGE,UAFd,CAGC;AACA;AACA;AALD;AAMC,IAAA,YAAY,EAAG;AAAEO,MAAAA,OAAO,EAAE;AAAX;AANhB,IADD,CAtCD,CADD;AAmDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\nimport {\n\tDisabled,\n\tPanelBody,\n\tRangeControl,\n\tToggleControl,\n} from '@wordpress/components';\nimport ServerSideRender from '@wordpress/server-side-render';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Minimum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MIN_COMMENTS = 1;\n/**\n * Maximum number of comments a user can show using this block.\n *\n * @type {number}\n */\nconst MAX_COMMENTS = 100;\n\nexport default function LatestComments( { attributes, setAttributes } ) {\n\tconst {\n\t\tcommentsToShow,\n\t\tdisplayAvatar,\n\t\tdisplayDate,\n\t\tdisplayExcerpt,\n\t} = attributes;\n\n\treturn (\n\t\t<div { ...useBlockProps() }>\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={ __( 'Display avatar' ) }\n\t\t\t\t\t\tchecked={ displayAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayAvatar: ! displayAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display date' ) }\n\t\t\t\t\t\tchecked={ displayDate }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { displayDate: ! displayDate } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display excerpt' ) }\n\t\t\t\t\t\tchecked={ displayExcerpt }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayExcerpt: ! displayExcerpt,\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\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Number of comments' ) }\n\t\t\t\t\t\tvalue={ commentsToShow }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { commentsToShow: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ MIN_COMMENTS }\n\t\t\t\t\t\tmax={ MAX_COMMENTS }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<Disabled>\n\t\t\t\t<ServerSideRender\n\t\t\t\t\tblock=\"core/latest-comments\"\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t// The preview uses the site's locale to make it more true to how\n\t\t\t\t\t// the block appears on the frontend. Setting the locale\n\t\t\t\t\t// explicitly prevents any middleware from setting it to 'user'.\n\t\t\t\t\turlQueryArgs={ { _locale: 'site' } }\n\t\t\t\t/>\n\t\t\t</Disabled>\n\t\t</div>\n\t);\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import _extends from "@babel/runtime/helpers/esm/extends";
2
- import { createElement } from "@wordpress/element";
2
+ import { createElement, Fragment } from "@wordpress/element";
3
3
 
4
4
  /**
5
5
  * External dependencies
@@ -15,7 +15,7 @@ import { compose, withPreferredColorScheme } from '@wordpress/compose';
15
15
  import { withDispatch, withSelect } from '@wordpress/data';
16
16
  import { __ } from '@wordpress/i18n';
17
17
  import { postList as icon } from '@wordpress/icons';
18
- import { InspectorControls } from '@wordpress/block-editor';
18
+ import { InspectorControls, BlockAlignmentControl } from '@wordpress/block-editor';
19
19
  import apiFetch from '@wordpress/api-fetch';
20
20
  import { Icon, PanelBody, ToggleControl, RangeControl, QueryControls } from '@wordpress/components';
21
21
  import { store as blocksStore } from '@wordpress/blocks';
@@ -36,6 +36,9 @@ class LatestPostsEdit extends Component {
36
36
  this.onSetDisplayPostContentRadio = this.onSetDisplayPostContentRadio.bind(this);
37
37
  this.onSetExcerptLength = this.onSetExcerptLength.bind(this);
38
38
  this.onSetDisplayPostDate = this.onSetDisplayPostDate.bind(this);
39
+ this.onSetDisplayFeaturedImage = this.onSetDisplayFeaturedImage.bind(this);
40
+ this.onSetFeaturedImageAlign = this.onSetFeaturedImageAlign.bind(this);
41
+ this.onSetAddLinkToFeaturedImage = this.onSetAddLinkToFeaturedImage.bind(this);
39
42
  this.onSetOrder = this.onSetOrder.bind(this);
40
43
  this.onSetOrderBy = this.onSetOrderBy.bind(this);
41
44
  this.onSetPostsToShow = this.onSetPostsToShow.bind(this);
@@ -102,6 +105,33 @@ class LatestPostsEdit extends Component {
102
105
  });
103
106
  }
104
107
 
108
+ onSetDisplayFeaturedImage(value) {
109
+ const {
110
+ setAttributes
111
+ } = this.props;
112
+ setAttributes({
113
+ displayFeaturedImage: value
114
+ });
115
+ }
116
+
117
+ onSetAddLinkToFeaturedImage(value) {
118
+ const {
119
+ setAttributes
120
+ } = this.props;
121
+ setAttributes({
122
+ addLinkToFeaturedImage: value
123
+ });
124
+ }
125
+
126
+ onSetFeaturedImageAlign(value) {
127
+ const {
128
+ setAttributes
129
+ } = this.props;
130
+ setAttributes({
131
+ featuredImageAlign: value
132
+ });
133
+ }
134
+
105
135
  onSetOrder(value) {
106
136
  const {
107
137
  setAttributes
@@ -147,6 +177,9 @@ class LatestPostsEdit extends Component {
147
177
  displayPostContentRadio,
148
178
  excerptLength,
149
179
  displayPostDate,
180
+ displayFeaturedImage,
181
+ featuredImageAlign,
182
+ addLinkToFeaturedImage,
150
183
  order,
151
184
  orderBy,
152
185
  postsToShow,
@@ -179,6 +212,22 @@ class LatestPostsEdit extends Component {
179
212
  checked: displayPostDate,
180
213
  onChange: this.onSetDisplayPostDate
181
214
  })), createElement(PanelBody, {
215
+ title: __('Featured image settings')
216
+ }, createElement(ToggleControl, {
217
+ label: __('Display featured image'),
218
+ checked: displayFeaturedImage,
219
+ onChange: this.onSetDisplayFeaturedImage
220
+ }), displayFeaturedImage && createElement(Fragment, null, createElement(BlockAlignmentControl, {
221
+ value: featuredImageAlign,
222
+ onChange: this.onSetFeaturedImageAlign,
223
+ controls: ['left', 'center', 'right'],
224
+ isBottomSheetControl: true
225
+ }), createElement(ToggleControl, {
226
+ label: __('Add link to featured image'),
227
+ checked: addLinkToFeaturedImage,
228
+ onChange: this.onSetAddLinkToFeaturedImage,
229
+ separatorType: 'topFullWidth'
230
+ }))), createElement(PanelBody, {
182
231
  title: __('Sorting and filtering')
183
232
  }, createElement(QueryControls, {
184
233
  order,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.native.js"],"names":["TouchableWithoutFeedback","View","Text","isEmpty","Component","compose","withPreferredColorScheme","withDispatch","withSelect","__","postList","icon","InspectorControls","apiFetch","Icon","PanelBody","ToggleControl","RangeControl","QueryControls","store","blocksStore","styles","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","LatestPostsEdit","constructor","arguments","state","categoriesList","onSetDisplayPostContent","bind","onSetDisplayPostContentRadio","onSetExcerptLength","onSetDisplayPostDate","onSetOrder","onSetOrderBy","onSetPostsToShow","onSetCategories","getInspectorControls","componentDidMount","isStillMounted","fetchRequest","path","then","setState","catch","componentWillUnmount","value","setAttributes","props","displayPostContent","displayPostContentRadio","excerptLength","displayPostDate","order","orderBy","postsToShow","categories","toString","undefined","attributes","displayExcerptPostContent","Number","__DEV__","render","blockTitle","getStylesFromColorScheme","openGeneralSidebar","isSelected","blockStyle","latestPostBlock","latestPostBlockDark","iconStyle","latestPostBlockIcon","latestPostBlockIconDark","titleStyle","latestPostBlockMessage","latestPostBlockMessageDark","latestPostBlockSubtitle","select","name","blockType","getBlockType","title","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback, View, Text } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { postList as icon } from '@wordpress/icons';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport apiFetch from '@wordpress/api-fetch';\nimport {\n\tIcon,\n\tPanelBody,\n\tToggleControl,\n\tRangeControl,\n\tQueryControls,\n} from '@wordpress/components';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH } from './constants';\n\nclass LatestPostsEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tcategoriesList: [],\n\t\t};\n\t\tthis.onSetDisplayPostContent = this.onSetDisplayPostContent.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetDisplayPostContentRadio = this.onSetDisplayPostContentRadio.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetExcerptLength = this.onSetExcerptLength.bind( this );\n\t\tthis.onSetDisplayPostDate = this.onSetDisplayPostDate.bind( this );\n\t\tthis.onSetOrder = this.onSetOrder.bind( this );\n\t\tthis.onSetOrderBy = this.onSetOrderBy.bind( this );\n\t\tthis.onSetPostsToShow = this.onSetPostsToShow.bind( this );\n\t\tthis.onSetCategories = this.onSetCategories.bind( this );\n\t\tthis.getInspectorControls = this.getInspectorControls.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( { path: '/wp/v2/categories' } )\n\t\t\t.then( ( categoriesList ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tcategoriesList: isEmpty( categoriesList )\n\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t: categoriesList,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { categoriesList: [] } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tonSetDisplayPostContent( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostContent: value } );\n\t}\n\n\tonSetDisplayPostContentRadio( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tdisplayPostContentRadio: value ? 'excerpt' : 'full_post',\n\t\t} );\n\t}\n\n\tonSetExcerptLength( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { excerptLength: value } );\n\t}\n\n\tonSetDisplayPostDate( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostDate: value } );\n\t}\n\n\tonSetOrder( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { order: value } );\n\t}\n\n\tonSetOrderBy( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { orderBy: value } );\n\t}\n\n\tonSetPostsToShow( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { postsToShow: value } );\n\t}\n\n\tonSetCategories( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tcategories: '' !== value ? value.toString() : undefined,\n\t\t} );\n\t}\n\n\tgetInspectorControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst {\n\t\t\tdisplayPostContent,\n\t\t\tdisplayPostContentRadio,\n\t\t\texcerptLength,\n\t\t\tdisplayPostDate,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tpostsToShow,\n\t\t\tcategories,\n\t\t} = attributes;\n\n\t\tconst { categoriesList } = this.state;\n\t\tconst displayExcerptPostContent = displayPostContentRadio === 'excerpt';\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostContent }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Only show excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerptPostContent }\n\t\t\t\t\t\t\tonChange={ this.onSetDisplayPostContentRadio }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ displayPostContent && displayExcerptPostContent && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Excerpt length (words)' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ this.onSetExcerptLength }\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Post meta settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostDate }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tselectedCategoryId={\n\t\t\t\t\t\t\tundefined !== categories ? Number( categories ) : ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderChange={ this.onSetOrder }\n\t\t\t\t\t\tonOrderByChange={ this.onSetOrderBy }\n\t\t\t\t\t\tonCategoryChange={\n\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t__DEV__ ? this.onSetCategories : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ this.onSetPostsToShow }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblockTitle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\topenGeneralSidebar,\n\t\t\tisSelected,\n\t\t} = this.props;\n\n\t\tconst blockStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlock,\n\t\t\tstyles.latestPostBlockDark\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockIcon,\n\t\t\tstyles.latestPostBlockIconDark\n\t\t);\n\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockMessage,\n\t\t\tstyles.latestPostBlockMessageDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ openGeneralSidebar }\n\t\t\t>\n\t\t\t\t<View style={ blockStyle }>\n\t\t\t\t\t{ isSelected && this.getInspectorControls() }\n\t\t\t\t\t<Icon icon={ icon } { ...iconStyle } />\n\t\t\t\t\t<Text style={ titleStyle }>{ blockTitle }</Text>\n\t\t\t\t\t<Text style={ styles.latestPostBlockSubtitle }>\n\t\t\t\t\t\t{ __( 'CUSTOMIZE' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { name } ) => {\n\t\tconst blockType = select( blocksStore ).getBlockType( name );\n\t\treturn {\n\t\t\tblockTitle: blockType?.title || name,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( LatestPostsEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.native.js"],"names":["TouchableWithoutFeedback","View","Text","isEmpty","Component","compose","withPreferredColorScheme","withDispatch","withSelect","__","postList","icon","InspectorControls","BlockAlignmentControl","apiFetch","Icon","PanelBody","ToggleControl","RangeControl","QueryControls","store","blocksStore","styles","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","LatestPostsEdit","constructor","arguments","state","categoriesList","onSetDisplayPostContent","bind","onSetDisplayPostContentRadio","onSetExcerptLength","onSetDisplayPostDate","onSetDisplayFeaturedImage","onSetFeaturedImageAlign","onSetAddLinkToFeaturedImage","onSetOrder","onSetOrderBy","onSetPostsToShow","onSetCategories","getInspectorControls","componentDidMount","isStillMounted","fetchRequest","path","then","setState","catch","componentWillUnmount","value","setAttributes","props","displayPostContent","displayPostContentRadio","excerptLength","displayPostDate","displayFeaturedImage","addLinkToFeaturedImage","featuredImageAlign","order","orderBy","postsToShow","categories","toString","undefined","attributes","displayExcerptPostContent","Number","__DEV__","render","blockTitle","getStylesFromColorScheme","openGeneralSidebar","isSelected","blockStyle","latestPostBlock","latestPostBlockDark","iconStyle","latestPostBlockIcon","latestPostBlockIconDark","titleStyle","latestPostBlockMessage","latestPostBlockMessageDark","latestPostBlockSubtitle","select","name","blockType","getBlockType","title","dispatch"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { TouchableWithoutFeedback, View, Text } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { postList as icon } from '@wordpress/icons';\nimport {\n\tInspectorControls,\n\tBlockAlignmentControl,\n} from '@wordpress/block-editor';\nimport apiFetch from '@wordpress/api-fetch';\nimport {\n\tIcon,\n\tPanelBody,\n\tToggleControl,\n\tRangeControl,\n\tQueryControls,\n} from '@wordpress/components';\nimport { store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\nimport { MIN_EXCERPT_LENGTH, MAX_EXCERPT_LENGTH } from './constants';\n\nclass LatestPostsEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\t\tthis.state = {\n\t\t\tcategoriesList: [],\n\t\t};\n\t\tthis.onSetDisplayPostContent = this.onSetDisplayPostContent.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetDisplayPostContentRadio = this.onSetDisplayPostContentRadio.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetExcerptLength = this.onSetExcerptLength.bind( this );\n\t\tthis.onSetDisplayPostDate = this.onSetDisplayPostDate.bind( this );\n\t\tthis.onSetDisplayFeaturedImage = this.onSetDisplayFeaturedImage.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetFeaturedImageAlign = this.onSetFeaturedImageAlign.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetAddLinkToFeaturedImage = this.onSetAddLinkToFeaturedImage.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSetOrder = this.onSetOrder.bind( this );\n\t\tthis.onSetOrderBy = this.onSetOrderBy.bind( this );\n\t\tthis.onSetPostsToShow = this.onSetPostsToShow.bind( this );\n\t\tthis.onSetCategories = this.onSetCategories.bind( this );\n\t\tthis.getInspectorControls = this.getInspectorControls.bind( this );\n\t}\n\n\tcomponentDidMount() {\n\t\tthis.isStillMounted = true;\n\t\tthis.fetchRequest = apiFetch( { path: '/wp/v2/categories' } )\n\t\t\t.then( ( categoriesList ) => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( {\n\t\t\t\t\t\tcategoriesList: isEmpty( categoriesList )\n\t\t\t\t\t\t\t? []\n\t\t\t\t\t\t\t: categoriesList,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tif ( this.isStillMounted ) {\n\t\t\t\t\tthis.setState( { categoriesList: [] } );\n\t\t\t\t}\n\t\t\t} );\n\t}\n\n\tcomponentWillUnmount() {\n\t\tthis.isStillMounted = false;\n\t}\n\n\tonSetDisplayPostContent( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostContent: value } );\n\t}\n\n\tonSetDisplayPostContentRadio( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tdisplayPostContentRadio: value ? 'excerpt' : 'full_post',\n\t\t} );\n\t}\n\n\tonSetExcerptLength( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { excerptLength: value } );\n\t}\n\n\tonSetDisplayPostDate( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayPostDate: value } );\n\t}\n\n\tonSetDisplayFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { displayFeaturedImage: value } );\n\t}\n\n\tonSetAddLinkToFeaturedImage( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { addLinkToFeaturedImage: value } );\n\t}\n\n\tonSetFeaturedImageAlign( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { featuredImageAlign: value } );\n\t}\n\n\tonSetOrder( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { order: value } );\n\t}\n\n\tonSetOrderBy( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { orderBy: value } );\n\t}\n\n\tonSetPostsToShow( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { postsToShow: value } );\n\t}\n\n\tonSetCategories( value ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( {\n\t\t\tcategories: '' !== value ? value.toString() : undefined,\n\t\t} );\n\t}\n\n\tgetInspectorControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst {\n\t\t\tdisplayPostContent,\n\t\t\tdisplayPostContentRadio,\n\t\t\texcerptLength,\n\t\t\tdisplayPostDate,\n\t\t\tdisplayFeaturedImage,\n\t\t\tfeaturedImageAlign,\n\t\t\taddLinkToFeaturedImage,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tpostsToShow,\n\t\t\tcategories,\n\t\t} = attributes;\n\n\t\tconst { categoriesList } = this.state;\n\t\tconst displayExcerptPostContent = displayPostContentRadio === 'excerpt';\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostContent }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Only show excerpt' ) }\n\t\t\t\t\t\t\tchecked={ displayExcerptPostContent }\n\t\t\t\t\t\t\tonChange={ this.onSetDisplayPostContentRadio }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ displayPostContent && displayExcerptPostContent && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Excerpt length (words)' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ this.onSetExcerptLength }\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Post meta settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ this.onSetDisplayPostDate }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Featured image settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\t\tonChange={ this.onSetDisplayFeaturedImage }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ this.onSetFeaturedImageAlign }\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisBottomSheetControl={ true }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tonChange={ this.onSetAddLinkToFeaturedImage }\n\t\t\t\t\t\t\t\tseparatorType={ 'topFullWidth' }\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</PanelBody>\n\n\t\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t\t<QueryControls\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\t\tcategoriesList={ categoriesList }\n\t\t\t\t\t\tselectedCategoryId={\n\t\t\t\t\t\t\tundefined !== categories ? Number( categories ) : ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonOrderChange={ this.onSetOrder }\n\t\t\t\t\t\tonOrderByChange={ this.onSetOrderBy }\n\t\t\t\t\t\tonCategoryChange={\n\t\t\t\t\t\t\t// eslint-disable-next-line no-undef\n\t\t\t\t\t\t\t__DEV__ ? this.onSetCategories : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonNumberOfItemsChange={ this.onSetPostsToShow }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tblockTitle,\n\t\t\tgetStylesFromColorScheme,\n\t\t\topenGeneralSidebar,\n\t\t\tisSelected,\n\t\t} = this.props;\n\n\t\tconst blockStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlock,\n\t\t\tstyles.latestPostBlockDark\n\t\t);\n\n\t\tconst iconStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockIcon,\n\t\t\tstyles.latestPostBlockIconDark\n\t\t);\n\n\t\tconst titleStyle = getStylesFromColorScheme(\n\t\t\tstyles.latestPostBlockMessage,\n\t\t\tstyles.latestPostBlockMessageDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\taccessible={ ! isSelected }\n\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\tonPress={ openGeneralSidebar }\n\t\t\t>\n\t\t\t\t<View style={ blockStyle }>\n\t\t\t\t\t{ isSelected && this.getInspectorControls() }\n\t\t\t\t\t<Icon icon={ icon } { ...iconStyle } />\n\t\t\t\t\t<Text style={ titleStyle }>{ blockTitle }</Text>\n\t\t\t\t\t<Text style={ styles.latestPostBlockSubtitle }>\n\t\t\t\t\t\t{ __( 'CUSTOMIZE' ) }\n\t\t\t\t\t</Text>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, { name } ) => {\n\t\tconst blockType = select( blocksStore ).getBlockType( name );\n\t\treturn {\n\t\t\tblockTitle: blockType?.title || name,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { openGeneralSidebar } = dispatch( 'core/edit-post' );\n\n\t\treturn {\n\t\t\topenGeneralSidebar: () => openGeneralSidebar( 'edit-post/block' ),\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( LatestPostsEdit );\n"]}
@@ -16,7 +16,7 @@ export default function LoginOutEdit(_ref) {
16
16
  redirectToCurrent
17
17
  } = attributes;
18
18
  return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
19
- title: __('Login/out settings')
19
+ title: __('Settings')
20
20
  }, createElement(ToggleControl, {
21
21
  label: __('Display login as form'),
22
22
  checked: displayLoginAsForm,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/loginout/edit.js"],"names":["PanelBody","ToggleControl","__","InspectorControls","useBlockProps","LoginOutEdit","attributes","setAttributes","displayLoginAsForm","redirectToCurrent","className"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,aAApB,QAAyC,uBAAzC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AAEA,eAAe,SAASC,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAA4CH,UAAlD;AAEA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGJ,EAAE,CAAE,oBAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,uBAAF,CADX;AAEC,IAAA,OAAO,EAAGM,kBAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,kBAAkB,EAAE,CAAEA;AADR,KAAF;AAJf,IADD,EAUC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGN,EAAE,CAAE,yBAAF,CADX;AAEC,IAAA,OAAO,EAAGO,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IAVD,CADD,CADD,EAuBC,qBACML,aAAa,CAAE;AACnBM,IAAAA,SAAS,EAAE;AADQ,GAAF,CADnB,EAKC;AAAG,IAAA,IAAI,EAAC;AAAR,KAA+BR,EAAE,CAAE,SAAF,CAAjC,CALD,CAvBD,CADD;AAiCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\n\nexport default function LoginOutEdit( { attributes, setAttributes } ) {\n\tconst { displayLoginAsForm, redirectToCurrent } = attributes;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Login/out settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Display login as form' ) }\n\t\t\t\t\t\tchecked={ displayLoginAsForm }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayLoginAsForm: ! displayLoginAsForm,\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\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Redirect to current URL' ) }\n\t\t\t\t\t\tchecked={ redirectToCurrent }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tredirectToCurrent: ! redirectToCurrent,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tclassName: 'logged-in',\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<a href=\"#login-pseudo-link\">{ __( 'Log out' ) }</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/loginout/edit.js"],"names":["PanelBody","ToggleControl","__","InspectorControls","useBlockProps","LoginOutEdit","attributes","setAttributes","displayLoginAsForm","redirectToCurrent","className"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,aAApB,QAAyC,uBAAzC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,iBAAT,EAA4BC,aAA5B,QAAiD,yBAAjD;AAEA,eAAe,SAASC,YAAT,OAAuD;AAAA,MAAhC;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,GAAgC;AACrE,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MAA4CH,UAAlD;AAEA,SACC,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGJ,EAAE,CAAE,UAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,uBAAF,CADX;AAEC,IAAA,OAAO,EAAGM,kBAFX;AAGC,IAAA,QAAQ,EAAG,MACVD,aAAa,CAAE;AACdC,MAAAA,kBAAkB,EAAE,CAAEA;AADR,KAAF;AAJf,IADD,EAUC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGN,EAAE,CAAE,yBAAF,CADX;AAEC,IAAA,OAAO,EAAGO,iBAFX;AAGC,IAAA,QAAQ,EAAG,MACVF,aAAa,CAAE;AACdE,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AAJf,IAVD,CADD,CADD,EAuBC,qBACML,aAAa,CAAE;AACnBM,IAAAA,SAAS,EAAE;AADQ,GAAF,CADnB,EAKC;AAAG,IAAA,IAAI,EAAC;AAAR,KAA+BR,EAAE,CAAE,SAAF,CAAjC,CALD,CAvBD,CADD;AAiCA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls, useBlockProps } from '@wordpress/block-editor';\n\nexport default function LoginOutEdit( { attributes, setAttributes } ) {\n\tconst { displayLoginAsForm, redirectToCurrent } = attributes;\n\n\treturn (\n\t\t<>\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={ __( 'Display login as form' ) }\n\t\t\t\t\t\tchecked={ displayLoginAsForm }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayLoginAsForm: ! displayLoginAsForm,\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\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Redirect to current URL' ) }\n\t\t\t\t\t\tchecked={ redirectToCurrent }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tredirectToCurrent: ! redirectToCurrent,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tclassName: 'logged-in',\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<a href=\"#login-pseudo-link\">{ __( 'Log out' ) }</a>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -28,7 +28,6 @@ import { DEFAULT_MEDIA_SIZE_SLUG } from './constants';
28
28
  */
29
29
 
30
30
  const TEMPLATE = [['core/paragraph', {
31
- fontSize: 'large',
32
31
  placeholder: _x('Content…', 'content placeholder')
33
32
  }]]; // this limits the resize to a safe zone to avoid making broken layouts
34
33
 
@@ -242,7 +241,7 @@ function MediaTextEdit(_ref2) {
242
241
  };
243
242
 
244
243
  const mediaTextGeneralSettings = createElement(PanelBody, {
245
- title: __('Media & Text settings')
244
+ title: __('Settings')
246
245
  }, createElement(ToggleControl, {
247
246
  label: __('Stack on mobile'),
248
247
  checked: isStackedOnMobile,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
@@ -176,7 +176,7 @@ class MediaTextEdit extends Component {
176
176
  imageFill
177
177
  } = attributes;
178
178
  return createElement(InspectorControls, null, createElement(PanelBody, {
179
- title: __('Media & Text settings')
179
+ title: __('Settings')
180
180
  }, createElement(ToggleControl, {
181
181
  label: __('Crop image to fill entire column'),
182
182
  checked: imageFill,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","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","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","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","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={ __( 'Media & Text 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":["get","View","__","BlockControls","BlockVerticalAlignmentToolbar","InnerBlocks","InspectorControls","withColors","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","store","blockEditorStore","Component","Button","ToolbarGroup","PanelBody","ToggleControl","withSelect","compose","pullLeft","pullRight","replace","MediaContainer","styles","TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","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","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","title","isActive","onClick","onVerticalAlignmentChange","alignment","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","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"]}