@wordpress/block-library 7.8.0 → 7.11.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 (759) 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/save.js +2 -1
  5. package/build/audio/save.js.map +1 -1
  6. package/build/avatar/hooks.js +2 -2
  7. package/build/avatar/hooks.js.map +1 -1
  8. package/build/button/edit.js +3 -2
  9. package/build/button/edit.js.map +1 -1
  10. package/build/button/index.js +1 -24
  11. package/build/button/index.js.map +1 -1
  12. package/build/button/save.js +1 -1
  13. package/build/button/save.js.map +1 -1
  14. package/build/buttons/edit.js +1 -1
  15. package/build/buttons/edit.js.map +1 -1
  16. package/build/columns/edit.native.js +1 -1
  17. package/build/columns/edit.native.js.map +1 -1
  18. package/build/columns/variations.js +2 -2
  19. package/build/columns/variations.js.map +1 -1
  20. package/build/comment-author-name/edit.js +3 -5
  21. package/build/comment-author-name/edit.js.map +1 -1
  22. package/build/comment-author-name/index.js +0 -4
  23. package/build/comment-author-name/index.js.map +1 -1
  24. package/build/comment-date/edit.js +4 -4
  25. package/build/comment-date/edit.js.map +1 -1
  26. package/build/comment-date/index.js +0 -4
  27. package/build/comment-date/index.js.map +1 -1
  28. package/build/comment-edit-link/index.js +0 -4
  29. package/build/comment-edit-link/index.js.map +1 -1
  30. package/build/comment-reply-link/index.js +0 -4
  31. package/build/comment-reply-link/index.js.map +1 -1
  32. package/build/comment-template/index.js +1 -1
  33. package/build/comments/deprecated.js +65 -0
  34. package/build/comments/deprecated.js.map +1 -0
  35. package/build/comments/edit/comments-legacy.js +73 -0
  36. package/build/comments/edit/comments-legacy.js.map +1 -0
  37. package/build/comments/{edit.js → edit/index.js} +17 -30
  38. package/build/comments/edit/index.js.map +1 -0
  39. package/build/comments/edit/placeholder.js +117 -0
  40. package/build/comments/edit/placeholder.js.map +1 -0
  41. package/build/comments/edit/template.js +39 -0
  42. package/build/comments/edit/template.js.map +1 -0
  43. package/build/comments/index.js +11 -3
  44. package/build/comments/index.js.map +1 -1
  45. package/build/comments/save.js +12 -4
  46. package/build/comments/save.js.map +1 -1
  47. package/build/comments-pagination/index.js +1 -1
  48. package/build/comments-title/deprecated.js +1 -4
  49. package/build/comments-title/deprecated.js.map +1 -1
  50. package/build/comments-title/index.js +1 -1
  51. package/build/cover/edit/block-controls.js +2 -12
  52. package/build/cover/edit/block-controls.js.map +1 -1
  53. package/build/cover/edit/cover-placeholder.js +3 -1
  54. package/build/cover/edit/cover-placeholder.js.map +1 -1
  55. package/build/cover/edit/index.js +19 -4
  56. package/build/cover/edit/index.js.map +1 -1
  57. package/build/cover/index.js +1 -0
  58. package/build/cover/index.js.map +1 -1
  59. package/build/cover/transforms.js +3 -2
  60. package/build/cover/transforms.js.map +1 -1
  61. package/build/embed/embed-placeholder.native.js +1 -3
  62. package/build/embed/embed-placeholder.native.js.map +1 -1
  63. package/build/embed/embed-preview.js +1 -0
  64. package/build/embed/embed-preview.js.map +1 -1
  65. package/build/embed/icons.js +21 -1
  66. package/build/embed/icons.js.map +1 -1
  67. package/build/embed/save.js +1 -0
  68. package/build/embed/save.js.map +1 -1
  69. package/build/embed/variations.js +11 -0
  70. package/build/embed/variations.js.map +1 -1
  71. package/build/file/edit.js +1 -1
  72. package/build/file/edit.js.map +1 -1
  73. package/build/file/save.js +1 -1
  74. package/build/file/save.js.map +1 -1
  75. package/build/gallery/edit.js +11 -19
  76. package/build/gallery/edit.js.map +1 -1
  77. package/build/gallery/gallery.js +1 -1
  78. package/build/gallery/gallery.js.map +1 -1
  79. package/build/gallery/save.js +1 -1
  80. package/build/gallery/save.js.map +1 -1
  81. package/build/gallery/transforms.js +32 -22
  82. package/build/gallery/transforms.js.map +1 -1
  83. package/build/gallery/use-get-media.js +7 -18
  84. package/build/gallery/use-get-media.js.map +1 -1
  85. package/build/gallery/use-get-media.native.js +59 -0
  86. package/build/gallery/use-get-media.native.js.map +1 -0
  87. package/build/gallery/v1/edit.js +3 -3
  88. package/build/gallery/v1/edit.js.map +1 -1
  89. package/build/gallery/v1/gallery-image.js +1 -0
  90. package/build/gallery/v1/gallery-image.js.map +1 -1
  91. package/build/gallery/v1/gallery.js +1 -1
  92. package/build/gallery/v1/gallery.js.map +1 -1
  93. package/build/gallery/v1/save.js +10 -2
  94. package/build/gallery/v1/save.js.map +1 -1
  95. package/build/group/edit.js +1 -3
  96. package/build/group/edit.js.map +1 -1
  97. package/build/group/index.js +2 -0
  98. package/build/group/index.js.map +1 -1
  99. package/build/group/variations.js +1 -1
  100. package/build/group/variations.js.map +1 -1
  101. package/build/heading/heading-level-dropdown.js +2 -1
  102. package/build/heading/heading-level-dropdown.js.map +1 -1
  103. package/build/heading/index.js +9 -4
  104. package/build/heading/index.js.map +1 -1
  105. package/build/html/edit.js +11 -20
  106. package/build/html/edit.js.map +1 -1
  107. package/build/html/preview.js +48 -0
  108. package/build/html/preview.js.map +1 -0
  109. package/build/image/deprecated.js +77 -9
  110. package/build/image/deprecated.js.map +1 -1
  111. package/build/image/edit.js +3 -1
  112. package/build/image/edit.js.map +1 -1
  113. package/build/image/edit.native.js +20 -9
  114. package/build/image/edit.native.js.map +1 -1
  115. package/build/image/image.js +28 -20
  116. package/build/image/image.js.map +1 -1
  117. package/build/image/index.js +7 -1
  118. package/build/image/index.js.map +1 -1
  119. package/build/image/save.js +9 -2
  120. package/build/image/save.js.map +1 -1
  121. package/build/index.js +1 -3
  122. package/build/index.js.map +1 -1
  123. package/build/index.native.js +3 -13
  124. package/build/index.native.js.map +1 -1
  125. package/build/latest-posts/edit.js +1 -1
  126. package/build/latest-posts/edit.js.map +1 -1
  127. package/build/list/transforms.js +4 -63
  128. package/build/list/transforms.js.map +1 -1
  129. package/build/list/v2/transforms.js +31 -42
  130. package/build/list/v2/transforms.js.map +1 -1
  131. package/build/list-item/edit.js +14 -9
  132. package/build/list-item/edit.js.map +1 -1
  133. package/build/list-item/hooks/index.js +8 -8
  134. package/build/list-item/hooks/index.js.map +1 -1
  135. package/build/list-item/hooks/use-enter.js +7 -4
  136. package/build/list-item/hooks/use-enter.js.map +1 -1
  137. package/build/list-item/hooks/use-merge.js +174 -0
  138. package/build/list-item/hooks/use-merge.js.map +1 -0
  139. package/build/list-item/hooks/use-outdent-list-item.js +93 -36
  140. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  141. package/build/list-item/utils.js +125 -1
  142. package/build/list-item/utils.js.map +1 -1
  143. package/build/media-text/deprecated.js +134 -7
  144. package/build/media-text/deprecated.js.map +1 -1
  145. package/build/media-text/edit.js +2 -2
  146. package/build/media-text/edit.js.map +1 -1
  147. package/build/media-text/save.js +13 -0
  148. package/build/media-text/save.js.map +1 -1
  149. package/build/more/edit.js +2 -4
  150. package/build/more/edit.js.map +1 -1
  151. package/build/more/save.js +1 -7
  152. package/build/more/save.js.map +1 -1
  153. package/build/navigation/edit/index.js +1 -1
  154. package/build/navigation/edit/index.js.map +1 -1
  155. package/build/navigation/index.js +9 -0
  156. package/build/navigation/index.js.map +1 -1
  157. package/build/navigation/use-navigation-menu.js +16 -74
  158. package/build/navigation/use-navigation-menu.js.map +1 -1
  159. package/build/navigation/view.js +6 -1
  160. package/build/navigation/view.js.map +1 -1
  161. package/build/navigation-link/edit.js +5 -4
  162. package/build/navigation-link/edit.js.map +1 -1
  163. package/build/navigation-link/hooks.js +0 -16
  164. package/build/navigation-link/hooks.js.map +1 -1
  165. package/build/navigation-link/index.js +1 -1
  166. package/build/navigation-link/index.js.map +1 -1
  167. package/build/navigation-submenu/edit.js +2 -1
  168. package/build/navigation-submenu/edit.js.map +1 -1
  169. package/build/navigation-submenu/view.js +6 -1
  170. package/build/navigation-submenu/view.js.map +1 -1
  171. package/build/nextpage/edit.js +1 -3
  172. package/build/nextpage/edit.js.map +1 -1
  173. package/build/page-list/edit.js +10 -3
  174. package/build/page-list/edit.js.map +1 -1
  175. package/build/paragraph/edit.js +7 -11
  176. package/build/paragraph/edit.js.map +1 -1
  177. package/build/post-comments-form/edit.js +4 -37
  178. package/build/post-comments-form/edit.js.map +1 -1
  179. package/build/post-comments-form/form.js +47 -3
  180. package/build/post-comments-form/form.js.map +1 -1
  181. package/build/post-terms/edit.js +3 -2
  182. package/build/post-terms/edit.js.map +1 -1
  183. package/build/post-terms/index.js +1 -1
  184. package/build/post-terms/index.js.map +1 -1
  185. package/build/post-title/index.js +1 -0
  186. package/build/post-title/index.js.map +1 -1
  187. package/build/query/edit/inspector-controls/index.js +1 -1
  188. package/build/query/edit/inspector-controls/index.js.map +1 -1
  189. package/build/query/index.js +1 -1
  190. package/build/query/index.js.map +1 -1
  191. package/build/query-no-results/edit.js +1 -1
  192. package/build/query-no-results/edit.js.map +1 -1
  193. package/build/query-pagination-next/edit.js +2 -1
  194. package/build/query-pagination-next/edit.js.map +1 -1
  195. package/build/query-pagination-previous/edit.js +2 -1
  196. package/build/query-pagination-previous/edit.js.map +1 -1
  197. package/build/quote/deprecated.js +168 -36
  198. package/build/quote/deprecated.js.map +1 -1
  199. package/build/quote/edit.js +76 -39
  200. package/build/quote/edit.js.map +1 -1
  201. package/build/quote/index.js +9 -45
  202. package/build/quote/index.js.map +1 -1
  203. package/build/quote/save.js +1 -5
  204. package/build/quote/save.js.map +1 -1
  205. package/build/quote/transforms.js +110 -158
  206. package/build/quote/transforms.js.map +1 -1
  207. package/build/search/edit.js +1 -1
  208. package/build/search/edit.js.map +1 -1
  209. package/build/site-logo/edit.js +5 -13
  210. package/build/site-logo/edit.js.map +1 -1
  211. package/build/site-title/edit/level-toolbar.js +2 -1
  212. package/build/site-title/edit/level-toolbar.js.map +1 -1
  213. package/build/social-link/icons/index.js +13 -0
  214. package/build/social-link/icons/index.js.map +1 -1
  215. package/build/social-link/icons/whatsapp.js +25 -0
  216. package/build/social-link/icons/whatsapp.js.map +1 -0
  217. package/build/social-link/variations.js +7 -0
  218. package/build/social-link/variations.js.map +1 -1
  219. package/build/table/edit.js +1 -0
  220. package/build/table/edit.js.map +1 -1
  221. package/build/table/save.js +2 -1
  222. package/build/table/save.js.map +1 -1
  223. package/build/template-part/edit/index.js +17 -8
  224. package/build/template-part/edit/index.js.map +1 -1
  225. package/build/template-part/edit/selection-modal.js +33 -13
  226. package/build/template-part/edit/selection-modal.js.map +1 -1
  227. package/build/template-part/edit/utils/search.js +94 -0
  228. package/build/template-part/edit/utils/search.js.map +1 -0
  229. package/build/template-part/index.js +1 -1
  230. package/build/template-part/index.js.map +1 -1
  231. package/build/template-part/variations.js +0 -16
  232. package/build/template-part/variations.js.map +1 -1
  233. package/build/utils/clean-empty-object.js +5 -3
  234. package/build/utils/clean-empty-object.js.map +1 -1
  235. package/build/video/edit.js +1 -0
  236. package/build/video/edit.js.map +1 -1
  237. package/build/video/save.js +1 -0
  238. package/build/video/save.js.map +1 -1
  239. package/build/video/tracks-editor.js +9 -11
  240. package/build/video/tracks-editor.js.map +1 -1
  241. package/build-module/audio/edit.js +2 -1
  242. package/build-module/audio/edit.js.map +1 -1
  243. package/build-module/audio/save.js +3 -2
  244. package/build-module/audio/save.js.map +1 -1
  245. package/build-module/avatar/hooks.js +2 -2
  246. package/build-module/avatar/hooks.js.map +1 -1
  247. package/build-module/button/edit.js +4 -3
  248. package/build-module/button/edit.js.map +1 -1
  249. package/build-module/button/index.js +1 -24
  250. package/build-module/button/index.js.map +1 -1
  251. package/build-module/button/save.js +2 -2
  252. package/build-module/button/save.js.map +1 -1
  253. package/build-module/buttons/edit.js +2 -2
  254. package/build-module/buttons/edit.js.map +1 -1
  255. package/build-module/columns/edit.native.js +2 -2
  256. package/build-module/columns/edit.native.js.map +1 -1
  257. package/build-module/columns/variations.js +2 -2
  258. package/build-module/columns/variations.js.map +1 -1
  259. package/build-module/comment-author-name/edit.js +3 -5
  260. package/build-module/comment-author-name/edit.js.map +1 -1
  261. package/build-module/comment-author-name/index.js +0 -4
  262. package/build-module/comment-author-name/index.js.map +1 -1
  263. package/build-module/comment-date/edit.js +4 -4
  264. package/build-module/comment-date/edit.js.map +1 -1
  265. package/build-module/comment-date/index.js +0 -4
  266. package/build-module/comment-date/index.js.map +1 -1
  267. package/build-module/comment-edit-link/index.js +0 -4
  268. package/build-module/comment-edit-link/index.js.map +1 -1
  269. package/build-module/comment-reply-link/index.js +0 -4
  270. package/build-module/comment-reply-link/index.js.map +1 -1
  271. package/build-module/comment-template/index.js +1 -1
  272. package/build-module/comments/deprecated.js +54 -0
  273. package/build-module/comments/deprecated.js.map +1 -0
  274. package/build-module/comments/edit/comments-legacy.js +59 -0
  275. package/build-module/comments/edit/comments-legacy.js.map +1 -0
  276. package/build-module/comments/edit/index.js +37 -0
  277. package/build-module/comments/edit/index.js.map +1 -0
  278. package/build-module/comments/edit/placeholder.js +102 -0
  279. package/build-module/comments/edit/placeholder.js.map +1 -0
  280. package/build-module/comments/edit/template.js +32 -0
  281. package/build-module/comments/edit/template.js.map +1 -0
  282. package/build-module/comments/index.js +10 -3
  283. package/build-module/comments/index.js.map +1 -1
  284. package/build-module/comments/save.js +9 -4
  285. package/build-module/comments/save.js.map +1 -1
  286. package/build-module/comments-pagination/index.js +1 -1
  287. package/build-module/comments-title/deprecated.js +1 -4
  288. package/build-module/comments-title/deprecated.js.map +1 -1
  289. package/build-module/comments-title/index.js +1 -1
  290. package/build-module/cover/edit/block-controls.js +3 -13
  291. package/build-module/cover/edit/block-controls.js.map +1 -1
  292. package/build-module/cover/edit/cover-placeholder.js +3 -1
  293. package/build-module/cover/edit/cover-placeholder.js.map +1 -1
  294. package/build-module/cover/edit/index.js +19 -4
  295. package/build-module/cover/edit/index.js.map +1 -1
  296. package/build-module/cover/index.js +1 -0
  297. package/build-module/cover/index.js.map +1 -1
  298. package/build-module/cover/transforms.js +3 -2
  299. package/build-module/cover/transforms.js.map +1 -1
  300. package/build-module/embed/embed-placeholder.native.js +1 -2
  301. package/build-module/embed/embed-placeholder.native.js.map +1 -1
  302. package/build-module/embed/embed-preview.js +2 -1
  303. package/build-module/embed/embed-preview.js.map +1 -1
  304. package/build-module/embed/icons.js +19 -0
  305. package/build-module/embed/icons.js.map +1 -1
  306. package/build-module/embed/save.js +2 -1
  307. package/build-module/embed/save.js.map +1 -1
  308. package/build-module/embed/variations.js +12 -1
  309. package/build-module/embed/variations.js.map +1 -1
  310. package/build-module/file/edit.js +2 -2
  311. package/build-module/file/edit.js.map +1 -1
  312. package/build-module/file/save.js +2 -2
  313. package/build-module/file/save.js.map +1 -1
  314. package/build-module/gallery/edit.js +11 -18
  315. package/build-module/gallery/edit.js.map +1 -1
  316. package/build-module/gallery/gallery.js +2 -2
  317. package/build-module/gallery/gallery.js.map +1 -1
  318. package/build-module/gallery/save.js +2 -2
  319. package/build-module/gallery/save.js.map +1 -1
  320. package/build-module/gallery/transforms.js +33 -23
  321. package/build-module/gallery/transforms.js.map +1 -1
  322. package/build-module/gallery/use-get-media.js +6 -16
  323. package/build-module/gallery/use-get-media.js.map +1 -1
  324. package/build-module/gallery/use-get-media.native.js +50 -0
  325. package/build-module/gallery/use-get-media.native.js.map +1 -0
  326. package/build-module/gallery/v1/edit.js +4 -4
  327. package/build-module/gallery/v1/edit.js.map +1 -1
  328. package/build-module/gallery/v1/gallery-image.js +2 -1
  329. package/build-module/gallery/v1/gallery-image.js.map +1 -1
  330. package/build-module/gallery/v1/gallery.js +2 -2
  331. package/build-module/gallery/v1/gallery.js.map +1 -1
  332. package/build-module/gallery/v1/save.js +8 -3
  333. package/build-module/gallery/v1/save.js.map +1 -1
  334. package/build-module/group/edit.js +1 -3
  335. package/build-module/group/edit.js.map +1 -1
  336. package/build-module/group/index.js +2 -0
  337. package/build-module/group/index.js.map +1 -1
  338. package/build-module/group/variations.js +2 -2
  339. package/build-module/group/variations.js.map +1 -1
  340. package/build-module/heading/heading-level-dropdown.js +2 -1
  341. package/build-module/heading/heading-level-dropdown.js.map +1 -1
  342. package/build-module/heading/index.js +9 -4
  343. package/build-module/heading/index.js.map +1 -1
  344. package/build-module/html/edit.js +12 -23
  345. package/build-module/html/edit.js.map +1 -1
  346. package/build-module/html/preview.js +38 -0
  347. package/build-module/html/preview.js.map +1 -0
  348. package/build-module/image/deprecated.js +77 -9
  349. package/build-module/image/deprecated.js.map +1 -1
  350. package/build-module/image/edit.js +5 -3
  351. package/build-module/image/edit.js.map +1 -1
  352. package/build-module/image/edit.native.js +20 -9
  353. package/build-module/image/edit.native.js.map +1 -1
  354. package/build-module/image/image.js +30 -22
  355. package/build-module/image/image.js.map +1 -1
  356. package/build-module/image/index.js +7 -1
  357. package/build-module/image/index.js.map +1 -1
  358. package/build-module/image/save.js +10 -3
  359. package/build-module/image/save.js.map +1 -1
  360. package/build-module/index.js +1 -2
  361. package/build-module/index.js.map +1 -1
  362. package/build-module/index.native.js +3 -13
  363. package/build-module/index.native.js.map +1 -1
  364. package/build-module/latest-posts/edit.js +2 -2
  365. package/build-module/latest-posts/edit.js.map +1 -1
  366. package/build-module/list/transforms.js +4 -63
  367. package/build-module/list/transforms.js.map +1 -1
  368. package/build-module/list/v2/transforms.js +32 -44
  369. package/build-module/list/v2/transforms.js.map +1 -1
  370. package/build-module/list-item/edit.js +14 -10
  371. package/build-module/list-item/edit.js.map +1 -1
  372. package/build-module/list-item/hooks/index.js +1 -1
  373. package/build-module/list-item/hooks/index.js.map +1 -1
  374. package/build-module/list-item/hooks/use-enter.js +7 -4
  375. package/build-module/list-item/hooks/use-enter.js.map +1 -1
  376. package/build-module/list-item/hooks/use-merge.js +160 -0
  377. package/build-module/list-item/hooks/use-merge.js.map +1 -0
  378. package/build-module/list-item/hooks/use-outdent-list-item.js +88 -33
  379. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  380. package/build-module/list-item/utils.js +123 -2
  381. package/build-module/list-item/utils.js.map +1 -1
  382. package/build-module/media-text/deprecated.js +134 -8
  383. package/build-module/media-text/deprecated.js.map +1 -1
  384. package/build-module/media-text/edit.js +2 -2
  385. package/build-module/media-text/edit.js.map +1 -1
  386. package/build-module/media-text/save.js +13 -0
  387. package/build-module/media-text/save.js.map +1 -1
  388. package/build-module/more/edit.js +2 -4
  389. package/build-module/more/edit.js.map +1 -1
  390. package/build-module/more/save.js +1 -6
  391. package/build-module/more/save.js.map +1 -1
  392. package/build-module/navigation/edit/index.js +1 -1
  393. package/build-module/navigation/edit/index.js.map +1 -1
  394. package/build-module/navigation/index.js +9 -0
  395. package/build-module/navigation/index.js.map +1 -1
  396. package/build-module/navigation/use-navigation-menu.js +17 -75
  397. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  398. package/build-module/navigation/view.js +6 -1
  399. package/build-module/navigation/view.js.map +1 -1
  400. package/build-module/navigation-link/edit.js +5 -4
  401. package/build-module/navigation-link/edit.js.map +1 -1
  402. package/build-module/navigation-link/hooks.js +0 -13
  403. package/build-module/navigation-link/hooks.js.map +1 -1
  404. package/build-module/navigation-link/index.js +1 -1
  405. package/build-module/navigation-link/index.js.map +1 -1
  406. package/build-module/navigation-submenu/edit.js +2 -1
  407. package/build-module/navigation-submenu/edit.js.map +1 -1
  408. package/build-module/navigation-submenu/view.js +6 -1
  409. package/build-module/navigation-submenu/view.js.map +1 -1
  410. package/build-module/nextpage/edit.js +1 -3
  411. package/build-module/nextpage/edit.js.map +1 -1
  412. package/build-module/page-list/edit.js +10 -3
  413. package/build-module/page-list/edit.js.map +1 -1
  414. package/build-module/paragraph/edit.js +8 -12
  415. package/build-module/paragraph/edit.js.map +1 -1
  416. package/build-module/post-comments-form/edit.js +5 -35
  417. package/build-module/post-comments-form/edit.js.map +1 -1
  418. package/build-module/post-comments-form/form.js +46 -5
  419. package/build-module/post-comments-form/form.js.map +1 -1
  420. package/build-module/post-terms/edit.js +3 -2
  421. package/build-module/post-terms/edit.js.map +1 -1
  422. package/build-module/post-terms/index.js +1 -1
  423. package/build-module/post-terms/index.js.map +1 -1
  424. package/build-module/post-title/index.js +1 -0
  425. package/build-module/post-title/index.js.map +1 -1
  426. package/build-module/query/edit/inspector-controls/index.js +1 -1
  427. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  428. package/build-module/query/index.js +1 -1
  429. package/build-module/query/index.js.map +1 -1
  430. package/build-module/query-no-results/edit.js +2 -2
  431. package/build-module/query-no-results/edit.js.map +1 -1
  432. package/build-module/query-pagination-next/edit.js +2 -1
  433. package/build-module/query-pagination-next/edit.js.map +1 -1
  434. package/build-module/query-pagination-previous/edit.js +2 -1
  435. package/build-module/query-pagination-previous/edit.js.map +1 -1
  436. package/build-module/quote/deprecated.js +162 -36
  437. package/build-module/quote/deprecated.js.map +1 -1
  438. package/build-module/quote/edit.js +77 -43
  439. package/build-module/quote/edit.js.map +1 -1
  440. package/build-module/quote/index.js +9 -39
  441. package/build-module/quote/index.js.map +1 -1
  442. package/build-module/quote/save.js +4 -8
  443. package/build-module/quote/save.js.map +1 -1
  444. package/build-module/quote/transforms.js +111 -158
  445. package/build-module/quote/transforms.js.map +1 -1
  446. package/build-module/search/edit.js +2 -2
  447. package/build-module/search/edit.js.map +1 -1
  448. package/build-module/site-logo/edit.js +5 -13
  449. package/build-module/site-logo/edit.js.map +1 -1
  450. package/build-module/site-title/edit/level-toolbar.js +2 -1
  451. package/build-module/site-title/edit/level-toolbar.js.map +1 -1
  452. package/build-module/social-link/icons/index.js +1 -0
  453. package/build-module/social-link/icons/index.js.map +1 -1
  454. package/build-module/social-link/icons/whatsapp.js +15 -0
  455. package/build-module/social-link/icons/whatsapp.js.map +1 -0
  456. package/build-module/social-link/variations.js +8 -1
  457. package/build-module/social-link/variations.js.map +1 -1
  458. package/build-module/table/edit.js +2 -1
  459. package/build-module/table/edit.js.map +1 -1
  460. package/build-module/table/save.js +3 -2
  461. package/build-module/table/save.js.map +1 -1
  462. package/build-module/template-part/edit/index.js +20 -11
  463. package/build-module/template-part/edit/index.js.map +1 -1
  464. package/build-module/template-part/edit/selection-modal.js +33 -15
  465. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  466. package/build-module/template-part/edit/utils/search.js +84 -0
  467. package/build-module/template-part/edit/utils/search.js.map +1 -0
  468. package/build-module/template-part/index.js +1 -1
  469. package/build-module/template-part/index.js.map +1 -1
  470. package/build-module/template-part/variations.js +0 -13
  471. package/build-module/template-part/variations.js.map +1 -1
  472. package/build-module/utils/clean-empty-object.js +5 -2
  473. package/build-module/utils/clean-empty-object.js.map +1 -1
  474. package/build-module/video/edit.js +2 -1
  475. package/build-module/video/edit.js.map +1 -1
  476. package/build-module/video/save.js +2 -1
  477. package/build-module/video/save.js.map +1 -1
  478. package/build-module/video/tracks-editor.js +9 -11
  479. package/build-module/video/tracks-editor.js.map +1 -1
  480. package/build-style/button/style-rtl.css +6 -1
  481. package/build-style/button/style.css +6 -1
  482. package/build-style/comment-template/style-rtl.css +12 -0
  483. package/build-style/comment-template/style.css +12 -0
  484. package/build-style/comments/editor-rtl.css +122 -0
  485. package/build-style/comments/editor.css +122 -0
  486. package/build-style/{post-comments → comments}/style-rtl.css +3 -1
  487. package/build-style/{post-comments → comments}/style.css +3 -1
  488. package/build-style/common-rtl.css +7 -0
  489. package/build-style/common.css +7 -0
  490. package/build-style/cover/style-rtl.css +2 -2
  491. package/build-style/cover/style.css +2 -2
  492. package/build-style/editor-elements-rtl.css +85 -0
  493. package/build-style/editor-elements.css +85 -0
  494. package/build-style/editor-rtl.css +154 -10
  495. package/build-style/editor.css +154 -10
  496. package/build-style/{post-comments/editor-rtl.css → elements-rtl.css} +5 -2
  497. package/build-style/{post-comments/editor.css → elements.css} +5 -2
  498. package/build-style/file/style-rtl.css +5 -8
  499. package/build-style/file/style.css +5 -8
  500. package/build-style/gallery/style-rtl.css +7 -2
  501. package/build-style/gallery/style.css +7 -2
  502. package/build-style/image/editor-rtl.css +4 -3
  503. package/build-style/image/editor.css +4 -3
  504. package/build-style/image/style-rtl.css +33 -3
  505. package/build-style/image/style.css +33 -3
  506. package/build-style/navigation/style-rtl.css +9 -1
  507. package/build-style/navigation/style.css +9 -1
  508. package/build-style/post-comments-form/editor-rtl.css +3 -0
  509. package/build-style/post-comments-form/editor.css +3 -0
  510. package/build-style/post-comments-form/style-rtl.css +0 -1
  511. package/build-style/post-comments-form/style.css +0 -1
  512. package/build-style/post-template/style-rtl.css +9 -18
  513. package/build-style/post-template/style.css +9 -18
  514. package/build-style/query/editor-rtl.css +1 -1
  515. package/build-style/query/editor.css +1 -1
  516. package/build-style/search/style-rtl.css +6 -8
  517. package/build-style/search/style.css +6 -8
  518. package/build-style/search/theme-rtl.css +5 -0
  519. package/build-style/search/theme.css +5 -0
  520. package/build-style/social-link/editor-rtl.css +1 -0
  521. package/build-style/social-link/editor.css +1 -0
  522. package/build-style/social-links/style-rtl.css +8 -0
  523. package/build-style/social-links/style.css +8 -0
  524. package/build-style/style-rtl.css +216 -154
  525. package/build-style/style.css +216 -154
  526. package/build-style/template-part/editor-rtl.css +14 -3
  527. package/build-style/template-part/editor.css +14 -3
  528. package/build-style/theme-rtl.css +5 -0
  529. package/build-style/theme.css +5 -0
  530. package/package.json +28 -28
  531. package/src/audio/edit.js +4 -0
  532. package/src/audio/save.js +12 -2
  533. package/src/avatar/hooks.js +6 -9
  534. package/src/button/block.json +1 -24
  535. package/src/button/edit.js +3 -2
  536. package/src/button/save.js +2 -2
  537. package/src/button/style.scss +13 -1
  538. package/src/buttons/edit.js +1 -5
  539. package/src/columns/edit.native.js +2 -2
  540. package/src/columns/variations.js +2 -2
  541. package/src/comment-author-name/block.json +0 -4
  542. package/src/comment-author-name/edit.js +3 -12
  543. package/src/comment-date/block.json +0 -4
  544. package/src/comment-date/edit.js +10 -14
  545. package/src/comment-date/index.php +0 -3
  546. package/src/comment-edit-link/block.json +0 -4
  547. package/src/comment-reply-link/block.json +0 -4
  548. package/src/comment-template/block.json +1 -1
  549. package/src/comment-template/style.scss +14 -0
  550. package/src/comments/block.json +7 -2
  551. package/src/comments/deprecated.js +53 -0
  552. package/src/comments/edit/comments-legacy.js +71 -0
  553. package/src/comments/edit/index.js +35 -0
  554. package/src/comments/edit/placeholder.js +124 -0
  555. package/src/comments/{edit.js → edit/template.js} +25 -32
  556. package/src/comments/editor.scss +9 -0
  557. package/src/comments/index.js +2 -0
  558. package/src/comments/index.php +219 -0
  559. package/src/comments/save.js +8 -7
  560. package/src/{post-comments → comments}/style.scss +14 -3
  561. package/src/comments-pagination/block.json +1 -1
  562. package/src/comments-title/block.json +1 -1
  563. package/src/comments-title/deprecated.js +0 -2
  564. package/src/common.scss +2 -0
  565. package/src/cover/block.json +1 -0
  566. package/src/cover/edit/block-controls.js +4 -20
  567. package/src/cover/edit/cover-placeholder.js +2 -0
  568. package/src/cover/edit/index.js +16 -0
  569. package/src/cover/index.php +21 -8
  570. package/src/cover/style.scss +2 -2
  571. package/src/cover/transforms.js +2 -2
  572. package/src/editor-elements.scss +10 -0
  573. package/src/editor.scss +2 -1
  574. package/src/elements.scss +6 -0
  575. package/src/embed/embed-placeholder.native.js +2 -3
  576. package/src/embed/embed-preview.js +8 -1
  577. package/src/embed/icons.js +25 -0
  578. package/src/embed/save.js +10 -2
  579. package/src/embed/test/__snapshots__/index.native.js.snap +1 -1
  580. package/src/embed/variations.js +10 -0
  581. package/src/file/edit.js +4 -2
  582. package/src/file/save.js +2 -2
  583. package/src/file/style.scss +5 -5
  584. package/src/freeform/editor.scss +0 -2
  585. package/src/gallery/edit.js +12 -23
  586. package/src/gallery/gallery.js +9 -2
  587. package/src/gallery/index.php +5 -1
  588. package/src/gallery/save.js +5 -1
  589. package/src/gallery/style.scss +10 -1
  590. package/src/gallery/test/__snapshots__/index.native.js.snap +2 -2
  591. package/src/gallery/test/helpers.native.js +11 -198
  592. package/src/gallery/test/index.native.js +19 -29
  593. package/src/gallery/transforms.js +28 -13
  594. package/src/gallery/use-get-media.js +11 -28
  595. package/src/gallery/use-get-media.native.js +44 -0
  596. package/src/gallery/v1/edit.js +3 -4
  597. package/src/gallery/v1/gallery-image.js +4 -0
  598. package/src/gallery/v1/gallery.js +8 -2
  599. package/src/gallery/v1/save.js +20 -3
  600. package/src/group/block.json +2 -0
  601. package/src/group/edit.js +1 -3
  602. package/src/group/variations.js +2 -2
  603. package/src/heading/heading-level-dropdown.js +1 -0
  604. package/src/heading/index.js +8 -2
  605. package/src/html/edit.js +10 -40
  606. package/src/html/preview.js +46 -0
  607. package/src/image/block.json +7 -1
  608. package/src/image/deprecated.js +86 -0
  609. package/src/image/edit.js +6 -1
  610. package/src/image/edit.native.js +19 -7
  611. package/src/image/editor.scss +9 -4
  612. package/src/image/image.js +28 -16
  613. package/src/image/save.js +20 -3
  614. package/src/image/style.scss +39 -3
  615. package/src/image/test/edit.native.js +51 -19
  616. package/src/index.js +0 -2
  617. package/src/index.native.js +2 -11
  618. package/src/latest-posts/edit.js +2 -6
  619. package/src/list/transforms.js +0 -47
  620. package/src/list/v2/transforms.js +23 -46
  621. package/src/list-item/edit.js +10 -12
  622. package/src/list-item/hooks/index.js +1 -1
  623. package/src/list-item/hooks/use-enter.js +9 -6
  624. package/src/list-item/hooks/use-merge.js +141 -0
  625. package/src/list-item/hooks/use-outdent-list-item.js +79 -54
  626. package/src/list-item/utils.js +27 -3
  627. package/src/media-text/deprecated.js +148 -1
  628. package/src/media-text/edit.js +2 -1
  629. package/src/media-text/save.js +18 -0
  630. package/src/more/edit.js +9 -11
  631. package/src/more/save.js +3 -6
  632. package/src/navigation/block.json +9 -0
  633. package/src/navigation/edit/index.js +1 -0
  634. package/src/navigation/style.scss +11 -2
  635. package/src/navigation/test/use-navigation-menu.js +16 -11
  636. package/src/navigation/use-navigation-menu.js +26 -83
  637. package/src/navigation/view.js +6 -1
  638. package/src/navigation-link/edit.js +4 -3
  639. package/src/navigation-link/hooks.js +0 -14
  640. package/src/navigation-link/index.js +1 -1
  641. package/src/navigation-link/test/__snapshots__/hooks.js.snap +0 -93
  642. package/src/navigation-link/test/hooks.js +0 -12
  643. package/src/navigation-submenu/edit.js +1 -0
  644. package/src/navigation-submenu/view.js +6 -1
  645. package/src/nextpage/edit.js +1 -3
  646. package/src/page-list/edit.js +12 -5
  647. package/src/paragraph/edit.js +8 -14
  648. package/src/post-comments-form/edit.js +3 -58
  649. package/src/post-comments-form/editor.scss +4 -0
  650. package/src/post-comments-form/form.js +81 -6
  651. package/src/post-comments-form/index.php +1 -1
  652. package/src/post-comments-form/style.scss +0 -1
  653. package/src/post-featured-image/index.php +4 -2
  654. package/src/post-template/index.php +23 -17
  655. package/src/post-template/style.scss +1 -7
  656. package/src/post-terms/edit.js +3 -2
  657. package/src/post-terms/index.js +1 -1
  658. package/src/post-title/block.json +1 -0
  659. package/src/query/edit/inspector-controls/index.js +1 -1
  660. package/src/query/editor.scss +1 -1
  661. package/src/query/index.js +1 -1
  662. package/src/query-no-results/edit.js +2 -5
  663. package/src/query-no-results/index.php +10 -8
  664. package/src/query-pagination-next/edit.js +1 -0
  665. package/src/query-pagination-previous/edit.js +1 -0
  666. package/src/quote/deprecated.js +213 -99
  667. package/src/quote/edit.js +77 -52
  668. package/src/quote/index.js +10 -33
  669. package/src/quote/save.js +5 -5
  670. package/src/quote/{v2/test → test}/migrate.js +2 -7
  671. package/src/quote/transforms.js +117 -147
  672. package/src/search/edit.js +2 -2
  673. package/src/search/index.php +12 -10
  674. package/src/search/style.scss +9 -8
  675. package/src/search/theme.scss +5 -0
  676. package/src/site-logo/edit.js +2 -11
  677. package/src/site-title/edit/level-toolbar.js +1 -0
  678. package/src/social-link/editor.scss +3 -0
  679. package/src/social-link/icons/index.js +1 -0
  680. package/src/social-link/icons/whatsapp.js +10 -0
  681. package/src/social-link/index.php +20 -0
  682. package/src/social-link/socials-with-bg.scss +5 -0
  683. package/src/social-link/socials-without-bg.scss +5 -0
  684. package/src/social-link/variations.js +7 -0
  685. package/src/style.scss +1 -1
  686. package/src/table/edit.js +2 -0
  687. package/src/table/save.js +6 -1
  688. package/src/template-part/edit/index.js +37 -24
  689. package/src/template-part/edit/selection-modal.js +68 -40
  690. package/src/template-part/edit/utils/search.js +76 -0
  691. package/src/template-part/editor.scss +21 -9
  692. package/src/template-part/index.js +1 -1
  693. package/src/template-part/index.php +56 -2
  694. package/src/template-part/variations.js +0 -11
  695. package/src/utils/clean-empty-object.js +8 -2
  696. package/src/video/edit.js +4 -0
  697. package/src/video/save.js +10 -2
  698. package/src/video/tracks-editor.js +1 -1
  699. package/build/comments/edit.js.map +0 -1
  700. package/build/gallery/use-short-code-transform.js +0 -64
  701. package/build/gallery/use-short-code-transform.js.map +0 -1
  702. package/build/list-item/hooks/use-backspace.js +0 -59
  703. package/build/list-item/hooks/use-backspace.js.map +0 -1
  704. package/build/navigation-link/fallback-variations.js +0 -75
  705. package/build/navigation-link/fallback-variations.js.map +0 -1
  706. package/build/post-comments/edit.js +0 -184
  707. package/build/post-comments/edit.js.map +0 -1
  708. package/build/post-comments/index.js +0 -72
  709. package/build/post-comments/index.js.map +0 -1
  710. package/build/quote/v2/deprecated.js +0 -133
  711. package/build/quote/v2/deprecated.js.map +0 -1
  712. package/build/quote/v2/edit.js +0 -139
  713. package/build/quote/v2/edit.js.map +0 -1
  714. package/build/quote/v2/index.js +0 -49
  715. package/build/quote/v2/index.js.map +0 -1
  716. package/build/quote/v2/save.js +0 -43
  717. package/build/quote/v2/save.js.map +0 -1
  718. package/build/quote/v2/transforms.js +0 -156
  719. package/build/quote/v2/transforms.js.map +0 -1
  720. package/build/template-part/fallback-variations.js +0 -59
  721. package/build/template-part/fallback-variations.js.map +0 -1
  722. package/build-module/comments/edit.js +0 -51
  723. package/build-module/comments/edit.js.map +0 -1
  724. package/build-module/gallery/use-short-code-transform.js +0 -54
  725. package/build-module/gallery/use-short-code-transform.js.map +0 -1
  726. package/build-module/list-item/hooks/use-backspace.js +0 -44
  727. package/build-module/list-item/hooks/use-backspace.js.map +0 -1
  728. package/build-module/navigation-link/fallback-variations.js +0 -65
  729. package/build-module/navigation-link/fallback-variations.js.map +0 -1
  730. package/build-module/post-comments/edit.js +0 -171
  731. package/build-module/post-comments/edit.js.map +0 -1
  732. package/build-module/post-comments/index.js +0 -59
  733. package/build-module/post-comments/index.js.map +0 -1
  734. package/build-module/quote/v2/deprecated.js +0 -116
  735. package/build-module/quote/v2/deprecated.js.map +0 -1
  736. package/build-module/quote/v2/edit.js +0 -122
  737. package/build-module/quote/v2/edit.js.map +0 -1
  738. package/build-module/quote/v2/index.js +0 -33
  739. package/build-module/quote/v2/index.js.map +0 -1
  740. package/build-module/quote/v2/save.js +0 -30
  741. package/build-module/quote/v2/save.js.map +0 -1
  742. package/build-module/quote/v2/transforms.js +0 -147
  743. package/build-module/quote/v2/transforms.js.map +0 -1
  744. package/build-module/template-part/fallback-variations.js +0 -47
  745. package/build-module/template-part/fallback-variations.js.map +0 -1
  746. package/src/gallery/use-short-code-transform.js +0 -55
  747. package/src/list-item/hooks/use-backspace.js +0 -51
  748. package/src/navigation-link/fallback-variations.js +0 -65
  749. package/src/post-comments/block.json +0 -45
  750. package/src/post-comments/edit.js +0 -247
  751. package/src/post-comments/editor.scss +0 -3
  752. package/src/post-comments/index.js +0 -18
  753. package/src/post-comments/index.php +0 -87
  754. package/src/quote/v2/deprecated.js +0 -107
  755. package/src/quote/v2/edit.js +0 -139
  756. package/src/quote/v2/index.js +0 -36
  757. package/src/quote/v2/save.js +0 -26
  758. package/src/quote/v2/transforms.js +0 -155
  759. package/src/template-part/fallback-variations.js +0 -51
