@wordpress/block-library 7.11.0 → 7.12.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 (261) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/archives/edit.js +7 -0
  3. package/build/archives/edit.js.map +1 -1
  4. package/build/archives/index.js +4 -0
  5. package/build/archives/index.js.map +1 -1
  6. package/build/block/edit.js +4 -2
  7. package/build/block/edit.js.map +1 -1
  8. package/build/block/edit.native.js +4 -2
  9. package/build/block/edit.native.js.map +1 -1
  10. package/build/calendar/edit.js +12 -5
  11. package/build/calendar/edit.js.map +1 -1
  12. package/build/columns/edit.native.js +2 -1
  13. package/build/columns/edit.native.js.map +1 -1
  14. package/build/cover/edit/resizable-cover.js +6 -0
  15. package/build/cover/edit/resizable-cover.js.map +1 -1
  16. package/build/group/transforms.js +5 -0
  17. package/build/group/transforms.js.map +1 -1
  18. package/build/index.native.js +17 -4
  19. package/build/index.native.js.map +1 -1
  20. package/build/list/index.js +6 -0
  21. package/build/list/index.js.map +1 -1
  22. package/build/list/v2/edit.js +16 -5
  23. package/build/list/v2/edit.js.map +1 -1
  24. package/build/list/v2/tag-name.js +31 -0
  25. package/build/list/v2/tag-name.js.map +1 -0
  26. package/build/list/v2/tag-name.native.js +32 -0
  27. package/build/list/v2/tag-name.native.js.map +1 -0
  28. package/build/list/v2/transforms.js +1 -11
  29. package/build/list/v2/transforms.js.map +1 -1
  30. package/build/list-item/edit.js +1 -0
  31. package/build/list-item/edit.js.map +1 -1
  32. package/build/list-item/edit.native.js +158 -0
  33. package/build/list-item/edit.native.js.map +1 -0
  34. package/build/list-item/icons.native.js +53 -0
  35. package/build/list-item/icons.native.js.map +1 -0
  36. package/build/list-item/list-style-type.native.js +136 -0
  37. package/build/list-item/list-style-type.native.js.map +1 -0
  38. package/build/media-text/deprecated.js +188 -66
  39. package/build/media-text/deprecated.js.map +1 -1
  40. package/build/media-text/edit.js +2 -1
  41. package/build/media-text/edit.js.map +1 -1
  42. package/build/media-text/media-container.js +1 -1
  43. package/build/media-text/media-container.js.map +1 -1
  44. package/build/navigation/edit/index.js +68 -123
  45. package/build/navigation/edit/index.js.map +1 -1
  46. package/build/navigation/edit/navigation-menu-selector.js +11 -14
  47. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  48. package/build/navigation/edit/placeholder/index.js +4 -2
  49. package/build/navigation/edit/placeholder/index.js.map +1 -1
  50. package/build/navigation/edit/responsive-wrapper.js +13 -3
  51. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  52. package/build/navigation/edit/use-create-navigation-menu.js +5 -1
  53. package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
  54. package/build/navigation/edit/use-inner-blocks.js +43 -0
  55. package/build/navigation/edit/use-inner-blocks.js.map +1 -0
  56. package/build/navigation/edit/utils.js +28 -0
  57. package/build/navigation/edit/utils.js.map +1 -0
  58. package/build/navigation/use-navigation-menu.js +7 -3
  59. package/build/navigation/use-navigation-menu.js.map +1 -1
  60. package/build/post-author/edit.js +5 -2
  61. package/build/post-author/edit.js.map +1 -1
  62. package/build/post-author-biography/edit.js +7 -1
  63. package/build/post-author-biography/edit.js.map +1 -1
  64. package/build/post-content/edit.js +4 -2
  65. package/build/post-content/edit.js.map +1 -1
  66. package/build/post-featured-image/edit.js +16 -2
  67. package/build/post-featured-image/edit.js.map +1 -1
  68. package/build/post-featured-image/index.js +9 -0
  69. package/build/post-featured-image/index.js.map +1 -1
  70. package/build/query/edit/inspector-controls/index.js +42 -9
  71. package/build/query/edit/inspector-controls/index.js.map +1 -1
  72. package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
  73. package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  74. package/build/query-title/edit.js +20 -7
  75. package/build/query-title/edit.js.map +1 -1
  76. package/build/query-title/index.js +4 -0
  77. package/build/query-title/index.js.map +1 -1
  78. package/build/query-title/variations.js +10 -0
  79. package/build/query-title/variations.js.map +1 -1
  80. package/build/quote/transforms.js +2 -2
  81. package/build/quote/transforms.js.map +1 -1
  82. package/build/separator/edit.js +1 -1
  83. package/build/separator/edit.js.map +1 -1
  84. package/build/social-links/edit.js +1 -0
  85. package/build/social-links/edit.js.map +1 -1
  86. package/build/template-part/edit/index.js +4 -2
  87. package/build/template-part/edit/index.js.map +1 -1
  88. package/build-module/archives/edit.js +7 -0
  89. package/build-module/archives/edit.js.map +1 -1
  90. package/build-module/archives/index.js +4 -0
  91. package/build-module/archives/index.js.map +1 -1
  92. package/build-module/block/edit.js +5 -3
  93. package/build-module/block/edit.js.map +1 -1
  94. package/build-module/block/edit.native.js +5 -3
  95. package/build-module/block/edit.native.js.map +1 -1
  96. package/build-module/calendar/edit.js +12 -4
  97. package/build-module/calendar/edit.js.map +1 -1
  98. package/build-module/columns/edit.native.js +3 -2
  99. package/build-module/columns/edit.native.js.map +1 -1
  100. package/build-module/cover/edit/resizable-cover.js +6 -0
  101. package/build-module/cover/edit/resizable-cover.js.map +1 -1
  102. package/build-module/group/transforms.js +5 -0
  103. package/build-module/group/transforms.js.map +1 -1
  104. package/build-module/index.native.js +16 -4
  105. package/build-module/index.native.js.map +1 -1
  106. package/build-module/list/index.js +1 -1
  107. package/build-module/list/index.js.map +1 -1
  108. package/build-module/list/v2/edit.js +15 -5
  109. package/build-module/list/v2/edit.js.map +1 -1
  110. package/build-module/list/v2/tag-name.js +21 -0
  111. package/build-module/list/v2/tag-name.js.map +1 -0
  112. package/build-module/list/v2/tag-name.native.js +21 -0
  113. package/build-module/list/v2/tag-name.native.js.map +1 -0
  114. package/build-module/list/v2/transforms.js +1 -10
  115. package/build-module/list/v2/transforms.js.map +1 -1
  116. package/build-module/list-item/edit.js +1 -3
  117. package/build-module/list-item/edit.js.map +1 -1
  118. package/build-module/list-item/edit.native.js +141 -0
  119. package/build-module/list-item/edit.native.js.map +1 -0
  120. package/build-module/list-item/icons.native.js +37 -0
  121. package/build-module/list-item/icons.native.js.map +1 -0
  122. package/build-module/list-item/list-style-type.native.js +124 -0
  123. package/build-module/list-item/list-style-type.native.js.map +1 -0
  124. package/build-module/media-text/deprecated.js +189 -65
  125. package/build-module/media-text/deprecated.js.map +1 -1
  126. package/build-module/media-text/edit.js +2 -1
  127. package/build-module/media-text/edit.js.map +1 -1
  128. package/build-module/media-text/media-container.js +1 -1
  129. package/build-module/media-text/media-container.js.map +1 -1
  130. package/build-module/navigation/edit/index.js +66 -122
  131. package/build-module/navigation/edit/index.js.map +1 -1
  132. package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
  133. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  134. package/build-module/navigation/edit/placeholder/index.js +4 -2
  135. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  136. package/build-module/navigation/edit/responsive-wrapper.js +12 -3
  137. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  138. package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
  139. package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
  140. package/build-module/navigation/edit/use-inner-blocks.js +33 -0
  141. package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
  142. package/build-module/navigation/edit/utils.js +21 -0
  143. package/build-module/navigation/edit/utils.js.map +1 -0
  144. package/build-module/navigation/use-navigation-menu.js +7 -3
  145. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  146. package/build-module/post-author/edit.js +5 -2
  147. package/build-module/post-author/edit.js.map +1 -1
  148. package/build-module/post-author-biography/edit.js +6 -1
  149. package/build-module/post-author-biography/edit.js.map +1 -1
  150. package/build-module/post-content/edit.js +5 -3
  151. package/build-module/post-content/edit.js.map +1 -1
  152. package/build-module/post-featured-image/edit.js +17 -3
  153. package/build-module/post-featured-image/edit.js.map +1 -1
  154. package/build-module/post-featured-image/index.js +9 -0
  155. package/build-module/post-featured-image/index.js.map +1 -1
  156. package/build-module/query/edit/inspector-controls/index.js +42 -9
  157. package/build-module/query/edit/inspector-controls/index.js.map +1 -1
  158. package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
  159. package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
  160. package/build-module/query-title/edit.js +20 -8
  161. package/build-module/query-title/edit.js.map +1 -1
  162. package/build-module/query-title/index.js +4 -0
  163. package/build-module/query-title/index.js.map +1 -1
  164. package/build-module/query-title/variations.js +10 -0
  165. package/build-module/query-title/variations.js.map +1 -1
  166. package/build-module/quote/transforms.js +3 -3
  167. package/build-module/quote/transforms.js.map +1 -1
  168. package/build-module/separator/edit.js +1 -1
  169. package/build-module/separator/edit.js.map +1 -1
  170. package/build-module/social-links/edit.js +1 -0
  171. package/build-module/social-links/edit.js.map +1 -1
  172. package/build-module/template-part/edit/index.js +5 -3
  173. package/build-module/template-part/edit/index.js.map +1 -1
  174. package/build-style/editor-rtl.css +10 -0
  175. package/build-style/editor.css +10 -0
  176. package/build-style/latest-posts/editor-rtl.css +3 -0
  177. package/build-style/latest-posts/editor.css +3 -0
  178. package/build-style/navigation/style-rtl.css +17 -19
  179. package/build-style/navigation/style.css +17 -19
  180. package/build-style/query/editor-rtl.css +7 -0
  181. package/build-style/query/editor.css +7 -0
  182. package/build-style/query-pagination/style-rtl.css +6 -0
  183. package/build-style/query-pagination/style.css +6 -0
  184. package/build-style/search/style-rtl.css +2 -0
  185. package/build-style/search/style.css +2 -0
  186. package/build-style/style-rtl.css +26 -19
  187. package/build-style/style.css +26 -19
  188. package/build-style/tag-cloud/style-rtl.css +1 -0
  189. package/build-style/tag-cloud/style.css +1 -0
  190. package/package.json +28 -29
  191. package/src/archives/block.json +4 -0
  192. package/src/archives/edit.js +12 -1
  193. package/src/archives/index.php +5 -3
  194. package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
  195. package/src/block/edit.js +4 -4
  196. package/src/block/edit.native.js +4 -4
  197. package/src/calendar/edit.js +11 -4
  198. package/src/columns/edit.native.js +4 -2
  199. package/src/cover/edit/resizable-cover.js +6 -0
  200. package/src/cover/index.php +2 -2
  201. package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
  202. package/src/group/transforms.js +7 -0
  203. package/src/home-link/index.php +8 -17
  204. package/src/image/test/edit.native.js +6 -10
  205. package/src/index.native.js +15 -2
  206. package/src/latest-posts/editor.scss +5 -0
  207. package/src/list/index.js +1 -1
  208. package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
  209. package/src/list/test/edit.native.js +511 -7
  210. package/src/list/v2/edit.js +12 -4
  211. package/src/list/v2/tag-name.js +13 -0
  212. package/src/list/v2/tag-name.native.js +12 -0
  213. package/src/list/v2/transforms.js +1 -9
  214. package/src/list-item/edit.js +1 -1
  215. package/src/list-item/edit.native.js +148 -0
  216. package/src/list-item/icons.native.js +34 -0
  217. package/src/list-item/list-style-type.native.js +139 -0
  218. package/src/list-item/style.native.scss +45 -0
  219. package/src/media-text/deprecated.js +561 -415
  220. package/src/media-text/edit.js +1 -0
  221. package/src/media-text/media-container.js +3 -1
  222. package/src/media-text/test/media-container.js +24 -0
  223. package/src/navigation/edit/index.js +83 -164
  224. package/src/navigation/edit/navigation-menu-selector.js +12 -26
  225. package/src/navigation/edit/placeholder/index.js +4 -2
  226. package/src/navigation/edit/responsive-wrapper.js +24 -3
  227. package/src/navigation/edit/use-create-navigation-menu.js +4 -0
  228. package/src/navigation/edit/use-inner-blocks.js +39 -0
  229. package/src/navigation/edit/utils.js +30 -0
  230. package/src/navigation/index.php +6 -0
  231. package/src/navigation/style.scss +12 -22
  232. package/src/navigation/use-navigation-menu.js +9 -5
  233. package/src/navigation-link/index.php +1 -1
  234. package/src/navigation-submenu/index.php +1 -1
  235. package/src/page-list/index.php +4 -4
  236. package/src/post-author/edit.js +6 -3
  237. package/src/post-author-biography/edit.js +4 -1
  238. package/src/post-content/edit.js +4 -4
  239. package/src/post-featured-image/block.json +9 -0
  240. package/src/post-featured-image/edit.js +23 -1
  241. package/src/post-featured-image/index.php +3 -1
  242. package/src/post-title/index.php +2 -1
  243. package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
  244. package/src/query/edit/inspector-controls/index.js +129 -65
  245. package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
  246. package/src/query/editor.scss +9 -0
  247. package/src/query-pagination/style.scss +14 -0
  248. package/src/query-title/block.json +4 -0
  249. package/src/query-title/edit.js +33 -6
  250. package/src/query-title/index.php +17 -1
  251. package/src/query-title/variations.js +13 -0
  252. package/src/quote/transforms.js +3 -7
  253. package/src/search/style.scss +2 -0
  254. package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
  255. package/src/separator/edit.js +1 -1
  256. package/src/separator/test/edit.js +5 -3
  257. package/src/site-title/index.php +8 -9
  258. package/src/social-link/index.php +1 -1
  259. package/src/social-links/edit.js +1 -0
  260. package/src/tag-cloud/style.scss +1 -0
  261. package/src/template-part/edit/index.js +4 -4
