@wordpress/block-library 7.6.0 → 7.9.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 (774) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.js +1 -0
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +6 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/save.js +2 -1
  7. package/build/audio/save.js.map +1 -1
  8. package/build/avatar/hooks.js +2 -2
  9. package/build/avatar/hooks.js.map +1 -1
  10. package/build/block/edit.js.map +1 -1
  11. package/build/block/edit.native.js.map +1 -1
  12. package/build/button/deprecated.js +175 -35
  13. package/build/button/deprecated.js.map +1 -1
  14. package/build/button/edit.js +1 -1
  15. package/build/button/edit.js.map +1 -1
  16. package/build/button/edit.native.js.map +1 -1
  17. package/build/button/save.js +1 -1
  18. package/build/button/save.js.map +1 -1
  19. package/build/buttons/deprecated.js.map +1 -1
  20. package/build/buttons/edit.js.map +1 -1
  21. package/build/buttons/edit.native.js.map +1 -1
  22. package/build/column/deprecated.js.map +1 -1
  23. package/build/column/edit.js.map +1 -1
  24. package/build/column/edit.native.js.map +1 -1
  25. package/build/columns/deprecated.js.map +1 -1
  26. package/build/columns/edit.js +1 -1
  27. package/build/columns/edit.js.map +1 -1
  28. package/build/columns/edit.native.js +1 -1
  29. package/build/columns/edit.native.js.map +1 -1
  30. package/build/columns/index.js +3 -1
  31. package/build/columns/index.js.map +1 -1
  32. package/build/columns/utils.js +1 -1
  33. package/build/columns/utils.js.map +1 -1
  34. package/build/columns/variations.js +2 -2
  35. package/build/columns/variations.js.map +1 -1
  36. package/build/comment-author-name/edit.js +3 -3
  37. package/build/comment-author-name/edit.js.map +1 -1
  38. package/build/comment-author-name/index.js +0 -4
  39. package/build/comment-author-name/index.js.map +1 -1
  40. package/build/comment-date/edit.js +4 -4
  41. package/build/comment-date/edit.js.map +1 -1
  42. package/build/comment-date/index.js +0 -4
  43. package/build/comment-date/index.js.map +1 -1
  44. package/build/comment-edit-link/index.js +0 -4
  45. package/build/comment-edit-link/index.js.map +1 -1
  46. package/build/comment-reply-link/index.js +0 -4
  47. package/build/comment-reply-link/index.js.map +1 -1
  48. package/build/comments/edit.js +10 -2
  49. package/build/comments/edit.js.map +1 -1
  50. package/build/comments-title/deprecated.js +0 -3
  51. package/build/comments-title/deprecated.js.map +1 -1
  52. package/build/comments-title/edit.js +1 -1
  53. package/build/comments-title/edit.js.map +1 -1
  54. package/build/cover/controls.native.js.map +1 -1
  55. package/build/cover/deprecated.js +212 -207
  56. package/build/cover/deprecated.js.map +1 -1
  57. package/build/cover/edit/block-controls.js +3 -10
  58. package/build/cover/edit/block-controls.js.map +1 -1
  59. package/build/cover/edit/index.js +34 -31
  60. package/build/cover/edit/index.js.map +1 -1
  61. package/build/cover/edit/inspector-controls.js +34 -6
  62. package/build/cover/edit/inspector-controls.js.map +1 -1
  63. package/build/cover/edit.native.js.map +1 -1
  64. package/build/cover/index.js +1 -0
  65. package/build/cover/index.js.map +1 -1
  66. package/build/cover/save.js +18 -5
  67. package/build/cover/save.js.map +1 -1
  68. package/build/cover/shared.js +14 -17
  69. package/build/cover/shared.js.map +1 -1
  70. package/build/cover/transforms.js.map +1 -1
  71. package/build/embed/deprecated.js +6 -1
  72. package/build/embed/deprecated.js.map +1 -1
  73. package/build/embed/edit.js.map +1 -1
  74. package/build/embed/edit.native.js.map +1 -1
  75. package/build/embed/embed-controls.native.js.map +1 -1
  76. package/build/embed/embed-preview.js +1 -0
  77. package/build/embed/embed-preview.js.map +1 -1
  78. package/build/embed/icons.js +21 -1
  79. package/build/embed/icons.js.map +1 -1
  80. package/build/embed/index.js +6 -1
  81. package/build/embed/index.js.map +1 -1
  82. package/build/embed/save.js +1 -0
  83. package/build/embed/save.js.map +1 -1
  84. package/build/embed/transforms.js +6 -1
  85. package/build/embed/transforms.js.map +1 -1
  86. package/build/embed/util.js +6 -1
  87. package/build/embed/util.js.map +1 -1
  88. package/build/embed/variations.js +11 -0
  89. package/build/embed/variations.js.map +1 -1
  90. package/build/file/edit.js +1 -1
  91. package/build/file/edit.js.map +1 -1
  92. package/build/file/edit.native.js.map +1 -1
  93. package/build/file/index.js.map +1 -1
  94. package/build/file/save.js +9 -1
  95. package/build/file/save.js.map +1 -1
  96. package/build/gallery/edit.js +1 -1
  97. package/build/gallery/edit.js.map +1 -1
  98. package/build/gallery/gallery.js +1 -1
  99. package/build/gallery/gallery.js.map +1 -1
  100. package/build/gallery/gallery.native.js.map +1 -1
  101. package/build/gallery/gap-styles.js +14 -4
  102. package/build/gallery/gap-styles.js.map +1 -1
  103. package/build/gallery/index.js +1 -1
  104. package/build/gallery/index.js.map +1 -1
  105. package/build/gallery/save.js +1 -1
  106. package/build/gallery/save.js.map +1 -1
  107. package/build/gallery/shared.js +27 -10
  108. package/build/gallery/shared.js.map +1 -1
  109. package/build/gallery/transforms.js +2 -2
  110. package/build/gallery/transforms.js.map +1 -1
  111. package/build/gallery/v1/edit.js +3 -3
  112. package/build/gallery/v1/edit.js.map +1 -1
  113. package/build/gallery/v1/gallery-image.js +1 -0
  114. package/build/gallery/v1/gallery-image.js.map +1 -1
  115. package/build/gallery/v1/gallery-image.native.js.map +1 -1
  116. package/build/gallery/v1/gallery.js +1 -1
  117. package/build/gallery/v1/gallery.js.map +1 -1
  118. package/build/gallery/v1/save.js +10 -2
  119. package/build/gallery/v1/save.js.map +1 -1
  120. package/build/group/index.js +1 -0
  121. package/build/group/index.js.map +1 -1
  122. package/build/heading/autogenerate-anchors.js +7 -2
  123. package/build/heading/autogenerate-anchors.js.map +1 -1
  124. package/build/heading/deprecated.js.map +1 -1
  125. package/build/heading/edit.js.map +1 -1
  126. package/build/html/edit.js +11 -20
  127. package/build/html/edit.js.map +1 -1
  128. package/build/html/preview.js +48 -0
  129. package/build/html/preview.js.map +1 -0
  130. package/build/image/deprecated.js.map +1 -1
  131. package/build/image/edit.js +5 -59
  132. package/build/image/edit.js.map +1 -1
  133. package/build/image/edit.native.js +58 -4
  134. package/build/image/edit.native.js.map +1 -1
  135. package/build/image/image.js +4 -13
  136. package/build/image/image.js.map +1 -1
  137. package/build/image/index.js +5 -0
  138. package/build/image/index.js.map +1 -1
  139. package/build/image/save.js +1 -0
  140. package/build/image/save.js.map +1 -1
  141. package/build/image/transforms.js.map +1 -1
  142. package/build/image/utils.js +2 -1
  143. package/build/image/utils.js.map +1 -1
  144. package/build/index.js +1 -1
  145. package/build/index.js.map +1 -1
  146. package/build/latest-comments/edit.js.map +1 -1
  147. package/build/latest-posts/edit.js +1 -1
  148. package/build/latest-posts/edit.js.map +1 -1
  149. package/build/latest-posts/edit.native.js.map +1 -1
  150. package/build/list/index.js.map +1 -1
  151. package/build/list/v2/edit.js.map +1 -1
  152. package/build/list/v2/transforms.js +33 -17
  153. package/build/list/v2/transforms.js.map +1 -1
  154. package/build/list-item/hooks/use-backspace.js.map +1 -1
  155. package/build/list-item/hooks/use-enter.js +7 -4
  156. package/build/list-item/hooks/use-enter.js.map +1 -1
  157. package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
  158. package/build/list-item/hooks/use-outdent-list-item.js +36 -15
  159. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  160. package/build/list-item/hooks/use-space.js.map +1 -1
  161. package/build/list-item/hooks/use-split.js +17 -3
  162. package/build/list-item/hooks/use-split.js.map +1 -1
  163. package/build/media-text/deprecated.js +5 -3
  164. package/build/media-text/deprecated.js.map +1 -1
  165. package/build/media-text/edit.native.js.map +1 -1
  166. package/build/media-text/media-container.js +3 -3
  167. package/build/media-text/media-container.js.map +1 -1
  168. package/build/media-text/media-container.native.js.map +1 -1
  169. package/build/media-text/save.js +3 -1
  170. package/build/media-text/save.js.map +1 -1
  171. package/build/missing/edit.native.js.map +1 -1
  172. package/build/navigation/deprecated.js.map +1 -1
  173. package/build/navigation/edit/index.js +1 -1
  174. package/build/navigation/edit/index.js.map +1 -1
  175. package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  176. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  177. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  178. package/build/navigation/index.js +9 -0
  179. package/build/navigation/index.js.map +1 -1
  180. package/build/navigation/use-navigation-entities.js.map +1 -1
  181. package/build/navigation/use-navigation-menu.js +72 -38
  182. package/build/navigation/use-navigation-menu.js.map +1 -1
  183. package/build/navigation/use-template-part-area-label.js +4 -1
  184. package/build/navigation/use-template-part-area-label.js.map +1 -1
  185. package/build/navigation/view.js +5 -3
  186. package/build/navigation/view.js.map +1 -1
  187. package/build/navigation-link/edit.js +44 -12
  188. package/build/navigation-link/edit.js.map +1 -1
  189. package/build/navigation-submenu/edit.js.map +1 -1
  190. package/build/navigation-submenu/view.js +5 -3
  191. package/build/navigation-submenu/view.js.map +1 -1
  192. package/build/page-list/convert-to-links-modal.js.map +1 -1
  193. package/build/page-list/edit.js.map +1 -1
  194. package/build/paragraph/deprecated.js +1 -1
  195. package/build/paragraph/deprecated.js.map +1 -1
  196. package/build/pattern/edit.js.map +1 -1
  197. package/build/post-author/edit.js.map +1 -1
  198. package/build/post-author-name/index.js +3 -0
  199. package/build/post-author-name/index.js.map +1 -1
  200. package/build/post-author-name/transforms.js +41 -0
  201. package/build/post-author-name/transforms.js.map +1 -0
  202. package/build/post-comments-form/edit.js +12 -2
  203. package/build/post-comments-form/edit.js.map +1 -1
  204. package/build/post-comments-form/form.js +11 -1
  205. package/build/post-comments-form/form.js.map +1 -1
  206. package/build/post-content/edit.js.map +1 -1
  207. package/build/post-date/edit.js +13 -7
  208. package/build/post-date/edit.js.map +1 -1
  209. package/build/post-featured-image/edit.js +10 -24
  210. package/build/post-featured-image/edit.js.map +1 -1
  211. package/build/post-navigation-link/index.js +4 -0
  212. package/build/post-navigation-link/index.js.map +1 -1
  213. package/build/pullquote/deprecated.js.map +1 -1
  214. package/build/query/edit/index.js +5 -1
  215. package/build/query/edit/index.js.map +1 -1
  216. package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
  217. package/build/query/edit/query-toolbar.js +16 -2
  218. package/build/query/edit/query-toolbar.js.map +1 -1
  219. package/build/quote/v2/edit.js.map +1 -1
  220. package/build/search/edit.js +1 -1
  221. package/build/search/edit.js.map +1 -1
  222. package/build/search/edit.native.js.map +1 -1
  223. package/build/search/index.js +4 -0
  224. package/build/search/index.js.map +1 -1
  225. package/build/separator/use-deprecated-opacity.js.map +1 -1
  226. package/build/shortcode/edit.native.js +16 -13
  227. package/build/shortcode/edit.native.js.map +1 -1
  228. package/build/site-logo/edit.js +3 -12
  229. package/build/site-logo/edit.js.map +1 -1
  230. package/build/social-links/deprecated.js.map +1 -1
  231. package/build/social-links/edit.js +2 -2
  232. package/build/social-links/edit.js.map +1 -1
  233. package/build/social-links/edit.native.js.map +1 -1
  234. package/build/spacer/controls.js.map +1 -1
  235. package/build/table/deprecated.js.map +1 -1
  236. package/build/table/edit.js +1 -0
  237. package/build/table/edit.js.map +1 -1
  238. package/build/table/index.js +6 -1
  239. package/build/table/index.js.map +1 -1
  240. package/build/table/save.js +2 -1
  241. package/build/table/save.js.map +1 -1
  242. package/build/table/state.js.map +1 -1
  243. package/build/table-of-contents/edit.js +11 -3
  244. package/build/table-of-contents/edit.js.map +1 -1
  245. package/build/tag-cloud/edit.js.map +1 -1
  246. package/build/template-part/edit/advanced-controls.js +4 -1
  247. package/build/template-part/edit/advanced-controls.js.map +1 -1
  248. package/build/template-part/edit/index.js.map +1 -1
  249. package/build/template-part/edit/utils/hooks.js +4 -1
  250. package/build/template-part/edit/utils/hooks.js.map +1 -1
  251. package/build/transformationCategories.native.js.map +1 -1
  252. package/build/video/edit-common-settings.js.map +1 -1
  253. package/build/video/edit.js +1 -0
  254. package/build/video/edit.js.map +1 -1
  255. package/build/video/edit.native.js +43 -0
  256. package/build/video/edit.native.js.map +1 -1
  257. package/build/video/index.js +6 -1
  258. package/build/video/index.js.map +1 -1
  259. package/build/video/save.js +1 -0
  260. package/build/video/save.js.map +1 -1
  261. package/build-module/audio/edit.js +2 -1
  262. package/build-module/audio/edit.js.map +1 -1
  263. package/build-module/audio/index.js +6 -1
  264. package/build-module/audio/index.js.map +1 -1
  265. package/build-module/audio/save.js +3 -2
  266. package/build-module/audio/save.js.map +1 -1
  267. package/build-module/avatar/hooks.js +2 -2
  268. package/build-module/avatar/hooks.js.map +1 -1
  269. package/build-module/block/edit.js.map +1 -1
  270. package/build-module/block/edit.native.js.map +1 -1
  271. package/build-module/button/deprecated.js +175 -35
  272. package/build-module/button/deprecated.js.map +1 -1
  273. package/build-module/button/edit.js +2 -2
  274. package/build-module/button/edit.js.map +1 -1
  275. package/build-module/button/edit.native.js.map +1 -1
  276. package/build-module/button/save.js +2 -2
  277. package/build-module/button/save.js.map +1 -1
  278. package/build-module/buttons/deprecated.js.map +1 -1
  279. package/build-module/buttons/edit.js.map +1 -1
  280. package/build-module/buttons/edit.native.js.map +1 -1
  281. package/build-module/column/deprecated.js.map +1 -1
  282. package/build-module/column/edit.js.map +1 -1
  283. package/build-module/column/edit.native.js.map +1 -1
  284. package/build-module/columns/deprecated.js.map +1 -1
  285. package/build-module/columns/edit.js +2 -2
  286. package/build-module/columns/edit.js.map +1 -1
  287. package/build-module/columns/edit.native.js +2 -2
  288. package/build-module/columns/edit.native.js.map +1 -1
  289. package/build-module/columns/index.js +3 -1
  290. package/build-module/columns/index.js.map +1 -1
  291. package/build-module/columns/utils.js +2 -2
  292. package/build-module/columns/utils.js.map +1 -1
  293. package/build-module/columns/variations.js +2 -2
  294. package/build-module/columns/variations.js.map +1 -1
  295. package/build-module/comment-author-name/edit.js +3 -3
  296. package/build-module/comment-author-name/edit.js.map +1 -1
  297. package/build-module/comment-author-name/index.js +0 -4
  298. package/build-module/comment-author-name/index.js.map +1 -1
  299. package/build-module/comment-date/edit.js +4 -4
  300. package/build-module/comment-date/edit.js.map +1 -1
  301. package/build-module/comment-date/index.js +0 -4
  302. package/build-module/comment-date/index.js.map +1 -1
  303. package/build-module/comment-edit-link/index.js +0 -4
  304. package/build-module/comment-edit-link/index.js.map +1 -1
  305. package/build-module/comment-reply-link/index.js +0 -4
  306. package/build-module/comment-reply-link/index.js.map +1 -1
  307. package/build-module/comments/edit.js +10 -2
  308. package/build-module/comments/edit.js.map +1 -1
  309. package/build-module/comments-title/deprecated.js +0 -3
  310. package/build-module/comments-title/deprecated.js.map +1 -1
  311. package/build-module/comments-title/edit.js +1 -1
  312. package/build-module/comments-title/edit.js.map +1 -1
  313. package/build-module/cover/controls.native.js.map +1 -1
  314. package/build-module/cover/deprecated.js +206 -198
  315. package/build-module/cover/deprecated.js.map +1 -1
  316. package/build-module/cover/edit/block-controls.js +3 -8
  317. package/build-module/cover/edit/block-controls.js.map +1 -1
  318. package/build-module/cover/edit/index.js +36 -33
  319. package/build-module/cover/edit/index.js.map +1 -1
  320. package/build-module/cover/edit/inspector-controls.js +32 -7
  321. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  322. package/build-module/cover/edit.native.js.map +1 -1
  323. package/build-module/cover/index.js +1 -0
  324. package/build-module/cover/index.js.map +1 -1
  325. package/build-module/cover/save.js +19 -6
  326. package/build-module/cover/save.js.map +1 -1
  327. package/build-module/cover/shared.js +11 -12
  328. package/build-module/cover/shared.js.map +1 -1
  329. package/build-module/cover/transforms.js.map +1 -1
  330. package/build-module/embed/deprecated.js +6 -1
  331. package/build-module/embed/deprecated.js.map +1 -1
  332. package/build-module/embed/edit.js.map +1 -1
  333. package/build-module/embed/edit.native.js.map +1 -1
  334. package/build-module/embed/embed-controls.native.js.map +1 -1
  335. package/build-module/embed/embed-preview.js +2 -1
  336. package/build-module/embed/embed-preview.js.map +1 -1
  337. package/build-module/embed/icons.js +19 -0
  338. package/build-module/embed/icons.js.map +1 -1
  339. package/build-module/embed/index.js +6 -1
  340. package/build-module/embed/index.js.map +1 -1
  341. package/build-module/embed/save.js +2 -1
  342. package/build-module/embed/save.js.map +1 -1
  343. package/build-module/embed/transforms.js +6 -1
  344. package/build-module/embed/transforms.js.map +1 -1
  345. package/build-module/embed/util.js +6 -1
  346. package/build-module/embed/util.js.map +1 -1
  347. package/build-module/embed/variations.js +12 -1
  348. package/build-module/embed/variations.js.map +1 -1
  349. package/build-module/file/edit.js +2 -2
  350. package/build-module/file/edit.js.map +1 -1
  351. package/build-module/file/edit.native.js.map +1 -1
  352. package/build-module/file/index.js.map +1 -1
  353. package/build-module/file/save.js +7 -2
  354. package/build-module/file/save.js.map +1 -1
  355. package/build-module/gallery/edit.js +2 -2
  356. package/build-module/gallery/edit.js.map +1 -1
  357. package/build-module/gallery/gallery.js +2 -2
  358. package/build-module/gallery/gallery.js.map +1 -1
  359. package/build-module/gallery/gallery.native.js.map +1 -1
  360. package/build-module/gallery/gap-styles.js +14 -4
  361. package/build-module/gallery/gap-styles.js.map +1 -1
  362. package/build-module/gallery/index.js +1 -1
  363. package/build-module/gallery/index.js.map +1 -1
  364. package/build-module/gallery/save.js +2 -2
  365. package/build-module/gallery/save.js.map +1 -1
  366. package/build-module/gallery/shared.js +25 -8
  367. package/build-module/gallery/shared.js.map +1 -1
  368. package/build-module/gallery/transforms.js +3 -3
  369. package/build-module/gallery/transforms.js.map +1 -1
  370. package/build-module/gallery/v1/edit.js +4 -4
  371. package/build-module/gallery/v1/edit.js.map +1 -1
  372. package/build-module/gallery/v1/gallery-image.js +2 -1
  373. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  374. package/build-module/gallery/v1/gallery-image.native.js.map +1 -1
  375. package/build-module/gallery/v1/gallery.js +2 -2
  376. package/build-module/gallery/v1/gallery.js.map +1 -1
  377. package/build-module/gallery/v1/save.js +8 -3
  378. package/build-module/gallery/v1/save.js.map +1 -1
  379. package/build-module/group/index.js +1 -0
  380. package/build-module/group/index.js.map +1 -1
  381. package/build-module/heading/autogenerate-anchors.js +5 -2
  382. package/build-module/heading/autogenerate-anchors.js.map +1 -1
  383. package/build-module/heading/deprecated.js.map +1 -1
  384. package/build-module/heading/edit.js.map +1 -1
  385. package/build-module/html/edit.js +12 -23
  386. package/build-module/html/edit.js.map +1 -1
  387. package/build-module/html/preview.js +38 -0
  388. package/build-module/html/preview.js.map +1 -0
  389. package/build-module/image/deprecated.js.map +1 -1
  390. package/build-module/image/edit.js +5 -56
  391. package/build-module/image/edit.js.map +1 -1
  392. package/build-module/image/edit.native.js +59 -6
  393. package/build-module/image/edit.native.js.map +1 -1
  394. package/build-module/image/image.js +6 -15
  395. package/build-module/image/image.js.map +1 -1
  396. package/build-module/image/index.js +5 -0
  397. package/build-module/image/index.js.map +1 -1
  398. package/build-module/image/save.js +2 -1
  399. package/build-module/image/save.js.map +1 -1
  400. package/build-module/image/transforms.js.map +1 -1
  401. package/build-module/image/utils.js +2 -2
  402. package/build-module/image/utils.js.map +1 -1
  403. package/build-module/index.js +1 -1
  404. package/build-module/index.js.map +1 -1
  405. package/build-module/latest-comments/edit.js.map +1 -1
  406. package/build-module/latest-posts/edit.js +2 -2
  407. package/build-module/latest-posts/edit.js.map +1 -1
  408. package/build-module/latest-posts/edit.native.js.map +1 -1
  409. package/build-module/list/index.js.map +1 -1
  410. package/build-module/list/v2/edit.js.map +1 -1
  411. package/build-module/list/v2/transforms.js +32 -17
  412. package/build-module/list/v2/transforms.js.map +1 -1
  413. package/build-module/list-item/hooks/use-backspace.js.map +1 -1
  414. package/build-module/list-item/hooks/use-enter.js +7 -4
  415. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  416. package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
  417. package/build-module/list-item/hooks/use-outdent-list-item.js +34 -15
  418. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  419. package/build-module/list-item/hooks/use-space.js.map +1 -1
  420. package/build-module/list-item/hooks/use-split.js +19 -5
  421. package/build-module/list-item/hooks/use-split.js.map +1 -1
  422. package/build-module/media-text/deprecated.js +3 -1
  423. package/build-module/media-text/deprecated.js.map +1 -1
  424. package/build-module/media-text/edit.native.js.map +1 -1
  425. package/build-module/media-text/media-container.js +3 -1
  426. package/build-module/media-text/media-container.js.map +1 -1
  427. package/build-module/media-text/media-container.native.js.map +1 -1
  428. package/build-module/media-text/save.js +4 -1
  429. package/build-module/media-text/save.js.map +1 -1
  430. package/build-module/missing/edit.native.js.map +1 -1
  431. package/build-module/navigation/deprecated.js.map +1 -1
  432. package/build-module/navigation/edit/index.js +1 -1
  433. package/build-module/navigation/edit/index.js.map +1 -1
  434. package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
  435. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  436. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  437. package/build-module/navigation/index.js +9 -0
  438. package/build-module/navigation/index.js.map +1 -1
  439. package/build-module/navigation/use-navigation-entities.js.map +1 -1
  440. package/build-module/navigation/use-navigation-menu.js +73 -39
  441. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  442. package/build-module/navigation/use-template-part-area-label.js +4 -1
  443. package/build-module/navigation/use-template-part-area-label.js.map +1 -1
  444. package/build-module/navigation/view.js +5 -3
  445. package/build-module/navigation/view.js.map +1 -1
  446. package/build-module/navigation-link/edit.js +44 -13
  447. package/build-module/navigation-link/edit.js.map +1 -1
  448. package/build-module/navigation-submenu/edit.js.map +1 -1
  449. package/build-module/navigation-submenu/view.js +5 -3
  450. package/build-module/navigation-submenu/view.js.map +1 -1
  451. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  452. package/build-module/page-list/edit.js.map +1 -1
  453. package/build-module/paragraph/deprecated.js +2 -2
  454. package/build-module/paragraph/deprecated.js.map +1 -1
  455. package/build-module/pattern/edit.js.map +1 -1
  456. package/build-module/post-author/edit.js.map +1 -1
  457. package/build-module/post-author-name/index.js +2 -0
  458. package/build-module/post-author-name/index.js.map +1 -1
  459. package/build-module/post-author-name/transforms.js +32 -0
  460. package/build-module/post-author-name/transforms.js.map +1 -0
  461. package/build-module/post-comments-form/edit.js +12 -3
  462. package/build-module/post-comments-form/edit.js.map +1 -1
  463. package/build-module/post-comments-form/form.js +7 -1
  464. package/build-module/post-comments-form/form.js.map +1 -1
  465. package/build-module/post-content/edit.js.map +1 -1
  466. package/build-module/post-date/edit.js +15 -9
  467. package/build-module/post-date/edit.js.map +1 -1
  468. package/build-module/post-featured-image/edit.js +10 -23
  469. package/build-module/post-featured-image/edit.js.map +1 -1
  470. package/build-module/post-navigation-link/index.js +4 -0
  471. package/build-module/post-navigation-link/index.js.map +1 -1
  472. package/build-module/pullquote/deprecated.js.map +1 -1
  473. package/build-module/query/edit/index.js +5 -1
  474. package/build-module/query/edit/index.js.map +1 -1
  475. package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
  476. package/build-module/query/edit/query-toolbar.js +14 -2
  477. package/build-module/query/edit/query-toolbar.js.map +1 -1
  478. package/build-module/quote/v2/edit.js.map +1 -1
  479. package/build-module/search/edit.js +2 -2
  480. package/build-module/search/edit.js.map +1 -1
  481. package/build-module/search/edit.native.js.map +1 -1
  482. package/build-module/search/index.js +4 -0
  483. package/build-module/search/index.js.map +1 -1
  484. package/build-module/separator/use-deprecated-opacity.js.map +1 -1
  485. package/build-module/shortcode/edit.native.js +17 -13
  486. package/build-module/shortcode/edit.native.js.map +1 -1
  487. package/build-module/site-logo/edit.js +3 -11
  488. package/build-module/site-logo/edit.js.map +1 -1
  489. package/build-module/social-links/deprecated.js.map +1 -1
  490. package/build-module/social-links/edit.js +2 -2
  491. package/build-module/social-links/edit.js.map +1 -1
  492. package/build-module/social-links/edit.native.js.map +1 -1
  493. package/build-module/spacer/controls.js.map +1 -1
  494. package/build-module/table/deprecated.js.map +1 -1
  495. package/build-module/table/edit.js +2 -1
  496. package/build-module/table/edit.js.map +1 -1
  497. package/build-module/table/index.js +6 -1
  498. package/build-module/table/index.js.map +1 -1
  499. package/build-module/table/save.js +3 -2
  500. package/build-module/table/save.js.map +1 -1
  501. package/build-module/table/state.js.map +1 -1
  502. package/build-module/table-of-contents/edit.js +12 -4
  503. package/build-module/table-of-contents/edit.js.map +1 -1
  504. package/build-module/tag-cloud/edit.js.map +1 -1
  505. package/build-module/template-part/edit/advanced-controls.js +4 -1
  506. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  507. package/build-module/template-part/edit/index.js.map +1 -1
  508. package/build-module/template-part/edit/utils/hooks.js +4 -1
  509. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  510. package/build-module/transformationCategories.native.js.map +1 -1
  511. package/build-module/video/edit-common-settings.js.map +1 -1
  512. package/build-module/video/edit.js +2 -1
  513. package/build-module/video/edit.js.map +1 -1
  514. package/build-module/video/edit.native.js +42 -1
  515. package/build-module/video/edit.native.js.map +1 -1
  516. package/build-module/video/index.js +6 -1
  517. package/build-module/video/index.js.map +1 -1
  518. package/build-module/video/save.js +2 -1
  519. package/build-module/video/save.js.map +1 -1
  520. package/build-style/audio/style-rtl.css +0 -3
  521. package/build-style/audio/style.css +0 -3
  522. package/build-style/button/style-rtl.css +5 -5
  523. package/build-style/button/style.css +5 -5
  524. package/build-style/common-rtl.css +1 -3
  525. package/build-style/common.css +1 -3
  526. package/build-style/cover/editor-rtl.css +11 -0
  527. package/build-style/cover/editor.css +11 -0
  528. package/build-style/cover/style-rtl.css +33 -25
  529. package/build-style/cover/style.css +33 -25
  530. package/build-style/editor-rtl.css +14 -39
  531. package/build-style/editor.css +14 -39
  532. package/build-style/embed/style-rtl.css +0 -1
  533. package/build-style/embed/style.css +0 -1
  534. package/build-style/file/style-rtl.css +11 -12
  535. package/build-style/file/style.css +11 -12
  536. package/build-style/gallery/style-rtl.css +2 -4
  537. package/build-style/gallery/style.css +2 -4
  538. package/build-style/image/style-rtl.css +0 -3
  539. package/build-style/image/style.css +0 -3
  540. package/build-style/navigation/style-rtl.css +9 -1
  541. package/build-style/navigation/style.css +9 -1
  542. package/build-style/post-comments/style-rtl.css +2 -1
  543. package/build-style/post-comments/style.css +2 -1
  544. package/build-style/post-comments-form/editor-rtl.css +3 -0
  545. package/build-style/post-comments-form/editor.css +3 -0
  546. package/build-style/post-featured-image/editor-rtl.css +0 -27
  547. package/build-style/post-featured-image/editor.css +0 -27
  548. package/build-style/post-template/style-rtl.css +9 -18
  549. package/build-style/post-template/style.css +9 -18
  550. package/build-style/search/style-rtl.css +9 -11
  551. package/build-style/search/style.css +9 -11
  552. package/build-style/site-logo/editor-rtl.css +0 -12
  553. package/build-style/site-logo/editor.css +0 -12
  554. package/build-style/site-logo/style-rtl.css +4 -0
  555. package/build-style/site-logo/style.css +4 -0
  556. package/build-style/style-rtl.css +86 -93
  557. package/build-style/style.css +86 -93
  558. package/build-style/table/style-rtl.css +0 -1
  559. package/build-style/table/style.css +0 -1
  560. package/build-style/video/style-rtl.css +1 -5
  561. package/build-style/video/style.css +1 -5
  562. package/package.json +30 -29
  563. package/src/audio/block.json +6 -1
  564. package/src/audio/edit.js +4 -0
  565. package/src/audio/index.js +1 -2
  566. package/src/audio/save.js +12 -2
  567. package/src/audio/style.scss +0 -2
  568. package/src/avatar/hooks.js +2 -2
  569. package/src/block/edit.js +4 -6
  570. package/src/block/edit.native.js +12 -16
  571. package/src/block/test/edit.native.js +5 -8
  572. package/src/button/deprecated.js +145 -36
  573. package/src/button/edit.js +7 -11
  574. package/src/button/edit.native.js +2 -3
  575. package/src/button/save.js +5 -11
  576. package/src/button/style.scss +10 -5
  577. package/src/buttons/deprecated.js +4 -6
  578. package/src/buttons/edit.js +3 -3
  579. package/src/buttons/edit.native.js +7 -11
  580. package/src/buttons/test/__snapshots__/edit.native.js.snap +1 -1
  581. package/src/buttons/test/edit.native.js +1 -1
  582. package/src/column/deprecated.js +2 -1
  583. package/src/column/edit.js +2 -3
  584. package/src/column/edit.native.js +2 -2
  585. package/src/columns/block.json +3 -1
  586. package/src/columns/deprecated.js +4 -2
  587. package/src/columns/edit.js +6 -7
  588. package/src/columns/edit.native.js +12 -16
  589. package/src/columns/index.js +1 -2
  590. package/src/columns/utils.js +5 -3
  591. package/src/columns/variations.js +2 -2
  592. package/src/comment-author-name/block.json +0 -4
  593. package/src/comment-author-name/edit.js +3 -12
  594. package/src/comment-date/block.json +0 -4
  595. package/src/comment-date/edit.js +10 -14
  596. package/src/comment-date/index.php +0 -3
  597. package/src/comment-edit-link/block.json +0 -4
  598. package/src/comment-reply-link/block.json +0 -4
  599. package/src/comments/edit.js +24 -4
  600. package/src/comments-title/deprecated.js +0 -2
  601. package/src/comments-title/edit.js +1 -1
  602. package/src/comments-title/index.php +1 -1
  603. package/src/cover/block.json +1 -0
  604. package/src/cover/controls.native.js +2 -4
  605. package/src/cover/deprecated.js +237 -195
  606. package/src/cover/edit/block-controls.js +11 -20
  607. package/src/cover/edit/index.js +81 -66
  608. package/src/cover/edit/inspector-controls.js +38 -7
  609. package/src/cover/edit.native.js +8 -13
  610. package/src/cover/editor.scss +13 -0
  611. package/src/cover/index.php +21 -8
  612. package/src/cover/save.js +28 -16
  613. package/src/cover/shared.js +5 -7
  614. package/src/cover/style.scss +27 -22
  615. package/src/cover/test/edit.native.js +4 -7
  616. package/src/cover/transforms.js +2 -7
  617. package/src/embed/block.json +6 -1
  618. package/src/embed/edit.js +38 -40
  619. package/src/embed/edit.native.js +46 -49
  620. package/src/embed/embed-controls.native.js +2 -3
  621. package/src/embed/embed-preview.js +8 -1
  622. package/src/embed/icons.js +25 -0
  623. package/src/embed/save.js +10 -2
  624. package/src/embed/style.scss +0 -1
  625. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  626. package/src/embed/test/index.native.js +24 -50
  627. package/src/embed/variations.js +10 -0
  628. package/src/file/edit.js +9 -5
  629. package/src/file/edit.native.js +14 -25
  630. package/src/file/index.js +1 -2
  631. package/src/file/save.js +14 -2
  632. package/src/file/style.scss +16 -15
  633. package/src/freeform/editor.scss +0 -2
  634. package/src/gallery/block.json +1 -1
  635. package/src/gallery/edit.js +8 -6
  636. package/src/gallery/gallery.js +9 -2
  637. package/src/gallery/gallery.native.js +2 -4
  638. package/src/gallery/gap-styles.js +21 -6
  639. package/src/gallery/index.js +2 -4
  640. package/src/gallery/index.php +27 -12
  641. package/src/gallery/save.js +5 -1
  642. package/src/gallery/shared.js +22 -9
  643. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  644. package/src/gallery/test/helpers.native.js +11 -198
  645. package/src/gallery/test/index.native.js +37 -63
  646. package/src/gallery/transforms.js +3 -3
  647. package/src/gallery/v1/edit.js +18 -24
  648. package/src/gallery/v1/gallery-image.js +10 -11
  649. package/src/gallery/v1/gallery-image.native.js +8 -17
  650. package/src/gallery/v1/gallery.js +8 -2
  651. package/src/gallery/v1/save.js +20 -3
  652. package/src/group/block.json +1 -0
  653. package/src/heading/autogenerate-anchors.js +8 -5
  654. package/src/heading/deprecated.js +6 -21
  655. package/src/heading/edit.js +2 -3
  656. package/src/html/edit.js +10 -40
  657. package/src/html/preview.js +46 -0
  658. package/src/image/block.json +5 -0
  659. package/src/image/deprecated.js +6 -29
  660. package/src/image/edit.js +1 -53
  661. package/src/image/edit.native.js +75 -24
  662. package/src/image/image.js +35 -49
  663. package/src/image/save.js +10 -2
  664. package/src/image/style.scss +0 -2
  665. package/src/image/styles.native.scss +11 -0
  666. package/src/image/test/edit.native.js +51 -19
  667. package/src/image/transforms.js +4 -3
  668. package/src/image/utils.js +2 -2
  669. package/src/index.js +1 -1
  670. package/src/latest-comments/edit.js +2 -6
  671. package/src/latest-posts/edit.js +6 -7
  672. package/src/latest-posts/edit.native.js +10 -15
  673. package/src/list/index.js +1 -2
  674. package/src/list/test/migrate.js +1 -2
  675. package/src/list/v2/edit.js +6 -9
  676. package/src/list/v2/transforms.js +22 -7
  677. package/src/list-item/hooks/use-backspace.js +2 -3
  678. package/src/list-item/hooks/use-enter.js +11 -9
  679. package/src/list-item/hooks/use-indent-list-item.js +2 -3
  680. package/src/list-item/hooks/use-outdent-list-item.js +50 -24
  681. package/src/list-item/hooks/use-space.js +2 -3
  682. package/src/list-item/hooks/use-split.js +18 -9
  683. package/src/media-text/deprecated.js +6 -3
  684. package/src/media-text/edit.native.js +2 -5
  685. package/src/media-text/media-container.js +1 -1
  686. package/src/media-text/media-container.native.js +6 -9
  687. package/src/media-text/save.js +2 -1
  688. package/src/missing/edit.native.js +2 -3
  689. package/src/missing/test/edit-integration.native.js +2 -3
  690. package/src/missing/test/edit.native.js +6 -9
  691. package/src/navigation/block.json +9 -0
  692. package/src/navigation/deprecated.js +2 -5
  693. package/src/navigation/edit/index.js +25 -36
  694. package/src/navigation/edit/navigation-menu-delete-control.js +2 -3
  695. package/src/navigation/edit/unsaved-inner-blocks.js +31 -30
  696. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -3
  697. package/src/navigation/style.scss +10 -1
  698. package/src/navigation/test/use-navigation-menu.js +241 -0
  699. package/src/navigation/use-navigation-entities.js +11 -13
  700. package/src/navigation/use-navigation-menu.js +95 -82
  701. package/src/navigation/use-template-part-area-label.js +8 -7
  702. package/src/navigation/view.js +7 -2
  703. package/src/navigation-link/edit.js +59 -25
  704. package/src/navigation-link/test/edit.js +2 -24
  705. package/src/navigation-submenu/edit.js +10 -20
  706. package/src/navigation-submenu/view.js +7 -2
  707. package/src/page-list/convert-to-links-modal.js +51 -54
  708. package/src/page-list/edit.js +6 -6
  709. package/src/page-list/test/convert-to-links-modal.js +6 -12
  710. package/src/paragraph/deprecated.js +2 -2
  711. package/src/pattern/edit.js +2 -4
  712. package/src/post-author/edit.js +2 -3
  713. package/src/post-author/index.php +3 -2
  714. package/src/post-author-name/index.js +2 -0
  715. package/src/post-author-name/index.php +1 -1
  716. package/src/post-author-name/transforms.js +25 -0
  717. package/src/post-comments/index.php +1 -1
  718. package/src/post-comments/style.scss +7 -3
  719. package/src/post-comments-form/edit.js +20 -3
  720. package/src/post-comments-form/editor.scss +4 -0
  721. package/src/post-comments-form/form.js +11 -1
  722. package/src/post-comments-form/index.php +1 -1
  723. package/src/post-content/edit.js +2 -3
  724. package/src/post-date/edit.js +4 -3
  725. package/src/post-featured-image/edit.js +14 -30
  726. package/src/post-featured-image/editor.scss +0 -29
  727. package/src/post-featured-image/index.php +4 -2
  728. package/src/post-navigation-link/block.json +4 -0
  729. package/src/post-template/index.php +15 -3
  730. package/src/post-template/style.scss +1 -7
  731. package/src/pullquote/deprecated.js +2 -1
  732. package/src/query/edit/index.js +10 -10
  733. package/src/query/edit/inspector-controls/parent-control.js +2 -3
  734. package/src/query/edit/query-toolbar.js +25 -5
  735. package/src/query-pagination/index.php +0 -1
  736. package/src/quote/v2/edit.js +4 -6
  737. package/src/quote/v2/test/migrate.js +1 -2
  738. package/src/search/block.json +4 -0
  739. package/src/search/edit.js +9 -13
  740. package/src/search/edit.native.js +4 -6
  741. package/src/search/index.php +38 -23
  742. package/src/search/style.scss +11 -9
  743. package/src/separator/use-deprecated-opacity.js +2 -4
  744. package/src/shortcode/edit.native.js +30 -15
  745. package/src/shortcode/style.native.scss +11 -4
  746. package/src/shortcode/test/__snapshots__/edit.native.js.snap +9 -0
  747. package/src/shortcode/test/edit.native.js +55 -40
  748. package/src/site-logo/edit.js +3 -17
  749. package/src/site-logo/editor.scss +0 -14
  750. package/src/site-logo/style.scss +6 -0
  751. package/src/social-links/deprecated.js +4 -2
  752. package/src/social-links/edit.js +11 -10
  753. package/src/social-links/edit.native.js +3 -5
  754. package/src/spacer/controls.js +2 -3
  755. package/src/spacer/test/index.native.js +10 -21
  756. package/src/table/block.json +6 -1
  757. package/src/table/deprecated.js +4 -8
  758. package/src/table/edit.js +2 -0
  759. package/src/table/save.js +6 -1
  760. package/src/table/state.js +2 -4
  761. package/src/table/style.scss +0 -1
  762. package/src/table-of-contents/edit.js +22 -13
  763. package/src/tag-cloud/edit.js +4 -7
  764. package/src/template-part/edit/advanced-controls.js +4 -4
  765. package/src/template-part/edit/index.js +6 -10
  766. package/src/template-part/edit/utils/hooks.js +8 -7
  767. package/src/transformationCategories.native.js +3 -3
  768. package/src/video/block.json +6 -1
  769. package/src/video/edit-common-settings.js +2 -8
  770. package/src/video/edit.js +4 -0
  771. package/src/video/edit.native.js +38 -16
  772. package/src/video/index.js +1 -2
  773. package/src/video/save.js +10 -2
  774. package/src/video/style.scss +0 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tevery,\n\tfilter,\n\tfind,\n\tforEach,\n\tget,\n\tisEmpty,\n\tmap,\n\treduce,\n\tsome,\n\ttoString,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } = useDispatch(\n\t\tblockEditorStore\n\t);\n\n\tconst {\n\t\timageSizes,\n\t\tmediaUpload,\n\t\tgetMedia,\n\t\twasBlockJustInserted,\n\t} = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\treturn {\n\t\t\timageSizes: settings.imageSizes,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t};\n\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = toString( newImage.id );\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: toString( newImage.id ),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\tforEach( images, ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\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={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tevery,\n\tfilter,\n\tfind,\n\tforEach,\n\tget,\n\tisEmpty,\n\tmap,\n\treduce,\n\tsome,\n} from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\tforEach( images, ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && ! isEmpty( imageSizeOptions );\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{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\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={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\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{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
@@ -257,6 +257,7 @@ class GalleryImage extends _element.Component {
257
257
  disabled: !isSelected
258
258
  })), !isEditing && (isSelected || caption) && (0, _element.createElement)(_blockEditor.RichText, {
259
259
  tagName: "figcaption",
260
+ className: (0, _blockEditor.__experimentalGetElementClassName)('caption'),
260
261
  "aria-label": (0, _i18n.__)('Image caption text'),
261
262
  placeholder: isSelected ? (0, _i18n.__)('Add caption') : null,
262
263
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["isTemporaryImage","id","url","GalleryImage","Component","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","BACKSPACE","DELETE","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","image","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","img","className","title","imageIcon","src","chevronLeft","chevronRight","edit","closeSmall","newCaption","select","ownProps","getMedia","coreStore","parseInt","dispatch","blockEditorStore"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Button, Spinner, ButtonGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tRichText,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { isBlobURL } from '@wordpress/blob';\nimport { compose } from '@wordpress/compose';\nimport {\n\tcloseSmall,\n\tchevronLeft,\n\tchevronRight,\n\tedit,\n\timage as imageIcon,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { pickRelevantMediaFiles } from './shared';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onRemoveImage = this.onRemoveImage.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onEdit = this.onEdit.bind( this );\n\t\tthis.onSelectImageFromLibrary = this.onSelectImageFromLibrary.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.onSelectCustomURL = this.onSelectCustomURL.bind( this );\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t};\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonRemoveImage( event ) {\n\t\tif (\n\t\t\tthis.container === this.container.ownerDocument.activeElement &&\n\t\t\tthis.props.isSelected &&\n\t\t\t[ BACKSPACE, DELETE ].indexOf( event.keyCode ) !== -1\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onRemove();\n\t\t}\n\t}\n\n\tonEdit() {\n\t\tthis.setState( {\n\t\t\tisEditing: true,\n\t\t} );\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst {\n\t\t\timage,\n\t\t\turl,\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t} = this.props;\n\t\tif ( image && ! url ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\t}\n\n\tdeselectOnBlur() {\n\t\tthis.props.onDeselect();\n\t}\n\n\tonSelectImageFromLibrary( media ) {\n\t\tconst { setAttributes, id, url, alt, caption, sizeSlug } = this.props;\n\t\tif ( ! media || ! media.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, sizeSlug );\n\n\t\t// If the current image is temporary but an alt text was meanwhile\n\t\t// written by the user, make sure the text is not overwritten.\n\t\tif ( isTemporaryImage( id, url ) ) {\n\t\t\tif ( alt ) {\n\t\t\t\tmediaAttributes = omit( mediaAttributes, [ 'alt' ] );\n\t\t\t}\n\t\t}\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( caption && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\n\t\t}\n\n\t\tsetAttributes( mediaAttributes );\n\t\tthis.setState( {\n\t\t\tisEditing: false,\n\t\t} );\n\t}\n\n\tonSelectCustomURL( newURL ) {\n\t\tconst { setAttributes, url } = this.props;\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t\tthis.setState( {\n\t\t\t\tisEditing: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tlinkTo,\n\t\t\tlink,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\tsetAttributes,\n\t\t\t'aria-label': ariaLabel,\n\t\t} = this.props;\n\t\tconst { isEditing } = this.state;\n\n\t\tlet href;\n\n\t\tswitch ( linkTo ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = link;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst img = (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but should\n\t\t\t// direct image selection and unfocus caption fields.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tdata-id={ id }\n\t\t\t\t\tonKeyDown={ this.onRemoveImage }\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tref={ this.bindContainer }\n\t\t\t\t/>\n\t\t\t\t{ isBlobURL( url ) && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */\n\t\t);\n\n\t\tconst className = classnames( {\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-transient': isBlobURL( url ),\n\t\t} );\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t<figure\n\t\t\t\tclassName={ className }\n\t\t\t\tonClick={ this.onSelectImage }\n\t\t\t\tonFocus={ this.onSelectImage }\n\t\t\t>\n\t\t\t\t{ ! isEditing && ( href ? <a href={ href }>{ img }</a> : img ) }\n\t\t\t\t{ isEditing && (\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tlabels={ { title: __( 'Edit gallery image' ) } }\n\t\t\t\t\t\ticon={ imageIcon }\n\t\t\t\t\t\tonSelect={ this.onSelectImageFromLibrary }\n\t\t\t\t\t\tonSelectURL={ this.onSelectCustomURL }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ { id, src: url } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-left\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tonClick={ isFirstItem ? undefined : onMoveBackward }\n\t\t\t\t\t\tlabel={ __( 'Move image backward' ) }\n\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tonClick={ isLastItem ? undefined : onMoveForward }\n\t\t\t\t\t\tlabel={ __( 'Move image forward' ) }\n\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ this.onEdit }\n\t\t\t\t\t\tlabel={ __( 'Replace image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tlabel={ __( 'Remove image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t{ ! isEditing && ( isSelected || caption ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ isSelected ? __( 'Add caption' ) : null }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( newCaption ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: newCaption } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { id } = ownProps;\n\n\t\treturn {\n\t\t\timage: id ? getMedia( parseInt( id, 10 ) ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n] )( GalleryImage );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["isTemporaryImage","id","url","GalleryImage","Component","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","BACKSPACE","DELETE","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","image","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","img","className","title","imageIcon","src","chevronLeft","chevronRight","edit","closeSmall","newCaption","select","ownProps","getMedia","coreStore","parseInt","dispatch","blockEditorStore"],"mappings":";;;;;;;;;AASA;;AANA;;AACA;;AAMA;;AACA;;AACA;;AACA;;AACA;;AAMA;;AACA;;AACA;;AAOA;;AAKA;;AACA;;AAnCA;AACA;AACA;;AAIA;AACA;AACA;;AAuBA;AACA;AACA;AAOA,MAAMA,gBAAgB,GAAG,CAAEC,EAAF,EAAMC,GAAN,KAAe,CAAED,EAAF,IAAQ,qBAAWC,GAAX,CAAhD;;AAEA,MAAMC,YAAN,SAA2BC,kBAA3B,CAAqC;AACpCC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBC,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBD,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKG,MAAL,GAAc,KAAKA,MAAL,CAAYH,IAAZ,CAAkB,IAAlB,CAAd;AACA,SAAKI,wBAAL,GACC,KAAKA,wBAAL,CAA8BJ,IAA9B,CAAoC,IAApC,CADD;AAEA,SAAKK,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBL,IAAvB,CAA6B,IAA7B,CAAzB;AACA,SAAKM,KAAL,GAAa;AACZC,MAAAA,SAAS,EAAE;AADC,KAAb;AAGA;;AAEDL,EAAAA,aAAa,CAAEM,GAAF,EAAQ;AACpB,SAAKC,SAAL,GAAiBD,GAAjB;AACA;;AAEDT,EAAAA,aAAa,GAAG;AACf,QAAK,CAAE,KAAKW,KAAL,CAAWC,UAAlB,EAA+B;AAC9B,WAAKD,KAAL,CAAWE,QAAX;AACA;AACD;;AAEDX,EAAAA,aAAa,CAAEY,KAAF,EAAU;AACtB,QACC,KAAKJ,SAAL,KAAmB,KAAKA,SAAL,CAAeK,aAAf,CAA6BC,aAAhD,IACA,KAAKL,KAAL,CAAWC,UADX,IAEA,CAAEK,mBAAF,EAAaC,gBAAb,EAAsBC,OAAtB,CAA+BL,KAAK,CAACM,OAArC,MAAmD,CAAC,CAHrD,EAIE;AACDN,MAAAA,KAAK,CAACO,cAAN;AACA,WAAKV,KAAL,CAAWW,QAAX;AACA;AACD;;AAEDlB,EAAAA,MAAM,GAAG;AACR,SAAKmB,QAAL,CAAe;AACdf,MAAAA,SAAS,EAAE;AADG,KAAf;AAGA;;AAEDgB,EAAAA,kBAAkB,GAAG;AACpB,UAAM;AAAEC,MAAAA,KAAF;AAAS9B,MAAAA,GAAT;AAAc+B,MAAAA;AAAd,QACL,KAAKf,KADN;;AAEA,QAAKc,KAAK,IAAI,CAAE9B,GAAhB,EAAsB;AACrB+B,MAAAA,uCAAuC;;AACvC,WAAKf,KAAL,CAAWgB,aAAX,CAA0B;AACzBhC,QAAAA,GAAG,EAAE8B,KAAK,CAACG,UADc;AAEzBC,QAAAA,GAAG,EAAEJ,KAAK,CAACK;AAFc,OAA1B;AAIA;AACD;;AAEDC,EAAAA,cAAc,GAAG;AAChB,SAAKpB,KAAL,CAAWqB,UAAX;AACA;;AAED3B,EAAAA,wBAAwB,CAAE4B,KAAF,EAAU;AACjC,UAAM;AAAEN,MAAAA,aAAF;AAAiBjC,MAAAA,EAAjB;AAAqBC,MAAAA,GAArB;AAA0BkC,MAAAA,GAA1B;AAA+BK,MAAAA,OAA/B;AAAwCC,MAAAA;AAAxC,QAAqD,KAAKxB,KAAhE;;AACA,QAAK,CAAEsB,KAAF,IAAW,CAAEA,KAAK,CAACtC,GAAxB,EAA8B;AAC7B;AACA;;AAED,QAAIyC,eAAe,GAAG,oCAAwBH,KAAxB,EAA+BE,QAA/B,CAAtB,CANiC,CAQjC;AACA;;AACA,QAAK1C,gBAAgB,CAAEC,EAAF,EAAMC,GAAN,CAArB,EAAmC;AAClC,UAAKkC,GAAL,EAAW;AACVO,QAAAA,eAAe,GAAG,kBAAMA,eAAN,EAAuB,CAAE,KAAF,CAAvB,CAAlB;AACA;AACD,KAdgC,CAgBjC;AACA;;;AACA,QAAKF,OAAO,IAAI,CAAE,iBAAKE,eAAL,EAAsB,CAAE,SAAF,CAAtB,CAAlB,EAA0D;AACzDA,MAAAA,eAAe,GAAG,kBAAMA,eAAN,EAAuB,CAAE,SAAF,CAAvB,CAAlB;AACA;;AAEDT,IAAAA,aAAa,CAAES,eAAF,CAAb;AACA,SAAKb,QAAL,CAAe;AACdf,MAAAA,SAAS,EAAE;AADG,KAAf;AAGA;;AAEDF,EAAAA,iBAAiB,CAAE+B,MAAF,EAAW;AAC3B,UAAM;AAAEV,MAAAA,aAAF;AAAiBhC,MAAAA;AAAjB,QAAyB,KAAKgB,KAApC;;AACA,QAAK0B,MAAM,KAAK1C,GAAhB,EAAsB;AACrBgC,MAAAA,aAAa,CAAE;AACdhC,QAAAA,GAAG,EAAE0C,MADS;AAEd3C,QAAAA,EAAE,EAAE4C;AAFU,OAAF,CAAb;AAIA,WAAKf,QAAL,CAAe;AACdf,QAAAA,SAAS,EAAE;AADG,OAAf;AAGA;AACD;;AAED+B,EAAAA,MAAM,GAAG;AACR,UAAM;AACL5C,MAAAA,GADK;AAELkC,MAAAA,GAFK;AAGLnC,MAAAA,EAHK;AAIL8C,MAAAA,MAJK;AAKLC,MAAAA,IALK;AAMLC,MAAAA,WANK;AAOLC,MAAAA,UAPK;AAQL/B,MAAAA,UARK;AASLsB,MAAAA,OATK;AAULZ,MAAAA,QAVK;AAWLsB,MAAAA,aAXK;AAYLC,MAAAA,cAZK;AAaLlB,MAAAA,aAbK;AAcL,oBAAcmB;AAdT,QAeF,KAAKnC,KAfT;AAgBA,UAAM;AAAEH,MAAAA;AAAF,QAAgB,KAAKD,KAA3B;AAEA,QAAIwC,IAAJ;;AAEA,YAASP,MAAT;AACC,WAAKQ,iCAAL;AACCD,QAAAA,IAAI,GAAGpD,GAAP;AACA;;AACD,WAAKsD,sCAAL;AACCF,QAAAA,IAAI,GAAGN,IAAP;AACA;AANF;;AASA,UAAMS,GAAG,GACR;AACA;;AACA;AACA,yDACC;AACC,MAAA,GAAG,EAAGvD,GADP;AAEC,MAAA,GAAG,EAAGkC,GAFP;AAGC,iBAAUnC,EAHX;AAIC,MAAA,SAAS,EAAG,KAAKQ,aAJlB;AAKC,MAAA,QAAQ,EAAC,GALV;AAMC,oBAAa4C,SANd;AAOC,MAAA,GAAG,EAAG,KAAK3C;AAPZ,MADD,EAUG,qBAAWR,GAAX,KAAoB,4BAAC,mBAAD,OAVvB;AAYA;AAhBD;AAmBA,UAAMwD,SAAS,GAAG,yBAAY;AAC7B,qBAAevC,UADc;AAE7B,sBAAgB,qBAAWjB,GAAX;AAFa,KAAZ,CAAlB;AAKA,WACC;AACA;AACC,QAAA,SAAS,EAAGwD,SADb;AAEC,QAAA,OAAO,EAAG,KAAKnD,aAFhB;AAGC,QAAA,OAAO,EAAG,KAAKA;AAHhB,SAKG,CAAEQ,SAAF,KAAiBuC,IAAI,GAAG;AAAG,QAAA,IAAI,EAAGA;AAAV,SAAmBG,GAAnB,CAAH,GAAkCA,GAAvD,CALH,EAMG1C,SAAS,IACV,4BAAC,6BAAD;AACC,QAAA,MAAM,EAAG;AAAE4C,UAAAA,KAAK,EAAE,cAAI,oBAAJ;AAAT,SADV;AAEC,QAAA,IAAI,EAAGC,YAFR;AAGC,QAAA,QAAQ,EAAG,KAAKhD,wBAHjB;AAIC,QAAA,WAAW,EAAG,KAAKC,iBAJpB;AAKC,QAAA,MAAM,EAAC,SALR;AAMC,QAAA,YAAY,EAAG,CAAE,OAAF,CANhB;AAOC,QAAA,KAAK,EAAG;AAAEZ,UAAAA,EAAF;AAAM4D,UAAAA,GAAG,EAAE3D;AAAX;AAPT,QAPF,EAiBC,4BAAC,uBAAD;AAAa,QAAA,SAAS,EAAC;AAAvB,SACC,4BAAC,kBAAD;AACC,QAAA,IAAI,EAAG4D,kBADR;AAEC,QAAA,OAAO,EAAGb,WAAW,GAAGJ,SAAH,GAAeO,cAFrC;AAGC,QAAA,KAAK,EAAG,cAAI,qBAAJ,CAHT;AAIC,yBAAgBH,WAJjB;AAKC,QAAA,QAAQ,EAAG,CAAE9B;AALd,QADD,EAQC,4BAAC,kBAAD;AACC,QAAA,IAAI,EAAG4C,mBADR;AAEC,QAAA,OAAO,EAAGb,UAAU,GAAGL,SAAH,GAAeM,aAFpC;AAGC,QAAA,KAAK,EAAG,cAAI,oBAAJ,CAHT;AAIC,yBAAgBD,UAJjB;AAKC,QAAA,QAAQ,EAAG,CAAE/B;AALd,QARD,CAjBD,EAiCC,4BAAC,uBAAD;AAAa,QAAA,SAAS,EAAC;AAAvB,SACC,4BAAC,kBAAD;AACC,QAAA,IAAI,EAAG6C,WADR;AAEC,QAAA,OAAO,EAAG,KAAKrD,MAFhB;AAGC,QAAA,KAAK,EAAG,cAAI,eAAJ,CAHT;AAIC,QAAA,QAAQ,EAAG,CAAEQ;AAJd,QADD,EAOC,4BAAC,kBAAD;AACC,QAAA,IAAI,EAAG8C,iBADR;AAEC,QAAA,OAAO,EAAGpC,QAFX;AAGC,QAAA,KAAK,EAAG,cAAI,cAAJ,CAHT;AAIC,QAAA,QAAQ,EAAG,CAAEV;AAJd,QAPD,CAjCD,EA+CG,CAAEJ,SAAF,KAAiBI,UAAU,IAAIsB,OAA/B,KACD,4BAAC,qBAAD;AACC,QAAA,OAAO,EAAC,YADT;AAEC,QAAA,SAAS,EAAG,oDACX,SADW,CAFb;AAKC,sBAAa,cAAI,oBAAJ,CALd;AAMC,QAAA,WAAW,EAAGtB,UAAU,GAAG,cAAI,aAAJ,CAAH,GAAyB,IANlD;AAOC,QAAA,KAAK,EAAGsB,OAPT;AAQC,QAAA,QAAQ,EAAKyB,UAAF,IACVhC,aAAa,CAAE;AAAEO,UAAAA,OAAO,EAAEyB;AAAX,SAAF,CATf;AAWC,QAAA,aAAa;AAXd,QAhDF;AAFD;AAkEA;;AA5NmC;;eA+NtB,sBAAS,CACvB,sBAAY,CAAEC,MAAF,EAAUC,QAAV,KAAwB;AACnC,QAAM;AAAEC,IAAAA;AAAF,MAAeF,MAAM,CAAEG,eAAF,CAA3B;AACA,QAAM;AAAErE,IAAAA;AAAF,MAASmE,QAAf;AAEA,SAAO;AACNpC,IAAAA,KAAK,EAAE/B,EAAE,GAAGoE,QAAQ,CAAEE,QAAQ,CAAEtE,EAAF,EAAM,EAAN,CAAV,CAAX,GAAoC;AADvC,GAAP;AAGA,CAPD,CADuB,EASvB,wBAAgBuE,QAAF,IAAgB;AAC7B,QAAM;AAAEvC,IAAAA;AAAF,MACLuC,QAAQ,CAAEC,kBAAF,CADT;AAEA,SAAO;AACNxC,IAAAA;AADM,GAAP;AAGA,CAND,CATuB,CAAT,EAgBV9B,YAhBU,C","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { get, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { Button, Spinner, ButtonGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { BACKSPACE, DELETE } from '@wordpress/keycodes';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport {\n\tRichText,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { isBlobURL } from '@wordpress/blob';\nimport { compose } from '@wordpress/compose';\nimport {\n\tcloseSmall,\n\tchevronLeft,\n\tchevronRight,\n\tedit,\n\timage as imageIcon,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { pickRelevantMediaFiles } from './shared';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onRemoveImage = this.onRemoveImage.bind( this );\n\t\tthis.bindContainer = this.bindContainer.bind( this );\n\t\tthis.onEdit = this.onEdit.bind( this );\n\t\tthis.onSelectImageFromLibrary =\n\t\t\tthis.onSelectImageFromLibrary.bind( this );\n\t\tthis.onSelectCustomURL = this.onSelectCustomURL.bind( this );\n\t\tthis.state = {\n\t\t\tisEditing: false,\n\t\t};\n\t}\n\n\tbindContainer( ref ) {\n\t\tthis.container = ref;\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonRemoveImage( event ) {\n\t\tif (\n\t\t\tthis.container === this.container.ownerDocument.activeElement &&\n\t\t\tthis.props.isSelected &&\n\t\t\t[ BACKSPACE, DELETE ].indexOf( event.keyCode ) !== -1\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\tthis.props.onRemove();\n\t\t}\n\t}\n\n\tonEdit() {\n\t\tthis.setState( {\n\t\t\tisEditing: true,\n\t\t} );\n\t}\n\n\tcomponentDidUpdate() {\n\t\tconst { image, url, __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tthis.props;\n\t\tif ( image && ! url ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\t}\n\n\tdeselectOnBlur() {\n\t\tthis.props.onDeselect();\n\t}\n\n\tonSelectImageFromLibrary( media ) {\n\t\tconst { setAttributes, id, url, alt, caption, sizeSlug } = this.props;\n\t\tif ( ! media || ! media.url ) {\n\t\t\treturn;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, sizeSlug );\n\n\t\t// If the current image is temporary but an alt text was meanwhile\n\t\t// written by the user, make sure the text is not overwritten.\n\t\tif ( isTemporaryImage( id, url ) ) {\n\t\t\tif ( alt ) {\n\t\t\t\tmediaAttributes = omit( mediaAttributes, [ 'alt' ] );\n\t\t\t}\n\t\t}\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( caption && ! get( mediaAttributes, [ 'caption' ] ) ) {\n\t\t\tmediaAttributes = omit( mediaAttributes, [ 'caption' ] );\n\t\t}\n\n\t\tsetAttributes( mediaAttributes );\n\t\tthis.setState( {\n\t\t\tisEditing: false,\n\t\t} );\n\t}\n\n\tonSelectCustomURL( newURL ) {\n\t\tconst { setAttributes, url } = this.props;\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t} );\n\t\t\tthis.setState( {\n\t\t\t\tisEditing: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\turl,\n\t\t\talt,\n\t\t\tid,\n\t\t\tlinkTo,\n\t\t\tlink,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\tsetAttributes,\n\t\t\t'aria-label': ariaLabel,\n\t\t} = this.props;\n\t\tconst { isEditing } = this.state;\n\n\t\tlet href;\n\n\t\tswitch ( linkTo ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = link;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tconst img = (\n\t\t\t// Disable reason: Image itself is not meant to be interactive, but should\n\t\t\t// direct image selection and unfocus caption fields.\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t<>\n\t\t\t\t<img\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tdata-id={ id }\n\t\t\t\t\tonKeyDown={ this.onRemoveImage }\n\t\t\t\t\ttabIndex=\"0\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tref={ this.bindContainer }\n\t\t\t\t/>\n\t\t\t\t{ isBlobURL( url ) && <Spinner /> }\n\t\t\t</>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions */\n\t\t);\n\n\t\tconst className = classnames( {\n\t\t\t'is-selected': isSelected,\n\t\t\t'is-transient': isBlobURL( url ),\n\t\t} );\n\n\t\treturn (\n\t\t\t// eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-noninteractive-element-interactions\n\t\t\t<figure\n\t\t\t\tclassName={ className }\n\t\t\t\tonClick={ this.onSelectImage }\n\t\t\t\tonFocus={ this.onSelectImage }\n\t\t\t>\n\t\t\t\t{ ! isEditing && ( href ? <a href={ href }>{ img }</a> : img ) }\n\t\t\t\t{ isEditing && (\n\t\t\t\t\t<MediaPlaceholder\n\t\t\t\t\t\tlabels={ { title: __( 'Edit gallery image' ) } }\n\t\t\t\t\t\ticon={ imageIcon }\n\t\t\t\t\t\tonSelect={ this.onSelectImageFromLibrary }\n\t\t\t\t\t\tonSelectURL={ this.onSelectCustomURL }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tallowedTypes={ [ 'image' ] }\n\t\t\t\t\t\tvalue={ { id, src: url } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-left\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronLeft }\n\t\t\t\t\t\tonClick={ isFirstItem ? undefined : onMoveBackward }\n\t\t\t\t\t\tlabel={ __( 'Move image backward' ) }\n\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ chevronRight }\n\t\t\t\t\t\tonClick={ isLastItem ? undefined : onMoveForward }\n\t\t\t\t\t\tlabel={ __( 'Move image forward' ) }\n\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t<ButtonGroup className=\"block-library-gallery-item__inline-menu is-right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ this.onEdit }\n\t\t\t\t\t\tlabel={ __( 'Replace image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ closeSmall }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tlabel={ __( 'Remove image' ) }\n\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ButtonGroup>\n\t\t\t\t{ ! isEditing && ( isSelected || caption ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\tclassName={ __experimentalGetElementClassName(\n\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\t\tplaceholder={ isSelected ? __( 'Add caption' ) : null }\n\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\tonChange={ ( newCaption ) =>\n\t\t\t\t\t\t\tsetAttributes( { caption: newCaption } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</figure>\n\t\t);\n\t}\n}\n\nexport default compose( [\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getMedia } = select( coreStore );\n\t\tconst { id } = ownProps;\n\n\t\treturn {\n\t\t\timage: id ? getMedia( parseInt( id, 10 ) ) : null,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => {\n\t\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\t\tdispatch( blockEditorStore );\n\t\treturn {\n\t\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\t};\n\t} ),\n] )( GalleryImage );\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.native.js"],"names":["compose","StyleSheet","separatorStyle","style","separator","borderRightWidth","hairlineWidth","buttonStyle","button","aspectRatio","ICON_SIZE_ARROW","GalleryImage","Component","constructor","arguments","onSelectImage","bind","onSelectCaption","onMediaPressed","onCaptionChange","onSelectMedia","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","renderContent","state","captionSelected","isUploadInProgress","didUploadFail","setState","props","isSelected","onSelect","id","url","isBlockSelected","onSelectBlock","media","setAttributes","caption","componentDidUpdate","prevProps","image","source_url","alt","alt_text","payload","mediaServerId","mediaUrl","params","isFirstItem","isLastItem","onRemove","onMoveForward","onMoveBackward","ariaLabel","isCropped","getStylesFromColorScheme","isRTL","isUploadFailed","retryMessage","resizeMode","captionPlaceholderStyle","captionPlaceholder","captionPlaceholderDark","shouldShowCaptionEditable","shouldShowCaptionExpanded","captionContainerStyle","captionExpandedContainer","captionContainer","captionStyle","captionExpanded","mediaPickerOptions","destructiveButton","label","onPress","separated","value","height","warning","toolbarContainer","toolbar","moverButtonContainer","arrowRight","arrowLeft","undefined","color","render","containerStyle","galleryImageContainer","galleryImageContainerDark","accessibilityLabelImageContainer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tView,\n\tScrollView,\n\tTouchableWithoutFeedback,\n} from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { Image } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Caption, MediaUploadProgress } from '@wordpress/block-editor';\nimport { getProtocol } from '@wordpress/url';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { arrowLeft, arrowRight, warning } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from './gallery-button';\nimport style from './gallery-image-style.scss';\n\nconst { compose } = StyleSheet;\n\nconst separatorStyle = compose( style.separator, {\n\tborderRightWidth: StyleSheet.hairlineWidth,\n} );\nconst buttonStyle = compose( style.button, { aspectRatio: 1 } );\nconst ICON_SIZE_ARROW = 15;\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onSelectCaption = this.onSelectCaption.bind( this );\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\t\tthis.onCaptionChange = this.onCaptionChange.bind( this );\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess = this.finishMediaUploadWithSuccess.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.finishMediaUploadWithFailure = this.finishMediaUploadWithFailure.bind(\n\t\t\tthis\n\t\t);\n\t\tthis.renderContent = this.renderContent.bind( this );\n\n\t\tthis.state = {\n\t\t\tcaptionSelected: false,\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: false,\n\t\t};\n\t}\n\n\tonSelectCaption() {\n\t\tif ( ! this.state.captionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonMediaPressed() {\n\t\tconst { id, url, isSelected } = this.props;\n\t\tconst {\n\t\t\tcaptionSelected,\n\t\t\tisUploadInProgress,\n\t\t\tdidUploadFail,\n\t\t} = this.state;\n\n\t\tthis.onSelectImage();\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if (\n\t\t\tdidUploadFail ||\n\t\t\t( id && getProtocol( url ) === 'file:' )\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isSelected && ! captionSelected ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isBlockSelected ) {\n\t\t\tthis.props.onSelectBlock();\n\t\t}\n\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\n\t\tif ( this.state.captionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( media );\n\t}\n\n\tonCaptionChange( caption ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { caption } );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { isSelected, image, url } = this.props;\n\t\tif ( image && ! url ) {\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\n\t\t// Unselect the caption so when the user selects other image and comeback\n\t\t// the caption is not immediately selected.\n\t\tif (\n\t\t\tthis.state.captionSelected &&\n\t\t\t! isSelected &&\n\t\t\tprevProps.isSelected\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: false,\n\t\t} );\n\n\t\tthis.props.setAttributes( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: true,\n\t\t} );\n\t}\n\n\trenderContent( params ) {\n\t\tconst {\n\t\t\turl,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\t'aria-label': ariaLabel,\n\t\t\tisCropped,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tisRTL,\n\t\t} = this.props;\n\n\t\tconst { isUploadInProgress, captionSelected } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst resizeMode = isCropped ? 'cover' : 'contain';\n\n\t\tconst captionPlaceholderStyle = getStylesFromColorScheme(\n\t\t\tstyle.captionPlaceholder,\n\t\t\tstyle.captionPlaceholderDark\n\t\t);\n\n\t\tconst shouldShowCaptionEditable = ! isUploadFailed && isSelected;\n\t\tconst shouldShowCaptionExpanded =\n\t\t\t! isUploadFailed && ! isSelected && !! caption;\n\n\t\tconst captionContainerStyle = shouldShowCaptionExpanded\n\t\t\t? style.captionExpandedContainer\n\t\t\t: style.captionContainer;\n\n\t\tconst captionStyle = shouldShowCaptionExpanded\n\t\t\t? style.captionExpanded\n\t\t\t: style.caption;\n\n\t\tconst mediaPickerOptions = [\n\t\t\t{\n\t\t\t\tdestructiveButton: true,\n\t\t\t\tid: 'removeImage',\n\t\t\t\tlabel: __( 'Remove' ),\n\t\t\t\tonPress: onRemove,\n\t\t\t\tseparated: true,\n\t\t\t\tvalue: 'removeImage',\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Image\n\t\t\t\t\talt={ ariaLabel }\n\t\t\t\t\theight={ style.image.height }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\tmediaPickerOptions={ mediaPickerOptions }\n\t\t\t\t\tonSelectMediaUploadOption={ this.onSelectMedia }\n\t\t\t\t\tresizeMode={ resizeMode }\n\t\t\t\t\turl={ url }\n\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\tretryIcon={ warning }\n\t\t\t\t/>\n\n\t\t\t\t{ ! isUploadInProgress && isSelected && (\n\t\t\t\t\t<View style={ style.toolbarContainer }>\n\t\t\t\t\t\t<View style={ style.toolbar }>\n\t\t\t\t\t\t\t<View style={ style.moverButtonContainer }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\t\t\t\ticon={ isRTL ? arrowRight : arrowLeft }\n\t\t\t\t\t\t\t\t\ticonSize={ ICON_SIZE_ARROW }\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tisFirstItem ? undefined : onMoveBackward\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taccessibilityLabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Move Image Backward'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<View style={ separatorStyle } />\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\t\t\t\ticon={ isRTL ? arrowLeft : arrowRight }\n\t\t\t\t\t\t\t\t\ticonSize={ ICON_SIZE_ARROW }\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tisLastItem ? undefined : onMoveForward\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taccessibilityLabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Move Image Forward'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isUploadInProgress &&\n\t\t\t\t\t( shouldShowCaptionEditable ||\n\t\t\t\t\t\tshouldShowCaptionExpanded ) && (\n\t\t\t\t\t\t<View style={ captionContainerStyle }>\n\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\tnestedScrollEnabled\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\t\t\t\t\t\t\tbounces={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Caption\n\t\t\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected && captionSelected }\n\t\t\t\t\t\t\t\t\tonChange={ this.onCaptionChange }\n\t\t\t\t\t\t\t\t\tonFocus={ this.onSelectCaption }\n\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\tisSelected ? __( 'Add caption' ) : null\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\tcaptionPlaceholderStyle.color\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tstyle={ captionStyle }\n\t\t\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tid,\n\t\t\tonRemove,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tisSelected,\n\t\t} = this.props;\n\n\t\tconst containerStyle = getStylesFromColorScheme(\n\t\t\tstyle.galleryImageContainer,\n\t\t\tstyle.galleryImageContainerDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\taccessible={ ! isSelected } // We need only child views to be accessible after the selection.\n\t\t\t\taccessibilityLabel={ this.accessibilityLabelImageContainer() } // if we don't set this explicitly it reads system provided accessibilityLabels of all child components and those include pretty technical words which don't make sense\n\t\t\t\taccessibilityRole={ 'imagebutton' } // this makes VoiceOver to read a description of image provided by system on iOS and lets user know this is a button which conveys the message of tappablity\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMediaUploadStateReset={ onRemove }\n\t\t\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n\n\taccessibilityLabelImageContainer() {\n\t\tconst { caption, 'aria-label': ariaLabel } = this.props;\n\n\t\treturn isEmpty( caption )\n\t\t\t? ariaLabel\n\t\t\t: ariaLabel +\n\t\t\t\t\t'. ' +\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: image caption. */\n\t\t\t\t\t\t__( 'Image caption. %s' ),\n\t\t\t\t\t\tcaption\n\t\t\t\t\t);\n\t}\n}\n\nexport default withPreferredColorScheme( GalleryImage );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.native.js"],"names":["compose","StyleSheet","separatorStyle","style","separator","borderRightWidth","hairlineWidth","buttonStyle","button","aspectRatio","ICON_SIZE_ARROW","GalleryImage","Component","constructor","arguments","onSelectImage","bind","onSelectCaption","onMediaPressed","onCaptionChange","onSelectMedia","updateMediaProgress","finishMediaUploadWithSuccess","finishMediaUploadWithFailure","renderContent","state","captionSelected","isUploadInProgress","didUploadFail","setState","props","isSelected","onSelect","id","url","isBlockSelected","onSelectBlock","media","setAttributes","caption","componentDidUpdate","prevProps","image","source_url","alt","alt_text","payload","mediaServerId","mediaUrl","params","isFirstItem","isLastItem","onRemove","onMoveForward","onMoveBackward","ariaLabel","isCropped","getStylesFromColorScheme","isRTL","isUploadFailed","retryMessage","resizeMode","captionPlaceholderStyle","captionPlaceholder","captionPlaceholderDark","shouldShowCaptionEditable","shouldShowCaptionExpanded","captionContainerStyle","captionExpandedContainer","captionContainer","captionStyle","captionExpanded","mediaPickerOptions","destructiveButton","label","onPress","separated","value","height","warning","toolbarContainer","toolbar","moverButtonContainer","arrowRight","arrowLeft","undefined","color","render","containerStyle","galleryImageContainer","galleryImageContainerDark","accessibilityLabelImageContainer"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport {\n\tStyleSheet,\n\tView,\n\tScrollView,\n\tTouchableWithoutFeedback,\n} from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\trequestImageFailedRetryDialog,\n\trequestImageUploadCancelDialog,\n\trequestImageFullscreenPreview,\n} from '@wordpress/react-native-bridge';\nimport { Component } from '@wordpress/element';\nimport { Image } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Caption, MediaUploadProgress } from '@wordpress/block-editor';\nimport { getProtocol } from '@wordpress/url';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { arrowLeft, arrowRight, warning } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport Button from './gallery-button';\nimport style from './gallery-image-style.scss';\n\nconst { compose } = StyleSheet;\n\nconst separatorStyle = compose( style.separator, {\n\tborderRightWidth: StyleSheet.hairlineWidth,\n} );\nconst buttonStyle = compose( style.button, { aspectRatio: 1 } );\nconst ICON_SIZE_ARROW = 15;\n\nclass GalleryImage extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectImage = this.onSelectImage.bind( this );\n\t\tthis.onSelectCaption = this.onSelectCaption.bind( this );\n\t\tthis.onMediaPressed = this.onMediaPressed.bind( this );\n\t\tthis.onCaptionChange = this.onCaptionChange.bind( this );\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\n\t\tthis.updateMediaProgress = this.updateMediaProgress.bind( this );\n\t\tthis.finishMediaUploadWithSuccess =\n\t\t\tthis.finishMediaUploadWithSuccess.bind( this );\n\t\tthis.finishMediaUploadWithFailure =\n\t\t\tthis.finishMediaUploadWithFailure.bind( this );\n\t\tthis.renderContent = this.renderContent.bind( this );\n\n\t\tthis.state = {\n\t\t\tcaptionSelected: false,\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: false,\n\t\t};\n\t}\n\n\tonSelectCaption() {\n\t\tif ( ! this.state.captionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: true,\n\t\t\t} );\n\t\t}\n\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\t}\n\n\tonMediaPressed() {\n\t\tconst { id, url, isSelected } = this.props;\n\t\tconst { captionSelected, isUploadInProgress, didUploadFail } =\n\t\t\tthis.state;\n\n\t\tthis.onSelectImage();\n\n\t\tif ( isUploadInProgress ) {\n\t\t\trequestImageUploadCancelDialog( id );\n\t\t} else if (\n\t\t\tdidUploadFail ||\n\t\t\t( id && getProtocol( url ) === 'file:' )\n\t\t) {\n\t\t\trequestImageFailedRetryDialog( id );\n\t\t} else if ( isSelected && ! captionSelected ) {\n\t\t\trequestImageFullscreenPreview( url );\n\t\t}\n\t}\n\n\tonSelectImage() {\n\t\tif ( ! this.props.isBlockSelected ) {\n\t\t\tthis.props.onSelectBlock();\n\t\t}\n\n\t\tif ( ! this.props.isSelected ) {\n\t\t\tthis.props.onSelect();\n\t\t}\n\n\t\tif ( this.state.captionSelected ) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( media );\n\t}\n\n\tonCaptionChange( caption ) {\n\t\tconst { setAttributes } = this.props;\n\t\tsetAttributes( { caption } );\n\t}\n\n\tcomponentDidUpdate( prevProps ) {\n\t\tconst { isSelected, image, url } = this.props;\n\t\tif ( image && ! url ) {\n\t\t\tthis.props.setAttributes( {\n\t\t\t\turl: image.source_url,\n\t\t\t\talt: image.alt_text,\n\t\t\t} );\n\t\t}\n\n\t\t// Unselect the caption so when the user selects other image and comeback\n\t\t// the caption is not immediately selected.\n\t\tif (\n\t\t\tthis.state.captionSelected &&\n\t\t\t! isSelected &&\n\t\t\tprevProps.isSelected\n\t\t) {\n\t\t\tthis.setState( {\n\t\t\t\tcaptionSelected: false,\n\t\t\t} );\n\t\t}\n\t}\n\n\tupdateMediaProgress() {\n\t\tif ( ! this.state.isUploadInProgress ) {\n\t\t\tthis.setState( { isUploadInProgress: true } );\n\t\t}\n\t}\n\n\tfinishMediaUploadWithSuccess( payload ) {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: false,\n\t\t} );\n\n\t\tthis.props.setAttributes( {\n\t\t\tid: payload.mediaServerId,\n\t\t\turl: payload.mediaUrl,\n\t\t} );\n\t}\n\n\tfinishMediaUploadWithFailure() {\n\t\tthis.setState( {\n\t\t\tisUploadInProgress: false,\n\t\t\tdidUploadFail: true,\n\t\t} );\n\t}\n\n\trenderContent( params ) {\n\t\tconst {\n\t\t\turl,\n\t\t\tisFirstItem,\n\t\t\tisLastItem,\n\t\t\tisSelected,\n\t\t\tcaption,\n\t\t\tonRemove,\n\t\t\tonMoveForward,\n\t\t\tonMoveBackward,\n\t\t\t'aria-label': ariaLabel,\n\t\t\tisCropped,\n\t\t\tgetStylesFromColorScheme,\n\t\t\tisRTL,\n\t\t} = this.props;\n\n\t\tconst { isUploadInProgress, captionSelected } = this.state;\n\t\tconst { isUploadFailed, retryMessage } = params;\n\t\tconst resizeMode = isCropped ? 'cover' : 'contain';\n\n\t\tconst captionPlaceholderStyle = getStylesFromColorScheme(\n\t\t\tstyle.captionPlaceholder,\n\t\t\tstyle.captionPlaceholderDark\n\t\t);\n\n\t\tconst shouldShowCaptionEditable = ! isUploadFailed && isSelected;\n\t\tconst shouldShowCaptionExpanded =\n\t\t\t! isUploadFailed && ! isSelected && !! caption;\n\n\t\tconst captionContainerStyle = shouldShowCaptionExpanded\n\t\t\t? style.captionExpandedContainer\n\t\t\t: style.captionContainer;\n\n\t\tconst captionStyle = shouldShowCaptionExpanded\n\t\t\t? style.captionExpanded\n\t\t\t: style.caption;\n\n\t\tconst mediaPickerOptions = [\n\t\t\t{\n\t\t\t\tdestructiveButton: true,\n\t\t\t\tid: 'removeImage',\n\t\t\t\tlabel: __( 'Remove' ),\n\t\t\t\tonPress: onRemove,\n\t\t\t\tseparated: true,\n\t\t\t\tvalue: 'removeImage',\n\t\t\t},\n\t\t];\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Image\n\t\t\t\t\talt={ ariaLabel }\n\t\t\t\t\theight={ style.image.height }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisUploadFailed={ isUploadFailed }\n\t\t\t\t\tisUploadInProgress={ isUploadInProgress }\n\t\t\t\t\tmediaPickerOptions={ mediaPickerOptions }\n\t\t\t\t\tonSelectMediaUploadOption={ this.onSelectMedia }\n\t\t\t\t\tresizeMode={ resizeMode }\n\t\t\t\t\turl={ url }\n\t\t\t\t\tretryMessage={ retryMessage }\n\t\t\t\t\tretryIcon={ warning }\n\t\t\t\t/>\n\n\t\t\t\t{ ! isUploadInProgress && isSelected && (\n\t\t\t\t\t<View style={ style.toolbarContainer }>\n\t\t\t\t\t\t<View style={ style.toolbar }>\n\t\t\t\t\t\t\t<View style={ style.moverButtonContainer }>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\t\t\t\ticon={ isRTL ? arrowRight : arrowLeft }\n\t\t\t\t\t\t\t\t\ticonSize={ ICON_SIZE_ARROW }\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tisFirstItem ? undefined : onMoveBackward\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taccessibilityLabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Move Image Backward'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-disabled={ isFirstItem }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<View style={ separatorStyle } />\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tstyle={ buttonStyle }\n\t\t\t\t\t\t\t\t\ticon={ isRTL ? arrowLeft : arrowRight }\n\t\t\t\t\t\t\t\t\ticonSize={ ICON_SIZE_ARROW }\n\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\tisLastItem ? undefined : onMoveForward\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\taccessibilityLabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Move Image Forward'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\taria-disabled={ isLastItem }\n\t\t\t\t\t\t\t\t\tdisabled={ ! isSelected }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isUploadInProgress &&\n\t\t\t\t\t( shouldShowCaptionEditable ||\n\t\t\t\t\t\tshouldShowCaptionExpanded ) && (\n\t\t\t\t\t\t<View style={ captionContainerStyle }>\n\t\t\t\t\t\t\t<ScrollView\n\t\t\t\t\t\t\t\tnestedScrollEnabled\n\t\t\t\t\t\t\t\tkeyboardShouldPersistTaps=\"handled\"\n\t\t\t\t\t\t\t\tbounces={ false }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Caption\n\t\t\t\t\t\t\t\t\tinlineToolbar\n\t\t\t\t\t\t\t\t\tisSelected={ isSelected && captionSelected }\n\t\t\t\t\t\t\t\t\tonChange={ this.onCaptionChange }\n\t\t\t\t\t\t\t\t\tonFocus={ this.onSelectCaption }\n\t\t\t\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\t\t\t\tisSelected ? __( 'Add caption' ) : null\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tplaceholderTextColor={\n\t\t\t\t\t\t\t\t\t\tcaptionPlaceholderStyle.color\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tstyle={ captionStyle }\n\t\t\t\t\t\t\t\t\tvalue={ caption }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ScrollView>\n\t\t\t\t\t\t</View>\n\t\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst { id, onRemove, getStylesFromColorScheme, isSelected } =\n\t\t\tthis.props;\n\n\t\tconst containerStyle = getStylesFromColorScheme(\n\t\t\tstyle.galleryImageContainer,\n\t\t\tstyle.galleryImageContainerDark\n\t\t);\n\n\t\treturn (\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ this.onMediaPressed }\n\t\t\t\taccessible={ ! isSelected } // We need only child views to be accessible after the selection.\n\t\t\t\taccessibilityLabel={ this.accessibilityLabelImageContainer() } // if we don't set this explicitly it reads system provided accessibilityLabels of all child components and those include pretty technical words which don't make sense\n\t\t\t\taccessibilityRole={ 'imagebutton' } // this makes VoiceOver to read a description of image provided by system on iOS and lets user know this is a button which conveys the message of tappablity\n\t\t\t>\n\t\t\t\t<View style={ containerStyle }>\n\t\t\t\t\t<MediaUploadProgress\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tonUpdateMediaProgress={ this.updateMediaProgress }\n\t\t\t\t\t\tonFinishMediaUploadWithSuccess={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithSuccess\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonFinishMediaUploadWithFailure={\n\t\t\t\t\t\t\tthis.finishMediaUploadWithFailure\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonMediaUploadStateReset={ onRemove }\n\t\t\t\t\t\trenderContent={ this.renderContent }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t);\n\t}\n\n\taccessibilityLabelImageContainer() {\n\t\tconst { caption, 'aria-label': ariaLabel } = this.props;\n\n\t\treturn isEmpty( caption )\n\t\t\t? ariaLabel\n\t\t\t: ariaLabel +\n\t\t\t\t\t'. ' +\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: image caption. */\n\t\t\t\t\t\t__( 'Image caption. %s' ),\n\t\t\t\t\t\tcaption\n\t\t\t\t\t);\n\t}\n}\n\nexport default withPreferredColorScheme( GalleryImage );\n"]}
@@ -94,7 +94,7 @@ const Gallery = props => {
94
94
  })), mediaPlaceholder, (0, _element.createElement)(RichTextVisibilityHelper, {
95
95
  isHidden: !isSelected && _blockEditor.RichText.isEmpty(caption),
96
96
  tagName: "figcaption",
97
- className: "blocks-gallery-caption",
97
+ className: (0, _classnames.default)('blocks-gallery-caption', (0, _blockEditor.__experimentalGetElementClassName)('caption')),
98
98
  "aria-label": (0, _i18n.__)('Gallery caption text'),
99
99
  placeholder: (0, _i18n.__)('Write gallery caption…'),
100
100
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery.js"],"names":["Gallery","props","attributes","isSelected","setAttributes","selectedImage","mediaPlaceholder","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onDeselectImage","onSetImageAttributes","insertBlocksAfter","blockProps","align","columns","caption","imageCrop","images","className","map","img","index","ariaLabel","length","id","url","alt","attrs","sizeSlug","RichText","isEmpty","value","RichTextVisibilityHelper","isHidden","richTextProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { RichText } from '@wordpress/block-editor';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\n\nexport const Gallery = ( props ) => {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonDeselectImage,\n\t\tonSetImageAttributes,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\tcaption,\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `columns-${ columns }` ]: columns,\n\t\t\t\t'is-cropped': imageCrop,\n\t\t\t} ) }\n\t\t>\n\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\t\tid={ img.id }\n\t\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\tisSelected && selectedImage === index\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectImage( index ) }\n\t\t\t\t\t\t\t\tonDeselect={ onDeselectImage( index ) }\n\t\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\t\tsizeSlug={ attributes.sizeSlug }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t\t{ mediaPlaceholder }\n\t\t\t<RichTextVisibilityHelper\n\t\t\t\tisHidden={ ! isSelected && RichText.isEmpty( caption ) }\n\t\t\t\ttagName=\"figcaption\"\n\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\taria-label={ __( 'Gallery caption text' ) }\n\t\t\t\tplaceholder={ __( 'Write gallery caption…' ) }\n\t\t\t\tvalue={ caption }\n\t\t\t\tonChange={ ( value ) => setAttributes( { caption: value } ) }\n\t\t\t\tinlineToolbar\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</figure>\n\t);\n};\n\nfunction RichTextVisibilityHelper( { isHidden, ...richTextProps } ) {\n\treturn isHidden ? (\n\t\t<VisuallyHidden as={ RichText } { ...richTextProps } />\n\t) : (\n\t\t<RichText { ...richTextProps } />\n\t);\n}\n\nexport default Gallery;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery.js"],"names":["Gallery","props","attributes","isSelected","setAttributes","selectedImage","mediaPlaceholder","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onDeselectImage","onSetImageAttributes","insertBlocksAfter","blockProps","align","columns","caption","imageCrop","images","className","map","img","index","ariaLabel","length","id","url","alt","attrs","sizeSlug","RichText","isEmpty","value","RichTextVisibilityHelper","isHidden","richTextProps"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\nimport { VisuallyHidden } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\n\nexport const Gallery = ( props ) => {\n\tconst {\n\t\tattributes,\n\t\tisSelected,\n\t\tsetAttributes,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonDeselectImage,\n\t\tonSetImageAttributes,\n\t\tinsertBlocksAfter,\n\t\tblockProps,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\tcaption,\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\treturn (\n\t\t<figure\n\t\t\t{ ...blockProps }\n\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t[ `align${ align }` ]: align,\n\t\t\t\t[ `columns-${ columns }` ]: columns,\n\t\t\t\t'is-cropped': imageCrop,\n\t\t\t} ) }\n\t\t>\n\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t{ images.map( ( img, index ) => {\n\t\t\t\t\tconst ariaLabel = sprintf(\n\t\t\t\t\t\t/* translators: 1: the order number of the image. 2: the total number of images. */\n\t\t\t\t\t\t__( 'image %1$d of %2$d in gallery' ),\n\t\t\t\t\t\tindex + 1,\n\t\t\t\t\t\timages.length\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<GalleryImage\n\t\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\t\tid={ img.id }\n\t\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\t\tisSelected={\n\t\t\t\t\t\t\t\t\tisSelected && selectedImage === index\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\t\tonSelect={ onSelectImage( index ) }\n\t\t\t\t\t\t\t\tonDeselect={ onDeselectImage( index ) }\n\t\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\t\tsizeSlug={ attributes.sizeSlug }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t\t{ mediaPlaceholder }\n\t\t\t<RichTextVisibilityHelper\n\t\t\t\tisHidden={ ! isSelected && RichText.isEmpty( caption ) }\n\t\t\t\ttagName=\"figcaption\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t) }\n\t\t\t\taria-label={ __( 'Gallery caption text' ) }\n\t\t\t\tplaceholder={ __( 'Write gallery caption…' ) }\n\t\t\t\tvalue={ caption }\n\t\t\t\tonChange={ ( value ) => setAttributes( { caption: value } ) }\n\t\t\t\tinlineToolbar\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</figure>\n\t);\n};\n\nfunction RichTextVisibilityHelper( { isHidden, ...richTextProps } ) {\n\treturn isHidden ? (\n\t\t<VisuallyHidden as={ RichText } { ...richTextProps } />\n\t) : (\n\t\t<RichText { ...richTextProps } />\n\t);\n}\n\nexport default Gallery;\n"]}
@@ -1,5 +1,7 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
@@ -7,12 +9,18 @@ exports.default = saveV1;
7
9
 
8
10
  var _element = require("@wordpress/element");
9
11
 
12
+ var _classnames = _interopRequireDefault(require("classnames"));
13
+
10
14
  var _blockEditor = require("@wordpress/block-editor");
11
15
 
12
16
  var _deprecated = require("../deprecated");
13
17
 
14
18
  var _constants = require("./constants");
15
19
 
20
+ /**
21
+ * External dependencies
22
+ */
23
+
16
24
  /**
17
25
  * WordPress dependencies
18
26
  */
@@ -64,12 +72,12 @@ function saveV1(_ref) {
64
72
  href: href
65
73
  }, img) : img, !_blockEditor.RichText.isEmpty(image.caption) && (0, _element.createElement)(_blockEditor.RichText.Content, {
66
74
  tagName: "figcaption",
67
- className: "blocks-gallery-item__caption",
75
+ className: (0, _classnames.default)('blocks-gallery-item', (0, _blockEditor.__experimentalGetElementClassName)('caption')),
68
76
  value: image.caption
69
77
  })));
70
78
  })), !_blockEditor.RichText.isEmpty(caption) && (0, _element.createElement)(_blockEditor.RichText.Content, {
71
79
  tagName: "figcaption",
72
- className: "blocks-gallery-caption",
80
+ className: (0, _classnames.default)('blocks-gallery-caption', (0, _blockEditor.__experimentalGetElementClassName)('caption')),
73
81
  value: caption
74
82
  }));
