@wordpress/block-library 8.28.0 → 8.28.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 (78) hide show
  1. package/build/button/edit.js +1 -1
  2. package/build/button/edit.js.map +1 -1
  3. package/build/button/index.js +0 -1
  4. package/build/button/index.js.map +1 -1
  5. package/build/heading/index.js +0 -1
  6. package/build/heading/index.js.map +1 -1
  7. package/build/image/edit.js +1 -1
  8. package/build/image/edit.js.map +1 -1
  9. package/build/image/image.js +72 -6
  10. package/build/image/image.js.map +1 -1
  11. package/build/image/index.js +1 -1
  12. package/build/navigation/constants.js +1 -2
  13. package/build/navigation/constants.js.map +1 -1
  14. package/build/navigation/edit/index.js +0 -4
  15. package/build/navigation/edit/index.js.map +1 -1
  16. package/build/navigation/view.js +0 -23
  17. package/build/navigation/view.js.map +1 -1
  18. package/build/paragraph/index.js +1 -1
  19. package/build/paragraph/transforms.js +1 -1
  20. package/build/spacer/edit.js +5 -2
  21. package/build/spacer/edit.js.map +1 -1
  22. package/build-module/button/edit.js +1 -1
  23. package/build-module/button/edit.js.map +1 -1
  24. package/build-module/button/index.js +0 -1
  25. package/build-module/button/index.js.map +1 -1
  26. package/build-module/heading/index.js +0 -1
  27. package/build-module/heading/index.js.map +1 -1
  28. package/build-module/image/edit.js +1 -1
  29. package/build-module/image/edit.js.map +1 -1
  30. package/build-module/image/image.js +73 -7
  31. package/build-module/image/image.js.map +1 -1
  32. package/build-module/image/index.js +1 -1
  33. package/build-module/navigation/constants.js +0 -1
  34. package/build-module/navigation/constants.js.map +1 -1
  35. package/build-module/navigation/edit/index.js +1 -5
  36. package/build-module/navigation/edit/index.js.map +1 -1
  37. package/build-module/navigation/view.js +0 -23
  38. package/build-module/navigation/view.js.map +1 -1
  39. package/build-module/paragraph/index.js +1 -1
  40. package/build-module/paragraph/transforms.js +1 -1
  41. package/build-module/spacer/edit.js +5 -2
  42. package/build-module/spacer/edit.js.map +1 -1
  43. package/build-style/editor-rtl.css +9 -2
  44. package/build-style/editor.css +9 -2
  45. package/build-style/image/editor-rtl.css +4 -0
  46. package/build-style/image/editor.css +4 -0
  47. package/build-style/navigation/editor-rtl.css +4 -2
  48. package/build-style/navigation/editor.css +4 -2
  49. package/build-style/navigation/style-rtl.css +18 -14
  50. package/build-style/navigation/style.css +18 -14
  51. package/build-style/spacer/editor-rtl.css +1 -0
  52. package/build-style/spacer/editor.css +1 -0
  53. package/build-style/style-rtl.css +18 -14
  54. package/build-style/style.css +18 -14
  55. package/package.json +34 -34
  56. package/src/button/block.json +0 -1
  57. package/src/button/edit.js +1 -1
  58. package/src/file/index.php +1 -1
  59. package/src/footnotes/index.php +24 -11
  60. package/src/heading/block.json +0 -1
  61. package/src/image/block.json +1 -6
  62. package/src/image/edit.js +1 -1
  63. package/src/image/editor.scss +5 -0
  64. package/src/image/image.js +115 -5
  65. package/src/image/index.php +2 -2
  66. package/src/navigation/constants.js +0 -2
  67. package/src/navigation/edit/index.js +1 -11
  68. package/src/navigation/editor.scss +1 -1
  69. package/src/navigation/index.php +100 -61
  70. package/src/navigation/style.scss +16 -18
  71. package/src/navigation/view.js +0 -26
  72. package/src/navigation-link/index.php +0 -1
  73. package/src/paragraph/block.json +1 -1
  74. package/src/query/index.php +1 -1
  75. package/src/query-pagination-numbers/index.php +9 -6
  76. package/src/search/index.php +14 -6
  77. package/src/spacer/edit.js +7 -2
  78. package/src/spacer/editor.scss +2 -0
@@ -201,7 +201,7 @@ function ButtonEdit(props) {
201
201
  getBlockBindingsSource
202
202
  } = (0, _lockUnlock.unlock)(select(_blockEditor.store));
