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