75
83
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/save.js"],"names":["saveV1","attributes","images","columns","imageCrop","caption","linkTo","className","useBlockProps","save","map","image","href","LINK_DESTINATION_MEDIA","fullUrl","url","LINK_DESTINATION_ATTACHMENT","link","img","alt","id","RichText","isEmpty"],"mappings":";;;;;;;;;AAGA;;AAKA;;AACA;;AATA;AACA;AACA;;AAGA;AACA;AACA;AAOe,SAASA,MAAT,OAAkC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAChD,QAAM;AACLC,IAAAA,MADK;AAELC,IAAAA,OAAO,GAAG,wCAAwBF,UAAxB,CAFL;AAGLG,IAAAA,SAHK;AAILC,IAAAA,OAJK;AAKLC,IAAAA;AALK,MAMFL,UANJ;AAOA,QAAMM,SAAS,GAAI,WAAWJ,OAAS,IAAIC,SAAS,GAAG,YAAH,GAAkB,EAAI,EAA1E;AAEA,SACC,sCAAaI,2BAAcC,IAAd,CAAoB;AAAEF,IAAAA;AAAF,GAApB,CAAb,EACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGL,MAAM,CAACQ,GAAP,CAAcC,KAAF,IAAa;AAC1B,QAAIC,IAAJ;;AAEA,YAASN,MAAT;AACC,WAAKO,iCAAL;AACCD,QAAAA,IAAI,GAAGD,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,GAA9B;AACA;;AACD,WAAKC,sCAAL;AACCJ,QAAAA,IAAI,GAAGD,KAAK,CAACM,IAAb;AACA;AANF;;AASA,UAAMC,GAAG,GACR;AACC,MAAA,GAAG,EAAGP,KAAK,CAACI,GADb;AAEC,MAAA,GAAG,EAAGJ,KAAK,CAACQ,GAFb;AAGC,iBAAUR,KAAK,CAACS,EAHjB;AAIC,uBAAgBT,KAAK,CAACG,OAJvB;AAKC,mBAAYH,KAAK,CAACM,IALnB;AAMC,MAAA,SAAS,EACRN,KAAK,CAACS,EAAN,GAAY,YAAYT,KAAK,CAACS,EAAI,EAAlC,GAAsC;AAPxC,MADD;AAaA,WACC;AACC,MAAA,GAAG,EAAGT,KAAK,CAACS,EAAN,IAAYT,KAAK,CAACI,GADzB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,4CACGH,IAAI,GAAG;AAAG,MAAA,IAAI,EAAGA;AAAV,OAAmBM,GAAnB,CAAH,GAAkCA,GADzC,EAEG,CAAEG,sBAASC,OAAT,CAAkBX,KAAK,CAACN,OAAxB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,8BAFX;AAGC,MAAA,KAAK,EAAGM,KAAK,CAACN;AAHf,MAHF,CAJD,CADD;AAiBA,GA1CC,CADH,CADD,EA8CG,CAAEgB,sBAASC,OAAT,CAAkBjB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,SAAS,EAAC,wBAFX;AAGC,IAAA,KAAK,EAAGA;AAHT,IA/CF,CADD;AAwDA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { RichText, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nexport default function saveV1( { attributes } ) {\n\tconst {\n\t\timages,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\tcaption,\n\t\tlinkTo,\n\t} = attributes;\n\tconst className = `columns-${ columns } ${ imageCrop ? 'is-cropped' : '' }`;\n\n\treturn (\n\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"blocks-gallery-item__caption\"\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName=\"blocks-gallery-caption\"\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/save.js"],"names":["saveV1","attributes","images","columns","imageCrop","caption","linkTo","className","useBlockProps","save","map","image","href","LINK_DESTINATION_MEDIA","fullUrl","url","LINK_DESTINATION_ATTACHMENT","link","img","alt","id","RichText","isEmpty"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AASA;;AACA;;AAlBA;AACA;AACA;;AAGA;AACA;AACA;;AAOA;AACA;AACA;AAOe,SAASA,MAAT,OAAkC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAChD,QAAM;AACLC,IAAAA,MADK;AAELC,IAAAA,OAAO,GAAG,wCAAwBF,UAAxB,CAFL;AAGLG,IAAAA,SAHK;AAILC,IAAAA,OAJK;AAKLC,IAAAA;AALK,MAMFL,UANJ;AAOA,QAAMM,SAAS,GAAI,WAAWJ,OAAS,IAAIC,SAAS,GAAG,YAAH,GAAkB,EAAI,EAA1E;AAEA,SACC,sCAAaI,2BAAcC,IAAd,CAAoB;AAAEF,IAAAA;AAAF,GAApB,CAAb,EACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGL,MAAM,CAACQ,GAAP,CAAcC,KAAF,IAAa;AAC1B,QAAIC,IAAJ;;AAEA,YAASN,MAAT;AACC,WAAKO,iCAAL;AACCD,QAAAA,IAAI,GAAGD,KAAK,CAACG,OAAN,IAAiBH,KAAK,CAACI,GAA9B;AACA;;AACD,WAAKC,sCAAL;AACCJ,QAAAA,IAAI,GAAGD,KAAK,CAACM,IAAb;AACA;AANF;;AASA,UAAMC,GAAG,GACR;AACC,MAAA,GAAG,EAAGP,KAAK,CAACI,GADb;AAEC,MAAA,GAAG,EAAGJ,KAAK,CAACQ,GAFb;AAGC,iBAAUR,KAAK,CAACS,EAHjB;AAIC,uBAAgBT,KAAK,CAACG,OAJvB;AAKC,mBAAYH,KAAK,CAACM,IALnB;AAMC,MAAA,SAAS,EACRN,KAAK,CAACS,EAAN,GAAY,YAAYT,KAAK,CAACS,EAAI,EAAlC,GAAsC;AAPxC,MADD;AAaA,WACC;AACC,MAAA,GAAG,EAAGT,KAAK,CAACS,EAAN,IAAYT,KAAK,CAACI,GADzB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,4CACGH,IAAI,GAAG;AAAG,MAAA,IAAI,EAAGA;AAAV,OAAmBM,GAAnB,CAAH,GAAkCA,GADzC,EAEG,CAAEG,sBAASC,OAAT,CAAkBX,KAAK,CAACN,OAAxB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAG,yBACX,qBADW,EAEX,oDACC,SADD,CAFW,CAFb;AAQC,MAAA,KAAK,EAAGM,KAAK,CAACN;AARf,MAHF,CAJD,CADD;AAsBA,GA/CC,CADH,CADD,EAmDG,CAAEgB,sBAASC,OAAT,CAAkBjB,OAAlB,CAAF,IACD,4BAAC,qBAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,SAAS,EAAG,yBACX,wBADW,EAEX,oDAAmC,SAAnC,CAFW,CAFb;AAMC,IAAA,KAAK,EAAGA;AANT,IApDF,CADD;AAgEA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tuseBlockProps,\n\t__experimentalGetElementClassName,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\n\nexport default function saveV1( { attributes } ) {\n\tconst {\n\t\timages,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\tcaption,\n\t\tlinkTo,\n\t} = attributes;\n\tconst className = `columns-${ columns } ${ imageCrop ? 'is-cropped' : '' }`;\n\n\treturn (\n\t\t<figure { ...useBlockProps.save( { className } ) }>\n\t\t\t<ul className=\"blocks-gallery-grid\">\n\t\t\t\t{ images.map( ( image ) => {\n\t\t\t\t\tlet href;\n\n\t\t\t\t\tswitch ( linkTo ) {\n\t\t\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\t\t\thref = image.fullUrl || image.url;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\t\t\thref = image.link;\n\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst img = (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ image.url }\n\t\t\t\t\t\t\talt={ image.alt }\n\t\t\t\t\t\t\tdata-id={ image.id }\n\t\t\t\t\t\t\tdata-full-url={ image.fullUrl }\n\t\t\t\t\t\t\tdata-link={ image.link }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\timage.id ? `wp-image-${ image.id }` : null\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li\n\t\t\t\t\t\t\tkey={ image.id || image.url }\n\t\t\t\t\t\t\tclassName=\"blocks-gallery-item\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<figure>\n\t\t\t\t\t\t\t\t{ href ? <a href={ href }>{ img }</a> : img }\n\t\t\t\t\t\t\t\t{ ! RichText.isEmpty( image.caption ) && (\n\t\t\t\t\t\t\t\t\t<RichText.Content\n\t\t\t\t\t\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'blocks-gallery-item',\n\t\t\t\t\t\t\t\t\t\t\t__experimentalGetElementClassName(\n\t\t\t\t\t\t\t\t\t\t\t\t'caption'\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tvalue={ image.caption }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</figure>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t\t{ ! RichText.isEmpty( caption ) && (\n\t\t\t\t<RichText.Content\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'blocks-gallery-caption',\n\t\t\t\t\t\t__experimentalGetElementClassName( 'caption' )\n\t\t\t\t\t) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</figure>\n\t);\n}\n"]}
@@ -51,6 +51,7 @@ const metadata = {
51
51
  __experimentalSettings: true,
52
52
  align: ["wide", "full"],
53
53
  anchor: true,
54
+ ariaLabel: true,
54
55
  html: false,
55
56
  color: {
56
57
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","edit","save","deprecated","variations"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAE;AACNC,QAAAA,KAAK,EAAE;AACNC,UAAAA,IAAI,EAAE,SADA;AAENC,UAAAA,UAAU,EAAE;AAFN;AADD;AADI,KADJ;AASRC,IAAAA,WAAW,EAAE,CACZ;AACCV,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KADY,EASZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KATY,EAiBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,QAAJ;AAHE;AAFb,KAjBY,EAyBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAzBY,EAiCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAjCY,EAyCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KAzCY;AATL,GAFc;AA8DvBC,EAAAA,UAAU,EAAVA,mBA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,IAAI,EAAJA,aAhEuB;AAiEvBC,EAAAA,UAAU,EAAVA,mBAjEuB;AAkEvBC,EAAAA,UAAU,EAAVA;AAlEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["name","metadata","settings","icon","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","edit","save","deprecated","variations"],"mappings":";;;;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAEA;;AACA;;AACA;;AAdA;AACA;AACA;;AAIA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQA,MAAM;AAAEA,EAAAA;AAAF,IAAWC,QAAjB;;AAIO,MAAMC,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAJA,YADuB;AAEvBC,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,KAAK,EAAE;AACNC,QAAAA,KAAK,EAAE;AACNC,UAAAA,IAAI,EAAE,SADA;AAENC,UAAAA,UAAU,EAAE;AAFN;AADD;AADI,KADJ;AASRC,IAAAA,WAAW,EAAE,CACZ;AACCV,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KADY,EASZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KATY,EAiBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,QAAJ;AAHE;AAFb,KAjBY,EAyBZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAzBY,EAiCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,OAAJ;AAHE;AAFb,KAjCY,EAyCZ;AACCb,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAE,cAAI,MAAJ;AAHE;AAFb,KAzCY;AATL,GAFc;AA8DvBC,EAAAA,UAAU,EAAVA,mBA9DuB;AA+DvBC,EAAAA,IAAI,EAAJA,aA/DuB;AAgEvBC,EAAAA,IAAI,EAAJA,aAhEuB;AAiEvBC,EAAAA,UAAU,EAAVA,mBAjEuB;AAkEvBC,EAAAA,UAAU,EAAVA;AAlEuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n"]}
@@ -1,11 +1,13 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  Object.defineProperty(exports, "__esModule", {
4
6
  value: true
5
7
  });
6
8
  exports.setAnchor = exports.generateAnchor = void 0;
7
9
 
8
- var _lodash = require("lodash");
10
+ var _removeAccents = _interopRequireDefault(require("remove-accents"));
9
11
 
10
12
  /**
11
13
  * External dependencies
@@ -41,7 +43,10 @@ const getTextWithoutMarkup = text => {
41
43
 
42
44
  const getSlug = content => {
43
45
  // Get the slug.
44
- return (0, _lodash.trim)((0, _lodash.deburr)(getTextWithoutMarkup(content)).replace(/[^\p{L}\p{N}]+/gu, '-').toLowerCase(), '-');
46
+ return (0, _removeAccents.default)(getTextWithoutMarkup(content)) // Convert anything that's not a letter or number to a hyphen.
47
+ .replace(/[^\p{L}\p{N}]+/gu, '-') // Convert to lowercase
48
+ .toLowerCase() // Remove any remaining leading or trailing hyphens.
49
+ .replace(/(^-+)|(-+$)/g, '');
45
50
  };
46
51
  /**
47
52
  * Generate the anchor for a heading.
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/autogenerate-anchors.js"],"names":["anchors","getTextWithoutMarkup","text","dummyElement","document","createElement","innerHTML","innerText","getSlug","content","replace","toLowerCase","generateAnchor","clientId","slug","anchor","i","Object","values","includes","setAnchor"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,oBAAoB,GAAKC,IAAF,IAAY;AACxC,QAAMC,YAAY,GAAGC,QAAQ,CAACC,aAAT,CAAwB,KAAxB,CAArB;AACAF,EAAAA,YAAY,CAACG,SAAb,GAAyBJ,IAAzB;AACA,SAAOC,YAAY,CAACI,SAApB;AACA,CAJD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,OAAO,GAAKC,OAAF,IAAe;AAC9B;AACA,SAAO,kBACN,oBAAQR,oBAAoB,CAAEQ,OAAF,CAA5B,EACEC,OADF,CACW,kBADX,EAC+B,GAD/B,EAEEC,WAFF,EADM,EAIN,GAJM,CAAP;AAMA,CARD;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAMC,cAAc,GAAG,CAAEC,QAAF,EAAYJ,OAAZ,KAAyB;AACtD,QAAMK,IAAI,GAAGN,OAAO,CAAEC,OAAF,CAApB,CADsD,CAEtD;AACA;;AACA,MAAK,OAAOK,IAAZ,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOd,OAAO,CAAEa,QAAF,CAAd;AAEA,MAAIE,MAAM,GAAGD,IAAb;AACA,MAAIE,CAAC,GAAG,CAAR,CAXsD,CAatD;;AACA,SAAQC,MAAM,CAACC,MAAP,CAAelB,OAAf,EAAyBmB,QAAzB,CAAmCJ,MAAnC,CAAR,EAAsD;AACrDC,IAAAA,CAAC,IAAI,CAAL;AACAD,IAAAA,MAAM,GAAGD,IAAI,GAAG,GAAP,GAAaE,CAAtB;AACA;;AAED,SAAOD,MAAP;AACA,CApBM;AAsBP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMK,SAAS,GAAG,CAAEP,QAAF,EAAYE,MAAZ,KAAwB;AAChDf,EAAAA,OAAO,CAAEa,QAAF,CAAP,GAAsBE,MAAtB;AACA,CAFM","sourcesContent":["/**\n * External dependencies\n */\nimport { deburr, trim } from 'lodash';\n\n/**\n * Object map tracking anchors.\n *\n * @type {Record<string, string | null>}\n */\nconst anchors = {};\n\n/**\n * Returns the text without markup.\n *\n * @param {string} text The text.\n *\n * @return {string} The text without markup.\n */\nconst getTextWithoutMarkup = ( text ) => {\n\tconst dummyElement = document.createElement( 'div' );\n\tdummyElement.innerHTML = text;\n\treturn dummyElement.innerText;\n};\n\n/**\n * Get the slug from the content.\n *\n * @param {string} content The block content.\n *\n * @return {string} Returns the slug.\n */\nconst getSlug = ( content ) => {\n\t// Get the slug.\n\treturn trim(\n\t\tdeburr( getTextWithoutMarkup( content ) )\n\t\t\t.replace( /[^\\p{L}\\p{N}]+/gu, '-' )\n\t\t\t.toLowerCase(),\n\t\t'-'\n\t);\n};\n\n/**\n * Generate the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string} content The block content.\n *\n * @return {string|null} Return the heading anchor.\n */\nexport const generateAnchor = ( clientId, content ) => {\n\tconst slug = getSlug( content );\n\t// If slug is empty, then return null.\n\t// Returning null instead of an empty string allows us to check again when the content changes.\n\tif ( '' === slug ) {\n\t\treturn null;\n\t}\n\n\tdelete anchors[ clientId ];\n\n\tlet anchor = slug;\n\tlet i = 0;\n\n\t// If the anchor already exists in another heading, append -i.\n\twhile ( Object.values( anchors ).includes( anchor ) ) {\n\t\ti += 1;\n\t\tanchor = slug + '-' + i;\n\t}\n\n\treturn anchor;\n};\n\n/**\n * Set the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string|null} anchor The block anchor.\n */\nexport const setAnchor = ( clientId, anchor ) => {\n\tanchors[ clientId ] = anchor;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/autogenerate-anchors.js"],"names":["anchors","getTextWithoutMarkup","text","dummyElement","document","createElement","innerHTML","innerText","getSlug","content","replace","toLowerCase","generateAnchor","clientId","slug","anchor","i","Object","values","includes","setAnchor"],"mappings":";;;;;;;;;AAGA;;AAHA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA,MAAMA,OAAO,GAAG,EAAhB;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,MAAMC,oBAAoB,GAAKC,IAAF,IAAY;AACxC,QAAMC,YAAY,GAAGC,QAAQ,CAACC,aAAT,CAAwB,KAAxB,CAArB;AACAF,EAAAA,YAAY,CAACG,SAAb,GAAyBJ,IAAzB;AACA,SAAOC,YAAY,CAACI,SAApB;AACA,CAJD;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACA,MAAMC,OAAO,GAAKC,OAAF,IAAe;AAC9B;AACA,SACC,4BAAeR,oBAAoB,CAAEQ,OAAF,CAAnC,EACC;AADD,GAEEC,OAFF,CAEW,kBAFX,EAE+B,GAF/B,EAGC;AAHD,GAIEC,WAJF,GAKC;AALD,GAMED,OANF,CAMW,cANX,EAM2B,EAN3B,CADD;AASA,CAXD;AAaA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACO,MAAME,cAAc,GAAG,CAAEC,QAAF,EAAYJ,OAAZ,KAAyB;AACtD,QAAMK,IAAI,GAAGN,OAAO,CAAEC,OAAF,CAApB,CADsD,CAEtD;AACA;;AACA,MAAK,OAAOK,IAAZ,EAAmB;AAClB,WAAO,IAAP;AACA;;AAED,SAAOd,OAAO,CAAEa,QAAF,CAAd;AAEA,MAAIE,MAAM,GAAGD,IAAb;AACA,MAAIE,CAAC,GAAG,CAAR,CAXsD,CAatD;;AACA,SAAQC,MAAM,CAACC,MAAP,CAAelB,OAAf,EAAyBmB,QAAzB,CAAmCJ,MAAnC,CAAR,EAAsD;AACrDC,IAAAA,CAAC,IAAI,CAAL;AACAD,IAAAA,MAAM,GAAGD,IAAI,GAAG,GAAP,GAAaE,CAAtB;AACA;;AAED,SAAOD,MAAP;AACA,CApBM;AAsBP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,MAAMK,SAAS,GAAG,CAAEP,QAAF,EAAYE,MAAZ,KAAwB;AAChDf,EAAAA,OAAO,CAAEa,QAAF,CAAP,GAAsBE,MAAtB;AACA,CAFM","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * Object map tracking anchors.\n *\n * @type {Record<string, string | null>}\n */\nconst anchors = {};\n\n/**\n * Returns the text without markup.\n *\n * @param {string} text The text.\n *\n * @return {string} The text without markup.\n */\nconst getTextWithoutMarkup = ( text ) => {\n\tconst dummyElement = document.createElement( 'div' );\n\tdummyElement.innerHTML = text;\n\treturn dummyElement.innerText;\n};\n\n/**\n * Get the slug from the content.\n *\n * @param {string} content The block content.\n *\n * @return {string} Returns the slug.\n */\nconst getSlug = ( content ) => {\n\t// Get the slug.\n\treturn (\n\t\tremoveAccents( getTextWithoutMarkup( content ) )\n\t\t\t// Convert anything that's not a letter or number to a hyphen.\n\t\t\t.replace( /[^\\p{L}\\p{N}]+/gu, '-' )\n\t\t\t// Convert to lowercase\n\t\t\t.toLowerCase()\n\t\t\t// Remove any remaining leading or trailing hyphens.\n\t\t\t.replace( /(^-+)|(-+$)/g, '' )\n\t);\n};\n\n/**\n * Generate the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string} content The block content.\n *\n * @return {string|null} Return the heading anchor.\n */\nexport const generateAnchor = ( clientId, content ) => {\n\tconst slug = getSlug( content );\n\t// If slug is empty, then return null.\n\t// Returning null instead of an empty string allows us to check again when the content changes.\n\tif ( '' === slug ) {\n\t\treturn null;\n\t}\n\n\tdelete anchors[ clientId ];\n\n\tlet anchor = slug;\n\tlet i = 0;\n\n\t// If the anchor already exists in another heading, append -i.\n\twhile ( Object.values( anchors ).includes( anchor ) ) {\n\t\ti += 1;\n\t\tanchor = slug + '-' + i;\n\t}\n\n\treturn anchor;\n};\n\n/**\n * Set the anchor for a heading.\n *\n * @param {string} clientId The block ID.\n * @param {string|null} anchor The block anchor.\n */\nexport const setAnchor = ( clientId, anchor ) => {\n\tanchors[ clientId ] = anchor;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/deprecated.js"],"names":["blockSupports","className","anchor","blockAttributes","align","type","content","source","selector","default","level","placeholder","migrateCustomColors","attributes","customTextColor","style","color","text","TEXT_ALIGN_OPTIONS","migrateTextAlign","rest","includes","textAlign","deprecated","supports","link","fontSize","lineHeight","__experimentalSelector","__unstablePasteTextInline","isEligible","migrate","save","TagName","useBlockProps","textColor","tagName","textClass","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst blockSupports = {\n\tclassName: false,\n\tanchor: true,\n};\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\tdefault: '',\n\t},\n\tlevel: {\n\t\ttype: 'number',\n\t\tdefault: 2,\n\t},\n\tplaceholder: {\n\t\ttype: 'string',\n\t},\n};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\ttext: attributes.customTextColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customTextColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst TEXT_ALIGN_OPTIONS = [ 'left', 'right', 'center' ];\n\nconst migrateTextAlign = ( attributes ) => {\n\tconst { align, ...rest } = attributes;\n\treturn TEXT_ALIGN_OPTIONS.includes( align )\n\t\t? { ...rest, textAlign: align }\n\t\t: attributes;\n};\n\nconst deprecated = [\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tclassName: false,\n\t\t\tcolor: { link: true },\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalSelector: {\n\t\t\t\t'core/heading/h1': 'h1',\n\t\t\t\t'core/heading/h2': 'h2',\n\t\t\t\t'core/heading/h3': 'h3',\n\t\t\t\t'core/heading/h4': 'h4',\n\t\t\t\t'core/heading/h5': 'h5',\n\t\t\t\t'core/heading/h6': 'h6',\n\t\t\t},\n\t\t\t__unstablePasteTextInline: true,\n\t\t},\n\t\tattributes: blockAttributes,\n\t\tisEligible: ( { align } ) => TEXT_ALIGN_OPTIONS.includes( align ),\n\t\tmigrate: migrateTextAlign,\n\t\tsave( { attributes } ) {\n\t\t\tconst { align, content, level } = attributes;\n\t\t\tconst TagName = 'h' + level;\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t\t<RichText.Content value={ content } />\n\t\t\t\t</TagName>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: blockSupports,\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\talign,\n\t\t\t\tcontent,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlevel,\n\t\t\t\ttextColor,\n\t\t\t} = attributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\talign,\n\t\t\t\tcontent,\n\t\t\t\tcustomTextColor,\n\t\t\t\tlevel,\n\t\t\t\ttextColor,\n\t\t\t} = attributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tsupports: blockSupports,\n\t},\n\t{\n\t\tsupports: blockSupports,\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\talign,\n\t\t\t\tlevel,\n\t\t\t\tcontent,\n\t\t\t\ttextColor,\n\t\t\t\tcustomTextColor,\n\t\t\t} = attributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/deprecated.js"],"names":["blockSupports","className","anchor","blockAttributes","align","type","content","source","selector","default","level","placeholder","migrateCustomColors","attributes","customTextColor","style","color","text","TEXT_ALIGN_OPTIONS","migrateTextAlign","rest","includes","textAlign","deprecated","supports","link","fontSize","lineHeight","__experimentalSelector","__unstablePasteTextInline","isEligible","migrate","save","TagName","useBlockProps","textColor","tagName","textClass","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tgetColorClassName,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\nconst blockSupports = {\n\tclassName: false,\n\tanchor: true,\n};\n\nconst blockAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t},\n\tcontent: {\n\t\ttype: 'string',\n\t\tsource: 'html',\n\t\tselector: 'h1,h2,h3,h4,h5,h6',\n\t\tdefault: '',\n\t},\n\tlevel: {\n\t\ttype: 'number',\n\t\tdefault: 2,\n\t},\n\tplaceholder: {\n\t\ttype: 'string',\n\t},\n};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customTextColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\ttext: attributes.customTextColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customTextColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst TEXT_ALIGN_OPTIONS = [ 'left', 'right', 'center' ];\n\nconst migrateTextAlign = ( attributes ) => {\n\tconst { align, ...rest } = attributes;\n\treturn TEXT_ALIGN_OPTIONS.includes( align )\n\t\t? { ...rest, textAlign: align }\n\t\t: attributes;\n};\n\nconst deprecated = [\n\t{\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\tclassName: false,\n\t\t\tcolor: { link: true },\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalSelector: {\n\t\t\t\t'core/heading/h1': 'h1',\n\t\t\t\t'core/heading/h2': 'h2',\n\t\t\t\t'core/heading/h3': 'h3',\n\t\t\t\t'core/heading/h4': 'h4',\n\t\t\t\t'core/heading/h5': 'h5',\n\t\t\t\t'core/heading/h6': 'h6',\n\t\t\t},\n\t\t\t__unstablePasteTextInline: true,\n\t\t},\n\t\tattributes: blockAttributes,\n\t\tisEligible: ( { align } ) => TEXT_ALIGN_OPTIONS.includes( align ),\n\t\tmigrate: migrateTextAlign,\n\t\tsave( { attributes } ) {\n\t\t\tconst { align, content, level } = attributes;\n\t\t\tconst TagName = 'h' + level;\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<TagName { ...useBlockProps.save( { className } ) }>\n\t\t\t\t\t<RichText.Content value={ content } />\n\t\t\t\t</TagName>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tsupports: blockSupports,\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\t\tattributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t'has-text-color': textColor || customTextColor,\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst { align, content, customTextColor, level, textColor } =\n\t\t\t\tattributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t\t[ `has-text-align-${ align }` ]: align,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t\tsupports: blockSupports,\n\t},\n\t{\n\t\tsupports: blockSupports,\n\t\tattributes: {\n\t\t\t...blockAttributes,\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tmigrate: ( attributes ) =>\n\t\t\tmigrateCustomColors( migrateTextAlign( attributes ) ),\n\t\tsave( { attributes } ) {\n\t\t\tconst { align, level, content, textColor, customTextColor } =\n\t\t\t\tattributes;\n\t\t\tconst tagName = 'h' + level;\n\n\t\t\tconst textClass = getColorClassName( 'color', textColor );\n\n\t\t\tconst className = classnames( {\n\t\t\t\t[ textClass ]: textClass,\n\t\t\t} );\n\n\t\t\treturn (\n\t\t\t\t<RichText.Content\n\t\t\t\t\tclassName={ className ? className : undefined }\n\t\t\t\t\ttagName={ tagName }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\ttextAlign: align,\n\t\t\t\t\t\tcolor: textClass ? undefined : customTextColor,\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ content }\n\t\t\t\t/>\n\t\t\t);\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}