@wordpress/block-library 7.16.0 → 7.17.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 (235) hide show
  1. package/CHANGELOG.md +2 -1
  2. package/build/archives/edit.js +1 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/comment-template/edit.js +40 -32
  5. package/build/comment-template/edit.js.map +1 -1
  6. package/build/comments/edit/placeholder.js +1 -4
  7. package/build/comments/edit/placeholder.js.map +1 -1
  8. package/build/comments/index.js +5 -1
  9. package/build/comments/index.js.map +1 -1
  10. package/build/comments-title/edit.js +18 -1
  11. package/build/comments-title/edit.js.map +1 -1
  12. package/build/cover/edit/index.js +2 -2
  13. package/build/cover/edit/index.js.map +1 -1
  14. package/build/cover/edit/use-cover-is-dark.js +8 -7
  15. package/build/cover/edit/use-cover-is-dark.js.map +1 -1
  16. package/build/embed/variations.js +1 -1
  17. package/build/embed/variations.js.map +1 -1
  18. package/build/gallery/transforms.js +3 -3
  19. package/build/gallery/transforms.js.map +1 -1
  20. package/build/gallery/v1/edit.js +1 -1
  21. package/build/gallery/v1/edit.js.map +1 -1
  22. package/build/image/image.js +34 -10
  23. package/build/image/image.js.map +1 -1
  24. package/build/image/transforms.js +1 -7
  25. package/build/image/transforms.js.map +1 -1
  26. package/build/list/transforms.js +9 -1
  27. package/build/list/transforms.js.map +1 -1
  28. package/build/list-item/edit.js +3 -2
  29. package/build/list-item/edit.js.map +1 -1
  30. package/build/list-item/edit.native.js +3 -2
  31. package/build/list-item/edit.native.js.map +1 -1
  32. package/build/list-item/hooks/use-merge.js +19 -22
  33. package/build/list-item/hooks/use-merge.js.map +1 -1
  34. package/build/list-item/hooks/use-outdent-list-item.js +19 -3
  35. package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
  36. package/build/list-item/index.js +14 -1
  37. package/build/list-item/index.js.map +1 -1
  38. package/build/list-item/utils.js +14 -1
  39. package/build/list-item/utils.js.map +1 -1
  40. package/build/navigation/edit/index.js +35 -22
  41. package/build/navigation/edit/index.js.map +1 -1
  42. package/build/navigation/edit/inner-blocks.js +3 -5
  43. package/build/navigation/edit/inner-blocks.js.map +1 -1
  44. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
  45. package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  46. package/build/navigation/edit/use-create-navigation-menu.js +1 -1
  47. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  48. package/build/navigation/index.js +4 -1
  49. package/build/navigation/index.js.map +1 -1
  50. package/build/navigation-link/edit.js +1 -1
  51. package/build/navigation-link/edit.js.map +1 -1
  52. package/build/page-list/index.js +1 -5
  53. package/build/page-list/index.js.map +1 -1
  54. package/build/paragraph/edit.js +3 -11
  55. package/build/paragraph/edit.js.map +1 -1
  56. package/build/pattern/edit.js +11 -4
  57. package/build/pattern/edit.js.map +1 -1
  58. package/build/post-comments-form/form.js +1 -2
  59. package/build/post-comments-form/form.js.map +1 -1
  60. package/build/query/edit/inspector-controls/index.js +2 -2
  61. package/build/query/edit/inspector-controls/index.js.map +1 -1
  62. package/build/query/edit/inspector-controls/taxonomy-controls.js +79 -104
  63. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  64. package/build/search/edit.js +2 -1
  65. package/build/search/edit.js.map +1 -1
  66. package/build/site-logo/edit.js +6 -9
  67. package/build/site-logo/edit.js.map +1 -1
  68. package/build/table/state.js +1 -1
  69. package/build/table/state.js.map +1 -1
  70. package/build/table-of-contents/edit.js +1 -4
  71. package/build/table-of-contents/edit.js.map +1 -1
  72. package/build/tag-cloud/edit.js +1 -1
  73. package/build/tag-cloud/edit.js.map +1 -1
  74. package/build/tag-cloud/index.js +8 -0
  75. package/build/tag-cloud/index.js.map +1 -1
  76. package/build-module/archives/edit.js +1 -0
  77. package/build-module/archives/edit.js.map +1 -1
  78. package/build-module/comment-template/edit.js +38 -30
  79. package/build-module/comment-template/edit.js.map +1 -1
  80. package/build-module/comments/edit/placeholder.js +1 -3
  81. package/build-module/comments/edit/placeholder.js.map +1 -1
  82. package/build-module/comments/index.js +5 -1
  83. package/build-module/comments/index.js.map +1 -1
  84. package/build-module/comments-title/edit.js +18 -2
  85. package/build-module/comments-title/edit.js.map +1 -1
  86. package/build-module/cover/edit/index.js +2 -2
  87. package/build-module/cover/edit/index.js.map +1 -1
  88. package/build-module/cover/edit/use-cover-is-dark.js +7 -7
  89. package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
  90. package/build-module/embed/variations.js +1 -1
  91. package/build-module/embed/variations.js.map +1 -1
  92. package/build-module/gallery/transforms.js +4 -4
  93. package/build-module/gallery/transforms.js.map +1 -1
  94. package/build-module/gallery/v1/edit.js +2 -2
  95. package/build-module/gallery/v1/edit.js.map +1 -1
  96. package/build-module/image/image.js +35 -11
  97. package/build-module/image/image.js.map +1 -1
  98. package/build-module/image/transforms.js +1 -6
  99. package/build-module/image/transforms.js.map +1 -1
  100. package/build-module/list/transforms.js +9 -1
  101. package/build-module/list/transforms.js.map +1 -1
  102. package/build-module/list-item/edit.js +3 -2
  103. package/build-module/list-item/edit.js.map +1 -1
  104. package/build-module/list-item/edit.native.js +3 -2
  105. package/build-module/list-item/edit.native.js.map +1 -1
  106. package/build-module/list-item/hooks/use-merge.js +19 -21
  107. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  108. package/build-module/list-item/hooks/use-outdent-list-item.js +19 -3
  109. package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
  110. package/build-module/list-item/index.js +14 -1
  111. package/build-module/list-item/index.js.map +1 -1
  112. package/build-module/list-item/utils.js +14 -1
  113. package/build-module/list-item/utils.js.map +1 -1
  114. package/build-module/navigation/edit/index.js +35 -22
  115. package/build-module/navigation/edit/index.js.map +1 -1
  116. package/build-module/navigation/edit/inner-blocks.js +3 -5
  117. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  118. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
  119. package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
  120. package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
  121. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  122. package/build-module/navigation/index.js +4 -1
  123. package/build-module/navigation/index.js.map +1 -1
  124. package/build-module/navigation-link/edit.js +1 -1
  125. package/build-module/navigation-link/edit.js.map +1 -1
  126. package/build-module/page-list/index.js +1 -5
  127. package/build-module/page-list/index.js.map +1 -1
  128. package/build-module/paragraph/edit.js +3 -10
  129. package/build-module/paragraph/edit.js.map +1 -1
  130. package/build-module/pattern/edit.js +10 -3
  131. package/build-module/pattern/edit.js.map +1 -1
  132. package/build-module/post-comments-form/form.js +2 -3
  133. package/build-module/post-comments-form/form.js.map +1 -1
  134. package/build-module/query/edit/inspector-controls/index.js +4 -4
  135. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  136. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +81 -102
  137. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  138. package/build-module/search/edit.js +3 -2
  139. package/build-module/search/edit.js.map +1 -1
  140. package/build-module/site-logo/edit.js +6 -9
  141. package/build-module/site-logo/edit.js.map +1 -1
  142. package/build-module/table/state.js +2 -2
  143. package/build-module/table/state.js.map +1 -1
  144. package/build-module/table-of-contents/edit.js +1 -3
  145. package/build-module/table-of-contents/edit.js.map +1 -1
  146. package/build-module/tag-cloud/edit.js +1 -1
  147. package/build-module/tag-cloud/edit.js.map +1 -1
  148. package/build-module/tag-cloud/index.js +8 -0
  149. package/build-module/tag-cloud/index.js.map +1 -1
  150. package/build-style/archives/style-rtl.css +4 -0
  151. package/build-style/archives/style.css +4 -0
  152. package/build-style/comments/editor-rtl.css +1 -0
  153. package/build-style/comments/editor.css +1 -0
  154. package/build-style/comments/style-rtl.css +1 -0
  155. package/build-style/comments/style.css +1 -0
  156. package/build-style/cover/editor-rtl.css +4 -0
  157. package/build-style/cover/editor.css +4 -0
  158. package/build-style/editor-rtl.css +9 -17
  159. package/build-style/editor.css +9 -17
  160. package/build-style/group/editor-rtl.css +1 -0
  161. package/build-style/group/editor.css +1 -0
  162. package/build-style/image/editor-rtl.css +1 -1
  163. package/build-style/image/editor.css +1 -1
  164. package/build-style/navigation/editor-rtl.css +1 -0
  165. package/build-style/navigation/editor.css +1 -0
  166. package/build-style/paragraph/editor-rtl.css +0 -16
  167. package/build-style/paragraph/editor.css +0 -16
  168. package/build-style/site-logo/editor-rtl.css +1 -0
  169. package/build-style/site-logo/editor.css +1 -0
  170. package/build-style/style-rtl.css +8 -0
  171. package/build-style/style.css +8 -0
  172. package/build-style/tag-cloud/style-rtl.css +3 -0
  173. package/build-style/tag-cloud/style.css +3 -0
  174. package/package.json +28 -28
  175. package/src/archives/edit.js +1 -0
  176. package/src/archives/style.scss +5 -0
  177. package/src/avatar/index.php +1 -1
  178. package/src/code/test/__snapshots__/edit.native.js.snap +13 -0
  179. package/src/code/test/edit.native.js +46 -32
  180. package/src/comment-template/edit.js +47 -34
  181. package/src/comments/block.json +5 -1
  182. package/src/comments/edit/placeholder.js +1 -7
  183. package/src/comments/style.scss +2 -0
  184. package/src/comments-title/edit.js +24 -1
  185. package/src/cover/edit/index.js +2 -7
  186. package/src/cover/edit/use-cover-is-dark.js +11 -11
  187. package/src/cover/editor.scss +7 -0
  188. package/src/embed/variations.js +1 -1
  189. package/src/gallery/transforms.js +8 -5
  190. package/src/gallery/v1/edit.js +2 -2
  191. package/src/group/editor.scss +1 -0
  192. package/src/image/editor.scss +4 -1
  193. package/src/image/image.js +59 -29
  194. package/src/image/transforms.js +1 -7
  195. package/src/list/test/edit.native.js +102 -3
  196. package/src/list/transforms.js +11 -0
  197. package/src/list-item/block.json +14 -1
  198. package/src/list-item/edit.js +2 -1
  199. package/src/list-item/edit.native.js +2 -1
  200. package/src/list-item/hooks/use-merge.js +4 -23
  201. package/src/list-item/hooks/use-outdent-list-item.js +6 -2
  202. package/src/navigation/block.json +4 -1
  203. package/src/navigation/edit/index.js +49 -23
  204. package/src/navigation/edit/inner-blocks.js +2 -5
  205. package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +32 -5
  206. package/src/navigation/edit/use-create-navigation-menu.js +2 -5
  207. package/src/navigation/editor.scss +1 -0
  208. package/src/navigation/index.php +103 -6
  209. package/src/navigation-link/edit.js +1 -1
  210. package/src/navigation-link/index.php +8 -1
  211. package/src/navigation-submenu/index.php +8 -1
  212. package/src/page-list/block.json +1 -5
  213. package/src/page-list/index.php +8 -6
  214. package/src/paragraph/edit.js +1 -14
  215. package/src/paragraph/editor.scss +0 -20
  216. package/src/pattern/edit.js +10 -3
  217. package/src/post-comments-form/form.js +2 -3
  218. package/src/query/edit/inspector-controls/index.js +4 -3
  219. package/src/query/edit/inspector-controls/taxonomy-controls.js +82 -87
  220. package/src/rss/index.php +3 -3
  221. package/src/search/edit.js +6 -1
  222. package/src/search/index.php +21 -13
  223. package/src/site-logo/edit.js +10 -8
  224. package/src/site-logo/editor.scss +1 -0
  225. package/src/table/state.js +2 -2
  226. package/src/table-of-contents/edit.js +1 -3
  227. package/src/tag-cloud/block.json +8 -0
  228. package/src/tag-cloud/edit.js +1 -1
  229. package/src/tag-cloud/style.scss +3 -0
  230. package/src/template-part/index.php +4 -0
  231. package/build/paragraph/drop-zone.js +0 -99
  232. package/build/paragraph/drop-zone.js.map +0 -1
  233. package/build-module/paragraph/drop-zone.js +0 -88
  234. package/build-module/paragraph/drop-zone.js.map +0 -1
  235. package/src/paragraph/drop-zone.js +0 -105
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/cover/edit/use-cover-is-dark.js"],"names":["retrieveFastAverageColor","fastAverageColor","FastAverageColor","useCoverIsDark","url","dimRatio","overlayColor","elementRef","isDark","setIsDark","current","getColorAsync","defaultColor","silent","process","env","NODE_ENV","then","color"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,SAASA,wBAAT,GAAoC;AACnC,MAAK,CAAEA,wBAAwB,CAACC,gBAAhC,EAAmD;AAClDD,IAAAA,wBAAwB,CAACC,gBAAzB,GAA4C,IAAIC,kCAAJ,EAA5C;AACA;;AACD,SAAOF,wBAAwB,CAACC,gBAAhC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,SAASE,cAAT,CACdC,GADc,EAKb;AAAA,MAHDC,QAGC,uEAHU,EAGV;AAAA,MAFDC,YAEC;AAAA,MADDC,UACC;AACD,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,KAAV,CAA9B;AACA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKL,GAAG,IAAIC,QAAQ,IAAI,EAAnB,IAAyBE,UAAU,CAACG,OAAzC,EAAmD;AAClDV,MAAAA,wBAAwB,GACtBW,aADF,CACiBJ,UAAU,CAACG,OAD5B,EACqC;AACnC;AACA;AACAE,QAAAA,YAAY,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAHqB;AAInC;AACA;AACAC,QAAAA,MAAM,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB;AANE,OADrC,EASEC,IATF,CASUC,KAAF,IAAaT,SAAS,CAAES,KAAK,CAACV,MAAR,CAT9B;AAUA;AACD,GAfD,EAeG,CAAEJ,GAAF,EAAOA,GAAG,IAAIC,QAAQ,IAAI,EAAnB,IAAyBE,UAAU,CAACG,OAA3C,EAAoDD,SAApD,CAfH;AAgBA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKJ,QAAQ,GAAG,EAAX,IAAiB,CAAED,GAAxB,EAA8B;AAC7B,UAAK,CAAEE,YAAP,EAAsB;AACrB;AACAG,QAAAA,SAAS,CAAE,IAAF,CAAT;AACA;AACA;;AACDA,MAAAA,SAAS,CAAE,oBAAQH,YAAR,EAAuBE,MAAvB,EAAF,CAAT;AACA;AACD,GAXD,EAWG,CAAEF,YAAF,EAAgBD,QAAQ,GAAG,EAAX,IAAiB,CAAED,GAAnC,EAAwCK,SAAxC,CAXH;AAYA,0BAAW,MAAM;AAChB,QAAK,CAAEL,GAAF,IAAS,CAAEE,YAAhB,EAA+B;AAC9B;AACAG,MAAAA,SAAS,CAAE,KAAF,CAAT;AACA;AACD,GALD,EAKG,CAAE,CAAEL,GAAF,IAAS,CAAEE,YAAb,EAA2BG,SAA3B,CALH;AAMA,SAAOD,MAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { FastAverageColor } from 'fast-average-color';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n * @param {?Object} elementRef If a media background is set, elementRef should contain a reference to a\n * dom element that renders that media.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nexport default function useCoverIsDark(\n\turl,\n\tdimRatio = 50,\n\toverlayColor,\n\telementRef\n) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 && elementRef.current ) {\n\t\t\tretrieveFastAverageColor()\n\t\t\t\t.getColorAsync( elementRef.current, {\n\t\t\t\t\t// Previously the default color was white, but that changed\n\t\t\t\t\t// in v6.0.0 so it has to be manually set now.\n\t\t\t\t\tdefaultColor: [ 255, 255, 255, 255 ],\n\t\t\t\t\t// Errors that come up don't reject the promise, so error\n\t\t\t\t\t// logging has to be silenced with this option.\n\t\t\t\t\tsilent: process.env.NODE_ENV === 'production',\n\t\t\t\t} )\n\t\t\t\t.then( ( color ) => setIsDark( color.isDark ) );\n\t\t}\n\t}, [ url, url && dimRatio <= 50 && elementRef.current, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark.\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/cover/edit/use-cover-is-dark.js"],"names":["retrieveFastAverageColor","fastAverageColor","FastAverageColor","useCoverIsDark","url","dimRatio","overlayColor","isDark","setIsDark","imgCrossOrigin","undefined","getColorAsync","defaultColor","silent","process","env","NODE_ENV","crossOrigin","then","color"],"mappings":";;;;;;;AAGA;;AACA;;AAKA;;AACA;;AAVA;AACA;AACA;;AAIA;AACA;AACA;AAIA,SAASA,wBAAT,GAAoC;AACnC,MAAK,CAAEA,wBAAwB,CAACC,gBAAhC,EAAmD;AAClDD,IAAAA,wBAAwB,CAACC,gBAAzB,GAA4C,IAAIC,kCAAJ,EAA5C;AACA;;AACD,SAAOF,wBAAwB,CAACC,gBAAhC;AACA;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AACe,SAASE,cAAT,CAAyBC,GAAzB,EAA4D;AAAA,MAA9BC,QAA8B,uEAAnB,EAAmB;AAAA,MAAfC,YAAe;AAC1E,QAAM,CAAEC,MAAF,EAAUC,SAAV,IAAwB,uBAAU,KAAV,CAA9B;AACA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKJ,GAAG,IAAIC,QAAQ,IAAI,EAAxB,EAA6B;AAC5B,YAAMI,cAAc,GAAG,yBACtB,mBADsB,EAEtBC,SAFsB,EAGtBN,GAHsB,CAAvB;AAKAJ,MAAAA,wBAAwB,GACtBW,aADF,CACiBP,GADjB,EACsB;AACpB;AACA;AACAQ,QAAAA,YAAY,EAAE,CAAE,GAAF,EAAO,GAAP,EAAY,GAAZ,EAAiB,GAAjB,CAHM;AAIpB;AACA;AACAC,QAAAA,MAAM,EAAEC,OAAO,CAACC,GAAR,CAAYC,QAAZ,KAAyB,YANb;AAOpBC,QAAAA,WAAW,EAAER;AAPO,OADtB,EAUES,IAVF,CAUUC,KAAF,IAAaX,SAAS,CAAEW,KAAK,CAACZ,MAAR,CAV9B;AAWA;AACD,GArBD,EAqBG,CAAEH,GAAF,EAAOA,GAAG,IAAIC,QAAQ,IAAI,EAA1B,EAA8BG,SAA9B,CArBH;AAsBA,0BAAW,MAAM;AAChB;AACA;AACA,QAAKH,QAAQ,GAAG,EAAX,IAAiB,CAAED,GAAxB,EAA8B;AAC7B,UAAK,CAAEE,YAAP,EAAsB;AACrB;AACAE,QAAAA,SAAS,CAAE,IAAF,CAAT;AACA;AACA;;AACDA,MAAAA,SAAS,CAAE,oBAAQF,YAAR,EAAuBC,MAAvB,EAAF,CAAT;AACA;AACD,GAXD,EAWG,CAAED,YAAF,EAAgBD,QAAQ,GAAG,EAAX,IAAiB,CAAED,GAAnC,EAAwCI,SAAxC,CAXH;AAYA,0BAAW,MAAM;AAChB,QAAK,CAAEJ,GAAF,IAAS,CAAEE,YAAhB,EAA+B;AAC9B;AACAE,MAAAA,SAAS,CAAE,KAAF,CAAT;AACA;AACD,GALD,EAKG,CAAE,CAAEJ,GAAF,IAAS,CAAEE,YAAb,EAA2BE,SAA3B,CALH;AAMA,SAAOD,MAAP;AACA","sourcesContent":["/**\n * External dependencies\n */\nimport { FastAverageColor } from 'fast-average-color';\nimport { colord } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { useEffect, useState } from '@wordpress/element';\nimport { applyFilters } from '@wordpress/hooks';\n\nfunction retrieveFastAverageColor() {\n\tif ( ! retrieveFastAverageColor.fastAverageColor ) {\n\t\tretrieveFastAverageColor.fastAverageColor = new FastAverageColor();\n\t}\n\treturn retrieveFastAverageColor.fastAverageColor;\n}\n\n/**\n * useCoverIsDark is a hook that returns a boolean variable specifying if the cover\n * background is dark or not.\n *\n * @param {?string} url Url of the media background.\n * @param {?number} dimRatio Transparency of the overlay color. If an image and\n * color are set, dimRatio is used to decide what is used\n * for background darkness checking purposes.\n * @param {?string} overlayColor String containing the overlay color value if one exists.\n *\n * @return {boolean} True if the cover background is considered \"dark\" and false otherwise.\n */\nexport default function useCoverIsDark( url, dimRatio = 50, overlayColor ) {\n\tconst [ isDark, setIsDark ] = useState( false );\n\tuseEffect( () => {\n\t\t// If opacity is lower than 50 the dominant color is the image or video color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( url && dimRatio <= 50 ) {\n\t\t\tconst imgCrossOrigin = applyFilters(\n\t\t\t\t'media.crossOrigin',\n\t\t\t\tundefined,\n\t\t\t\turl\n\t\t\t);\n\t\t\tretrieveFastAverageColor()\n\t\t\t\t.getColorAsync( url, {\n\t\t\t\t\t// Previously the default color was white, but that changed\n\t\t\t\t\t// in v6.0.0 so it has to be manually set now.\n\t\t\t\t\tdefaultColor: [ 255, 255, 255, 255 ],\n\t\t\t\t\t// Errors that come up don't reject the promise, so error\n\t\t\t\t\t// logging has to be silenced with this option.\n\t\t\t\t\tsilent: process.env.NODE_ENV === 'production',\n\t\t\t\t\tcrossOrigin: imgCrossOrigin,\n\t\t\t\t} )\n\t\t\t\t.then( ( color ) => setIsDark( color.isDark ) );\n\t\t}\n\t}, [ url, url && dimRatio <= 50, setIsDark ] );\n\tuseEffect( () => {\n\t\t// If opacity is greater than 50 the dominant color is the overlay color,\n\t\t// so use that color for the dark mode computation.\n\t\tif ( dimRatio > 50 || ! url ) {\n\t\t\tif ( ! overlayColor ) {\n\t\t\t\t// If no overlay color exists the overlay color is black (isDark )\n\t\t\t\tsetIsDark( true );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsDark( colord( overlayColor ).isDark() );\n\t\t}\n\t}, [ overlayColor, dimRatio > 50 || ! url, setIsDark ] );\n\tuseEffect( () => {\n\t\tif ( ! url && ! overlayColor ) {\n\t\t\t// Reset isDark.\n\t\t\tsetIsDark( false );\n\t\t}\n\t}, [ ! url && ! overlayColor, setIsDark ] );\n\treturn isDark;\n}\n"]}
@@ -332,7 +332,7 @@ const variations = [{
332
332
  icon: _icons.embedTumblrIcon,
333
333
  keywords: [(0, _i18n.__)('social')],
334
334
  description: (0, _i18n.__)('Embed a Tumblr post.'),
335
- patterns: [/^https?:\/\/(www\.)?tumblr\.com\/.+/i],
335
+ patterns: [/^https?:\/\/(.+)\.tumblr\.com\/.+/i],
336
336
  attributes: {
337
337
  providerNameSlug: 'tumblr',
338
338
  responsive: true
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/embed/variations.js"],"names":["variations","name","title","icon","embedTwitterIcon","keywords","description","patterns","attributes","providerNameSlug","responsive","embedYouTubeIcon","embedFacebookIcon","scope","previewable","embedInstagramIcon","embedWordPressIcon","embedAudioIcon","embedSpotifyIcon","embedFlickrIcon","embedVimeoIcon","embedAnimotoIcon","embedContentIcon","embedVideoIcon","embedDailymotionIcon","embedPhotoIcon","embedPocketCastsIcon","embedRedditIcon","embedTumblrIcon","embedAmazonIcon","embedPinterestIcon","embedWolframIcon","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tembedContentIcon,\n\tembedAudioIcon,\n\tembedPhotoIcon,\n\tembedVideoIcon,\n\tembedTwitterIcon,\n\tembedYouTubeIcon,\n\tembedFacebookIcon,\n\tembedInstagramIcon,\n\tembedWordPressIcon,\n\tembedSpotifyIcon,\n\tembedFlickrIcon,\n\tembedVimeoIcon,\n\tembedRedditIcon,\n\tembedTumblrIcon,\n\tembedAmazonIcon,\n\tembedAnimotoIcon,\n\tembedDailymotionIcon,\n\tembedPinterestIcon,\n\tembedWolframIcon,\n\tembedPocketCastsIcon,\n} from './icons';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * The embed provider services.\n *\n * @type {WPBlockVariation[]}\n */\nconst variations = [\n\t{\n\t\tname: 'twitter',\n\t\ttitle: 'Twitter',\n\t\ticon: embedTwitterIcon,\n\t\tkeywords: [ 'tweet', __( 'social' ) ],\n\t\tdescription: __( 'Embed a tweet.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?twitter\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'twitter', responsive: true },\n\t},\n\t{\n\t\tname: 'youtube',\n\t\ttitle: 'YouTube',\n\t\ticon: embedYouTubeIcon,\n\t\tkeywords: [ __( 'music' ), __( 'video' ) ],\n\t\tdescription: __( 'Embed a YouTube video.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((m|www)\\.)?youtube\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/youtu\\.be\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'youtube', responsive: true },\n\t},\n\t{\n\t\t// Deprecate Facebook Embed per FB policy\n\t\t// See: https://developers.facebook.com/docs/plugins/oembed-legacy\n\t\tname: 'facebook',\n\t\ttitle: 'Facebook',\n\t\ticon: embedFacebookIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Facebook post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'facebook',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\t// Deprecate Instagram per FB policy\n\t\t// See: https://developers.facebook.com/docs/instagram/oembed-legacy\n\t\tname: 'instagram',\n\t\ttitle: 'Instagram',\n\t\ticon: embedInstagramIcon,\n\t\tkeywords: [ __( 'image' ), __( 'social' ) ],\n\t\tdescription: __( 'Embed an Instagram post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'instagram', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress',\n\t\ttitle: 'WordPress',\n\t\ticon: embedWordPressIcon,\n\t\tkeywords: [ __( 'post' ), __( 'blog' ) ],\n\t\tdescription: __( 'Embed a WordPress post.' ),\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'wordpress',\n\t\t},\n\t},\n\t{\n\t\tname: 'soundcloud',\n\t\ttitle: 'SoundCloud',\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed SoundCloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?soundcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'soundcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'spotify',\n\t\ttitle: 'Spotify',\n\t\ticon: embedSpotifyIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Spotify content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(open|play)\\.spotify\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'spotify', responsive: true },\n\t},\n\t{\n\t\tname: 'flickr',\n\t\ttitle: 'Flickr',\n\t\ticon: embedFlickrIcon,\n\t\tkeywords: [ __( 'image' ) ],\n\t\tdescription: __( 'Embed Flickr content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?flickr\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/flic\\.kr\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'flickr', responsive: true },\n\t},\n\t{\n\t\tname: 'vimeo',\n\t\ttitle: 'Vimeo',\n\t\ticon: embedVimeoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Vimeo video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?vimeo\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'vimeo', responsive: true },\n\t},\n\t{\n\t\tname: 'animoto',\n\t\ttitle: 'Animoto',\n\t\ticon: embedAnimotoIcon,\n\t\tdescription: __( 'Embed an Animoto video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?(animoto|video214)\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'animoto', responsive: true },\n\t},\n\t{\n\t\tname: 'cloudup',\n\t\ttitle: 'Cloudup',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Cloudup content.' ),\n\t\tpatterns: [ /^https?:\\/\\/cloudup\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'cloudup', responsive: true },\n\t},\n\t{\n\t\t// Deprecated since CollegeHumor content is now powered by YouTube.\n\t\tname: 'collegehumor',\n\t\ttitle: 'CollegeHumor',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed CollegeHumor content.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'collegehumor', responsive: true },\n\t},\n\t{\n\t\tname: 'crowdsignal',\n\t\ttitle: 'Crowdsignal',\n\t\ticon: embedContentIcon,\n\t\tkeywords: [ 'polldaddy', __( 'survey' ) ],\n\t\tdescription: __( 'Embed Crowdsignal (formerly Polldaddy) content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((.+\\.)?polldaddy\\.com|poll\\.fm|.+\\.survey\\.fm)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'crowdsignal', responsive: true },\n\t},\n\t{\n\t\tname: 'dailymotion',\n\t\ttitle: 'Dailymotion',\n\t\ticon: embedDailymotionIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Dailymotion video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?dailymotion\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'dailymotion', responsive: true },\n\t},\n\t{\n\t\tname: 'imgur',\n\t\ttitle: 'Imgur',\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed Imgur content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?imgur\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'imgur', responsive: true },\n\t},\n\t{\n\t\tname: 'issuu',\n\t\ttitle: 'Issuu',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Issuu content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?issuu\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'issuu', responsive: true },\n\t},\n\t{\n\t\tname: 'kickstarter',\n\t\ttitle: 'Kickstarter',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Kickstarter content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?kickstarter\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/kck\\.st\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'kickstarter', responsive: true },\n\t},\n\t{\n\t\tname: 'mixcloud',\n\t\ttitle: 'Mixcloud',\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Mixcloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?mixcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'mixcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'pocketcasts',\n\t\ttitle: 'Pocket Casts',\n\t\ticon: embedPocketCastsIcon,\n\t\tkeywords: [ __( 'podcast' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed a podcast player from Pocket Casts.' ),\n\t\tpatterns: [ /^https:\\/\\/pca.st\\/\\w+/i ],\n\t\tattributes: { providerNameSlug: 'pocketcasts', responsive: true },\n\t},\n\t{\n\t\tname: 'reddit',\n\t\ttitle: 'Reddit',\n\t\ticon: embedRedditIcon,\n\t\tdescription: __( 'Embed a Reddit thread.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reddit\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reddit', responsive: true },\n\t},\n\t{\n\t\tname: 'reverbnation',\n\t\ttitle: 'ReverbNation',\n\t\ticon: embedAudioIcon,\n\t\tdescription: __( 'Embed ReverbNation content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reverbnation\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reverbnation', responsive: true },\n\t},\n\t{\n\t\tname: 'screencast',\n\t\ttitle: 'Screencast',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed Screencast content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?screencast\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'screencast', responsive: true },\n\t},\n\t{\n\t\tname: 'scribd',\n\t\ttitle: 'Scribd',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Scribd content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?scribd\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'scribd', responsive: true },\n\t},\n\t{\n\t\tname: 'slideshare',\n\t\ttitle: 'Slideshare',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Slideshare content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+?\\.)?slideshare\\.net\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'slideshare', responsive: true },\n\t},\n\t{\n\t\tname: 'smugmug',\n\t\ttitle: 'SmugMug',\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed SmugMug content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?smugmug\\.com\\/.*/i ],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'smugmug',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\tname: 'speaker-deck',\n\t\ttitle: 'Speaker Deck',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Speaker Deck content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?speakerdeck\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'speaker-deck', responsive: true },\n\t},\n\t{\n\t\tname: 'tiktok',\n\t\ttitle: 'TikTok',\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a TikTok video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?tiktok\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tiktok', responsive: true },\n\t},\n\t{\n\t\tname: 'ted',\n\t\ttitle: 'TED',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a TED video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.|embed\\.)?ted\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'ted', responsive: true },\n\t},\n\t{\n\t\tname: 'tumblr',\n\t\ttitle: 'Tumblr',\n\t\ticon: embedTumblrIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Tumblr post.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?tumblr\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tumblr', responsive: true },\n\t},\n\t{\n\t\tname: 'videopress',\n\t\ttitle: 'VideoPress',\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a VideoPress video.' ),\n\t\tpatterns: [ /^https?:\\/\\/videopress\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'videopress', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress-tv',\n\t\ttitle: 'WordPress.tv',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a WordPress.tv video.' ),\n\t\tpatterns: [ /^https?:\\/\\/wordpress\\.tv\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wordpress-tv', responsive: true },\n\t},\n\t{\n\t\tname: 'amazon-kindle',\n\t\ttitle: 'Amazon Kindle',\n\t\ticon: embedAmazonIcon,\n\t\tkeywords: [ __( 'ebook' ) ],\n\t\tdescription: __( 'Embed Amazon Kindle content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z0-9-]+\\.)?(amazon|amzn)(\\.[a-z]{2,4})+\\/.+/i,\n\t\t\t/^https?:\\/\\/(www\\.)?(a\\.co|z\\.cn)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'amazon-kindle' },\n\t},\n\t{\n\t\tname: 'pinterest',\n\t\ttitle: 'Pinterest',\n\t\ticon: embedPinterestIcon,\n\t\tkeywords: [ __( 'social' ), __( 'bookmark' ) ],\n\t\tdescription: __( 'Embed Pinterest pins, boards, and profiles.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z]{2}|www)\\.pinterest\\.com(\\.(au|mx))?\\/.*/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'pinterest' },\n\t},\n\t{\n\t\tname: 'wolfram-cloud',\n\t\ttitle: 'Wolfram',\n\t\ticon: embedWolframIcon,\n\t\tdescription: __( 'Embed Wolfram notebook content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?wolframcloud\\.com\\/obj\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wolfram-cloud', responsive: true },\n\t},\n];\n\n/**\n * Add `isActive` function to all `embed` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.providerNameSlug ===\n\t\tvariationAttributes.providerNameSlug;\n} );\n\nexport default variations;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/embed/variations.js"],"names":["variations","name","title","icon","embedTwitterIcon","keywords","description","patterns","attributes","providerNameSlug","responsive","embedYouTubeIcon","embedFacebookIcon","scope","previewable","embedInstagramIcon","embedWordPressIcon","embedAudioIcon","embedSpotifyIcon","embedFlickrIcon","embedVimeoIcon","embedAnimotoIcon","embedContentIcon","embedVideoIcon","embedDailymotionIcon","embedPhotoIcon","embedPocketCastsIcon","embedRedditIcon","embedTumblrIcon","embedAmazonIcon","embedPinterestIcon","embedWolframIcon","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tembedContentIcon,\n\tembedAudioIcon,\n\tembedPhotoIcon,\n\tembedVideoIcon,\n\tembedTwitterIcon,\n\tembedYouTubeIcon,\n\tembedFacebookIcon,\n\tembedInstagramIcon,\n\tembedWordPressIcon,\n\tembedSpotifyIcon,\n\tembedFlickrIcon,\n\tembedVimeoIcon,\n\tembedRedditIcon,\n\tembedTumblrIcon,\n\tembedAmazonIcon,\n\tembedAnimotoIcon,\n\tembedDailymotionIcon,\n\tembedPinterestIcon,\n\tembedWolframIcon,\n\tembedPocketCastsIcon,\n} from './icons';\n\n/** @typedef {import('@wordpress/blocks').WPBlockVariation} WPBlockVariation */\n\n/**\n * The embed provider services.\n *\n * @type {WPBlockVariation[]}\n */\nconst variations = [\n\t{\n\t\tname: 'twitter',\n\t\ttitle: 'Twitter',\n\t\ticon: embedTwitterIcon,\n\t\tkeywords: [ 'tweet', __( 'social' ) ],\n\t\tdescription: __( 'Embed a tweet.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?twitter\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'twitter', responsive: true },\n\t},\n\t{\n\t\tname: 'youtube',\n\t\ttitle: 'YouTube',\n\t\ticon: embedYouTubeIcon,\n\t\tkeywords: [ __( 'music' ), __( 'video' ) ],\n\t\tdescription: __( 'Embed a YouTube video.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((m|www)\\.)?youtube\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/youtu\\.be\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'youtube', responsive: true },\n\t},\n\t{\n\t\t// Deprecate Facebook Embed per FB policy\n\t\t// See: https://developers.facebook.com/docs/plugins/oembed-legacy\n\t\tname: 'facebook',\n\t\ttitle: 'Facebook',\n\t\ticon: embedFacebookIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Facebook post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'facebook',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\t// Deprecate Instagram per FB policy\n\t\t// See: https://developers.facebook.com/docs/instagram/oembed-legacy\n\t\tname: 'instagram',\n\t\ttitle: 'Instagram',\n\t\ticon: embedInstagramIcon,\n\t\tkeywords: [ __( 'image' ), __( 'social' ) ],\n\t\tdescription: __( 'Embed an Instagram post.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'instagram', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress',\n\t\ttitle: 'WordPress',\n\t\ticon: embedWordPressIcon,\n\t\tkeywords: [ __( 'post' ), __( 'blog' ) ],\n\t\tdescription: __( 'Embed a WordPress post.' ),\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'wordpress',\n\t\t},\n\t},\n\t{\n\t\tname: 'soundcloud',\n\t\ttitle: 'SoundCloud',\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed SoundCloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?soundcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'soundcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'spotify',\n\t\ttitle: 'Spotify',\n\t\ticon: embedSpotifyIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Spotify content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(open|play)\\.spotify\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'spotify', responsive: true },\n\t},\n\t{\n\t\tname: 'flickr',\n\t\ttitle: 'Flickr',\n\t\ticon: embedFlickrIcon,\n\t\tkeywords: [ __( 'image' ) ],\n\t\tdescription: __( 'Embed Flickr content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?flickr\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/flic\\.kr\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'flickr', responsive: true },\n\t},\n\t{\n\t\tname: 'vimeo',\n\t\ttitle: 'Vimeo',\n\t\ticon: embedVimeoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Vimeo video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?vimeo\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'vimeo', responsive: true },\n\t},\n\t{\n\t\tname: 'animoto',\n\t\ttitle: 'Animoto',\n\t\ticon: embedAnimotoIcon,\n\t\tdescription: __( 'Embed an Animoto video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?(animoto|video214)\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'animoto', responsive: true },\n\t},\n\t{\n\t\tname: 'cloudup',\n\t\ttitle: 'Cloudup',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Cloudup content.' ),\n\t\tpatterns: [ /^https?:\\/\\/cloudup\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'cloudup', responsive: true },\n\t},\n\t{\n\t\t// Deprecated since CollegeHumor content is now powered by YouTube.\n\t\tname: 'collegehumor',\n\t\ttitle: 'CollegeHumor',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed CollegeHumor content.' ),\n\t\tscope: [ 'block' ],\n\t\tpatterns: [],\n\t\tattributes: { providerNameSlug: 'collegehumor', responsive: true },\n\t},\n\t{\n\t\tname: 'crowdsignal',\n\t\ttitle: 'Crowdsignal',\n\t\ticon: embedContentIcon,\n\t\tkeywords: [ 'polldaddy', __( 'survey' ) ],\n\t\tdescription: __( 'Embed Crowdsignal (formerly Polldaddy) content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/((.+\\.)?polldaddy\\.com|poll\\.fm|.+\\.survey\\.fm)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'crowdsignal', responsive: true },\n\t},\n\t{\n\t\tname: 'dailymotion',\n\t\ttitle: 'Dailymotion',\n\t\ticon: embedDailymotionIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a Dailymotion video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?dailymotion\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'dailymotion', responsive: true },\n\t},\n\t{\n\t\tname: 'imgur',\n\t\ttitle: 'Imgur',\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed Imgur content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?imgur\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'imgur', responsive: true },\n\t},\n\t{\n\t\tname: 'issuu',\n\t\ttitle: 'Issuu',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Issuu content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?issuu\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'issuu', responsive: true },\n\t},\n\t{\n\t\tname: 'kickstarter',\n\t\ttitle: 'Kickstarter',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Kickstarter content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/(www\\.)?kickstarter\\.com\\/.+/i,\n\t\t\t/^https?:\\/\\/kck\\.st\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'kickstarter', responsive: true },\n\t},\n\t{\n\t\tname: 'mixcloud',\n\t\ttitle: 'Mixcloud',\n\t\ticon: embedAudioIcon,\n\t\tkeywords: [ __( 'music' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed Mixcloud content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?mixcloud\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'mixcloud', responsive: true },\n\t},\n\t{\n\t\tname: 'pocketcasts',\n\t\ttitle: 'Pocket Casts',\n\t\ticon: embedPocketCastsIcon,\n\t\tkeywords: [ __( 'podcast' ), __( 'audio' ) ],\n\t\tdescription: __( 'Embed a podcast player from Pocket Casts.' ),\n\t\tpatterns: [ /^https:\\/\\/pca.st\\/\\w+/i ],\n\t\tattributes: { providerNameSlug: 'pocketcasts', responsive: true },\n\t},\n\t{\n\t\tname: 'reddit',\n\t\ttitle: 'Reddit',\n\t\ticon: embedRedditIcon,\n\t\tdescription: __( 'Embed a Reddit thread.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reddit\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reddit', responsive: true },\n\t},\n\t{\n\t\tname: 'reverbnation',\n\t\ttitle: 'ReverbNation',\n\t\ticon: embedAudioIcon,\n\t\tdescription: __( 'Embed ReverbNation content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?reverbnation\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'reverbnation', responsive: true },\n\t},\n\t{\n\t\tname: 'screencast',\n\t\ttitle: 'Screencast',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed Screencast content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?screencast\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'screencast', responsive: true },\n\t},\n\t{\n\t\tname: 'scribd',\n\t\ttitle: 'Scribd',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Scribd content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?scribd\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'scribd', responsive: true },\n\t},\n\t{\n\t\tname: 'slideshare',\n\t\ttitle: 'Slideshare',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Slideshare content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+?\\.)?slideshare\\.net\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'slideshare', responsive: true },\n\t},\n\t{\n\t\tname: 'smugmug',\n\t\ttitle: 'SmugMug',\n\t\ticon: embedPhotoIcon,\n\t\tdescription: __( 'Embed SmugMug content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+\\.)?smugmug\\.com\\/.*/i ],\n\t\tattributes: {\n\t\t\tproviderNameSlug: 'smugmug',\n\t\t\tpreviewable: false,\n\t\t\tresponsive: true,\n\t\t},\n\t},\n\t{\n\t\tname: 'speaker-deck',\n\t\ttitle: 'Speaker Deck',\n\t\ticon: embedContentIcon,\n\t\tdescription: __( 'Embed Speaker Deck content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?speakerdeck\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'speaker-deck', responsive: true },\n\t},\n\t{\n\t\tname: 'tiktok',\n\t\ttitle: 'TikTok',\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a TikTok video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?tiktok\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tiktok', responsive: true },\n\t},\n\t{\n\t\tname: 'ted',\n\t\ttitle: 'TED',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a TED video.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.|embed\\.)?ted\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'ted', responsive: true },\n\t},\n\t{\n\t\tname: 'tumblr',\n\t\ttitle: 'Tumblr',\n\t\ticon: embedTumblrIcon,\n\t\tkeywords: [ __( 'social' ) ],\n\t\tdescription: __( 'Embed a Tumblr post.' ),\n\t\tpatterns: [ /^https?:\\/\\/(.+)\\.tumblr\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'tumblr', responsive: true },\n\t},\n\t{\n\t\tname: 'videopress',\n\t\ttitle: 'VideoPress',\n\t\ticon: embedVideoIcon,\n\t\tkeywords: [ __( 'video' ) ],\n\t\tdescription: __( 'Embed a VideoPress video.' ),\n\t\tpatterns: [ /^https?:\\/\\/videopress\\.com\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'videopress', responsive: true },\n\t},\n\t{\n\t\tname: 'wordpress-tv',\n\t\ttitle: 'WordPress.tv',\n\t\ticon: embedVideoIcon,\n\t\tdescription: __( 'Embed a WordPress.tv video.' ),\n\t\tpatterns: [ /^https?:\\/\\/wordpress\\.tv\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wordpress-tv', responsive: true },\n\t},\n\t{\n\t\tname: 'amazon-kindle',\n\t\ttitle: 'Amazon Kindle',\n\t\ticon: embedAmazonIcon,\n\t\tkeywords: [ __( 'ebook' ) ],\n\t\tdescription: __( 'Embed Amazon Kindle content.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z0-9-]+\\.)?(amazon|amzn)(\\.[a-z]{2,4})+\\/.+/i,\n\t\t\t/^https?:\\/\\/(www\\.)?(a\\.co|z\\.cn)\\/.+/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'amazon-kindle' },\n\t},\n\t{\n\t\tname: 'pinterest',\n\t\ttitle: 'Pinterest',\n\t\ticon: embedPinterestIcon,\n\t\tkeywords: [ __( 'social' ), __( 'bookmark' ) ],\n\t\tdescription: __( 'Embed Pinterest pins, boards, and profiles.' ),\n\t\tpatterns: [\n\t\t\t/^https?:\\/\\/([a-z]{2}|www)\\.pinterest\\.com(\\.(au|mx))?\\/.*/i,\n\t\t],\n\t\tattributes: { providerNameSlug: 'pinterest' },\n\t},\n\t{\n\t\tname: 'wolfram-cloud',\n\t\ttitle: 'Wolfram',\n\t\ticon: embedWolframIcon,\n\t\tdescription: __( 'Embed Wolfram notebook content.' ),\n\t\tpatterns: [ /^https?:\\/\\/(www\\.)?wolframcloud\\.com\\/obj\\/.+/i ],\n\t\tattributes: { providerNameSlug: 'wolfram-cloud', responsive: true },\n\t},\n];\n\n/**\n * Add `isActive` function to all `embed` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.providerNameSlug ===\n\t\tvariationAttributes.providerNameSlug;\n} );\n\nexport default variations;\n"]}
@@ -145,8 +145,8 @@ const transforms = {
145
145
  sizeSlug
146
146
  } = attributes[0]; // Loop through all the images and check if they have the same align and size.
147
147
 
148
- align = (0, _lodash.every)(attributes, ['align', align]) ? align : undefined;
149
- sizeSlug = (0, _lodash.every)(attributes, ['sizeSlug', sizeSlug]) ? sizeSlug : undefined;
148
+ align = attributes.every(attribute => attribute.align === align) ? align : undefined;
149
+ sizeSlug = attributes.every(attribute => attribute.sizeSlug === sizeSlug) ? sizeSlug : undefined;
150
150
  const validImages = (0, _lodash.filter)(attributes, _ref4 => {
151
151
  let {
152
152
  url
@@ -316,7 +316,7 @@ const transforms = {
316
316
  priority: 1,
317
317
 
318
318
  isMatch(files) {
319
- return files.length !== 1 && (0, _lodash.every)(files, file => file.type.indexOf('image/') === 0);
319
+ return files.length !== 1 && files.every(file => file.type.indexOf('image/') === 0);
320
320
  },
321
321
 
322
322
  transform(files) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","undefined","validImages","image","width","height","caption","toString","tag","shortcode","named","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","imageIds","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, every } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = every( attributes, [ 'align', align ] )\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = every( attributes, [ 'sizeSlug', sizeSlug ] )\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tevery(\n\t\t\t\t\t\tfiles,\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/transforms.js"],"names":["parseShortcodeIds","ids","split","map","id","parseInt","updateThirdPartyTransformToGallery","block","name","attributes","images","length","innerBlocks","url","alt","sizeSlug","linkDestination","updateThirdPartyTransformFromGallery","toBlock","fromBlocks","from","Array","isArray","galleryBlock","find","transformedBlock","includes","transforms","type","isMultiBlock","blocks","transform","align","every","attribute","undefined","validImages","image","width","height","caption","toString","tag","shortcode","named","columns","linkTo","link","DEPRECATED_LINK_DESTINATION_ATTACHMENT","DEPRECATED_LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","imageIds","imageId","isMatch","priority","files","file","indexOf","to","title","href","rel","linkClass","imageSizeSlug","linkTarget","anchor","className","index"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { addFilter } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_NONE,\n\tLINK_DESTINATION_MEDIA,\n} from './constants';\nimport {\n\tLINK_DESTINATION_ATTACHMENT as DEPRECATED_LINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA as DEPRECATED_LINK_DESTINATION_MEDIA,\n} from './v1/constants';\nimport { pickRelevantMediaFiles, isGalleryV2Enabled } from './shared';\n\nconst parseShortcodeIds = ( ids ) => {\n\tif ( ! ids ) {\n\t\treturn [];\n\t}\n\n\treturn ids.split( ',' ).map( ( id ) => parseInt( id, 10 ) );\n};\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * 3rdPartyBlock -> GalleryBlock transform so this tranform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} block The transformed block.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformToGallery( block ) {\n\tif (\n\t\tisGalleryV2Enabled() &&\n\t\tblock.name === 'core/gallery' &&\n\t\tblock.attributes?.images.length > 0\n\t) {\n\t\tconst innerBlocks = block.attributes.images.map(\n\t\t\t( { url, id, alt } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\turl,\n\t\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\t\talt,\n\t\t\t\t\tsizeSlug: block.attributes.sizeSlug,\n\t\t\t\t\tlinkDestination: block.attributes.linkDestination,\n\t\t\t\t} );\n\t\t\t}\n\t\t);\n\n\t\tdelete block.attributes.ids;\n\t\tdelete block.attributes.images;\n\t\tblock.innerBlocks = innerBlocks;\n\t}\n\n\treturn block;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-to',\n\tupdateThirdPartyTransformToGallery\n);\n\n/**\n * Third party block plugins don't have an easy way to detect if the\n * innerBlocks version of the Gallery is running when they run a\n * GalleryBlock -> 3rdPartyBlock transform so this transform filter\n * will handle this. Once the innerBlocks version is the default\n * in a core release, this could be deprecated and removed after\n * plugin authors have been given time to update transforms.\n *\n * @typedef {Object} Attributes\n * @typedef {Object} Block\n * @property {Attributes} attributes The attributes of the block.\n * @param {Block} toBlock The block to transform to.\n * @param {Block[]} fromBlocks The blocks to transform from.\n * @return {Block} The transformed block.\n */\nfunction updateThirdPartyTransformFromGallery( toBlock, fromBlocks ) {\n\tconst from = Array.isArray( fromBlocks ) ? fromBlocks : [ fromBlocks ];\n\tconst galleryBlock = from.find(\n\t\t( transformedBlock ) =>\n\t\t\ttransformedBlock.name === 'core/gallery' &&\n\t\t\ttransformedBlock.innerBlocks.length > 0 &&\n\t\t\t! transformedBlock.attributes.images?.length > 0 &&\n\t\t\t! toBlock.name.includes( 'core/' )\n\t);\n\n\tif ( galleryBlock ) {\n\t\tconst images = galleryBlock.innerBlocks.map(\n\t\t\t( { attributes: { url, id, alt } } ) => ( {\n\t\t\t\turl,\n\t\t\t\tid: id ? parseInt( id, 10 ) : null,\n\t\t\t\talt,\n\t\t\t} )\n\t\t);\n\t\tconst ids = images.map( ( { id } ) => id );\n\t\tgalleryBlock.attributes.images = images;\n\t\tgalleryBlock.attributes.ids = ids;\n\t}\n\n\treturn toBlock;\n}\naddFilter(\n\t'blocks.switchToBlockType.transformedBlock',\n\t'core/gallery/update-third-party-transform-from',\n\tupdateThirdPartyTransformFromGallery\n);\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( attributes ) => {\n\t\t\t\t// Init the align and size from the first item which may be either the placeholder or an image.\n\t\t\t\tlet { align, sizeSlug } = attributes[ 0 ];\n\t\t\t\t// Loop through all the images and check if they have the same align and size.\n\t\t\t\talign = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.align === align\n\t\t\t\t)\n\t\t\t\t\t? align\n\t\t\t\t\t: undefined;\n\t\t\t\tsizeSlug = attributes.every(\n\t\t\t\t\t( attribute ) => attribute.sizeSlug === sizeSlug\n\t\t\t\t)\n\t\t\t\t\t? sizeSlug\n\t\t\t\t\t: undefined;\n\n\t\t\t\tconst validImages = filter( attributes, ( { url } ) => url );\n\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = validImages.map( ( image ) => {\n\t\t\t\t\t\t// Gallery images can't currently be resized so make sure height and width are undefined.\n\t\t\t\t\t\timage.width = undefined;\n\t\t\t\t\t\timage.height = undefined;\n\t\t\t\t\t\treturn createBlock( 'core/image', image );\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/gallery',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn createBlock( 'core/gallery', {\n\t\t\t\t\timages: validImages.map(\n\t\t\t\t\t\t( { id, url, alt, caption } ) => ( {\n\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t\tids: validImages.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t\t\talign,\n\t\t\t\t\tsizeSlug,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'shortcode',\n\t\t\ttag: 'gallery',\n\n\t\t\tattributes: {\n\t\t\t\timages: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids ).map( ( id ) => ( {\n\t\t\t\t\t\t\t\tid: id.toString(),\n\t\t\t\t\t\t\t} ) );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tids: {\n\t\t\t\t\ttype: 'array',\n\t\t\t\t\tshortcode: ( { named: { ids } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\treturn parseShortcodeIds( ids );\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tcolumns: {\n\t\t\t\t\ttype: 'number',\n\t\t\t\t\tshortcode: ( { named: { columns = '3' } } ) => {\n\t\t\t\t\t\treturn parseInt( columns, 10 );\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tlinkTo: {\n\t\t\t\t\ttype: 'string',\n\t\t\t\t\tshortcode: ( { named: { link } } ) => {\n\t\t\t\t\t\tif ( ! isGalleryV2Enabled() ) {\n\t\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\treturn DEPRECATED_LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\tswitch ( link ) {\n\t\t\t\t\t\t\tcase 'post':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\t\t\tcase 'file':\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_MEDIA;\n\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\treturn LINK_DESTINATION_NONE;\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\ttransform( { named: { ids, columns = 3, link } } ) {\n\t\t\t\tconst imageIds = parseShortcodeIds( ids ).map( ( id ) =>\n\t\t\t\t\tparseInt( id, 10 )\n\t\t\t\t);\n\n\t\t\t\tlet linkTo = LINK_DESTINATION_NONE;\n\t\t\t\tif ( link === 'post' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t} else if ( link === 'file' ) {\n\t\t\t\t\tlinkTo = LINK_DESTINATION_MEDIA;\n\t\t\t\t}\n\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{\n\t\t\t\t\t\tcolumns: parseInt( columns, 10 ),\n\t\t\t\t\t\tlinkTo,\n\t\t\t\t\t},\n\t\t\t\t\timageIds.map( ( imageId ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', { id: imageId } )\n\t\t\t\t\t)\n\t\t\t\t);\n\n\t\t\t\treturn galleryBlock;\n\t\t\t},\n\t\t\tisMatch( { named } ) {\n\t\t\t\treturn undefined !== named.ids;\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\t// When created by drag and dropping multiple files on an insertion point. Because multiple\n\t\t\t// files must not be transformed to a gallery when dropped within a gallery there is another transform\n\t\t\t// within the image block to handle that case. Therefore this transform has to have priority 1\n\t\t\t// set so that it overrrides the image block transformation when mulitple images are dropped outside\n\t\t\t// of a gallery block.\n\t\t\ttype: 'files',\n\t\t\tpriority: 1,\n\t\t\tisMatch( files ) {\n\t\t\t\treturn (\n\t\t\t\t\tfiles.length !== 1 &&\n\t\t\t\t\tfiles.every(\n\t\t\t\t\t\t( file ) => file.type.indexOf( 'image/' ) === 0\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform( files ) {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tconst innerBlocks = files.map( ( file ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\n\t\t\t\t\treturn createBlock( 'core/gallery', {}, innerBlocks );\n\t\t\t\t}\n\t\t\t\tconst block = createBlock( 'core/gallery', {\n\t\t\t\t\timages: files.map( ( file ) =>\n\t\t\t\t\t\tpickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t),\n\t\t\t\t} );\n\t\t\t\treturn block;\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { align, images, ids, sizeSlug }, innerBlocks ) => {\n\t\t\t\tif ( isGalleryV2Enabled() ) {\n\t\t\t\t\tif ( innerBlocks.length > 0 ) {\n\t\t\t\t\t\treturn innerBlocks.map(\n\t\t\t\t\t\t\t( {\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\t\t\ttitle,\n\t\t\t\t\t\t\t\t\thref,\n\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\tlinkClass,\n\t\t\t\t\t\t\t\t\tid,\n\t\t\t\t\t\t\t\t\tsizeSlug: imageSizeSlug,\n\t\t\t\t\t\t\t\t\tlinkDestination,\n\t\t\t\t\t\t\t\t\tlinkTarget,\n\t\t\t\t\t\t\t\t\tanchor,\n\t\t\t\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t\t}\n\t\t\t\tif ( images.length > 0 ) {\n\t\t\t\t\treturn images.map( ( { url, alt, caption }, index ) =>\n\t\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\t\tid: ids[ index ],\n\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\tcaption,\n\t\t\t\t\t\t\talign,\n\t\t\t\t\t\t\tsizeSlug,\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn createBlock( 'core/image', { align } );\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
@@ -335,7 +335,7 @@ function GalleryEdit(props) {
335
335
  }
336
336
 
337
337
  (0, _element.useEffect)(() => {
338
- if (_element.Platform.OS === 'web' && images && images.length > 0 && (0, _lodash.every)(images, _ref4 => {
338
+ if (_element.Platform.OS === 'web' && images && images.length > 0 && images.every(_ref4 => {
339
339
  let {
340
340
  url
341
341
  } = _ref4;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"names":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { every, filter, find, get, isEmpty, map, reduce, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\tevery( images, ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = map( images, ( { url } ) => getBlobByURL( url ) );\n\t\t\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":["MAX_COLUMNS","linkOptions","value","LINK_DESTINATION_ATTACHMENT","label","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","Platform","select","web","native","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","attributes","clientId","isSelected","noticeUI","noticeOperations","onFocus","columns","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","settings","getSettings","coreStore","resizedImages","ids","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","mediaDetailsUrl","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","currentImageCaption","caption","attachment","onSelectImages","map","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","name","updateImagesSize","newSizeSlug","updatedImages","url","OS","every","filesList","forEach","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","some","mediaPlaceholder","sharedIcon","title","instructions","undefined","blockProps","imageSizeOptions","shouldShowSizeOptions","withNotices","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { filter, find, get, isEmpty, map, reduce, some } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn reduce(\n\t\t\t\tattributes.ids,\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = reduce(\n\t\t\t\t\t\timageSizes,\n\t\t\t\t\t\t( currentSizes, size ) => {\n\t\t\t\t\t\t\tconst defaultUrl = get( image, [\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\tconst mediaDetailsUrl = get( image, [\n\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\tsize.slug,\n\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: map( newAttrs.images, ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = filter( images, ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = find( images, { id: newImageId } );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = find( attachmentCaptions, {\n\t\t\tid: newImageId,\n\t\t} );\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\treturn map(\n\t\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\t\tsome( resizedImages, ( sizes ) => sizes[ slug ] )\n\t\t\t),\n\t\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t\t);\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = map( images, ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url = get( resizedImages, [\n\t\t\t\tparseInt( image.id, 10 ),\n\t\t\t\tnewSizeSlug,\n\t\t\t] );\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\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"]}
@@ -92,7 +92,8 @@ function Image(_ref) {
92
92
  } = attributes;
93
93
  const imageRef = (0, _element.useRef)();
94
94
  const captionRef = (0, _element.useRef)();
95
- const prevUrl = (0, _compose.usePrevious)(url);
95
+ const prevCaption = (0, _compose.usePrevious)(caption);
96
+ const [showCaption, setShowCaption] = (0, _element.useState)(!!caption);
96
97
  const {
97
98
  allowResize = true
98
99
  } = context;
@@ -179,16 +180,22 @@ function Image(_ref) {
179
180
 
180
181
  window.fetch(url).then(response => response.blob()).then(blob => setExternalBlob(blob)) // Do nothing, cannot upload.
181
182
  .catch(() => {});
182
- }, [id, url, isSelected, externalBlob]); // Focus the caption after inserting an image from the placeholder. This is
183
- // done to preserve the behaviour of focussing the first tabbable element
184
- // when a block is mounted. Previously, the image block would remount when
185
- // the placeholder is removed. Maybe this behaviour could be removed.
183
+ }, [id, url, isSelected, externalBlob]); // We need to show the caption when changes come from
184
+ // history navigation(undo/redo).
186
185
 
187
186
  (0, _element.useEffect)(() => {
188
- if (url && !prevUrl && isSelected) {
189
- captionRef.current.focus();
187
+ if (caption && !prevCaption) {
188
+ setShowCaption(true);
190
189
  }
191
- }, [url, prevUrl]); // Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural
190
+ }, [caption, prevCaption]); // Focus the caption when we click to add one.
191
+
192
+ (0, _element.useEffect)(() => {
193
+ if (showCaption && !caption) {
194
+ var _captionRef$current;
195
+
196
+ (_captionRef$current = captionRef.current) === null || _captionRef$current === void 0 ? void 0 : _captionRef$current.focus();
197
+ }
198
+ }, [caption, showCaption]); // Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural
192
199
  // width and height. This resolves an issue in Safari where the loaded natural
193
200
  // width and height is otherwise lost when switching between alignments.
194
201
  // See: https://github.com/WordPress/gutenberg/pull/37210.
@@ -302,8 +309,12 @@ function Image(_ref) {
302
309
  (0, _element.useEffect)(() => {
303
310
  if (!isSelected) {
304
311
  setIsEditingImage(false);
312
+
313
+ if (!caption) {
314
+ setShowCaption(false);
315
+ }
305
316
  }
306
- }, [isSelected]);
317
+ }, [isSelected, caption]);
307
318
  const canEditImage = id && naturalWidth && naturalHeight && imageEditing;
308
319
  const allowCrop = !multiImageSelection && canEditImage && !isEditingImage;
309
320
 
@@ -316,6 +327,19 @@ function Image(_ref) {
316
327
  }, !isContentLocked && (0, _element.createElement)(_blockEditor.BlockAlignmentControl, {
317
328
  value: align,
318
329
  onChange: updateAlignment
330
+ }), !isContentLocked && (0, _element.createElement)(_components.ToolbarButton, {
331
+ onClick: () => {
332
+ setShowCaption(!showCaption);
333
+
334
+ if (showCaption && caption) {
335
+ setAttributes({
336
+ caption: undefined
337
+ });
338
+ }
339
+ },
340
+ icon: _icons.caption,
341
+ isPressed: showCaption,
342
+ label: (0, _i18n.__)('Caption')
319
343
  }), !multiImageSelection && !isEditingImage && (0, _element.createElement)(_blockEditor.__experimentalImageURLInputUI, {
320
344
  url: href || '',
321
345
  onChangeUrl: onSetHref,
@@ -524,7 +548,7 @@ function Image(_ref) {
524
548
  onSaveImage: imageAttributes => setAttributes(imageAttributes),
525
549
  isEditing: isEditingImage,
526
550
  onFinishEditing: () => setIsEditingImage(false)
527
- }, !temporaryURL && controls, img, (!_blockEditor.RichText.isEmpty(caption) || isSelected) && (0, _element.createElement)(_blockEditor.RichText, {
551
+ }, !temporaryURL && controls, img, showCaption && (!_blockEditor.RichText.isEmpty(caption) || isSelected) && (0, _element.createElement)(_blockEditor.RichText, {
528
552
  className: (0, _blockEditor.__experimentalGetElementClassName)('caption'),
529
553
  ref: captionRef,
530
554
  tagName: "figcaption",