@@ -4,7 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
4
4
  /**
5
5
  * External dependencies
6
6
  */
7
- import { every, filter, find, forEach, get, isEmpty, map, reduce, some, toString } from 'lodash';
7
+ import { every, filter, find, forEach, get, isEmpty, map, reduce, some } from 'lodash';
8
8
  /**
9
9
  * WordPress dependencies
10
10
  */
@@ -192,7 +192,7 @@ function GalleryEdit(props) {
192
192
  // The image id in both the images and attachmentCaptions arrays is a
193
193
  // string, so ensure comparison works correctly by converting the
194
194
  // newImage.id to a string.
195
- const newImageId = toString(newImage.id);
195
+ const newImageId = newImage.id.toString();
196
196
  const currentImage = find(images, {
197
197
  id: newImageId
198
198
  });
@@ -217,7 +217,7 @@ function GalleryEdit(props) {
217
217
  setAttachmentCaptions(newImages.map(newImage => ({
218
218
  // Store the attachmentCaption id as a string for consistency
219
219
  // with the type of the id in the images attribute.
220
- id: toString(newImage.id),
220
+ id: newImage.id.toString(),
221
221
  caption: newImage.caption
222
222
  })));
223
223
  setAttributes({
@@ -226,7 +226,7 @@ function GalleryEdit(props) {
226
226
  // The id value is stored in a data attribute, so when the
227
227
  // block is parsed it's converted to a string. Converting
228
228
  // to a string here ensures it's type is consistent.
229
- id: toString(newImage.id)
229
+ id: newImage.id.toString()
230
230
  })),
231
231
  columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns
232
232
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["every","filter","find","forEach","get","isEmpty","map","reduce","some","toString","compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","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","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","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","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","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","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 } =\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 = 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":["every","filter","find","forEach","get","isEmpty","map","reduce","some","compose","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","MediaPlaceholder","InspectorControls","useBlockProps","store","blockEditorStore","Platform","useEffect","useState","useMemo","__","getBlobByURL","isBlobURL","revokeBlobURL","useDispatch","useSelect","withViewportMatch","View","coreStore","sharedIcon","pickRelevantMediaFiles","defaultColumnsNumberV1","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","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","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","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","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","mediaPlaceholder","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","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"]}
@@ -14,7 +14,7 @@ import { Button, Spinner, ButtonGroup } from '@wordpress/components';
14
14
  import { __ } from '@wordpress/i18n';
15
15
  import { BACKSPACE, DELETE } from '@wordpress/keycodes';
16
16
  import { withSelect, withDispatch } from '@wordpress/data';
17
- import { RichText, MediaPlaceholder, store as blockEditorStore } from '@wordpress/block-editor';
17
+ import { RichText, MediaPlaceholder, store as blockEditorStore, __experimentalGetElementClassName } from '@wordpress/block-editor';
18
18
  import { isBlobURL } from '@wordpress/blob';
19
19
  import { compose } from '@wordpress/compose';
20
20
  import { closeSmall, chevronLeft, chevronRight, edit, image as imageIcon } from '@wordpress/icons';
@@ -237,6 +237,7 @@ class GalleryImage extends Component {
237
237
  disabled: !isSelected
238
238
  })), !isEditing && (isSelected || caption) && createElement(RichText, {
239
239
  tagName: "figcaption",
240
+ className: __experimentalGetElementClassName('caption'),
240
241
  "aria-label": __('Image caption text'),
241
242
  placeholder: isSelected ? __('Add caption') : null,
242
243
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["classnames","get","omit","Component","Button","Spinner","ButtonGroup","__","BACKSPACE","DELETE","withSelect","withDispatch","RichText","MediaPlaceholder","store","blockEditorStore","isBlobURL","compose","closeSmall","chevronLeft","chevronRight","edit","image","imageIcon","coreStore","pickRelevantMediaFiles","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","isTemporaryImage","id","url","GalleryImage","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","img","className","title","src","newCaption","select","ownProps","getMedia","parseInt","dispatch"],"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 =\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\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
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery-image.js"],"names":["classnames","get","omit","Component","Button","Spinner","ButtonGroup","__","BACKSPACE","DELETE","withSelect","withDispatch","RichText","MediaPlaceholder","store","blockEditorStore","__experimentalGetElementClassName","isBlobURL","compose","closeSmall","chevronLeft","chevronRight","edit","image","imageIcon","coreStore","pickRelevantMediaFiles","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","isTemporaryImage","id","url","GalleryImage","constructor","arguments","onSelectImage","bind","onRemoveImage","bindContainer","onEdit","onSelectImageFromLibrary","onSelectCustomURL","state","isEditing","ref","container","props","isSelected","onSelect","event","ownerDocument","activeElement","indexOf","keyCode","preventDefault","onRemove","setState","componentDidUpdate","__unstableMarkNextChangeAsNotPersistent","setAttributes","source_url","alt","alt_text","deselectOnBlur","onDeselect","media","caption","sizeSlug","mediaAttributes","newURL","undefined","render","linkTo","link","isFirstItem","isLastItem","onMoveForward","onMoveBackward","ariaLabel","href","img","className","title","src","newCaption","select","ownProps","getMedia","parseInt","dispatch"],"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\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"]}
@@ -9,7 +9,7 @@ import classnames from 'classnames';
9
9
  * WordPress dependencies
10
10
  */
11
11
 
12
- import { RichText } from '@wordpress/block-editor';
12
+ import { RichText, __experimentalGetElementClassName } from '@wordpress/block-editor';
13
13
  import { VisuallyHidden } from '@wordpress/components';
14
14
  import { __, sprintf } from '@wordpress/i18n';
15
15
  import { createBlock, getDefaultBlockName } from '@wordpress/blocks';
@@ -77,7 +77,7 @@ export const Gallery = props => {
77
77
  })), mediaPlaceholder, createElement(RichTextVisibilityHelper, {
78
78
  isHidden: !isSelected && RichText.isEmpty(caption),
79
79
  tagName: "figcaption",
80
- className: "blocks-gallery-caption",
80
+ className: classnames('blocks-gallery-caption', __experimentalGetElementClassName('caption')),
81
81
  "aria-label": __('Gallery caption text'),
82
82
  placeholder: __('Write gallery caption…'),
83
83
  value: caption,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery.js"],"names":["classnames","RichText","VisuallyHidden","__","sprintf","createBlock","getDefaultBlockName","GalleryImage","defaultColumnsNumberV1","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","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":["classnames","RichText","__experimentalGetElementClassName","VisuallyHidden","__","sprintf","createBlock","getDefaultBlockName","GalleryImage","defaultColumnsNumberV1","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","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,9 +1,14 @@
1
1
  import { createElement } from "@wordpress/element";
2
2
 
3
+ /**
4
+ * External dependencies
5
+ */
6
+ import classnames from 'classnames';
3
7
  /**
4
8
  * WordPress dependencies
5
9
  */
6
- import { RichText, useBlockProps } from '@wordpress/block-editor';
10
+
11
+ import { RichText, useBlockProps, __experimentalGetElementClassName } from '@wordpress/block-editor';
7
12
  /**
8
13
  * Internal dependencies
9
14
  */
@@ -54,12 +59,12 @@ export default function saveV1(_ref) {
54
59
  href: href
55
60
  }, img) : img, !RichText.isEmpty(image.caption) && createElement(RichText.Content, {
56
61
  tagName: "figcaption",
57
- className: "blocks-gallery-item__caption",
62
+ className: classnames('blocks-gallery-item', __experimentalGetElementClassName('caption')),
58
63
  value: image.caption
59
64
  })));
