@wordpress/block-library 8.27.0 → 8.27.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/build/block/edit.js +4 -5
  2. package/build/block/edit.js.map +1 -1
  3. package/build/button/edit.js +2 -2
  4. package/build/button/edit.js.map +1 -1
  5. package/build/cover/edit/index.js +2 -1
  6. package/build/cover/edit/index.js.map +1 -1
  7. package/build/cover/edit/inspector-controls.js +13 -1
  8. package/build/cover/edit/inspector-controls.js.map +1 -1
  9. package/build/cover/index.js +3 -0
  10. package/build/cover/index.js.map +1 -1
  11. package/build/image/edit.js +17 -4
  12. package/build/image/edit.js.map +1 -1
  13. package/build/image/image.js +28 -28
  14. package/build/image/image.js.map +1 -1
  15. package/build-module/block/edit.js +4 -5
  16. package/build-module/block/edit.js.map +1 -1
  17. package/build-module/button/edit.js +2 -2
  18. package/build-module/button/edit.js.map +1 -1
  19. package/build-module/cover/edit/index.js +2 -1
  20. package/build-module/cover/edit/index.js.map +1 -1
  21. package/build-module/cover/edit/inspector-controls.js +14 -2
  22. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  23. package/build-module/cover/index.js +3 -0
  24. package/build-module/cover/index.js.map +1 -1
  25. package/build-module/image/edit.js +17 -4
  26. package/build-module/image/edit.js.map +1 -1
  27. package/build-module/image/image.js +29 -29
  28. package/build-module/image/image.js.map +1 -1
  29. package/build-style/cover/style-rtl.css +1 -2
  30. package/build-style/cover/style.css +1 -2
  31. package/build-style/style-rtl.css +1 -2
  32. package/build-style/style.css +1 -2
  33. package/package.json +10 -10
  34. package/src/block/edit.js +3 -4
  35. package/src/button/edit.js +3 -4
  36. package/src/cover/block.json +3 -0
  37. package/src/cover/edit/index.js +2 -1
  38. package/src/cover/edit/inspector-controls.js +14 -1
  39. package/src/cover/style.scss +2 -3
  40. package/src/file/index.php +3 -3
  41. package/src/image/edit.js +23 -4
  42. package/src/image/image.js +23 -36
  43. package/src/image/index.php +1 -1
  44. package/src/navigation/index.php +12 -16
  45. package/src/pattern/index.php +2 -0
  46. package/src/post-navigation-link/index.php +3 -3
  47. package/src/query/index.php +1 -1
  48. package/src/search/index.php +3 -3
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\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\t\t\t{ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_components","_compose","_blockEditor","_i18n","_shared","_lockUnlock","cleanEmptyObject","unlock","blockEditorPrivateApis","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","useInstanceId","UnitControl","inputId","isPx","availableUnits","useSettings","units","useCustomUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","useMemo","parsedQuantity","parseQuantityAndUnitFromRawValue","join","min","COVER_MIN_HEIGHT","_react","createElement","__experimentalUnitControl","label","__","id","isResetValueOnUnitChange","__unstableInputWidth","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","updateDimRatio","onClearMedia","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","overlayColor","gradientValue","setGradient","__experimentalUseGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","mediaPosition","colorGradientSettings","useMultipleOriginColorsAndGradients","htmlElementMessages","header","main","section","article","aside","footer","Fragment","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","FocalPointPicker","onDragStart","onDrag","newFocalPoint","TextareaControl","newAlt","help","ExternalLink","href","PanelRow","Button","variant","size","className","onClick","hasColorsOrGradients","group","__experimentalColorGradientSettingsDropdown","__experimentalIsRenderedInSidebar","settings","colorValue","color","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","panelId","__experimentalToolsPanelItem","hasValue","onDeselect","RangeControl","newDimRatio","max","step","required","__next40pxDefaultSize","newMinHeight","dimensions","aspectRatio","nextUnit","SelectControl","options"],"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSettings,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\nimport { unlock } from '../../lock-unlock';\n\nconst { cleanEmptyObject } = unlock( blockEditorPrivateApis );\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem', 'vw', 'vh' ],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n\tupdateDimRatio,\n\tonClearMedia,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only.'\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage && url && ! isVideoBackground && (\n\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\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\t\t\t{ __(\n\t\t\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\t\t) }\n\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ onClearMedia }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tonDeselect={ () => updateDimRatio( url ? 50 : 100 ) }\n\t\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\t\tupdateDimRatio( newDimRatio )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeight: newMinHeight,\n\t\t\t\t\t\t\t\tstyle: cleanEmptyObject( {\n\t\t\t\t\t\t\t\t\t...attributes?.style,\n\t\t\t\t\t\t\t\t\tdimensions: {\n\t\t\t\t\t\t\t\t\t\t...attributes?.style?.dimensions,\n\t\t\t\t\t\t\t\t\t\taspectRatio: undefined, // Reset aspect ratio when minHeight is set.\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} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\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</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
@@ -135,6 +135,9 @@ const metadata = {
135
135
  __experimentalSkipSerialization: ["gradients"],
136
136
  enableContrastChecker: false
137
137
  },
138
+ dimensions: {
139
+ aspectRatio: true
140
+ },
138
141
  typography: {
139
142
  fontSize: true,
140
143
  lineHeight: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","_variations","metadata","$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","usesContext","supports","anchor","align","html","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","__experimentalDuotone","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","editorStyle","exports","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},\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\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\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],\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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"}
1
+ {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","_variations","metadata","$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","usesContext","supports","anchor","align","html","spacing","padding","margin","blockGap","__experimentalDefaultControls","__experimentalBorder","color","radius","style","width","__experimentalDuotone","heading","text","background","__experimentalSkipSerialization","enableContrastChecker","dimensions","aspectRatio","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","layout","allowJustification","editorStyle","exports","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},\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\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\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],\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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"}
@@ -16,6 +16,7 @@ var _element = require("@wordpress/element");
16
16
  var _i18n = require("@wordpress/i18n");
17
17
  var _icons = require("@wordpress/icons");
18
18
  var _notices = require("@wordpress/notices");
19
+ var _lockUnlock = require("../lock-unlock");
19
20
  var _image = _interopRequireDefault(require("./image"));
20
21
  var _constants = require("./constants");
21
22
  /**
@@ -305,16 +306,28 @@ function ImageEdit({
305
306
  });
306
307
 
307
308
  // Much of this description is duplicated from MediaPlaceholder.
308
- const isUrlAttributeConnected = !!metadata?.bindings?.url;
309
+ const {
310
+ lockUrlControls = false
311
+ } = (0, _data.useSelect)(select => {
312
+ if (!isSelected) {
313
+ return {};
314
+ }
315
+ const {
316
+ getBlockBindingsSource
317
+ } = (0, _lockUnlock.unlock)(select(_blockEditor.store));
318
+ return {
319
+ lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing === true
320
+ };
321
+ }, [isSelected]);
309
322
  const placeholder = content => {
310
323
  return (0, _react.createElement)(_components.Placeholder, {
311
324
  className: (0, _classnames.default)('block-editor-media-placeholder', {
312
325
  [borderProps.className]: !!borderProps.className && !isSelected
313
326
  }),
314
327
  withIllustration: true,
315
- icon: isUrlAttributeConnected ? _icons.plugins : _icons.image,
328
+ icon: lockUrlControls ? _icons.plugins : _icons.image,
316
329
  label: (0, _i18n.__)('Image'),
317
- instructions: !isUrlAttributeConnected && (0, _i18n.__)('Upload an image file, pick one from your media library, or add one with a URL.'),
330
+ instructions: !lockUrlControls && (0, _i18n.__)('Upload an image file, pick one from your media library, or add one with a URL.'),
318
331
  style: {
319
332
  aspectRatio: !(width && height) && aspectRatio ? aspectRatio : undefined,
320
333
  width: height && aspectRatio ? '100%' : width,
@@ -322,7 +335,7 @@ function ImageEdit({
322
335
  objectFit: scale,
323
336
  ...borderProps.style
324
337
  }
325
- }, isUrlAttributeConnected ? (0, _react.createElement)("span", {
338
+ }, lockUrlControls ? (0, _react.createElement)("span", {
326
339
  className: 'block-bindings-media-placeholder-message'
327
340
  }, (0, _i18n.__)('Connected to a custom field')) : content);
328
341
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","imageDefaultSize","mediaUpload","useSelect","select","getSettings","settings","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","classes","classnames","style","keys","length","blockProps","useBlockProps","isUrlAttributeConnected","bindings","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","label","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst isUrlAttributeConnected = !! metadata?.bindings?.url;\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ isUrlAttributeConnected ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! isUrlAttributeConnected &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ isUrlAttributeConnected ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_lockUnlock","_image","_constants","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isTemporaryImage","id","isBlobURL","isExternalImage","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","className","insertBlocksAfter","onReplace","context","clientId","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","altRef","useRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","undefined","ref","imageDefaultSize","mediaUpload","useSelect","select","getSettings","settings","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","getBlockBindingsSource","unlock","bindings","source","lockAttributesEditing","placeholder","content","Placeholder","withIllustration","icon","pluginsIcon","label","instructions","objectFit","default","containerRef","MediaPlaceholder","BlockIcon","onSelect","accept","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { getBlobByURL, isBlobURL, revokeBlobURL } from '@wordpress/blob';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tMediaPlaceholder,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Image from './image';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily\n * while the image is being uploaded and will not have an id yet allocated.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the URL a Blob URL\n */\nconst isTemporaryImage = ( id, url ) => ! id && isBlobURL( url );\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ align ] );\n\n\tconst ref = useRef();\n\tconst { imageDefaultSize, mediaUpload } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst settings = getSettings();\n\t\treturn {\n\t\t\timageDefaultSize: settings.imageDefaultSize,\n\t\t\tmediaUpload: settings.mediaUpload,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t} );\n\t\tsetTemporaryURL( undefined );\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t} );\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tsetTemporaryURL();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: imageDefaultSize,\n\t\t\t} );\n\t\t}\n\t}\n\n\tlet isTemp = isTemporaryImage( id, url );\n\n\t// Upload a temporary image on mount.\n\tuseEffect( () => {\n\t\tif ( ! isTemp ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst file = getBlobByURL( url );\n\n\t\tif ( file ) {\n\t\t\tmediaUpload( {\n\t\t\t\tfilesList: [ file ],\n\t\t\t\tonFileChange: ( [ img ] ) => {\n\t\t\t\t\tonSelectImage( img );\n\t\t\t\t},\n\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\tonError: ( message ) => {\n\t\t\t\t\tisTemp = false;\n\t\t\t\t\tonUploadError( message );\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\t// If an image is temporary, revoke the Blob url when it is uploaded (and is\n\t// no longer temporary).\n\tuseEffect( () => {\n\t\tif ( isTemp ) {\n\t\t\tsetTemporaryURL( url );\n\t\t\treturn;\n\t\t}\n\t\trevokeBlobURL( temporaryURL );\n\t}, [ isTemp, url ] );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName={ 'edit-image-preview' }\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst classes = classnames( className, {\n\t\t'is-transient': temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\tgetBlockBindingsSource( metadata?.bindings?.url?.source )\n\t\t\t\t\t\t?.lockAttributesEditing === true,\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSelected,\n\t\t\t\t} ) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\ticon={ lockUrlControls ? pluginsIcon : icon }\n\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ 'block-bindings-media-placeholder-message' }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Connected to a custom field' ) }\n\t\t\t\t\t</span>\n\t\t\t\t) : (\n\t\t\t\t\tcontent\n\t\t\t\t) }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<figure { ...blockProps }>\n\t\t\t<Image\n\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\tonReplace={ onReplace }\n\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tcontext={ context }\n\t\t\t\tclientId={ clientId }\n\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t/>\n\t\t\t<MediaPlaceholder\n\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ { id, src } }\n\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t/>\n\t\t</figure>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":"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"}
@@ -239,6 +239,25 @@ function Image({
239
239
  function onSetHref(props) {
240
240
  setAttributes(props);
241
241
  }
242
+ function onSetLightbox(enable) {
243
+ if (enable && !lightboxSetting?.enabled) {
244
+ setAttributes({
245
+ lightbox: {
246
+ enabled: true
247
+ }
248
+ });
249
+ } else if (!enable && lightboxSetting?.enabled) {
250
+ setAttributes({
251
+ lightbox: {
252
+ enabled: false
253
+ }
254
+ });
255
+ } else {
256
+ setAttributes({
257
+ lightbox: undefined
258
+ });
259
+ }
260
+ }
242
261
  function onSetTitle(value) {
243
262
  // This is the HTML title attribute, separate from the media object
244
263
  // title.
@@ -300,9 +319,8 @@ function Image({
300
319
  availableUnits: ['px']
301
320
  });
302
321
  const [lightboxSetting] = (0, _blockEditor.useSettings)('lightbox');
303
- const showLightboxToggle = !!lightbox || lightboxSetting?.allowEditing === true;
322
+ const showLightboxSetting = !!lightbox || lightboxSetting?.allowEditing === true;
304
323
  const lightboxChecked = !!lightbox?.enabled || !lightbox && !!lightboxSetting?.enabled;
305
- const lightboxToggleDisabled = linkDestination && linkDestination !== 'none';
306
324
  const dimensionsControl = (0, _react.createElement)(DimensionsTool, {
307
325
  value: {
308
326
  width,
@@ -367,9 +385,9 @@ function Image({
367
385
  title: titleBinding
368
386
  } = metadata?.bindings || {};
369
387
  return {
370
- lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source?.name)?.lockAttributesEditing === true,
371
- lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source?.name)?.lockAttributesEditing === true,
372
- lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source?.name)?.lockAttributesEditing === true
388
+ lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source)?.lockAttributesEditing === true,
389
+ lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source)?.lockAttributesEditing === true,
390
+ lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source)?.lockAttributesEditing === true
373
391
  };
374
392
  }, [isSelected]);
