@wordpress/block-library 9.1.0 → 9.3.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 (387) hide show
  1. package/CHANGELOG.md +21 -17
  2. package/build/audio/edit.js +20 -8
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +0 -1
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +5 -1
  11. package/build/block/index.js.map +1 -1
  12. package/build/button/index.js +1 -0
  13. package/build/button/index.js.map +1 -1
  14. package/build/embed/embed-preview.js +4 -4
  15. package/build/embed/embed-preview.js.map +1 -1
  16. package/build/file/edit.js +14 -6
  17. package/build/file/edit.js.map +1 -1
  18. package/build/file/index.js +4 -0
  19. package/build/file/index.js.map +1 -1
  20. package/build/file/transforms.js +2 -3
  21. package/build/file/transforms.js.map +1 -1
  22. package/build/gallery/deprecated.js +6 -54
  23. package/build/gallery/deprecated.js.map +1 -1
  24. package/build/gallery/edit.js +9 -8
  25. package/build/gallery/edit.js.map +1 -1
  26. package/build/gallery/index.js +2 -2
  27. package/build/gallery/index.js.map +1 -1
  28. package/build/gallery/save.js +0 -11
  29. package/build/gallery/save.js.map +1 -1
  30. package/build/gallery/shared.js +0 -27
  31. package/build/gallery/shared.js.map +1 -1
  32. package/build/gallery/transforms.js +29 -80
  33. package/build/gallery/transforms.js.map +1 -1
  34. package/build/group/index.js +1 -0
  35. package/build/group/index.js.map +1 -1
  36. package/build/group/placeholder.js +5 -0
  37. package/build/group/placeholder.js.map +1 -1
  38. package/build/image/edit.js +13 -21
  39. package/build/image/edit.js.map +1 -1
  40. package/build/image/image.js +33 -19
  41. package/build/image/image.js.map +1 -1
  42. package/build/image/index.js +4 -0
  43. package/build/image/index.js.map +1 -1
  44. package/build/image/transforms.js +1 -1
  45. package/build/image/transforms.js.map +1 -1
  46. package/build/list-item/edit.js +1 -1
  47. package/build/list-item/edit.js.map +1 -1
  48. package/build/list-item/hooks/use-merge.js +8 -1
  49. package/build/list-item/hooks/use-merge.js.map +1 -1
  50. package/build/list-item/index.js +11 -1
  51. package/build/list-item/index.js.map +1 -1
  52. package/build/lock-unlock.js +1 -1
  53. package/build/lock-unlock.js.map +1 -1
  54. package/build/loginout/index.js +3 -0
  55. package/build/loginout/index.js.map +1 -1
  56. package/build/media-text/edit.js +3 -2
  57. package/build/media-text/edit.js.map +1 -1
  58. package/build/navigation-submenu/edit.js +1 -1
  59. package/build/navigation-submenu/edit.js.map +1 -1
  60. package/build/page-list/convert-to-links-modal.js +1 -1
  61. package/build/page-list/convert-to-links-modal.js.map +1 -1
  62. package/build/page-list/edit.js +1 -1
  63. package/build/page-list/edit.js.map +1 -1
  64. package/build/post-content/index.js +3 -0
  65. package/build/post-content/index.js.map +1 -1
  66. package/build/post-date/edit.js +3 -1
  67. package/build/post-date/edit.js.map +1 -1
  68. package/build/post-excerpt/index.js +3 -0
  69. package/build/post-excerpt/index.js.map +1 -1
  70. package/build/post-title/index.js +3 -0
  71. package/build/post-title/index.js.map +1 -1
  72. package/build/query/edit/inspector-controls/index.js +3 -2
  73. package/build/query/edit/inspector-controls/index.js.map +1 -1
  74. package/build/query/edit/query-toolbar.js +54 -61
  75. package/build/query/edit/query-toolbar.js.map +1 -1
  76. package/build/query/index.js +34 -0
  77. package/build/query/index.js.map +1 -1
  78. package/build/quote/edit.js +1 -0
  79. package/build/quote/edit.js.map +1 -1
  80. package/build/site-tagline/index.js +1 -0
  81. package/build/site-tagline/index.js.map +1 -1
  82. package/build/site-title/index.js +1 -0
  83. package/build/site-title/index.js.map +1 -1
  84. package/build/social-link/edit.js +9 -3
  85. package/build/social-link/edit.js.map +1 -1
  86. package/build/table/edit.js +8 -17
  87. package/build/table/edit.js.map +1 -1
  88. package/build/table-of-contents/index.js +1 -1
  89. package/build/template-part/edit/title-modal.js +1 -1
  90. package/build/template-part/edit/title-modal.js.map +1 -1
  91. package/build/utils/caption.js +2 -1
  92. package/build/utils/caption.js.map +1 -1
  93. package/build/utils/hooks.js +12 -0
  94. package/build/utils/hooks.js.map +1 -1
  95. package/build/verse/index.js +1 -0
  96. package/build/verse/index.js.map +1 -1
  97. package/build/video/deprecated.js +4 -0
  98. package/build/video/deprecated.js.map +1 -1
  99. package/build/video/edit.js +17 -7
  100. package/build/video/edit.js.map +1 -1
  101. package/build/video/index.js +4 -0
  102. package/build/video/index.js.map +1 -1
  103. package/build/video/transforms.js +1 -1
  104. package/build/video/transforms.js.map +1 -1
  105. package/build-module/audio/edit.js +20 -8
  106. package/build-module/audio/edit.js.map +1 -1
  107. package/build-module/audio/index.js +4 -0
  108. package/build-module/audio/index.js.map +1 -1
  109. package/build-module/audio/transforms.js +1 -1
  110. package/build-module/audio/transforms.js.map +1 -1
  111. package/build-module/block/edit.js +0 -1
  112. package/build-module/block/edit.js.map +1 -1
  113. package/build-module/block/index.js +5 -1
  114. package/build-module/block/index.js.map +1 -1
  115. package/build-module/button/index.js +1 -0
  116. package/build-module/button/index.js.map +1 -1
  117. package/build-module/embed/embed-preview.js +4 -4
  118. package/build-module/embed/embed-preview.js.map +1 -1
  119. package/build-module/file/edit.js +15 -7
  120. package/build-module/file/edit.js.map +1 -1
  121. package/build-module/file/index.js +4 -0
  122. package/build-module/file/index.js.map +1 -1
  123. package/build-module/file/transforms.js +2 -3
  124. package/build-module/file/transforms.js.map +1 -1
  125. package/build-module/gallery/deprecated.js +6 -54
  126. package/build-module/gallery/deprecated.js.map +1 -1
  127. package/build-module/gallery/edit.js +10 -9
  128. package/build-module/gallery/edit.js.map +1 -1
  129. package/build-module/gallery/index.js +1 -1
  130. package/build-module/gallery/index.js.map +1 -1
  131. package/build-module/gallery/save.js +0 -11
  132. package/build-module/gallery/save.js.map +1 -1
  133. package/build-module/gallery/shared.js +0 -25
  134. package/build-module/gallery/shared.js.map +1 -1
  135. package/build-module/gallery/transforms.js +29 -80
  136. package/build-module/gallery/transforms.js.map +1 -1
  137. package/build-module/group/index.js +1 -0
  138. package/build-module/group/index.js.map +1 -1
  139. package/build-module/group/placeholder.js +5 -0
  140. package/build-module/group/placeholder.js.map +1 -1
  141. package/build-module/image/edit.js +12 -20
  142. package/build-module/image/edit.js.map +1 -1
  143. package/build-module/image/image.js +28 -14
  144. package/build-module/image/image.js.map +1 -1
  145. package/build-module/image/index.js +4 -0
  146. package/build-module/image/index.js.map +1 -1
  147. package/build-module/image/transforms.js +1 -1
  148. package/build-module/image/transforms.js.map +1 -1
  149. package/build-module/list-item/edit.js +1 -1
  150. package/build-module/list-item/edit.js.map +1 -1
  151. package/build-module/list-item/hooks/use-merge.js +8 -1
  152. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  153. package/build-module/list-item/index.js +11 -1
  154. package/build-module/list-item/index.js.map +1 -1
  155. package/build-module/lock-unlock.js +1 -1
  156. package/build-module/lock-unlock.js.map +1 -1
  157. package/build-module/loginout/index.js +3 -0
  158. package/build-module/loginout/index.js.map +1 -1
  159. package/build-module/media-text/edit.js +3 -2
  160. package/build-module/media-text/edit.js.map +1 -1
  161. package/build-module/navigation-submenu/edit.js +1 -1
  162. package/build-module/navigation-submenu/edit.js.map +1 -1
  163. package/build-module/page-list/convert-to-links-modal.js +1 -1
  164. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  165. package/build-module/page-list/edit.js +1 -1
  166. package/build-module/page-list/edit.js.map +1 -1
  167. package/build-module/post-content/index.js +3 -0
  168. package/build-module/post-content/index.js.map +1 -1
  169. package/build-module/post-date/edit.js +4 -2
  170. package/build-module/post-date/edit.js.map +1 -1
  171. package/build-module/post-excerpt/index.js +3 -0
  172. package/build-module/post-excerpt/index.js.map +1 -1
  173. package/build-module/post-title/index.js +3 -0
  174. package/build-module/post-title/index.js.map +1 -1
  175. package/build-module/query/edit/inspector-controls/index.js +3 -2
  176. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  177. package/build-module/query/edit/query-toolbar.js +55 -62
  178. package/build-module/query/edit/query-toolbar.js.map +1 -1
  179. package/build-module/query/index.js +34 -0
  180. package/build-module/query/index.js.map +1 -1
  181. package/build-module/quote/edit.js +1 -0
  182. package/build-module/quote/edit.js.map +1 -1
  183. package/build-module/site-tagline/index.js +1 -0
  184. package/build-module/site-tagline/index.js.map +1 -1
  185. package/build-module/site-title/index.js +1 -0
  186. package/build-module/site-title/index.js.map +1 -1
  187. package/build-module/social-link/edit.js +9 -3
  188. package/build-module/social-link/edit.js.map +1 -1
  189. package/build-module/table/edit.js +9 -18
  190. package/build-module/table/edit.js.map +1 -1
  191. package/build-module/table-of-contents/index.js +1 -1
  192. package/build-module/template-part/edit/title-modal.js +1 -1
  193. package/build-module/template-part/edit/title-modal.js.map +1 -1
  194. package/build-module/utils/caption.js +2 -1
  195. package/build-module/utils/caption.js.map +1 -1
  196. package/build-module/utils/hooks.js +11 -0
  197. package/build-module/utils/hooks.js.map +1 -1
  198. package/build-module/verse/index.js +1 -0
  199. package/build-module/verse/index.js.map +1 -1
  200. package/build-module/video/deprecated.js +4 -0
  201. package/build-module/video/deprecated.js.map +1 -1
  202. package/build-module/video/edit.js +18 -8
  203. package/build-module/video/edit.js.map +1 -1
  204. package/build-module/video/index.js +4 -0
  205. package/build-module/video/index.js.map +1 -1
  206. package/build-module/video/transforms.js +1 -1
  207. package/build-module/video/transforms.js.map +1 -1
  208. package/build-style/audio/style-rtl.css +1 -1
  209. package/build-style/audio/style.css +1 -1
  210. package/build-style/audio/theme-rtl.css +2 -2
  211. package/build-style/audio/theme.css +2 -2
  212. package/build-style/common-rtl.css +1 -3
  213. package/build-style/common.css +1 -3
  214. package/build-style/editor-rtl.css +3 -12
  215. package/build-style/editor.css +3 -12
  216. package/build-style/embed/style-rtl.css +1 -1
  217. package/build-style/embed/style.css +1 -1
  218. package/build-style/embed/theme-rtl.css +2 -2
  219. package/build-style/embed/theme.css +2 -2
  220. package/build-style/image/editor-rtl.css +0 -12
  221. package/build-style/image/editor.css +0 -12
  222. package/build-style/image/style-rtl.css +7 -1
  223. package/build-style/image/style.css +7 -1
  224. package/build-style/media-text/style-rtl.css +4 -0
  225. package/build-style/media-text/style.css +4 -0
  226. package/build-style/navigation/style-rtl.css +1 -0
  227. package/build-style/navigation/style.css +1 -0
  228. package/build-style/post-comments-form/style-rtl.css +11 -10
  229. package/build-style/post-comments-form/style.css +11 -10
  230. package/build-style/query/editor-rtl.css +3 -0
  231. package/build-style/query/editor.css +3 -0
  232. package/build-style/reset-rtl.css +1 -5
  233. package/build-style/reset.css +1 -5
  234. package/build-style/search/style-rtl.css +1 -2
  235. package/build-style/search/style.css +1 -2
  236. package/build-style/social-links/style-rtl.css +91 -91
  237. package/build-style/social-links/style.css +91 -91
  238. package/build-style/style-rtl.css +119 -110
  239. package/build-style/style.css +119 -110
  240. package/build-style/table/theme-rtl.css +2 -2
  241. package/build-style/table/theme.css +2 -2
  242. package/build-style/theme-rtl.css +8 -8
  243. package/build-style/theme.css +8 -8
  244. package/build-style/video/style-rtl.css +1 -1
  245. package/build-style/video/style.css +1 -1
  246. package/build-style/video/theme-rtl.css +2 -2
  247. package/build-style/video/theme.css +2 -2
  248. package/package.json +35 -35
  249. package/src/audio/block.json +4 -0
  250. package/src/audio/edit.js +19 -7
  251. package/src/audio/style.scss +1 -1
  252. package/src/audio/theme.scss +1 -1
  253. package/src/audio/transforms.js +1 -1
  254. package/src/block/block.json +5 -1
  255. package/src/block/edit.js +0 -1
  256. package/src/button/block.json +1 -0
  257. package/src/button/index.php +14 -1
  258. package/src/embed/embed-preview.js +4 -6
  259. package/src/embed/style.scss +1 -1
  260. package/src/embed/theme.scss +1 -1
  261. package/src/file/block.json +4 -0
  262. package/src/file/edit.js +19 -6
  263. package/src/file/transforms.js +1 -2
  264. package/src/gallery/deprecated.js +6 -55
  265. package/src/gallery/edit.js +13 -10
  266. package/src/gallery/gallery-styles.native.scss +0 -2
  267. package/src/gallery/index.js +1 -1
  268. package/src/gallery/save.js +0 -10
  269. package/src/gallery/shared.js +0 -28
  270. package/src/gallery/transforms.js +56 -99
  271. package/src/group/block.json +1 -0
  272. package/src/group/placeholder.js +7 -0
  273. package/src/image/block.json +4 -0
  274. package/src/image/edit.js +10 -19
  275. package/src/image/editor.scss +0 -13
  276. package/src/image/image.js +45 -16
  277. package/src/image/index.php +26 -5
  278. package/src/image/style.scss +11 -1
  279. package/src/image/transforms.js +1 -1
  280. package/src/list-item/block.json +11 -1
  281. package/src/list-item/edit.js +1 -1
  282. package/src/list-item/hooks/use-merge.js +19 -5
  283. package/src/lock-unlock.js +1 -1
  284. package/src/loginout/block.json +3 -0
  285. package/src/media-text/edit.js +3 -2
  286. package/src/media-text/index.php +68 -18
  287. package/src/media-text/style.scss +4 -0
  288. package/src/navigation/index.php +5 -3
  289. package/src/navigation/style.scss +1 -0
  290. package/src/navigation-submenu/edit.js +1 -1
  291. package/src/page-list/convert-to-links-modal.js +1 -1
  292. package/src/page-list/edit.js +1 -1
  293. package/src/paragraph/test/__snapshots__/edit.native.js.snap +30 -0
  294. package/src/paragraph/test/edit.native.js +99 -0
  295. package/src/post-comments-form/style.scss +15 -12
  296. package/src/post-content/block.json +3 -0
  297. package/src/post-date/edit.js +5 -1
  298. package/src/post-date/index.php +9 -3
  299. package/src/post-excerpt/block.json +3 -0
  300. package/src/post-title/block.json +3 -0
  301. package/src/query/edit/inspector-controls/index.js +3 -2
  302. package/src/query/edit/query-toolbar.js +60 -72
  303. package/src/query/editor.scss +4 -0
  304. package/src/query/index.js +40 -0
  305. package/src/quote/edit.js +1 -0
  306. package/src/reset.scss +11 -12
  307. package/src/site-tagline/block.json +1 -0
  308. package/src/site-title/block.json +1 -0
  309. package/src/social-link/edit.js +9 -3
  310. package/src/social-links/style.scss +2 -2
  311. package/src/table/edit.js +11 -24
  312. package/src/table/theme.scss +1 -1
  313. package/src/table-of-contents/block.json +1 -1
  314. package/src/template-part/edit/title-modal.js +1 -1
  315. package/src/template-part/index.php +1 -1
  316. package/src/utils/caption.js +5 -1
  317. package/src/utils/hooks.js +14 -1
  318. package/src/verse/block.json +1 -0
  319. package/src/video/block.json +4 -0
  320. package/src/video/edit.js +23 -8
  321. package/src/video/style.scss +1 -1
  322. package/src/video/theme.scss +1 -1
  323. package/src/video/transforms.js +1 -1
  324. package/tsconfig.tsbuildinfo +1 -1
  325. package/build/gallery/edit-wrapper.js +0 -37
  326. package/build/gallery/edit-wrapper.js.map +0 -1
  327. package/build/gallery/v1/constants.js +0 -10
  328. package/build/gallery/v1/constants.js.map +0 -1
  329. package/build/gallery/v1/edit.js +0 -399
  330. package/build/gallery/v1/edit.js.map +0 -1
  331. package/build/gallery/v1/gallery-button.native.js +0 -55
  332. package/build/gallery/v1/gallery-button.native.js.map +0 -1
  333. package/build/gallery/v1/gallery-image.js +0 -285
  334. package/build/gallery/v1/gallery-image.js.map +0 -1
  335. package/build/gallery/v1/gallery-image.native.js +0 -297
  336. package/build/gallery/v1/gallery-image.native.js.map +0 -1
  337. package/build/gallery/v1/gallery.js +0 -112
  338. package/build/gallery/v1/gallery.js.map +0 -1
  339. package/build/gallery/v1/gallery.native.js +0 -139
  340. package/build/gallery/v1/gallery.native.js.map +0 -1
  341. package/build/gallery/v1/save.js +0 -81
  342. package/build/gallery/v1/save.js.map +0 -1
  343. package/build/gallery/v1/shared.js +0 -17
  344. package/build/gallery/v1/shared.js.map +0 -1
  345. package/build/gallery/v1/tiles.native.js +0 -83
  346. package/build/gallery/v1/tiles.native.js.map +0 -1
  347. package/build/utils/constants.js +0 -15
  348. package/build/utils/constants.js.map +0 -1
  349. package/build-module/gallery/edit-wrapper.js +0 -31
  350. package/build-module/gallery/edit-wrapper.js.map +0 -1
  351. package/build-module/gallery/v1/constants.js +0 -4
  352. package/build-module/gallery/v1/constants.js.map +0 -1
  353. package/build-module/gallery/v1/edit.js +0 -393
  354. package/build-module/gallery/v1/edit.js.map +0 -1
  355. package/build-module/gallery/v1/gallery-button.native.js +0 -46
  356. package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
  357. package/build-module/gallery/v1/gallery-image.js +0 -279
  358. package/build-module/gallery/v1/gallery-image.js.map +0 -1
  359. package/build-module/gallery/v1/gallery-image.native.js +0 -291
  360. package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
  361. package/build-module/gallery/v1/gallery.js +0 -104
  362. package/build-module/gallery/v1/gallery.js.map +0 -1
  363. package/build-module/gallery/v1/gallery.native.js +0 -131
  364. package/build-module/gallery/v1/gallery.native.js.map +0 -1
  365. package/build-module/gallery/v1/save.js +0 -74
  366. package/build-module/gallery/v1/save.js.map +0 -1
  367. package/build-module/gallery/v1/shared.js +0 -10
  368. package/build-module/gallery/v1/shared.js.map +0 -1
  369. package/build-module/gallery/v1/tiles.native.js +0 -75
  370. package/build-module/gallery/v1/tiles.native.js.map +0 -1
  371. package/build-module/utils/constants.js +0 -9
  372. package/build-module/utils/constants.js.map +0 -1
  373. package/src/gallery/edit-wrapper.js +0 -27
  374. package/src/gallery/v1/constants.js +0 -3
  375. package/src/gallery/v1/edit.js +0 -450
  376. package/src/gallery/v1/gallery-button.native.js +0 -47
  377. package/src/gallery/v1/gallery-image-style.native.scss +0 -109
  378. package/src/gallery/v1/gallery-image.js +0 -293
  379. package/src/gallery/v1/gallery-image.native.js +0 -348
  380. package/src/gallery/v1/gallery-styles.native.scss +0 -8
  381. package/src/gallery/v1/gallery.js +0 -125
  382. package/src/gallery/v1/gallery.native.js +0 -162
  383. package/src/gallery/v1/save.js +0 -98
  384. package/src/gallery/v1/shared.js +0 -19
  385. package/src/gallery/v1/tiles-styles.native.scss +0 -11
  386. package/src/gallery/v1/tiles.native.js +0 -79
  387. package/src/utils/constants.js +0 -8