60
65
  })), !RichText.isEmpty(caption) && createElement(RichText.Content, {
61
66
  tagName: "figcaption",
62
- className: "blocks-gallery-caption",
67
+ className: classnames('blocks-gallery-caption', __experimentalGetElementClassName('caption')),
63
68
  value: caption
64
69
  }));
65
70
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/save.js"],"names":["RichText","useBlockProps","defaultColumnsNumberV1","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","saveV1","attributes","images","columns","imageCrop","caption","linkTo","className","save","map","image","href","fullUrl","url","link","img","alt","id","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,EAAmBC,aAAnB,QAAwC,yBAAxC;AAEA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,eAAvC;AACA,SACCC,2BADD,EAECC,sBAFD,QAGO,aAHP;AAKA,eAAe,SAASC,MAAT,OAAkC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAChD,QAAM;AACLC,IAAAA,MADK;AAELC,IAAAA,OAAO,GAAGN,sBAAsB,CAAEI,UAAF,CAF3B;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,wBAAaR,aAAa,CAACY,IAAd,CAAoB;AAAED,IAAAA;AAAF,GAApB,CAAb,EACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGL,MAAM,CAACO,GAAP,CAAcC,KAAF,IAAa;AAC1B,QAAIC,IAAJ;;AAEA,YAASL,MAAT;AACC,WAAKP,sBAAL;AACCY,QAAAA,IAAI,GAAGD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,GAA9B;AACA;;AACD,WAAKf,2BAAL;AACCa,QAAAA,IAAI,GAAGD,KAAK,CAACI,IAAb;AACA;AANF;;AASA,UAAMC,GAAG,GACR;AACC,MAAA,GAAG,EAAGL,KAAK,CAACG,GADb;AAEC,MAAA,GAAG,EAAGH,KAAK,CAACM,GAFb;AAGC,iBAAUN,KAAK,CAACO,EAHjB;AAIC,uBAAgBP,KAAK,CAACE,OAJvB;AAKC,mBAAYF,KAAK,CAACI,IALnB;AAMC,MAAA,SAAS,EACRJ,KAAK,CAACO,EAAN,GAAY,YAAYP,KAAK,CAACO,EAAI,EAAlC,GAAsC;AAPxC,MADD;AAaA,WACC;AACC,MAAA,GAAG,EAAGP,KAAK,CAACO,EAAN,IAAYP,KAAK,CAACG,GADzB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,8BACGF,IAAI,GAAG;AAAG,MAAA,IAAI,EAAGA;AAAV,OAAmBI,GAAnB,CAAH,GAAkCA,GADzC,EAEG,CAAEpB,QAAQ,CAACuB,OAAT,CAAkBR,KAAK,CAACL,OAAxB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAC,8BAFX;AAGC,MAAA,KAAK,EAAGK,KAAK,CAACL;AAHf,MAHF,CAJD,CADD;AAiBA,GA1CC,CADH,CADD,EA8CG,CAAEV,QAAQ,CAACuB,OAAT,CAAkBb,OAAlB,CAAF,IACD,cAAC,QAAD,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":["classnames","RichText","useBlockProps","__experimentalGetElementClassName","defaultColumnsNumberV1","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","saveV1","attributes","images","columns","imageCrop","caption","linkTo","className","save","map","image","href","fullUrl","url","link","img","alt","id","isEmpty"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,QADD,EAECC,aAFD,EAGCC,iCAHD,QAIO,yBAJP;AAMA;AACA;AACA;;AACA,SAASC,sBAAT,QAAuC,eAAvC;AACA,SACCC,2BADD,EAECC,sBAFD,QAGO,aAHP;AAKA,eAAe,SAASC,MAAT,OAAkC;AAAA,MAAjB;AAAEC,IAAAA;AAAF,GAAiB;AAChD,QAAM;AACLC,IAAAA,MADK;AAELC,IAAAA,OAAO,GAAGN,sBAAsB,CAAEI,UAAF,CAF3B;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,wBAAaT,aAAa,CAACa,IAAd,CAAoB;AAAED,IAAAA;AAAF,GAApB,CAAb,EACC;AAAI,IAAA,SAAS,EAAC;AAAd,KACGL,MAAM,CAACO,GAAP,CAAcC,KAAF,IAAa;AAC1B,QAAIC,IAAJ;;AAEA,YAASL,MAAT;AACC,WAAKP,sBAAL;AACCY,QAAAA,IAAI,GAAGD,KAAK,CAACE,OAAN,IAAiBF,KAAK,CAACG,GAA9B;AACA;;AACD,WAAKf,2BAAL;AACCa,QAAAA,IAAI,GAAGD,KAAK,CAACI,IAAb;AACA;AANF;;AASA,UAAMC,GAAG,GACR;AACC,MAAA,GAAG,EAAGL,KAAK,CAACG,GADb;AAEC,MAAA,GAAG,EAAGH,KAAK,CAACM,GAFb;AAGC,iBAAUN,KAAK,CAACO,EAHjB;AAIC,uBAAgBP,KAAK,CAACE,OAJvB;AAKC,mBAAYF,KAAK,CAACI,IALnB;AAMC,MAAA,SAAS,EACRJ,KAAK,CAACO,EAAN,GAAY,YAAYP,KAAK,CAACO,EAAI,EAAlC,GAAsC;AAPxC,MADD;AAaA,WACC;AACC,MAAA,GAAG,EAAGP,KAAK,CAACO,EAAN,IAAYP,KAAK,CAACG,GADzB;AAEC,MAAA,SAAS,EAAC;AAFX,OAIC,8BACGF,IAAI,GAAG;AAAG,MAAA,IAAI,EAAGA;AAAV,OAAmBI,GAAnB,CAAH,GAAkCA,GADzC,EAEG,CAAErB,QAAQ,CAACwB,OAAT,CAAkBR,KAAK,CAACL,OAAxB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,MAAA,OAAO,EAAC,YADT;AAEC,MAAA,SAAS,EAAGZ,UAAU,CACrB,qBADqB,EAErBG,iCAAiC,CAChC,SADgC,CAFZ,CAFvB;AAQC,MAAA,KAAK,EAAGc,KAAK,CAACL;AARf,MAHF,CAJD,CADD;AAsBA,GA/CC,CADH,CADD,EAmDG,CAAEX,QAAQ,CAACwB,OAAT,CAAkBb,OAAlB,CAAF,IACD,cAAC,QAAD,CAAU,OAAV;AACC,IAAA,OAAO,EAAC,YADT;AAEC,IAAA,SAAS,EAAGZ,UAAU,CACrB,wBADqB,EAErBG,iCAAiC,CAAE,SAAF,CAFZ,CAFvB;AAMC,IAAA,KAAK,EAAGS;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"]}
@@ -49,9 +49,7 @@ function GroupEdit(_ref) {
49
49
  type = 'default'
50
50
  } = usedLayout;
