@wordpress/block-library 8.30.0 → 8.31.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.
- package/CHANGELOG.md +2 -0
- package/build/block/edit.js +17 -8
- package/build/block/edit.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +2 -0
- package/build/file/edit.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +4 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/quote/edit.js +2 -2
- package/build/quote/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +2 -0
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/index.js +1 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/block/edit.js +18 -9
- package/build-module/block/edit.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +2 -0
- package/build-module/file/edit.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +5 -2
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/quote/edit.js +2 -2
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -0
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/index.js +1 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/editor-rtl.css +10 -4
- package/build-style/editor.css +10 -4
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +2 -2
- package/build-style/style.css +2 -2
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/avatar/index.php +6 -0
- package/src/block/edit.js +38 -15
- package/src/block/index.php +4 -0
- package/src/block/test/edit.native.js +67 -0
- package/src/calendar/index.php +12 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +10 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/index.php +4 -0
- package/src/details/edit.js +1 -0
- package/src/file/edit.js +2 -0
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/gallery/index.php +6 -0
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/home-link/index.php +10 -0
- package/src/image/editor.scss +0 -5
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/index.php +8 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/save.js +2 -2
- package/src/navigation/edit/index.js +67 -71
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
- package/src/navigation/index.php +101 -26
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/edit.js +4 -0
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +4 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/index.php +2 -0
- package/src/query/index.php +2 -0
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/edit.js +11 -5
- package/src/read-more/edit.js +1 -0
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +2 -0
- package/src/search/edit.native.js +2 -2
- package/src/search/index.php +19 -1
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +1 -1
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +1 -1
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/video/edit.native.js +2 -0
- package/tsconfig.json +1 -0
|
@@ -14,7 +14,7 @@ import { BlockControls, BlockVerticalAlignmentControl, useInnerBlocksProps, Insp
|
|
|
14
14
|
import { PanelBody, RangeControl, TextareaControl, ToggleControl, ToolbarButton, ExternalLink, FocalPointPicker } from '@wordpress/components';
|
|
15
15
|
import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
|
|
16
16
|
import { pullLeft, pullRight } from '@wordpress/icons';
|
|
17
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
17
|
+
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Internal dependencies
|
|
@@ -97,7 +97,11 @@ function attributesFromMedia({
|
|
|
97
97
|
function MediaTextEdit({
|
|
98
98
|
attributes,
|
|
99
99
|
isSelected,
|
|
100
|
-
setAttributes
|
|
100
|
+
setAttributes,
|
|
101
|
+
context: {
|
|
102
|
+
postId,
|
|
103
|
+
postType
|
|
104
|
+
}
|
|
101
105
|
}) {
|
|
102
106
|
const {
|
|
103
107
|
focalPoint,
|
|
@@ -115,9 +119,26 @@ function MediaTextEdit({
|
|
|
115
119
|
mediaWidth,
|
|
116
120
|
rel,
|
|
117
121
|
verticalAlignment,
|
|
118
|
-
allowedBlocks
|
|
122
|
+
allowedBlocks,
|
|
123
|
+
useFeaturedImage
|
|
119
124
|
} = attributes;
|
|
120
125
|
const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
126
|
+
const [featuredImage] = useEntityProp('postType', postType, 'featured_media', postId);
|
|
127
|
+
const featuredImageMedia = useSelect(select => featuredImage && select(coreStore).getMedia(featuredImage, {
|
|
128
|
+
context: 'view'
|
|
129
|
+
}), [featuredImage]);
|
|
130
|
+
const featuredImageURL = useFeaturedImage ? featuredImageMedia?.source_url : '';
|
|
131
|
+
const featuredImageAlt = useFeaturedImage ? featuredImageMedia?.alt_text : '';
|
|
132
|
+
const toggleUseFeaturedImage = () => {
|
|
133
|
+
setAttributes({
|
|
134
|
+
imageFill: false,
|
|
135
|
+
mediaType: 'image',
|
|
136
|
+
mediaId: undefined,
|
|
137
|
+
mediaUrl: undefined,
|
|
138
|
+
mediaAlt: undefined,
|
|
139
|
+
useFeaturedImage: !useFeaturedImage
|
|
140
|
+
});
|
|
141
|
+
};
|
|
121
142
|
const {
|
|
122
143
|
imageSizes,
|
|
123
144
|
image
|
|
@@ -226,21 +247,20 @@ function MediaTextEdit({
|
|
|
226
247
|
onChange: () => setAttributes({
|
|
227
248
|
imageFill: !imageFill
|
|
228
249
|
})
|
|
229
|
-
}), imageFill && mediaUrl && mediaType === 'image' && createElement(FocalPointPicker, {
|
|
250
|
+
}), imageFill && (mediaUrl || featuredImageURL) && mediaType === 'image' && createElement(FocalPointPicker, {
|
|
230
251
|
__nextHasNoMarginBottom: true,
|
|
231
|
-
__next40pxDefaultSize: true,
|
|
232
252
|
label: __('Focal point'),
|
|
233
|
-
url: mediaUrl,
|
|
253
|
+
url: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
|
|
234
254
|
value: focalPoint,
|
|
235
255
|
onChange: value => setAttributes({
|
|
236
256
|
focalPoint: value
|
|
237
257
|
}),
|
|
238
258
|
onDragStart: imperativeFocalPointPreview,
|
|
239
259
|
onDrag: imperativeFocalPointPreview
|
|
240
|
-
}), mediaType === 'image' && createElement(TextareaControl, {
|
|
260
|
+
}), mediaType === 'image' && (mediaUrl || featuredImageURL) && createElement(TextareaControl, {
|
|
241
261
|
__nextHasNoMarginBottom: true,
|
|
242
262
|
label: __('Alternative text'),
|
|
243
|
-
value: mediaAlt,
|
|
263
|
+
value: mediaAlt || featuredImageAlt,
|
|
244
264
|
onChange: onMediaAltChange,
|
|
245
265
|
help: createElement(Fragment, null, createElement(ExternalLink, {
|
|
246
266
|
href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
|
|
@@ -287,7 +307,7 @@ function MediaTextEdit({
|
|
|
287
307
|
onChangeUrl: onSetHref,
|
|
288
308
|
linkDestination: linkDestination,
|
|
289
309
|
mediaType: mediaType,
|
|
290
|
-
mediaUrl: image && image.source_url,
|
|
310
|
+
mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : image && image.source_url,
|
|
291
311
|
mediaLink: image && image.link,
|
|
292
312
|
linkTarget: linkTarget,
|
|
293
313
|
linkClass: linkClass,
|
|
@@ -303,6 +323,7 @@ function MediaTextEdit({
|
|
|
303
323
|
commitWidthChange: commitWidthChange,
|
|
304
324
|
ref: refMediaContainer,
|
|
305
325
|
enableResize: blockEditingMode === 'default',
|
|
326
|
+
toggleUseFeaturedImage: toggleUseFeaturedImage,
|
|
306
327
|
focalPoint,
|
|
307
328
|
imageFill,
|
|
308
329
|
isSelected,
|
|
@@ -312,7 +333,10 @@ function MediaTextEdit({
|
|
|
312
333
|
mediaPosition,
|
|
313
334
|
mediaType,
|
|
314
335
|
mediaUrl,
|
|
315
|
-
mediaWidth
|
|
336
|
+
mediaWidth,
|
|
337
|
+
useFeaturedImage,
|
|
338
|
+
featuredImageURL,
|
|
339
|
+
featuredImageAlt
|
|
316
340
|
}), mediaPosition !== 'right' && createElement("div", {
|
|
317
341
|
...innerBlocksProps
|
|
318
342
|
})));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","__","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","useBlockEditingMode","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","WIDTH_CONSTRAINT_PERCENTAGE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","TEMPLATE","applyWidthConstraints","width","Math","max","min","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","allowedBlocks","mediaSizeSlug","imageSizes","select","getSettings","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","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","checked","onDragStart","onDrag","help","Fragment","onChangeImage","isResizable","imageSizeHelp","blockProps","className","innerBlocksProps","template","blockEditingMode","group","icon","isActive","onClick","onChangeUrl","ref","enableResize"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } 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\tuseBlockEditingMode,\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 {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\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\tallowedBlocks,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\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( null );\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 imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\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<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\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\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Focal point' ) }\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\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( '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<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\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, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\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{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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\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\tenableResize={ blockEditingMode === 'default' }\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"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","__","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","useBlockEditingMode","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","useEntityProp","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","WIDTH_CONSTRAINT_PERCENTAGE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","TEMPLATE","applyWidthConstraints","width","Math","max","min","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","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","allowedBlocks","useFeaturedImage","mediaSizeSlug","featuredImage","featuredImageMedia","select","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","imageSizes","getSettings","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","title","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","checked","onDragStart","onDrag","help","Fragment","onChangeImage","isResizable","imageSizeHelp","blockProps","className","innerBlocksProps","template","blockEditingMode","group","icon","isActive","onClick","onChangeUrl","ref","enableResize"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } 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\tuseBlockEditingMode,\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 { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\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( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\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\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst featuredImageMedia = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\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( null );\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 imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\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<RangeControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\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 &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\turl={\n\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && ( mediaUrl || featuredImageURL ) && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tvalue={ mediaAlt || featuredImageAlt }\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<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\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, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\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{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\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\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={\n\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t: image && image.source_url\n\t\t\t\t\t\t}\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\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\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\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\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"],"mappings":"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"}
|
|
@@ -104,8 +104,13 @@ const metadata = {
|
|
|
104
104
|
},
|
|
105
105
|
allowedBlocks: {
|
|
106
106
|
type: "array"
|
|
107
|
+
},
|
|
108
|
+
useFeaturedImage: {
|
|
109
|
+
type: "boolean",
|
|
110
|
+
"default": false
|
|
107
111
|
}
|
|
108
112
|
},
|
|
113
|
+
usesContext: ["postId", "postType"],
|
|
109
114
|
supports: {
|
|
110
115
|
anchor: true,
|
|
111
116
|
align: ["wide", "full"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","mediaAndText","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","mediaAlt","source","selector","attribute","__experimentalRole","mediaPosition","mediaId","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","mediaType","mediaWidth","mediaSizeSlug","isStackedOnMobile","verticalAlignment","imageFill","focalPoint","allowedBlocks","supports","anchor","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","viewportWidth","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/media-text/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,YAAY,IAAIC,IAAI,QAAQ,kBAAkB;;AAEvD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAC3C,OAAOC,UAAU,MAAM,cAAc;AACrC,OAAOC,IAAI,MAAM,QAAQ;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,KAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,QAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAA;MAAAC,kBAAA;IAAA;IAAAC,aAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,OAAA;MAAAP,IAAA;MAAAK,kBAAA;IAAA;IAAAG,QAAA;MAAAR,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAC,kBAAA;IAAA;IAAAI,SAAA;MAAAT,IAAA;IAAA;IAAAU,eAAA;MAAAV,IAAA;IAAA;IAAAW,UAAA;MAAAX,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAQ,IAAA;MAAAZ,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;MAAAC,kBAAA;IAAA;IAAAQ,GAAA;MAAAb,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAU,SAAA;MAAAd,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,SAAA;IAAA;IAAAW,SAAA;MAAAf,IAAA;MAAAK,kBAAA;IAAA;IAAAW,UAAA;MAAAhB,IAAA;MAAA;IAAA;IAAAiB,aAAA;MAAAjB,IAAA;IAAA;IAAAkB,iBAAA;MAAAlB,IAAA;MAAA;IAAA;IAAAmB,iBAAA;MAAAnB,IAAA;IAAA;IAAAoB,SAAA;MAAApB,IAAA;IAAA;IAAAqB,UAAA;MAAArB,IAAA;IAAA;IAAAsB,aAAA;MAAAtB,IAAA;IAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["__","mediaAndText","icon","initBlock","deprecated","edit","metadata","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","align","type","mediaAlt","source","selector","attribute","__experimentalRole","mediaPosition","mediaId","mediaUrl","mediaLink","linkDestination","linkTarget","href","rel","linkClass","mediaType","mediaWidth","mediaSizeSlug","isStackedOnMobile","verticalAlignment","imageFill","focalPoint","allowedBlocks","useFeaturedImage","usesContext","supports","anchor","html","color","gradients","heading","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","editorStyle","style","save","transforms","settings","example","viewportWidth","innerBlocks","content","init"],"sources":["@wordpress/block-library/src/media-text/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
|
|
@@ -7,7 +7,7 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { ResizableBox, Spinner } from '@wordpress/components';
|
|
10
|
+
import { ResizableBox, Spinner, Placeholder } from '@wordpress/components';
|
|
11
11
|
import { BlockControls, BlockIcon, MediaPlaceholder, MediaReplaceFlow, store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { useViewportMatch } from '@wordpress/compose';
|
|
@@ -43,22 +43,28 @@ const ResizableBoxContainer = forwardRef(({
|
|
|
43
43
|
function ToolbarEditButton({
|
|
44
44
|
mediaId,
|
|
45
45
|
mediaUrl,
|
|
46
|
-
onSelectMedia
|
|
46
|
+
onSelectMedia,
|
|
47
|
+
toggleUseFeaturedImage,
|
|
48
|
+
useFeaturedImage,
|
|
49
|
+
featuredImageURL
|
|
47
50
|
}) {
|
|
48
51
|
return createElement(BlockControls, {
|
|
49
52
|
group: "other"
|
|
50
53
|
}, createElement(MediaReplaceFlow, {
|
|
51
54
|
mediaId: mediaId,
|
|
52
|
-
|
|
55
|
+
mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
|
|
53
56
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
54
57
|
accept: "image/*,video/*",
|
|
55
|
-
onSelect: onSelectMedia
|
|
58
|
+
onSelect: onSelectMedia,
|
|
59
|
+
onToggleFeaturedImage: toggleUseFeaturedImage,
|
|
60
|
+
useFeaturedImage: useFeaturedImage
|
|
56
61
|
}));
|
|
57
62
|
}
|
|
58
63
|
function PlaceholderContainer({
|
|
59
64
|
className,
|
|
60
65
|
mediaUrl,
|
|
61
|
-
onSelectMedia
|
|
66
|
+
onSelectMedia,
|
|
67
|
+
toggleUseFeaturedImage
|
|
62
68
|
}) {
|
|
63
69
|
const {
|
|
64
70
|
createErrorNotice
|
|
@@ -78,6 +84,7 @@ function PlaceholderContainer({
|
|
|
78
84
|
className: className,
|
|
79
85
|
onSelect: onSelectMedia,
|
|
80
86
|
accept: "image/*,video/*",
|
|
87
|
+
onToggleFeaturedImage: toggleUseFeaturedImage,
|
|
81
88
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
82
89
|
onError: onUploadError,
|
|
83
90
|
disableMediaButtons: mediaUrl
|
|
@@ -99,13 +106,17 @@ function MediaContainer(props, ref) {
|
|
|
99
106
|
mediaWidth,
|
|
100
107
|
onSelectMedia,
|
|
101
108
|
onWidthChange,
|
|
102
|
-
enableResize
|
|
109
|
+
enableResize,
|
|
110
|
+
toggleUseFeaturedImage,
|
|
111
|
+
useFeaturedImage,
|
|
112
|
+
featuredImageURL,
|
|
113
|
+
featuredImageAlt
|
|
103
114
|
} = props;
|
|
104
115
|
const isTemporaryMedia = !mediaId && isBlobURL(mediaUrl);
|
|
105
116
|
const {
|
|
106
117
|
toggleSelection
|
|
107
118
|
} = useDispatch(blockEditorStore);
|
|
108
|
-
if (mediaUrl) {
|
|
119
|
+
if (mediaUrl || featuredImageURL || useFeaturedImage) {
|
|
109
120
|
const onResizeStart = () => {
|
|
110
121
|
toggleSelection(false);
|
|
111
122
|
};
|
|
@@ -120,9 +131,12 @@ function MediaContainer(props, ref) {
|
|
|
120
131
|
right: enableResize && mediaPosition === 'left',
|
|
121
132
|
left: enableResize && mediaPosition === 'right'
|
|
122
133
|
};
|
|
123
|
-
const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
|
|
134
|
+
const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl || featuredImageURL, focalPoint) : {};
|
|
124
135
|
const mediaTypeRenderers = {
|
|
125
|
-
image: () => createElement("img", {
|
|
136
|
+
image: () => useFeaturedImage && featuredImageURL ? createElement("img", {
|
|
137
|
+
src: featuredImageURL,
|
|
138
|
+
alt: featuredImageAlt
|
|
139
|
+
}) : mediaUrl && createElement("img", {
|
|
126
140
|
src: mediaUrl,
|
|
127
141
|
alt: mediaAlt
|
|
128
142
|
}),
|
|
@@ -152,10 +166,15 @@ function MediaContainer(props, ref) {
|
|
|
152
166
|
ref: ref
|
|
153
167
|
}, createElement(ToolbarEditButton, {
|
|
154
168
|
onSelectMedia: onSelectMedia,
|
|
155
|
-
mediaUrl: mediaUrl,
|
|
156
|
-
mediaId: mediaId
|
|
157
|
-
|
|
169
|
+
mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
|
|
170
|
+
mediaId: mediaId,
|
|
171
|
+
toggleUseFeaturedImage: toggleUseFeaturedImage,
|
|
172
|
+
useFeaturedImage: useFeaturedImage
|
|
173
|
+
}), (mediaTypeRenderers[mediaType] || noop)(), isTemporaryMedia && createElement(Spinner, null), !useFeaturedImage && createElement(PlaceholderContainer, {
|
|
158
174
|
...props
|
|
175
|
+
}), !featuredImageURL && useFeaturedImage && createElement(Placeholder, {
|
|
176
|
+
className: "wp-block-media-text--placeholder-image",
|
|
177
|
+
withIllustration: true
|
|
159
178
|
}));
|
|
160
179
|
}
|
|
161
180
|
return createElement(PlaceholderContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","ResizableBox","Spinner","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","group","mediaURL","allowedTypes","accept","onSelect","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( 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? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( { className, mediaUrl, onSelectMedia } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","ResizableBox","Spinner","Placeholder","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","toggleUseFeaturedImage","useFeaturedImage","featuredImageURL","group","allowedTypes","accept","onSelect","onToggleFeaturedImage","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","featuredImageAlt","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis","withIllustration"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( 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? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n\tfeaturedImageURL,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaUrl={\n\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t: mediaUrl\n\t\t\t\t}\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img src={ featuredImageURL } alt={ featuredImageAlt } />\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && <img src={ mediaUrl } alt={ mediaAlt } />\n\t\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={\n\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t}\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],"mappings":"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"}
|
|
@@ -41,11 +41,11 @@ export default function save({
|
|
|
41
41
|
[`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
|
|
42
42
|
[`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
|
|
43
43
|
});
|
|
44
|
-
let image = createElement("img", {
|
|
44
|
+
let image = mediaUrl ? createElement("img", {
|
|
45
45
|
src: mediaUrl,
|
|
46
46
|
alt: mediaAlt,
|
|
47
47
|
className: imageClasses || null
|
|
48
|
-
});
|
|
48
|
+
}) : null;
|
|
49
49
|
if (href) {
|
|
50
50
|
image = createElement("a", {
|
|
51
51
|
className: linkClass,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","save","attributes","isStackedOnMobile","mediaAlt","mediaPosition","mediaType","mediaUrl","mediaWidth","mediaId","verticalAlignment","imageFill","focalPoint","linkClass","href","linkTarget","rel","mediaSizeSlug","newRel","undefined","imageClasses","image","createElement","src","alt","className","target","mediaTypeRenders","video","controls","backgroundStyles","gridTemplateColumns","style"],"sources":["@wordpress/block-library/src/media-text/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps, useBlockProps } 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\nexport default function save( { attributes } ) {\n\tconst {\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaId,\n\t\tverticalAlignment,\n\t\timageFill,\n\t\tfocalPoint,\n\t\tlinkClass,\n\t\thref,\n\t\tlinkTarget,\n\t\trel,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\tconst newRel = ! rel ? undefined : rel;\n\n\tconst imageClasses = classnames( {\n\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t} );\n\n\tlet image = (\n\t\t<img\n\t\t\tsrc={ mediaUrl }\n\t\t\talt={ mediaAlt }\n\t\t\tclassName={ imageClasses || null }\n\t\t/>\n\t);\n\n\tif ( href ) {\n\t\timage = (\n\t\t\t<a\n\t\t\t\tclassName={ linkClass }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ newRel }\n\t\t\t>\n\t\t\t\t{ image }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tconst mediaTypeRenders = {\n\t\timage: () => image,\n\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t};\n\tconst className = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\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 backgroundStyles = imageFill\n\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t: {};\n\n\tlet gridTemplateColumns;\n\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\tgridTemplateColumns =\n\t\t\t'right' === mediaPosition\n\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t: `${ mediaWidth }% auto`;\n\t}\n\tconst style = {\n\t\tgridTemplateColumns,\n\t};\n\n\tif ( 'right' === mediaPosition ) {\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\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\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</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t<figure\n\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t>\n\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t</figure>\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,yBAAyB;;AAE5E;AACA;AACA;AACA,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,uBAAuB,QAAQ,aAAa;AAErD,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IACLC,iBAAiB;IACjBC,QAAQ;IACRC,aAAa;IACbC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,iBAAiB;IACjBC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,IAAI;IACJC,UAAU;IACVC;EACD,CAAC,GAAGd,UAAU;EACd,MAAMe,aAAa,GAAGf,UAAU,CAACe,aAAa,IAAInB,uBAAuB;EACzE,MAAMoB,MAAM,GAAG,CAAEF,GAAG,GAAGG,SAAS,GAAGH,GAAG;EAEtC,MAAMI,YAAY,GAAG1B,UAAU,CAAE;IAChC,CAAG,YAAYe,OAAS,EAAC,GAAIA,OAAO,IAAIH,SAAS,KAAK,OAAO;IAC7D,CAAG,QAAQW,aAAe,EAAC,GAAIR,OAAO,IAAIH,SAAS,KAAK;EACzD,CAAE,CAAC;EAEH,IAAIe,KAAK,
|
|
1
|
+
{"version":3,"names":["classnames","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","save","attributes","isStackedOnMobile","mediaAlt","mediaPosition","mediaType","mediaUrl","mediaWidth","mediaId","verticalAlignment","imageFill","focalPoint","linkClass","href","linkTarget","rel","mediaSizeSlug","newRel","undefined","imageClasses","image","createElement","src","alt","className","target","mediaTypeRenders","video","controls","backgroundStyles","gridTemplateColumns","style"],"sources":["@wordpress/block-library/src/media-text/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps, useBlockProps } 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\nexport default function save( { attributes } ) {\n\tconst {\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaId,\n\t\tverticalAlignment,\n\t\timageFill,\n\t\tfocalPoint,\n\t\tlinkClass,\n\t\thref,\n\t\tlinkTarget,\n\t\trel,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\tconst newRel = ! rel ? undefined : rel;\n\n\tconst imageClasses = classnames( {\n\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t} );\n\n\tlet image = mediaUrl ? (\n\t\t<img\n\t\t\tsrc={ mediaUrl }\n\t\t\talt={ mediaAlt }\n\t\t\tclassName={ imageClasses || null }\n\t\t/>\n\t) : null;\n\n\tif ( href ) {\n\t\timage = (\n\t\t\t<a\n\t\t\t\tclassName={ linkClass }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ newRel }\n\t\t\t>\n\t\t\t\t{ image }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tconst mediaTypeRenders = {\n\t\timage: () => image,\n\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t};\n\tconst className = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\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 backgroundStyles = imageFill\n\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t: {};\n\n\tlet gridTemplateColumns;\n\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\tgridTemplateColumns =\n\t\t\t'right' === mediaPosition\n\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t: `${ mediaWidth }% auto`;\n\t}\n\tconst style = {\n\t\tgridTemplateColumns,\n\t};\n\n\tif ( 'right' === mediaPosition ) {\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\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\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</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t<figure\n\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t>\n\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t</figure>\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { InspectorControls, useBlockProps, RecursionProvider, useHasRecursion, s
|
|
|
12
12
|
import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
13
13
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
14
14
|
import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, Button, Spinner, Notice } from '@wordpress/components';
|
|
15
|
-
import { __
|
|
15
|
+
import { __ } from '@wordpress/i18n';
|
|
16
16
|
import { speak } from '@wordpress/a11y';
|
|
17
17
|
import { close, Icon } from '@wordpress/icons';
|
|
18
18
|
import { useInstanceId } from '@wordpress/compose';
|
|
@@ -107,8 +107,8 @@ function Navigation({
|
|
|
107
107
|
isSuccess: createNavigationMenuIsSuccess,
|
|
108
108
|
isError: createNavigationMenuIsError
|
|
109
109
|
} = useCreateNavigationMenu(clientId);
|
|
110
|
-
const createUntitledEmptyNavigationMenu = () => {
|
|
111
|
-
createNavigationMenu('');
|
|
110
|
+
const createUntitledEmptyNavigationMenu = async () => {
|
|
111
|
+
await createNavigationMenu('');
|
|
112
112
|
};
|
|
113
113
|
const {
|
|
114
114
|
hasUncontrolledInnerBlocks,
|
|
@@ -132,9 +132,9 @@ function Navigation({
|
|
|
132
132
|
hasResolvedCanUserUpdateNavigationMenu,
|
|
133
133
|
canUserDeleteNavigationMenu,
|
|
134
134
|
hasResolvedCanUserDeleteNavigationMenu,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
canUserCreateNavigationMenus,
|
|
136
|
+
isResolvingCanUserCreateNavigationMenus,
|
|
137
|
+
hasResolvedCanUserCreateNavigationMenus
|
|
138
138
|
} = useNavigationMenu(ref);
|
|
139
139
|
const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing;
|
|
140
140
|
const {
|
|
@@ -237,12 +237,7 @@ function Navigation({
|
|
|
237
237
|
const [detectedOverlayBackgroundColor, setDetectedOverlayBackgroundColor] = useState();
|
|
238
238
|
const [detectedOverlayColor, setDetectedOverlayColor] = useState();
|
|
239
239
|
const onSelectClassicMenu = async classicMenu => {
|
|
240
|
-
|
|
241
|
-
if (navMenu) {
|
|
242
|
-
handleUpdateMenu(navMenu.id, {
|
|
243
|
-
focusNavigationBlock: true
|
|
244
|
-
});
|
|
245
|
-
}
|
|
240
|
+
return convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
246
241
|
};
|
|
247
242
|
const onSelectNavigationMenu = menuId => {
|
|
248
243
|
handleUpdateMenu(menuId);
|
|
@@ -269,11 +264,14 @@ function Navigation({
|
|
|
269
264
|
}
|
|
270
265
|
if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS) {
|
|
271
266
|
showClassicMenuConversionNotice(__('Classic menu imported successfully.'));
|
|
267
|
+
handleUpdateMenu(createNavigationMenuPost?.id, {
|
|
268
|
+
focusNavigationBlock: true
|
|
269
|
+
});
|
|
272
270
|
}
|
|
273
271
|
if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR) {
|
|
274
272
|
showClassicMenuConversionNotice(__('Classic menu import failed.'));
|
|
275
273
|
}
|
|
276
|
-
}, [classicMenuConversionStatus, classicMenuConversionError, hideClassicMenuConversionNotice, showClassicMenuConversionNotice]);
|
|
274
|
+
}, [classicMenuConversionStatus, classicMenuConversionError, hideClassicMenuConversionNotice, showClassicMenuConversionNotice, createNavigationMenuPost?.id, handleUpdateMenu]);
|
|
277
275
|
useEffect(() => {
|
|
278
276
|
if (!enableContrastChecking) {
|
|
279
277
|
return;
|
|
@@ -299,12 +297,12 @@ function Navigation({
|
|
|
299
297
|
if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
|
|
300
298
|
showNavigationMenuPermissionsNotice(__('You do not have permission to edit this Menu. Any changes made will not be saved.'));
|
|
301
299
|
}
|
|
302
|
-
if (!ref &&
|
|
300
|
+
if (!ref && hasResolvedCanUserCreateNavigationMenus && !canUserCreateNavigationMenus) {
|
|
303
301
|
showNavigationMenuPermissionsNotice(__('You do not have permission to create Navigation Menus.'));
|
|
304
302
|
}
|
|
305
303
|
}
|
|
306
|
-
}, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu,
|
|
307
|
-
const hasManagePermissions =
|
|
304
|
+
}, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu, canUserCreateNavigationMenus, hasResolvedCanUserCreateNavigationMenus, ref, hideNavigationMenuPermissionsNotice, showNavigationMenuPermissionsNotice, navMenuResolvedButMissing]);
|
|
305
|
+
const hasManagePermissions = canUserCreateNavigationMenus || canUserUpdateNavigationMenu;
|
|
308
306
|
const overlayMenuPreviewClasses = classnames('wp-block-navigation__overlay-menu-preview', {
|
|
309
307
|
open: overlayMenuPreview
|
|
310
308
|
});
|
|
@@ -502,8 +500,8 @@ function Navigation({
|
|
|
502
500
|
isSelected: isSelected,
|
|
503
501
|
currentMenuId: ref,
|
|
504
502
|
clientId: clientId,
|
|
505
|
-
|
|
506
|
-
|
|
503
|
+
canUserCreateNavigationMenus: canUserCreateNavigationMenus,
|
|
504
|
+
isResolvingCanUserCreateNavigationMenus: isResolvingCanUserCreateNavigationMenus,
|
|
507
505
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
508
506
|
onSelectClassicMenu: onSelectClassicMenu,
|
|
509
507
|
onCreateEmpty: createUntitledEmptyNavigationMenu
|
|
@@ -530,25 +528,21 @@ function Navigation({
|
|
|
530
528
|
}), blockEditingMode === 'default' && stylingInspectorControls, blockEditingMode === 'default' && isEntityAvailable && createElement(InspectorControls, {
|
|
531
529
|
group: "advanced"
|
|
532
530
|
}, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && createElement(NavigationMenuNameControl, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && createElement(NavigationMenuDeleteControl, {
|
|
533
|
-
onDelete: (
|
|
531
|
+
onDelete: () => {
|
|
534
532
|
replaceInnerBlocks(clientId, []);
|
|
535
|
-
showNavigationMenuStatusNotice(
|
|
536
|
-
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
537
|
-
__('Navigation menu %s successfully deleted.'), deletedMenuTitle));
|
|
533
|
+
showNavigationMenuStatusNotice(__('Navigation menu successfully deleted.'));
|
|
538
534
|
}
|
|
539
535
|
}), createElement(ManageMenusButton, {
|
|
540
536
|
disabled: isManageMenusButtonDisabled,
|
|
541
537
|
className: "wp-block-navigation-manage-menus-button"
|
|
542
|
-
})),
|
|
543
|
-
...blockProps
|
|
544
|
-
|
|
538
|
+
})), createElement(TagName, {
|
|
539
|
+
...blockProps,
|
|
540
|
+
"aria-describedby": !isPlaceholder && !isLoading ? accessibleDescriptionId : undefined
|
|
541
|
+
}, isLoading && createElement("div", {
|
|
545
542
|
className: "wp-block-navigation__loading-indicator-container"
|
|
546
543
|
}, createElement(Spinner, {
|
|
547
544
|
className: "wp-block-navigation__loading-indicator"
|
|
548
|
-
}))
|
|
549
|
-
...blockProps,
|
|
550
|
-
"aria-describedby": !isPlaceholder ? accessibleDescriptionId : undefined
|
|
551
|
-
}, createElement(AccessibleMenuDescription, {
|
|
545
|
+
})), !isLoading && createElement(Fragment, null, createElement(AccessibleMenuDescription, {
|
|
552
546
|
id: accessibleDescriptionId
|
|
553
547
|
}), createElement(ResponsiveWrapper, {
|
|
554
548
|
id: clientId,
|
|
@@ -565,7 +559,7 @@ function Navigation({
|
|
|
565
559
|
hasCustomPlaceholder: !!CustomPlaceholder,
|
|
566
560
|
templateLock: templateLock,
|
|
567
561
|
orientation: orientation
|
|
568
|
-
})))));
|
|
562
|
+
}))))));
|
|
569
563
|
}
|
|
570
564
|
export default withColors({
|
|
571
565
|
textColor: 'color'
|