@wordpress/block-library 9.26.1-next.719a03cbe.0 → 9.27.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/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +6 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +11 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/poster-image.js +81 -0
- package/build/cover/edit/poster-image.js.map +1 -0
- package/build/cover/index.js +6 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -1
- package/build/cover/save.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation-link/edit.js +32 -15
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +112 -14
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +19 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-content/edit.js +78 -16
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +6 -0
- package/build/post-content/index.js.map +1 -1
- package/build/separator/edit.js +5 -30
- package/build/separator/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/video/edit.js +2 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +25 -25
- package/build/video/poster-image.js.map +1 -1
- package/build/video/tracks-editor.js +95 -104
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +6 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +6 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +10 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/poster-image.js +74 -0
- package/build-module/cover/edit/poster-image.js.map +1 -0
- package/build-module/cover/index.js +6 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation-link/edit.js +32 -15
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +113 -15
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +20 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-content/edit.js +80 -18
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +6 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/separator/edit.js +6 -31
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/video/edit.js +2 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +26 -26
- package/build-module/video/poster-image.js.map +1 -1
- package/build-module/video/tracks-editor.js +96 -105
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +6 -2
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +0 -4
- package/build-style/archives/editor.css +0 -4
- package/build-style/editor-rtl.css +0 -8
- package/build-style/editor.css +0 -8
- package/build-style/file/style-rtl.css +1 -1
- package/build-style/file/style.css +1 -1
- package/build-style/navigation/style-rtl.css +1 -0
- package/build-style/navigation/style.css +1 -0
- package/build-style/style-rtl.css +2 -1
- package/build-style/style.css +2 -1
- package/build-style/video/editor-rtl.css +0 -4
- package/build-style/video/editor.css +0 -4
- package/package.json +35 -35
- package/src/archives/editor.scss +0 -4
- package/src/comments-pagination/index.php +7 -2
- package/src/cover/block.json +6 -0
- package/src/cover/edit/block-controls.js +22 -17
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +11 -2
- package/src/cover/edit/poster-image.js +91 -0
- package/src/cover/save.js +2 -0
- package/src/file/style.scss +1 -1
- package/src/media-text/edit.js +1 -1
- package/src/navigation/style.scss +1 -0
- package/src/navigation-link/edit.js +28 -16
- package/src/navigation-link/test/edit.js +738 -6
- package/src/navigation-link/update-attributes.js +125 -12
- package/src/navigation-submenu/edit.js +21 -1
- package/src/post-content/block.json +6 -0
- package/src/post-content/edit.js +71 -19
- package/src/post-content/index.php +11 -4
- package/src/post-featured-image/index.php +3 -2
- package/src/separator/edit.js +8 -43
- package/src/site-tagline/block.json +1 -1
- package/src/video/edit.js +1 -4
- package/src/video/editor.scss +0 -6
- package/src/video/poster-image.js +29 -24
- package/src/video/tracks-editor.js +93 -103
- package/src/video/tracks.js +2 -1
package/build/cover/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","_variations","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","sizeSlug","usesContext","supports","anchor","align","html","shadow","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","interactivity","clientNavigation","filter","duotone","selectors","editorStyle","settings","icon","example","innerBlocks","content","__","transforms","save","edit","deprecated","variations","init","initBlock"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 48,\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: 'white',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: `<strong>${ __( 'Snow Patrol' ) }</strong>`,\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,WAAA,GAAAD,sBAAA,CAAAH,OAAA;AACA,IAAAK,KAAA,GAAAF,sBAAA,CAAAH,OAAA;AAEA,IAAAM,KAAA,GAAAH,sBAAA,CAAAH,OAAA;AACA,IAAAO,WAAA,GAAAJ,sBAAA,CAAAH,OAAA;AACA,IAAAQ,WAAA,GAAAL,sBAAA,CAAAH,OAAA;AAfA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAS,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,GAAA;MAAAC,IAAA;IAAA;IAAAC,gBAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,EAAA;MAAAF,IAAA;IAAA;IAAAG,GAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,WAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,UAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,QAAA;MAAAN,IAAA;MAAA;IAAA;IAAAO,YAAA;MAAAP,IAAA;IAAA;IAAAQ,kBAAA;MAAAR,IAAA;IAAA;IAAAS,kBAAA;MAAAT,IAAA;IAAA;IAAAU,cAAA;MAAAV,IAAA;MAAA;IAAA;IAAAW,UAAA;MAAAX,IAAA;IAAA;IAAAY,SAAA;MAAAZ,IAAA;IAAA;IAAAa,aAAA;MAAAb,IAAA;IAAA;IAAAc,QAAA;MAAAd,IAAA;IAAA;IAAAe,cAAA;MAAAf,IAAA;IAAA;IAAAgB,eAAA;MAAAhB,IAAA;IAAA;IAAAiB,MAAA;MAAAjB,IAAA;MAAA;IAAA;IAAAkB,aAAA;MAAAlB,IAAA;IAAA;IAAAmB,YAAA;MAAAnB,IAAA;MAAA;IAAA;IAAAoB,OAAA;MAAApB,IAAA;MAAA;IAAA;IAAAqB,QAAA;MAAArB,IAAA;IAAA;EAAA;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","_variations","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","url","type","useFeaturedImage","id","alt","hasParallax","isRepeated","dimRatio","overlayColor","customOverlayColor","isUserOverlayColor","backgroundType","focalPoint","minHeight","minHeightUnit","gradient","customGradient","contentPosition","isDark","allowedBlocks","templateLock","tagName","sizeSlug","poster","source","selector","attribute","usesContext","supports","anchor","align","html","shadow","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","interactivity","clientNavigation","filter","duotone","selectors","editorStyle","settings","icon","example","innerBlocks","content","__","transforms","save","edit","deprecated","variations","init","initBlock"],"sources":["@wordpress/block-library/src/cover/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t\tstyle: {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSize: 48,\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: 'white',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: `<strong>${ __( 'Snow Patrol' ) }</strong>`,\n\t\t\t\t\talign: 'center',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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","ignoreList":[]}
|
package/build/cover/save.js
CHANGED
|
@@ -43,7 +43,8 @@ function save({
|
|
|
43
43
|
minHeight: minHeightProp,
|
|
44
44
|
minHeightUnit,
|
|
45
45
|
tagName: Tag,
|
|
46
|
-
sizeSlug
|
|
46
|
+
sizeSlug,
|
|
47
|
+
poster
|
|
47
48
|
} = attributes;
|
|
48
49
|
const overlayColorClass = (0, _blockEditor.getColorClassName)('background-color', overlayColor);
|
|
49
50
|
const gradientClass = (0, _blockEditor.__experimentalGetGradientClass)(gradient);
|
|
@@ -104,6 +105,7 @@ function save({
|
|
|
104
105
|
loop: true,
|
|
105
106
|
playsInline: true,
|
|
106
107
|
src: url,
|
|
108
|
+
poster: poster,
|
|
107
109
|
style: {
|
|
108
110
|
objectPosition
|
|
109
111
|
},
|
package/build/cover/save.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_shared","_jsxRuntime","save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","useFeaturedImage","hasParallax","isDark","isRepeated","overlayColor","url","alt","id","minHeight","minHeightProp","minHeightUnit","tagName","Tag","sizeSlug","overlayColorClass","getColorClassName","gradientClass","__experimentalGetGradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","undefined","bgStyle","backgroundColor","background","objectPosition","mediaPosition","backgroundImage","backgroundPosition","classes","clsx","isContentPositionCenter","getPositionClassName","imgClasses","gradientValue","jsxs","useBlockProps","className","children","jsx","src","role","autoPlay","muted","loop","playsInline","dimRatioToClass","useInnerBlocksProps"],"sources":["@wordpress/block-library/src/cover/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from './shared';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tbackgroundType,\n\t\tgradient,\n\t\tcontentPosition,\n\t\tcustomGradient,\n\t\tcustomOverlayColor,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tuseFeaturedImage,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\toverlayColor,\n\t\turl,\n\t\talt,\n\t\tid,\n\t\tminHeight: minHeightProp,\n\t\tminHeightUnit,\n\t\ttagName: Tag,\n\t\tsizeSlug,\n\t} = attributes;\n\tconst overlayColorClass = getColorClassName(\n\t\t'background-color',\n\t\toverlayColor\n\t);\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tconst minHeight =\n\t\tminHeightProp && minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeight || undefined,\n\t};\n\n\tconst bgStyle = {\n\t\tbackgroundColor: ! overlayColorClass ? customOverlayColor : undefined,\n\t\tbackground: customGradient ? customGradient : undefined,\n\t};\n\n\tconst objectPosition =\n\t\t// prettier-ignore\n\t\tfocalPoint && isImgElement\n\t\t\t ? mediaPosition(focalPoint)\n\t\t\t : undefined;\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-light': ! isDark,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst imgClasses = clsx(\n\t\t'wp-block-cover__image-background',\n\t\tid ? `wp-image-${ id }` : null,\n\t\t{\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t}\n\t);\n\n\tconst gradientValue = gradient || customGradient;\n\n\treturn (\n\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t{ ! useFeaturedImage &&\n\t\t\t\tisImageBackground &&\n\t\t\t\turl &&\n\t\t\t\t( isImgElement ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t{ isVideoBackground && url && (\n\t\t\t\t<video\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t) }\n\t\t\t\t\tautoPlay\n\t\t\t\t\tmuted\n\t\t\t\t\tloop\n\t\t\t\t\tplaysInline\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ /* The `wp-block-cover__background` needs to be immediately before\n\t\t\tthe `wp-block-cover__inner-container`, so the exclusion CSS selector\n\t\t\t`.wp-block-cover__background + .wp-block-cover__inner-container`\n\t\t\tworks properly. If it needs to be changed in the future, the\n\t\t\tselector for the backward compatibility for v14 deprecation also\n\t\t\tneeds change. */ }\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\toverlayColorClass,\n\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ bgStyle }\n\t\t\t/>\n\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</Tag>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,YAAA,GAAAD,OAAA;AAUA,IAAAE,OAAA,GAAAF,OAAA;AAOkB,IAAAG,WAAA,GAAAH,OAAA;AAzBlB;AACA;AACA;;AAGA;AACA;AACA;;AAQA;AACA;AACA;;AAUe,SAASI,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IACLC,cAAc;IACdC,QAAQ;IACRC,eAAe;IACfC,cAAc;IACdC,kBAAkB;IAClBC,QAAQ;IACRC,UAAU;IACVC,gBAAgB;IAChBC,WAAW;IACXC,MAAM;IACNC,UAAU;IACVC,YAAY;IACZC,GAAG;IACHC,GAAG;IACHC,EAAE;IACFC,SAAS,EAAEC,aAAa;IACxBC,aAAa;IACbC,OAAO,EAAEC,GAAG;IACZC;EACD,CAAC,
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blockEditor","_shared","_jsxRuntime","save","attributes","backgroundType","gradient","contentPosition","customGradient","customOverlayColor","dimRatio","focalPoint","useFeaturedImage","hasParallax","isDark","isRepeated","overlayColor","url","alt","id","minHeight","minHeightProp","minHeightUnit","tagName","Tag","sizeSlug","poster","overlayColorClass","getColorClassName","gradientClass","__experimentalGetGradientClass","isImageBackground","IMAGE_BACKGROUND_TYPE","isVideoBackground","VIDEO_BACKGROUND_TYPE","isImgElement","style","undefined","bgStyle","backgroundColor","background","objectPosition","mediaPosition","backgroundImage","backgroundPosition","classes","clsx","isContentPositionCenter","getPositionClassName","imgClasses","gradientValue","jsxs","useBlockProps","className","children","jsx","src","role","autoPlay","muted","loop","playsInline","dimRatioToClass","useInnerBlocksProps"],"sources":["@wordpress/block-library/src/cover/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\t__experimentalGetGradientClass,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport {\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from './shared';\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tbackgroundType,\n\t\tgradient,\n\t\tcontentPosition,\n\t\tcustomGradient,\n\t\tcustomOverlayColor,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\tuseFeaturedImage,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\toverlayColor,\n\t\turl,\n\t\talt,\n\t\tid,\n\t\tminHeight: minHeightProp,\n\t\tminHeightUnit,\n\t\ttagName: Tag,\n\t\tsizeSlug,\n\t\tposter,\n\t} = attributes;\n\tconst overlayColorClass = getColorClassName(\n\t\t'background-color',\n\t\toverlayColor\n\t);\n\tconst gradientClass = __experimentalGetGradientClass( gradient );\n\tconst minHeight =\n\t\tminHeightProp && minHeightUnit\n\t\t\t? `${ minHeightProp }${ minHeightUnit }`\n\t\t\t: minHeightProp;\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeight || undefined,\n\t};\n\n\tconst bgStyle = {\n\t\tbackgroundColor: ! overlayColorClass ? customOverlayColor : undefined,\n\t\tbackground: customGradient ? customGradient : undefined,\n\t};\n\n\tconst objectPosition =\n\t\t// prettier-ignore\n\t\tfocalPoint && isImgElement\n\t\t\t ? mediaPosition(focalPoint)\n\t\t\t : undefined;\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst classes = clsx(\n\t\t{\n\t\t\t'is-light': ! isDark,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\tconst imgClasses = clsx(\n\t\t'wp-block-cover__image-background',\n\t\tid ? `wp-image-${ id }` : null,\n\t\t{\n\t\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t}\n\t);\n\n\tconst gradientValue = gradient || customGradient;\n\n\treturn (\n\t\t<Tag { ...useBlockProps.save( { className: classes, style } ) }>\n\t\t\t{ ! useFeaturedImage &&\n\t\t\t\tisImageBackground &&\n\t\t\t\turl &&\n\t\t\t\t( isImgElement ? (\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<div\n\t\t\t\t\t\trole={ alt ? 'img' : undefined }\n\t\t\t\t\t\taria-label={ alt ? alt : undefined }\n\t\t\t\t\t\tclassName={ imgClasses }\n\t\t\t\t\t\tstyle={ { backgroundPosition, backgroundImage } }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t{ isVideoBackground && url && (\n\t\t\t\t<video\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'wp-block-cover__video-background',\n\t\t\t\t\t\t'intrinsic-ignore'\n\t\t\t\t\t) }\n\t\t\t\t\tautoPlay\n\t\t\t\t\tmuted\n\t\t\t\t\tloop\n\t\t\t\t\tplaysInline\n\t\t\t\t\tsrc={ url }\n\t\t\t\t\tposter={ poster }\n\t\t\t\t\tstyle={ { objectPosition } }\n\t\t\t\t\tdata-object-fit=\"cover\"\n\t\t\t\t\tdata-object-position={ objectPosition }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ /* The `wp-block-cover__background` needs to be immediately before\n\t\t\tthe `wp-block-cover__inner-container`, so the exclusion CSS selector\n\t\t\t`.wp-block-cover__background + .wp-block-cover__inner-container`\n\t\t\tworks properly. If it needs to be changed in the future, the\n\t\t\tselector for the backward compatibility for v14 deprecation also\n\t\t\tneeds change. */ }\n\t\t\t<span\n\t\t\t\taria-hidden=\"true\"\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\toverlayColorClass,\n\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t{\n\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t\tstyle={ bgStyle }\n\t\t\t/>\n\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</Tag>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
package/build/media-text/edit.js
CHANGED
|
@@ -279,9 +279,9 @@ function MediaTextEdit({
|
|
|
279
279
|
imageFill: false,
|
|
280
280
|
mediaAlt: '',
|
|
281
281
|
focalPoint: undefined,
|
|
282
|
-
mediaWidth: 50
|
|
283
|
-
mediaSizeSlug: undefined
|
|
282
|
+
mediaWidth: 50
|
|
284
283
|
});
|
|
284
|
+
updateImage(_constants.DEFAULT_MEDIA_SIZE_SLUG);
|
|
285
285
|
},
|
|
286
286
|
dropdownMenuProps: dropdownMenuProps,
|
|
287
287
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","_lockUnlock","_hooks","_jsxRuntime","ResolutionTool","unlock","blockEditorPrivateApis","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","useFeaturedImage","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextResolutionTool","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","map","name","label","jsx","defaultValue","DEFAULT_MEDIA_SIZE_SLUG","options","MediaTextEdit","isSelected","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","mediaSizeSlug","rel","verticalAlignment","allowedBlocks","featuredImage","useEntityProp","featuredImageMedia","coreStore","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","refMedia","useRef","imperativeFocalPointPreview","style","current","x","y","objectPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","clsx","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","updateImage","newMediaSizeSlug","newUrl","dropdownMenuProps","useToolsPanelDropdownMenuProps","mediaTextGeneralSettings","jsxs","__experimentalToolsPanel","__","resetAll","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","checked","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","title","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\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\tuseFeaturedImage: false,\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\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\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\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ 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 = clsx( {\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-element': 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\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\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t\tmediaSizeSlug: undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\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</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if 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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\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\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","_lockUnlock","_hooks","_jsxRuntime","ResolutionTool","unlock","blockEditorPrivateApis","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","useFeaturedImage","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextResolutionTool","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","map","name","label","jsx","defaultValue","DEFAULT_MEDIA_SIZE_SLUG","options","MediaTextEdit","isSelected","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","mediaSizeSlug","rel","verticalAlignment","allowedBlocks","featuredImage","useEntityProp","featuredImageMedia","coreStore","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","refMedia","useRef","imperativeFocalPointPreview","style","current","x","y","objectPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","clsx","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","updateImage","newMediaSizeSlug","newUrl","dropdownMenuProps","useToolsPanelDropdownMenuProps","mediaTextGeneralSettings","jsxs","__experimentalToolsPanel","__","resetAll","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","checked","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","title","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\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\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\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\tuseFeaturedImage: false,\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\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\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\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ 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 = clsx( {\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-element': 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\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\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t} );\n\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\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</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if 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</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\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\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -155,7 +155,7 @@ function getMissingText(type) {
|
|
|
155
155
|
function Controls({
|
|
156
156
|
attributes,
|
|
157
157
|
setAttributes,
|
|
158
|
-
|
|
158
|
+
setIsEditingControl
|
|
159
159
|
}) {
|
|
160
160
|
const {
|
|
161
161
|
label,
|
|
@@ -164,6 +164,7 @@ function Controls({
|
|
|
164
164
|
rel,
|
|
165
165
|
opensInNewTab
|
|
166
166
|
} = attributes;
|
|
167
|
+
const lastURLRef = (0, _element.useRef)(url);
|
|
167
168
|
const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
|
|
168
169
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
|
|
169
170
|
label: (0, _i18n.__)('Settings'),
|
|
@@ -172,7 +173,8 @@ function Controls({
|
|
|
172
173
|
label: '',
|
|
173
174
|
url: '',
|
|
174
175
|
description: '',
|
|
175
|
-
rel: ''
|
|
176
|
+
rel: '',
|
|
177
|
+
opensInNewTab: false
|
|
176
178
|
});
|
|
177
179
|
},
|
|
178
180
|
dropdownMenuProps: dropdownMenuProps,
|
|
@@ -194,8 +196,8 @@ function Controls({
|
|
|
194
196
|
});
|
|
195
197
|
},
|
|
196
198
|
autoComplete: "off",
|
|
197
|
-
onFocus: () =>
|
|
198
|
-
onBlur: () =>
|
|
199
|
+
onFocus: () => setIsEditingControl(true),
|
|
200
|
+
onBlur: () => setIsEditingControl(false)
|
|
199
201
|
})
|
|
200
202
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
201
203
|
hasValue: () => !!url,
|
|
@@ -210,12 +212,26 @@ function Controls({
|
|
|
210
212
|
label: (0, _i18n.__)('Link'),
|
|
211
213
|
value: url ? (0, _url.safeDecodeURI)(url) : '',
|
|
212
214
|
onChange: urlValue => {
|
|
213
|
-
(
|
|
214
|
-
url: urlValue
|
|
215
|
-
}
|
|
215
|
+
setAttributes({
|
|
216
|
+
url: encodeURI((0, _url.safeDecodeURI)(urlValue))
|
|
217
|
+
});
|
|
216
218
|
},
|
|
217
219
|
autoComplete: "off",
|
|
218
|
-
type: "url"
|
|
220
|
+
type: "url",
|
|
221
|
+
onFocus: () => {
|
|
222
|
+
lastURLRef.current = url;
|
|
223
|
+
setIsEditingControl(true);
|
|
224
|
+
},
|
|
225
|
+
onBlur: () => {
|
|
226
|
+
// Defer the updateAttributes call to ensure entity connection isn't severed by accident.
|
|
227
|
+
(0, _updateAttributes.updateAttributes)({
|
|
228
|
+
url: !url ? lastURLRef.current : url
|
|
229
|
+
}, setAttributes, {
|
|
230
|
+
...attributes,
|
|
231
|
+
url: lastURLRef.current
|
|
232
|
+
});
|
|
233
|
+
setIsEditingControl(false);
|
|
234
|
+
}
|
|
219
235
|
})
|
|
220
236
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
221
237
|
hasValue: () => !!opensInNewTab,
|
|
@@ -314,9 +330,10 @@ function NavigationLinkEdit({
|
|
|
314
330
|
const linkUIref = (0, _element.useRef)();
|
|
315
331
|
const prevUrl = (0, _compose.usePrevious)(url);
|
|
316
332
|
|
|
317
|
-
// Change the label using inspector causes
|
|
318
|
-
// This is a workaround to keep the focus on the
|
|
319
|
-
|
|
333
|
+
// Change the `label` and `url` using inspector causes RichText to change focus.
|
|
334
|
+
// This is a workaround to keep the focus on the field when it's focused we don't render the RichText.
|
|
335
|
+
// See: https://github.com/WordPress/gutenberg/pull/61374.
|
|
336
|
+
const [isEditingControl, setIsEditingControl] = (0, _element.useState)(false);
|
|
320
337
|
const {
|
|
321
338
|
isAtMaxNesting,
|
|
322
339
|
isTopLevelLink,
|
|
@@ -502,19 +519,19 @@ function NavigationLinkEdit({
|
|
|
502
519
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Controls, {
|
|
503
520
|
attributes: attributes,
|
|
504
521
|
setAttributes: setAttributes,
|
|
505
|
-
|
|
522
|
+
setIsEditingControl: setIsEditingControl
|
|
506
523
|
})
|
|
507
524
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
508
525
|
...blockProps,
|
|
509
526
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
|
|
510
527
|
className: classes,
|
|
511
|
-
children: [!url ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
528
|
+
children: [!url && !isEditingControl ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
512
529
|
className: "wp-block-navigation-link__placeholder-text",
|
|
513
530
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
514
531
|
children: missingText
|
|
515
532
|
})
|
|
516
533
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
517
|
-
children: [!isInvalid && !isDraft && !
|
|
534
|
+
children: [!isInvalid && !isDraft && !isEditingControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
518
535
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
|
|
519
536
|
ref: ref,
|
|
520
537
|
identifier: "label",
|
|
@@ -533,7 +550,7 @@ function NavigationLinkEdit({
|
|
|
533
550
|
className: "wp-block-navigation-item__description",
|
|
534
551
|
children: description
|
|
535
552
|
})]
|
|
536
|
-
}), (isInvalid || isDraft ||
|
|
553
|
+
}), (isInvalid || isDraft || isEditingControl) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
537
554
|
className: (0, _clsx.default)('wp-block-navigation-link__placeholder-text', 'wp-block-navigation-link__label', {
|
|
538
555
|
'is-invalid': isInvalid,
|
|
539
556
|
'is-draft': isDraft
|