51
51
  const layoutSupportEnabled = themeSupportsLayout || type !== 'default';
52
- const blockProps = useBlockProps({
53
- className: `is-layout-${type}`
54
- });
52
+ const blockProps = useBlockProps();
55
53
  const innerBlocksProps = useInnerBlocksProps(layoutSupportEnabled ? blockProps : {
56
54
  className: 'wp-block-group__inner-container'
57
55
  }, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","htmlElementMessages","header","main","section","article","aside","footer","GroupEdit","attributes","setAttributes","clientId","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","defaultLayout","tagName","TagName","templateLock","layout","usedLayout","inherit","type","layoutSupportEnabled","blockProps","className","innerBlocksProps","renderAppender","undefined","ButtonBlockAppender","__experimentalLayout","label","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst htmlElementMessages = {\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only. '\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n\tarticle: __(\n\t\t'The <article> element should represent a self contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n};\n\nfunction GroupEdit( { attributes, setAttributes, clientId } ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\tconst usedLayout = !! layout && layout.inherit ? defaultLayout : layout;\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type !== 'default';\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: `is-layout-${ type }`,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\trenderAppender: hasInnerBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t\t__experimentalLayout: layoutSupportEnabled ? usedLayout : undefined,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ layoutSupportEnabled && <TagName { ...innerBlocksProps } /> }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","htmlElementMessages","header","main","section","article","aside","footer","GroupEdit","attributes","setAttributes","clientId","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","defaultLayout","tagName","TagName","templateLock","layout","usedLayout","inherit","type","layoutSupportEnabled","blockProps","innerBlocksProps","className","renderAppender","undefined","ButtonBlockAppender","__experimentalLayout","label","value"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tInnerBlocks,\n\tuseBlockProps,\n\tInspectorControls,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nconst htmlElementMessages = {\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only. '\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n\tarticle: __(\n\t\t'The <article> element should represent a self contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n};\n\nfunction GroupEdit( { attributes, setAttributes, clientId } ) {\n\tconst { hasInnerBlocks, themeSupportsLayout } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getSettings } = select( blockEditorStore );\n\t\t\tconst block = getBlock( clientId );\n\t\t\treturn {\n\t\t\t\thasInnerBlocks: !! ( block && block.innerBlocks.length ),\n\t\t\t\tthemeSupportsLayout: getSettings()?.supportsLayout,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\tconst usedLayout = !! layout && layout.inherit ? defaultLayout : layout;\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type !== 'default';\n\n\tconst blockProps = useBlockProps();\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\tlayoutSupportEnabled\n\t\t\t? blockProps\n\t\t\t: { className: 'wp-block-group__inner-container' },\n\t\t{\n\t\t\ttemplateLock,\n\t\t\trenderAppender: hasInnerBlocks\n\t\t\t\t? undefined\n\t\t\t\t: InnerBlocks.ButtonBlockAppender,\n\t\t\t__experimentalLayout: layoutSupportEnabled ? usedLayout : undefined,\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ layoutSupportEnabled && <TagName { ...innerBlocksProps } /> }\n\t\t\t{ /* Ideally this is not needed but it's there for backward compatibility reason\n\t\t\t\tto keep this div for themes that might rely on its presence */ }\n\t\t\t{ ! layoutSupportEnabled && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default GroupEdit;\n"]}
