@wordpress/block-library 9.2.0 → 9.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/audio/edit.js +20 -8
  3. package/build/audio/edit.js.map +1 -1
  4. package/build/audio/index.js +4 -0
  5. package/build/audio/index.js.map +1 -1
  6. package/build/audio/transforms.js +1 -1
  7. package/build/audio/transforms.js.map +1 -1
  8. package/build/block/edit.js +0 -1
  9. package/build/block/edit.js.map +1 -1
  10. package/build/block/index.js +5 -1
  11. package/build/block/index.js.map +1 -1
  12. package/build/embed/embed-preview.js +4 -4
  13. package/build/embed/embed-preview.js.map +1 -1
  14. package/build/file/edit.js +14 -6
  15. package/build/file/edit.js.map +1 -1
  16. package/build/file/index.js +4 -0
  17. package/build/file/index.js.map +1 -1
  18. package/build/file/transforms.js +2 -3
  19. package/build/file/transforms.js.map +1 -1
  20. package/build/gallery/deprecated.js +6 -54
  21. package/build/gallery/deprecated.js.map +1 -1
  22. package/build/gallery/edit.js +9 -8
  23. package/build/gallery/edit.js.map +1 -1
  24. package/build/gallery/index.js +2 -2
  25. package/build/gallery/index.js.map +1 -1
  26. package/build/gallery/save.js +0 -11
  27. package/build/gallery/save.js.map +1 -1
  28. package/build/gallery/shared.js +0 -27
  29. package/build/gallery/shared.js.map +1 -1
  30. package/build/gallery/transforms.js +29 -80
  31. package/build/gallery/transforms.js.map +1 -1
  32. package/build/group/index.js +1 -0
  33. package/build/group/index.js.map +1 -1
  34. package/build/group/placeholder.js +5 -0
  35. package/build/group/placeholder.js.map +1 -1
  36. package/build/image/edit.js +13 -21
  37. package/build/image/edit.js.map +1 -1
  38. package/build/image/image.js +30 -17
  39. package/build/image/image.js.map +1 -1
  40. package/build/image/index.js +4 -0
  41. package/build/image/index.js.map +1 -1
  42. package/build/image/transforms.js +1 -1
  43. package/build/image/transforms.js.map +1 -1
  44. package/build/list-item/edit.js +1 -1
  45. package/build/list-item/edit.js.map +1 -1
  46. package/build/list-item/hooks/use-merge.js +8 -1
  47. package/build/list-item/hooks/use-merge.js.map +1 -1
  48. package/build/list-item/index.js +11 -1
  49. package/build/list-item/index.js.map +1 -1
  50. package/build/loginout/index.js +3 -0
  51. package/build/loginout/index.js.map +1 -1
  52. package/build/media-text/edit.js +3 -2
  53. package/build/media-text/edit.js.map +1 -1
  54. package/build/navigation-submenu/edit.js +1 -1
  55. package/build/navigation-submenu/edit.js.map +1 -1
  56. package/build/page-list/convert-to-links-modal.js +1 -1
  57. package/build/page-list/convert-to-links-modal.js.map +1 -1
  58. package/build/page-list/edit.js +1 -1
  59. package/build/page-list/edit.js.map +1 -1
  60. package/build/post-content/index.js +3 -0
  61. package/build/post-content/index.js.map +1 -1
  62. package/build/post-date/edit.js +3 -1
  63. package/build/post-date/edit.js.map +1 -1
  64. package/build/post-excerpt/index.js +3 -0
  65. package/build/post-excerpt/index.js.map +1 -1
  66. package/build/post-title/index.js +3 -0
  67. package/build/post-title/index.js.map +1 -1
  68. package/build/query/edit/inspector-controls/index.js +3 -2
  69. package/build/query/edit/inspector-controls/index.js.map +1 -1
  70. package/build/query/edit/query-toolbar.js +54 -61
  71. package/build/query/edit/query-toolbar.js.map +1 -1
  72. package/build/query/index.js +34 -0
  73. package/build/query/index.js.map +1 -1
  74. package/build/social-link/edit.js +27 -7
  75. package/build/social-link/edit.js.map +1 -1
  76. package/build/table/edit.js +8 -17
  77. package/build/table/edit.js.map +1 -1
  78. package/build/template-part/edit/title-modal.js +1 -1
  79. package/build/template-part/edit/title-modal.js.map +1 -1
  80. package/build/utils/hooks.js +12 -0
  81. package/build/utils/hooks.js.map +1 -1
  82. package/build/video/deprecated.js +4 -0
  83. package/build/video/deprecated.js.map +1 -1
  84. package/build/video/edit.js +17 -7
  85. package/build/video/edit.js.map +1 -1
  86. package/build/video/index.js +4 -0
  87. package/build/video/index.js.map +1 -1
  88. package/build/video/transforms.js +1 -1
  89. package/build/video/transforms.js.map +1 -1
  90. package/build-module/audio/edit.js +20 -8
  91. package/build-module/audio/edit.js.map +1 -1
  92. package/build-module/audio/index.js +4 -0
  93. package/build-module/audio/index.js.map +1 -1
  94. package/build-module/audio/transforms.js +1 -1
  95. package/build-module/audio/transforms.js.map +1 -1
  96. package/build-module/block/edit.js +0 -1
  97. package/build-module/block/edit.js.map +1 -1
  98. package/build-module/block/index.js +5 -1
  99. package/build-module/block/index.js.map +1 -1
  100. package/build-module/embed/embed-preview.js +4 -4
  101. package/build-module/embed/embed-preview.js.map +1 -1
  102. package/build-module/file/edit.js +15 -7
  103. package/build-module/file/edit.js.map +1 -1
  104. package/build-module/file/index.js +4 -0
  105. package/build-module/file/index.js.map +1 -1
  106. package/build-module/file/transforms.js +2 -3
  107. package/build-module/file/transforms.js.map +1 -1
  108. package/build-module/gallery/deprecated.js +6 -54
  109. package/build-module/gallery/deprecated.js.map +1 -1
  110. package/build-module/gallery/edit.js +10 -9
  111. package/build-module/gallery/edit.js.map +1 -1
  112. package/build-module/gallery/index.js +1 -1
  113. package/build-module/gallery/index.js.map +1 -1
  114. package/build-module/gallery/save.js +0 -11
  115. package/build-module/gallery/save.js.map +1 -1
  116. package/build-module/gallery/shared.js +0 -25
  117. package/build-module/gallery/shared.js.map +1 -1
  118. package/build-module/gallery/transforms.js +29 -80
  119. package/build-module/gallery/transforms.js.map +1 -1
  120. package/build-module/group/index.js +1 -0
  121. package/build-module/group/index.js.map +1 -1
  122. package/build-module/group/placeholder.js +5 -0
  123. package/build-module/group/placeholder.js.map +1 -1
  124. package/build-module/image/edit.js +12 -20
  125. package/build-module/image/edit.js.map +1 -1
  126. package/build-module/image/image.js +25 -12
  127. package/build-module/image/image.js.map +1 -1
  128. package/build-module/image/index.js +4 -0
  129. package/build-module/image/index.js.map +1 -1
  130. package/build-module/image/transforms.js +1 -1
  131. package/build-module/image/transforms.js.map +1 -1
  132. package/build-module/list-item/edit.js +1 -1
  133. package/build-module/list-item/edit.js.map +1 -1
  134. package/build-module/list-item/hooks/use-merge.js +8 -1
  135. package/build-module/list-item/hooks/use-merge.js.map +1 -1
  136. package/build-module/list-item/index.js +11 -1
  137. package/build-module/list-item/index.js.map +1 -1
  138. package/build-module/loginout/index.js +3 -0
  139. package/build-module/loginout/index.js.map +1 -1
  140. package/build-module/media-text/edit.js +3 -2
  141. package/build-module/media-text/edit.js.map +1 -1
  142. package/build-module/navigation-submenu/edit.js +1 -1
  143. package/build-module/navigation-submenu/edit.js.map +1 -1
  144. package/build-module/page-list/convert-to-links-modal.js +1 -1
  145. package/build-module/page-list/convert-to-links-modal.js.map +1 -1
  146. package/build-module/page-list/edit.js +1 -1
  147. package/build-module/page-list/edit.js.map +1 -1
  148. package/build-module/post-content/index.js +3 -0
  149. package/build-module/post-content/index.js.map +1 -1
  150. package/build-module/post-date/edit.js +4 -2
  151. package/build-module/post-date/edit.js.map +1 -1
  152. package/build-module/post-excerpt/index.js +3 -0
  153. package/build-module/post-excerpt/index.js.map +1 -1
  154. package/build-module/post-title/index.js +3 -0
  155. package/build-module/post-title/index.js.map +1 -1
  156. package/build-module/query/edit/inspector-controls/index.js +3 -2
  157. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  158. package/build-module/query/edit/query-toolbar.js +55 -62
  159. package/build-module/query/edit/query-toolbar.js.map +1 -1
  160. package/build-module/query/index.js +34 -0
  161. package/build-module/query/index.js.map +1 -1
  162. package/build-module/social-link/edit.js +28 -8
  163. package/build-module/social-link/edit.js.map +1 -1
  164. package/build-module/table/edit.js +9 -18
  165. package/build-module/table/edit.js.map +1 -1
  166. package/build-module/template-part/edit/title-modal.js +1 -1
  167. package/build-module/template-part/edit/title-modal.js.map +1 -1
  168. package/build-module/utils/hooks.js +11 -0
  169. package/build-module/utils/hooks.js.map +1 -1
  170. package/build-module/video/deprecated.js +4 -0
  171. package/build-module/video/deprecated.js.map +1 -1
  172. package/build-module/video/edit.js +18 -8
  173. package/build-module/video/edit.js.map +1 -1
  174. package/build-module/video/index.js +4 -0
  175. package/build-module/video/index.js.map +1 -1
  176. package/build-module/video/transforms.js +1 -1
  177. package/build-module/video/transforms.js.map +1 -1
  178. package/build-style/editor-rtl.css +3 -0
  179. package/build-style/editor.css +3 -0
  180. package/build-style/post-comments-form/style-rtl.css +11 -10
  181. package/build-style/post-comments-form/style.css +11 -10
  182. package/build-style/query/editor-rtl.css +3 -0
  183. package/build-style/query/editor.css +3 -0
  184. package/build-style/social-links/style-rtl.css +91 -91
  185. package/build-style/social-links/style.css +91 -91
  186. package/build-style/style-rtl.css +102 -101
  187. package/build-style/style.css +102 -101
  188. package/package.json +35 -35
  189. package/src/audio/block.json +4 -0
  190. package/src/audio/edit.js +19 -7
  191. package/src/audio/transforms.js +1 -1
  192. package/src/block/block.json +5 -1
  193. package/src/block/edit.js +0 -1
  194. package/src/button/index.php +14 -1
  195. package/src/embed/embed-preview.js +4 -6
  196. package/src/file/block.json +4 -0
  197. package/src/file/edit.js +19 -6
  198. package/src/file/transforms.js +1 -2
  199. package/src/gallery/deprecated.js +6 -55
  200. package/src/gallery/edit.js +13 -10
  201. package/src/gallery/gallery-styles.native.scss +0 -2
  202. package/src/gallery/index.js +1 -1
  203. package/src/gallery/save.js +0 -10
  204. package/src/gallery/shared.js +0 -28
  205. package/src/gallery/transforms.js +56 -99
  206. package/src/group/block.json +1 -0
  207. package/src/group/placeholder.js +7 -0
  208. package/src/image/block.json +4 -0
  209. package/src/image/edit.js +10 -19
  210. package/src/image/image.js +36 -14
  211. package/src/image/index.php +26 -5
  212. package/src/image/transforms.js +1 -1
  213. package/src/list-item/block.json +11 -1
  214. package/src/list-item/edit.js +1 -1
  215. package/src/list-item/hooks/use-merge.js +19 -5
  216. package/src/loginout/block.json +3 -0
  217. package/src/media-text/edit.js +3 -2
  218. package/src/navigation-submenu/edit.js +1 -1
  219. package/src/page-list/convert-to-links-modal.js +1 -1
  220. package/src/page-list/edit.js +1 -1
  221. package/src/post-comments-form/style.scss +15 -12
  222. package/src/post-content/block.json +3 -0
  223. package/src/post-date/edit.js +5 -1
  224. package/src/post-date/index.php +8 -2
  225. package/src/post-excerpt/block.json +3 -0
  226. package/src/post-title/block.json +3 -0
  227. package/src/query/edit/inspector-controls/index.js +3 -2
  228. package/src/query/edit/query-toolbar.js +60 -72
  229. package/src/query/editor.scss +4 -0
  230. package/src/query/index.js +40 -0
  231. package/src/social-link/edit.js +29 -3
  232. package/src/social-links/style.scss +2 -2
  233. package/src/table/edit.js +11 -24
  234. package/src/template-part/edit/title-modal.js +1 -1
  235. package/src/utils/hooks.js +14 -1
  236. package/src/video/block.json +4 -0
  237. package/src/video/edit.js +23 -8
  238. package/src/video/transforms.js +1 -1
  239. package/tsconfig.tsbuildinfo +1 -1
  240. package/build/gallery/edit-wrapper.js +0 -37
  241. package/build/gallery/edit-wrapper.js.map +0 -1
  242. package/build/gallery/v1/constants.js +0 -10
  243. package/build/gallery/v1/constants.js.map +0 -1
  244. package/build/gallery/v1/edit.js +0 -399
  245. package/build/gallery/v1/edit.js.map +0 -1
  246. package/build/gallery/v1/gallery-button.native.js +0 -55
  247. package/build/gallery/v1/gallery-button.native.js.map +0 -1
  248. package/build/gallery/v1/gallery-image.js +0 -285
  249. package/build/gallery/v1/gallery-image.js.map +0 -1
  250. package/build/gallery/v1/gallery-image.native.js +0 -297
  251. package/build/gallery/v1/gallery-image.native.js.map +0 -1
  252. package/build/gallery/v1/gallery.js +0 -112
  253. package/build/gallery/v1/gallery.js.map +0 -1
  254. package/build/gallery/v1/gallery.native.js +0 -139
  255. package/build/gallery/v1/gallery.native.js.map +0 -1
  256. package/build/gallery/v1/save.js +0 -81
  257. package/build/gallery/v1/save.js.map +0 -1
  258. package/build/gallery/v1/shared.js +0 -17
  259. package/build/gallery/v1/shared.js.map +0 -1
  260. package/build/gallery/v1/tiles.native.js +0 -83
  261. package/build/gallery/v1/tiles.native.js.map +0 -1
  262. package/build/utils/constants.js +0 -15
  263. package/build/utils/constants.js.map +0 -1
  264. package/build-module/gallery/edit-wrapper.js +0 -31
  265. package/build-module/gallery/edit-wrapper.js.map +0 -1
  266. package/build-module/gallery/v1/constants.js +0 -4
  267. package/build-module/gallery/v1/constants.js.map +0 -1
  268. package/build-module/gallery/v1/edit.js +0 -393
  269. package/build-module/gallery/v1/edit.js.map +0 -1
  270. package/build-module/gallery/v1/gallery-button.native.js +0 -46
  271. package/build-module/gallery/v1/gallery-button.native.js.map +0 -1
  272. package/build-module/gallery/v1/gallery-image.js +0 -279
  273. package/build-module/gallery/v1/gallery-image.js.map +0 -1
  274. package/build-module/gallery/v1/gallery-image.native.js +0 -291
  275. package/build-module/gallery/v1/gallery-image.native.js.map +0 -1
  276. package/build-module/gallery/v1/gallery.js +0 -104
  277. package/build-module/gallery/v1/gallery.js.map +0 -1
  278. package/build-module/gallery/v1/gallery.native.js +0 -131
  279. package/build-module/gallery/v1/gallery.native.js.map +0 -1
  280. package/build-module/gallery/v1/save.js +0 -74
  281. package/build-module/gallery/v1/save.js.map +0 -1
  282. package/build-module/gallery/v1/shared.js +0 -10
  283. package/build-module/gallery/v1/shared.js.map +0 -1
  284. package/build-module/gallery/v1/tiles.native.js +0 -75
  285. package/build-module/gallery/v1/tiles.native.js.map +0 -1
  286. package/build-module/utils/constants.js +0 -9
  287. package/build-module/utils/constants.js.map +0 -1
  288. package/src/gallery/edit-wrapper.js +0 -27
  289. package/src/gallery/v1/constants.js +0 -3
  290. package/src/gallery/v1/edit.js +0 -450
  291. package/src/gallery/v1/gallery-button.native.js +0 -47
  292. package/src/gallery/v1/gallery-image-style.native.scss +0 -109
  293. package/src/gallery/v1/gallery-image.js +0 -293
  294. package/src/gallery/v1/gallery-image.native.js +0 -348
  295. package/src/gallery/v1/gallery-styles.native.scss +0 -8
  296. package/src/gallery/v1/gallery.js +0 -125
  297. package/src/gallery/v1/gallery.native.js +0 -162
  298. package/src/gallery/v1/save.js +0 -98
  299. package/src/gallery/v1/shared.js +0 -19
  300. package/src/gallery/v1/tiles-styles.native.scss +0 -11
  301. package/src/gallery/v1/tiles.native.js +0 -79
  302. package/src/utils/constants.js +0 -8
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _compose = require("@wordpress/compose");
9
- var _components = require("@wordpress/components");
10
- var _edit = _interopRequireDefault(require("./edit"));
11
- var _edit2 = _interopRequireDefault(require("./v1/edit"));
12
- var _shared = require("./shared");
13
- var _jsxRuntime = require("react/jsx-runtime");
14
- /**
15
- * WordPress dependencies
16
- */
17
-
18
- /**
19
- * Internal dependencies
20
- */
21
-
22
- /*
23
- * Using a wrapper around the logic to load the edit for v1 of Gallery block
24
- * or the refactored version with InnerBlocks. This is to prevent conditional
25
- * use of hooks lint errors if adding this logic to the top of the edit component.
26
- */function GalleryEditWrapper(props) {
27
- if (!(0, _shared.isGalleryV2Enabled)()) {
28
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_edit2.default, {
29
- ...props
30
- });
31
- }
32
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_edit.default, {
33
- ...props
34
- });
35
- }
36
- var _default = exports.default = (0, _compose.compose)([_components.withNotices])(GalleryEditWrapper);
37
- //# sourceMappingURL=edit-wrapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_compose","require","_components","_edit","_interopRequireDefault","_edit2","_shared","_jsxRuntime","GalleryEditWrapper","props","isGalleryV2Enabled","jsx","default","_default","exports","compose","withNotices"],"sources":["@wordpress/block-library/src/gallery/edit-wrapper.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport { withNotices } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport EditWithInnerBlocks from './edit';\nimport EditWithoutInnerBlocks from './v1/edit';\nimport { isGalleryV2Enabled } from './shared';\n\n/*\n * Using a wrapper around the logic to load the edit for v1 of Gallery block\n * or the refactored version with InnerBlocks. This is to prevent conditional\n * use of hooks lint errors if adding this logic to the top of the edit component.\n */\nfunction GalleryEditWrapper( props ) {\n\tif ( ! isGalleryV2Enabled() ) {\n\t\treturn <EditWithoutInnerBlocks { ...props } />;\n\t}\n\n\treturn <EditWithInnerBlocks { ...props } />;\n}\n\nexport default compose( [ withNotices ] )( GalleryEditWrapper );\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,KAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,MAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,OAAA,GAAAL,OAAA;AAA8C,IAAAM,WAAA,GAAAN,OAAA;AAX9C;AACA;AACA;;AAIA;AACA;AACA;;AAKA;AACA;AACA;AACA;AACA,GACA,SAASO,kBAAkBA,CAAEC,KAAK,EAAG;EACpC,IAAK,CAAE,IAAAC,0BAAkB,EAAC,CAAC,EAAG;IAC7B,oBAAO,IAAAH,WAAA,CAAAI,GAAA,EAACN,MAAA,CAAAO,OAAsB;MAAA,GAAMH;IAAK,CAAI,CAAC;EAC/C;EAEA,oBAAO,IAAAF,WAAA,CAAAI,GAAA,EAACR,KAAA,CAAAS,OAAmB;IAAA,GAAMH;EAAK,CAAI,CAAC;AAC5C;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAF,OAAA,GAEc,IAAAG,gBAAO,EAAE,CAAEC,uBAAW,CAAG,CAAC,CAAER,kBAAmB,CAAC","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.LINK_DESTINATION_NONE = exports.LINK_DESTINATION_MEDIA = exports.LINK_DESTINATION_ATTACHMENT = void 0;
7
- const LINK_DESTINATION_NONE = exports.LINK_DESTINATION_NONE = 'none';
8
- const LINK_DESTINATION_MEDIA = exports.LINK_DESTINATION_MEDIA = 'file';
9
- const LINK_DESTINATION_ATTACHMENT = exports.LINK_DESTINATION_ATTACHMENT = 'post';
10
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["LINK_DESTINATION_NONE","exports","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT"],"sources":["@wordpress/block-library/src/gallery/v1/constants.js"],"sourcesContent":["export const LINK_DESTINATION_NONE = 'none';\nexport const LINK_DESTINATION_MEDIA = 'file';\nexport const LINK_DESTINATION_ATTACHMENT = 'post';\n"],"mappings":";;;;;;AAAO,MAAMA,qBAAqB,GAAAC,OAAA,CAAAD,qBAAA,GAAG,MAAM;AACpC,MAAME,sBAAsB,GAAAD,OAAA,CAAAC,sBAAA,GAAG,MAAM;AACrC,MAAMC,2BAA2B,GAAAF,OAAA,CAAAE,2BAAA,GAAG,MAAM","ignoreList":[]}
@@ -1,399 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _compose = require("@wordpress/compose");
9
- var _components = require("@wordpress/components");
10
- var _blockEditor = require("@wordpress/block-editor");
11
- var _element = require("@wordpress/element");
12
- var _i18n = require("@wordpress/i18n");
13
- var _blob = require("@wordpress/blob");
14
- var _data = require("@wordpress/data");
15
- var _viewport = require("@wordpress/viewport");
16
- var _primitives = require("@wordpress/primitives");
17
- var _coreData = require("@wordpress/core-data");
18
- var _sharedIcon = require("../shared-icon");
19
- var _shared = require("./shared");
20
- var _deprecated = require("../deprecated");
21
- var _gallery = _interopRequireDefault(require("./gallery"));
22
- var _constants = require("./constants");
23
- var _jsxRuntime = require("react/jsx-runtime");
24
- /**
25
- * WordPress dependencies
26
- */
27
-
28
- /**
29
- * Internal dependencies
30
- */
31
-
32
- const MAX_COLUMNS = 8;
33
- const linkOptions = [{
34
- value: _constants.LINK_DESTINATION_ATTACHMENT,
35
- label: (0, _i18n.__)('Attachment Page')
36
- }, {
37
- value: _constants.LINK_DESTINATION_MEDIA,
38
- label: (0, _i18n.__)('Media File')
39
- }, {
40
- value: _constants.LINK_DESTINATION_NONE,
41
- label: (0, _i18n.__)('None')
42
- }];
43
- const ALLOWED_MEDIA_TYPES = ['image'];
44
- const PLACEHOLDER_TEXT = _element.Platform.select({
45
- web: (0, _i18n.__)('Drag images, upload new ones or select files from your library.'),
46
- native: (0, _i18n.__)('ADD MEDIA')
47
- });
48
- const MOBILE_CONTROL_PROPS_RANGE_CONTROL = _element.Platform.select({
49
- web: {},
50
- native: {
51
- type: 'stepper'
52
- }
53
- });
54
- function GalleryEdit(props) {
55
- const {
56
- attributes,
57
- clientId,
58
- isSelected,
59
- noticeUI,
60
- noticeOperations,
61
- onFocus
62
- } = props;
63
- const {
64
- columns = (0, _deprecated.defaultColumnsNumberV1)(attributes),
65
- imageCrop,
66
- images,
67
- linkTo,
68
- sizeSlug
69
- } = attributes;
70
- const [selectedImage, setSelectedImage] = (0, _element.useState)();
71
- const [attachmentCaptions, setAttachmentCaptions] = (0, _element.useState)();
72
- const {
73
- __unstableMarkNextChangeAsNotPersistent
74
- } = (0, _data.useDispatch)(_blockEditor.store);
75
- const {
76
- imageSizes,
77
- mediaUpload,
78
- getMedia,
79
- wasBlockJustInserted
80
- } = (0, _data.useSelect)(select => {
81
- const settings = select(_blockEditor.store).getSettings();
82
- return {
83
- imageSizes: settings.imageSizes,
84
- mediaUpload: settings.mediaUpload,
85
- getMedia: select(_coreData.store).getMedia,
86
- wasBlockJustInserted: select(_blockEditor.store).wasBlockJustInserted(clientId, 'inserter_menu')
87
- };
88
- });
89
- const resizedImages = (0, _element.useMemo)(() => {
90
- if (isSelected) {
91
- var _attributes$ids;
92
- return ((_attributes$ids = attributes.ids) !== null && _attributes$ids !== void 0 ? _attributes$ids : []).reduce((currentResizedImages, id) => {
93
- if (!id) {
94
- return currentResizedImages;
95
- }
96
- const image = getMedia(id);
97
- const sizes = imageSizes.reduce((currentSizes, size) => {
98
- const defaultUrl = image?.sizes?.[size.slug]?.url;
99
- const mediaDetailsUrl = image?.media_details?.sizes?.[size.slug]?.source_url;
100
- return {
101
- ...currentSizes,
102
- [size.slug]: defaultUrl || mediaDetailsUrl
103
- };
104
- }, {});
105
- return {
106
- ...currentResizedImages,
107
- [parseInt(id, 10)]: sizes
108
- };
109
- }, {});
110
- }
111
- return {};
112
- }, [isSelected, attributes.ids, imageSizes]);
113
- function onFocusGalleryCaption() {
114
- setSelectedImage();
115
- }
116
- function setAttributes(newAttrs) {
117
- if (newAttrs.ids) {
118
- throw new Error('The "ids" attribute should not be changed directly. It is managed automatically when "images" attribute changes');
119
- }
120
- if (newAttrs.images) {
121
- newAttrs = {
122
- ...newAttrs,
123
- // Unlike images[ n ].id which is a string, always ensure the
124
- // ids array contains numbers as per its attribute type.
125
- ids: newAttrs.images.map(({
126
- id
127
- }) => parseInt(id, 10))
128
- };
129
- }
130
- props.setAttributes(newAttrs);
131
- }
132
- function onSelectImage(index) {
133
- return () => {
134
- setSelectedImage(index);
135
- };
136
- }
137
- function onDeselectImage() {
138
- return () => {
139
- setSelectedImage();
140
- };
141
- }
142
- function onMove(oldIndex, newIndex) {
143
- const newImages = [...images];
144
- newImages.splice(newIndex, 1, images[oldIndex]);
145
- newImages.splice(oldIndex, 1, images[newIndex]);
146
- setSelectedImage(newIndex);
147
- setAttributes({
148
- images: newImages
149
- });
150
- }
151
- function onMoveForward(oldIndex) {
152
- return () => {
153
- if (oldIndex === images.length - 1) {
154
- return;
155
- }
156
- onMove(oldIndex, oldIndex + 1);
157
- };
158
- }
159
- function onMoveBackward(oldIndex) {
160
- return () => {
161
- if (oldIndex === 0) {
162
- return;
163
- }
164
- onMove(oldIndex, oldIndex - 1);
165
- };
166
- }
167
- function onRemoveImage(index) {
168
- return () => {
169
- const newImages = images.filter((img, i) => index !== i);
170
- setSelectedImage();
171
- setAttributes({
172
- images: newImages,
173
- columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns
174
- });
175
- };
176
- }
177
- function selectCaption(newImage) {
178
- // The image id in both the images and attachmentCaptions arrays is a
179
- // string, so ensure comparison works correctly by converting the
180
- // newImage.id to a string.
181
- const newImageId = newImage.id.toString();
182
- const currentImage = images.find(({
183
- id
184
- }) => id === newImageId);
185
- const currentImageCaption = currentImage ? currentImage.caption : newImage.caption;
186
- if (!attachmentCaptions) {
187
- return currentImageCaption;
188
- }
189
- const attachment = attachmentCaptions.find(({
190
- id
191
- }) => id === newImageId);
192
-
193
- // If the attachment caption is updated.
194
- if (attachment && attachment.caption !== newImage.caption) {
195
- return newImage.caption;
196
- }
197
- return currentImageCaption;
198
- }
199
- function onSelectImages(newImages) {
200
- setAttachmentCaptions(newImages.map(newImage => ({
201
- // Store the attachmentCaption id as a string for consistency
202
- // with the type of the id in the images attribute.
203
- id: newImage.id.toString(),
204
- caption: newImage.caption
205
- })));
206
- setAttributes({
207
- images: newImages.map(newImage => ({
208
- ...(0, _shared.pickRelevantMediaFiles)(newImage, sizeSlug),
209
- caption: selectCaption(newImage, images, attachmentCaptions),
210
- // The id value is stored in a data attribute, so when the
211
- // block is parsed it's converted to a string. Converting
212
- // to a string here ensures it's type is consistent.
213
- id: newImage.id.toString()
214
- })),
215
- columns: attributes.columns ? Math.min(newImages.length, attributes.columns) : attributes.columns
216
- });
217
- }
218
- function onUploadError(message) {
219
- noticeOperations.removeAllNotices();
220
- noticeOperations.createErrorNotice(message);
221
- }
222
- function setLinkTo(value) {
223
- setAttributes({
224
- linkTo: value
225
- });
226
- }
227
- function setColumnsNumber(value) {
228
- setAttributes({
229
- columns: value
230
- });
231
- }
232
- function toggleImageCrop() {
233
- setAttributes({
234
- imageCrop: !imageCrop
235
- });
236
- }
237
- function getImageCropHelp(checked) {
238
- return checked ? (0, _i18n.__)('Thumbnails are cropped to align.') : (0, _i18n.__)('Thumbnails are not cropped.');
239
- }
240
- function setImageAttributes(index, newAttributes) {
241
- if (!images[index]) {
242
- return;
243
- }
244
- setAttributes({
245
- images: [...images.slice(0, index), {
246
- ...images[index],
247
- ...newAttributes
248
- }, ...images.slice(index + 1)]
249
- });
250
- }
251
- function getImagesSizeOptions() {
252
- const resizedImageSizes = Object.values(resizedImages);
253
- return imageSizes.filter(({
254
- slug
255
- }) => resizedImageSizes.some(sizes => sizes[slug])).map(({
256
- name,
257
- slug
258
- }) => ({
259
- value: slug,
260
- label: name
261
- }));
262
- }
263
- function updateImagesSize(newSizeSlug) {
264
- const updatedImages = (images !== null && images !== void 0 ? images : []).map(image => {
265
- if (!image.id) {
266
- return image;
267
- }
268
- const url = resizedImages[parseInt(image.id, 10)]?.[newSizeSlug];
269
- return {
270
- ...image,
271
- ...(url && {
272
- url
273
- })
274
- };
275
- });
276
- setAttributes({
277
- images: updatedImages,
278
- sizeSlug: newSizeSlug
279
- });
280
- }
281
- (0, _element.useEffect)(() => {
282
- if (_element.Platform.OS === 'web' && images && images.length > 0 && images.every(({
283
- url
284
- }) => (0, _blob.isBlobURL)(url))) {
285
- const filesList = images.map(({
286
- url
287
- }) => (0, _blob.getBlobByURL)(url));
288
- images.forEach(({
289
- url
290
- }) => (0, _blob.revokeBlobURL)(url));
291
- mediaUpload({
292
- filesList,
293
- onFileChange: onSelectImages,
294
- allowedTypes: ['image']
295
- });
296
- }
297
- }, []);
298
- (0, _element.useEffect)(() => {
299
- // Deselect images when deselecting the block.
300
- if (!isSelected) {
301
- setSelectedImage();
302
- }
303
- }, [isSelected]);
304
- (0, _element.useEffect)(() => {
305
- // linkTo attribute must be saved so blocks don't break when changing
306
- // image_default_link_type in options.php.
307
- if (!linkTo) {
308
- __unstableMarkNextChangeAsNotPersistent();
309
- setAttributes({
310
- linkTo: window?.wp?.media?.view?.settings?.defaultProps?.link || _constants.LINK_DESTINATION_NONE
311
- });
312
- }
313
- }, [linkTo]);
314
- const hasImages = !!images.length;
315
- const hasImageIds = hasImages && images.some(image => !!image.id);
316
- const mediaPlaceholder = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaPlaceholder, {
317
- addToGallery: hasImageIds,
318
- isAppender: hasImages,
319
- disableMediaButtons: hasImages && !isSelected,
320
- icon: !hasImages && _sharedIcon.sharedIcon,
321
- labels: {
322
- title: !hasImages && (0, _i18n.__)('Gallery'),
323
- instructions: !hasImages && PLACEHOLDER_TEXT
324
- },
325
- onSelect: onSelectImages,
326
- accept: "image/*",
327
- allowedTypes: ALLOWED_MEDIA_TYPES,
328
- multiple: true,
329
- value: hasImageIds ? images : {},
330
- onError: onUploadError,
331
- notices: hasImages ? undefined : noticeUI,
332
- onFocus: onFocus,
333
- autoOpenMediaUpload: !hasImages && isSelected && wasBlockJustInserted
334
- });
335
- const blockProps = (0, _blockEditor.useBlockProps)();
336
- if (!hasImages) {
337
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.View, {
338
- ...blockProps,
339
- children: mediaPlaceholder
340
- });
341
- }
342
- const imageSizeOptions = getImagesSizeOptions();
343
- const shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;
344
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
345
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
346
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
347
- title: (0, _i18n.__)('Settings'),
348
- children: [images.length > 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
349
- __nextHasNoMarginBottom: true,
350
- label: (0, _i18n.__)('Columns'),
351
- value: columns,
352
- onChange: setColumnsNumber,
353
- min: 1,
354
- max: Math.min(MAX_COLUMNS, images.length),
355
- ...MOBILE_CONTROL_PROPS_RANGE_CONTROL,
356
- required: true
357
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
358
- __nextHasNoMarginBottom: true,
359
- label: (0, _i18n.__)('Crop images'),
360
- checked: !!imageCrop,
361
- onChange: toggleImageCrop,
362
- help: getImageCropHelp
363
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
364
- __nextHasNoMarginBottom: true,
365
- label: (0, _i18n.__)('Link to'),
366
- value: linkTo,
367
- onChange: setLinkTo,
368
- options: linkOptions,
369
- hideCancelButton: true
370
- }), shouldShowSizeOptions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
371
- __nextHasNoMarginBottom: true,
372
- label: (0, _i18n.__)('Image size'),
373
- value: sizeSlug,
374
- options: imageSizeOptions,
375
- onChange: updateImagesSize,
376
- hideCancelButton: true
377
- })]
378
- })
379
- }), noticeUI, /*#__PURE__*/(0, _jsxRuntime.jsx)(_gallery.default, {
380
- ...props,
381
- selectedImage: selectedImage,
382
- mediaPlaceholder: mediaPlaceholder,
383
- onMoveBackward: onMoveBackward,
384
- onMoveForward: onMoveForward,
385
- onRemoveImage: onRemoveImage,
386
- onSelectImage: onSelectImage,
387
- onDeselectImage: onDeselectImage,
388
- onSetImageAttributes: setImageAttributes,
389
- blockProps: blockProps
390
- // This prop is used by gallery.native.js.
391
- ,
392
- onFocusGalleryCaption: onFocusGalleryCaption
393
- })]
394
- });
395
- }
396
- var _default = exports.default = (0, _compose.compose)([_components.withNotices, (0, _viewport.withViewportMatch)({
397
- isNarrow: '< small'
398
- })])(GalleryEdit);
399
- //# sourceMappingURL=edit.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_compose","require","_components","_blockEditor","_element","_i18n","_blob","_data","_viewport","_primitives","_coreData","_sharedIcon","_shared","_deprecated","_gallery","_interopRequireDefault","_constants","_jsxRuntime","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","defaultColumnsNumberV1","imageCrop","images","linkTo","sizeSlug","selectedImage","setSelectedImage","useState","attachmentCaptions","setAttachmentCaptions","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","imageSizes","mediaUpload","getMedia","wasBlockJustInserted","useSelect","settings","getSettings","coreStore","resizedImages","useMemo","_attributes$ids","ids","reduce","currentResizedImages","id","image","sizes","currentSizes","size","defaultUrl","slug","url","mediaDetailsUrl","media_details","source_url","parseInt","onFocusGalleryCaption","setAttributes","newAttrs","Error","map","onSelectImage","index","onDeselectImage","onMove","oldIndex","newIndex","newImages","splice","onMoveForward","length","onMoveBackward","onRemoveImage","filter","img","i","Math","min","selectCaption","newImage","newImageId","toString","currentImage","find","currentImageCaption","caption","attachment","onSelectImages","pickRelevantMediaFiles","onUploadError","message","removeAllNotices","createErrorNotice","setLinkTo","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","setImageAttributes","newAttributes","slice","getImagesSizeOptions","resizedImageSizes","Object","values","some","name","updateImagesSize","newSizeSlug","updatedImages","useEffect","OS","every","isBlobURL","filesList","getBlobByURL","forEach","revokeBlobURL","onFileChange","allowedTypes","window","wp","media","view","defaultProps","link","hasImages","hasImageIds","mediaPlaceholder","jsx","MediaPlaceholder","addToGallery","isAppender","disableMediaButtons","icon","sharedIcon","labels","title","instructions","onSelect","accept","multiple","onError","notices","undefined","autoOpenMediaUpload","blockProps","useBlockProps","View","children","imageSizeOptions","shouldShowSizeOptions","jsxs","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","onChange","max","required","ToggleControl","help","SelectControl","options","hideCancelButton","default","onSetImageAttributes","_default","exports","compose","withNotices","withViewportMatch","isNarrow"],"sources":["@wordpress/block-library/src/gallery/v1/edit.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n} from '@wordpress/components';\nimport {\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from '../shared-icon';\nimport { pickRelevantMediaFiles } from './shared';\nimport { defaultColumnsNumberV1 } from '../deprecated';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{ value: LINK_DESTINATION_NONE, label: __( 'None' ) },\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.select( {\n\tweb: __(\n\t\t'Drag images, upload new ones or select files from your library.'\n\t),\n\tnative: __( 'ADD MEDIA' ),\n} );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.select( {\n\tweb: {},\n\tnative: { type: 'stepper' },\n} );\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tclientId,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tnoticeOperations,\n\t\tonFocus,\n\t} = props;\n\tconst {\n\t\tcolumns = defaultColumnsNumberV1( attributes ),\n\t\timageCrop,\n\t\timages,\n\t\tlinkTo,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst [ selectedImage, setSelectedImage ] = useState();\n\tconst [ attachmentCaptions, setAttachmentCaptions ] = useState();\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { imageSizes, mediaUpload, getMedia, wasBlockJustInserted } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tmediaUpload: settings.mediaUpload,\n\t\t\t\tgetMedia: select( coreStore ).getMedia,\n\t\t\t\twasBlockJustInserted: select(\n\t\t\t\t\tblockEditorStore\n\t\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t\t};\n\t\t} );\n\n\tconst resizedImages = useMemo( () => {\n\t\tif ( isSelected ) {\n\t\t\treturn ( attributes.ids ?? [] ).reduce(\n\t\t\t\t( currentResizedImages, id ) => {\n\t\t\t\t\tif ( ! id ) {\n\t\t\t\t\t\treturn currentResizedImages;\n\t\t\t\t\t}\n\t\t\t\t\tconst image = getMedia( id );\n\t\t\t\t\tconst sizes = imageSizes.reduce( ( currentSizes, size ) => {\n\t\t\t\t\t\tconst defaultUrl = image?.sizes?.[ size.slug ]?.url;\n\t\t\t\t\t\tconst mediaDetailsUrl =\n\t\t\t\t\t\t\timage?.media_details?.sizes?.[ size.slug ]\n\t\t\t\t\t\t\t\t?.source_url;\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...currentSizes,\n\t\t\t\t\t\t\t[ size.slug ]: defaultUrl || mediaDetailsUrl,\n\t\t\t\t\t\t};\n\t\t\t\t\t}, {} );\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...currentResizedImages,\n\t\t\t\t\t\t[ parseInt( id, 10 ) ]: sizes,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t\t{}\n\t\t\t);\n\t\t}\n\t\treturn {};\n\t}, [ isSelected, attributes.ids, imageSizes ] );\n\n\tfunction onFocusGalleryCaption() {\n\t\tsetSelectedImage();\n\t}\n\n\tfunction setAttributes( newAttrs ) {\n\t\tif ( newAttrs.ids ) {\n\t\t\tthrow new Error(\n\t\t\t\t'The \"ids\" attribute should not be changed directly. It is managed automatically when \"images\" attribute changes'\n\t\t\t);\n\t\t}\n\n\t\tif ( newAttrs.images ) {\n\t\t\tnewAttrs = {\n\t\t\t\t...newAttrs,\n\t\t\t\t// Unlike images[ n ].id which is a string, always ensure the\n\t\t\t\t// ids array contains numbers as per its attribute type.\n\t\t\t\tids: newAttrs.images.map( ( { id } ) => parseInt( id, 10 ) ),\n\t\t\t};\n\t\t}\n\n\t\tprops.setAttributes( newAttrs );\n\t}\n\n\tfunction onSelectImage( index ) {\n\t\treturn () => {\n\t\t\tsetSelectedImage( index );\n\t\t};\n\t}\n\n\tfunction onDeselectImage() {\n\t\treturn () => {\n\t\t\tsetSelectedImage();\n\t\t};\n\t}\n\n\tfunction onMove( oldIndex, newIndex ) {\n\t\tconst newImages = [ ...images ];\n\t\tnewImages.splice( newIndex, 1, images[ oldIndex ] );\n\t\tnewImages.splice( oldIndex, 1, images[ newIndex ] );\n\t\tsetSelectedImage( newIndex );\n\t\tsetAttributes( { images: newImages } );\n\t}\n\n\tfunction onMoveForward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === images.length - 1 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex + 1 );\n\t\t};\n\t}\n\n\tfunction onMoveBackward( oldIndex ) {\n\t\treturn () => {\n\t\t\tif ( oldIndex === 0 ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tonMove( oldIndex, oldIndex - 1 );\n\t\t};\n\t}\n\n\tfunction onRemoveImage( index ) {\n\t\treturn () => {\n\t\t\tconst newImages = images.filter( ( img, i ) => index !== i );\n\t\t\tsetSelectedImage();\n\t\t\tsetAttributes( {\n\t\t\t\timages: newImages,\n\t\t\t\tcolumns: attributes.columns\n\t\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t\t: attributes.columns,\n\t\t\t} );\n\t\t};\n\t}\n\n\tfunction selectCaption( newImage ) {\n\t\t// The image id in both the images and attachmentCaptions arrays is a\n\t\t// string, so ensure comparison works correctly by converting the\n\t\t// newImage.id to a string.\n\t\tconst newImageId = newImage.id.toString();\n\t\tconst currentImage = images.find( ( { id } ) => id === newImageId );\n\t\tconst currentImageCaption = currentImage\n\t\t\t? currentImage.caption\n\t\t\t: newImage.caption;\n\n\t\tif ( ! attachmentCaptions ) {\n\t\t\treturn currentImageCaption;\n\t\t}\n\n\t\tconst attachment = attachmentCaptions.find(\n\t\t\t( { id } ) => id === newImageId\n\t\t);\n\n\t\t// If the attachment caption is updated.\n\t\tif ( attachment && attachment.caption !== newImage.caption ) {\n\t\t\treturn newImage.caption;\n\t\t}\n\n\t\treturn currentImageCaption;\n\t}\n\n\tfunction onSelectImages( newImages ) {\n\t\tsetAttachmentCaptions(\n\t\t\tnewImages.map( ( newImage ) => ( {\n\t\t\t\t// Store the attachmentCaption id as a string for consistency\n\t\t\t\t// with the type of the id in the images attribute.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t\tcaption: newImage.caption,\n\t\t\t} ) )\n\t\t);\n\t\tsetAttributes( {\n\t\t\timages: newImages.map( ( newImage ) => ( {\n\t\t\t\t...pickRelevantMediaFiles( newImage, sizeSlug ),\n\t\t\t\tcaption: selectCaption( newImage, images, attachmentCaptions ),\n\t\t\t\t// The id value is stored in a data attribute, so when the\n\t\t\t\t// block is parsed it's converted to a string. Converting\n\t\t\t\t// to a string here ensures it's type is consistent.\n\t\t\t\tid: newImage.id.toString(),\n\t\t\t} ) ),\n\t\t\tcolumns: attributes.columns\n\t\t\t\t? Math.min( newImages.length, attributes.columns )\n\t\t\t\t: attributes.columns,\n\t\t} );\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction setImageAttributes( index, newAttributes ) {\n\t\tif ( ! images[ index ] ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\timages: [\n\t\t\t\t...images.slice( 0, index ),\n\t\t\t\t{\n\t\t\t\t\t...images[ index ],\n\t\t\t\t\t...newAttributes,\n\t\t\t\t},\n\t\t\t\t...images.slice( index + 1 ),\n\t\t\t],\n\t\t} );\n\t}\n\n\tfunction getImagesSizeOptions() {\n\t\tconst resizedImageSizes = Object.values( resizedImages );\n\t\treturn imageSizes\n\t\t\t.filter( ( { slug } ) =>\n\t\t\t\tresizedImageSizes.some( ( sizes ) => sizes[ slug ] )\n\t\t\t)\n\t\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tconst updatedImages = ( images ?? [] ).map( ( image ) => {\n\t\t\tif ( ! image.id ) {\n\t\t\t\treturn image;\n\t\t\t}\n\t\t\tconst url =\n\t\t\t\tresizedImages[ parseInt( image.id, 10 ) ]?.[ newSizeSlug ];\n\t\t\treturn {\n\t\t\t\t...image,\n\t\t\t\t...( url && { url } ),\n\t\t\t};\n\t\t} );\n\n\t\tsetAttributes( { images: updatedImages, sizeSlug: newSizeSlug } );\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tPlatform.OS === 'web' &&\n\t\t\timages &&\n\t\t\timages.length > 0 &&\n\t\t\timages.every( ( { url } ) => isBlobURL( url ) )\n\t\t) {\n\t\t\tconst filesList = images.map( ( { url } ) => getBlobByURL( url ) );\n\t\t\timages.forEach( ( { url } ) => revokeBlobURL( url ) );\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList,\n\t\t\t\tonFileChange: onSelectImages,\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Deselect images when deselecting the block.\n\t\tif ( ! isSelected ) {\n\t\t\tsetSelectedImage();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing\n\t\t// image_default_link_type in options.php.\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={ hasImages && ! isSelected }\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ onSelectImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t\tonFocus={ onFocus }\n\t\t\tautoOpenMediaUpload={\n\t\t\t\t! hasImages && isSelected && wasBlockJustInserted\n\t\t\t}\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst imageSizeOptions = getImagesSizeOptions();\n\tconst shouldShowSizeOptions = hasImages && imageSizeOptions.length > 0;\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t/>\n\t\t\t\t\t{ shouldShowSizeOptions && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\tselectedImage={ selectedImage }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tonMoveBackward={ onMoveBackward }\n\t\t\t\tonMoveForward={ onMoveForward }\n\t\t\t\tonRemoveImage={ onRemoveImage }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonDeselectImage={ onDeselectImage }\n\t\t\t\tonSetImageAttributes={ setImageAttributes }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\t// This prop is used by gallery.native.js.\n\t\t\t\tonFocusGalleryCaption={ onFocusGalleryCaption }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"],"mappings":"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","ignoreList":[]}
@@ -1,55 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.Button = Button;
8
- exports.default = void 0;
9
- var _reactNative = require("react-native");
10
- var _components = require("@wordpress/components");
11
- var _galleryImageStyle = _interopRequireDefault(require("./gallery-image-style.scss"));
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- /**
14
- * External dependencies
15
- */
16
-
17
- /**
18
- * WordPress dependencies
19
- */
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
-
25
- function Button(props) {
26
- const {
27
- icon,
28
- iconSize = 24,
29
- onClick,
30
- disabled,
31
- 'aria-disabled': ariaDisabled,
32
- accessibilityLabel = 'button',
33
- style: customStyle
34
- } = props;
35
- const buttonStyle = _reactNative.StyleSheet.compose(_galleryImageStyle.default.buttonActive, customStyle);
36
- const isDisabled = disabled || ariaDisabled;
37
- const {
38
- fill
39
- } = isDisabled ? _galleryImageStyle.default.buttonDisabled : _galleryImageStyle.default.button;
40
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
41
- style: buttonStyle,
42
- activeOpacity: 0.7,
43
- accessibilityLabel: accessibilityLabel,
44
- accessibilityRole: "button",
45
- onPress: onClick,
46
- disabled: isDisabled,
47
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
48
- icon: icon,
49
- fill: fill,
50
- size: iconSize
51
- })
52
- });
53
- }
54
- var _default = exports.default = Button;
55
- //# sourceMappingURL=gallery-button.native.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_reactNative","require","_components","_galleryImageStyle","_interopRequireDefault","_jsxRuntime","Button","props","icon","iconSize","onClick","disabled","ariaDisabled","accessibilityLabel","style","customStyle","buttonStyle","StyleSheet","compose","buttonActive","isDisabled","fill","buttonDisabled","button","jsx","TouchableOpacity","activeOpacity","accessibilityRole","onPress","children","Icon","size","_default","exports","default"],"sources":["@wordpress/block-library/src/gallery/v1/gallery-button.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { StyleSheet, TouchableOpacity } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Icon } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport style from './gallery-image-style.scss';\n\nexport function Button( props ) {\n\tconst {\n\t\ticon,\n\t\ticonSize = 24,\n\t\tonClick,\n\t\tdisabled,\n\t\t'aria-disabled': ariaDisabled,\n\t\taccessibilityLabel = 'button',\n\t\tstyle: customStyle,\n\t} = props;\n\n\tconst buttonStyle = StyleSheet.compose( style.buttonActive, customStyle );\n\n\tconst isDisabled = disabled || ariaDisabled;\n\n\tconst { fill } = isDisabled ? style.buttonDisabled : style.button;\n\n\treturn (\n\t\t<TouchableOpacity\n\t\t\tstyle={ buttonStyle }\n\t\t\tactiveOpacity={ 0.7 }\n\t\t\taccessibilityLabel={ accessibilityLabel }\n\t\t\taccessibilityRole=\"button\"\n\t\t\tonPress={ onClick }\n\t\t\tdisabled={ isDisabled }\n\t\t>\n\t\t\t<Icon icon={ icon } fill={ fill } size={ iconSize } />\n\t\t</TouchableOpacity>\n\t);\n}\n\nexport default Button;\n"],"mappings":";;;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,kBAAA,GAAAC,sBAAA,CAAAH,OAAA;AAA+C,IAAAI,WAAA,GAAAJ,OAAA;AAb/C;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;;AAGO,SAASK,MAAMA,CAAEC,KAAK,EAAG;EAC/B,MAAM;IACLC,IAAI;IACJC,QAAQ,GAAG,EAAE;IACbC,OAAO;IACPC,QAAQ;IACR,eAAe,EAAEC,YAAY;IAC7BC,kBAAkB,GAAG,QAAQ;IAC7BC,KAAK,EAAEC;EACR,CAAC,GAAGR,KAAK;EAET,MAAMS,WAAW,GAAGC,uBAAU,CAACC,OAAO,CAAEJ,0BAAK,CAACK,YAAY,EAAEJ,WAAY,CAAC;EAEzE,MAAMK,UAAU,GAAGT,QAAQ,IAAIC,YAAY;EAE3C,MAAM;IAAES;EAAK,CAAC,GAAGD,UAAU,GAAGN,0BAAK,CAACQ,cAAc,GAAGR,0BAAK,CAACS,MAAM;EAEjE,oBACC,IAAAlB,WAAA,CAAAmB,GAAA,EAACxB,YAAA,CAAAyB,gBAAgB;IAChBX,KAAK,EAAGE,WAAa;IACrBU,aAAa,EAAG,GAAK;IACrBb,kBAAkB,EAAGA,kBAAoB;IACzCc,iBAAiB,EAAC,QAAQ;IAC1BC,OAAO,EAAGlB,OAAS;IACnBC,QAAQ,EAAGS,UAAY;IAAAS,QAAA,eAEvB,IAAAxB,WAAA,CAAAmB,GAAA,EAACtB,WAAA,CAAA4B,IAAI;MAACtB,IAAI,EAAGA,IAAM;MAACa,IAAI,EAAGA,IAAM;MAACU,IAAI,EAAGtB;IAAU,CAAE;EAAC,CACrC,CAAC;AAErB;AAAC,IAAAuB,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc5B,MAAM","ignoreList":[]}