203
203
  return {
204
- lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing === true
204
+ lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing
205
205
  };
206
206
  }, [isSelected]);
207
207
  return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)("div", {
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","_react","createElement","PanelBody","ButtonGroup","map","widthValue","Button","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","getBlockBindingsSource","unlock","bindings","source","lockAttributesEditing","Fragment","classnames","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onSplit","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\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\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_constants","_getUpdatedLinkAttributes","_removeAnchorTag","_lockUnlock","_i18n","_element","_components","_blockEditor","_keycodes","_icons","_blocks","_compose","_data","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","id","title","__","useEnter","props","replaceBlocks","selectionChange","useDispatch","blockEditorStore","getBlock","getBlockRootClientId","getBlockIndex","useSelect","propsRef","useRef","current","useRefEffect","element","onKeyDown","event","defaultPrevented","keyCode","ENTER","content","clientId","length","preventDefault","topParentListBlock","blockIndex","head","cloneBlock","innerBlocks","slice","middle","createBlock","getDefaultBlockName","after","tail","addEventListener","removeEventListener","WidthPanel","selectedWidth","setAttributes","handleChange","newWidth","width","undefined","_react","createElement","PanelBody","ButtonGroup","map","widthValue","Button","key","size","variant","onClick","ButtonEdit","attributes","className","isSelected","onReplace","mergeBlocks","tagName","textAlign","linkTarget","placeholder","rel","style","text","url","metadata","TagName","isKeyboardEvent","primary","startEditing","primaryShift","unlink","richTextRef","focus","popoverAnchor","setPopoverAnchor","useState","borderProps","useBorderProps","colorProps","useColorProps","spacingProps","useSpacingProps","shadowProps","useShadowProps","ref","blockProps","useBlockProps","useMergeRefs","blockEditingMode","useBlockEditingMode","isEditingURL","setIsEditingURL","isURLSet","opensInNewTab","NEW_TAB_TARGET","nofollow","includes","NOFOLLOW_REL","isLinkTag","useEffect","linkValue","useMemo","useEnterRef","mergedRef","lockUrlControls","select","getBlockBindingsSource","unlock","bindings","source","lockAttributesEditing","Fragment","classnames","fontSize","RichText","value","onChange","removeAnchorTag","withoutInteractiveFormatting","border","radius","__experimentalGetElementClassName","onSplit","onMerge","identifier","BlockControls","group","AlignmentControl","nextAlign","ToolbarButton","name","icon","link","shortcut","displayShortcut","linkOff","isActive","Popover","placement","onClose","anchor","focusOnMount","__unstableSlotName","shift","__experimentalLinkControl","newURL","newOpensInNewTab","newNofollow","getUpdatedLinkAttributes","onRemove","forceIsEditingLink","settings","InspectorControls","TextControl","__nextHasNoMarginBottom","label","newRel","_default","exports","default"],"sources":["@wordpress/block-library/src/button/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { NEW_TAB_TARGET, NOFOLLOW_REL } from './constants';\nimport { getUpdatedLinkAttributes } from './get-updated-link-attributes';\nimport removeAnchorTag from '../utils/remove-anchor-tag';\nimport { unlock } from '../lock-unlock';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useEffect, useState, useRef, useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tButtonGroup,\n\tPanelBody,\n\tTextControl,\n\tToolbarButton,\n\tPopover,\n} from '@wordpress/components';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\t__experimentalGetSpacingClassesAndStyles as useSpacingProps,\n\t__experimentalGetShadowClassesAndStyles as useShadowProps,\n\t__experimentalLinkControl as LinkControl,\n\t__experimentalGetElementClassName,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { displayShortcut, isKeyboardEvent, ENTER } from '@wordpress/keycodes';\nimport { link, linkOff } from '@wordpress/icons';\nimport {\n\tcreateBlock,\n\tcloneBlock,\n\tgetDefaultBlockName,\n} from '@wordpress/blocks';\nimport { useMergeRefs, useRefEffect } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction useEnter( props ) {\n\tconst { replaceBlocks, selectionChange } = useDispatch( blockEditorStore );\n\tconst { getBlock, getBlockRootClientId, getBlockIndex } =\n\t\tuseSelect( blockEditorStore );\n\tconst propsRef = useRef( props );\n\tpropsRef.current = props;\n\treturn useRefEffect( ( element ) => {\n\t\tfunction onKeyDown( event ) {\n\t\t\tif ( event.defaultPrevented || event.keyCode !== ENTER ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst { content, clientId } = propsRef.current;\n\t\t\tif ( content.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tevent.preventDefault();\n\t\t\tconst topParentListBlock = getBlock(\n\t\t\t\tgetBlockRootClientId( clientId )\n\t\t\t);\n\t\t\tconst blockIndex = getBlockIndex( clientId );\n\t\t\tconst head = cloneBlock( {\n\t\t\t\t...topParentListBlock,\n\t\t\t\tinnerBlocks: topParentListBlock.innerBlocks.slice(\n\t\t\t\t\t0,\n\t\t\t\t\tblockIndex\n\t\t\t\t),\n\t\t\t} );\n\t\t\tconst middle = createBlock( getDefaultBlockName() );\n\t\t\tconst after = topParentListBlock.innerBlocks.slice(\n\t\t\t\tblockIndex + 1\n\t\t\t);\n\t\t\tconst tail = after.length\n\t\t\t\t? [\n\t\t\t\t\t\tcloneBlock( {\n\t\t\t\t\t\t\t...topParentListBlock,\n\t\t\t\t\t\t\tinnerBlocks: after,\n\t\t\t\t\t\t} ),\n\t\t\t\t ]\n\t\t\t\t: [];\n\t\t\treplaceBlocks(\n\t\t\t\ttopParentListBlock.clientId,\n\t\t\t\t[ head, middle, ...tail ],\n\t\t\t\t1\n\t\t\t);\n\t\t\t// We manually change the selection here because we are replacing\n\t\t\t// a different block than the selected one.\n\t\t\tselectionChange( middle.clientId );\n\t\t}\n\n\t\telement.addEventListener( 'keydown', onKeyDown );\n\t\treturn () => {\n\t\t\telement.removeEventListener( 'keydown', onKeyDown );\n\t\t};\n\t}, [] );\n}\n\nfunction WidthPanel( { selectedWidth, setAttributes } ) {\n\tfunction handleChange( newWidth ) {\n\t\t// Check if we are toggling the width off\n\t\tconst width = selectedWidth === newWidth ? undefined : newWidth;\n\n\t\t// Update attributes.\n\t\tsetAttributes( { width } );\n\t}\n\n\treturn (\n\t\t<PanelBody title={ __( 'Width settings' ) }>\n\t\t\t<ButtonGroup aria-label={ __( 'Button width' ) }>\n\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\twidthValue === selectedWidth\n\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick={ () => handleChange( widthValue ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ButtonGroup>\n\t\t</PanelBody>\n\t);\n}\n\nfunction ButtonEdit( props ) {\n\tconst {\n\t\tattributes,\n\t\tsetAttributes,\n\t\tclassName,\n\t\tisSelected,\n\t\tonReplace,\n\t\tmergeBlocks,\n\t\tclientId,\n\t} = props;\n\tconst {\n\t\ttagName,\n\t\ttextAlign,\n\t\tlinkTarget,\n\t\tplaceholder,\n\t\trel,\n\t\tstyle,\n\t\ttext,\n\t\turl,\n\t\twidth,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst TagName = tagName || 'a';\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\tstartEditing( event );\n\t\t} else if ( isKeyboardEvent.primaryShift( event, 'k' ) ) {\n\t\t\tunlink();\n\t\t\trichTextRef.current?.focus();\n\t\t}\n\t}\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst colorProps = useColorProps( attributes );\n\tconst spacingProps = useSpacingProps( attributes );\n\tconst shadowProps = useShadowProps( attributes );\n\tconst ref = useRef();\n\tconst richTextRef = useRef();\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, ref ] ),\n\t\tonKeyDown,\n\t} );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst isURLSet = !! url;\n\tconst opensInNewTab = linkTarget === NEW_TAB_TARGET;\n\tconst nofollow = !! rel?.includes( NOFOLLOW_REL );\n\tconst isLinkTag = 'a' === TagName;\n\n\tfunction startEditing( event ) {\n\t\tevent.preventDefault();\n\t\tsetIsEditingURL( true );\n\t}\n\n\tfunction unlink() {\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\trel: undefined,\n\t\t} );\n\t\tsetIsEditingURL( false );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingURL( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\t// Memoize link value to avoid overriding the LinkControl's internal state.\n\t// This is a temporary fix. See https://github.com/WordPress/gutenberg/issues/51256.\n\tconst linkValue = useMemo(\n\t\t() => ( { url, opensInNewTab, nofollow } ),\n\t\t[ url, opensInNewTab, nofollow ]\n\t);\n\n\tconst useEnterRef = useEnter( { content: text, clientId } );\n\tconst mergedRef = useMergeRefs( [ useEnterRef, richTextRef ] );\n\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,\n\t\t\t};\n\t\t},\n\t\t[ isSelected ]\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( blockProps.className, {\n\t\t\t\t\t[ `has-custom-width wp-block-button__width-${ width }` ]:\n\t\t\t\t\t\twidth,\n\t\t\t\t\t[ `has-custom-font-size` ]: blockProps.style.fontSize,\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t<RichText\n\t\t\t\t\tref={ mergedRef }\n\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\tplaceholder={ placeholder || __( 'Add text…' ) }\n\t\t\t\t\tvalue={ text }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttext: removeAnchorTag( value ),\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t\t'wp-block-button__link',\n\t\t\t\t\t\tcolorProps.className,\n\t\t\t\t\t\tborderProps.className,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t\t\t\t\t// For backwards compatibility add style that isn't\n\t\t\t\t\t\t\t// provided via block support.\n\t\t\t\t\t\t\t'no-border-radius': style?.border?.radius === 0,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t\t...colorProps.style,\n\t\t\t\t\t\t...spacingProps.style,\n\t\t\t\t\t\t...shadowProps.style,\n\t\t\t\t\t} }\n\t\t\t\t\tonSplit={ ( value ) =>\n\t\t\t\t\t\tcreateBlock( 'core/button', {\n\t\t\t\t\t\t\t...attributes,\n\t\t\t\t\t\t\ttext: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t/>\n\t\t\t</div>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<AlignmentControl\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\ttitle={ __( 'Link' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primary( 'k' ) }\n\t\t\t\t\t\tonClick={ startEditing }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isURLSet && isLinkTag && ! lockUrlControls && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\t\tshortcut={ displayShortcut.primaryShift( 'k' ) }\n\t\t\t\t\t\tonClick={ unlink }\n\t\t\t\t\t\tisActive={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ isLinkTag &&\n\t\t\t\tisSelected &&\n\t\t\t\t( isEditingURL || isURLSet ) &&\n\t\t\t\t! lockUrlControls && (\n\t\t\t\t\t<Popover\n\t\t\t\t\t\tplacement=\"bottom\"\n\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\tfocusOnMount={ isEditingURL ? 'firstElement' : false }\n\t\t\t\t\t\t__unstableSlotName={ '__unstable-block-tools-after' }\n\t\t\t\t\t\tshift\n\t\t\t\t\t>\n\t\t\t\t\t\t<LinkControl\n\t\t\t\t\t\t\tvalue={ linkValue }\n\t\t\t\t\t\t\tonChange={ ( {\n\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\tnofollow: newNofollow,\n\t\t\t\t\t\t\t} ) =>\n\t\t\t\t\t\t\t\tsetAttributes(\n\t\t\t\t\t\t\t\t\tgetUpdatedLinkAttributes( {\n\t\t\t\t\t\t\t\t\t\trel,\n\t\t\t\t\t\t\t\t\t\turl: newURL,\n\t\t\t\t\t\t\t\t\t\topensInNewTab: newOpensInNewTab,\n\t\t\t\t\t\t\t\t\t\tnofollow: newNofollow,\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\tonRemove={ () => {\n\t\t\t\t\t\t\t\tunlink();\n\t\t\t\t\t\t\t\trichTextRef.current?.focus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tforceIsEditingLink={ isEditingURL }\n\t\t\t\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Popover>\n\t\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<WidthPanel\n\t\t\t\t\tselectedWidth={ width }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t{ isLinkTag && (\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n\nexport default ButtonEdit;\n"],"mappings":"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"}
@@ -27,7 +27,6 @@ const metadata = exports.metadata = {
27
27
  description: "Prompt visitors to take action with a button-style link.",
28
28
  keywords: ["link"],
29
29
  textdomain: "default",
30
- usesContext: ["pattern/overrides"],
31
30
  attributes: {
32
31
  tagName: {
33
32
  type: "string",
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_icons","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","metadata","exports","$schema","apiVersion","name","title","category","parent","description","keywords","textdomain","usesContext","attributes","tagName","type","textAlign","url","source","selector","attribute","__experimentalRole","text","linkTarget","rel","placeholder","backgroundColor","textColor","gradient","width","supports","anchor","align","alignWide","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","reusable","shadow","spacing","padding","__experimentalBorder","radius","style","__experimentalSelector","interactivity","clientNavigation","styles","label","isDefault","editorStyle","settings","icon","example","className","__","edit","save","deprecated","merge","a","init","initBlock"],"sources":["@wordpress/block-library/src/button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button 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';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\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","metadata","exports","$schema","apiVersion","name","title","category","parent","description","keywords","textdomain","attributes","tagName","type","textAlign","url","source","selector","attribute","__experimentalRole","text","linkTarget","rel","placeholder","backgroundColor","textColor","gradient","width","supports","anchor","align","alignWide","color","__experimentalSkipSerialization","gradients","__experimentalDefaultControls","background","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","reusable","shadow","spacing","padding","__experimentalBorder","radius","style","__experimentalSelector","interactivity","clientNavigation","styles","label","isDefault","editorStyle","settings","icon","example","className","__","edit","save","deprecated","merge","a","init","initBlock"],"sources":["@wordpress/block-library/src/button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { button 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';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tclassName: 'is-style-fill',\n\t\t\ttext: __( 'Call to Action' ),\n\t\t},\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tmerge: ( a, { text = '' } ) => ( {\n\t\t...a,\n\t\ttext: ( a.text || '' ) + text,\n\t} ),\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -27,7 +27,6 @@ const metadata = exports.metadata = {
27
27
  description: "Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.",
28
28
  keywords: ["title", "subtitle"],
29
29
  textdomain: "default",
30
- usesContext: ["pattern/overrides"],
31
30
  attributes: {
32
31
  textAlign: {
33
32
  type: "string"
@@ -1 +1 @@
1
- {"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","usesContext","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","style","settings","icon","example","__","__experimentalLabel","context","customName","length","sprintf","transforms","deprecated","merge","attributesToMerge","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || content ) ) {\n\t\t\treturn attributes?.metadata?.name || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! content || content.length === 0\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,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;AAdA;AACA;AACA;AAIA;AACA;AACA;AAFA,MAAAQ,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,WAAA;EAAAC,UAAA;IAAAC,SAAA;MAAAC,IAAA;IAAA;IAAAC,OAAA;MAAAD,IAAA;MAAAE,MAAA;MAAAC,QAAA;MAAAC,kBAAA;IAAA;IAAAC,KAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,WAAA;MAAAN,IAAA;IAAA;EAAA;EAAAO,QAAA;IAAAC,KAAA;IAAAC,MAAA;IAAAC,SAAA;IAAAC,KAAA;MAAAC,SAAA;MAAAC,IAAA;MAAAC,6BAAA;QAAAC,UAAA;QAAAC,IAAA;MAAA;IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAL,6BAAA;QAAAI,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAC,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,wBAAA;MAAAC,2BAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,yBAAA;MAAAf,6BAAA;QAAAO,QAAA;MAAA;IAAA;IAAAS,yBAAA;IAAAC,2BAAA;IAAAC,aAAA;MAAAC,gBAAA;IAAA;EAAA;EAAAC,WAAA;EAAAC,KAAA;AAAA;AAUA,MAAM;EAAE5C;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM6C,QAAQ,GAAAhD,OAAA,CAAAgD,QAAA,GAAG;EACvBC,IAAI,EAAJA,cAAI;EACJC,OAAO,EAAE;IACRxC,UAAU,EAAE;MACXG,OAAO,EAAE,IAAAsC,QAAE,EAAE,gBAAiB,CAAC;MAC/BlC,KAAK,EAAE;IACR;EACD,CAAC;EACDmC,mBAAmBA,CAAE1C,UAAU,EAAE;IAAE2C;EAAQ,CAAC,EAAG;IAC9C,MAAM;MAAExC,OAAO;MAAEI;IAAM,CAAC,GAAGP,UAAU;IAErC,MAAM4C,UAAU,GAAG5C,UAAU,EAAEX,QAAQ,EAAEI,IAAI;;IAE7C;IACA;IACA,IAAKkD,OAAO,KAAK,WAAW,KAAMC,UAAU,IAAIzC,OAAO,CAAE,EAAG;MAC3D,OAAOH,UAAU,EAAEX,QAAQ,EAAEI,IAAI,IAAIU,OAAO;IAC7C;IAEA,IAAKwC,OAAO,KAAK,eAAe,EAAG;MAClC,OAAO,CAAExC,OAAO,IAAIA,OAAO,CAAC0C,MAAM,KAAK,CAAC,GACrC,IAAAC,aAAO,GACP;MACA,IAAAL,QAAE,EAAE,kBAAmB,CAAC,EACxBlC,KACA,CAAC,GACD,IAAAuC,aAAO,GACP;MACA,IAAAL,QAAE,EAAE,kBAAmB,CAAC,EACxBlC,KAAK,EACLJ,OACA,CAAC;IACL;EACD,CAAC;EACD4C,UAAU,EAAVA,mBAAU;EACVC,UAAU,EAAVA,mBAAU;EACVC,KAAKA,CAAEjD,UAAU,EAAEkD,iBAAiB,EAAG;IACtC,OAAO;MACN/C,OAAO,EACN,CAAEH,UAAU,CAACG,OAAO,IAAI,EAAE,KACxB+C,iBAAiB,CAAC/C,OAAO,IAAI,EAAE;IACnC,CAAC;EACF,CAAC;EACDgD,IAAI,EAAJA,aAAI;EACJC,IAAI,EAAJA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAE7D,IAAI;EAAEJ,QAAQ;EAAEiD;AAAS,CAAE,CAAC;AAAChD,OAAA,CAAA+D,IAAA,GAAAA,IAAA"}
1
+ {"version":3,"names":["_icons","require","_i18n","_initBlock","_interopRequireDefault","_deprecated","_edit","_save","_transforms","metadata","exports","$schema","apiVersion","name","title","category","description","keywords","textdomain","attributes","textAlign","type","content","source","selector","__experimentalRole","level","placeholder","supports","align","anchor","className","color","gradients","link","__experimentalDefaultControls","background","text","spacing","margin","padding","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontStyle","__experimentalFontWeight","__experimentalLetterSpacing","__experimentalTextTransform","__experimentalTextDecoration","__experimentalWritingMode","__unstablePasteTextInline","__experimentalSlashInserter","interactivity","clientNavigation","editorStyle","style","settings","icon","example","__","__experimentalLabel","context","customName","length","sprintf","transforms","deprecated","merge","attributesToMerge","edit","save","init","initBlock"],"sources":["@wordpress/block-library/src/heading/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { heading as icon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcontent: __( 'Code is Poetry' ),\n\t\t\tlevel: 2,\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst { content, level } = attributes;\n\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\t// In the list view, use the block's content as the label.\n\t\t// If the content is empty, fall back to the default label.\n\t\tif ( context === 'list-view' && ( customName || content ) ) {\n\t\t\treturn attributes?.metadata?.name || content;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn ! content || content.length === 0\n\t\t\t\t? sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. %s: heading level. */\n\t\t\t\t\t\t__( 'Level %s. Empty.' ),\n\t\t\t\t\t\tlevel\n\t\t\t\t )\n\t\t\t\t: sprintf(\n\t\t\t\t\t\t/* translators: accessibility text. 1: heading level. 2: heading content. */\n\t\t\t\t\t\t__( 'Level %1$s. %2$s' ),\n\t\t\t\t\t\tlevel,\n\t\t\t\t\t\tcontent\n\t\t\t\t );\n\t\t}\n\t},\n\ttransforms,\n\tdeprecated,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\tcontent:\n\t\t\t\t( attributes.content || '' ) +\n\t\t\t\t( attributesToMerge.content || '' ),\n\t\t};\n\t},\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"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"}
@@ -316,7 +316,7 @@ function ImageEdit({
316
316
  getBlockBindingsSource
317
317
  } = (0, _lockUnlock.unlock)(select(_blockEditor.store));
318
318
  return {
319
- lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing === true
319
+ lockUrlControls: !!metadata?.bindings?.url && getBlockBindingsSource(metadata?.bindings?.url?.source)?.lockAttributesEditing
320
320
  };
321
321
  }, [isSingleSelected]);
322
322
  const placeholder = content => {
@@ -1 +1 @@
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","isSingleSelected","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","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","select","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\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\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: isSingleSelected,\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 { getSettings } = useSelect( blockEditorStore );\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\tconst { imageDefaultSize } = getSettings();\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: getSettings().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\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\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\tconst shadowProps = getShadowClassesAndStyles( 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 ( ! isSingleSelected ) {\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[ isSingleSelected ]\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 && ! isSingleSelected,\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\t...shadowProps.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\tisSingleSelected={ isSingleSelected }\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","isSingleSelected","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","getSettings","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","type","src","onSelectImage","media","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","isTemp","file","getBlobByURL","mediaUpload","filesList","onFileChange","img","allowedTypes","ALLOWED_MEDIA_TYPES","onError","revokeBlobURL","isExternal","mediaPreview","_react","createElement","__","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","classnames","style","keys","length","blockProps","useBlockProps","lockUrlControls","select","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\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\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: isSingleSelected,\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 { getSettings } = useSelect( blockEditorStore );\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\tconst { imageDefaultSize } = getSettings();\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: getSettings().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\tconst { mediaUpload } = getSettings();\n\t\t\tif ( ! mediaUpload ) {\n\t\t\t\treturn;\n\t\t\t}\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\tconst shadowProps = getShadowClassesAndStyles( 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 ( ! isSingleSelected ) {\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,\n\t\t\t};\n\t\t},\n\t\t[ isSingleSelected ]\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 && ! isSingleSelected,\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\t...shadowProps.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\tisSingleSelected={ isSingleSelected }\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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"}
@@ -13,6 +13,7 @@ var _data = require("@wordpress/data");
13
13
  var _blockEditor = require("@wordpress/block-editor");
14
14
  var _element = require("@wordpress/element");
15
15
  var _i18n = require("@wordpress/i18n");
16
+ var _keycodes = require("@wordpress/keycodes");
16
17
  var _url = require("@wordpress/url");
17
18
  var _blocks = require("@wordpress/blocks");
18
19
  var _icons = require("@wordpress/icons");
@@ -161,6 +162,7 @@ function Image({
161
162
  const [externalBlob, setExternalBlob] = (0, _element.useState)();
162
163
  const clientWidth = (0, _useClientWidth.default)(containerRef, [align]);
163
164
  const hasNonContentControls = blockEditingMode === 'default';
165
+ const isContentOnlyMode = blockEditingMode === 'contentOnly';
164
166
  const isResizable = allowResize && hasNonContentControls && !isWideAligned && isLargeViewport;
165
167
  const imageSizeOptions = imageSizes.filter(({
166
168
  slug
@@ -377,13 +379,13 @@ function Image({
377
379
  } = metadata?.bindings || {};
378
380
  const hasParentPattern = getBlockParentsByBlockName(clientId, 'core/block').length > 0;
379
381
  return {
380
- lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source)?.lockAttributesEditing === true,
382
+ lockUrlControls: !!urlBinding && getBlockBindingsSource(urlBinding?.source)?.lockAttributesEditing,
381
383
  lockHrefControls:
382
384
  // Disable editing the link of the URL if the image is inside a pattern instance.
383
385
  // This is a temporary solution until we support overriding the link on the frontend.
384
386
  hasParentPattern,
385
- lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source)?.lockAttributesEditing === true,
386
- lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source)?.lockAttributesEditing === true
387
+ lockAltControls: !!altBinding && getBlockBindingsSource(altBinding?.source)?.lockAttributesEditing,
388
+ lockTitleControls: !!titleBinding && getBlockBindingsSource(titleBinding?.source)?.lockAttributesEditing
387
389
  };
388
390
  }, [clientId, isSingleSelected, metadata?.bindings]);
389
391
  const controls = (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_blockEditor.BlockControls, {
@@ -422,7 +424,71 @@ function Image({
422
424
  onClick: uploadExternal,
423
425
  icon: _icons.upload,
424
426
  label: (0, _i18n.__)('Upload to Media Library')
425
- }))), (0, _react.createElement)(_blockEditor.InspectorControls, null, (0, _react.createElement)(_components.__experimentalToolsPanel, {
427
+ }))), isContentOnlyMode &&
428
+ // Add some extra controls for content attributes when content only mode is active.
429
+ // With content only mode active, the inspector is hidden, so users need another way
430
+ // to edit these attributes.
431
+ (0, _react.createElement)(_blockEditor.BlockControls, {
432
+ group: "other"
433
+ }, (0, _react.createElement)(_components.Dropdown, {
434
+ popoverProps: {
435
+ position: 'bottom right'
436
+ },
437
+ renderToggle: ({
438
+ isOpen,
439
+ onToggle
440
+ }) => (0, _react.createElement)(_components.ToolbarButton, {
441
+ onClick: onToggle,
442
+ "aria-haspopup": "true",
443
+ "aria-expanded": isOpen,
444
+ onKeyDown: event => {
445
+ if (!isOpen && event.keyCode === _keycodes.DOWN) {
446
+ event.preventDefault();
447
+ onToggle();
448
+ }
449
+ }
450
+ }, (0, _i18n._x)('Alt', 'Alternative text for an image. Block toolbar label, a low character count is preferred.')),
451
+ renderContent: () => (0, _react.createElement)(_components.TextareaControl, {
452
+ className: "wp-block-image__toolbar_content_textarea",
453
+ label: (0, _i18n.__)('Alternative text'),
454
+ value: alt || '',
455
+ onChange: updateAlt,
456
+ disabled: lockAltControls,
457
+ help: lockAltControls ? (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Connected to a custom field')) : (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.ExternalLink, {
458
+ href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
459
+ }, (0, _i18n.__)('Describe the purpose of the image.')), (0, _react.createElement)("br", null), (0, _i18n.__)('Leave empty if decorative.')),
460
+ __nextHasNoMarginBottom: true
461
+ })
462
+ }), (0, _react.createElement)(_components.Dropdown, {
463
+ popoverProps: {
464
+ position: 'bottom right'
465
+ },
466
+ renderToggle: ({
467
+ isOpen,
468
+ onToggle
469
+ }) => (0, _react.createElement)(_components.ToolbarButton, {
470
+ onClick: onToggle,
471
+ "aria-haspopup": "true",
472
+ "aria-expanded": isOpen,
473
+ onKeyDown: event => {
474
+ if (!isOpen && event.keyCode === _keycodes.DOWN) {
475
+ event.preventDefault();
476
+ onToggle();
477
+ }
478
+ }
479
+ }, (0, _i18n.__)('Title')),
480
+ renderContent: () => (0, _react.createElement)(_components.TextControl, {
481
+ className: "wp-block-image__toolbar_content_textarea",
482
+ __nextHasNoMarginBottom: true,
483
+ label: (0, _i18n.__)('Title attribute'),
484
+ value: title || '',
485
+ onChange: onSetTitle,
486
+ disabled: lockTitleControls,
487
+ help: lockTitleControls ? (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Connected to a custom field')) : (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Describe the role of this image on the page.'), (0, _react.createElement)(_components.ExternalLink, {
488
+ href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute"
489
+ }, (0, _i18n.__)('(Note: many devices and browsers do not display this text.)')))
490
+ })
491
+ })), (0, _react.createElement)(_blockEditor.InspectorControls, null, (0, _react.createElement)(_components.__experimentalToolsPanel, {
426
492
  label: (0, _i18n.__)('Settings'),
427
493
  resetAll: resetAll,
428
494
  dropdownMenuProps: _constants.TOOLSPANEL_DROPDOWNMENU_PROPS
@@ -437,7 +503,7 @@ function Image({
437
503
  label: (0, _i18n.__)('Alternative text'),
438
504
  value: alt || '',
439
505
  onChange: updateAlt,
440
- disabled: lockAltControls,
506
+ readOnly: lockAltControls,
441
507
  help: lockAltControls ? (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Connected to a custom field')) : (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.ExternalLink, {
442
508
  href: "https://www.w3.org/WAI/tutorials/images/decision-tree"
443
509
  }, (0, _i18n.__)('Describe the purpose of the image.')), (0, _react.createElement)("br", null), (0, _i18n.__)('Leave empty if decorative.')),
@@ -453,7 +519,7 @@ function Image({
453
519
  label: (0, _i18n.__)('Title attribute'),
454
520
  value: title || '',
455
521
  onChange: onSetTitle,
456
- disabled: lockTitleControls,
522
+ readOnly: lockTitleControls,
457
523
  help: lockTitleControls ? (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Connected to a custom field')) : (0, _react.createElement)(_react.Fragment, null, (0, _i18n.__)('Describe the role of this image on the page.'), (0, _react.createElement)(_components.ExternalLink, {
458
524
  href: "https://www.w3.org/TR/html52/dom.html#the-title-attribute"
459
525
  }, (0, _i18n.__)('(Note: many devices and browsers do not display this text.)')))