@wordpress/block-library 7.19.0 → 8.0.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 (761) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/build/audio/edit.native.js +1 -3
  3. package/build/audio/edit.native.js.map +1 -1
  4. package/build/audio/index.js +2 -1
  5. package/build/audio/index.js.map +1 -1
  6. package/build/avatar/edit.js +1 -0
  7. package/build/avatar/edit.js.map +1 -1
  8. package/build/avatar/user-control.js +1 -0
  9. package/build/avatar/user-control.js.map +1 -1
  10. package/build/block/edit.js +14 -2
  11. package/build/block/edit.js.map +1 -1
  12. package/build/block/edit.native.js +14 -6
  13. package/build/block/edit.native.js.map +1 -1
  14. package/build/block/index.js +1 -2
  15. package/build/block/index.js.map +1 -1
  16. package/build/button/edit.native.js.map +1 -1
  17. package/build/code/transforms.js +1 -1
  18. package/build/code/transforms.js.map +1 -1
  19. package/build/columns/edit.js +1 -0
  20. package/build/columns/edit.js.map +1 -1
  21. package/build/columns/edit.native.js +13 -30
  22. package/build/columns/edit.native.js.map +1 -1
  23. package/build/comment-author-avatar/edit.js +1 -0
  24. package/build/comment-author-avatar/edit.js.map +1 -1
  25. package/build/cover/edit/inspector-controls.js +2 -0
  26. package/build/cover/edit/inspector-controls.js.map +1 -1
  27. package/build/cover/edit.native.js +24 -16
  28. package/build/cover/edit.native.js.map +1 -1
  29. package/build/embed/embed-controls.native.js +1 -0
  30. package/build/embed/embed-controls.native.js.map +1 -1
  31. package/build/embed/embed-preview.native.js +1 -3
  32. package/build/embed/embed-preview.native.js.map +1 -1
  33. package/build/file/inspector.js +1 -0
  34. package/build/file/inspector.js.map +1 -1
  35. package/build/gallery/edit.js +25 -13
  36. package/build/gallery/edit.js.map +1 -1
  37. package/build/gallery/gallery.native.js +1 -3
  38. package/build/gallery/gallery.native.js.map +1 -1
  39. package/build/gallery/shared.js +4 -10
  40. package/build/gallery/shared.js.map +1 -1
  41. package/build/gallery/transforms.js +1 -7
  42. package/build/gallery/transforms.js.map +1 -1
  43. package/build/gallery/use-get-media.js +1 -1
  44. package/build/gallery/use-get-media.js.map +1 -1
  45. package/build/gallery/use-get-media.native.js +3 -1
  46. package/build/gallery/use-get-media.native.js.map +1 -1
  47. package/build/gallery/v1/edit.js +22 -15
  48. package/build/gallery/v1/edit.js.map +1 -1
  49. package/build/gallery/v1/gallery.native.js +1 -3
  50. package/build/gallery/v1/gallery.native.js.map +1 -1
  51. package/build/gallery/v1/shared.js +4 -1
  52. package/build/gallery/v1/shared.js.map +1 -1
  53. package/build/group/edit.js +1 -2
  54. package/build/group/edit.js.map +1 -1
  55. package/build/group/index.js +3 -1
  56. package/build/group/index.js.map +1 -1
  57. package/build/group/placeholder.js +5 -26
  58. package/build/group/placeholder.js.map +1 -1
  59. package/build/heading/deprecated.js +152 -69
  60. package/build/heading/deprecated.js.map +1 -1
  61. package/build/heading/index.js +1 -2
  62. package/build/heading/index.js.map +1 -1
  63. package/build/heading/transforms.js +1 -2
  64. package/build/heading/transforms.js.map +1 -1
  65. package/build/html/index.js +1 -1
  66. package/build/image/edit.js +8 -5
  67. package/build/image/edit.js.map +1 -1
  68. package/build/image/edit.native.js +3 -2
  69. package/build/image/edit.native.js.map +1 -1
  70. package/build/image/image.js +12 -8
  71. package/build/image/image.js.map +1 -1
  72. package/build/index.js +3 -1
  73. package/build/index.js.map +1 -1
  74. package/build/latest-comments/edit.js +1 -0
  75. package/build/latest-comments/edit.js.map +1 -1
  76. package/build/latest-posts/edit.js +2 -0
  77. package/build/latest-posts/edit.js.map +1 -1
  78. package/build/list/transforms.js +1 -9
  79. package/build/list/transforms.js.map +1 -1
  80. package/build/list/utils.js +5 -2
  81. package/build/list/utils.js.map +1 -1
  82. package/build/list-item/index.js +4 -1
  83. package/build/list-item/index.js.map +1 -1
  84. package/build/list-item/transforms.js +22 -0
  85. package/build/list-item/transforms.js.map +1 -0
  86. package/build/list-item/utils.js +77 -1
  87. package/build/list-item/utils.js.map +1 -1
  88. package/build/media-text/edit.js +4 -2
  89. package/build/media-text/edit.js.map +1 -1
  90. package/build/navigation/edit/are-blocks-dirty.js +52 -0
  91. package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
  92. package/build/navigation/edit/index.js +95 -116
  93. package/build/navigation/edit/index.js.map +1 -1
  94. package/build/navigation/edit/menu-inspector-controls.js +72 -0
  95. package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
  96. package/build/navigation/edit/navigation-menu-selector.js +5 -10
  97. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  98. package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
  99. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  100. package/build/navigation/view-modal.js +6 -2
  101. package/build/navigation/view-modal.js.map +1 -1
  102. package/build/navigation-link/edit.js +42 -298
  103. package/build/navigation-link/edit.js.map +1 -1
  104. package/build/navigation-link/link-ui.js +222 -0
  105. package/build/navigation-link/link-ui.js.map +1 -0
  106. package/build/navigation-link/transforms.js +12 -0
  107. package/build/navigation-link/transforms.js.map +1 -1
  108. package/build/navigation-link/update-attributes.js +108 -0
  109. package/build/navigation-link/update-attributes.js.map +1 -0
  110. package/build/navigation-submenu/edit.js +42 -173
  111. package/build/navigation-submenu/edit.js.map +1 -1
  112. package/build/page-list/constants.js +15 -0
  113. package/build/page-list/constants.js.map +1 -0
  114. package/build/page-list/convert-to-links-modal.js +22 -86
  115. package/build/page-list/convert-to-links-modal.js.map +1 -1
  116. package/build/page-list/convert-to-navigation-links.js +76 -0
  117. package/build/page-list/convert-to-navigation-links.js.map +1 -0
  118. package/build/page-list/edit.js +142 -78
  119. package/build/page-list/edit.js.map +1 -1
  120. package/build/page-list/index.js +6 -1
  121. package/build/page-list/index.js.map +1 -1
  122. package/build/page-list-item/edit.js +87 -0
  123. package/build/page-list-item/edit.js.map +1 -0
  124. package/build/page-list-item/index.js +85 -0
  125. package/build/page-list-item/index.js.map +1 -0
  126. package/build/page-list-item/init.js +16 -0
  127. package/build/page-list-item/init.js.map +1 -0
  128. package/build/paragraph/index.js +1 -7
  129. package/build/paragraph/index.js.map +1 -1
  130. package/build/post-author/edit.js +3 -2
  131. package/build/post-author/edit.js.map +1 -1
  132. package/build/post-featured-image/overlay.js +1 -0
  133. package/build/post-featured-image/overlay.js.map +1 -1
  134. package/build/post-template/index.js +8 -0
  135. package/build/post-template/index.js.map +1 -1
  136. package/build/preformatted/transforms.js +3 -1
  137. package/build/preformatted/transforms.js.map +1 -1
  138. package/build/query/deprecated.js +192 -21
  139. package/build/query/deprecated.js.map +1 -1
  140. package/build/query/edit/inspector-controls/index.js +1 -0
  141. package/build/query/edit/inspector-controls/index.js.map +1 -1
  142. package/build/query/edit/query-placeholder.js +3 -19
  143. package/build/query/edit/query-placeholder.js.map +1 -1
  144. package/build/query/index.js +0 -8
  145. package/build/query/index.js.map +1 -1
  146. package/build/query/utils.js +0 -8
  147. package/build/query/utils.js.map +1 -1
  148. package/build/rss/edit.js +3 -0
  149. package/build/rss/edit.js.map +1 -1
  150. package/build/search/edit.native.js +22 -22
  151. package/build/search/edit.native.js.map +1 -1
  152. package/build/search/index.js +9 -1
  153. package/build/search/index.js.map +1 -1
  154. package/build/site-logo/edit.js +17 -9
  155. package/build/site-logo/edit.js.map +1 -1
  156. package/build/site-logo/index.js +1 -0
  157. package/build/site-logo/index.js.map +1 -1
  158. package/build/site-title/index.js +1 -0
  159. package/build/site-title/index.js.map +1 -1
  160. package/build/social-link/social-list.js +4 -12
  161. package/build/social-link/social-list.js.map +1 -1
  162. package/build/table/edit.js +3 -1
  163. package/build/table/edit.js.map +1 -1
  164. package/build/table/index.js +17 -1
  165. package/build/table/index.js.map +1 -1
  166. package/build/table/save.js +4 -2
  167. package/build/table/save.js.map +1 -1
  168. package/build/table/state.js +24 -12
  169. package/build/table/state.js.map +1 -1
  170. package/build/table/transforms.js +3 -2
  171. package/build/table/transforms.js.map +1 -1
  172. package/build/table-of-contents/edit.js +2 -2
  173. package/build/table-of-contents/edit.js.map +1 -1
  174. package/build/tag-cloud/edit.js +2 -1
  175. package/build/tag-cloud/edit.js.map +1 -1
  176. package/build/template-part/edit/selection-modal.js +5 -2
  177. package/build/template-part/edit/selection-modal.js.map +1 -1
  178. package/build/template-part/edit/utils/hooks.js +2 -6
  179. package/build/template-part/edit/utils/hooks.js.map +1 -1
  180. package/build/text-columns/edit.js +1 -0
  181. package/build/text-columns/edit.js.map +1 -1
  182. package/build/utils/transformation-categories.native.js +1 -1
  183. package/build/utils/transformation-categories.native.js.map +1 -1
  184. package/build/video/edit.js +1 -1
  185. package/build/video/edit.js.map +1 -1
  186. package/build/video/edit.native.js +1 -3
  187. package/build/video/edit.native.js.map +1 -1
  188. package/build-module/audio/edit.native.js +1 -2
  189. package/build-module/audio/edit.native.js.map +1 -1
  190. package/build-module/audio/index.js +2 -1
  191. package/build-module/audio/index.js.map +1 -1
  192. package/build-module/avatar/edit.js +1 -0
  193. package/build-module/avatar/edit.js.map +1 -1
  194. package/build-module/avatar/user-control.js +1 -0
  195. package/build-module/avatar/user-control.js.map +1 -1
  196. package/build-module/block/edit.js +14 -2
  197. package/build-module/block/edit.js.map +1 -1
  198. package/build-module/block/edit.native.js +14 -6
  199. package/build-module/block/edit.native.js.map +1 -1
  200. package/build-module/block/index.js +1 -2
  201. package/build-module/block/index.js.map +1 -1
  202. package/build-module/button/edit.native.js +2 -1
  203. package/build-module/button/edit.native.js.map +1 -1
  204. package/build-module/code/transforms.js +1 -1
  205. package/build-module/code/transforms.js.map +1 -1
  206. package/build-module/columns/edit.js +1 -0
  207. package/build-module/columns/edit.js.map +1 -1
  208. package/build-module/columns/edit.native.js +13 -29
  209. package/build-module/columns/edit.native.js.map +1 -1
  210. package/build-module/comment-author-avatar/edit.js +1 -0
  211. package/build-module/comment-author-avatar/edit.js.map +1 -1
  212. package/build-module/cover/edit/inspector-controls.js +2 -0
  213. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  214. package/build-module/cover/edit.native.js +22 -14
  215. package/build-module/cover/edit.native.js.map +1 -1
  216. package/build-module/embed/embed-controls.native.js +2 -1
  217. package/build-module/embed/embed-controls.native.js.map +1 -1
  218. package/build-module/embed/embed-preview.native.js +1 -2
  219. package/build-module/embed/embed-preview.native.js.map +1 -1
  220. package/build-module/file/inspector.js +1 -0
  221. package/build-module/file/inspector.js.map +1 -1
  222. package/build-module/gallery/edit.js +25 -12
  223. package/build-module/gallery/edit.js.map +1 -1
  224. package/build-module/gallery/gallery.native.js +1 -2
  225. package/build-module/gallery/gallery.native.js.map +1 -1
  226. package/build-module/gallery/shared.js +5 -11
  227. package/build-module/gallery/shared.js.map +1 -1
  228. package/build-module/gallery/transforms.js +1 -6
  229. package/build-module/gallery/transforms.js.map +1 -1
  230. package/build-module/gallery/use-get-media.js +1 -1
  231. package/build-module/gallery/use-get-media.js.map +1 -1
  232. package/build-module/gallery/use-get-media.native.js +3 -1
  233. package/build-module/gallery/use-get-media.native.js.map +1 -1
  234. package/build-module/gallery/v1/edit.js +23 -16
  235. package/build-module/gallery/v1/edit.js.map +1 -1
  236. package/build-module/gallery/v1/gallery.native.js +1 -2
  237. package/build-module/gallery/v1/gallery.native.js.map +1 -1
  238. package/build-module/gallery/v1/shared.js +5 -2
  239. package/build-module/gallery/v1/shared.js.map +1 -1
  240. package/build-module/group/edit.js +1 -3
  241. package/build-module/group/edit.js.map +1 -1
  242. package/build-module/group/index.js +3 -1
  243. package/build-module/group/index.js.map +1 -1
  244. package/build-module/group/placeholder.js +5 -26
  245. package/build-module/group/placeholder.js.map +1 -1
  246. package/build-module/heading/deprecated.js +152 -69
  247. package/build-module/heading/deprecated.js.map +1 -1
  248. package/build-module/heading/index.js +1 -2
  249. package/build-module/heading/index.js.map +1 -1
  250. package/build-module/heading/transforms.js +1 -2
  251. package/build-module/heading/transforms.js.map +1 -1
  252. package/build-module/html/index.js +1 -1
  253. package/build-module/image/edit.js +9 -6
  254. package/build-module/image/edit.js.map +1 -1
  255. package/build-module/image/edit.native.js +2 -1
  256. package/build-module/image/edit.native.js.map +1 -1
  257. package/build-module/image/image.js +13 -9
  258. package/build-module/image/image.js.map +1 -1
  259. package/build-module/index.js +2 -1
  260. package/build-module/index.js.map +1 -1
  261. package/build-module/latest-comments/edit.js +1 -0
  262. package/build-module/latest-comments/edit.js.map +1 -1
  263. package/build-module/latest-posts/edit.js +2 -0
  264. package/build-module/latest-posts/edit.js.map +1 -1
  265. package/build-module/list/transforms.js +1 -9
  266. package/build-module/list/transforms.js.map +1 -1
  267. package/build-module/list/utils.js +5 -2
  268. package/build-module/list/utils.js.map +1 -1
  269. package/build-module/list-item/index.js +3 -1
  270. package/build-module/list-item/index.js.map +1 -1
  271. package/build-module/list-item/transforms.js +13 -0
  272. package/build-module/list-item/transforms.js.map +1 -0
  273. package/build-module/list-item/utils.js +78 -1
  274. package/build-module/list-item/utils.js.map +1 -1
  275. package/build-module/media-text/edit.js +5 -3
  276. package/build-module/media-text/edit.js.map +1 -1
  277. package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
  278. package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
  279. package/build-module/navigation/edit/index.js +95 -117
  280. package/build-module/navigation/edit/index.js.map +1 -1
  281. package/build-module/navigation/edit/menu-inspector-controls.js +59 -0
  282. package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
  283. package/build-module/navigation/edit/navigation-menu-selector.js +6 -11
  284. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  285. package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
  286. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  287. package/build-module/navigation/view-modal.js +6 -2
  288. package/build-module/navigation/view-modal.js.map +1 -1
  289. package/build-module/navigation-link/edit.js +46 -299
  290. package/build-module/navigation-link/edit.js.map +1 -1
  291. package/build-module/navigation-link/link-ui.js +206 -0
  292. package/build-module/navigation-link/link-ui.js.map +1 -0
  293. package/build-module/navigation-link/transforms.js +12 -0
  294. package/build-module/navigation-link/transforms.js.map +1 -1
  295. package/build-module/navigation-link/update-attributes.js +97 -0
  296. package/build-module/navigation-link/update-attributes.js.map +1 -0
  297. package/build-module/navigation-submenu/edit.js +47 -175
  298. package/build-module/navigation-submenu/edit.js.map +1 -1
  299. package/build-module/page-list/constants.js +6 -0
  300. package/build-module/page-list/constants.js.map +1 -0
  301. package/build-module/page-list/convert-to-links-modal.js +20 -81
  302. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  303. package/build-module/page-list/convert-to-navigation-links.js +66 -0
  304. package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
  305. package/build-module/page-list/edit.js +144 -82
  306. package/build-module/page-list/edit.js.map +1 -1
  307. package/build-module/page-list/index.js +6 -1
  308. package/build-module/page-list/index.js.map +1 -1
  309. package/build-module/page-list-item/edit.js +74 -0
  310. package/build-module/page-list-item/edit.js.map +1 -0
  311. package/build-module/page-list-item/index.js +68 -0
  312. package/build-module/page-list-item/index.js.map +1 -0
  313. package/build-module/page-list-item/init.js +6 -0
  314. package/build-module/page-list-item/init.js.map +1 -0
  315. package/build-module/paragraph/index.js +1 -7
  316. package/build-module/paragraph/index.js.map +1 -1
  317. package/build-module/post-author/edit.js +3 -2
  318. package/build-module/post-author/edit.js.map +1 -1
  319. package/build-module/post-featured-image/overlay.js +1 -0
  320. package/build-module/post-featured-image/overlay.js.map +1 -1
  321. package/build-module/post-template/index.js +8 -0
  322. package/build-module/post-template/index.js.map +1 -1
  323. package/build-module/preformatted/transforms.js +3 -1
  324. package/build-module/preformatted/transforms.js.map +1 -1
  325. package/build-module/query/deprecated.js +185 -21
  326. package/build-module/query/deprecated.js.map +1 -1
  327. package/build-module/query/edit/inspector-controls/index.js +1 -0
  328. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  329. package/build-module/query/edit/query-placeholder.js +3 -19
  330. package/build-module/query/edit/query-placeholder.js.map +1 -1
  331. package/build-module/query/index.js +0 -8
  332. package/build-module/query/index.js.map +1 -1
  333. package/build-module/query/utils.js +0 -8
  334. package/build-module/query/utils.js.map +1 -1
  335. package/build-module/rss/edit.js +3 -0
  336. package/build-module/rss/edit.js.map +1 -1
  337. package/build-module/search/edit.native.js +20 -20
  338. package/build-module/search/edit.native.js.map +1 -1
  339. package/build-module/search/index.js +8 -1
  340. package/build-module/search/index.js.map +1 -1
  341. package/build-module/site-logo/edit.js +17 -8
  342. package/build-module/site-logo/edit.js.map +1 -1
  343. package/build-module/site-logo/index.js +1 -0
  344. package/build-module/site-logo/index.js.map +1 -1
  345. package/build-module/site-title/index.js +1 -0
  346. package/build-module/site-title/index.js.map +1 -1
  347. package/build-module/social-link/social-list.js +2 -11
  348. package/build-module/social-link/social-list.js.map +1 -1
  349. package/build-module/table/edit.js +3 -1
  350. package/build-module/table/edit.js.map +1 -1
  351. package/build-module/table/index.js +17 -1
  352. package/build-module/table/index.js.map +1 -1
  353. package/build-module/table/save.js +4 -2
  354. package/build-module/table/save.js.map +1 -1
  355. package/build-module/table/state.js +25 -13
  356. package/build-module/table/state.js.map +1 -1
  357. package/build-module/table/transforms.js +3 -2
  358. package/build-module/table/transforms.js.map +1 -1
  359. package/build-module/table-of-contents/edit.js +2 -2
  360. package/build-module/table-of-contents/edit.js.map +1 -1
  361. package/build-module/tag-cloud/edit.js +3 -2
  362. package/build-module/tag-cloud/edit.js.map +1 -1
  363. package/build-module/template-part/edit/selection-modal.js +6 -3
  364. package/build-module/template-part/edit/selection-modal.js.map +1 -1
  365. package/build-module/template-part/edit/utils/hooks.js +3 -7
  366. package/build-module/template-part/edit/utils/hooks.js.map +1 -1
  367. package/build-module/text-columns/edit.js +1 -0
  368. package/build-module/text-columns/edit.js.map +1 -1
  369. package/build-module/utils/transformation-categories.native.js +1 -1
  370. package/build-module/utils/transformation-categories.native.js.map +1 -1
  371. package/build-module/video/edit.js +1 -1
  372. package/build-module/video/edit.js.map +1 -1
  373. package/build-module/video/edit.native.js +1 -2
  374. package/build-module/video/edit.native.js.map +1 -1
  375. package/build-style/archives/editor-rtl.css +12 -0
  376. package/build-style/archives/editor.css +12 -0
  377. package/build-style/archives/style-rtl.css +12 -0
  378. package/build-style/archives/style.css +12 -0
  379. package/build-style/audio/editor-rtl.css +12 -0
  380. package/build-style/audio/editor.css +12 -0
  381. package/build-style/audio/style-rtl.css +12 -0
  382. package/build-style/audio/style.css +12 -0
  383. package/build-style/audio/theme-rtl.css +12 -0
  384. package/build-style/audio/theme.css +12 -0
  385. package/build-style/avatar/editor-rtl.css +12 -0
  386. package/build-style/avatar/editor.css +12 -0
  387. package/build-style/avatar/style-rtl.css +12 -0
  388. package/build-style/avatar/style.css +12 -0
  389. package/build-style/block/editor-rtl.css +22 -0
  390. package/build-style/block/editor.css +22 -0
  391. package/build-style/button/editor-rtl.css +12 -0
  392. package/build-style/button/editor.css +12 -0
  393. package/build-style/button/style-rtl.css +12 -0
  394. package/build-style/button/style.css +12 -0
  395. package/build-style/buttons/editor-rtl.css +12 -0
  396. package/build-style/buttons/editor.css +12 -0
  397. package/build-style/buttons/style-rtl.css +12 -0
  398. package/build-style/buttons/style.css +12 -0
  399. package/build-style/calendar/style-rtl.css +12 -0
  400. package/build-style/calendar/style.css +12 -0
  401. package/build-style/categories/editor-rtl.css +12 -0
  402. package/build-style/categories/editor.css +12 -0
  403. package/build-style/categories/style-rtl.css +12 -0
  404. package/build-style/categories/style.css +12 -0
  405. package/build-style/classic-rtl.css +12 -0
  406. package/build-style/classic.css +12 -0
  407. package/build-style/code/editor-rtl.css +12 -0
  408. package/build-style/code/editor.css +12 -0
  409. package/build-style/code/style-rtl.css +12 -0
  410. package/build-style/code/style.css +12 -0
  411. package/build-style/code/theme-rtl.css +12 -0
  412. package/build-style/code/theme.css +12 -0
  413. package/build-style/columns/editor-rtl.css +12 -0
  414. package/build-style/columns/editor.css +12 -0
  415. package/build-style/columns/style-rtl.css +12 -0
  416. package/build-style/columns/style.css +12 -0
  417. package/build-style/comment-author-avatar/editor-rtl.css +12 -0
  418. package/build-style/comment-author-avatar/editor.css +12 -0
  419. package/build-style/comment-content/style-rtl.css +12 -0
  420. package/build-style/comment-content/style.css +12 -0
  421. package/build-style/comment-template/style-rtl.css +12 -0
  422. package/build-style/comment-template/style.css +12 -0
  423. package/build-style/comments/editor-rtl.css +12 -0
  424. package/build-style/comments/editor.css +12 -0
  425. package/build-style/comments/style-rtl.css +12 -0
  426. package/build-style/comments/style.css +12 -0
  427. package/build-style/comments-pagination/editor-rtl.css +12 -0
  428. package/build-style/comments-pagination/editor.css +12 -0
  429. package/build-style/comments-pagination/style-rtl.css +12 -0
  430. package/build-style/comments-pagination/style.css +12 -0
  431. package/build-style/comments-pagination-numbers/editor-rtl.css +12 -0
  432. package/build-style/comments-pagination-numbers/editor.css +12 -0
  433. package/build-style/comments-title/editor-rtl.css +12 -0
  434. package/build-style/comments-title/editor.css +12 -0
  435. package/build-style/common-rtl.css +17 -1
  436. package/build-style/common.css +17 -1
  437. package/build-style/cover/editor-rtl.css +12 -0
  438. package/build-style/cover/editor.css +12 -0
  439. package/build-style/cover/style-rtl.css +14 -1
  440. package/build-style/cover/style.css +14 -1
  441. package/build-style/editor-elements-rtl.css +12 -0
  442. package/build-style/editor-elements.css +12 -0
  443. package/build-style/editor-rtl.css +39 -20
  444. package/build-style/editor.css +39 -20
  445. package/build-style/elements-rtl.css +12 -0
  446. package/build-style/elements.css +12 -0
  447. package/build-style/embed/editor-rtl.css +12 -0
  448. package/build-style/embed/editor.css +12 -0
  449. package/build-style/embed/style-rtl.css +12 -0
  450. package/build-style/embed/style.css +12 -0
  451. package/build-style/embed/theme-rtl.css +12 -0
  452. package/build-style/embed/theme.css +12 -0
  453. package/build-style/file/editor-rtl.css +12 -0
  454. package/build-style/file/editor.css +12 -0
  455. package/build-style/file/style-rtl.css +12 -0
  456. package/build-style/file/style.css +12 -0
  457. package/build-style/freeform/editor-rtl.css +12 -0
  458. package/build-style/freeform/editor.css +12 -0
  459. package/build-style/gallery/editor-rtl.css +13 -1
  460. package/build-style/gallery/editor.css +13 -1
  461. package/build-style/gallery/style-rtl.css +16 -2
  462. package/build-style/gallery/style.css +16 -2
  463. package/build-style/gallery/theme-rtl.css +12 -0
  464. package/build-style/gallery/theme.css +12 -0
  465. package/build-style/group/editor-rtl.css +12 -0
  466. package/build-style/group/editor.css +12 -0
  467. package/build-style/group/style-rtl.css +12 -0
  468. package/build-style/group/style.css +12 -0
  469. package/build-style/group/theme-rtl.css +12 -0
  470. package/build-style/group/theme.css +12 -0
  471. package/build-style/heading/style-rtl.css +12 -0
  472. package/build-style/heading/style.css +12 -0
  473. package/build-style/html/editor-rtl.css +12 -0
  474. package/build-style/html/editor.css +12 -0
  475. package/build-style/image/editor-rtl.css +12 -9
  476. package/build-style/image/editor.css +12 -9
  477. package/build-style/image/style-rtl.css +12 -0
  478. package/build-style/image/style.css +12 -0
  479. package/build-style/image/theme-rtl.css +12 -0
  480. package/build-style/image/theme.css +12 -0
  481. package/build-style/latest-comments/style-rtl.css +12 -0
  482. package/build-style/latest-comments/style.css +12 -0
  483. package/build-style/latest-posts/editor-rtl.css +12 -0
  484. package/build-style/latest-posts/editor.css +12 -0
  485. package/build-style/latest-posts/style-rtl.css +12 -0
  486. package/build-style/latest-posts/style.css +12 -0
  487. package/build-style/list/style-rtl.css +12 -0
  488. package/build-style/list/style.css +12 -0
  489. package/build-style/media-text/editor-rtl.css +12 -0
  490. package/build-style/media-text/editor.css +12 -0
  491. package/build-style/media-text/style-rtl.css +12 -0
  492. package/build-style/media-text/style.css +12 -0
  493. package/build-style/more/editor-rtl.css +12 -0
  494. package/build-style/more/editor.css +12 -0
  495. package/build-style/navigation/editor-rtl.css +12 -0
  496. package/build-style/navigation/editor.css +12 -0
  497. package/build-style/navigation/style-rtl.css +12 -0
  498. package/build-style/navigation/style.css +12 -0
  499. package/build-style/navigation-link/editor-rtl.css +12 -0
  500. package/build-style/navigation-link/editor.css +12 -0
  501. package/build-style/navigation-link/style-rtl.css +12 -0
  502. package/build-style/navigation-link/style.css +12 -0
  503. package/build-style/navigation-submenu/editor-rtl.css +12 -0
  504. package/build-style/navigation-submenu/editor.css +12 -0
  505. package/build-style/nextpage/editor-rtl.css +12 -0
  506. package/build-style/nextpage/editor.css +12 -0
  507. package/build-style/page-list/editor-rtl.css +12 -0
  508. package/build-style/page-list/editor.css +12 -0
  509. package/build-style/page-list/style-rtl.css +12 -0
  510. package/build-style/page-list/style.css +12 -0
  511. package/build-style/paragraph/editor-rtl.css +12 -0
  512. package/build-style/paragraph/editor.css +12 -0
  513. package/build-style/paragraph/style-rtl.css +12 -0
  514. package/build-style/paragraph/style.css +12 -0
  515. package/build-style/post-author/style-rtl.css +12 -0
  516. package/build-style/post-author/style.css +12 -0
  517. package/build-style/post-comments-form/editor-rtl.css +12 -0
  518. package/build-style/post-comments-form/editor.css +12 -0
  519. package/build-style/post-comments-form/style-rtl.css +12 -0
  520. package/build-style/post-comments-form/style.css +12 -0
  521. package/build-style/post-date/style-rtl.css +12 -0
  522. package/build-style/post-date/style.css +12 -0
  523. package/build-style/post-excerpt/editor-rtl.css +12 -0
  524. package/build-style/post-excerpt/editor.css +12 -0
  525. package/build-style/post-excerpt/style-rtl.css +12 -0
  526. package/build-style/post-excerpt/style.css +12 -0
  527. package/build-style/post-featured-image/editor-rtl.css +12 -0
  528. package/build-style/post-featured-image/editor.css +12 -0
  529. package/build-style/post-featured-image/style-rtl.css +12 -0
  530. package/build-style/post-featured-image/style.css +12 -0
  531. package/build-style/post-navigation-link/style-rtl.css +12 -0
  532. package/build-style/post-navigation-link/style.css +12 -0
  533. package/build-style/post-template/editor-rtl.css +12 -0
  534. package/build-style/post-template/editor.css +12 -0
  535. package/build-style/post-template/style-rtl.css +12 -0
  536. package/build-style/post-template/style.css +12 -0
  537. package/build-style/post-terms/style-rtl.css +12 -0
  538. package/build-style/post-terms/style.css +12 -0
  539. package/build-style/post-title/style-rtl.css +12 -0
  540. package/build-style/post-title/style.css +12 -0
  541. package/build-style/preformatted/style-rtl.css +12 -0
  542. package/build-style/preformatted/style.css +12 -0
  543. package/build-style/pullquote/editor-rtl.css +12 -0
  544. package/build-style/pullquote/editor.css +12 -0
  545. package/build-style/pullquote/style-rtl.css +12 -0
  546. package/build-style/pullquote/style.css +12 -0
  547. package/build-style/pullquote/theme-rtl.css +12 -0
  548. package/build-style/pullquote/theme.css +12 -0
  549. package/build-style/query/editor-rtl.css +12 -0
  550. package/build-style/query/editor.css +12 -0
  551. package/build-style/query-pagination/editor-rtl.css +12 -0
  552. package/build-style/query-pagination/editor.css +12 -0
  553. package/build-style/query-pagination/style-rtl.css +12 -0
  554. package/build-style/query-pagination/style.css +12 -0
  555. package/build-style/query-pagination-numbers/editor-rtl.css +12 -0
  556. package/build-style/query-pagination-numbers/editor.css +12 -0
  557. package/build-style/query-title/style-rtl.css +12 -0
  558. package/build-style/query-title/style.css +12 -0
  559. package/build-style/quote/style-rtl.css +12 -0
  560. package/build-style/quote/style.css +12 -0
  561. package/build-style/quote/theme-rtl.css +12 -0
  562. package/build-style/quote/theme.css +12 -0
  563. package/build-style/read-more/style-rtl.css +12 -0
  564. package/build-style/read-more/style.css +12 -0
  565. package/build-style/reset-rtl.css +12 -0
  566. package/build-style/reset.css +12 -0
  567. package/build-style/rss/editor-rtl.css +12 -0
  568. package/build-style/rss/editor.css +12 -0
  569. package/build-style/rss/style-rtl.css +12 -0
  570. package/build-style/rss/style.css +12 -0
  571. package/build-style/search/editor-rtl.css +12 -0
  572. package/build-style/search/editor.css +12 -0
  573. package/build-style/search/style-rtl.css +12 -0
  574. package/build-style/search/style.css +12 -0
  575. package/build-style/search/theme-rtl.css +12 -0
  576. package/build-style/search/theme.css +12 -0
  577. package/build-style/separator/editor-rtl.css +12 -0
  578. package/build-style/separator/editor.css +12 -0
  579. package/build-style/separator/style-rtl.css +12 -0
  580. package/build-style/separator/style.css +12 -0
  581. package/build-style/separator/theme-rtl.css +12 -0
  582. package/build-style/separator/theme.css +12 -0
  583. package/build-style/shortcode/editor-rtl.css +13 -1
  584. package/build-style/shortcode/editor.css +13 -1
  585. package/build-style/site-logo/editor-rtl.css +12 -0
  586. package/build-style/site-logo/editor.css +12 -0
  587. package/build-style/site-logo/style-rtl.css +12 -0
  588. package/build-style/site-logo/style.css +12 -0
  589. package/build-style/site-tagline/editor-rtl.css +12 -0
  590. package/build-style/site-tagline/editor.css +12 -0
  591. package/build-style/site-title/editor-rtl.css +12 -0
  592. package/build-style/site-title/editor.css +12 -0
  593. package/build-style/site-title/style-rtl.css +12 -0
  594. package/build-style/site-title/style.css +12 -0
  595. package/build-style/social-link/editor-rtl.css +12 -0
  596. package/build-style/social-link/editor.css +12 -0
  597. package/build-style/social-links/editor-rtl.css +12 -0
  598. package/build-style/social-links/editor.css +12 -0
  599. package/build-style/social-links/style-rtl.css +12 -0
  600. package/build-style/social-links/style.css +12 -0
  601. package/build-style/spacer/editor-rtl.css +12 -0
  602. package/build-style/spacer/editor.css +12 -0
  603. package/build-style/spacer/style-rtl.css +12 -0
  604. package/build-style/spacer/style.css +12 -0
  605. package/build-style/style-rtl.css +23 -5
  606. package/build-style/style.css +23 -5
  607. package/build-style/table/editor-rtl.css +12 -8
  608. package/build-style/table/editor.css +12 -8
  609. package/build-style/table/style-rtl.css +12 -0
  610. package/build-style/table/style.css +12 -0
  611. package/build-style/table/theme-rtl.css +12 -0
  612. package/build-style/table/theme.css +12 -0
  613. package/build-style/tag-cloud/style-rtl.css +12 -0
  614. package/build-style/tag-cloud/style.css +12 -0
  615. package/build-style/template-part/editor-rtl.css +27 -1
  616. package/build-style/template-part/editor.css +27 -1
  617. package/build-style/template-part/theme-rtl.css +12 -0
  618. package/build-style/template-part/theme.css +12 -0
  619. package/build-style/text-columns/editor-rtl.css +12 -0
  620. package/build-style/text-columns/editor.css +12 -0
  621. package/build-style/text-columns/style-rtl.css +12 -0
  622. package/build-style/text-columns/style.css +12 -0
  623. package/build-style/theme-rtl.css +12 -0
  624. package/build-style/theme.css +12 -0
  625. package/build-style/verse/style-rtl.css +12 -0
  626. package/build-style/verse/style.css +12 -0
  627. package/build-style/video/editor-rtl.css +12 -0
  628. package/build-style/video/editor.css +12 -0
  629. package/build-style/video/style-rtl.css +14 -1
  630. package/build-style/video/style.css +14 -1
  631. package/build-style/video/theme-rtl.css +12 -0
  632. package/build-style/video/theme.css +12 -0
  633. package/package.json +32 -30
  634. package/src/audio/edit.native.js +1 -2
  635. package/src/audio/index.js +1 -0
  636. package/src/avatar/edit.js +1 -0
  637. package/src/avatar/user-control.js +1 -0
  638. package/src/block/block.json +1 -2
  639. package/src/block/edit.js +14 -3
  640. package/src/block/edit.native.js +24 -12
  641. package/src/block/editor.scss +17 -0
  642. package/src/block/index.php +1 -2
  643. package/src/block/test/edit.native.js +28 -32
  644. package/src/button/edit.native.js +1 -0
  645. package/src/buttons/test/edit.native.js +40 -51
  646. package/src/code/transforms.js +3 -1
  647. package/src/columns/edit.js +1 -0
  648. package/src/columns/edit.native.js +18 -26
  649. package/src/comment-author-avatar/edit.js +1 -0
  650. package/src/cover/edit/inspector-controls.js +2 -0
  651. package/src/cover/edit.native.js +32 -19
  652. package/src/cover/test/edit.native.js +73 -126
  653. package/src/embed/embed-controls.native.js +1 -0
  654. package/src/embed/embed-preview.native.js +1 -2
  655. package/src/embed/test/index.native.js +237 -231
  656. package/src/file/inspector.js +1 -0
  657. package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
  658. package/src/gallery/edit.js +15 -5
  659. package/src/gallery/gallery.native.js +1 -2
  660. package/src/gallery/shared.js +7 -11
  661. package/src/gallery/transforms.js +1 -6
  662. package/src/gallery/use-get-media.js +1 -1
  663. package/src/gallery/use-get-media.native.js +2 -1
  664. package/src/gallery/v1/edit.js +8 -7
  665. package/src/gallery/v1/gallery.native.js +1 -2
  666. package/src/gallery/v1/shared.js +7 -2
  667. package/src/group/block.json +3 -1
  668. package/src/group/edit.js +2 -6
  669. package/src/group/placeholder.js +6 -25
  670. package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
  671. package/src/heading/block.json +1 -2
  672. package/src/heading/deprecated.js +209 -136
  673. package/src/heading/index.php +52 -0
  674. package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
  675. package/src/heading/test/index.native.js +44 -0
  676. package/src/home-link/index.php +1 -1
  677. package/src/html/block.json +1 -1
  678. package/src/image/edit.js +7 -2
  679. package/src/image/edit.native.js +2 -1
  680. package/src/image/editor.scss +0 -11
  681. package/src/image/image.js +13 -8
  682. package/src/image/test/edit.native.js +14 -10
  683. package/src/index.js +2 -0
  684. package/src/latest-comments/edit.js +1 -0
  685. package/src/latest-posts/edit.js +2 -0
  686. package/src/list/test/edit.native.js +53 -45
  687. package/src/list/transforms.js +0 -11
  688. package/src/list/utils.js +6 -2
  689. package/src/list-item/index.js +2 -0
  690. package/src/list-item/transforms.js +17 -0
  691. package/src/list-item/utils.js +10 -1
  692. package/src/media-text/edit.js +5 -3
  693. package/src/missing/test/edit-integration.native.js +10 -12
  694. package/src/navigation/edit/are-blocks-dirty.js +51 -0
  695. package/src/navigation/edit/index.js +230 -298
  696. package/src/navigation/edit/menu-inspector-controls.js +78 -0
  697. package/src/navigation/edit/navigation-menu-selector.js +5 -16
  698. package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
  699. package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
  700. package/src/navigation/index.php +57 -10
  701. package/src/navigation/view-modal.js +11 -1
  702. package/src/navigation-link/edit.js +58 -329
  703. package/src/navigation-link/index.php +32 -0
  704. package/src/navigation-link/link-ui.js +213 -0
  705. package/src/navigation-link/test/edit.js +23 -82
  706. package/src/navigation-link/transforms.js +14 -0
  707. package/src/navigation-link/update-attributes.js +99 -0
  708. package/src/navigation-submenu/edit.js +57 -177
  709. package/src/navigation-submenu/index.php +40 -0
  710. package/src/page-list/block.json +6 -1
  711. package/src/page-list/constants.js +8 -0
  712. package/src/page-list/convert-to-links-modal.js +19 -76
  713. package/src/page-list/convert-to-navigation-links.js +60 -0
  714. package/src/page-list/edit.js +179 -118
  715. package/src/page-list/index.php +9 -0
  716. package/src/page-list/test/convert-to-links-modal.js +28 -34
  717. package/src/page-list-item/block.json +51 -0
  718. package/src/page-list-item/edit.js +94 -0
  719. package/src/page-list-item/index.js +24 -0
  720. package/src/page-list-item/init.js +6 -0
  721. package/src/paragraph/index.js +0 -6
  722. package/src/post-author/edit.js +3 -2
  723. package/src/post-content/index.php +1 -2
  724. package/src/post-featured-image/index.php +7 -2
  725. package/src/post-featured-image/overlay.js +1 -0
  726. package/src/post-template/block.json +8 -0
  727. package/src/preformatted/transforms.js +4 -1
  728. package/src/query/block.json +0 -8
  729. package/src/query/deprecated.js +257 -86
  730. package/src/query/edit/inspector-controls/index.js +1 -0
  731. package/src/query/edit/query-placeholder.js +4 -16
  732. package/src/rss/edit.js +3 -0
  733. package/src/search/edit.native.js +31 -27
  734. package/src/search/index.js +5 -1
  735. package/src/shortcode/test/edit.native.js +15 -18
  736. package/src/site-logo/edit.js +13 -5
  737. package/src/site-logo/index.js +1 -0
  738. package/src/site-title/index.js +1 -0
  739. package/src/social-link/social-list.js +2 -7
  740. package/src/social-link/test/index.native.js +10 -16
  741. package/src/social-links/test/edit.native.js +4 -3
  742. package/src/spacer/test/index.native.js +39 -36
  743. package/src/table/block.json +15 -0
  744. package/src/table/edit.js +2 -1
  745. package/src/table/editor.scss +0 -4
  746. package/src/table/index.js +1 -0
  747. package/src/table/save.js +5 -1
  748. package/src/table/state.js +22 -7
  749. package/src/table/transforms.js +2 -1
  750. package/src/table-of-contents/edit.js +2 -2
  751. package/src/tag-cloud/edit.js +3 -2
  752. package/src/template-part/edit/selection-modal.js +4 -3
  753. package/src/template-part/edit/utils/hooks.js +7 -3
  754. package/src/template-part/editor.scss +20 -2
  755. package/src/template-part/index.php +1 -2
  756. package/src/text-columns/edit.js +1 -0
  757. package/src/utils/transformation-categories.native.js +1 -0
  758. package/src/video/edit.js +1 -1
  759. package/src/video/edit.native.js +1 -2
  760. package/test/babel-plugin.js +35 -35
  761. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["filter","find","get","isEmpty","map","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","reduce","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","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","every","filesList","forEach","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 { filter, find, get, isEmpty, map } 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 ( attributes.ids ?? [] ).reduce(\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 = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\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\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( 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\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { 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":["get","isEmpty","map","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","reduce","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","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","every","filesList","forEach","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 { get, isEmpty, map } 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 ( attributes.ids ?? [] ).reduce(\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 = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t] );\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\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 = images.filter( ( 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 = images.find( ( { id } ) => 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 = attachmentCaptions.find(\n\t\t\t( { id } ) => id === 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\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn map(\n\t\t\timageSizes.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( 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\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { 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\t__nextHasNoMarginBottom\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"]}
