@wordpress/block-library 8.5.0 → 8.6.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/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/edit.js +10 -8
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/comments/edit/placeholder.js +8 -5
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/cover/index.js +13 -4
- package/build/cover/index.js.map +1 -1
- package/build/cover/variations.js +29 -0
- package/build/cover/variations.js.map +1 -0
- package/build/embed/edit.js +13 -14
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +18 -14
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/util.js +39 -12
- package/build/embed/util.js.map +1 -1
- package/build/gallery/edit.js +1 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/latest-posts/edit.js +10 -10
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +3 -3
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/media-text/constants.js +17 -1
- package/build/media-text/constants.js.map +1 -1
- package/build/media-text/edit.js +7 -19
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +6 -5
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/transforms.js +32 -44
- package/build/media-text/transforms.js.map +1 -1
- package/build/navigation/edit/index.js +56 -86
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +2 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +26 -22
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +14 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +1 -1
- package/build/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build/navigation-link/edit.js +0 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +0 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -13
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +59 -45
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +3 -2
- package/build/page-list-item/edit.js.map +1 -1
- package/build/post-content/edit.js +6 -1
- package/build/post-content/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +0 -6
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +1 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/pullquote/deprecated.js +3 -3
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/query-placeholder.js +3 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +26 -9
- package/build/query/utils.js.map +1 -1
- package/build/table/state.js +12 -4
- package/build/table/state.js.map +1 -1
- package/build/template-part/edit/import-controls.js +4 -24
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +69 -19
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/text-columns/edit.js +3 -7
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +11 -13
- package/build/text-columns/save.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +10 -7
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +9 -5
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/cover/index.js +12 -4
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/variations.js +19 -0
- package/build-module/cover/variations.js.map +1 -0
- package/build-module/embed/edit.js +14 -15
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +19 -15
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/util.js +34 -10
- package/build-module/embed/util.js.map +1 -1
- package/build-module/gallery/edit.js +1 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +10 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +3 -3
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/media-text/constants.js +10 -0
- package/build-module/media-text/constants.js.map +1 -1
- package/build-module/media-text/edit.js +2 -14
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +4 -3
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/transforms.js +32 -44
- package/build-module/media-text/transforms.js.map +1 -1
- package/build-module/navigation/edit/index.js +58 -88
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +4 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +14 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +2 -4
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build-module/navigation-link/edit.js +0 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +0 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -13
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +61 -47
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/post-content/edit.js +6 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +0 -6
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +1 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/pullquote/deprecated.js +3 -2
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +4 -3
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +21 -6
- package/build-module/query/utils.js.map +1 -1
- package/build-module/table/state.js +13 -5
- package/build-module/table/state.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +4 -23
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +69 -20
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/text-columns/edit.js +3 -6
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +11 -12
- package/build-module/text-columns/save.js.map +1 -1
- package/build-style/cover/style-rtl.css +11 -5
- package/build-style/cover/style.css +11 -5
- package/build-style/editor-rtl.css +5 -1
- package/build-style/editor.css +5 -1
- package/build-style/navigation/editor-rtl.css +1 -1
- package/build-style/navigation/editor.css +1 -1
- package/build-style/page-list/editor-rtl.css +4 -0
- package/build-style/page-list/editor.css +4 -0
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/style-rtl.css +12 -5
- package/build-style/style.css +12 -5
- package/package.json +31 -31
- package/src/audio/test/__snapshots__/edit.native.js.snap +44 -4
- package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/audio/test/transforms.native.js +42 -0
- package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/block/test/transforms.native.js +40 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/buttons/test/transforms.native.js +48 -0
- package/src/columns/edit.js +28 -17
- package/src/columns/edit.native.js +1 -1
- package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
- package/src/columns/test/transforms.native.js +91 -0
- package/src/comment-template/index.php +1 -2
- package/src/comments/edit/placeholder.js +16 -4
- package/src/cover/block.json +9 -3
- package/src/cover/index.js +2 -0
- package/src/cover/style.scss +16 -7
- package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/cover/test/transforms.native.js +112 -0
- package/src/cover/variations.js +20 -0
- package/src/embed/edit.js +16 -12
- package/src/embed/edit.native.js +28 -18
- package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
- package/src/embed/test/index.js +12 -0
- package/src/embed/test/transforms.native.js +44 -0
- package/src/embed/util.js +29 -8
- package/src/file/test/__snapshots__/edit.native.js.snap +18 -2
- package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/file/test/transforms.native.js +42 -0
- package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/freeform/test/transforms.native.js +39 -0
- package/src/gallery/edit.js +3 -0
- package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
- package/src/gallery/test/transforms.native.js +52 -0
- package/src/group/test/__snapshots__/transforms.native.js.snap +35 -0
- package/src/group/test/transforms.native.js +75 -0
- package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/heading/test/transforms.native.js +46 -0
- package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
- package/src/image/test/transforms.native.js +48 -0
- package/src/latest-posts/edit.js +11 -16
- package/src/latest-posts/edit.native.js +3 -3
- package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/latest-posts/test/transforms.native.js +61 -0
- package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
- package/src/list/test/transforms.native.js +56 -0
- package/src/media-text/constants.js +16 -0
- package/src/media-text/edit.js +8 -18
- package/src/media-text/edit.native.js +3 -9
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/media-text/test/transforms.native.js +112 -0
- package/src/media-text/transforms.js +24 -51
- package/src/missing/test/__snapshots__/edit.native.js.snap +20 -2
- package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/more/test/transforms.native.js +42 -0
- package/src/navigation/edit/index.js +104 -107
- package/src/navigation/edit/inner-blocks.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +2 -7
- package/src/navigation/edit/navigation-menu-selector.js +41 -25
- package/src/navigation/edit/unsaved-inner-blocks.js +46 -33
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +82 -83
- package/src/navigation/edit/use-create-navigation-menu.js +1 -1
- package/src/navigation/edit/use-navigation-notice.js +1 -1
- package/src/navigation/editor.scss +23 -20
- package/src/navigation/index.php +18 -39
- package/src/navigation-link/edit.js +0 -9
- package/src/navigation-link/index.php +5 -8
- package/src/navigation-link/link-ui.js +0 -1
- package/src/navigation-submenu/edit.js +0 -10
- package/src/navigation-submenu/index.php +23 -6
- package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/nextpage/test/transforms.native.js +42 -0
- package/src/page-list/edit.js +78 -44
- package/src/page-list/editor.scss +6 -0
- package/src/page-list-item/edit.js +2 -3
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
- package/src/paragraph/test/transforms.native.js +50 -0
- package/src/post-content/edit.js +5 -1
- package/src/post-excerpt/index.php +1 -2
- package/src/post-featured-image/dimension-controls.js +0 -8
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-featured-image/style.scss +1 -0
- package/src/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/preformatted/test/transforms.native.js +42 -0
- package/src/pullquote/deprecated.js +2 -6
- package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/pullquote/test/transforms.native.js +46 -0
- package/src/query/edit/query-placeholder.js +10 -5
- package/src/query/test/utils.js +33 -1
- package/src/query/utils.js +19 -6
- package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
- package/src/quote/test/transforms.native.js +67 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +11 -1
- package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/search/test/transforms.native.js +40 -0
- package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/separator/test/transforms.native.js +42 -0
- package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/shortcode/test/transforms.native.js +42 -0
- package/src/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/social-links/test/transforms.native.js +53 -0
- package/src/spacer/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/spacer/test/transforms.native.js +42 -0
- package/src/table/state.js +8 -17
- package/src/template-part/edit/import-controls.js +2 -29
- package/src/template-part/edit/utils/transformers.js +96 -19
- package/src/text-columns/edit.js +1 -6
- package/src/text-columns/save.js +1 -6
- package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/verse/test/transforms.native.js +42 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
- package/src/video/test/transforms.native.js +48 -0
- package/tsconfig.tsbuildinfo +1 -1
package/build/media-text/edit.js
CHANGED
|
@@ -40,20 +40,8 @@ var _constants = require("./constants");
|
|
|
40
40
|
/**
|
|
41
41
|
* Internal dependencies
|
|
42
42
|
*/
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
* Constants
|
|
46
|
-
*/
|
|
47
|
-
const TEMPLATE = [['core/paragraph', {
|
|
48
|
-
placeholder: (0, _i18n._x)('Content…', 'content placeholder')
|
|
49
|
-
}]]; // this limits the resize to a safe zone to avoid making broken layouts
|
|
50
|
-
|
|
51
|
-
const WIDTH_CONSTRAINT_PERCENTAGE = 15;
|
|
52
|
-
|
|
53
|
-
const applyWidthConstraints = width => Math.max(WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE));
|
|
54
|
-
|
|
55
|
-
const LINK_DESTINATION_MEDIA = 'media';
|
|
56
|
-
const LINK_DESTINATION_ATTACHMENT = 'attachment';
|
|
43
|
+
// this limits the resize to a safe zone to avoid making broken layouts
|
|
44
|
+
const applyWidthConstraints = width => Math.max(_constants.WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - _constants.WIDTH_CONSTRAINT_PERCENTAGE));
|
|
57
45
|
|
|
58
46
|
function getImageSourceUrlBySizeSlug(image, slug) {
|
|
59
47
|
var _image$media_details, _image$media_details$, _image$media_details$2;
|
|
@@ -114,13 +102,13 @@ function attributesFromMedia(_ref) {
|
|
|
114
102
|
|
|
115
103
|
let newHref = href;
|
|
116
104
|
|
|
117
|
-
if (linkDestination === LINK_DESTINATION_MEDIA) {
|
|
105
|
+
if (linkDestination === _constants.LINK_DESTINATION_MEDIA) {
|
|
118
106
|
// Update the media link.
|
|
119
107
|
newHref = media.url;
|
|
120
108
|
} // Check if the image is linked to the attachment page.
|
|
121
109
|
|
|
122
110
|
|
|
123
|
-
if (linkDestination === LINK_DESTINATION_ATTACHMENT) {
|
|
111
|
+
if (linkDestination === _constants.LINK_DESTINATION_ATTACHMENT) {
|
|
124
112
|
// Update the media link.
|
|
125
113
|
newHref = media.link;
|
|
126
114
|
}
|
|
@@ -315,8 +303,8 @@ function MediaTextEdit(_ref2) {
|
|
|
315
303
|
label: (0, _i18n.__)('Media width'),
|
|
316
304
|
value: temporaryMediaWidth || mediaWidth,
|
|
317
305
|
onChange: commitWidthChange,
|
|
318
|
-
min: WIDTH_CONSTRAINT_PERCENTAGE,
|
|
319
|
-
max: 100 - WIDTH_CONSTRAINT_PERCENTAGE
|
|
306
|
+
min: _constants.WIDTH_CONSTRAINT_PERCENTAGE,
|
|
307
|
+
max: 100 - _constants.WIDTH_CONSTRAINT_PERCENTAGE
|
|
320
308
|
}));
|
|
321
309
|
const blockProps = (0, _blockEditor.useBlockProps)({
|
|
322
310
|
className: classNames,
|
|
@@ -325,7 +313,7 @@ function MediaTextEdit(_ref2) {
|
|
|
325
313
|
const innerBlocksProps = (0, _blockEditor.useInnerBlocksProps)({
|
|
326
314
|
className: 'wp-block-media-text__content'
|
|
327
315
|
}, {
|
|
328
|
-
template: TEMPLATE
|
|
316
|
+
template: _constants.TEMPLATE
|
|
329
317
|
});
|
|
330
318
|
return (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.InspectorControls, null, mediaTextGeneralSettings), (0, _element.createElement)(_blockEditor.BlockControls, {
|
|
331
319
|
group: "block"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["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","clientId","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","isContentLocked","select","__unstableGetContentLockingParent","getSettings","blockEditorStore","coreStore","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","blockProps","className","innerBlocksProps","template","pullLeft","pullRight"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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, clientId } ) {\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 { imageSizes, image, isContentLocked } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableGetContentLockingParent, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisContentLocked:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\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\n\t\t[ isSelected, mediaId, clientId ]\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<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 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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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{ ! isContentLocked && (\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\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\tisContentLocked,\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":["applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","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_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextEdit","isSelected","clientId","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","isContentLocked","select","__unstableGetContentLockingParent","getSettings","blockEditorStore","coreStore","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","blockProps","className","innerBlocksProps","template","TEMPLATE","pullLeft","pullRight"],"mappings":";;;;;;;;;AAUA;;AAPA;;AAKA;;AACA;;AAEA;;AAUA;;AASA;;AACA;;AACA;;AAKA;;AACA;;AAtCA;AACA;AACA;;AAGA;AACA;AACA;;AA2BA;AACA;AACA;AAUA;AACA,MAAMA,qBAAqB,GAAKC,KAAF,IAC7BC,IAAI,CAACC,GAAL,CACCC,sCADD,EAECF,IAAI,CAACG,GAAL,CAAUJ,KAAV,EAAiB,MAAMG,sCAAvB,CAFD,CADD;;AAMA,SAASE,2BAAT,CAAsCC,KAAtC,EAA6CC,IAA7C,EAAoD;AAAA;;AACnD;AACA,SAAOD,KAAP,aAAOA,KAAP,+CAAOA,KAAK,CAAEE,aAAd,kFAAO,qBAAsBC,KAA7B,oFAAO,sBAA+BF,IAA/B,CAAP,2DAAO,uBAAuCG,UAA9C;AACA;;AAED,SAASC,mBAAT,OAGI;AAAA,MAH0B;AAC7BC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,eAAF;AAAmBC,MAAAA;AAAnB,KADiB;AAE7BC,IAAAA;AAF6B,GAG1B;AACH,SAASC,KAAF,IAAa;AACnB,QAAK,CAAEA,KAAF,IAAW,CAAEA,KAAK,CAACC,GAAxB,EAA8B;AAC7BF,MAAAA,aAAa,CAAE;AACdG,QAAAA,QAAQ,EAAEC,SADI;AAEdC,QAAAA,OAAO,EAAED,SAFK;AAGdE,QAAAA,SAAS,EAAEF,SAHG;AAIdG,QAAAA,QAAQ,EAAEH,SAJI;AAKdI,QAAAA,SAAS,EAAEJ,SALG;AAMdL,QAAAA,IAAI,EAAEK,SANQ;AAOdK,QAAAA,UAAU,EAAEL;AAPE,OAAF,CAAb;AASA;AACA;;AAED,QAAK,qBAAWH,KAAK,CAACC,GAAjB,CAAL,EAA8B;AAC7BD,MAAAA,KAAK,CAACS,IAAN,GAAa,4BAAkBT,KAAK,CAACC,GAAxB,CAAb;AACA;;AAED,QAAII,SAAJ;AACA,QAAIK,GAAJ,CAnBmB,CAoBnB;;AACA,QAAKV,KAAK,CAACW,UAAX,EAAwB;AACvB,UAAKX,KAAK,CAACW,UAAN,KAAqB,OAA1B,EAAoC;AACnCN,QAAAA,SAAS,GAAG,OAAZ;AACA,OAFD,MAEO;AACN;AACA;AACAA,QAAAA,SAAS,GAAG,OAAZ;AACA;AACD,KARD,MAQO;AACN;AACAA,MAAAA,SAAS,GAAGL,KAAK,CAACS,IAAlB;AACA;;AAED,QAAKJ,SAAS,KAAK,OAAnB,EAA6B;AAAA;;AAC5B;AACAK,MAAAA,GAAG,GACF,iBAAAV,KAAK,CAACP,KAAN,oFAAamB,KAAb,0EAAoBX,GAApB,OACA;AADA,8BAEAD,KAAK,CAACR,aAFN,kFAEA,qBAAqBC,KAFrB,oFAEA,sBAA4BmB,KAF5B,2DAEA,uBAAmClB,UAFnC,CADD;AAIA;;AAED,QAAImB,OAAO,GAAGf,IAAd;;AACA,QAAKD,eAAe,KAAKiB,iCAAzB,EAAkD;AACjD;AACAD,MAAAA,OAAO,GAAGb,KAAK,CAACC,GAAhB;AACA,KA9CkB,CAgDnB;;;AACA,QAAKJ,eAAe,KAAKkB,sCAAzB,EAAuD;AACtD;AACAF,MAAAA,OAAO,GAAGb,KAAK,CAACgB,IAAhB;AACA;;AAEDjB,IAAAA,aAAa,CAAE;AACdG,MAAAA,QAAQ,EAAEF,KAAK,CAACiB,GADF;AAEdb,MAAAA,OAAO,EAAEJ,KAAK,CAACkB,EAFD;AAGdb,MAAAA,SAHc;AAIdC,MAAAA,QAAQ,EAAEI,GAAG,IAAIV,KAAK,CAACC,GAJT;AAKdM,MAAAA,SAAS,EAAEP,KAAK,CAACgB,IAAN,IAAcb,SALX;AAMdL,MAAAA,IAAI,EAAEe,OANQ;AAOdL,MAAAA,UAAU,EAAEL;AAPE,KAAF,CAAb;AASA,GA/DD;AAgEA;;AAED,SAASgB,aAAT,QAA8E;AAAA,MAAtD;AAAEvB,IAAAA,UAAF;AAAcwB,IAAAA,UAAd;AAA0BrB,IAAAA,aAA1B;AAAyCsB,IAAAA;AAAzC,GAAsD;AAC7E,QAAM;AACLb,IAAAA,UADK;AAELV,IAAAA,IAFK;AAGLwB,IAAAA,SAHK;AAILC,IAAAA,iBAJK;AAKLC,IAAAA,SALK;AAML3B,IAAAA,eANK;AAOL4B,IAAAA,UAPK;AAQLvB,IAAAA,QARK;AASLE,IAAAA,OATK;AAULsB,IAAAA,aAVK;AAWLrB,IAAAA,SAXK;AAYLC,IAAAA,QAZK;AAaLqB,IAAAA,UAbK;AAcLC,IAAAA,GAdK;AAeLC,IAAAA;AAfK,MAgBFjC,UAhBJ;AAiBA,QAAMkC,aAAa,GAAGlC,UAAU,CAACkC,aAAX,IAA4BC,kCAAlD;AAEA,QAAM;AAAEC,IAAAA,UAAF;AAAc1C,IAAAA,KAAd;AAAqB2C,IAAAA;AAArB,MAAyC,qBAC5CC,MAAF,IAAc;AAAA;;AACb,UAAM;AAAEC,MAAAA,iCAAF;AAAqCC,MAAAA;AAArC,QACLF,MAAM,CAAEG,kBAAF,CADP;AAEA,WAAO;AACNJ,MAAAA,eAAe,EACd,CAAC,CAAEE,iCAAiC,CAAEd,QAAF,CAF/B;AAGN/B,MAAAA,KAAK,EACJc,OAAO,IAAIgB,UAAX,GACGc,MAAM,CAAEI,eAAF,CAAN,CAAoBC,QAApB,CAA8BnC,OAA9B,EAAuC;AACvCoC,QAAAA,OAAO,EAAE;AAD8B,OAAvC,CADH,GAIG,IARE;AASNR,MAAAA,UAAU,kBAAEI,WAAW,EAAb,iDAAE,aAAeJ;AATrB,KAAP;AAWA,GAf6C,EAiB9C,CAAEZ,UAAF,EAAchB,OAAd,EAAuBiB,QAAvB,CAjB8C,CAA/C;AAoBA,QAAMoB,iBAAiB,GAAG,sBAA1B;;AACA,QAAMC,2BAA2B,GAAKC,KAAF,IAAa;AAChD,UAAM;AAAEC,MAAAA;AAAF,QAAYH,iBAAiB,CAACI,OAAlB,CAA0BC,SAA5C;AACA,UAAM;AAAEC,MAAAA,CAAF;AAAKC,MAAAA;AAAL,QAAWL,KAAjB;AACAC,IAAAA,KAAK,CAACK,kBAAN,GAA4B,GAAGF,CAAC,GAAG,GAAK,KAAKC,CAAC,GAAG,GAAK,GAAtD;AACA,GAJD;;AAMA,QAAM,CAAEE,mBAAF,EAAuBC,sBAAvB,IAAkD,uBAAU,IAAV,CAAxD;AAEA,QAAMC,aAAa,GAAGzD,mBAAmB,CAAE;AAAEC,IAAAA,UAAF;AAAcG,IAAAA;AAAd,GAAF,CAAzC;;AAEA,QAAMsD,SAAS,GAAKC,KAAF,IAAa;AAC9BvD,IAAAA,aAAa,CAAEuD,KAAF,CAAb;AACA,GAFD;;AAIA,QAAMC,aAAa,GAAKvE,KAAF,IAAa;AAClCmE,IAAAA,sBAAsB,CAAEpE,qBAAqB,CAAEC,KAAF,CAAvB,CAAtB;AACA,GAFD;;AAGA,QAAMwE,iBAAiB,GAAKxE,KAAF,IAAa;AACtCe,IAAAA,aAAa,CAAE;AACd4B,MAAAA,UAAU,EAAE5C,qBAAqB,CAAEC,KAAF;AADnB,KAAF,CAAb;AAGAmE,IAAAA,sBAAsB,CAAE,IAAF,CAAtB;AACA,GALD;;AAOA,QAAMM,UAAU,GAAG,yBAAY;AAC9B,8BAA0B,YAAY/B,aADR;AAE9B,mBAAeN,UAFe;AAG9B,4BAAwBG,iBAHM;AAI9B,KAAG,yBAAyBM,iBAAmB,EAA/C,GAAoDA,iBAJtB;AAK9B,qBAAiBP;AALa,GAAZ,CAAnB;AAOA,QAAMoC,WAAW,GAAI,GAAGR,mBAAmB,IAAIvB,UAAY,GAA3D;AACA,QAAMgC,mBAAmB,GACxB,YAAYjC,aAAZ,GACI,OAAOgC,WAAa,EADxB,GAEI,GAAGA,WAAa,MAHrB;AAIA,QAAMd,KAAK,GAAG;AACbe,IAAAA,mBADa;AAEbC,IAAAA,aAAa,EAAED;AAFF,GAAd;;AAIA,QAAME,gBAAgB,GAAKC,WAAF,IAAmB;AAC3C/D,IAAAA,aAAa,CAAE;AAAEG,MAAAA,QAAQ,EAAE4D;AAAZ,KAAF,CAAb;AACA,GAFD;;AAGA,QAAMC,yBAAyB,GAAKC,SAAF,IAAiB;AAClDjE,IAAAA,aAAa,CAAE;AAAE8B,MAAAA,iBAAiB,EAAEmC;AAArB,KAAF,CAAb;AACA,GAFD;;AAIA,QAAMC,gBAAgB,GAAGjC,UAAU,CACjCkC,MADuB,CACf;AAAA,QAAE;AAAE3E,MAAAA;AAAF,KAAF;AAAA,WAAgBF,2BAA2B,CAAEC,KAAF,EAASC,IAAT,CAA3C;AAAA,GADe,EAEvB4E,GAFuB,CAElB;AAAA,QAAE;AAAEC,MAAAA,IAAF;AAAQ7E,MAAAA;AAAR,KAAF;AAAA,WAAwB;AAAEoD,MAAAA,KAAK,EAAEpD,IAAT;AAAe8E,MAAAA,KAAK,EAAED;AAAtB,KAAxB;AAAA,GAFkB,CAAzB;;AAGA,QAAME,WAAW,GAAKC,gBAAF,IAAwB;AAC3C,UAAMC,MAAM,GAAGnF,2BAA2B,CAAEC,KAAF,EAASiF,gBAAT,CAA1C;;AAEA,QAAK,CAAEC,MAAP,EAAgB;AACf,aAAO,IAAP;AACA;;AAEDzE,IAAAA,aAAa,CAAE;AACdO,MAAAA,QAAQ,EAAEkE,MADI;AAEd1C,MAAAA,aAAa,EAAEyC;AAFD,KAAF,CAAb;AAIA,GAXD;;AAaA,QAAME,wBAAwB,GAC7B,4BAAC,qBAAD;AAAW,IAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,KACC,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,iBAAJ,CAFT;AAGC,IAAA,OAAO,EAAGlD,iBAHX;AAIC,IAAA,QAAQ,EAAG,MACVxB,aAAa,CAAE;AACdwB,MAAAA,iBAAiB,EAAE,CAAEA;AADP,KAAF;AALf,IADD,EAWGlB,SAAS,KAAK,OAAd,IACD,4BAAC,yBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,kCAAJ,CAFT;AAGC,IAAA,OAAO,EAAGiB,SAHX;AAIC,IAAA,QAAQ,EAAG,MACVvB,aAAa,CAAE;AACduB,MAAAA,SAAS,EAAE,CAAEA;AADC,KAAF;AALf,IAZF,EAuBGA,SAAS,IAAIhB,QAAb,IAAyBD,SAAS,KAAK,OAAvC,IACD,4BAAC,4BAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,oBAAJ,CAFT;AAGC,IAAA,GAAG,EAAGC,QAHP;AAIC,IAAA,KAAK,EAAGE,UAJT;AAKC,IAAA,QAAQ,EAAKmC,KAAF,IACV5C,aAAa,CAAE;AAAES,MAAAA,UAAU,EAAEmC;AAAd,KAAF,CANf;AAQC,IAAA,WAAW,EAAGD,2BARf;AASC,IAAA,MAAM,EAAGA;AATV,IAxBF,EAoCGrC,SAAS,KAAK,OAAd,IACD,4BAAC,2BAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,6BAAJ,CAFT;AAGC,IAAA,KAAK,EAAGH,QAHT;AAIC,IAAA,QAAQ,EAAG2D,gBAJZ;AAKC,IAAA,IAAI,EACH,qDACC,4BAAC,wBAAD;AAAc,MAAA,IAAI,EAAC;AAAnB,OACG,cAAI,mCAAJ,CADH,CADD,EAIG,cACD,gDADC,CAJH;AANF,IArCF,EAsDGxD,SAAS,KAAK,OAAd,IACD,4BAAC,2CAAD;AACC,IAAA,aAAa,EAAGiE,WADjB;AAEC,IAAA,IAAI,EAAGxC,aAFR;AAGC,IAAA,gBAAgB,EAAGmC,gBAHpB;AAIC,IAAA,WAAW,EAAG,KAJf;AAKC,IAAA,aAAa,EAAG,cAAI,kCAAJ;AALjB,IAvDF,EA+DG3D,QAAQ,IACT,4BAAC,wBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAG,cAAI,aAAJ,CAFT;AAGC,IAAA,KAAK,EAAG4C,mBAAmB,IAAIvB,UAHhC;AAIC,IAAA,QAAQ,EAAG6B,iBAJZ;AAKC,IAAA,GAAG,EAAGrE,sCALP;AAMC,IAAA,GAAG,EAAG,MAAMA;AANb,IAhEF,CADD;AA6EA,QAAMuF,UAAU,GAAG,gCAAe;AACjCC,IAAAA,SAAS,EAAElB,UADsB;AAEjCb,IAAAA;AAFiC,GAAf,CAAnB;AAKA,QAAMgC,gBAAgB,GAAG,sCACxB;AAAED,IAAAA,SAAS,EAAE;AAAb,GADwB,EAExB;AAAEE,IAAAA,QAAQ,EAAEC;AAAZ,GAFwB,CAAzB;AAKA,SACC,qDACC,4BAAC,8BAAD,QAAqBL,wBAArB,CADD,EAEC,4BAAC,0BAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACG,CAAExC,eAAF,IACD,qDACC,4BAAC,0CAAD;AACC,IAAA,QAAQ,EAAG8B,yBADZ;AAEC,IAAA,KAAK,EAAGlC;AAFT,IADD,EAKC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGkD,eADR;AAEC,IAAA,KAAK,EAAG,cAAI,oBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGrD,aAAa,KAAK,MAH9B;AAIC,IAAA,OAAO,EAAG,MACT3B,aAAa,CAAE;AAAE2B,MAAAA,aAAa,EAAE;AAAjB,KAAF;AALf,IALD,EAaC,4BAAC,yBAAD;AACC,IAAA,IAAI,EAAGsD,gBADR;AAEC,IAAA,KAAK,EAAG,cAAI,qBAAJ,CAFT;AAGC,IAAA,QAAQ,EAAGtD,aAAa,KAAK,OAH9B;AAIC,IAAA,OAAO,EAAG,MACT3B,aAAa,CAAE;AAAE2B,MAAAA,aAAa,EAAE;AAAjB,KAAF;AALf,IAbD,CAFF,EA0BGrB,SAAS,KAAK,OAAd,IACD,4BAAC,0CAAD;AACC,IAAA,GAAG,EAAGP,IAAI,IAAI,EADf;AAEC,IAAA,WAAW,EAAGuD,SAFf;AAGC,IAAA,eAAe,EAAGxD,eAHnB;AAIC,IAAA,SAAS,EAAGQ,SAJb;AAKC,IAAA,QAAQ,EAAGf,KAAK,IAAIA,KAAK,CAACI,UAL3B;AAMC,IAAA,SAAS,EAAGJ,KAAK,IAAIA,KAAK,CAAC0B,IAN5B;AAOC,IAAA,UAAU,EAAGS,UAPd;AAQC,IAAA,SAAS,EAAGD,SARb;AASC,IAAA,GAAG,EAAGI;AATP,IA3BF,CAFD,EA0CC,mCAAU8C,UAAV,EACGhD,aAAa,KAAK,OAAlB,IAA6B,mCAAUkD,gBAAV,CADhC,EAEC,4BAAC,uBAAD;AACC,IAAA,SAAS,EAAC,4BADX;AAEC,IAAA,aAAa,EAAGxB,aAFjB;AAGC,IAAA,aAAa,EAAGG,aAHjB;AAIC,IAAA,iBAAiB,EAAGC,iBAJrB;AAKC,IAAA,GAAG,EAAGf,iBALP;AAOEjC,IAAAA,UAPF;AAQEc,IAAAA,SARF;AASEF,IAAAA,UATF;AAUEG,IAAAA,iBAVF;AAWErB,IAAAA,QAXF;AAYEE,IAAAA,OAZF;AAaEsB,IAAAA,aAbF;AAcErB,IAAAA,SAdF;AAeEC,IAAAA,QAfF;AAgBEqB,IAAAA,UAhBF;AAiBEM,IAAAA;AAjBF,IAFD,EAsBGP,aAAa,KAAK,OAAlB,IAA6B,mCAAUkD,gBAAV,CAtBhC,CA1CD,CADD;AAqEA;;eAEczD,a","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} 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, clientId } ) {\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 { imageSizes, image, isContentLocked } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableGetContentLockingParent, getSettings } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tisContentLocked:\n\t\t\t\t\t!! __unstableGetContentLockingParent( clientId ),\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\n\t\t[ isSelected, mediaId, clientId ]\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<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 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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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{ ! isContentLocked && (\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\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\tisContentLocked,\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"]}
|
|
@@ -9,8 +9,6 @@ exports.default = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _element = require("@wordpress/element");
|
|
11
11
|
|
|
12
|
-
var _lodash = require("lodash");
|
|
13
|
-
|
|
14
12
|
var _reactNative = require("react-native");
|
|
15
13
|
|
|
16
14
|
var _i18n = require("@wordpress/i18n");
|
|
@@ -25,6 +23,8 @@ var _compose = require("@wordpress/compose");
|
|
|
25
23
|
|
|
26
24
|
var _icons = require("@wordpress/icons");
|
|
27
25
|
|
|
26
|
+
var _constants = require("./constants");
|
|
27
|
+
|
|
28
28
|
var _mediaContainer = _interopRequireDefault(require("./media-container"));
|
|
29
29
|
|
|
30
30
|
var _style = _interopRequireDefault(require("./style.scss"));
|
|
@@ -42,12 +42,11 @@ var _style = _interopRequireDefault(require("./style.scss"));
|
|
|
42
42
|
*/
|
|
43
43
|
const TEMPLATE = [['core/paragraph']]; // this limits the resize to a safe zone to avoid making broken layouts
|
|
44
44
|
|
|
45
|
-
const WIDTH_CONSTRAINT_PERCENTAGE = 15;
|
|
46
45
|
const BREAKPOINTS = {
|
|
47
46
|
mobile: 480
|
|
48
47
|
};
|
|
49
48
|
|
|
50
|
-
const applyWidthConstraints = width => Math.max(WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - WIDTH_CONSTRAINT_PERCENTAGE));
|
|
49
|
+
const applyWidthConstraints = width => Math.max(_constants.WIDTH_CONSTRAINT_PERCENTAGE, Math.min(width, 100 - _constants.WIDTH_CONSTRAINT_PERCENTAGE));
|
|
51
50
|
|
|
52
51
|
class MediaTextEdit extends _element.Component {
|
|
53
52
|
constructor() {
|
|
@@ -95,8 +94,10 @@ class MediaTextEdit extends _element.Component {
|
|
|
95
94
|
}
|
|
96
95
|
|
|
97
96
|
if (mediaType === 'image' && media.sizes) {
|
|
97
|
+
var _media$sizes$large, _media$media_details, _media$media_details$, _media$media_details$2;
|
|
98
|
+
|
|
98
99
|
// Try the "large" size URL, falling back to the "full" size URL below.
|
|
99
|
-
src = (
|
|
100
|
+
src = ((_media$sizes$large = media.sizes.large) === null || _media$sizes$large === void 0 ? void 0 : _media$sizes$large.url) || (media === null || media === void 0 ? void 0 : (_media$media_details = media.media_details) === null || _media$media_details === void 0 ? void 0 : (_media$media_details$ = _media$media_details.sizes) === null || _media$media_details$ === void 0 ? void 0 : (_media$media_details$2 = _media$media_details$.large) === null || _media$media_details$2 === void 0 ? void 0 : _media$media_details$2.source_url);
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
setAttributes({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["TEMPLATE","WIDTH_CONSTRAINT_PERCENTAGE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","mediaAlt","alt","mediaId","id","mediaUrl","url","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","title","isActive","onClick","onVerticalAlignmentChange","alignment","replace","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get } from 'lodash';\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\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' && media.sizes ) {\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\tget( media, [ 'sizes', 'large', 'url' ] ) ||\n\t\t\t\tget( media, [\n\t\t\t\t\t'media_details',\n\t\t\t\t\t'sizes',\n\t\t\t\t\t'large',\n\t\t\t\t\t'source_url',\n\t\t\t\t] );\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\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\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</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.native.js"],"names":["TEMPLATE","BREAKPOINTS","mobile","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","MediaTextEdit","Component","constructor","arguments","onSelectMedia","bind","onMediaUpdate","onWidthChange","commitWidthChange","onLayoutChange","onMediaSelected","onReplaceMedia","onSetOpenPickerRef","onSetImageFill","state","mediaWidth","containerWidth","isMediaSelected","getDerivedStateFromProps","props","isSelected","isAncestorSelected","media","setAttributes","mediaType","src","media_type","type","sizes","large","url","media_details","source_url","mediaAlt","alt","mediaId","id","mediaUrl","imageFill","undefined","focalPoint","setState","nativeEvent","layout","openPickerRef","openPicker","attributes","getControls","renderMediaArea","shouldStack","mediaPosition","verticalAlignment","mediaAreaWidth","styles","mediaAreaPadding","aligmentStyles","onFocus","render","backgroundColor","isRTL","style","blockWidth","isStackedOnMobile","isMobile","temporaryMediaWidth","widthString","innerBlockWidth","innerBlockWidthString","hasMedia","MEDIA_TYPE_IMAGE","MEDIA_TYPE_VIDEO","innerBlockContainerStyle","innerBlock","innerBlockStackMediaLeft","innerBlockStackMediaRight","color","innerBlockPaddings","containerStyles","paddingBottom","mediaContainerStyle","flex","mediaStackLeft","mediaStackRight","mediaLeft","mediaRight","toolbarControls","icon","pullRight","pullLeft","title","isActive","onClick","onVerticalAlignmentChange","alignment","replace","select","clientId","getSelectedBlockClientId","getBlockParents","getSettings","blockEditorStore","parents","selectedBlockClientId","includes"],"mappings":";;;;;;;;;AAmBA;;AAhBA;;AAKA;;AACA;;AAWA;;AAMA;;AACA;;AACA;;AAKA;;AACA;;AACA;;AAnCA;AACA;AACA;;AAGA;AACA;AACA;;AAuBA;AACA;AACA;AAKA,MAAMA,QAAQ,GAAG,CAAE,CAAE,gBAAF,CAAF,CAAjB,C,CACA;;AACA,MAAMC,WAAW,GAAG;AACnBC,EAAAA,MAAM,EAAE;AADW,CAApB;;AAGA,MAAMC,qBAAqB,GAAKC,KAAF,IAC7BC,IAAI,CAACC,GAAL,CACCC,sCADD,EAECF,IAAI,CAACG,GAAL,CAAUJ,KAAV,EAAiB,MAAMG,sCAAvB,CAFD,CADD;;AAMA,MAAME,aAAN,SAA4BC,kBAA5B,CAAsC;AACrCC,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBC,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKC,aAAL,GAAqB,KAAKA,aAAL,CAAmBD,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKE,aAAL,GAAqB,KAAKA,aAAL,CAAmBF,IAAnB,CAAyB,IAAzB,CAArB;AACA,SAAKG,iBAAL,GAAyB,KAAKA,iBAAL,CAAuBH,IAAvB,CAA6B,IAA7B,CAAzB;AACA,SAAKI,cAAL,GAAsB,KAAKA,cAAL,CAAoBJ,IAApB,CAA0B,IAA1B,CAAtB;AACA,SAAKK,eAAL,GAAuB,KAAKA,eAAL,CAAqBL,IAArB,CAA2B,IAA3B,CAAvB;AACA,SAAKM,cAAL,GAAsB,KAAKA,cAAL,CAAoBN,IAApB,CAA0B,IAA1B,CAAtB;AACA,SAAKO,kBAAL,GAA0B,KAAKA,kBAAL,CAAwBP,IAAxB,CAA8B,IAA9B,CAA1B;AACA,SAAKQ,cAAL,GAAsB,KAAKA,cAAL,CAAoBR,IAApB,CAA0B,IAA1B,CAAtB;AAEA,SAAKS,KAAL,GAAa;AACZC,MAAAA,UAAU,EAAE,IADA;AAEZC,MAAAA,cAAc,EAAE,CAFJ;AAGZC,MAAAA,eAAe,EAAE;AAHL,KAAb;AAKA;;AAE8B,SAAxBC,wBAAwB,CAAEC,KAAF,EAASL,KAAT,EAAiB;AAC/C,WAAO;AACNG,MAAAA,eAAe,EACdH,KAAK,CAACG,eAAN,IACAE,KAAK,CAACC,UADN,IAEA,CAAED,KAAK,CAACE;AAJH,KAAP;AAMA;;AAEDjB,EAAAA,aAAa,CAAEkB,KAAF,EAAU;AACtB,UAAM;AAAEC,MAAAA;AAAF,QAAoB,KAAKJ,KAA/B;AAEA,QAAIK,SAAJ;AACA,QAAIC,GAAJ,CAJsB,CAKtB;;AACA,QAAKH,KAAK,CAACI,UAAX,EAAwB;AACvB,UAAKJ,KAAK,CAACI,UAAN,KAAqB,OAA1B,EAAoC;AACnCF,QAAAA,SAAS,GAAG,OAAZ;AACA,OAFD,MAEO;AACN;AACA;AACAA,QAAAA,SAAS,GAAG,OAAZ;AACA;AACD,KARD,MAQO;AACN;AACAA,MAAAA,SAAS,GAAGF,KAAK,CAACK,IAAlB;AACA;;AAED,QAAKH,SAAS,KAAK,OAAd,IAAyBF,KAAK,CAACM,KAApC,EAA4C;AAAA;;AAC3C;AACAH,MAAAA,GAAG,GACF,uBAAAH,KAAK,CAACM,KAAN,CAAYC,KAAZ,0EAAmBC,GAAnB,MACAR,KADA,aACAA,KADA,+CACAA,KAAK,CAAES,aADP,kFACA,qBAAsBH,KADtB,oFACA,sBAA6BC,KAD7B,2DACA,uBAAoCG,UADpC,CADD;AAGA;;AAEDT,IAAAA,aAAa,CAAE;AACdU,MAAAA,QAAQ,EAAEX,KAAK,CAACY,GADF;AAEdC,MAAAA,OAAO,EAAEb,KAAK,CAACc,EAFD;AAGdZ,MAAAA,SAHc;AAIda,MAAAA,QAAQ,EAAEZ,GAAG,IAAIH,KAAK,CAACQ,GAJT;AAKdQ,MAAAA,SAAS,EAAEC,SALG;AAMdC,MAAAA,UAAU,EAAED;AANE,KAAF,CAAb;AAQA;;AAEDjC,EAAAA,aAAa,CAAEgB,KAAF,EAAU;AACtB,UAAM;AAAEC,MAAAA;AAAF,QAAoB,KAAKJ,KAA/B;AAEAI,IAAAA,aAAa,CAAE;AACdY,MAAAA,OAAO,EAAEb,KAAK,CAACc,EADD;AAEdC,MAAAA,QAAQ,EAAEf,KAAK,CAACQ;AAFF,KAAF,CAAb;AAIA;;AAEDvB,EAAAA,aAAa,CAAEZ,KAAF,EAAU;AACtB,SAAK8C,QAAL,CAAe;AACd1B,MAAAA,UAAU,EAAErB,qBAAqB,CAAEC,KAAF;AADnB,KAAf;AAGA;;AAEDa,EAAAA,iBAAiB,CAAEb,KAAF,EAAU;AAC1B,UAAM;AAAE4B,MAAAA;AAAF,QAAoB,KAAKJ,KAA/B;AAEAI,IAAAA,aAAa,CAAE;AACdR,MAAAA,UAAU,EAAErB,qBAAqB,CAAEC,KAAF;AADnB,KAAF,CAAb;AAGA,SAAK8C,QAAL,CAAe;AACd1B,MAAAA,UAAU,EAAE;AADE,KAAf;AAGA;;AAEDN,EAAAA,cAAc,OAAoB;AAAA,QAAlB;AAAEiC,MAAAA;AAAF,KAAkB;AACjC,UAAM;AAAE/C,MAAAA;AAAF,QAAY+C,WAAW,CAACC,MAA9B;AACA,UAAM;AAAE3B,MAAAA;AAAF,QAAqB,KAAKF,KAAhC;;AAEA,QAAKE,cAAc,KAAKrB,KAAxB,EAAgC;AAC/B,aAAO,IAAP;AACA;;AAED,SAAK8C,QAAL,CAAe;AACdzB,MAAAA,cAAc,EAAErB;AADF,KAAf;AAGA;;AAEDe,EAAAA,eAAe,GAAG;AACjB,SAAK+B,QAAL,CAAe;AAAExB,MAAAA,eAAe,EAAE;AAAnB,KAAf;AACA;;AAEDN,EAAAA,cAAc,GAAG;AAChB,QAAK,KAAKiC,aAAV,EAA0B;AACzB,WAAKA,aAAL;AACA;AACD;;AAEDhC,EAAAA,kBAAkB,CAAEiC,UAAF,EAAe;AAChC,SAAKD,aAAL,GAAqBC,UAArB;AACA;;AAEDhC,EAAAA,cAAc,GAAG;AAChB,UAAM;AAAEiC,MAAAA,UAAF;AAAcvB,MAAAA;AAAd,QAAgC,KAAKJ,KAA3C;AACA,UAAM;AAAEmB,MAAAA;AAAF,QAAgBQ,UAAtB;AAEAvB,IAAAA,aAAa,CAAE;AACde,MAAAA,SAAS,EAAE,CAAEA;AADC,KAAF,CAAb;AAGA;;AAEDS,EAAAA,WAAW,GAAG;AACb,UAAM;AAAED,MAAAA;AAAF,QAAiB,KAAK3B,KAA5B;AACA,UAAM;AAAEmB,MAAAA;AAAF,QAAgBQ,UAAtB;AAEA,WACC,4BAAC,8BAAD,QACC,4BAAC,qBAAD;AAAW,MAAA,KAAK,EAAG,cAAI,UAAJ;AAAnB,OACC,4BAAC,yBAAD;AACC,MAAA,KAAK,EAAG,cAAI,kCAAJ,CADT;AAEC,MAAA,OAAO,EAAGR,SAFX;AAGC,MAAA,QAAQ,EAAG,KAAKzB;AAHjB,MADD,CADD,CADD;AAWA;;AACDmC,EAAAA,eAAe,CAAEC,WAAF,EAAgB;AAC9B,UAAM;AAAEhC,MAAAA,eAAF;AAAmBD,MAAAA;AAAnB,QAAsC,KAAKF,KAAjD;AACA,UAAM;AAAEgC,MAAAA,UAAF;AAAc1B,MAAAA;AAAd,QAA6B,KAAKD,KAAxC;AACA,UAAM;AACLc,MAAAA,QADK;AAELE,MAAAA,OAFK;AAGLe,MAAAA,aAHK;AAIL1B,MAAAA,SAJK;AAKLa,MAAAA,QALK;AAMLtB,MAAAA,UANK;AAOLuB,MAAAA,SAPK;AAQLE,MAAAA,UARK;AASLW,MAAAA;AATK,QAUFL,UAVJ;AAWA,UAAMM,cAAc,GACnBrC,UAAU,IAAI,CAAEkC,WAAhB,GACKjC,cAAc,GAAGD,UAAnB,GAAkC,GAAlC,GACAsC,eAAOC,gBAAP,CAAwB3D,KAF3B,GAGGqB,cAJJ;AAKA,UAAMuC,cAAc,GACnBF,eACE,yBAAyBF,iBAAiB,IAAI,QAAU,EAD1D,CADD;AAKA,WACC,4BAAC,uBAAD;AACC,MAAA,iBAAiB,EAAG,KAAK3C,iBAD1B;AAEC,MAAA,eAAe,EAAGS,eAFnB;AAGC,MAAA,OAAO,EAAG,KAAKE,KAAL,CAAWqC,OAHtB;AAIC,MAAA,eAAe,EAAG,KAAK9C,eAJxB;AAKC,MAAA,aAAa,EAAG,KAAKJ,aALtB;AAMC,MAAA,aAAa,EAAG,KAAKF,aANtB;AAOC,MAAA,kBAAkB,EAAG,KAAKQ,kBAP3B;AAQC,MAAA,aAAa,EAAG,KAAKL,aARtB;AASC,MAAA,UAAU,EAAG6C,cATd;AAWEnB,MAAAA,QAXF;AAYEE,MAAAA,OAZF;AAaEX,MAAAA,SAbF;AAcEa,MAAAA,QAdF;AAeEa,MAAAA,aAfF;AAgBEZ,MAAAA,SAhBF;AAiBEE,MAAAA,UAjBF;AAkBEpB,MAAAA,UAlBF;AAmBEmC,MAAAA,cAnBF;AAoBEN,MAAAA;AApBF,MADD;AAyBA;;AAEDQ,EAAAA,MAAM,GAAG;AACR,UAAM;AACLX,MAAAA,UADK;AAELY,MAAAA,eAFK;AAGLnC,MAAAA,aAHK;AAILH,MAAAA,UAJK;AAKLuC,MAAAA,KALK;AAMLC,MAAAA,KANK;AAOLC,MAAAA;AAPK,QAQF,KAAK1C,KART;AASA,UAAM;AACL2C,MAAAA,iBADK;AAELxB,MAAAA,SAFK;AAGLY,MAAAA,aAHK;AAILnC,MAAAA,UAJK;AAKLS,MAAAA,SALK;AAML2B,MAAAA;AANK,QAOFL,UAPJ;AAQA,UAAM;AAAE9B,MAAAA,cAAF;AAAkBC,MAAAA;AAAlB,QAAsC,KAAKH,KAAjD;AAEA,UAAMiD,QAAQ,GAAG/C,cAAc,GAAGxB,WAAW,CAACC,MAA9C;AACA,UAAMwD,WAAW,GAAGa,iBAAiB,IAAIC,QAAzC;AACA,UAAMC,mBAAmB,GAAGf,WAAW,GACpC,GADoC,GAEpC,KAAKnC,KAAL,CAAWC,UAAX,IAAyBA,UAF5B;AAGA,UAAMkD,WAAW,GAAI,GAAGD,mBAAqB,GAA7C;AACA,UAAME,eAAe,GAAGjB,WAAW,GAAG,GAAH,GAAS,MAAMe,mBAAlD;AACA,UAAMG,qBAAqB,GAAI,GAAGD,eAAiB,GAAnD;AACA,UAAME,QAAQ,GACb5C,SAAS,KAAK6C,6BAAd,IAAkC7C,SAAS,KAAK8C,6BADjD;AAGA,UAAMC,wBAAwB,GAAG,CAChC;AAAE5E,MAAAA,KAAK,EAAEwE;AAAT,KADgC,EAEhC,CAAElB,WAAF,GACGI,eAAOmB,UADV,GAEG,EACA,IAAKtB,aAAa,KAAK,MAAlB,GACFG,eAAOoB,wBADL,GAEFpB,eAAOqB,yBAFV;AADA,KAJ6B,EAShC,CAAE,CAAAd,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEF,eAAP,KAA0BA,eAAe,CAACiB,KAA5C,KACCtB,eAAOuB,kBAVwB,CAAjC;AAaA,UAAMC,eAAe,GAAG,EACvB,GAAGxB,eAAQ,qBAAR,CADoB;AAEvB,SAAGA,eACD,yBAAyBF,iBAAiB,IAAI,QAAU,EADvD,CAFoB;AAKvB,UAAKD,aAAa,KAAK,OAAlB,GACFG,eAAQ,wBAAR,CADE,GAEF,EAFH,CALuB;AAQvB,UAAKJ,WAAW,IAAII,eAAQ,sBAAR,CAApB,CARuB;AASvB,UAAKJ,WAAW,IAAIC,aAAa,KAAK,OAAjC,GACFG,eAAQ,6CAAR,CADE,GAEF,EAFH,CATuB;AAYvB,UAAKjC,UAAU,IAAIiC,eAAQ,aAAR,CAAnB,CAZuB;AAavBK,MAAAA,eAAe,EAAE,CAAAE,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEF,eAAP,KAA0BA,eAAe,CAACiB,KAbpC;AAcvBG,MAAAA,aAAa,EAAE;AAdQ,KAAxB;AAiBA,UAAMC,mBAAmB,GAAG,CAC3B;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAD2B,EAE3B/B,WAAW,GACR,EACA,IAAKC,aAAa,KAAK,MAAlB,IACJG,eAAO4B,cADR,CADA;AAGA,UAAK/B,aAAa,KAAK,OAAlB,IACJG,eAAO6B,eADR;AAHA,KADQ,GAOR,EACA,IAAKhC,aAAa,KAAK,MAAlB,IAA4BG,eAAO8B,SAAxC,CADA;AAEA,UAAKjC,aAAa,KAAK,OAAlB,IAA6BG,eAAO+B,UAAzC;AAFA,KATwB,CAA5B;AAeA,UAAMC,eAAe,GAAG,CACvB;AACCC,MAAAA,IAAI,EAAE3B,KAAK,GAAG4B,gBAAH,GAAeC,eAD3B;AAECC,MAAAA,KAAK,EAAE,cAAI,oBAAJ,CAFR;AAGCC,MAAAA,QAAQ,EAAExC,aAAa,KAAK,MAH7B;AAICyC,MAAAA,OAAO,EAAE,MAAMpE,aAAa,CAAE;AAAE2B,QAAAA,aAAa,EAAE;AAAjB,OAAF;AAJ7B,KADuB,EAOvB;AACCoC,MAAAA,IAAI,EAAE3B,KAAK,GAAG6B,eAAH,GAAcD,gBAD1B;AAECE,MAAAA,KAAK,EAAE,cAAI,qBAAJ,CAFR;AAGCC,MAAAA,QAAQ,EAAExC,aAAa,KAAK,OAH7B;AAICyC,MAAAA,OAAO,EAAE,MAAMpE,aAAa,CAAE;AAAE2B,QAAAA,aAAa,EAAE;AAAjB,OAAF;AAJ7B,KAPuB,CAAxB;;AAeA,UAAM0C,yBAAyB,GAAKC,SAAF,IAAiB;AAClDtE,MAAAA,aAAa,CAAE;AAAE4B,QAAAA,iBAAiB,EAAE0C;AAArB,OAAF,CAAb;AACA,KAFD;;AAIA,WACC,qDACGrE,SAAS,KAAK6C,6BAAd,IAAkC,KAAKtB,WAAL,EADrC,EAEC,4BAAC,0BAAD,QACGqB,QAAQ,IACT,4BAAC,wBAAD,QACC,4BAAC,kBAAD;AACC,MAAA,KAAK,EAAG,cAAI,YAAJ,CADT;AAEC,MAAA,IAAI,EAAG0B,cAFR;AAGC,MAAA,OAAO,EAAG,KAAKnF;AAHhB,MADD,CAFF,EAUG,CAAE,CAAEM,eAAF,IACHO,SAAS,KAAK8C,6BADb,KAED,qDACC,4BAAC,wBAAD;AAAc,MAAA,QAAQ,EAAGe;AAAzB,MADD,EAEC,4BAAC,0CAAD;AACC,MAAA,QAAQ,EAAGO,yBADZ;AAEC,MAAA,KAAK,EAAGzC;AAFT,MAFD,CAZF,CAFD,EAuBC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG0B,eADT;AAEC,MAAA,QAAQ,EAAG,KAAKpE;AAFjB,OAIC,4BAAC,iBAAD;AACC,MAAA,KAAK,EAAG,CACP,CAAEwC,WAAW,IAAI,CAAEX,SAAnB,KAAkC;AACjC3C,QAAAA,KAAK,EAAEsE;AAD0B,OAD3B,EAIPc,mBAJO;AADT,OAQG,KAAK/B,eAAL,CAAsBC,WAAtB,CARH,CAJD,EAcC,4BAAC,iBAAD;AAAM,MAAA,KAAK,EAAGsB;AAAd,OACC,4BAAC,wBAAD;AACC,MAAA,QAAQ,EAAGhF,QADZ;AAEC,MAAA,UAAU,EAAGsE;AAFd,MADD,CAdD,CAvBD,CADD;AA+CA;;AAjVoC;;eAoVvB,sBACd,6BAAY,iBAAZ,CADc,EAEd,sBAAY,CAAEkC,MAAF,YAA4B;AAAA,MAAlB;AAAEC,IAAAA;AAAF,GAAkB;AACvC,QAAM;AAAEC,IAAAA,wBAAF;AAA4BC,IAAAA,eAA5B;AAA6CC,IAAAA;AAA7C,MACLJ,MAAM,CAAEK,kBAAF,CADP;AAGA,QAAMC,OAAO,GAAGH,eAAe,CAAEF,QAAF,EAAY,IAAZ,CAA/B;AAEA,QAAMM,qBAAqB,GAAGL,wBAAwB,EAAtD;AACA,QAAM5E,kBAAkB,GACvBiF,qBAAqB,IAAID,OAAO,CAACE,QAAR,CAAkBD,qBAAlB,CAD1B;AAGA,SAAO;AACNlF,IAAAA,UAAU,EAAEkF,qBAAqB,KAAKN,QADhC;AAEN3E,IAAAA,kBAFM;AAGNsC,IAAAA,KAAK,EAAEwC,WAAW,GAAGxC;AAHf,GAAP;AAKA,CAfD,CAFc,EAkBZ3D,aAlBY,C","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInnerBlocks,\n\tInspectorControls,\n\twithColors,\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Component } from '@wordpress/element';\nimport {\n\tButton,\n\tToolbarGroup,\n\tPanelBody,\n\tToggleControl,\n} from '@wordpress/components';\nimport { withSelect } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { pullLeft, pullRight, replace } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { WIDTH_CONSTRAINT_PERCENTAGE } from './constants';\nimport MediaContainer from './media-container';\nimport styles from './style.scss';\n\nconst TEMPLATE = [ [ 'core/paragraph' ] ];\n// this limits the resize to a safe zone to avoid making broken layouts\nconst BREAKPOINTS = {\n\tmobile: 480,\n};\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nclass MediaTextEdit extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.onSelectMedia = this.onSelectMedia.bind( this );\n\t\tthis.onMediaUpdate = this.onMediaUpdate.bind( this );\n\t\tthis.onWidthChange = this.onWidthChange.bind( this );\n\t\tthis.commitWidthChange = this.commitWidthChange.bind( this );\n\t\tthis.onLayoutChange = this.onLayoutChange.bind( this );\n\t\tthis.onMediaSelected = this.onMediaSelected.bind( this );\n\t\tthis.onReplaceMedia = this.onReplaceMedia.bind( this );\n\t\tthis.onSetOpenPickerRef = this.onSetOpenPickerRef.bind( this );\n\t\tthis.onSetImageFill = this.onSetImageFill.bind( this );\n\n\t\tthis.state = {\n\t\t\tmediaWidth: null,\n\t\t\tcontainerWidth: 0,\n\t\t\tisMediaSelected: false,\n\t\t};\n\t}\n\n\tstatic getDerivedStateFromProps( props, state ) {\n\t\treturn {\n\t\t\tisMediaSelected:\n\t\t\t\tstate.isMediaSelected &&\n\t\t\t\tprops.isSelected &&\n\t\t\t\t! props.isAncestorSelected,\n\t\t};\n\t}\n\n\tonSelectMedia( media ) {\n\t\tconst { setAttributes } = this.props;\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' && media.sizes ) {\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\tmedia?.media_details?.sizes?.large?.source_url;\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\timageFill: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t}\n\n\tonMediaUpdate( media ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaId: media.id,\n\t\t\tmediaUrl: media.url,\n\t\t} );\n\t}\n\n\tonWidthChange( width ) {\n\t\tthis.setState( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t}\n\n\tcommitWidthChange( width ) {\n\t\tconst { setAttributes } = this.props;\n\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tthis.setState( {\n\t\t\tmediaWidth: null,\n\t\t} );\n\t}\n\n\tonLayoutChange( { nativeEvent } ) {\n\t\tconst { width } = nativeEvent.layout;\n\t\tconst { containerWidth } = this.state;\n\n\t\tif ( containerWidth === width ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tthis.setState( {\n\t\t\tcontainerWidth: width,\n\t\t} );\n\t}\n\n\tonMediaSelected() {\n\t\tthis.setState( { isMediaSelected: true } );\n\t}\n\n\tonReplaceMedia() {\n\t\tif ( this.openPickerRef ) {\n\t\t\tthis.openPickerRef();\n\t\t}\n\t}\n\n\tonSetOpenPickerRef( openPicker ) {\n\t\tthis.openPickerRef = openPicker;\n\t}\n\n\tonSetImageFill() {\n\t\tconst { attributes, setAttributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\tsetAttributes( {\n\t\t\timageFill: ! imageFill,\n\t\t} );\n\t}\n\n\tgetControls() {\n\t\tconst { attributes } = this.props;\n\t\tconst { imageFill } = attributes;\n\n\t\treturn (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\t\tonChange={ this.onSetImageFill }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t);\n\t}\n\trenderMediaArea( shouldStack ) {\n\t\tconst { isMediaSelected, containerWidth } = this.state;\n\t\tconst { attributes, isSelected } = this.props;\n\t\tconst {\n\t\t\tmediaAlt,\n\t\t\tmediaId,\n\t\t\tmediaPosition,\n\t\t\tmediaType,\n\t\t\tmediaUrl,\n\t\t\tmediaWidth,\n\t\t\timageFill,\n\t\t\tfocalPoint,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst mediaAreaWidth =\n\t\t\tmediaWidth && ! shouldStack\n\t\t\t\t? ( containerWidth * mediaWidth ) / 100 -\n\t\t\t\t styles.mediaAreaPadding.width\n\t\t\t\t: containerWidth;\n\t\tconst aligmentStyles =\n\t\t\tstyles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t];\n\n\t\treturn (\n\t\t\t<MediaContainer\n\t\t\t\tcommitWidthChange={ this.commitWidthChange }\n\t\t\t\tisMediaSelected={ isMediaSelected }\n\t\t\t\tonFocus={ this.props.onFocus }\n\t\t\t\tonMediaSelected={ this.onMediaSelected }\n\t\t\t\tonMediaUpdate={ this.onMediaUpdate }\n\t\t\t\tonSelectMedia={ this.onSelectMedia }\n\t\t\t\tonSetOpenPickerRef={ this.onSetOpenPickerRef }\n\t\t\t\tonWidthChange={ this.onWidthChange }\n\t\t\t\tmediaWidth={ mediaAreaWidth }\n\t\t\t\t{ ...{\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tmediaPosition,\n\t\t\t\t\timageFill,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tisSelected,\n\t\t\t\t\taligmentStyles,\n\t\t\t\t\tshouldStack,\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tattributes,\n\t\t\tbackgroundColor,\n\t\t\tsetAttributes,\n\t\t\tisSelected,\n\t\t\tisRTL,\n\t\t\tstyle,\n\t\t\tblockWidth,\n\t\t} = this.props;\n\t\tconst {\n\t\t\tisStackedOnMobile,\n\t\t\timageFill,\n\t\t\tmediaPosition,\n\t\t\tmediaWidth,\n\t\t\tmediaType,\n\t\t\tverticalAlignment,\n\t\t} = attributes;\n\t\tconst { containerWidth, isMediaSelected } = this.state;\n\n\t\tconst isMobile = containerWidth < BREAKPOINTS.mobile;\n\t\tconst shouldStack = isStackedOnMobile && isMobile;\n\t\tconst temporaryMediaWidth = shouldStack\n\t\t\t? 100\n\t\t\t: this.state.mediaWidth || mediaWidth;\n\t\tconst widthString = `${ temporaryMediaWidth }%`;\n\t\tconst innerBlockWidth = shouldStack ? 100 : 100 - temporaryMediaWidth;\n\t\tconst innerBlockWidthString = `${ innerBlockWidth }%`;\n\t\tconst hasMedia =\n\t\t\tmediaType === MEDIA_TYPE_IMAGE || mediaType === MEDIA_TYPE_VIDEO;\n\n\t\tconst innerBlockContainerStyle = [\n\t\t\t{ width: innerBlockWidthString },\n\t\t\t! shouldStack\n\t\t\t\t? styles.innerBlock\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left'\n\t\t\t\t\t\t\t? styles.innerBlockStackMediaLeft\n\t\t\t\t\t\t\t: styles.innerBlockStackMediaRight ),\n\t\t\t\t },\n\t\t\t( style?.backgroundColor || backgroundColor.color ) &&\n\t\t\t\tstyles.innerBlockPaddings,\n\t\t];\n\n\t\tconst containerStyles = {\n\t\t\t...styles[ 'wp-block-media-text' ],\n\t\t\t...styles[\n\t\t\t\t`is-vertically-aligned-${ verticalAlignment || 'center' }`\n\t\t\t],\n\t\t\t...( mediaPosition === 'right'\n\t\t\t\t? styles[ 'has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( shouldStack && styles[ 'is-stacked-on-mobile' ] ),\n\t\t\t...( shouldStack && mediaPosition === 'right'\n\t\t\t\t? styles[ 'is-stacked-on-mobile.has-media-on-the-right' ]\n\t\t\t\t: {} ),\n\t\t\t...( isSelected && styles[ 'is-selected' ] ),\n\t\t\tbackgroundColor: style?.backgroundColor || backgroundColor.color,\n\t\t\tpaddingBottom: 0,\n\t\t};\n\n\t\tconst mediaContainerStyle = [\n\t\t\t{ flex: 1 },\n\t\t\tshouldStack\n\t\t\t\t? {\n\t\t\t\t\t\t...( mediaPosition === 'left' &&\n\t\t\t\t\t\t\tstyles.mediaStackLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' &&\n\t\t\t\t\t\t\tstyles.mediaStackRight ),\n\t\t\t\t }\n\t\t\t\t: {\n\t\t\t\t\t\t...( mediaPosition === 'left' && styles.mediaLeft ),\n\t\t\t\t\t\t...( mediaPosition === 'right' && styles.mediaRight ),\n\t\t\t\t },\n\t\t];\n\n\t\tconst toolbarControls = [\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullRight : pullLeft,\n\t\t\t\ttitle: __( 'Show media on left' ),\n\t\t\t\tisActive: mediaPosition === 'left',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'left' } ),\n\t\t\t},\n\t\t\t{\n\t\t\t\ticon: isRTL ? pullLeft : pullRight,\n\t\t\t\ttitle: __( 'Show media on right' ),\n\t\t\t\tisActive: mediaPosition === 'right',\n\t\t\t\tonClick: () => setAttributes( { mediaPosition: 'right' } ),\n\t\t\t},\n\t\t];\n\n\t\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\t\tsetAttributes( { verticalAlignment: alignment } );\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ mediaType === MEDIA_TYPE_IMAGE && this.getControls() }\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ hasMedia && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ __( 'Edit media' ) }\n\t\t\t\t\t\t\t\ticon={ replace }\n\t\t\t\t\t\t\t\tonClick={ this.onReplaceMedia }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ( ! isMediaSelected ||\n\t\t\t\t\t\tmediaType === MEDIA_TYPE_VIDEO ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToolbarGroup controls={ toolbarControls } />\n\t\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\t\tvalue={ verticalAlignment }\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</BlockControls>\n\t\t\t\t<View\n\t\t\t\t\tstyle={ containerStyles }\n\t\t\t\t\tonLayout={ this.onLayoutChange }\n\t\t\t\t>\n\t\t\t\t\t<View\n\t\t\t\t\t\tstyle={ [\n\t\t\t\t\t\t\t( shouldStack || ! imageFill ) && {\n\t\t\t\t\t\t\t\twidth: widthString,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tmediaContainerStyle,\n\t\t\t\t\t\t] }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ this.renderMediaArea( shouldStack ) }\n\t\t\t\t\t</View>\n\t\t\t\t\t<View style={ innerBlockContainerStyle }>\n\t\t\t\t\t\t<InnerBlocks\n\t\t\t\t\t\t\ttemplate={ TEMPLATE }\n\t\t\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</View>\n\t\t\t</>\n\t\t);\n\t}\n}\n\nexport default compose(\n\twithColors( 'backgroundColor' ),\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParents, getSettings } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst parents = getBlockParents( clientId, true );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isAncestorSelected =\n\t\t\tselectedBlockClientId && parents.includes( selectedBlockClientId );\n\n\t\treturn {\n\t\t\tisSelected: selectedBlockClientId === clientId,\n\t\t\tisAncestorSelected,\n\t\t\tisRTL: getSettings().isRTL,\n\t\t};\n\t} )\n)( MediaTextEdit );\n"]}
|
|
@@ -49,6 +49,8 @@ const transforms = {
|
|
|
49
49
|
type: 'block',
|
|
50
50
|
blocks: ['core/cover'],
|
|
51
51
|
transform: (_ref3, innerBlocks) => {
|
|
52
|
+
var _style$color;
|
|
53
|
+
|
|
52
54
|
let {
|
|
53
55
|
align,
|
|
54
56
|
alt,
|
|
@@ -59,6 +61,8 @@ const transforms = {
|
|
|
59
61
|
gradient,
|
|
60
62
|
id,
|
|
61
63
|
overlayColor,
|
|
64
|
+
style,
|
|
65
|
+
textColor,
|
|
62
66
|
url
|
|
63
67
|
} = _ref3;
|
|
64
68
|
let additionalAttributes = {};
|
|
@@ -79,6 +83,17 @@ const transforms = {
|
|
|
79
83
|
}
|
|
80
84
|
}
|
|
81
85
|
};
|
|
86
|
+
} // Maintain custom text color block support value.
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
if (style !== null && style !== void 0 && (_style$color = style.color) !== null && _style$color !== void 0 && _style$color.text) {
|
|
90
|
+
var _additionalAttributes;
|
|
91
|
+
|
|
92
|
+
additionalAttributes.style = {
|
|
93
|
+
color: { ...((_additionalAttributes = additionalAttributes.style) === null || _additionalAttributes === void 0 ? void 0 : _additionalAttributes.color),
|
|
94
|
+
text: style.color.text
|
|
95
|
+
}
|
|
96
|
+
};
|
|
82
97
|
}
|
|
83
98
|
|
|
84
99
|
return (0, _blocks.createBlock)('core/media-text', {
|
|
@@ -90,6 +105,7 @@ const transforms = {
|
|
|
90
105
|
mediaId: id,
|
|
91
106
|
mediaType: backgroundType,
|
|
92
107
|
mediaUrl: url,
|
|
108
|
+
textColor,
|
|
93
109
|
...additionalAttributes
|
|
94
110
|
}, innerBlocks);
|
|
95
111
|
}
|
|
@@ -144,7 +160,7 @@ const transforms = {
|
|
|
144
160
|
type: 'block',
|
|
145
161
|
blocks: ['core/cover'],
|
|
146
162
|
transform: (_ref8, innerBlocks) => {
|
|
147
|
-
var _style$
|
|
163
|
+
var _style$color2, _style$color3, _style$color4;
|
|
148
164
|
|
|
149
165
|
let {
|
|
150
166
|
align,
|
|
@@ -159,12 +175,22 @@ const transforms = {
|
|
|
159
175
|
style,
|
|
160
176
|
textColor
|
|
161
177
|
} = _ref8;
|
|
162
|
-
const additionalAttributes = {};
|
|
178
|
+
const additionalAttributes = {}; // Migrate the background styles or gradient to Cover's custom
|
|
179
|
+
// gradient and overlay properties.
|
|
163
180
|
|
|
164
|
-
if (style !== null && style !== void 0 && (_style$
|
|
181
|
+
if (style !== null && style !== void 0 && (_style$color2 = style.color) !== null && _style$color2 !== void 0 && _style$color2.gradient) {
|
|
165
182
|
additionalAttributes.customGradient = style.color.gradient;
|
|
166
|
-
} else if (style !== null && style !== void 0 && (_style$
|
|
183
|
+
} else if (style !== null && style !== void 0 && (_style$color3 = style.color) !== null && _style$color3 !== void 0 && _style$color3.background) {
|
|
167
184
|
additionalAttributes.customOverlayColor = style.color.background;
|
|
185
|
+
} // Maintain custom text color support style.
|
|
186
|
+
|
|
187
|
+
|
|
188
|
+
if (style !== null && style !== void 0 && (_style$color4 = style.color) !== null && _style$color4 !== void 0 && _style$color4.text) {
|
|
189
|
+
additionalAttributes.style = {
|
|
190
|
+
color: {
|
|
191
|
+
text: style.color.text
|
|
192
|
+
}
|
|
193
|
+
};
|
|
168
194
|
}
|
|
169
195
|
|
|
170
196
|
const coverAttributes = {
|
|
@@ -177,49 +203,11 @@ const transforms = {
|
|
|
177
203
|
gradient,
|
|
178
204
|
id: mediaId,
|
|
179
205
|
overlayColor: backgroundColor,
|
|
206
|
+
textColor,
|
|
180
207
|
url: mediaUrl,
|
|
181
208
|
...additionalAttributes
|
|
182
209
|
};
|
|
183
|
-
|
|
184
|
-
// Cover block's do not opt into color block support so we
|
|
185
|
-
// cannot directly copy the color attributes across.
|
|
186
|
-
|
|
187
|
-
if (!textColor && !customTextColor) {
|
|
188
|
-
return (0, _blocks.createBlock)('core/cover', coverAttributes, innerBlocks);
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
const coloredInnerBlocks = innerBlocks.map(innerBlock => {
|
|
192
|
-
var _innerStyle$color;
|
|
193
|
-
|
|
194
|
-
const {
|
|
195
|
-
attributes: {
|
|
196
|
-
style: innerStyle
|
|
197
|
-
}
|
|
198
|
-
} = innerBlock; // Only apply the media and text color if the inner block
|
|
199
|
-
// doesn't set its own color block support selection.
|
|
200
|
-
|
|
201
|
-
if (innerBlock.attributes.textColor || innerStyle !== null && innerStyle !== void 0 && (_innerStyle$color = innerStyle.color) !== null && _innerStyle$color !== void 0 && _innerStyle$color.text) {
|
|
202
|
-
return innerBlock;
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
const newAttributes = {
|
|
206
|
-
textColor
|
|
207
|
-
}; // Only add or extend inner block's style object if we have
|
|
208
|
-
// a custom text color from the media & text block.
|
|
209
|
-
|
|
210
|
-
if (customTextColor) {
|
|
211
|
-
newAttributes.style = { ...innerStyle,
|
|
212
|
-
color: { ...(innerStyle === null || innerStyle === void 0 ? void 0 : innerStyle.color),
|
|
213
|
-
text: customTextColor
|
|
214
|
-
}
|
|
215
|
-
};
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
return (0, _blocks.createBlock)(innerBlock.name, { ...innerBlock.attributes,
|
|
219
|
-
...newAttributes
|
|
220
|
-
}, innerBlock.innerBlocks);
|
|
221
|
-
});
|
|
222
|
-
return (0, _blocks.createBlock)('core/cover', coverAttributes, coloredInnerBlocks);
|
|
210
|
+
return (0, _blocks.createBlock)('core/cover', coverAttributes, innerBlocks);
|
|
223
211
|
}
|
|
224
212
|
}]
|
|
225
213
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/transforms.js"],"names":["transforms","from","type","blocks","transform","alt","url","id","anchor","mediaAlt","mediaId","mediaUrl","mediaType","src","innerBlocks","align","backgroundType","customGradient","customOverlayColor","gradient","overlayColor","additionalAttributes","style","color","background","backgroundColor","to","isMatch","focalPoint","textColor","coverAttributes","dimRatio","customTextColor","text","coloredInnerBlocks","map","innerBlock","attributes","innerStyle","newAttributes","name"],"mappings":";;;;;;;AAGA;;AAHA;AACA;AACA;AAGA,MAAMA,UAAU,GAAG;AAClBC,EAAAA,IAAI,EAAE,CACL;AACCC,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE;AAAA,UAAE;AAAEC,QAAAA,GAAF;AAAOC,QAAAA,GAAP;AAAYC,QAAAA,EAAZ;AAAgBC,QAAAA;AAAhB,OAAF;AAAA,aACV,yBAAa,iBAAb,EAAgC;AAC/BC,QAAAA,QAAQ,EAAEJ,GADqB;AAE/BK,QAAAA,OAAO,EAAEH,EAFsB;AAG/BI,QAAAA,QAAQ,EAAEL,GAHqB;AAI/BM,QAAAA,SAAS,EAAE,OAJoB;AAK/BJ,QAAAA;AAL+B,OAAhC,CADU;AAAA;AAHZ,GADK,EAaL;AACCN,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE;AAAA,UAAE;AAAES,QAAAA,GAAF;AAAON,QAAAA,EAAP;AAAWC,QAAAA;AAAX,OAAF;AAAA,aACV,yBAAa,iBAAb,EAAgC;AAC/BE,QAAAA,OAAO,EAAEH,EADsB;AAE/BI,QAAAA,QAAQ,EAAEE,GAFqB;AAG/BD,QAAAA,SAAS,EAAE,OAHoB;AAI/BJ,QAAAA;AAJ+B,OAAhC,CADU;AAAA;AAHZ,GAbK,EAwBL;AACCN,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE,QAaVU,WAbU,KAcN;AAAA,UAbJ;AACCC,QAAAA,KADD;AAECV,QAAAA,GAFD;AAGCG,QAAAA,MAHD;AAICQ,QAAAA,cAJD;AAKCC,QAAAA,cALD;AAMCC,QAAAA,kBAND;AAOCC,QAAAA,QAPD;AAQCZ,QAAAA,EARD;AASCa,QAAAA,YATD;AAUCd,QAAAA;AAVD,OAaI;AACJ,UAAIe,oBAAoB,GAAG,EAA3B;;AAEA,UAAKJ,cAAL,EAAsB;AACrBI,QAAAA,oBAAoB,GAAG;AACtBC,UAAAA,KAAK,EAAE;AACNC,YAAAA,KAAK,EAAE;AACNJ,cAAAA,QAAQ,EAAEF;AADJ;AADD;AADe,SAAvB;AAOA,OARD,MAQO,IAAKC,kBAAL,EAA0B;AAChCG,QAAAA,oBAAoB,GAAG;AACtBC,UAAAA,KAAK,EAAE;AACNC,YAAAA,KAAK,EAAE;AACNC,cAAAA,UAAU,EAAEN;AADN;AADD;AADe,SAAvB;AAOA;;AAED,aAAO,yBACN,iBADM,EAEN;AACCH,QAAAA,KADD;AAECP,QAAAA,MAFD;AAGCiB,QAAAA,eAAe,EAAEL,YAHlB;AAICD,QAAAA,QAJD;AAKCV,QAAAA,QAAQ,EAAEJ,GALX;AAMCK,QAAAA,OAAO,EAAEH,EANV;AAOCK,QAAAA,SAAS,EAAEI,cAPZ;AAQCL,QAAAA,QAAQ,EAAEL,GARX;AASC,WAAGe;AATJ,OAFM,EAaNP,WAbM,CAAP;AAeA;AArDF,GAxBK,CADY;AAiFlBY,EAAAA,EAAE,EAAE,CACH;AACCxB,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCwB,IAAAA,OAAO,EAAE,SAA+B;AAAA,UAA7B;AAAEf,QAAAA,SAAF;AAAaD,QAAAA;AAAb,OAA6B;AACvC,aAAO,CAAEA,QAAF,IAAcC,SAAS,KAAK,OAAnC;AACA,KALF;AAMCR,IAAAA,SAAS,EAAE,SAA+C;AAAA,UAA7C;AAAEK,QAAAA,QAAF;AAAYC,QAAAA,OAAZ;AAAqBC,QAAAA,QAArB;AAA+BH,QAAAA;AAA/B,OAA6C;AACzD,aAAO,yBAAa,YAAb,EAA2B;AACjCH,QAAAA,GAAG,EAAEI,QAD4B;AAEjCF,QAAAA,EAAE,EAAEG,OAF6B;AAGjCJ,QAAAA,GAAG,EAAEK,QAH4B;AAIjCH,QAAAA;AAJiC,OAA3B,CAAP;AAMA;AAbF,GADG,EAgBH;AACCN,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCwB,IAAAA,OAAO,EAAE,SAA+B;AAAA,UAA7B;AAAEf,QAAAA,SAAF;AAAaD,QAAAA;AAAb,OAA6B;AACvC,aAAO,CAAEA,QAAF,IAAcC,SAAS,KAAK,OAAnC;AACA,KALF;AAMCR,IAAAA,SAAS,EAAE,SAAqC;AAAA,UAAnC;AAAEM,QAAAA,OAAF;AAAWC,QAAAA,QAAX;AAAqBH,QAAAA;AAArB,OAAmC;AAC/C,aAAO,yBAAa,YAAb,EAA2B;AACjCD,QAAAA,EAAE,EAAEG,OAD6B;AAEjCG,QAAAA,GAAG,EAAEF,QAF4B;AAGjCH,QAAAA;AAHiC,OAA3B,CAAP;AAKA;AAZF,GAhBG,EA8BH;AACCN,IAAAA,IAAI,EAAE,OADP;AAECC,IAAAA,MAAM,EAAE,CAAE,YAAF,CAFT;AAGCC,IAAAA,SAAS,EAAE,QAcVU,WAdU,KAeN;AAAA;;AAAA,UAdJ;AACCC,QAAAA,KADD;AAECP,QAAAA,MAFD;AAGCiB,QAAAA,eAHD;AAICG,QAAAA,UAJD;AAKCT,QAAAA,QALD;AAMCV,QAAAA,QAND;AAOCC,QAAAA,OAPD;AAQCE,QAAAA,SARD;AASCD,QAAAA,QATD;AAUCW,QAAAA,KAVD;AAWCO,QAAAA;AAXD,OAcI;AACJ,YAAMR,oBAAoB,GAAG,EAA7B;;AAEA,UAAKC,KAAL,aAAKA,KAAL,+BAAKA,KAAK,CAAEC,KAAZ,yCAAK,aAAcJ,QAAnB,EAA8B;AAC7BE,QAAAA,oBAAoB,CAACJ,cAArB,GAAsCK,KAAK,CAACC,KAAN,CAAYJ,QAAlD;AACA,OAFD,MAEO,IAAKG,KAAL,aAAKA,KAAL,gCAAKA,KAAK,CAAEC,KAAZ,0CAAK,cAAcC,UAAnB,EAAgC;AACtCH,QAAAA,oBAAoB,CAACH,kBAArB,GACCI,KAAK,CAACC,KAAN,CAAYC,UADb;AAEA;;AAED,YAAMM,eAAe,GAAG;AACvBf,QAAAA,KADuB;AAEvBV,QAAAA,GAAG,EAAEI,QAFkB;AAGvBD,QAAAA,MAHuB;AAIvBQ,QAAAA,cAAc,EAAEJ,SAJO;AAKvBmB,QAAAA,QAAQ,EAAE,CAAC,CAAEpB,QAAH,GAAc,EAAd,GAAmB,GALN;AAMvBiB,QAAAA,UANuB;AAOvBT,QAAAA,QAPuB;AAQvBZ,QAAAA,EAAE,EAAEG,OARmB;AASvBU,QAAAA,YAAY,EAAEK,eATS;AAUvBnB,QAAAA,GAAG,EAAEK,QAVkB;AAWvB,WAAGU;AAXoB,OAAxB;AAaA,YAAMW,eAAe,GAAGV,KAAH,aAAGA,KAAH,wCAAGA,KAAK,CAAEC,KAAV,kDAAG,cAAcU,IAAtC,CAvBI,CAyBJ;AACA;AACA;;AACA,UAAK,CAAEJ,SAAF,IAAe,CAAEG,eAAtB,EAAwC;AACvC,eAAO,yBACN,YADM,EAENF,eAFM,EAGNhB,WAHM,CAAP;AAKA;;AAED,YAAMoB,kBAAkB,GAAGpB,WAAW,CAACqB,GAAZ,CAAmBC,UAAF,IAAkB;AAAA;;AAC7D,cAAM;AACLC,UAAAA,UAAU,EAAE;AAAEf,YAAAA,KAAK,EAAEgB;AAAT;AADP,YAEFF,UAFJ,CAD6D,CAK7D;AACA;;AACA,YACCA,UAAU,CAACC,UAAX,CAAsBR,SAAtB,IACAS,UADA,aACAA,UADA,oCACAA,UAAU,CAAEf,KADZ,8CACA,kBAAmBU,IAFpB,EAGE;AACD,iBAAOG,UAAP;AACA;;AAED,cAAMG,aAAa,GAAG;AAAEV,UAAAA;AAAF,SAAtB,CAd6D,CAgB7D;AACA;;AACA,YAAKG,eAAL,EAAuB;AACtBO,UAAAA,aAAa,CAACjB,KAAd,GAAsB,EACrB,GAAGgB,UADkB;AAErBf,YAAAA,KAAK,EAAE,EACN,IAAGe,UAAH,aAAGA,UAAH,uBAAGA,UAAU,CAAEf,KAAf,CADM;AAENU,cAAAA,IAAI,EAAED;AAFA;AAFc,WAAtB;AAOA;;AAED,eAAO,yBACNI,UAAU,CAACI,IADL,EAEN,EACC,GAAGJ,UAAU,CAACC,UADf;AAEC,aAAGE;AAFJ,SAFM,EAMNH,UAAU,CAACtB,WANL,CAAP;AAQA,OApC0B,CAA3B;AAsCA,aAAO,yBACN,YADM,EAENgB,eAFM,EAGNI,kBAHM,CAAP;AAKA;AAjGF,GA9BG;AAjFc,CAAnB;eAqNelC,U","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { alt, url, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/media-text', {\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaType: 'image',\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { src, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/media-text', {\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaUrl: src,\n\t\t\t\t\tmediaType: 'video',\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/cover' ],\n\t\t\ttransform: (\n\t\t\t\t{\n\t\t\t\t\talign,\n\t\t\t\t\talt,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundType,\n\t\t\t\t\tcustomGradient,\n\t\t\t\t\tcustomOverlayColor,\n\t\t\t\t\tgradient,\n\t\t\t\t\tid,\n\t\t\t\t\toverlayColor,\n\t\t\t\t\turl,\n\t\t\t\t},\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tlet additionalAttributes = {};\n\n\t\t\t\tif ( customGradient ) {\n\t\t\t\t\tadditionalAttributes = {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tgradient: customGradient,\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} else if ( customOverlayColor ) {\n\t\t\t\t\tadditionalAttributes = {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tbackground: customOverlayColor,\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\treturn createBlock(\n\t\t\t\t\t'core/media-text',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tbackgroundColor: overlayColor,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\t\tmediaId: id,\n\t\t\t\t\t\tmediaType: backgroundType,\n\t\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\t\t...additionalAttributes,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( { mediaType, mediaUrl } ) => {\n\t\t\t\treturn ! mediaUrl || mediaType === 'image';\n\t\t\t},\n\t\t\ttransform: ( { mediaAlt, mediaId, mediaUrl, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\talt: mediaAlt,\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { mediaType, mediaUrl } ) => {\n\t\t\t\treturn ! mediaUrl || mediaType === 'video';\n\t\t\t},\n\t\t\ttransform: ( { mediaId, mediaUrl, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\tsrc: mediaUrl,\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/cover' ],\n\t\t\ttransform: (\n\t\t\t\t{\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tgradient,\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tstyle,\n\t\t\t\t\ttextColor,\n\t\t\t\t},\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst additionalAttributes = {};\n\n\t\t\t\tif ( style?.color?.gradient ) {\n\t\t\t\t\tadditionalAttributes.customGradient = style.color.gradient;\n\t\t\t\t} else if ( style?.color?.background ) {\n\t\t\t\t\tadditionalAttributes.customOverlayColor =\n\t\t\t\t\t\tstyle.color.background;\n\t\t\t\t}\n\n\t\t\t\tconst coverAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\talt: mediaAlt,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundType: mediaType,\n\t\t\t\t\tdimRatio: !! mediaUrl ? 50 : 100,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tgradient,\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t...additionalAttributes,\n\t\t\t\t};\n\t\t\t\tconst customTextColor = style?.color?.text;\n\n\t\t\t\t// Attempt to maintain any text color selection.\n\t\t\t\t// Cover block's do not opt into color block support so we\n\t\t\t\t// cannot directly copy the color attributes across.\n\t\t\t\tif ( ! textColor && ! customTextColor ) {\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/cover',\n\t\t\t\t\t\tcoverAttributes,\n\t\t\t\t\t\tinnerBlocks\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\tconst coloredInnerBlocks = innerBlocks.map( ( innerBlock ) => {\n\t\t\t\t\tconst {\n\t\t\t\t\t\tattributes: { style: innerStyle },\n\t\t\t\t\t} = innerBlock;\n\n\t\t\t\t\t// Only apply the media and text color if the inner block\n\t\t\t\t\t// doesn't set its own color block support selection.\n\t\t\t\t\tif (\n\t\t\t\t\t\tinnerBlock.attributes.textColor ||\n\t\t\t\t\t\tinnerStyle?.color?.text\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn innerBlock;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst newAttributes = { textColor };\n\n\t\t\t\t\t// Only add or extend inner block's style object if we have\n\t\t\t\t\t// a custom text color from the media & text block.\n\t\t\t\t\tif ( customTextColor ) {\n\t\t\t\t\t\tnewAttributes.style = {\n\t\t\t\t\t\t\t...innerStyle,\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\t...innerStyle?.color,\n\t\t\t\t\t\t\t\ttext: customTextColor,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\tinnerBlock.name,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t...innerBlock.attributes,\n\t\t\t\t\t\t\t...newAttributes,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tinnerBlock.innerBlocks\n\t\t\t\t\t);\n\t\t\t\t} );\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\tcoverAttributes,\n\t\t\t\t\tcoloredInnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/transforms.js"],"names":["transforms","from","type","blocks","transform","alt","url","id","anchor","mediaAlt","mediaId","mediaUrl","mediaType","src","innerBlocks","align","backgroundType","customGradient","customOverlayColor","gradient","overlayColor","style","textColor","additionalAttributes","color","background","text","backgroundColor","to","isMatch","focalPoint","coverAttributes","dimRatio"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\ttransform: ( { alt, url, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/media-text', {\n\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\tmediaType: 'image',\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\ttransform: ( { src, id, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/media-text', {\n\t\t\t\t\tmediaId: id,\n\t\t\t\t\tmediaUrl: src,\n\t\t\t\t\tmediaType: 'video',\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/cover' ],\n\t\t\ttransform: (\n\t\t\t\t{\n\t\t\t\t\talign,\n\t\t\t\t\talt,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundType,\n\t\t\t\t\tcustomGradient,\n\t\t\t\t\tcustomOverlayColor,\n\t\t\t\t\tgradient,\n\t\t\t\t\tid,\n\t\t\t\t\toverlayColor,\n\t\t\t\t\tstyle,\n\t\t\t\t\ttextColor,\n\t\t\t\t\turl,\n\t\t\t\t},\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tlet additionalAttributes = {};\n\n\t\t\t\tif ( customGradient ) {\n\t\t\t\t\tadditionalAttributes = {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tgradient: customGradient,\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} else if ( customOverlayColor ) {\n\t\t\t\t\tadditionalAttributes = {\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t\tbackground: customOverlayColor,\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// Maintain custom text color block support value.\n\t\t\t\tif ( style?.color?.text ) {\n\t\t\t\t\tadditionalAttributes.style = {\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\t...additionalAttributes.style?.color,\n\t\t\t\t\t\t\ttext: style.color.text,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/media-text',\n\t\t\t\t\t{\n\t\t\t\t\t\talign,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tbackgroundColor: overlayColor,\n\t\t\t\t\t\tgradient,\n\t\t\t\t\t\tmediaAlt: alt,\n\t\t\t\t\t\tmediaId: id,\n\t\t\t\t\t\tmediaType: backgroundType,\n\t\t\t\t\t\tmediaUrl: url,\n\t\t\t\t\t\ttextColor,\n\t\t\t\t\t\t...additionalAttributes,\n\t\t\t\t\t},\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/image' ],\n\t\t\tisMatch: ( { mediaType, mediaUrl } ) => {\n\t\t\t\treturn ! mediaUrl || mediaType === 'image';\n\t\t\t},\n\t\t\ttransform: ( { mediaAlt, mediaId, mediaUrl, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/image', {\n\t\t\t\t\talt: mediaAlt,\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/video' ],\n\t\t\tisMatch: ( { mediaType, mediaUrl } ) => {\n\t\t\t\treturn ! mediaUrl || mediaType === 'video';\n\t\t\t},\n\t\t\ttransform: ( { mediaId, mediaUrl, anchor } ) => {\n\t\t\t\treturn createBlock( 'core/video', {\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\tsrc: mediaUrl,\n\t\t\t\t\tanchor,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/cover' ],\n\t\t\ttransform: (\n\t\t\t\t{\n\t\t\t\t\talign,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundColor,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tgradient,\n\t\t\t\t\tmediaAlt,\n\t\t\t\t\tmediaId,\n\t\t\t\t\tmediaType,\n\t\t\t\t\tmediaUrl,\n\t\t\t\t\tstyle,\n\t\t\t\t\ttextColor,\n\t\t\t\t},\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst additionalAttributes = {};\n\n\t\t\t\t// Migrate the background styles or gradient to Cover's custom\n\t\t\t\t// gradient and overlay properties.\n\t\t\t\tif ( style?.color?.gradient ) {\n\t\t\t\t\tadditionalAttributes.customGradient = style.color.gradient;\n\t\t\t\t} else if ( style?.color?.background ) {\n\t\t\t\t\tadditionalAttributes.customOverlayColor =\n\t\t\t\t\t\tstyle.color.background;\n\t\t\t\t}\n\n\t\t\t\t// Maintain custom text color support style.\n\t\t\t\tif ( style?.color?.text ) {\n\t\t\t\t\tadditionalAttributes.style = {\n\t\t\t\t\t\tcolor: { text: style.color.text },\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst coverAttributes = {\n\t\t\t\t\talign,\n\t\t\t\t\talt: mediaAlt,\n\t\t\t\t\tanchor,\n\t\t\t\t\tbackgroundType: mediaType,\n\t\t\t\t\tdimRatio: !! mediaUrl ? 50 : 100,\n\t\t\t\t\tfocalPoint,\n\t\t\t\t\tgradient,\n\t\t\t\t\tid: mediaId,\n\t\t\t\t\toverlayColor: backgroundColor,\n\t\t\t\t\ttextColor,\n\t\t\t\t\turl: mediaUrl,\n\t\t\t\t\t...additionalAttributes,\n\t\t\t\t};\n\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\tcoverAttributes,\n\t\t\t\t\tinnerBlocks\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|