@@ -29,9 +29,11 @@ const metadata = {
29
29
  }
30
30
  },
31
31
  supports: {
32
+ __experimentalOnEnter: true,
32
33
  __experimentalSettings: true,
33
34
  align: ["wide", "full"],
34
35
  anchor: true,
36
+ ariaLabel: true,
35
37
  html: false,
36
38
  color: {
37
39
  gradients: true,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["__","group","icon","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,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;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KADY,EASZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KATY,EAiBZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,QAAF;AAHA;AAFb,KAjBY,EAyBZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,OAAF;AAHA;AAFb,KAzBY,EAiCZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,OAAF;AAHA;AAFb,KAjCY,EAyCZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KAzCY;AATL,GAFc;AA8DvBM,EAAAA,UA9DuB;AA+DvBF,EAAAA,IA/DuB;AAgEvBC,EAAAA,IAhEuB;AAiEvBF,EAAAA,UAjEuB;AAkEvBI,EAAAA;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":["__","group","icon","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBR,EAAAA,IADuB;AAEvBS,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;AACCT,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KADY,EASZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KATY,EAiBZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,QAAF;AAHA;AAFb,KAjBY,EAyBZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,OAAF;AAHA;AAFb,KAzBY,EAiCZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,OAAF;AAHA;AAFb,KAjCY,EAyCZ;AACCQ,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAEpB,EAAE,CAAE,MAAF;AAHA;AAFb,KAzCY;AATL,GAFc;AA8DvBM,EAAAA,UA9DuB;AA+DvBF,EAAAA,IA/DuB;AAgEvBC,EAAAA,IAhEuB;AAiEvBF,EAAAA,UAjEuB;AAkEvBI,EAAAA;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,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
4
+ import { __, _x } from '@wordpress/i18n';
5
5
  import { group, row, stack } from '@wordpress/icons';
6
6
  const variations = [{
7
7
  name: 'group',
@@ -21,7 +21,7 @@ const variations = [{
21
21
  icon: group
22
22
  }, {
23
23
  name: 'group-row',
24
- title: __('Row'),
24
+ title: _x('Row', 'single horizontal line'),
25
25
  description: __('Arrange blocks horizontally.'),
26
26
  attributes: {
27
27
  layout: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","group","row","stack","variations","name","title","description","attributes","layout","type","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,EAAgBC,GAAhB,EAAqBC,KAArB,QAAkC,kBAAlC;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,KAAK,EAAEN,EAAE,CAAE,OAAF,CAFV;AAGCO,EAAAA,WAAW,EAAEP,EAAE,CAAE,sCAAF,CAHhB;AAICQ,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AAAV,GAJb;AAKCC,EAAAA,KAAK,EAAE,CAAE,WAAF,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,CAAEA,eAAe,CAACJ,MAAlB,IACA,2BAAEI,eAAe,CAACJ,MAAlB,kDAAE,sBAAwBC,IAA1B,CADA,IAEA,2BAAAG,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,SAHxB;AAAA,GANX;AAUCI,EAAAA,IAAI,EAAEb;AAVP,CADkB,EAalB;AACCI,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,KAAK,EAAEN,EAAE,CAAE,KAAF,CAFV;AAGCO,EAAAA,WAAW,EAAEP,EAAE,CAAE,8BAAF,CAHhB;AAICQ,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,MAAR;AAAgBK,MAAAA,QAAQ,EAAE;AAA1B;AAAV,GAJb;AAKCJ,EAAAA,KAAK,EAAE,CAAE,UAAF,EAAc,WAAd,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,2BAAAA,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,MAAjC,KACE,4BAAEG,eAAe,CAACJ,MAAlB,mDAAE,uBAAwBO,WAA1B,KACD,2BAAAH,eAAe,CAACJ,MAAhB,kFAAwBO,WAAxB,MAAwC,YAFzC,CADS;AAAA,GANX;AAUCF,EAAAA,IAAI,EAAEZ;AAVP,CAbkB,EAyBlB;AACCG,EAAAA,IAAI,EAAE,aADP;AAECC,EAAAA,KAAK,EAAEN,EAAE,CAAE,OAAF,CAFV;AAGCO,EAAAA,WAAW,EAAEP,EAAE,CAAE,4BAAF,CAHhB;AAICQ,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,MAAR;AAAgBM,MAAAA,WAAW,EAAE;AAA7B;AAAV,GAJb;AAKCL,EAAAA,KAAK,EAAE,CAAE,UAAF,EAAc,WAAd,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,2BAAAA,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,MAAjC,IACA,2BAAAG,eAAe,CAACJ,MAAhB,kFAAwBO,WAAxB,MAAwC,UAF/B;AAAA,GANX;AASCF,EAAAA,IAAI,EAAEX;AATP,CAzBkB,CAAnB;AAsCA,eAAeC,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group, row, stack } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a layout container.' ),\n\t\tattributes: { layout: { type: 'default' } },\n\t\tscope: [ 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: __( 'Row' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t},\n];\n\nexport default variations;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/variations.js"],"names":["__","_x","group","row","stack","variations","name","title","description","attributes","layout","type","scope","isActive","blockAttributes","icon","flexWrap","orientation"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,EAAb,QAAuB,iBAAvB;AACA,SAASC,KAAT,EAAgBC,GAAhB,EAAqBC,KAArB,QAAkC,kBAAlC;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,KAAK,EAAEP,EAAE,CAAE,OAAF,CAFV;AAGCQ,EAAAA,WAAW,EAAER,EAAE,CAAE,sCAAF,CAHhB;AAICS,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AAAV,GAJb;AAKCC,EAAAA,KAAK,EAAE,CAAE,WAAF,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,CAAEA,eAAe,CAACJ,MAAlB,IACA,2BAAEI,eAAe,CAACJ,MAAlB,kDAAE,sBAAwBC,IAA1B,CADA,IAEA,2BAAAG,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,SAHxB;AAAA,GANX;AAUCI,EAAAA,IAAI,EAAEb;AAVP,CADkB,EAalB;AACCI,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,KAAK,EAAEN,EAAE,CAAE,KAAF,EAAS,wBAAT,CAFV;AAGCO,EAAAA,WAAW,EAAER,EAAE,CAAE,8BAAF,CAHhB;AAICS,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,MAAR;AAAgBK,MAAAA,QAAQ,EAAE;AAA1B;AAAV,GAJb;AAKCJ,EAAAA,KAAK,EAAE,CAAE,UAAF,EAAc,WAAd,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,2BAAAA,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,MAAjC,KACE,4BAAEG,eAAe,CAACJ,MAAlB,mDAAE,uBAAwBO,WAA1B,KACD,2BAAAH,eAAe,CAACJ,MAAhB,kFAAwBO,WAAxB,MAAwC,YAFzC,CADS;AAAA,GANX;AAUCF,EAAAA,IAAI,EAAEZ;AAVP,CAbkB,EAyBlB;AACCG,EAAAA,IAAI,EAAE,aADP;AAECC,EAAAA,KAAK,EAAEP,EAAE,CAAE,OAAF,CAFV;AAGCQ,EAAAA,WAAW,EAAER,EAAE,CAAE,4BAAF,CAHhB;AAICS,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE,MAAR;AAAgBM,MAAAA,WAAW,EAAE;AAA7B;AAAV,GAJb;AAKCL,EAAAA,KAAK,EAAE,CAAE,UAAF,EAAc,WAAd,CALR;AAMCC,EAAAA,QAAQ,EAAIC,eAAF;AAAA;;AAAA,WACT,2BAAAA,eAAe,CAACJ,MAAhB,kFAAwBC,IAAxB,MAAiC,MAAjC,IACA,2BAAAG,eAAe,CAACJ,MAAhB,kFAAwBO,WAAxB,MAAwC,UAF/B;AAAA,GANX;AASCF,EAAAA,IAAI,EAAEX;AATP,CAzBkB,CAAnB;AAsCA,eAAeC,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { group, row, stack } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'group',\n\t\ttitle: __( 'Group' ),\n\t\tdescription: __( 'Gather blocks in a layout container.' ),\n\t\tattributes: { layout: { type: 'default' } },\n\t\tscope: [ 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t! blockAttributes.layout ||\n\t\t\t! blockAttributes.layout?.type ||\n\t\t\tblockAttributes.layout?.type === 'default',\n\t\ticon: group,\n\t},\n\t{\n\t\tname: 'group-row',\n\t\ttitle: _x( 'Row', 'single horizontal line' ),\n\t\tdescription: __( 'Arrange blocks horizontally.' ),\n\t\tattributes: { layout: { type: 'flex', flexWrap: 'nowrap' } },\n\t\tscope: [ 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\t( ! blockAttributes.layout?.orientation ||\n\t\t\t\tblockAttributes.layout?.orientation === 'horizontal' ),\n\t\ticon: row,\n\t},\n\t{\n\t\tname: 'group-stack',\n\t\ttitle: __( 'Stack' ),\n\t\tdescription: __( 'Arrange blocks vertically.' ),\n\t\tattributes: { layout: { type: 'flex', orientation: 'vertical' } },\n\t\tscope: [ 'inserter', 'transform' ],\n\t\tisActive: ( blockAttributes ) =>\n\t\t\tblockAttributes.layout?.type === 'flex' &&\n\t\t\tblockAttributes.layout?.orientation === 'vertical',\n\t\ticon: stack,\n\t},\n];\n\nexport default variations;\n"]}
@@ -59,8 +59,9 @@ export default function HeadingLevelDropdown(_ref) {
59
59
 
60
60
  onClick() {
61
61
  onChange(targetLevel);
62
- }
62
+ },
63
63
 
64
+ role: 'menuitemradio'
64
65
  };
65
66
  }
66
67
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/heading-level-dropdown.js"],"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","selectedLevel","onChange","map","targetLevel","isActive","icon","label","onClick"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,mBAAT,QAAoC,uBAApC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,MAAMC,cAAc,GAAG,CAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,SAAS,EAAE;AADU,CAAtB;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,oBAAT,OAA6D;AAAA,MAA9B;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAA8B;AAC3E,SACC,cAAC,mBAAD;AACC,IAAA,YAAY,EAAGJ,aADhB;AAEC,IAAA,IAAI,EAAG,cAAC,gBAAD;AAAkB,MAAA,KAAK,EAAGG;AAA1B,MAFR;AAGC,IAAA,KAAK,EAAGP,EAAE,CAAE,sBAAF,CAHX;AAIC,IAAA,QAAQ,EAAGG,cAAc,CAACM,GAAf,CAAsBC,WAAF,IAAmB;AACjD;AACC,cAAMC,QAAQ,GAAGD,WAAW,KAAKH,aAAjC;AAEA,eAAO;AACNK,UAAAA,IAAI,EACH,cAAC,gBAAD;AACC,YAAA,KAAK,EAAGF,WADT;AAEC,YAAA,SAAS,EAAGC;AAFb,YAFK;AAONE,UAAAA,KAAK,EAAEZ,OAAO,EACb;AACAD,UAAAA,EAAE,CAAE,YAAF,CAFW,EAGbU,WAHa,CAPR;AAYNC,UAAAA,QAZM;;AAaNG,UAAAA,OAAO,GAAG;AACTN,YAAAA,QAAQ,CAAEE,WAAF,CAAR;AACA;;AAfK,SAAP;AAiBA;AACD,KAtBU;AAJZ,IADD;AA8BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} selectedLevel The chosen heading level.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {WPComponent} The toolbar.\n */\nexport default function HeadingLevelDropdown( { selectedLevel, onChange } ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ selectedLevel } /> }\n\t\t\tlabel={ __( 'Change heading level' ) }\n\t\t\tcontrols={ HEADING_LEVELS.map( ( targetLevel ) => {\n\t\t\t\t{\n\t\t\t\t\tconst isActive = targetLevel === selectedLevel;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ticon: (\n\t\t\t\t\t\t\t<HeadingLevelIcon\n\t\t\t\t\t\t\t\tlevel={ targetLevel }\n\t\t\t\t\t\t\t\tisPressed={ isActive }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t),\n\t\t\t\t\t\tisActive,\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/heading-level-dropdown.js"],"names":["ToolbarDropdownMenu","__","sprintf","HeadingLevelIcon","HEADING_LEVELS","POPOVER_PROPS","className","HeadingLevelDropdown","selectedLevel","onChange","map","targetLevel","isActive","icon","label","onClick","role"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,mBAAT,QAAoC,uBAApC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;AAEA,MAAMC,cAAc,GAAG,CAAE,CAAF,EAAK,CAAL,EAAQ,CAAR,EAAW,CAAX,EAAc,CAAd,EAAiB,CAAjB,CAAvB;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,SAAS,EAAE;AADU,CAAtB;AAIA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,eAAe,SAASC,oBAAT,OAA6D;AAAA,MAA9B;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA;AAAjB,GAA8B;AAC3E,SACC,cAAC,mBAAD;AACC,IAAA,YAAY,EAAGJ,aADhB;AAEC,IAAA,IAAI,EAAG,cAAC,gBAAD;AAAkB,MAAA,KAAK,EAAGG;AAA1B,MAFR;AAGC,IAAA,KAAK,EAAGP,EAAE,CAAE,sBAAF,CAHX;AAIC,IAAA,QAAQ,EAAGG,cAAc,CAACM,GAAf,CAAsBC,WAAF,IAAmB;AACjD;AACC,cAAMC,QAAQ,GAAGD,WAAW,KAAKH,aAAjC;AAEA,eAAO;AACNK,UAAAA,IAAI,EACH,cAAC,gBAAD;AACC,YAAA,KAAK,EAAGF,WADT;AAEC,YAAA,SAAS,EAAGC;AAFb,YAFK;AAONE,UAAAA,KAAK,EAAEZ,OAAO,EACb;AACAD,UAAAA,EAAE,CAAE,YAAF,CAFW,EAGbU,WAHa,CAPR;AAYNC,UAAAA,QAZM;;AAaNG,UAAAA,OAAO,GAAG;AACTN,YAAAA,QAAQ,CAAEE,WAAF,CAAR;AACA,WAfK;;AAgBNK,UAAAA,IAAI,EAAE;AAhBA,SAAP;AAkBA;AACD,KAvBU;AAJZ,IADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToolbarDropdownMenu } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelIcon from './heading-level-icon';\n\nconst HEADING_LEVELS = [ 1, 2, 3, 4, 5, 6 ];\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-library-heading-level-dropdown',\n};\n\n/** @typedef {import('@wordpress/element').WPComponent} WPComponent */\n\n/**\n * HeadingLevelDropdown props.\n *\n * @typedef WPHeadingLevelDropdownProps\n *\n * @property {number} selectedLevel The chosen heading level.\n * @property {(newValue:number)=>any} onChange Callback to run when\n * toolbar value is changed.\n */\n\n/**\n * Dropdown for selecting a heading level (1 through 6).\n *\n * @param {WPHeadingLevelDropdownProps} props Component props.\n *\n * @return {WPComponent} The toolbar.\n */\nexport default function HeadingLevelDropdown( { selectedLevel, onChange } ) {\n\treturn (\n\t\t<ToolbarDropdownMenu\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\ticon={ <HeadingLevelIcon level={ selectedLevel } /> }\n\t\t\tlabel={ __( 'Change heading level' ) }\n\t\t\tcontrols={ HEADING_LEVELS.map( ( targetLevel ) => {\n\t\t\t\t{\n\t\t\t\t\tconst isActive = targetLevel === selectedLevel;\n\n\t\t\t\t\treturn {\n\t\t\t\t\t\ticon: (\n\t\t\t\t\t\t\t<HeadingLevelIcon\n\t\t\t\t\t\t\t\tlevel={ targetLevel }\n\t\t\t\t\t\t\t\tisPressed={ isActive }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t),\n\t\t\t\t\t\tlabel: sprintf(\n\t\t\t\t\t\t\t// translators: %s: heading level e.g: \"1\", \"2\", \"3\"\n\t\t\t\t\t\t\t__( 'Heading %d' ),\n\t\t\t\t\t\t\ttargetLevel\n\t\t\t\t\t\t),\n\t\t\t\t\t\tisActive,\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tonChange( targetLevel );\n\t\t\t\t\t\t},\n\t\t\t\t\t\trole: 'menuitemradio',\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t} ) }\n\t\t/>\n\t);\n}\n"]}
@@ -96,12 +96,17 @@ export const settings = {
96
96
  let {
97
97
  context
98
98
  } = _ref;
99
+ const {
100
+ content,
101
+ level
102
+ } = attributes; // In the list view, use the block's content as the label.
103
+ // If the content is empty, fall back to the default label.
104
+
105
+ if (context === 'list-view' && content) {
106
+ return content;
107
+ }
99
108
 
100
109
  if (context === 'accessibility') {
101
- const {
102
- content,
103
- level
104
- } = attributes;
105
110
  return isEmpty(content) ? sprintf(
106
111
  /* translators: accessibility text. %s: heading level. */
107
112
  __('Level %s. Empty.'), level) : sprintf(
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/heading/index.js"],"names":["isEmpty","heading","icon","__","sprintf","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","level","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAEX,EAAE,CAAE,gBAAF,CADA;AAEXY,MAAAA,KAAK,EAAE;AAFI;AADJ,GAFc;;AAQvBC,EAAAA,mBAAmB,CAAEH,UAAF,QAA4B;AAAA,QAAd;AAAEI,MAAAA;AAAF,KAAc;;AAC9C,QAAKA,OAAO,KAAK,eAAjB,EAAmC;AAClC,YAAM;AAAEH,QAAAA,OAAF;AAAWC,QAAAA;AAAX,UAAqBF,UAA3B;AAEA,aAAOb,OAAO,CAAEc,OAAF,CAAP,GACJV,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,CADH,GAMJX,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,EAIPD,OAJO,CANV;AAYA;AACD,GAzBsB;;AA0BvBN,EAAAA,UA1BuB;AA2BvBH,EAAAA,UA3BuB;;AA4BvBa,EAAAA,KAAK,CAAEL,UAAF,EAAcM,iBAAd,EAAkC;AACtC,WAAO;AACNL,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEK,iBAAiB,CAACL,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GAlCsB;;AAmCvBR,EAAAA,IAnCuB;AAoCvBC,EAAAA;AApCuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\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';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { content, level } = attributes;\n\n\t\t\treturn isEmpty( content )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/heading/index.js"],"names":["isEmpty","heading","icon","__","sprintf","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","content","level","__experimentalLabel","context","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAT,QAAwB,QAAxB;AAEA;AACA;AACA;;AACA,SAASC,OAAO,IAAIC,IAApB,QAAgC,kBAAhC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,OAAO,EAAEX,EAAE,CAAE,gBAAF,CADA;AAEXY,MAAAA,KAAK,EAAE;AAFI;AADJ,GAFc;;AAQvBC,EAAAA,mBAAmB,CAAEH,UAAF,QAA4B;AAAA,QAAd;AAAEI,MAAAA;AAAF,KAAc;AAC9C,UAAM;AAAEH,MAAAA,OAAF;AAAWC,MAAAA;AAAX,QAAqBF,UAA3B,CAD8C,CAG9C;AACA;;AACA,QAAKI,OAAO,KAAK,WAAZ,IAA2BH,OAAhC,EAA0C;AACzC,aAAOA,OAAP;AACA;;AAED,QAAKG,OAAO,KAAK,eAAjB,EAAmC;AAClC,aAAOjB,OAAO,CAAEc,OAAF,CAAP,GACJV,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,CADH,GAMJX,OAAO;AACP;AACAD,MAAAA,EAAE,CAAE,kBAAF,CAFK,EAGPY,KAHO,EAIPD,OAJO,CANV;AAYA;AACD,GA/BsB;;AAgCvBN,EAAAA,UAhCuB;AAiCvBH,EAAAA,UAjCuB;;AAkCvBa,EAAAA,KAAK,CAAEL,UAAF,EAAcM,iBAAd,EAAkC;AACtC,WAAO;AACNL,MAAAA,OAAO,EACN,CAAED,UAAU,CAACC,OAAX,IAAsB,EAAxB,KACEK,iBAAiB,CAACL,OAAlB,IAA6B,EAD/B;AAFK,KAAP;AAKA,GAxCsB;;AAyCvBR,EAAAA,IAzCuB;AA0CvBC,EAAAA;AA1CuB,CAAjB","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\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';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && content ) {\n\t\t\treturn content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn isEmpty( content )\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n"]}