@@ -14,8 +14,15 @@ import { InnerBlocks, getColorClassName, useInnerBlocksProps, useBlockProps } fr
14
14
  * Internal dependencies
15
15
  */
16
16
 
17
- import { imageFillStyles } from './media-container';
18
17
  import { DEFAULT_MEDIA_SIZE_SLUG } from './constants';
18
+
19
+ const v1ToV5ImageFillStyles = (url, focalPoint) => {
20
+ return url ? {
21
+ backgroundImage: `url(${url})`,
22
+ backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%`
23
+ } : {};
24
+ };
25
+
19
26
  const DEFAULT_MEDIA_WIDTH = 50;
20
27
 
21
28
  const noop = () => {};
@@ -40,9 +47,6 @@ const baseAttributes = {
40
47
  type: 'string',
41
48
  default: 'wide'
42
49
  },
43
- backgroundColor: {
44
- type: 'string'
45
- },
46
50
  mediaAlt: {
47
51
  type: 'string',
48
52
  source: 'attribute',
@@ -69,55 +73,68 @@ const baseAttributes = {
69
73
  default: true
70
74
  }
71
75
  };
72
- export default [// Version with CSS grid
73
- {
74
- attributes: { ...baseAttributes,
75
- mediaUrl: {
76
- type: 'string',
77
- source: 'attribute',
78
- selector: 'figure video,figure img',
79
- attribute: 'src'
80
- },
81
- mediaLink: {
82
- type: 'string'
83
- },
84
- linkDestination: {
85
- type: 'string'
86
- },
87
- linkTarget: {
88
- type: 'string',
89
- source: 'attribute',
90
- selector: 'figure a',
91
- attribute: 'target'
92
- },
93
- href: {
94
- type: 'string',
95
- source: 'attribute',
96
- selector: 'figure a',
97
- attribute: 'href'
98
- },
99
- rel: {
100
- type: 'string',
101
- source: 'attribute',
102
- selector: 'figure a',
103
- attribute: 'rel'
104
- },
105
- linkClass: {
106
- type: 'string',
107
- source: 'attribute',
108
- selector: 'figure a',
109
- attribute: 'class'
110
- },
111
- verticalAlignment: {
112
- type: 'string'
113
- },
114
- imageFill: {
115
- type: 'boolean'
116
- },
117
- focalPoint: {
118
- type: 'object'
119
- }
76
+ const v4ToV5BlockAttributes = { ...baseAttributes,
77
+ mediaUrl: {
78
+ type: 'string',
79
+ source: 'attribute',
80
+ selector: 'figure video,figure img',
81
+ attribute: 'src'
82
+ },
83
+ mediaLink: {
84
+ type: 'string'
85
+ },
86
+ linkDestination: {
87
+ type: 'string'
88
+ },
89
+ linkTarget: {
90
+ type: 'string',
91
+ source: 'attribute',
92
+ selector: 'figure a',
93
+ attribute: 'target'
94
+ },
95
+ href: {
96
+ type: 'string',
97
+ source: 'attribute',
98
+ selector: 'figure a',
99
+ attribute: 'href'
100
+ },
101
+ rel: {
102
+ type: 'string',
103
+ source: 'attribute',
104
+ selector: 'figure a',
105
+ attribute: 'rel'
106
+ },
107
+ linkClass: {
108
+ type: 'string',
109
+ source: 'attribute',
110
+ selector: 'figure a',
111
+ attribute: 'class'
112
+ },
113
+ mediaSizeSlug: {
114
+ type: 'string'
115
+ },
116
+ verticalAlignment: {
117
+ type: 'string'
120
118
  },
119
+ imageFill: {
120
+ type: 'boolean'
121
+ },
122
+ focalPoint: {
123
+ type: 'object'
124
+ }
125
+ };
126
+ const v4ToV5Supports = {
127
+ anchor: true,
128
+ align: ['wide', 'full'],
129
+ html: false,
130
+ color: {
131
+ gradients: true,
132
+ link: true
133
+ }
134
+ };
135
+ const v5 = {
136
+ attributes: v4ToV5BlockAttributes,
137
+ supports: v4ToV5Supports,
121
138
 
122
139
  save(_ref) {
123
140
  let {
@@ -173,7 +190,7 @@ export default [// Version with CSS grid
173
190
  [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
174
191
  'is-image-fill': imageFill
175
192
  });
176
- const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
193
+ const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
177
194
  let gridTemplateColumns;
178
195
 
179
196
  if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
@@ -183,6 +200,19 @@ export default [// Version with CSS grid
183
200
  const style = {
184
201
  gridTemplateColumns
185
202
  };
203
+
204
+ if ('right' === mediaPosition) {
205
+ return createElement("div", useBlockProps.save({
206
+ className,
207
+ style
208
+ }), createElement("div", useInnerBlocksProps.save({
209
+ className: 'wp-block-media-text__content'
210
+ })), createElement("figure", {
211
+ className: "wp-block-media-text__media",
212
+ style: backgroundStyles
213
+ }, (mediaTypeRenders[mediaType] || noop)()));
214
+ }
215
+
186
216
  return createElement("div", useBlockProps.save({
187
217
  className,
188
218
  style
@@ -194,8 +224,93 @@ export default [// Version with CSS grid
194
224
  })));
195
225
  }
196
226
 
197
- }, {
227
+ }; // Version with CSS grid
228
+
229
+ const v4 = {
230
+ attributes: v4ToV5BlockAttributes,
231
+ supports: v4ToV5Supports,
232
+
233
+ save(_ref2) {
234
+ let {
235
+ attributes
236
+ } = _ref2;
237
+ const {
238
+ isStackedOnMobile,
239
+ mediaAlt,
240
+ mediaPosition,
241
+ mediaType,
242
+ mediaUrl,
243
+ mediaWidth,
244
+ mediaId,
245
+ verticalAlignment,
246
+ imageFill,
247
+ focalPoint,
248
+ linkClass,
249
+ href,
250
+ linkTarget,
251
+ rel
252
+ } = attributes;
253
+ const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
254
+ const newRel = isEmpty(rel) ? undefined : rel;
255
+ const imageClasses = classnames({
256
+ [`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
257
+ [`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
258
+ });
259
+ let image = createElement("img", {
260
+ src: mediaUrl,
261
+ alt: mediaAlt,
262
+ className: imageClasses || null
263
+ });
264
+
265
+ if (href) {
266
+ image = createElement("a", {
267
+ className: linkClass,
268
+ href: href,
269
+ target: linkTarget,
270
+ rel: newRel
271
+ }, image);
272
+ }
273
+
274
+ const mediaTypeRenders = {
275
+ image: () => image,
276
+ video: () => createElement("video", {
277
+ controls: true,
278
+ src: mediaUrl
279
+ })
280
+ };
281
+ const className = classnames({
282
+ 'has-media-on-the-right': 'right' === mediaPosition,
283
+ 'is-stacked-on-mobile': isStackedOnMobile,
284
+ [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
285
+ 'is-image-fill': imageFill
286
+ });
287
+ const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
288
+ let gridTemplateColumns;
289
+
290
+ if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
291
+ gridTemplateColumns = 'right' === mediaPosition ? `auto ${mediaWidth}%` : `${mediaWidth}% auto`;
292
+ }
293
+
294
+ const style = {
295
+ gridTemplateColumns
296
+ };
297
+ return createElement("div", useBlockProps.save({
298
+ className,
299
+ style
300
+ }), createElement("figure", {
301
+ className: "wp-block-media-text__media",
302
+ style: backgroundStyles
303
+ }, (mediaTypeRenders[mediaType] || noop)()), createElement("div", useInnerBlocksProps.save({
304
+ className: 'wp-block-media-text__content'
305
+ })));
306
+ }
307
+
308
+ };
309
+ const v3 = {
198
310
  attributes: { ...baseAttributes,
311
+ backgroundColor: {
312
+ type: 'string'
313
+ },
199
314
  customBackgroundColor: {
200
315
  type: 'string'
201
316
  },
@@ -241,10 +356,10 @@ export default [// Version with CSS grid
241
356
  },
242
357
  migrate: migrateCustomColors,
243
358
 
244
- save(_ref2) {
359
+ save(_ref3) {
245
360
  let {
246
361
  attributes
247
- } = _ref2;
362
+ } = _ref3;
248
363
  const {
249
364
  backgroundColor,
250
365
  customBackgroundColor,
@@ -295,7 +410,7 @@ export default [// Version with CSS grid
295
410
  [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
296
411
  'is-image-fill': imageFill
297
412
  });
298
- const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
413
+ const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
299
414
  let gridTemplateColumns;
300
415
 
301
416
  if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
@@ -317,8 +432,12 @@ export default [// Version with CSS grid
317
432
  }, createElement(InnerBlocks.Content, null)));
318
433
  }
319
434
 
320
- }, {
435
+ };
436
+ const v2 = {
321
437
  attributes: { ...baseAttributes,
438
+ backgroundColor: {
439
+ type: 'string'
440
+ },
322
441
  customBackgroundColor: {
323
442
  type: 'string'
324
443
  },
@@ -340,10 +459,10 @@ export default [// Version with CSS grid
340
459
  },
341
460
  migrate: migrateCustomColors,
342
461
 
343
- save(_ref3) {
462
+ save(_ref4) {
344
463
  let {
345
464
  attributes
346
- } = _ref3;
465
+ } = _ref4;
347
466
  const {
348
467
  backgroundColor,
349
468
  customBackgroundColor,
@@ -377,7 +496,7 @@ export default [// Version with CSS grid
377
496
  [`is-vertically-aligned-${verticalAlignment}`]: verticalAlignment,
378
497
  'is-image-fill': imageFill
379
498
  });
380
- const backgroundStyles = imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
499
+ const backgroundStyles = imageFill ? v1ToV5ImageFillStyles(mediaUrl, focalPoint) : {};
381
500
  let gridTemplateColumns;
382
501
 
383
502
  if (mediaWidth !== DEFAULT_MEDIA_WIDTH) {
@@ -399,8 +518,12 @@ export default [// Version with CSS grid
399
518
  }, createElement(InnerBlocks.Content, null)));
400
519
  }
401
520
 
402
- }, {
521
+ };
522
+ const v1 = {
403
523
  attributes: { ...baseAttributes,
524
+ backgroundColor: {
525
+ type: 'string'
526
+ },
404
527
  customBackgroundColor: {
405
528
  type: 'string'
406
529
  },
@@ -412,10 +535,10 @@ export default [// Version with CSS grid
412
535
  }
413
536
  },
414
537
 
415
- save(_ref4) {
538
+ save(_ref5) {
416
539
  let {
417
540
  attributes
418
- } = _ref4;
541
+ } = _ref5;
419
542
  const {
420
543
  backgroundColor,
421
544
  customBackgroundColor,
@@ -462,5 +585,6 @@ export default [// Version with CSS grid
462
585
  }, createElement(InnerBlocks.Content, null)));
463
586
  }
464
587
 
465
- }];
588
+ };
589
+ export default [v5, v4, v3, v2, v1];
466
590
  //# sourceMappingURL=deprecated.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["classnames","isEmpty","omit","InnerBlocks","getColorClassName","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","backgroundColor","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","verticalAlignment","imageFill","focalPoint","save","mediaSizeSlug","newRel","undefined","imageClasses","image","mediaTypeRenders","video","className","backgroundStyles","gridTemplateColumns","migrate","backgroundClass"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tbackgroundColor: {\n\t\ttype: 'string',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nexport default [\n\t// Version with CSS grid\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst mediaSizeSlug =\n\t\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tconst imageClasses = classnames( {\n\t\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t\t} );\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={ imageClasses || null }\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaLink: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkDestination: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tlinkTarget: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'target',\n\t\t\t},\n\t\t\thref: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'href',\n\t\t\t},\n\t\t\trel: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'rel',\n\t\t\t},\n\t\t\tlinkClass: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure a',\n\t\t\t\tattribute: 'class',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t\tlinkClass,\n\t\t\t\thref,\n\t\t\t\tlinkTarget,\n\t\t\t\trel,\n\t\t\t} = attributes;\n\t\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\t\tlet image = (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\n\t\t\tif ( href ) {\n\t\t\t\timage = (\n\t\t\t\t\t<a\n\t\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\t\thref={ href }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\trel={ newRel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => image,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t\tverticalAlignment: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\timageFill: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t\tfocalPoint: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t},\n\t\tmigrate: migrateCustomColors,\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t\tmediaId,\n\t\t\t\tverticalAlignment,\n\t\t\t\timageFill,\n\t\t\t\tfocalPoint,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => (\n\t\t\t\t\t<img\n\t\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t\t: null\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\t\tverticalAlignment,\n\t\t\t\t'is-image-fill': imageFill,\n\t\t\t} );\n\t\t\tconst backgroundStyles = imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\t...baseAttributes,\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tmediaUrl: {\n\t\t\t\ttype: 'string',\n\t\t\t\tsource: 'attribute',\n\t\t\t\tselector: 'figure video,figure img',\n\t\t\t\tattribute: 'src',\n\t\t\t},\n\t\t},\n\t\tsave( { attributes } ) {\n\t\t\tconst {\n\t\t\t\tbackgroundColor,\n\t\t\t\tcustomBackgroundColor,\n\t\t\t\tisStackedOnMobile,\n\t\t\t\tmediaAlt,\n\t\t\t\tmediaPosition,\n\t\t\t\tmediaType,\n\t\t\t\tmediaUrl,\n\t\t\t\tmediaWidth,\n\t\t\t} = attributes;\n\t\t\tconst mediaTypeRenders = {\n\t\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t\t};\n\t\t\tconst backgroundClass = getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor\n\t\t\t);\n\t\t\tconst className = classnames( {\n\t\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t} );\n\n\t\t\tlet gridTemplateColumns;\n\t\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\t\tgridTemplateColumns =\n\t\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t\t}\n\t\t\tconst style = {\n\t\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t\t? undefined\n\t\t\t\t\t: customBackgroundColor,\n\t\t\t\tgridTemplateColumns,\n\t\t\t};\n\t\t\treturn (\n\t\t\t\t<div className={ className } style={ style }>\n\t\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t);\n\t\t},\n\t},\n];\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/deprecated.js"],"names":["classnames","isEmpty","omit","InnerBlocks","getColorClassName","useInnerBlocksProps","useBlockProps","DEFAULT_MEDIA_SIZE_SLUG","v1ToV5ImageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","x","y","DEFAULT_MEDIA_WIDTH","noop","migrateCustomColors","attributes","customBackgroundColor","style","color","background","baseAttributes","align","type","default","mediaAlt","source","selector","attribute","mediaPosition","mediaId","mediaType","mediaWidth","isStackedOnMobile","v4ToV5BlockAttributes","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","mediaSizeSlug","verticalAlignment","imageFill","v4ToV5Supports","anchor","html","gradients","link","v5","supports","save","newRel","undefined","imageClasses","image","mediaTypeRenders","video","className","backgroundStyles","gridTemplateColumns","v4","v3","backgroundColor","migrate","backgroundClass","v2","v1"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { isEmpty, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst v1ToV5ImageFillStyles = ( url, focalPoint ) => {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ focalPoint.x * 100 }% ${ focalPoint.y * 100 }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n};\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nconst migrateCustomColors = ( attributes ) => {\n\tif ( ! attributes.customBackgroundColor ) {\n\t\treturn attributes;\n\t}\n\tconst style = {\n\t\tcolor: {\n\t\t\tbackground: attributes.customBackgroundColor,\n\t\t},\n\t};\n\treturn {\n\t\t...omit( attributes, [ 'customBackgroundColor' ] ),\n\t\tstyle,\n\t};\n};\n\nconst baseAttributes = {\n\talign: {\n\t\ttype: 'string',\n\t\tdefault: 'wide',\n\t},\n\tmediaAlt: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure img',\n\t\tattribute: 'alt',\n\t\tdefault: '',\n\t},\n\tmediaPosition: {\n\t\ttype: 'string',\n\t\tdefault: 'left',\n\t},\n\tmediaId: {\n\t\ttype: 'number',\n\t},\n\tmediaType: {\n\t\ttype: 'string',\n\t},\n\tmediaWidth: {\n\t\ttype: 'number',\n\t\tdefault: 50,\n\t},\n\tisStackedOnMobile: {\n\t\ttype: 'boolean',\n\t\tdefault: true,\n\t},\n};\n\nconst v4ToV5BlockAttributes = {\n\t...baseAttributes,\n\tmediaUrl: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure video,figure img',\n\t\tattribute: 'src',\n\t},\n\tmediaLink: {\n\t\ttype: 'string',\n\t},\n\tlinkDestination: {\n\t\ttype: 'string',\n\t},\n\tlinkTarget: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'target',\n\t},\n\thref: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'href',\n\t},\n\trel: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'rel',\n\t},\n\tlinkClass: {\n\t\ttype: 'string',\n\t\tsource: 'attribute',\n\t\tselector: 'figure a',\n\t\tattribute: 'class',\n\t},\n\tmediaSizeSlug: {\n\t\ttype: 'string',\n\t},\n\tverticalAlignment: {\n\t\ttype: 'string',\n\t},\n\timageFill: {\n\t\ttype: 'boolean',\n\t},\n\tfocalPoint: {\n\t\ttype: 'object',\n\t},\n};\n\nconst v4ToV5Supports = {\n\tanchor: true,\n\talign: [ 'wide', 'full' ],\n\thtml: false,\n\tcolor: {\n\t\tgradients: true,\n\t\tlink: true,\n\t},\n};\n\nconst v5 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\tconst imageClasses = classnames( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst className = classnames( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\tif ( 'right' === mediaPosition ) {\n\t\t\treturn (\n\t\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t\t<div\n\t\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<figure\n\t\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t\t</figure>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\n// Version with CSS grid\nconst v4 = {\n\tattributes: v4ToV5BlockAttributes,\n\tsupports: v4ToV5Supports,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst mediaSizeSlug =\n\t\t\tattributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\tconst imageClasses = classnames( {\n\t\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t\t} );\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={ imageClasses || null }\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\tconst className = classnames( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tgridTemplateColumns,\n\t\t};\n\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v3 = {\n\tattributes: {\n\t\t...baseAttributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaLink: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkDestination: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tlinkTarget: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'target',\n\t\t},\n\t\thref: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'href',\n\t\t},\n\t\trel: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'rel',\n\t\t},\n\t\tlinkClass: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure a',\n\t\t\tattribute: 'class',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: migrateCustomColors,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tlinkClass,\n\t\t\thref,\n\t\t\tlinkTarget,\n\t\t\trel,\n\t\t} = attributes;\n\t\tconst newRel = isEmpty( rel ) ? undefined : rel;\n\n\t\tlet image = (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={ mediaAlt }\n\t\t\t\tclassName={\n\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t: null\n\t\t\t\t}\n\t\t\t/>\n\t\t);\n\n\t\tif ( href ) {\n\t\t\timage = (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ linkClass }\n\t\t\t\t\thref={ href }\n\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\trel={ newRel }\n\t\t\t\t>\n\t\t\t\t\t{ image }\n\t\t\t\t</a>\n\t\t\t);\n\t\t}\n\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => image,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = classnames( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t'has-background': backgroundClass || customBackgroundColor,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v2 = {\n\tattributes: {\n\t\t...baseAttributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t\tverticalAlignment: {\n\t\t\ttype: 'string',\n\t\t},\n\t\timageFill: {\n\t\t\ttype: 'boolean',\n\t\t},\n\t\tfocalPoint: {\n\t\t\ttype: 'object',\n\t\t},\n\t},\n\tmigrate: migrateCustomColors,\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\tmediaId,\n\t\t\tverticalAlignment,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => (\n\t\t\t\t<img\n\t\t\t\t\tsrc={ mediaUrl }\n\t\t\t\t\talt={ mediaAlt }\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tmediaId && mediaType === 'image'\n\t\t\t\t\t\t\t? `wp-image-${ mediaId }`\n\t\t\t\t\t\t\t: null\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = classnames( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]:\n\t\t\t\tverticalAlignment,\n\t\t\t'is-image-fill': imageFill,\n\t\t} );\n\t\tconst backgroundStyles = imageFill\n\t\t\t? v1ToV5ImageFillStyles( mediaUrl, focalPoint )\n\t\t\t: {};\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nconst v1 = {\n\tattributes: {\n\t\t...baseAttributes,\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tmediaUrl: {\n\t\t\ttype: 'string',\n\t\t\tsource: 'attribute',\n\t\t\tselector: 'figure video,figure img',\n\t\t\tattribute: 'src',\n\t\t},\n\t},\n\tsave( { attributes } ) {\n\t\tconst {\n\t\t\tbackgroundColor,\n\t\t\tcustomBackgroundColor,\n\t\t\tisStackedOnMobile,\n\t\t\tmediaAlt,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t} = attributes;\n\t\tconst mediaTypeRenders = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\t\tconst backgroundClass = getColorClassName(\n\t\t\t'background-color',\n\t\t\tbackgroundColor\n\t\t);\n\t\tconst className = classnames( {\n\t\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t\t[ backgroundClass ]: backgroundClass,\n\t\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t} );\n\n\t\tlet gridTemplateColumns;\n\t\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\t\tgridTemplateColumns =\n\t\t\t\t'right' === mediaPosition\n\t\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t\t: `${ mediaWidth }% auto`;\n\t\t}\n\t\tconst style = {\n\t\t\tbackgroundColor: backgroundClass\n\t\t\t\t? undefined\n\t\t\t\t: customBackgroundColor,\n\t\t\tgridTemplateColumns,\n\t\t};\n\t\treturn (\n\t\t\t<div className={ className } style={ style }>\n\t\t\t\t<figure className=\"wp-block-media-text__media\">\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t\t<div className=\"wp-block-media-text__content\">\n\t\t\t\t\t<InnerBlocks.Content />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t);\n\t},\n};\n\nexport default [ v5, v4, v3, v2, v1 ];\n"]}
@@ -274,7 +274,8 @@ function MediaTextEdit(_ref2) {
274
274
  onChangeImage: updateImage,
275
275
  slug: mediaSizeSlug,
276
276
  imageSizeOptions: imageSizeOptions,
277
- isResizable: false
277
+ isResizable: false,
278
+ imageSizeHelp: __('Select which image size to load.')
278
279
  }), mediaUrl && createElement(RangeControl, {
279
280
  label: __('Media width'),
280
281
  value: temporaryMediaWidth || mediaWidth,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","context","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId, { context: 'view' } )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __( 'Select which image size to load.' ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
@@ -32,7 +32,7 @@ const noop = () => {};
32
32
  export function imageFillStyles(url, focalPoint) {
33
33
  return url ? {
34
34
  backgroundImage: `url(${url})`,
35
- backgroundPosition: focalPoint ? `${focalPoint.x * 100}% ${focalPoint.y * 100}%` : `50% 50%`
35
+ backgroundPosition: focalPoint ? `${Math.round(focalPoint.x * 100)}% ${Math.round(focalPoint.y * 100)}%` : `50% 50%`
36
36
  } : {};
37
37
  }
38
38
  const ResizableBoxContainer = forwardRef((_ref, ref) => {