@@ -4,7 +4,6 @@ import { createElement } from "@wordpress/element";
4
4
  * External dependencies
5
5
  */
6
6
  import { View } from 'react-native';
7
- import { isEmpty } from 'lodash';
8
7
  /**
9
8
  * Internal dependencies
10
9
  */
@@ -121,7 +120,7 @@ export const Gallery = props => {
121
120
  clientId: clientId,
122
121
  isSelected: isCaptionSelected,
123
122
  accessible: true,
124
- accessibilityLabelCreator: caption => isEmpty(caption) ?
123
+ accessibilityLabelCreator: caption => !caption ?
125
124
  /* translators: accessibility text. Empty gallery caption. */
126
125
  'Gallery caption. Empty' : sprintf(
127
126
  /* translators: accessibility text. %s: gallery caption. */
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"names":["View","isEmpty","GalleryImage","defaultColumnsNumberV1","styles","Tiles","__","sprintf","BlockCaption","store","blockEditorStore","useState","useEffect","mediaUploadSync","useSelect","alignmentHelpers","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","Gallery","props","isCaptionSelected","setIsCaptionSelected","isRTL","select","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","flex","galleryTilesContainerSelected","undefined","map","img","ariaLabel","length","id","url","alt","parseInt","attrs","caption","fullWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\nimport { isEmpty } from 'lodash';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\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<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\tisEmpty( caption )\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/gallery.native.js"],"names":["View","GalleryImage","defaultColumnsNumberV1","styles","Tiles","__","sprintf","BlockCaption","store","blockEditorStore","useState","useEffect","mediaUploadSync","useSelect","alignmentHelpers","TILE_SPACING","MAX_DISPLAYED_COLUMNS","MAX_DISPLAYED_COLUMNS_NARROW","isFullWidth","Gallery","props","isCaptionSelected","setIsCaptionSelected","isRTL","select","getSettings","clientId","selectedImage","mediaPlaceholder","onBlur","onMoveBackward","onMoveForward","onRemoveImage","onSelectImage","onSetImageAttributes","onFocusGalleryCaption","attributes","isSelected","isNarrow","onFocus","insertBlocksAfter","align","columns","imageCrop","images","displayedColumns","Math","min","selectImage","index","focusGalleryCaption","flex","galleryTilesContainerSelected","undefined","map","img","ariaLabel","length","id","url","alt","parseInt","attrs","caption","fullWidth"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * Internal dependencies\n */\nimport GalleryImage from './gallery-image';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport styles from './gallery-styles.scss';\nimport Tiles from './tiles';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tBlockCaption,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState, useEffect } from '@wordpress/element';\nimport { mediaUploadSync } from '@wordpress/react-native-bridge';\nimport { useSelect } from '@wordpress/data';\nimport { alignmentHelpers } from '@wordpress/components';\n\nconst TILE_SPACING = 15;\n\n// we must limit displayed columns since readable content max-width is 580px\nconst MAX_DISPLAYED_COLUMNS = 4;\nconst MAX_DISPLAYED_COLUMNS_NARROW = 2;\n\nconst { isFullWidth } = alignmentHelpers;\n\nexport const Gallery = ( props ) => {\n\tconst [ isCaptionSelected, setIsCaptionSelected ] = useState( false );\n\tuseEffect( mediaUploadSync, [] );\n\n\tconst isRTL = useSelect( ( select ) => {\n\t\treturn !! select( blockEditorStore ).getSettings().isRTL;\n\t}, [] );\n\n\tconst {\n\t\tclientId,\n\t\tselectedImage,\n\t\tmediaPlaceholder,\n\t\tonBlur,\n\t\tonMoveBackward,\n\t\tonMoveForward,\n\t\tonRemoveImage,\n\t\tonSelectImage,\n\t\tonSetImageAttributes,\n\t\tonFocusGalleryCaption,\n\t\tattributes,\n\t\tisSelected,\n\t\tisNarrow,\n\t\tonFocus,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\talign,\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t} = attributes;\n\n\t// limit displayed columns when isNarrow is true (i.e. when viewport width is\n\t// less than \"small\", where small = 600)\n\tconst displayedColumns = isNarrow\n\t\t? Math.min( columns, MAX_DISPLAYED_COLUMNS_NARROW )\n\t\t: Math.min( columns, MAX_DISPLAYED_COLUMNS );\n\n\tconst selectImage = ( index ) => {\n\t\treturn () => {\n\t\t\tif ( isCaptionSelected ) {\n\t\t\t\tsetIsCaptionSelected( false );\n\t\t\t}\n\t\t\t// We need to fully invoke the curried function here.\n\t\t\tonSelectImage( index )();\n\t\t};\n\t};\n\n\tconst focusGalleryCaption = () => {\n\t\tif ( ! isCaptionSelected ) {\n\t\t\tsetIsCaptionSelected( true );\n\t\t}\n\t\tonFocusGalleryCaption();\n\t};\n\n\treturn (\n\t\t<View style={ { flex: 1 } }>\n\t\t\t<Tiles\n\t\t\t\tcolumns={ displayedColumns }\n\t\t\t\tspacing={ TILE_SPACING }\n\t\t\t\tstyle={\n\t\t\t\t\tisSelected\n\t\t\t\t\t\t? styles.galleryTilesContainerSelected\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t>\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<GalleryImage\n\t\t\t\t\t\t\tkey={ img.id ? `${ img.id }-${ index }` : img.url }\n\t\t\t\t\t\t\turl={ img.url }\n\t\t\t\t\t\t\talt={ img.alt }\n\t\t\t\t\t\t\tid={ parseInt( img.id, 10 ) } // make id an integer explicitly\n\t\t\t\t\t\t\tisCropped={ imageCrop }\n\t\t\t\t\t\t\tisFirstItem={ index === 0 }\n\t\t\t\t\t\t\tisLastItem={ index + 1 === images.length }\n\t\t\t\t\t\t\tisSelected={ isSelected && selectedImage === index }\n\t\t\t\t\t\t\tisBlockSelected={ isSelected }\n\t\t\t\t\t\t\tonMoveBackward={ onMoveBackward( index ) }\n\t\t\t\t\t\t\tonMoveForward={ onMoveForward( index ) }\n\t\t\t\t\t\t\tonRemove={ onRemoveImage( index ) }\n\t\t\t\t\t\t\tonSelect={ selectImage( index ) }\n\t\t\t\t\t\t\tonSelectBlock={ onFocus }\n\t\t\t\t\t\t\tsetAttributes={ ( attrs ) =>\n\t\t\t\t\t\t\t\tonSetImageAttributes( index, attrs )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcaption={ img.caption }\n\t\t\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\t\t\tisRTL={ isRTL }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</Tiles>\n\t\t\t<View style={ isFullWidth( align ) && styles.fullWidth }>\n\t\t\t\t{ mediaPlaceholder }\n\t\t\t</View>\n\t\t\t<BlockCaption\n\t\t\t\tclientId={ clientId }\n\t\t\t\tisSelected={ isCaptionSelected }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityLabelCreator={ ( caption ) =>\n\t\t\t\t\t! caption\n\t\t\t\t\t\t? /* translators: accessibility text. Empty gallery caption. */\n\t\t\t\t\t\t 'Gallery caption. Empty'\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t/* translators: accessibility text. %s: gallery caption. */\n\t\t\t\t\t\t\t\t__( 'Gallery caption. %s' ),\n\t\t\t\t\t\t\t\tcaption\n\t\t\t\t\t\t )\n\t\t\t\t}\n\t\t\t\tonFocus={ focusGalleryCaption }\n\t\t\t\tonBlur={ onBlur } // Always assign onBlur as props.\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</View>\n\t);\n};\n\nexport default Gallery;\n"]}
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { get, pick } from 'lodash';
4
+ import { get } from 'lodash';
5
5
  export const pickRelevantMediaFiles = function (image) {
6
6
  let sizeSlug = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'large';
7
- const imageProps = pick(image, ['alt', 'id', 'link', 'caption']);
7
+ const imageProps = Object.fromEntries(Object.entries(image !== null && image !== void 0 ? image : {}).filter(_ref => {
8
+ let [key] = _ref;
9
+ return ['alt', 'id', 'link', 'caption'].includes(key);
10
+ }));
8
11
  imageProps.url = get(image, ['sizes', sizeSlug, 'url']) || get(image, ['media_details', 'sizes', sizeSlug, 'source_url']) || image.url;
9
12
  const fullUrl = get(image, ['sizes', 'full', 'url']) || get(image, ['media_details', 'sizes', 'full', 'source_url']);
10
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/shared.js"],"names":["get","pick","pickRelevantMediaFiles","image","sizeSlug","imageProps","url","fullUrl"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,EAAcC,IAAd,QAA0B,QAA1B;AAEA,OAAO,MAAMC,sBAAsB,GAAG,UAAEC,KAAF,EAAiC;AAAA,MAAxBC,QAAwB,uEAAb,OAAa;AACtE,QAAMC,UAAU,GAAGJ,IAAI,CAAEE,KAAF,EAAS,CAAE,KAAF,EAAS,IAAT,EAAe,MAAf,EAAuB,SAAvB,CAAT,CAAvB;AACAE,EAAAA,UAAU,CAACC,GAAX,GACCN,GAAG,CAAEG,KAAF,EAAS,CAAE,OAAF,EAAWC,QAAX,EAAqB,KAArB,CAAT,CAAH,IACAJ,GAAG,CAAEG,KAAF,EAAS,CAAE,eAAF,EAAmB,OAAnB,EAA4BC,QAA5B,EAAsC,YAAtC,CAAT,CADH,IAEAD,KAAK,CAACG,GAHP;AAIA,QAAMC,OAAO,GACZP,GAAG,CAAEG,KAAF,EAAS,CAAE,OAAF,EAAW,MAAX,EAAmB,KAAnB,CAAT,CAAH,IACAH,GAAG,CAAEG,KAAF,EAAS,CAAE,eAAF,EAAmB,OAAnB,EAA4B,MAA5B,EAAoC,YAApC,CAAT,CAFJ;;AAGA,MAAKI,OAAL,EAAe;AACdF,IAAAA,UAAU,CAACE,OAAX,GAAqBA,OAArB;AACA;;AACD,SAAOF,UAAP;AACA,CAbM","sourcesContent":["/**\n * External dependencies\n */\nimport { get, pick } from 'lodash';\n\nexport const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {\n\tconst imageProps = pick( image, [ 'alt', 'id', 'link', 'caption' ] );\n\timageProps.url =\n\t\tget( image, [ 'sizes', sizeSlug, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', sizeSlug, 'source_url' ] ) ||\n\t\timage.url;\n\tconst fullUrl =\n\t\tget( image, [ 'sizes', 'full', 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', 'full', 'source_url' ] );\n\tif ( fullUrl ) {\n\t\timageProps.fullUrl = fullUrl;\n\t}\n\treturn imageProps;\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/shared.js"],"names":["get","pickRelevantMediaFiles","image","sizeSlug","imageProps","Object","fromEntries","entries","filter","key","includes","url","fullUrl"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,GAAT,QAAoB,QAApB;AAEA,OAAO,MAAMC,sBAAsB,GAAG,UAAEC,KAAF,EAAiC;AAAA,MAAxBC,QAAwB,uEAAb,OAAa;AACtE,QAAMC,UAAU,GAAGC,MAAM,CAACC,WAAP,CAClBD,MAAM,CAACE,OAAP,CAAgBL,KAAhB,aAAgBA,KAAhB,cAAgBA,KAAhB,GAAyB,EAAzB,EAA8BM,MAA9B,CAAsC;AAAA,QAAE,CAAEC,GAAF,CAAF;AAAA,WACrC,CAAE,KAAF,EAAS,IAAT,EAAe,MAAf,EAAuB,SAAvB,EAAmCC,QAAnC,CAA6CD,GAA7C,CADqC;AAAA,GAAtC,CADkB,CAAnB;AAMAL,EAAAA,UAAU,CAACO,GAAX,GACCX,GAAG,CAAEE,KAAF,EAAS,CAAE,OAAF,EAAWC,QAAX,EAAqB,KAArB,CAAT,CAAH,IACAH,GAAG,CAAEE,KAAF,EAAS,CAAE,eAAF,EAAmB,OAAnB,EAA4BC,QAA5B,EAAsC,YAAtC,CAAT,CADH,IAEAD,KAAK,CAACS,GAHP;AAIA,QAAMC,OAAO,GACZZ,GAAG,CAAEE,KAAF,EAAS,CAAE,OAAF,EAAW,MAAX,EAAmB,KAAnB,CAAT,CAAH,IACAF,GAAG,CAAEE,KAAF,EAAS,CAAE,eAAF,EAAmB,OAAnB,EAA4B,MAA5B,EAAoC,YAApC,CAAT,CAFJ;;AAGA,MAAKU,OAAL,EAAe;AACdR,IAAAA,UAAU,CAACQ,OAAX,GAAqBA,OAArB;AACA;;AACD,SAAOR,UAAP;AACA,CAlBM","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\n\nexport const pickRelevantMediaFiles = ( image, sizeSlug = 'large' ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\tget( image, [ 'sizes', sizeSlug, 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', sizeSlug, 'source_url' ] ) ||\n\t\timage.url;\n\tconst fullUrl =\n\t\tget( image, [ 'sizes', 'full', 'url' ] ) ||\n\t\tget( image, [ 'media_details', 'sizes', 'full', 'source_url' ] );\n\tif ( fullUrl ) {\n\t\timageProps.fullUrl = fullUrl;\n\t}\n\treturn imageProps;\n};\n"]}
@@ -7,7 +7,6 @@ import { useDispatch, useSelect } from '@wordpress/data';
7
7
  import { InnerBlocks, useBlockProps, InspectorControls, useInnerBlocksProps, useSetting, store as blockEditorStore } from '@wordpress/block-editor';
8
8
  import { SelectControl } from '@wordpress/components';
9
9
  import { __ } from '@wordpress/i18n';
10
- import { useCallback } from '@wordpress/element';
11
10
  /**
12
11
  * Internal dependencies
13
12
  */
@@ -129,11 +128,10 @@ function GroupEdit(_ref2) {
129
128
  const {
130
129
  selectBlock
131
130
  } = useDispatch(blockEditorStore);
132
- const updateSelection = useCallback(newClientId => selectBlock(newClientId, -1), [selectBlock]);
133
131
 
134
132
  const selectVariation = nextVariation => {
135
133
  setAttributes(nextVariation.attributes);
136
- updateSelection(clientId);
134
+ selectBlock(clientId, -1);
137
135
  setShowPlaceholder(false);
138
136
  };
139
137
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/edit.js"],"names":["useDispatch","useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","useCallback","GroupPlaceHolder","useShouldShowPlaceHolder","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","main","section","article","aside","footer","label","value","GroupEdit","attributes","name","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","TagName","templateLock","layout","defaultLayout","usedLayout","type","layoutSupportEnabled","blockProps","className","showPlaceholder","setShowPlaceholder","usedLayoutType","innerBlocksProps","renderAppender","undefined","ButtonBlockAppender","__experimentalLayout","__unstableDisableLayoutClassNames","selectBlock","updateSelection","newClientId","selectVariation","nextVariation"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, 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';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\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\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( {\n\tattributes,\n\tname,\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\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\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\n\t// Layout settings.\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type === 'flex';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps( {\n\t\tclassName: ! layoutSupportEnabled ? layoutClassNames : null,\n\t} );\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: usedLayout?.type,\n\t\thasInnerBlocks,\n\t} );\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\t__unstableDisableLayoutClassNames: ! layoutSupportEnabled,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\tconst updateSelection = useCallback(\n\t\t( newClientId ) => selectBlock( newClientId, -1 ),\n\t\t[ selectBlock ]\n\t);\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tupdateSelection( clientId );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tname={ name }\n\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\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 && ! showPlaceholder && (\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":["useDispatch","useSelect","InnerBlocks","useBlockProps","InspectorControls","useInnerBlocksProps","useSetting","store","blockEditorStore","SelectControl","__","GroupPlaceHolder","useShouldShowPlaceHolder","GroupEditControls","tagName","onSelectTagName","htmlElementMessages","header","main","section","article","aside","footer","label","value","GroupEdit","attributes","name","setAttributes","clientId","__unstableLayoutClassNames","layoutClassNames","hasInnerBlocks","themeSupportsLayout","select","getBlock","getSettings","block","innerBlocks","length","supportsLayout","TagName","templateLock","layout","defaultLayout","usedLayout","type","layoutSupportEnabled","blockProps","className","showPlaceholder","setShowPlaceholder","usedLayoutType","innerBlocksProps","renderAppender","undefined","ButtonBlockAppender","__experimentalLayout","__unstableDisableLayoutClassNames","selectBlock","selectVariation","nextVariation"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, 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\n/**\n * Internal dependencies\n */\nimport GroupPlaceHolder, { useShouldShowPlaceHolder } from './placeholder';\n\n/**\n * Render inspector controls for the Group block.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The HTML tag name.\n * @param {Function} props.onSelectTagName onChange function for the SelectControl.\n *\n * @return {JSX.Element} The control group.\n */\nfunction GroupEditControls( { tagName, onSelectTagName } ) {\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\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\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\treturn (\n\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ [\n\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t] }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onSelectTagName }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n}\n\nfunction GroupEdit( {\n\tattributes,\n\tname,\n\tsetAttributes,\n\tclientId,\n\t__unstableLayoutClassNames: layoutClassNames,\n} ) {\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\n\tconst { tagName: TagName = 'div', templateLock, layout = {} } = attributes;\n\n\t// Layout settings.\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = ! layout?.type\n\t\t? { ...defaultLayout, ...layout, type: 'default' }\n\t\t: { ...defaultLayout, ...layout };\n\tconst { type = 'default' } = usedLayout;\n\tconst layoutSupportEnabled = themeSupportsLayout || type === 'flex';\n\n\t// Hooks.\n\tconst blockProps = useBlockProps( {\n\t\tclassName: ! layoutSupportEnabled ? layoutClassNames : null,\n\t} );\n\tconst [ showPlaceholder, setShowPlaceholder ] = useShouldShowPlaceHolder( {\n\t\tattributes,\n\t\tusedLayoutType: usedLayout?.type,\n\t\thasInnerBlocks,\n\t} );\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\t__unstableDisableLayoutClassNames: ! layoutSupportEnabled,\n\t\t}\n\t);\n\n\tconst { selectBlock } = useDispatch( blockEditorStore );\n\n\tconst selectVariation = ( nextVariation ) => {\n\t\tsetAttributes( nextVariation.attributes );\n\t\tselectBlock( clientId, -1 );\n\t\tsetShowPlaceholder( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<GroupEditControls\n\t\t\t\ttagName={ TagName }\n\t\t\t\tonSelectTagName={ ( value ) =>\n\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ showPlaceholder && (\n\t\t\t\t<GroupPlaceHolder\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tname={ name }\n\t\t\t\t\tonSelect={ selectVariation }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ layoutSupportEnabled && ! showPlaceholder && (\n\t\t\t\t<TagName { ...innerBlocksProps } />\n\t\t\t) }\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 && ! showPlaceholder && (\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"]}
@@ -81,7 +81,9 @@ const metadata = {
81
81
  fontSize: true
82
82
  }
83
83
  },
84
- __experimentalLayout: true
84
+ __experimentalLayout: {
85
+ allowSizingOnChildren: true
86
+ }
85
87
  },
86
88
  editorStyle: "wp-block-group-editor",
87
89
  style: "wp-block-group"
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["__","group","icon","initBlock","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;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;AACvBT,EAAAA,IADuB;AAEvBU,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,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KADY,EASZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KATY,EAiBZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,QAAF;AAHA;AAFb,KAjBY,EAyBZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,OAAF;AAHA;AAFb,KAzBY,EAiCZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,OAAF;AAHA;AAFb,KAjCY,EAyCZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KAzCY;AATL,GAFc;AA8DvBO,EAAAA,UA9DuB;AA+DvBF,EAAAA,IA/DuB;AAgEvBC,EAAAA,IAhEuB;AAiEvBF,EAAAA,UAjEuB;AAkEvBI,EAAAA;AAlEuB,CAAjB;AAqEP,OAAO,MAAMc,IAAI,GAAG,MAAMnB,SAAS,CAAE;AAAEM,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["__","group","icon","initBlock","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;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;AACvBT,EAAAA,IADuB;AAEvBU,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,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KADY,EASZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KATY,EAiBZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,QAAF;AAHA;AAFb,KAjBY,EAyBZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,OAAF;AAHA;AAFb,KAzBY,EAiCZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,OAAF;AAHA;AAFb,KAjCY,EAyCZ;AACCS,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXM,QAAAA,eAAe,EAAE,SADN;AAEXC,QAAAA,QAAQ,EAAE,OAFC;AAGXC,QAAAA,OAAO,EAAErB,EAAE,CAAE,MAAF;AAHA;AAFb,KAzCY;AATL,GAFc;AA8DvBO,EAAAA,UA9DuB;AA+DvBF,EAAAA,IA/DuB;AAgEvBC,EAAAA,IAhEuB;AAiEvBF,EAAAA,UAjEuB;AAkEvBI,EAAAA;AAlEuB,CAAjB;AAqEP,OAAO,MAAMc,IAAI,GAAG,MAAMnB,SAAS,CAAE;AAAEM,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\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\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
@@ -26,8 +26,7 @@ const getGroupPlaceholderIcons = function () {
26
26
  height: "32",
27
27
  viewBox: "0 0 44 32"
28
28
  }, createElement(Path, {
29
- d: "M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z" // style="fill:#ccc"
30
-
29
+ d: "M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z"
31
30
  })),
32
31
  'group-row': createElement(SVG, {
33
32
  xmlns: "http://www.w3.org/2000/svg",
@@ -35,8 +34,7 @@ const getGroupPlaceholderIcons = function () {
35
34
  height: "32",
36
35
  viewBox: "0 0 44 32"
37
36
  }, createElement(Path, {
38
- d: "M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z" // style="fill:#ccc"
39
-
37
+ d: "M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z"
40
38
  })),
41
39
  'group-stack': createElement(SVG, {
42
40
  xmlns: "http://www.w3.org/2000/svg",
@@ -44,8 +42,7 @@ const getGroupPlaceholderIcons = function () {
44
42
  height: "32",
45
43
  viewBox: "0 0 44 32"
46
44
  }, createElement(Path, {
47
- d: "M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z" // style="fill:#ccc"
48
-
45
+ d: "M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z"
49
46
  }))
50
47
  };
51
48
  return icons === null || icons === void 0 ? void 0 : icons[name];
@@ -110,28 +107,10 @@ function GroupPlaceHolder(_ref2) {
110
107
  name,
111
108
  onSelect
112
109
  } = _ref2;
113
- const {
114
- defaultVariation,
115
- variations
116
- } = useSelect(select => {
117
- const {
118
- getBlockVariations,
119
- getDefaultBlockVariation
120
- } = select(blocksStore);
121
- return {
122
- defaultVariation: getDefaultBlockVariation(name, 'block'),
123
- variations: getBlockVariations(name, 'block') || []
124
- };
125
- }, [name]);
110
+ const variations = useSelect(select => select(blocksStore).getBlockVariations(name, 'block'), [name]);
126
111
  const blockProps = useBlockProps({
127
112
  className: 'wp-block-group__placeholder'
128
113
  });
129
-
130
- const selectVariation = function () {
131
- let nextVariation = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : defaultVariation;
132
- return onSelect(nextVariation);
133
- };
134
-
135
114
  return createElement("div", blockProps, createElement(Placeholder, {
136
115
  instructions: __('Group blocks together. Select a layout:')
137
116
  }, createElement("ul", {
@@ -144,7 +123,7 @@ function GroupPlaceHolder(_ref2) {
144
123
  variant: "tertiary",
145
124
  icon: getGroupPlaceholderIcons(variation.name),
146
125
  iconSize: 44,
147
- onClick: () => selectVariation(variation),
126
+ onClick: () => onSelect(variation),
148
127
  className: "wp-block-group-placeholder__variation-button",
149
128
  label: `${variation.title}: ${variation.description}`
150
129
  }))))));
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/placeholder.js"],"names":["useSelect","useBlockProps","__","store","blocksStore","Path","SVG","Button","Placeholder","useState","useEffect","getGroupPlaceholderIcons","name","icons","group","useShouldShowPlaceHolder","attributes","style","undefined","backgroundColor","textColor","fontSize","usedLayoutType","hasInnerBlocks","showPlaceholder","setShowPlaceholder","GroupPlaceHolder","onSelect","defaultVariation","variations","select","getBlockVariations","getDefaultBlockVariation","blockProps","className","selectVariation","nextVariation","map","variation","title","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Path, SVG, Button, Placeholder } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Returns a custom variation icon.\n *\n * @param {string} name The block variation name.\n *\n * @return {JSX.Element} The SVG element.\n */\nconst getGroupPlaceholderIcons = ( name = 'group' ) => {\n\tconst icons = {\n\t\tgroup: (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path\n\t\t\t\t\td=\"M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\"\n\t\t\t\t\t// style=\"fill:#ccc\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t),\n\t\t'group-row': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path\n\t\t\t\t\td=\"M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z\"\n\t\t\t\t\t// style=\"fill:#ccc\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t),\n\t\t'group-stack': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path\n\t\t\t\t\td=\"M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z\"\n\t\t\t\t\t// style=\"fill:#ccc\"\n\t\t\t\t/>\n\t\t\t</SVG>\n\t\t),\n\t};\n\treturn icons?.[ name ];\n};\n\n/**\n * A custom hook to tell the Group block whether to show the variation placeholder.\n *\n * @param {Object} props Arguments to pass to hook.\n * @param {Object} [props.attributes] The block's attributes.\n * @param {string} [props.usedLayoutType] The block's current layout type.\n * @param {boolean} [props.hasInnerBlocks] Whether the block has inner blocks.\n *\n * @return {[boolean, Function]} A state value and setter function.\n */\nexport function useShouldShowPlaceHolder( {\n\tattributes = {\n\t\tstyle: undefined,\n\t\tbackgroundColor: undefined,\n\t\ttextColor: undefined,\n\t\tfontSize: undefined,\n\t},\n\tusedLayoutType = '',\n\thasInnerBlocks = false,\n} ) {\n\tconst { style, backgroundColor, textColor, fontSize } = attributes;\n\t/*\n\t * Shows the placeholder when no known styles are set,\n\t * or when a non-default layout has been selected.\n\t * Should the Group block support more style presets in the\n\t * future, e.g., attributes.spacingSize, we can add them to the\n\t * condition.\n\t */\n\tconst [ showPlaceholder, setShowPlaceholder ] = useState(\n\t\t! hasInnerBlocks &&\n\t\t\t! backgroundColor &&\n\t\t\t! fontSize &&\n\t\t\t! textColor &&\n\t\t\t! style &&\n\t\t\tusedLayoutType !== 'flex'\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t!! hasInnerBlocks ||\n\t\t\t!! backgroundColor ||\n\t\t\t!! fontSize ||\n\t\t\t!! textColor ||\n\t\t\t!! style ||\n\t\t\tusedLayoutType === 'flex'\n\t\t) {\n\t\t\tsetShowPlaceholder( false );\n\t\t}\n\t}, [\n\t\tbackgroundColor,\n\t\tfontSize,\n\t\ttextColor,\n\t\tstyle,\n\t\tusedLayoutType,\n\t\thasInnerBlocks,\n\t] );\n\n\treturn [ showPlaceholder, setShowPlaceholder ];\n}\n\n/**\n * Display group variations if none is selected.\n *\n * @param {Object} props Component props.\n * @param {string} props.name The block's name.\n * @param {Function} props.onSelect Function to set block's attributes.\n *\n * @return {JSX.Element} The placeholder.\n */\nfunction GroupPlaceHolder( { name, onSelect } ) {\n\tconst { defaultVariation, variations } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockVariations, getDefaultBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\treturn {\n\t\t\t\tdefaultVariation: getDefaultBlockVariation( name, 'block' ),\n\t\t\t\tvariations: getBlockVariations( name, 'block' ) || [],\n\t\t\t};\n\t\t},\n\t\t[ name ]\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-group__placeholder',\n\t} );\n\tconst selectVariation = ( nextVariation = defaultVariation ) =>\n\t\tonSelect( nextVariation );\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\tinstructions={ __( 'Group blocks together. Select a layout:' ) }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Taken from BlockVariationPicker component.\n\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<ul\n\t\t\t\t\trole=\"list\"\n\t\t\t\t\tclassName=\"wp-block-group-placeholder__variations\"\n\t\t\t\t\taria-label={ __( 'Block variations' ) }\n\t\t\t\t>\n\t\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t\t<li key={ variation.name }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\ticon={ getGroupPlaceholderIcons(\n\t\t\t\t\t\t\t\t\tvariation.name\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticonSize={ 44 }\n\t\t\t\t\t\t\t\tonClick={ () => selectVariation( variation ) }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-group-placeholder__variation-button\"\n\t\t\t\t\t\t\t\tlabel={ `${ variation.title }: ${ variation.description }` }\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</ul>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nexport default GroupPlaceHolder;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/placeholder.js"],"names":["useSelect","useBlockProps","__","store","blocksStore","Path","SVG","Button","Placeholder","useState","useEffect","getGroupPlaceholderIcons","name","icons","group","useShouldShowPlaceHolder","attributes","style","undefined","backgroundColor","textColor","fontSize","usedLayoutType","hasInnerBlocks","showPlaceholder","setShowPlaceholder","GroupPlaceHolder","onSelect","variations","select","getBlockVariations","blockProps","className","map","variation","title","description"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { store as blocksStore } from '@wordpress/blocks';\nimport { Path, SVG, Button, Placeholder } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Returns a custom variation icon.\n *\n * @param {string} name The block variation name.\n *\n * @return {JSX.Element} The SVG element.\n */\nconst getGroupPlaceholderIcons = ( name = 'group' ) => {\n\tconst icons = {\n\t\tgroup: (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-row': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H23.5c-.6 0-1 .4-1 1v30c0 .6.4 1 1 1H42c1.1 0 2-.9 2-2V2c0-1.1-.9-2-2-2zM20.5 0H2C.9 0 0 .9 0 2v28c0 1.1.9 2 2 2h18.5c.6 0 1-.4 1-1V1c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t\t'group-stack': (\n\t\t\t<SVG\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\twidth=\"44\"\n\t\t\t\theight=\"32\"\n\t\t\t\tviewBox=\"0 0 44 32\"\n\t\t\t>\n\t\t\t\t<Path d=\"M42 0H2C.9 0 0 .9 0 2v12.5c0 .6.4 1 1 1h42c.6 0 1-.4 1-1V2c0-1.1-.9-2-2-2zm1 16.5H1c-.6 0-1 .4-1 1V30c0 1.1.9 2 2 2h40c1.1 0 2-.9 2-2V17.5c0-.6-.4-1-1-1z\" />\n\t\t\t</SVG>\n\t\t),\n\t};\n\treturn icons?.[ name ];\n};\n\n/**\n * A custom hook to tell the Group block whether to show the variation placeholder.\n *\n * @param {Object} props Arguments to pass to hook.\n * @param {Object} [props.attributes] The block's attributes.\n * @param {string} [props.usedLayoutType] The block's current layout type.\n * @param {boolean} [props.hasInnerBlocks] Whether the block has inner blocks.\n *\n * @return {[boolean, Function]} A state value and setter function.\n */\nexport function useShouldShowPlaceHolder( {\n\tattributes = {\n\t\tstyle: undefined,\n\t\tbackgroundColor: undefined,\n\t\ttextColor: undefined,\n\t\tfontSize: undefined,\n\t},\n\tusedLayoutType = '',\n\thasInnerBlocks = false,\n} ) {\n\tconst { style, backgroundColor, textColor, fontSize } = attributes;\n\t/*\n\t * Shows the placeholder when no known styles are set,\n\t * or when a non-default layout has been selected.\n\t * Should the Group block support more style presets in the\n\t * future, e.g., attributes.spacingSize, we can add them to the\n\t * condition.\n\t */\n\tconst [ showPlaceholder, setShowPlaceholder ] = useState(\n\t\t! hasInnerBlocks &&\n\t\t\t! backgroundColor &&\n\t\t\t! fontSize &&\n\t\t\t! textColor &&\n\t\t\t! style &&\n\t\t\tusedLayoutType !== 'flex'\n\t);\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t!! hasInnerBlocks ||\n\t\t\t!! backgroundColor ||\n\t\t\t!! fontSize ||\n\t\t\t!! textColor ||\n\t\t\t!! style ||\n\t\t\tusedLayoutType === 'flex'\n\t\t) {\n\t\t\tsetShowPlaceholder( false );\n\t\t}\n\t}, [\n\t\tbackgroundColor,\n\t\tfontSize,\n\t\ttextColor,\n\t\tstyle,\n\t\tusedLayoutType,\n\t\thasInnerBlocks,\n\t] );\n\n\treturn [ showPlaceholder, setShowPlaceholder ];\n}\n\n/**\n * Display group variations if none is selected.\n *\n * @param {Object} props Component props.\n * @param {string} props.name The block's name.\n * @param {Function} props.onSelect Function to set block's attributes.\n *\n * @return {JSX.Element} The placeholder.\n */\nfunction GroupPlaceHolder( { name, onSelect } ) {\n\tconst variations = useSelect(\n\t\t( select ) => select( blocksStore ).getBlockVariations( name, 'block' ),\n\t\t[ name ]\n\t);\n\tconst blockProps = useBlockProps( {\n\t\tclassName: 'wp-block-group__placeholder',\n\t} );\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Placeholder\n\t\t\t\tinstructions={ __( 'Group blocks together. Select a layout:' ) }\n\t\t\t>\n\t\t\t\t{ /*\n\t\t\t\t * Taken from BlockVariationPicker component.\n\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t */\n\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t<ul\n\t\t\t\t\trole=\"list\"\n\t\t\t\t\tclassName=\"wp-block-group-placeholder__variations\"\n\t\t\t\t\taria-label={ __( 'Block variations' ) }\n\t\t\t\t>\n\t\t\t\t\t{ variations.map( ( variation ) => (\n\t\t\t\t\t\t<li key={ variation.name }>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\ticon={ getGroupPlaceholderIcons(\n\t\t\t\t\t\t\t\t\tvariation.name\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticonSize={ 44 }\n\t\t\t\t\t\t\t\tonClick={ () => onSelect( variation ) }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-group-placeholder__variation-button\"\n\t\t\t\t\t\t\t\tlabel={ `${ variation.title }: ${ variation.description }` }\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</ul>\n\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t</Placeholder>\n\t\t</div>\n\t);\n}\n\nexport default GroupPlaceHolder;\n"]}