375
393
  const controls = (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
@@ -382,7 +400,10 @@ function Image({
382
400
  mediaLink: image && image.link,
383
401
  linkTarget: linkTarget,
384
402
  linkClass: linkClass,
385
- rel: rel
403
+ rel: rel,
404
+ showLightboxSetting: showLightboxSetting,
405
+ lightboxEnabled: lightboxChecked,
406
+ onSetLightbox: onSetLightbox
386
407
  }), allowCrop && (0, _react.createElement)(_components.ToolbarButton, {
387
408
  onClick: () => setIsEditingImage(true),
388
409
  icon: _icons.crop,
@@ -429,28 +450,7 @@ function Image({
429
450
  value: sizeSlug,
430
451
  onChange: updateImage,
431
452
  options: imageSizeOptions
432
- }), showLightboxToggle && (0, _react.createElement)(_components.__experimentalToolsPanelItem, {
433
- hasValue: () => !!lightbox,
434
- label: (0, _i18n.__)('Expand on click'),
435
- onDeselect: () => {
436
- setAttributes({
437
- lightbox: undefined
438
- });
439
- },
440
- isShownByDefault: true
441
- }, (0, _react.createElement)(_components.ToggleControl, {
442
- label: (0, _i18n.__)('Expand on click'),
443
- checked: lightboxChecked,
444
- onChange: newValue => {
445
- setAttributes({
446
- lightbox: {
447
- enabled: newValue
448
- }
449
- });
450
- },
451
- disabled: lightboxToggleDisabled,
452
- help: lightboxToggleDisabled ? (0, _i18n.__)('“Expand on click” scales the image up, and can’t be combined with a link.') : ''
453
- })))), (0, _react.createElement)(_blockEditor.InspectorControls, {
453
+ }))), (0, _react.createElement)(_blockEditor.InspectorControls, {
454
454
  group: "advanced"
455
455
  }, (0, _react.createElement)(_components.TextControl, {
456
456
  __nextHasNoMarginBottom: true,