@@ -1,393 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { compose } from '@wordpress/compose';
5
- import { PanelBody, SelectControl, ToggleControl, withNotices, RangeControl } from '@wordpress/components';
6
- import { MediaPlaceholder, InspectorControls, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
7
- import { Platform, useEffect, useState, useMemo } from '@wordpress/element';
8
- import { __ } from '@wordpress/i18n';
9
- import { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';
10
- import { useDispatch, useSelect } from '@wordpress/data';
11
- import { withViewportMatch } from '@wordpress/viewport';
12
- import { View } from '@wordpress/primitives';
13
- import { store as coreStore } from '@wordpress/core-data';
14
-
15
- /**
16
- * Internal dependencies
17
- */
18
- import { sharedIcon } from '../shared-icon';
19
- import { pickRelevantMediaFiles } from './shared';
20
- import { defaultColumnsNumberV1 } from '../deprecated';
21
- import Gallery from './gallery';
22
- import { LINK_DESTINATION_ATTACHMENT, LINK_DESTINATION_MEDIA, LINK_DESTINATION_NONE } from './constants';
23
- import { jsx as _jsx } from "react/jsx-runtime";
24
- import { jsxs as _jsxs } from "react/jsx-runtime";
25
- import { Fragment as _Fragment } from "react/jsx-runtime";
26
- const MAX_COLUMNS = 8;
27
- const linkOptions = [{
28
- value: LINK_DESTINATION_ATTACHMENT,
29
- label: __('Attachment Page')
30
- }, {
31
- value: LINK_DESTINATION_MEDIA,
32
- label: __('Media File')
33
- }, {
34
- value: LINK_DESTINATION_NONE,
35
- label: __('None')
36
- }];
37
- const ALLOWED_MEDIA_TYPES = ['image'];
38
- const PLACEHOLDER_TEXT = Platform.select({
39
- web: __('Drag images, upload new ones or select files from your library.'),
40
- native: __('ADD MEDIA')
41
- });
42
- const MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select({
43
- web: {},
44
- native: {
45
- type: 'stepper'
46
- }
47
- });
48
- function GalleryEdit(props) {
49
- const {
50
- attributes,
51
- clientId,
52
- isSelected,
53
- noticeUI,
54
- noticeOperations,
55
- onFocus
56
- } = props;
57
- const {
58
- columns = defaultColumnsNumberV1(attributes),
59
- imageCrop,
60
- images,
61
- linkTo,
62
- sizeSlug
63
- } = attributes;
64
- const [selectedImage, setSelectedImage] = useState();
65
- const [attachmentCaptions, setAttachmentCaptions] = useState();
66
- const {
67
- __unstableMarkNextChangeAsNotPersistent
68
- } = useDispatch(blockEditorStore);
69
- const {
70
- imageSizes,
71
- mediaUpload,
72
- getMedia,
73
- wasBlockJustInserted
74
- } = useSelect(select => {
75
- const settings = select(blockEditorStore).getSettings();
76
- return {
77
- imageSizes: settings.imageSizes,
78
- mediaUpload: settings.mediaUpload,
79
- getMedia: select(coreStore).getMedia,
80
- wasBlockJustInserted: select(blockEditorStore).wasBlockJustInserted(clientId, 'inserter_menu')
81
- };
82
- });
83
- const resizedImages = useMemo(() => {
84
- if (isSelected) {
85
- var _attributes$ids;
86
- return ((_attributes$ids = attributes.ids) !== null && _attributes$ids !== void 0 ? _attributes$ids : []).reduce((currentResizedImages, id) => {
87
- if (!id) {
88
- return currentResizedImages;
89
- }
90
- const image = getMedia(id);
91
- const sizes = imageSizes.reduce((currentSizes, size) => {
92
- const defaultUrl = image?.sizes?.[size.slug]?.url;
93
- const mediaDetailsUrl = image?.media_details?.sizes?.[size.slug]?.source_url;
94
- return {
95
- ...currentSizes,
96
- [size.slug]: defaultUrl || mediaDetailsUrl
97
- };
98
- }, {});
99
- return {
100
- ...currentResizedImages,
101
- [parseInt(id, 10)]: sizes
102
- };
103
- }, {});
104
- }
105
- return {};
106
- }, [isSelected, attributes.ids, imageSizes]);
107
- function onFocusGalleryCaption() {
108
- setSelectedImage();
109
- }
110
- function setAttributes(newAttrs) {
111
- if (newAttrs.ids) {
112
- throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes');
113
- }
114
- if (newAttrs.images) {
115
- newAttrs = {
116
- ...newAttrs,
117
- // Unlike images[ n ].id which is a string, always ensure the
118
- // ids array contains numbers as per its attribute type.
119
- ids: newAttrs.images.map(({
120
- id
121
- }) => parseInt(id, 10))
122
- };
123
- }
124
- props.setAttributes(newAttrs);
125
- }
126
- function onSelectImage(index) {
127
- return () => {
128
- setSelectedImage(index);
129
- };
130
- }
131
- function onDeselectImage() {
132
- return () => {
133
- setSelectedImage();
134
- };
135
- }
136
- function onMove(oldIndex, newIndex) {
137
- const newImages = [...images];
138
- newImages.splice(newIndex, 1, images[oldIndex]);
139
- newImages.splice(oldIndex, 1, images[newIndex]);
140
- setSelectedImage(newIndex);
141
- setAttributes({
142
- images: newImages
143
- });
144
- }
145
- function onMoveForward(oldIndex) {
146
- return () => {
147
- if (oldIndex === images.length - 1) {
148
- return;
149
- }
150
- onMove(oldIndex, oldIndex + 1);
151
- };
152
- }
153
- function onMoveBackward(oldIndex) {
154
- return () => {
155
- if (oldIndex === 0) {
156
- return;
157
- }
158
- onMove(oldIndex, oldIndex - 1);
159
- };
160
- }
161
- function onRemoveImage(index) {
162
- return () => {
163
- const newImages = images.filter((img, i) => index !== i);
164
- setSelectedImage();
165
- setAttributes({
166
- images: newImages,
167
- columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns
168
- });
169
- };
170
- }
171
- function selectCaption(newImage) {
172
- // The image id in both the images and attachmentCaptions arrays is a
173
- // string, so ensure comparison works correctly by converting the
174
- // newImage.id to a string.
175
- const newImageId = newImage.id.toString();
176
- const currentImage = images.find(({
177
- id
178
- }) => id === newImageId);
179
- const currentImageCaption = currentImage ? currentImage.caption : newImage.caption;
180
- if (!attachmentCaptions) {
181
- return currentImageCaption;
182
- }
183
- const attachment = attachmentCaptions.find(({
184
- id
185
- }) => id === newImageId);
186
-
187
- // If the attachment caption is updated.
188
- if (attachment && attachment.caption !== newImage.caption) {
189
- return newImage.caption;
190
- }
191
- return currentImageCaption;
192
- }
193
- function onSelectImages(newImages) {
194
- setAttachmentCaptions(newImages.map(newImage => ({
195
- // Store the attachmentCaption id as a string for consistency
196
- // with the type of the id in the images attribute.
197
- id: newImage.id.toString(),
198
- caption: newImage.caption
199
- })));
200
- setAttributes({
201
- images: newImages.map(newImage => ({
202
- ...pickRelevantMediaFiles(newImage, sizeSlug),
203
- caption: selectCaption(newImage, images, attachmentCaptions),
204
- // The id value is stored in a data attribute, so when the
205
- // block is parsed it's converted to a string. Converting
206
- // to a string here ensures it's type is consistent.
207
- id: newImage.id.toString()
208
- })),
209
- columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns
210
- });
211
- }
212
- function onUploadError(message) {
213
- noticeOperations.removeAllNotices();
214
- noticeOperations.createErrorNotice(message);
215
- }
216
- function setLinkTo(value) {
217
- setAttributes({
218
- linkTo: value
219
- });
220
- }
221
- function setColumnsNumber(value) {
222
- setAttributes({
223
- columns: value
224
- });
225
- }
226
- function toggleImageCrop() {
227
- setAttributes({
228
- imageCrop: !imageCrop
229
- });
230
- }
231
- function getImageCropHelp(checked) {
232
- return checked ? __('Thumbnails are cropped to align.') : __('Thumbnails are not cropped.');
233
- }
234
- function setImageAttributes(index, newAttributes) {
235
- if (!images[index]) {
236
- return;
237
- }
238
- setAttributes({
239
- images: [...images.slice(0, index), {
240
- ...images[index],
241
- ...newAttributes
242
- }, ...images.slice(index + 1)]
243
- });
244
- }
245
- function getImagesSizeOptions() {
246
- const resizedImageSizes = Object.values(resizedImages);
247
- return imageSizes.filter(({
248
- slug
249
- }) => resizedImageSizes.some(sizes => sizes[slug])).map(({
250
- name,
251
- slug
252
- }) => ({
253
- value: slug,
254
- label: name
255
- }));
256
- }
257
- function updateImagesSize(newSizeSlug) {
258
- const updatedImages = (images !== null && images !== void 0 ? images : []).map(image => {
259
- if (!image.id) {
260
- return image;
261
- }
262
- const url = resizedImages[parseInt(image.id, 10)]?.[newSizeSlug];
263
- return {
264
- ...image,
265
- ...(url && {
266
- url
267
- })
268
- };
269
- });
270
- setAttributes({
271
- images: updatedImages,
272
- sizeSlug: newSizeSlug
273
- });
274
- }
275
- useEffect(() => {
276
- if (Platform.OS === 'web' && images && images.length > 0 && images.every(({
277
- url
278
- }) => isBlobURL(url))) {
279
- const filesList = images.map(({
280
- url
281
- }) => getBlobByURL(url));
282
- images.forEach(({
283
- url
284
- }) => revokeBlobURL(url));
285
- mediaUpload({
286
- filesList,
287
- onFileChange: onSelectImages,
288
- allowedTypes: ['image']
289
- });
290
- }
291
- }, []);
292
- useEffect(() => {
293
- // Deselect images when deselecting the block.
294
- if (!isSelected) {
295
- setSelectedImage();
296
- }
297
- }, [isSelected]);
298
- useEffect(() => {
299
- // linkTo attribute must be saved so blocks don't break when changing
300
- // image_default_link_type in options.php.
301
- if (!linkTo) {
302
- __unstableMarkNextChangeAsNotPersistent();
303
- setAttributes({
304
- linkTo: window?.wp?.media?.view?.settings?.defaultProps?.link || LINK_DESTINATION_NONE
305
- });
306
- }
307
- }, [linkTo]);
308
- const hasImages = !!images.length;
309
- const hasImageIds = hasImages && images.some(image => !!image.id);
310
- const mediaPlaceholder = /*#__PURE__*/_jsx(MediaPlaceholder, {
311
- addToGallery: hasImageIds,
312
- isAppender: hasImages,
313
- disableMediaButtons: hasImages && !isSelected,
314
- icon: !hasImages && sharedIcon,
315
- labels: {
316
- title: !hasImages && __('Gallery'),
317
- instructions: !hasImages && PLACEHOLDER_TEXT
318
- },
319
- onSelect: onSelectImages,
320
- accept: "image/*",
321
- allowedTypes: ALLOWED_MEDIA_TYPES,
322
- multiple: true,
323
- value: hasImageIds ? images : {},
324
- onError: onUploadError,
325
- notices: hasImages ? undefined : noticeUI,
326
- onFocus: onFocus,
327
- autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted
328
- });
329
- const blockProps = useBlockProps();
330
- if (!hasImages) {
331
- return /*#__PURE__*/_jsx(View, {
332
- ...blockProps,
333
- children: mediaPlaceholder
334
- });
335
- }
336
- const imageSizeOptions = getImagesSizeOptions();
337
- const shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;
338
- return /*#__PURE__*/_jsxs(_Fragment, {
339
- children: [/*#__PURE__*/_jsx(InspectorControls, {
340
- children: /*#__PURE__*/_jsxs(PanelBody, {
341
- title: __('Settings'),
342
- children: [images.length > 1 && /*#__PURE__*/_jsx(RangeControl, {
343
- __nextHasNoMarginBottom: true,
344
- label: __('Columns'),
345
- value: columns,
346
- onChange: setColumnsNumber,
347
- min: 1,
348
- max: Math.min(MAX_COLUMNS, images.length),
349
- ...MOBILE_CONTROL_PROPS_RANGE_CONTROL,
350
- required: true
351
- }), /*#__PURE__*/_jsx(ToggleControl, {
352
- __nextHasNoMarginBottom: true,
353
- label: __('Crop images'),
354
- checked: !!imageCrop,
355
- onChange: toggleImageCrop,
356
- help: getImageCropHelp
357
- }), /*#__PURE__*/_jsx(SelectControl, {
358
- __nextHasNoMarginBottom: true,
359
- label: __('Link to'),
360
- value: linkTo,
361
- onChange: setLinkTo,
362
- options: linkOptions,
363
- hideCancelButton: true
364
- }), shouldShowSizeOptions && /*#__PURE__*/_jsx(SelectControl, {
365
- __nextHasNoMarginBottom: true,
366
- label: __('Image size'),
367
- value: sizeSlug,
368
- options: imageSizeOptions,
369
- onChange: updateImagesSize,
370
- hideCancelButton: true
371
- })]
372
- })
373
- }), noticeUI, /*#__PURE__*/_jsx(Gallery, {
374
- ...props,
375
- selectedImage: selectedImage,
376
- mediaPlaceholder: mediaPlaceholder,
377
- onMoveBackward: onMoveBackward,
378
- onMoveForward: onMoveForward,
379
- onRemoveImage: onRemoveImage,
380
- onSelectImage: onSelectImage,
381
- onDeselectImage: onDeselectImage,
382
- onSetImageAttributes: setImageAttributes,
383
- blockProps: blockProps
384
- // This prop is used by gallery.native.js.
385
- ,
386
- onFocusGalleryCaption: onFocusGalleryCaption
387
- })]
388
- });
389
- }
390
- export default compose([withNotices, withViewportMatch({
391
- isNarrow: '< small'
392
- })])(GalleryEdit);
393
- //# sourceMappingURL=edit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["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","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","_attributes$ids","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","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","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","addToGallery","isAppender","disableMediaButtons","icon","labels","title","instructions","onSelect","accept","multiple","onError","notices","undefined","autoOpenMediaUpload","blockProps","children","imageSizeOptions","shouldShowSizeOptions","__nextHasNoMarginBottom","onChange","max","required","help","options","hideCancelButton","onSetImageAttributes","isNarrow"],"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"sourcesContent":["/**\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 = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\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: newAttrs.images.map( ( { 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 imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\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 = images.map( ( { 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 && imageSizeOptions.length > 0;\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\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\t__nextHasNoMarginBottom\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\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"],"mappings":"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","ignoreList":[]}
@@ -1,46 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { StyleSheet, TouchableOpacity } from 'react-native';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { Icon } from '@wordpress/components';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import style from './gallery-image-style.scss';
15
- import { jsx as _jsx } from "react/jsx-runtime";
16
- export function Button(props) {
17
- const {
18
- icon,
19
- iconSize = 24,
20
- onClick,
21
- disabled,
22
- 'aria-disabled': ariaDisabled,
23
- accessibilityLabel = 'button',
24
- style: customStyle
25
- } = props;
26
- const buttonStyle = StyleSheet.compose(style.buttonActive, customStyle);
27
- const isDisabled = disabled || ariaDisabled;
28
- const {
29
- fill
30
- } = isDisabled ? style.buttonDisabled : style.button;
31
- return /*#__PURE__*/_jsx(TouchableOpacity, {
32
- style: buttonStyle,
33
- activeOpacity: 0.7,
34
- accessibilityLabel: accessibilityLabel,
35
- accessibilityRole: "button",
36
- onPress: onClick,
37
- disabled: isDisabled,
38
- children: /*#__PURE__*/_jsx(Icon, {
39
- icon: icon,
40
- fill: fill,
41
- size: iconSize
42
- })
43
- });
44
- }
45
- export default Button;
46
- //# sourceMappingURL=gallery-button.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["StyleSheet","TouchableOpacity","Icon","style","jsx","_jsx","Button","props","icon","iconSize","onClick","disabled","ariaDisabled","accessibilityLabel","customStyle","buttonStyle","compose","buttonActive","isDisabled","fill","buttonDisabled","button","activeOpacity","accessibilityRole","onPress","children","size"],"sources":["@wordpress/block-library/src/gallery/v1/gallery-button.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { StyleSheet, TouchableOpacity } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport style from './gallery-image-style.scss';\n\nexport function Button( props ) {\n\tconst {\n\t\ticon,\n\t\ticonSize = 24,\n\t\tonClick,\n\t\tdisabled,\n\t\t'aria-disabled': ariaDisabled,\n\t\taccessibilityLabel = 'button',\n\t\tstyle: customStyle,\n\t} = props;\n\n\tconst buttonStyle = StyleSheet.compose( style.buttonActive, customStyle );\n\n\tconst isDisabled = disabled || ariaDisabled;\n\n\tconst { fill } = isDisabled ? style.buttonDisabled : style.button;\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ buttonStyle }\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ onClick }\n\t\t\tdisabled={ isDisabled }\n\t\t>\n\t\t\t<Icon icon={ icon } fill={ fill } size={ iconSize } />\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default Button;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,UAAU,EAAEC,gBAAgB,QAAQ,cAAc;;AAE3D;AACA;AACA;AACA,SAASC,IAAI,QAAQ,uBAAuB;;AAE5C;AACA;AACA;AACA,OAAOC,KAAK,MAAM,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE/C,OAAO,SAASC,MAAMA,CAAEC,KAAK,EAAG;EAC/B,MAAM;IACLC,IAAI;IACJC,QAAQ,GAAG,EAAE;IACbC,OAAO;IACPC,QAAQ;IACR,eAAe,EAAEC,YAAY;IAC7BC,kBAAkB,GAAG,QAAQ;IAC7BV,KAAK,EAAEW;EACR,CAAC,GAAGP,KAAK;EAET,MAAMQ,WAAW,GAAGf,UAAU,CAACgB,OAAO,CAAEb,KAAK,CAACc,YAAY,EAAEH,WAAY,CAAC;EAEzE,MAAMI,UAAU,GAAGP,QAAQ,IAAIC,YAAY;EAE3C,MAAM;IAAEO;EAAK,CAAC,GAAGD,UAAU,GAAGf,KAAK,CAACiB,cAAc,GAAGjB,KAAK,CAACkB,MAAM;EAEjE,oBACChB,IAAA,CAACJ,gBAAgB;IAChBE,KAAK,EAAGY,WAAa;IACrBO,aAAa,EAAG,GAAK;IACrBT,kBAAkB,EAAGA,kBAAoB;IACzCU,iBAAiB,EAAC,QAAQ;IAC1BC,OAAO,EAAGd,OAAS;IACnBC,QAAQ,EAAGO,UAAY;IAAAO,QAAA,eAEvBpB,IAAA,CAACH,IAAI;MAACM,IAAI,EAAGA,IAAM;MAACW,IAAI,EAAGA,IAAM;MAACO,IAAI,EAAGjB;IAAU,CAAE;EAAC,CACrC,CAAC;AAErB;AAEA,eAAeH,MAAM","ignoreList":[]}