@wordpress/block-library 7.0.3-next.a55ed9455a.0 → 7.1.1
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/media-text/edit.js +6 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build-module/media-text/edit.js +5 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -1
- package/build-module/post-terms/edit.js.map +1 -1
- package/package.json +28 -28
- package/src/file/style.native.scss +1 -0
- package/src/media-text/edit.js +5 -0
- package/src/media-text/style.native.scss +1 -0
- package/src/post-terms/edit.js +2 -1
- package/src/video/style.native.scss +1 -0
package/CHANGELOG.md
CHANGED
package/build/media-text/edit.js
CHANGED
|
@@ -21,6 +21,8 @@ var _blockEditor = require("@wordpress/block-editor");
|
|
|
21
21
|
|
|
22
22
|
var _components = require("@wordpress/components");
|
|
23
23
|
|
|
24
|
+
var _blob = require("@wordpress/blob");
|
|
25
|
+
|
|
24
26
|
var _icons = require("@wordpress/icons");
|
|
25
27
|
|
|
26
28
|
var _coreData = require("@wordpress/core-data");
|
|
@@ -85,6 +87,10 @@ function attributesFromMedia(_ref) {
|
|
|
85
87
|
return;
|
|
86
88
|
}
|
|
87
89
|
|
|
90
|
+
if ((0, _blob.isBlobURL)(media.url)) {
|
|
91
|
+
media.type = (0, _blob.getBlobTypeByURL)(media.url);
|
|
92
|
+
}
|
|
93
|
+
|
|
88
94
|
let mediaType;
|
|
89
95
|
let src; // For media selections originated from a file upload.
|
|
90
96
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["TEMPLATE","fontSize","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","src","media_type","type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","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';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { 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\tfontSize: 'large',\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\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<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":["TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","select","coreStore","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","blockEditorStore","getSettings","imageSizeOptions","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';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
package/build/post-terms/edit.js
CHANGED
|
@@ -11,6 +11,8 @@ var _element = require("@wordpress/element");
|
|
|
11
11
|
|
|
12
12
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
13
13
|
|
|
14
|
+
var _lodash = require("lodash");
|
|
15
|
+
|
|
14
16
|
var _blockEditor = require("@wordpress/block-editor");
|
|
15
17
|
|
|
16
18
|
var _components = require("@wordpress/components");
|
|
@@ -105,7 +107,7 @@ function PostTermsEdit(_ref) {
|
|
|
105
107
|
key: postTerm.id,
|
|
106
108
|
href: postTerm.link,
|
|
107
109
|
onClick: event => event.preventDefault()
|
|
108
|
-
}, postTerm.name)).reduce((prev, curr) => (0, _element.createElement)(_element.Fragment, null, prev, (0, _element.createElement)("span", {
|
|
110
|
+
}, (0, _lodash.unescape)(postTerm.name))).reduce((prev, curr) => (0, _element.createElement)(_element.Fragment, null, prev, (0, _element.createElement)("span", {
|
|
109
111
|
className: "wp-block-post-terms__separator"
|
|
110
112
|
}, separator || ' '), curr)), !isLoading && !hasPostTerms && ((selectedTerm === null || selectedTerm === void 0 ? void 0 : (_selectedTerm$labels = selectedTerm.labels) === null || _selectedTerm$labels === void 0 ? void 0 : _selectedTerm$labels.no_terms) || (0, _i18n.__)('Term items not found.'))));
|
|
111
113
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["PostTermsEdit","attributes","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","coreStore","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockProps","className","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAMA;;AACA;;AACA;;AACA;;AAKA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["PostTermsEdit","attributes","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","coreStore","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockProps","className","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { term, textAlign, separator } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tpostType,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\tif ( ! hasPost || ! term ) {\n\t\treturn <div { ...blockProps }>{ __( 'Post Terms' ) }</div>;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ unescape( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -14,6 +14,7 @@ import { useSelect } from '@wordpress/data';
|
|
|
14
14
|
import { useState, useRef } from '@wordpress/element';
|
|
15
15
|
import { BlockControls, BlockVerticalAlignmentControl, useInnerBlocksProps, InspectorControls, useBlockProps, __experimentalImageURLInputUI as ImageURLInputUI, __experimentalImageSizeControl as ImageSizeControl, store as blockEditorStore } from '@wordpress/block-editor';
|
|
16
16
|
import { PanelBody, RangeControl, TextareaControl, ToggleControl, ToolbarButton, ExternalLink, FocalPointPicker } from '@wordpress/components';
|
|
17
|
+
import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
|
|
17
18
|
import { pullLeft, pullRight } from '@wordpress/icons';
|
|
18
19
|
import { store as coreStore } from '@wordpress/core-data';
|
|
19
20
|
/**
|
|
@@ -67,6 +68,10 @@ function attributesFromMedia(_ref) {
|
|
|
67
68
|
return;
|
|
68
69
|
}
|
|
69
70
|
|
|
71
|
+
if (isBlobURL(media.url)) {
|
|
72
|
+
media.type = getBlobTypeByURL(media.url);
|
|
73
|
+
}
|
|
74
|
+
|
|
70
75
|
let mediaType;
|
|
71
76
|
let src; // For media selections originated from a file upload.
|
|
72
77
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","fontSize","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","src","media_type","type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { 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\tfontSize: 'large',\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\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/edit.js"],"names":["classnames","map","filter","__","_x","useSelect","useState","useRef","BlockControls","BlockVerticalAlignmentControl","useInnerBlocksProps","InspectorControls","useBlockProps","__experimentalImageURLInputUI","ImageURLInputUI","__experimentalImageSizeControl","ImageSizeControl","store","blockEditorStore","PanelBody","RangeControl","TextareaControl","ToggleControl","ToolbarButton","ExternalLink","FocalPointPicker","isBlobURL","getBlobTypeByURL","pullLeft","pullRight","coreStore","MediaContainer","DEFAULT_MEDIA_SIZE_SLUG","TEMPLATE","fontSize","placeholder","WIDTH_CONSTRAINT_PERCENTAGE","applyWidthConstraints","width","Math","max","min","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","type","src","media_type","large","newHref","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","mediaSizeSlug","select","getMedia","refMediaContainer","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizes","settings","getSettings","imageSizeOptions","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","blockProps","className","innerBlocksProps","template"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { map, filter } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\n/**\n * Constants\n */\nconst TEMPLATE = [\n\t[\n\t\t'core/paragraph',\n\t\t{\n\t\t\tfontSize: 'large',\n\t\t\tplaceholder: _x( 'Content…', 'content placeholder' ),\n\t\t},\n\t],\n];\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst WIDTH_CONSTRAINT_PERCENTAGE = 15;\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nconst LINK_DESTINATION_MEDIA = 'media';\nconst LINK_DESTINATION_ATTACHMENT = 'attachment';\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst image = useSelect(\n\t\t( select ) =>\n\t\t\tmediaId && isSelected\n\t\t\t\t? select( coreStore ).getMedia( mediaId )\n\t\t\t\t: null,\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizes = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn settings?.imageSizes;\n\t}, [] );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tgetImageSourceUrlBySizeSlug( image, slug )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Media & Text settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\tonClick={ () => setAttributes( { mediaPosition: 'left' } ) }\n\t\t\t\t/>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"]}
|
|
@@ -4,6 +4,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
+
import { unescape } from 'lodash';
|
|
7
8
|
/**
|
|
8
9
|
* WordPress dependencies
|
|
9
10
|
*/
|
|
@@ -89,7 +90,7 @@ export default function PostTermsEdit(_ref) {
|
|
|
89
90
|
key: postTerm.id,
|
|
90
91
|
href: postTerm.link,
|
|
91
92
|
onClick: event => event.preventDefault()
|
|
92
|
-
}, postTerm.name)).reduce((prev, curr) => createElement(Fragment, null, prev, createElement("span", {
|
|
93
|
+
}, unescape(postTerm.name))).reduce((prev, curr) => createElement(Fragment, null, prev, createElement("span", {
|
|
93
94
|
className: "wp-block-post-terms__separator"
|
|
94
95
|
}, separator || ' '), curr)), !isLoading && !hasPostTerms && ((selectedTerm === null || selectedTerm === void 0 ? void 0 : (_selectedTerm$labels = selectedTerm.labels) === null || _selectedTerm$labels === void 0 ? void 0 : _selectedTerm$labels.no_terms) || __('Term items not found.'))));
|
|
95
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","PostTermsEdit","attributes","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockProps","className","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,iBAFD,EAGCC,aAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,OAAT,EAAkBC,WAAlB,QAAqC,uBAArC;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,kBAAzB;AAEA,eAAe,SAASC,aAAT,OAIX;AAAA;;AAAA,MAJmC;AACtCC,IAAAA,UADsC;AAEtCC,IAAAA,OAFsC;AAGtCC,IAAAA;AAHsC,GAInC;AACH,QAAM;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,SAAR;AAAmBC,IAAAA;AAAnB,MAAiCL,UAAvC;AACA,QAAM;AAAEM,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAuBN,OAA7B;AAEA,QAAMO,YAAY,GAAGd,SAAS,CAC3Be,MAAF,IAAc;AAAA;;AACb,QAAK,CAAEN,IAAP,EAAc,OAAO,EAAP;AACd,UAAM;AAAEO,MAAAA;AAAF,QAAkBD,MAAM,CAAEZ,SAAF,CAA9B;AACA,UAAMc,QAAQ,GAAGD,WAAW,CAAEP,IAAF,CAA5B;AACA,WAAOQ,QAAQ,SAAR,IAAAA,QAAQ,WAAR,4BAAAA,QAAQ,CAAEC,UAAV,sEAAsBC,kBAAtB,GAA2CF,QAA3C,GAAsD,EAA7D;AACA,GAN4B,EAO7B,CAAER,IAAF,CAP6B,CAA9B;AASA,QAAM;AAAEW,IAAAA,SAAF;AAAaC,IAAAA,YAAb;AAA2BC,IAAAA;AAA3B,MAAyClB,YAAY,CAAE;AAC5DQ,IAAAA,MAD4D;AAE5DC,IAAAA,QAF4D;AAG5DJ,IAAAA,IAAI,EAAEK;AAHsD,GAAF,CAA3D;AAKA,QAAMS,OAAO,GAAGX,MAAM,IAAIC,QAA1B;AACA,QAAMW,UAAU,GAAG3B,aAAa,CAAE;AACjC4B,IAAAA,SAAS,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","unescape","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","PostTermsEdit","attributes","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockProps","className","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { term, textAlign, separator } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tpostType,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\tif ( ! hasPost || ! term ) {\n\t\treturn <div { ...blockProps }>{ __( 'Post Terms' ) }</div>;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ unescape( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "7.
|
|
3
|
+
"version": "7.1.1",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -33,32 +33,32 @@
|
|
|
33
33
|
],
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@babel/runtime": "^7.16.0",
|
|
36
|
-
"@wordpress/a11y": "^3.
|
|
37
|
-
"@wordpress/api-fetch": "^6.
|
|
38
|
-
"@wordpress/autop": "^3.
|
|
39
|
-
"@wordpress/blob": "^3.
|
|
40
|
-
"@wordpress/block-editor": "^8.
|
|
41
|
-
"@wordpress/blocks": "^11.
|
|
42
|
-
"@wordpress/components": "^19.6.1
|
|
43
|
-
"@wordpress/compose": "^5.1
|
|
44
|
-
"@wordpress/core-data": "^4.1
|
|
45
|
-
"@wordpress/data": "^6.
|
|
46
|
-
"@wordpress/date": "^4.
|
|
47
|
-
"@wordpress/deprecated": "^3.
|
|
48
|
-
"@wordpress/dom": "^3.
|
|
49
|
-
"@wordpress/element": "^4.1
|
|
50
|
-
"@wordpress/hooks": "^3.
|
|
51
|
-
"@wordpress/html-entities": "^3.
|
|
52
|
-
"@wordpress/i18n": "^4.
|
|
53
|
-
"@wordpress/icons": "^
|
|
54
|
-
"@wordpress/keycodes": "^3.
|
|
55
|
-
"@wordpress/notices": "^3.
|
|
56
|
-
"@wordpress/primitives": "^3.
|
|
57
|
-
"@wordpress/reusable-blocks": "^3.1
|
|
58
|
-
"@wordpress/rich-text": "^5.1
|
|
59
|
-
"@wordpress/server-side-render": "^3.1
|
|
60
|
-
"@wordpress/url": "^3.
|
|
61
|
-
"@wordpress/viewport": "^4.1
|
|
36
|
+
"@wordpress/a11y": "^3.4.1",
|
|
37
|
+
"@wordpress/api-fetch": "^6.1.1",
|
|
38
|
+
"@wordpress/autop": "^3.4.1",
|
|
39
|
+
"@wordpress/blob": "^3.4.1",
|
|
40
|
+
"@wordpress/block-editor": "^8.3.1",
|
|
41
|
+
"@wordpress/blocks": "^11.3.1",
|
|
42
|
+
"@wordpress/components": "^19.6.1",
|
|
43
|
+
"@wordpress/compose": "^5.2.1",
|
|
44
|
+
"@wordpress/core-data": "^4.2.1",
|
|
45
|
+
"@wordpress/data": "^6.4.1",
|
|
46
|
+
"@wordpress/date": "^4.4.1",
|
|
47
|
+
"@wordpress/deprecated": "^3.4.1",
|
|
48
|
+
"@wordpress/dom": "^3.4.1",
|
|
49
|
+
"@wordpress/element": "^4.2.1",
|
|
50
|
+
"@wordpress/hooks": "^3.4.1",
|
|
51
|
+
"@wordpress/html-entities": "^3.4.1",
|
|
52
|
+
"@wordpress/i18n": "^4.4.1",
|
|
53
|
+
"@wordpress/icons": "^8.0.1",
|
|
54
|
+
"@wordpress/keycodes": "^3.4.1",
|
|
55
|
+
"@wordpress/notices": "^3.4.1",
|
|
56
|
+
"@wordpress/primitives": "^3.2.1",
|
|
57
|
+
"@wordpress/reusable-blocks": "^3.2.1",
|
|
58
|
+
"@wordpress/rich-text": "^5.2.1",
|
|
59
|
+
"@wordpress/server-side-render": "^3.2.1",
|
|
60
|
+
"@wordpress/url": "^3.5.1",
|
|
61
|
+
"@wordpress/viewport": "^4.2.1",
|
|
62
62
|
"classnames": "^2.3.1",
|
|
63
63
|
"colord": "^2.7.0",
|
|
64
64
|
"fast-average-color": "4.3.0",
|
|
@@ -74,5 +74,5 @@
|
|
|
74
74
|
"publishConfig": {
|
|
75
75
|
"access": "public"
|
|
76
76
|
},
|
|
77
|
-
"gitHead": "
|
|
77
|
+
"gitHead": "3494eafea7cb345728166c902b3d1223c4a8db6f"
|
|
78
78
|
}
|
package/src/media-text/edit.js
CHANGED
|
@@ -29,6 +29,7 @@ import {
|
|
|
29
29
|
ExternalLink,
|
|
30
30
|
FocalPointPicker,
|
|
31
31
|
} from '@wordpress/components';
|
|
32
|
+
import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
|
|
32
33
|
import { pullLeft, pullRight } from '@wordpress/icons';
|
|
33
34
|
import { store as coreStore } from '@wordpress/core-data';
|
|
34
35
|
|
|
@@ -85,6 +86,10 @@ function attributesFromMedia( {
|
|
|
85
86
|
return;
|
|
86
87
|
}
|
|
87
88
|
|
|
89
|
+
if ( isBlobURL( media.url ) ) {
|
|
90
|
+
media.type = getBlobTypeByURL( media.url );
|
|
91
|
+
}
|
|
92
|
+
|
|
88
93
|
let mediaType;
|
|
89
94
|
let src;
|
|
90
95
|
// For media selections originated from a file upload.
|
package/src/post-terms/edit.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
+
import { unescape } from 'lodash';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* WordPress dependencies
|
|
@@ -88,7 +89,7 @@ export default function PostTermsEdit( {
|
|
|
88
89
|
href={ postTerm.link }
|
|
89
90
|
onClick={ ( event ) => event.preventDefault() }
|
|
90
91
|
>
|
|
91
|
-
{ postTerm.name }
|
|
92
|
+
{ unescape( postTerm.name ) }
|
|
92
93
|
</a>
|
|
93
94
|
) )
|
|
94
95
|
.reduce( ( prev, curr ) => (
|