@wordpress/block-library 9.26.0 → 9.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +4 -2
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +6 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +11 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/poster-image.js +81 -0
- package/build/cover/edit/poster-image.js.map +1 -0
- package/build/cover/index.js +6 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -1
- package/build/cover/save.js.map +1 -1
- package/build/details/index.js +1 -1
- package/build/details/index.js.map +1 -1
- package/build/gallery/constants.js +2 -1
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/edit.js +93 -15
- package/build/gallery/edit.js.map +1 -1
- package/build/image/edit.js +6 -0
- package/build/image/edit.js.map +1 -1
- package/build/list/index.js +0 -1
- package/build/list/index.js.map +1 -1
- package/build/media-text/edit.js +2 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/more/edit.native.js +17 -32
- package/build/more/edit.native.js.map +1 -1
- package/build/navigation-link/edit.js +49 -16
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +112 -14
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +19 -2
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/post-author/edit.js +78 -35
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments-form/form.js +1 -1
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-content/edit.js +78 -16
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +6 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-featured-image/edit.js +2 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/search/edit.js +1 -1
- package/build/search/edit.js.map +1 -1
- package/build/separator/edit.js +5 -30
- package/build/separator/edit.js.map +1 -1
- package/build/site-logo/edit.js +16 -5
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -1
- package/build/video/edit.js +2 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/poster-image.js +25 -25
- package/build/video/poster-image.js.map +1 -1
- package/build/video/tracks-editor.js +95 -104
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +6 -2
- package/build/video/tracks.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +4 -2
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +6 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +10 -4
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/poster-image.js +74 -0
- package/build-module/cover/edit/poster-image.js.map +1 -0
- package/build-module/cover/index.js +6 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -1
- package/build-module/cover/save.js.map +1 -1
- package/build-module/details/index.js +1 -1
- package/build-module/details/index.js.map +1 -1
- package/build-module/gallery/constants.js +1 -0
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/edit.js +95 -17
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/image/edit.js +6 -0
- package/build-module/image/edit.js.map +1 -1
- package/build-module/list/index.js +0 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/media-text/edit.js +2 -2
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/edit.native.js +16 -30
- package/build-module/more/edit.native.js.map +1 -1
- package/build-module/navigation-link/edit.js +50 -17
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +113 -15
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +20 -3
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/post-author/edit.js +78 -35
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +1 -1
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-content/edit.js +80 -18
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +6 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +2 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/search/edit.js +1 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/edit.js +6 -31
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +17 -6
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -1
- package/build-module/video/edit.js +2 -5
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/poster-image.js +26 -26
- package/build-module/video/poster-image.js.map +1 -1
- package/build-module/video/tracks-editor.js +96 -105
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +6 -2
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/archives/editor-rtl.css +0 -4
- package/build-style/archives/editor.css +0 -4
- package/build-style/editor-rtl.css +0 -21
- package/build-style/editor.css +0 -21
- package/build-style/file/style-rtl.css +1 -1
- package/build-style/file/style.css +1 -1
- package/build-style/gallery/editor-rtl.css +0 -13
- package/build-style/gallery/editor.css +0 -13
- package/build-style/navigation/style-rtl.css +2 -0
- package/build-style/navigation/style.css +2 -0
- package/build-style/style-rtl.css +3 -1
- package/build-style/style.css +3 -1
- package/build-style/video/editor-rtl.css +0 -4
- package/build-style/video/editor.css +0 -4
- package/package.json +35 -35
- package/src/archives/editor.scss +0 -4
- package/src/button/edit.js +1 -1
- package/src/comments-pagination/index.php +7 -2
- package/src/cover/block.json +6 -0
- package/src/cover/edit/block-controls.js +22 -17
- package/src/cover/edit/index.js +4 -1
- package/src/cover/edit/inspector-controls.js +12 -3
- package/src/cover/edit/poster-image.js +91 -0
- package/src/cover/save.js +2 -0
- package/src/details/index.js +1 -1
- package/src/file/style.scss +1 -1
- package/src/gallery/constants.js +1 -0
- package/src/gallery/edit.js +182 -68
- package/src/gallery/editor.scss +0 -17
- package/src/image/edit.js +12 -0
- package/src/list/block.json +0 -1
- package/src/media-text/edit.js +1 -1
- package/src/more/edit.native.js +19 -33
- package/src/navigation/style.scss +2 -0
- package/src/navigation-link/edit.js +46 -17
- package/src/navigation-link/test/edit.js +738 -6
- package/src/navigation-link/update-attributes.js +125 -12
- package/src/navigation-submenu/edit.js +21 -1
- package/src/post-author/edit.js +91 -40
- package/src/post-comments-form/form.js +1 -1
- package/src/post-content/block.json +6 -0
- package/src/post-content/edit.js +71 -19
- package/src/post-content/index.php +11 -4
- package/src/post-featured-image/edit.js +1 -0
- package/src/post-featured-image/index.php +3 -2
- package/src/rss/index.php +2 -1
- package/src/search/edit.js +1 -1
- package/src/separator/edit.js +8 -43
- package/src/site-logo/edit.js +22 -10
- package/src/site-tagline/block.json +1 -1
- package/src/video/edit.js +1 -4
- package/src/video/editor.scss +0 -6
- package/src/video/poster-image.js +29 -24
- package/src/video/tracks-editor.js +93 -103
- package/src/video/tracks.js +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","_lockUnlock","_hooks","_jsxRuntime","ResolutionTool","unlock","blockEditorPrivateApis","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","useFeaturedImage","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextResolutionTool","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","map","name","label","jsx","defaultValue","DEFAULT_MEDIA_SIZE_SLUG","options","MediaTextEdit","isSelected","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","mediaSizeSlug","rel","verticalAlignment","allowedBlocks","featuredImage","useEntityProp","featuredImageMedia","coreStore","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","refMedia","useRef","imperativeFocalPointPreview","style","current","x","y","objectPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","clsx","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","updateImage","newMediaSizeSlug","newUrl","dropdownMenuProps","useToolsPanelDropdownMenuProps","mediaTextGeneralSettings","jsxs","__experimentalToolsPanel","__","resetAll","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","checked","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","title","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: false,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = clsx( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill-element': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t\tmediaSizeSlug: undefined,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_data","_element","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","_lockUnlock","_hooks","_jsxRuntime","ResolutionTool","unlock","blockEditorPrivateApis","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","useFeaturedImage","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextResolutionTool","value","onChange","imageSizes","useSelect","select","getSettings","blockEditorStore","length","imageSizeOptions","filter","map","name","label","jsx","defaultValue","DEFAULT_MEDIA_SIZE_SLUG","options","MediaTextEdit","isSelected","context","postId","postType","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","mediaSizeSlug","rel","verticalAlignment","allowedBlocks","featuredImage","useEntityProp","featuredImageMedia","coreStore","getMedia","featuredImageURL","featuredImageAlt","alt_text","toggleUseFeaturedImage","refMedia","useRef","imperativeFocalPointPreview","style","current","x","y","objectPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","clsx","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","updateImage","newMediaSizeSlug","newUrl","dropdownMenuProps","useToolsPanelDropdownMenuProps","mediaTextGeneralSettings","jsxs","__experimentalToolsPanel","__","resetAll","children","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","ToggleControl","checked","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","title","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\nimport { unlock } from '../lock-unlock';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t\tuseFeaturedImage: false,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t} );\n\t};\n}\n\nfunction MediaTextResolutionTool( { image, value, onChange } ) {\n\tconst { imageSizes } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\timageSizes: getSettings().imageSizes,\n\t\t};\n\t}, [] );\n\n\tif ( ! imageSizes?.length ) {\n\t\treturn null;\n\t}\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\n\treturn (\n\t\t<ResolutionTool\n\t\t\tvalue={ value }\n\t\t\tdefaultValue={ DEFAULT_MEDIA_SIZE_SLUG }\n\t\t\toptions={ imageSizeOptions }\n\t\t\tonChange={ onChange }\n\t\t/>\n\t);\n}\n\nfunction MediaTextEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaSizeSlug,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t\tuseFeaturedImage,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { featuredImageMedia } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\tfeaturedImageMedia:\n\t\t\t\t\tfeaturedImage && useFeaturedImage\n\t\t\t\t\t\t? select( coreStore ).getMedia( featuredImage, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: undefined,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, useFeaturedImage ]\n\t);\n\n\tconst { image } = useSelect(\n\t\t( select ) => {\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst featuredImageURL = useFeaturedImage\n\t\t? featuredImageMedia?.source_url\n\t\t: '';\n\tconst featuredImageAlt = useFeaturedImage\n\t\t? featuredImageMedia?.alt_text\n\t\t: '';\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\timageFill: false,\n\t\t\tmediaType: 'image',\n\t\t\tmediaId: undefined,\n\t\t\tmediaUrl: undefined,\n\t\t\tmediaAlt: undefined,\n\t\t\tmediaLink: undefined,\n\t\t\tlinkDestination: undefined,\n\t\t\tlinkTarget: undefined,\n\t\t\tlinkClass: undefined,\n\t\t\trel: undefined,\n\t\t\thref: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t} );\n\t};\n\n\tconst refMedia = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMedia.current;\n\t\tconst { x, y } = value;\n\t\tstyle.objectPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = clsx( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill-element': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst mediaTextGeneralSettings = (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisStackedOnMobile: true,\n\t\t\t\t\timageFill: false,\n\t\t\t\t\tmediaAlt: '',\n\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\tmediaWidth: 50,\n\t\t\t\t} );\n\t\t\t\tupdateImage( DEFAULT_MEDIA_SIZE_SLUG );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => mediaWidth !== 50 }\n\t\t\t\tonDeselect={ () => setAttributes( { mediaWidth: 50 } ) }\n\t\t\t>\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tisShownByDefault\n\t\t\t\thasValue={ () => ! isStackedOnMobile }\n\t\t\t\tonDeselect={ () =>\n\t\t\t\t\tsetAttributes( { isStackedOnMobile: true } )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! imageFill }\n\t\t\t\t\tonDeselect={ () => setAttributes( { imageFill: false } ) }\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Crop image to fill' ) }\n\t\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ imageFill &&\n\t\t\t\t( mediaUrl || featuredImageURL ) &&\n\t\t\t\tmediaType === 'image' && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! focalPoint }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { focalPoint: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\t\t\t\turl={\n\t\t\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t{ mediaType === 'image' && mediaUrl && ! useFeaturedImage && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\thasValue={ () => !! mediaAlt }\n\t\t\t\t\tonDeselect={ () => setAttributes( { mediaAlt: '' } ) }\n\t\t\t\t>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t<MediaTextResolutionTool\n\t\t\t\t\timage={ image }\n\t\t\t\t\tvalue={ mediaSizeSlug }\n\t\t\t\t\tonChange={ updateImage }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && ! useFeaturedImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\trefMedia={ refMedia }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t\tuseFeaturedImage,\n\t\t\t\t\t\tfeaturedImageURL,\n\t\t\t\t\t\tfeaturedImageAlt,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,9 +4,8 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default =
|
|
7
|
+
exports.default = void 0;
|
|
8
8
|
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _element = require("@wordpress/element");
|
|
10
9
|
var _compose = require("@wordpress/compose");
|
|
11
10
|
var _components = require("@wordpress/components");
|
|
12
11
|
var _editor = _interopRequireDefault(require("./editor.scss"));
|
|
@@ -19,36 +18,22 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
18
|
* Internal dependencies
|
|
20
19
|
*/
|
|
21
20
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
defaultText
|
|
39
|
-
} = this.state;
|
|
40
|
-
const content = customText || defaultText;
|
|
41
|
-
const textStyle = getStylesFromColorScheme(_editor.default.moreText, _editor.default.moreTextDark);
|
|
42
|
-
const lineStyle = getStylesFromColorScheme(_editor.default.moreLine, _editor.default.moreLineDark);
|
|
43
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.HorizontalRule, {
|
|
44
|
-
text: content,
|
|
45
|
-
marginLeft: 0,
|
|
46
|
-
marginRight: 0,
|
|
47
|
-
textStyle: textStyle,
|
|
48
|
-
lineStyle: lineStyle
|
|
49
|
-
});
|
|
50
|
-
}
|
|
21
|
+
function MoreEdit({
|
|
22
|
+
attributes,
|
|
23
|
+
getStylesFromColorScheme
|
|
24
|
+
}) {
|
|
25
|
+
const {
|
|
26
|
+
customText
|
|
27
|
+
} = attributes;
|
|
28
|
+
const textStyle = getStylesFromColorScheme(_editor.default.moreText, _editor.default.moreTextDark);
|
|
29
|
+
const lineStyle = getStylesFromColorScheme(_editor.default.moreLine, _editor.default.moreLineDark);
|
|
30
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.HorizontalRule, {
|
|
31
|
+
text: customText || (0, _i18n.__)('Read more'),
|
|
32
|
+
marginLeft: 0,
|
|
33
|
+
marginRight: 0,
|
|
34
|
+
textStyle: textStyle,
|
|
35
|
+
lineStyle: lineStyle
|
|
36
|
+
});
|
|
51
37
|
}
|
|
52
|
-
exports.MoreEdit = MoreEdit;
|
|
53
38
|
var _default = exports.default = (0, _compose.withPreferredColorScheme)(MoreEdit);
|
|
54
39
|
//# sourceMappingURL=edit.native.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_compose","_components","_editor","_interopRequireDefault","_jsxRuntime","MoreEdit","attributes","getStylesFromColorScheme","customText","textStyle","styles","moreText","moreTextDark","lineStyle","moreLine","moreLineDark","jsx","HorizontalRule","text","__","marginLeft","marginRight","_default","exports","default","withPreferredColorScheme"],"sources":["@wordpress/block-library/src/more/edit.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { withPreferredColorScheme } from '@wordpress/compose';\nimport { HorizontalRule } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nfunction MoreEdit( { attributes, getStylesFromColorScheme } ) {\n\tconst { customText } = attributes;\n\n\tconst textStyle = getStylesFromColorScheme(\n\t\tstyles.moreText,\n\t\tstyles.moreTextDark\n\t);\n\tconst lineStyle = getStylesFromColorScheme(\n\t\tstyles.moreLine,\n\t\tstyles.moreLineDark\n\t);\n\n\treturn (\n\t\t<HorizontalRule\n\t\t\ttext={ customText || __( 'Read more' ) }\n\t\t\tmarginLeft={ 0 }\n\t\t\tmarginRight={ 0 }\n\t\t\ttextStyle={ textStyle }\n\t\t\tlineStyle={ lineStyle }\n\t\t/>\n\t);\n}\n\nexport default withPreferredColorScheme( MoreEdit );\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,OAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAAmC,IAAAK,WAAA,GAAAL,OAAA;AAVnC;AACA;AACA;;AAKA;AACA;AACA;;AAGA,SAASM,QAAQA,CAAE;EAAEC,UAAU;EAAEC;AAAyB,CAAC,EAAG;EAC7D,MAAM;IAAEC;EAAW,CAAC,GAAGF,UAAU;EAEjC,MAAMG,SAAS,GAAGF,wBAAwB,CACzCG,eAAM,CAACC,QAAQ,EACfD,eAAM,CAACE,YACR,CAAC;EACD,MAAMC,SAAS,GAAGN,wBAAwB,CACzCG,eAAM,CAACI,QAAQ,EACfJ,eAAM,CAACK,YACR,CAAC;EAED,oBACC,IAAAX,WAAA,CAAAY,GAAA,EAACf,WAAA,CAAAgB,cAAc;IACdC,IAAI,EAAGV,UAAU,IAAI,IAAAW,QAAE,EAAE,WAAY,CAAG;IACxCC,UAAU,EAAG,CAAG;IAChBC,WAAW,EAAG,CAAG;IACjBZ,SAAS,EAAGA,SAAW;IACvBI,SAAS,EAAGA;EAAW,CACvB,CAAC;AAEJ;AAAC,IAAAS,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEc,IAAAC,iCAAwB,EAAEpB,QAAS,CAAC","ignoreList":[]}
|
|
@@ -155,14 +155,16 @@ function getMissingText(type) {
|
|
|
155
155
|
function Controls({
|
|
156
156
|
attributes,
|
|
157
157
|
setAttributes,
|
|
158
|
-
|
|
158
|
+
setIsEditingControl
|
|
159
159
|
}) {
|
|
160
160
|
const {
|
|
161
161
|
label,
|
|
162
162
|
url,
|
|
163
163
|
description,
|
|
164
|
-
rel
|
|
164
|
+
rel,
|
|
165
|
+
opensInNewTab
|
|
165
166
|
} = attributes;
|
|
167
|
+
const lastURLRef = (0, _element.useRef)(url);
|
|
166
168
|
const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
|
|
167
169
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
|
|
168
170
|
label: (0, _i18n.__)('Settings'),
|
|
@@ -171,7 +173,8 @@ function Controls({
|
|
|
171
173
|
label: '',
|
|
172
174
|
url: '',
|
|
173
175
|
description: '',
|
|
174
|
-
rel: ''
|
|
176
|
+
rel: '',
|
|
177
|
+
opensInNewTab: false
|
|
175
178
|
});
|
|
176
179
|
},
|
|
177
180
|
dropdownMenuProps: dropdownMenuProps,
|
|
@@ -193,8 +196,8 @@ function Controls({
|
|
|
193
196
|
});
|
|
194
197
|
},
|
|
195
198
|
autoComplete: "off",
|
|
196
|
-
onFocus: () =>
|
|
197
|
-
onBlur: () =>
|
|
199
|
+
onFocus: () => setIsEditingControl(true),
|
|
200
|
+
onBlur: () => setIsEditingControl(false)
|
|
198
201
|
})
|
|
199
202
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
200
203
|
hasValue: () => !!url,
|
|
@@ -209,12 +212,41 @@ function Controls({
|
|
|
209
212
|
label: (0, _i18n.__)('Link'),
|
|
210
213
|
value: url ? (0, _url.safeDecodeURI)(url) : '',
|
|
211
214
|
onChange: urlValue => {
|
|
212
|
-
(
|
|
213
|
-
url: urlValue
|
|
214
|
-
}
|
|
215
|
+
setAttributes({
|
|
216
|
+
url: encodeURI((0, _url.safeDecodeURI)(urlValue))
|
|
217
|
+
});
|
|
215
218
|
},
|
|
216
219
|
autoComplete: "off",
|
|
217
|
-
type: "url"
|
|
220
|
+
type: "url",
|
|
221
|
+
onFocus: () => {
|
|
222
|
+
lastURLRef.current = url;
|
|
223
|
+
setIsEditingControl(true);
|
|
224
|
+
},
|
|
225
|
+
onBlur: () => {
|
|
226
|
+
// Defer the updateAttributes call to ensure entity connection isn't severed by accident.
|
|
227
|
+
(0, _updateAttributes.updateAttributes)({
|
|
228
|
+
url: !url ? lastURLRef.current : url
|
|
229
|
+
}, setAttributes, {
|
|
230
|
+
...attributes,
|
|
231
|
+
url: lastURLRef.current
|
|
232
|
+
});
|
|
233
|
+
setIsEditingControl(false);
|
|
234
|
+
}
|
|
235
|
+
})
|
|
236
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
237
|
+
hasValue: () => !!opensInNewTab,
|
|
238
|
+
label: (0, _i18n.__)('Open in new tab'),
|
|
239
|
+
onDeselect: () => setAttributes({
|
|
240
|
+
opensInNewTab: false
|
|
241
|
+
}),
|
|
242
|
+
isShownByDefault: true,
|
|
243
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.CheckboxControl, {
|
|
244
|
+
__nextHasNoMarginBottom: true,
|
|
245
|
+
label: (0, _i18n.__)('Open in new tab'),
|
|
246
|
+
checked: opensInNewTab,
|
|
247
|
+
onChange: value => setAttributes({
|
|
248
|
+
opensInNewTab: value
|
|
249
|
+
})
|
|
218
250
|
})
|
|
219
251
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
220
252
|
hasValue: () => !!description,
|
|
@@ -298,9 +330,10 @@ function NavigationLinkEdit({
|
|
|
298
330
|
const linkUIref = (0, _element.useRef)();
|
|
299
331
|
const prevUrl = (0, _compose.usePrevious)(url);
|
|
300
332
|
|
|
301
|
-
// Change the label using inspector causes
|
|
302
|
-
// This is a workaround to keep the focus on the
|
|
303
|
-
|
|
333
|
+
// Change the `label` and `url` using inspector causes RichText to change focus.
|
|
334
|
+
// This is a workaround to keep the focus on the field when it's focused we don't render the RichText.
|
|
335
|
+
// See: https://github.com/WordPress/gutenberg/pull/61374.
|
|
336
|
+
const [isEditingControl, setIsEditingControl] = (0, _element.useState)(false);
|
|
304
337
|
const {
|
|
305
338
|
isAtMaxNesting,
|
|
306
339
|
isTopLevelLink,
|
|
@@ -486,19 +519,19 @@ function NavigationLinkEdit({
|
|
|
486
519
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Controls, {
|
|
487
520
|
attributes: attributes,
|
|
488
521
|
setAttributes: setAttributes,
|
|
489
|
-
|
|
522
|
+
setIsEditingControl: setIsEditingControl
|
|
490
523
|
})
|
|
491
524
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
492
525
|
...blockProps,
|
|
493
526
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)("a", {
|
|
494
527
|
className: classes,
|
|
495
|
-
children: [!url ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
528
|
+
children: [!url && !isEditingControl ? /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
496
529
|
className: "wp-block-navigation-link__placeholder-text",
|
|
497
530
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
|
|
498
531
|
children: missingText
|
|
499
532
|
})
|
|
500
533
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
501
|
-
children: [!isInvalid && !isDraft && !
|
|
534
|
+
children: [!isInvalid && !isDraft && !isEditingControl && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
502
535
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
|
|
503
536
|
ref: ref,
|
|
504
537
|
identifier: "label",
|
|
@@ -517,7 +550,7 @@ function NavigationLinkEdit({
|
|
|
517
550
|
className: "wp-block-navigation-item__description",
|
|
518
551
|
children: description
|
|
519
552
|
})]
|
|
520
|
-
}), (isInvalid || isDraft ||
|
|
553
|
+
}), (isInvalid || isDraft || isEditingControl) && /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
521
554
|
className: (0, _clsx.default)('wp-block-navigation-link__placeholder-text', 'wp-block-navigation-link__label', {
|
|
522
555
|
'is-invalid': isInvalid,
|
|
523
556
|
'is-draft': isDraft
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","_hooks","_jsxRuntime","DEFAULT_BLOCK","name","NESTING_BLOCK_NAMES","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","enabled","isPostType","hasId","Number","isInteger","blockEditingMode","useBlockEditingMode","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","Controls","attributes","setAttributes","setIsLabelFieldFocused","label","url","description","rel","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsxs","__experimentalToolsPanel","resetAll","children","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","safeDecodeURI","urlValue","updateAttributes","TextareaControl","descriptionValue","help","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","useRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","usePrevious","isLabelFieldFocused","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","validateLinkStatus","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","getSelectedBlockClientId","rootClientId","isTopLevel","selectedBlockClientId","rootNavigationClientId","enableLinkStatusValidation","length","getBlocks","transformToSubmenu","innerBlocks","createBlock","newSubmenu","isURL","prependHTTP","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","opensInNewTab","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","preventDefault","stopPropagation","blockProps","useBlockProps","useMergeRefs","className","clsx","getColorClassName","style","color","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","title","shortcut","displayShortcut","currentTarget","addSubmenu","InspectorControls","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","decodeEntities","trim","LinkUI","link","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\nconst NESTING_BLOCK_NAMES = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id, enabled ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Fetching the posts status is an \"expensive\" operation. Especially for sites with large navigations.\n\t\t\t// When the block is rendered in a template or other disabled contexts we can skip this check in order\n\t\t\t// to avoid all these additional requests that don't really add any value in that mode.\n\t\t\tif ( blockEditingMode === 'disabled' || ! enabled ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, blockEditingMode, enabled, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsLabelFieldFocused } ) {\n\tconst { label, url, description, rel } = attributes;\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trel: '',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsLabelFieldFocused( true ) }\n\t\t\t\t\tonBlur={ () => setIsLabelFieldFocused( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: urlValue },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\tattributes\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\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\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the label using inspector causes rich text to change focus on firefox.\n\t// This is a workaround to keep the focus on the label field when label filed is focused we don't render the rich text.\n\tconst [ isLabelFieldFocused, setIsLabelFieldFocused ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tvalidateLinkStatus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst isTopLevel =\n\t\t\t\tgetBlockName( rootClientId ) === 'core/navigation';\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst rootNavigationClientId = isTopLevel\n\t\t\t\t? rootClientId\n\t\t\t\t: getBlockParentsByBlockName(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'core/navigation'\n\t\t\t\t )[ 0 ];\n\n\t\t\t// Enable when the root Navigation block is selected or any of its inner blocks.\n\t\t\tconst enableLinkStatusValidation =\n\t\t\t\tselectedBlockClientId === rootNavigationClientId ||\n\t\t\t\thasSelectedInnerBlock( rootNavigationClientId, true );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, NESTING_BLOCK_NAMES )\n\t\t\t\t\t\t.length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink: isTopLevel,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tvalidateLinkStatus: enableLinkStatusValidation,\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tkind,\n\t\ttype,\n\t\tid,\n\t\tvalidateLinkStatus\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\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={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsLabelFieldFocused={ setIsLabelFieldFocused }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isLabelFieldFocused && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid ||\n\t\t\t\t\t\t\t\tisDraft ||\n\t\t\t\t\t\t\t\tisLabelFieldFocused ) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__label',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t\t\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\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\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_blocks","_data","_components","_keycodes","_i18n","_blockEditor","_url","_element","_dom","_htmlEntities","_icons","_coreData","_compose","_linkUi","_updateAttributes","_utils","_hooks","_jsxRuntime","DEFAULT_BLOCK","name","NESTING_BLOCK_NAMES","useIsDraggingWithin","elementRef","isDraggingWithin","setIsDraggingWithin","useState","useEffect","ownerDocument","current","handleDragStart","event","handleDragEnter","handleDragEnd","contains","target","addEventListener","removeEventListener","useIsInvalidLink","kind","type","id","enabled","isPostType","hasId","Number","isInteger","blockEditingMode","useBlockEditingMode","postStatus","useSelect","select","getEntityRecord","coreStore","status","isInvalid","isDraft","getMissingText","missingText","__","Controls","attributes","setAttributes","setIsEditingControl","label","url","description","rel","opensInNewTab","lastURLRef","useRef","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsxs","__experimentalToolsPanel","resetAll","children","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","TextControl","__nextHasNoMarginBottom","__next40pxDefaultSize","value","stripHTML","onChange","labelValue","autoComplete","onFocus","onBlur","safeDecodeURI","urlValue","encodeURI","updateAttributes","CheckboxControl","checked","TextareaControl","descriptionValue","help","relValue","NavigationLinkEdit","isSelected","insertBlocksAfter","mergeBlocks","onReplace","context","clientId","maxNestingLevel","replaceBlock","__unstableMarkNextChangeAsNotPersistent","selectBlock","selectPreviousBlock","useDispatch","blockEditorStore","isLinkOpen","setIsLinkOpen","openedBy","setOpenedBy","popoverAnchor","setPopoverAnchor","listItemRef","itemLabelPlaceholder","ref","linkUIref","prevUrl","usePrevious","isEditingControl","isAtMaxNesting","isTopLevelLink","isParentOfSelectedBlock","hasChildren","validateLinkStatus","getBlockCount","getBlockName","getBlockRootClientId","hasSelectedInnerBlock","getBlockParentsByBlockName","getSelectedBlockClientId","rootClientId","isTopLevel","selectedBlockClientId","rootNavigationClientId","enableLinkStatusValidation","length","getBlocks","transformToSubmenu","innerBlocks","createBlock","newSubmenu","isURL","prependHTTP","test","selectLabelText","focus","defaultView","selection","getSelection","range","createRange","selectNodeContents","removeAllRanges","addRange","removeLink","undefined","textColor","customTextColor","backgroundColor","customBackgroundColor","getColors","onKeyDown","isKeyboardEvent","primary","preventDefault","stopPropagation","blockProps","useBlockProps","useMergeRefs","className","clsx","getColorClassName","style","color","innerBlocksProps","useInnerBlocksProps","defaultBlock","directInsert","renderAppender","onClick","classes","placeholderText","Fragment","BlockControls","ToolbarGroup","ToolbarButton","icon","linkIcon","title","shortcut","displayShortcut","currentTarget","addSubmenu","InspectorControls","RichText","identifier","onMerge","__unstableOnSplitAtEnd","placeholder","withoutInteractiveFormatting","decodeEntities","trim","LinkUI","link","onClose","window","document","activeElement","anchor","onRemove","updatedValue"],"sources":["@wordpress/block-library/src/navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tCheckboxControl,\n\tTextControl,\n\tTextareaControl,\n\tToolbarButton,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tgetColorClassName,\n\tuseInnerBlocksProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';\nimport { useState, useEffect, useRef } from '@wordpress/element';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, addSubmenu } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useMergeRefs, usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { LinkUI } from './link-ui';\nimport { updateAttributes } from './update-attributes';\nimport { getColors } from '../navigation/edit/utils';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst DEFAULT_BLOCK = { name: 'core/navigation-link' };\nconst NESTING_BLOCK_NAMES = [\n\t'core/navigation-link',\n\t'core/navigation-submenu',\n];\n\n/**\n * A React hook to determine if it's dragging within the target element.\n *\n * @typedef {import('@wordpress/element').RefObject} RefObject\n *\n * @param {RefObject<HTMLElement>} elementRef The target elementRef object.\n *\n * @return {boolean} Is dragging within the target element.\n */\nconst useIsDraggingWithin = ( elementRef ) => {\n\tconst [ isDraggingWithin, setIsDraggingWithin ] = useState( false );\n\n\tuseEffect( () => {\n\t\tconst { ownerDocument } = elementRef.current;\n\n\t\tfunction handleDragStart( event ) {\n\t\t\t// Check the first time when the dragging starts.\n\t\t\thandleDragEnter( event );\n\t\t}\n\n\t\t// Set to false whenever the user cancel the drag event by either releasing the mouse or press Escape.\n\t\tfunction handleDragEnd() {\n\t\t\tsetIsDraggingWithin( false );\n\t\t}\n\n\t\tfunction handleDragEnter( event ) {\n\t\t\t// Check if the current target is inside the item element.\n\t\t\tif ( elementRef.current.contains( event.target ) ) {\n\t\t\t\tsetIsDraggingWithin( true );\n\t\t\t} else {\n\t\t\t\tsetIsDraggingWithin( false );\n\t\t\t}\n\t\t}\n\n\t\t// Bind these events to the document to catch all drag events.\n\t\t// Ideally, we can also use `event.relatedTarget`, but sadly that\n\t\t// doesn't work in Safari.\n\t\townerDocument.addEventListener( 'dragstart', handleDragStart );\n\t\townerDocument.addEventListener( 'dragend', handleDragEnd );\n\t\townerDocument.addEventListener( 'dragenter', handleDragEnter );\n\n\t\treturn () => {\n\t\t\townerDocument.removeEventListener( 'dragstart', handleDragStart );\n\t\t\townerDocument.removeEventListener( 'dragend', handleDragEnd );\n\t\t\townerDocument.removeEventListener( 'dragenter', handleDragEnter );\n\t\t};\n\t}, [ elementRef ] );\n\n\treturn isDraggingWithin;\n};\n\nconst useIsInvalidLink = ( kind, type, id, enabled ) => {\n\tconst isPostType =\n\t\tkind === 'post-type' || type === 'post' || type === 'page';\n\tconst hasId = Number.isInteger( id );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst postStatus = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isPostType ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\t// Fetching the posts status is an \"expensive\" operation. Especially for sites with large navigations.\n\t\t\t// When the block is rendered in a template or other disabled contexts we can skip this check in order\n\t\t\t// to avoid all these additional requests that don't really add any value in that mode.\n\t\t\tif ( blockEditingMode === 'disabled' || ! enabled ) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tconst { getEntityRecord } = select( coreStore );\n\t\t\treturn getEntityRecord( 'postType', type, id )?.status;\n\t\t},\n\t\t[ isPostType, blockEditingMode, enabled, type, id ]\n\t);\n\n\t// Check Navigation Link validity if:\n\t// 1. Link is 'post-type'.\n\t// 2. It has an id.\n\t// 3. It's neither null, nor undefined, as valid items might be either of those while loading.\n\t// If those conditions are met, check if\n\t// 1. The post status is published.\n\t// 2. The Navigation Link item has no label.\n\t// If either of those is true, invalidate.\n\tconst isInvalid =\n\t\tisPostType && hasId && postStatus && 'trash' === postStatus;\n\tconst isDraft = 'draft' === postStatus;\n\n\treturn [ isInvalid, isDraft ];\n};\n\nfunction getMissingText( type ) {\n\tlet missingText = '';\n\n\tswitch ( type ) {\n\t\tcase 'post':\n\t\t\t/* translators: label for missing post in navigation link block */\n\t\t\tmissingText = __( 'Select post' );\n\t\t\tbreak;\n\t\tcase 'page':\n\t\t\t/* translators: label for missing page in navigation link block */\n\t\t\tmissingText = __( 'Select page' );\n\t\t\tbreak;\n\t\tcase 'category':\n\t\t\t/* translators: label for missing category in navigation link block */\n\t\t\tmissingText = __( 'Select category' );\n\t\t\tbreak;\n\t\tcase 'tag':\n\t\t\t/* translators: label for missing tag in navigation link block */\n\t\t\tmissingText = __( 'Select tag' );\n\t\t\tbreak;\n\t\tdefault:\n\t\t\t/* translators: label for missing values in navigation link block */\n\t\t\tmissingText = __( 'Add link' );\n\t}\n\n\treturn missingText;\n}\n\n/*\n * Warning, this duplicated in\n * packages/block-library/src/navigation-submenu/edit.js\n * Consider reusing this components for both blocks.\n */\nfunction Controls( { attributes, setAttributes, setIsEditingControl } ) {\n\tconst { label, url, description, rel, opensInNewTab } = attributes;\n\tconst lastURLRef = useRef( url );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Settings' ) }\n\t\t\tresetAll={ () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tlabel: '',\n\t\t\t\t\turl: '',\n\t\t\t\t\tdescription: '',\n\t\t\t\t\trel: '',\n\t\t\t\t\topensInNewTab: false,\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! label }\n\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { label: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\tvalue={ label ? stripHTML( label ) : '' }\n\t\t\t\t\tonChange={ ( labelValue ) => {\n\t\t\t\t\t\tsetAttributes( { label: labelValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tonFocus={ () => setIsEditingControl( true ) }\n\t\t\t\t\tonBlur={ () => setIsEditingControl( false ) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! url }\n\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { url: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Link' ) }\n\t\t\t\t\tvalue={ url ? safeDecodeURI( url ) : '' }\n\t\t\t\t\tonChange={ ( urlValue ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\turl: encodeURI( safeDecodeURI( urlValue ) ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\ttype=\"url\"\n\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\tlastURLRef.current = url;\n\t\t\t\t\t\tsetIsEditingControl( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t// Defer the updateAttributes call to ensure entity connection isn't severed by accident.\n\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t{ url: ! url ? lastURLRef.current : url },\n\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t{ ...attributes, url: lastURLRef.current }\n\t\t\t\t\t\t);\n\t\t\t\t\t\tsetIsEditingControl( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! opensInNewTab }\n\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { opensInNewTab: false } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<CheckboxControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\tchecked={ opensInNewTab }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { opensInNewTab: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! description }\n\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { description: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Description' ) }\n\t\t\t\t\tvalue={ description || '' }\n\t\t\t\t\tonChange={ ( descriptionValue ) => {\n\t\t\t\t\t\tsetAttributes( { description: descriptionValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The description will be displayed in the menu if the current theme supports it.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! rel }\n\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { rel: '' } ) }\n\t\t\t\tisShownByDefault\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'Rel attribute' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( relValue ) => {\n\t\t\t\t\t\tsetAttributes( { rel: relValue } );\n\t\t\t\t\t} }\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'The relationship of the linked URL as space-separated link types.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t</ToolsPanel>\n\t);\n}\n\nexport default function NavigationLinkEdit( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n\tmergeBlocks,\n\tonReplace,\n\tcontext,\n\tclientId,\n} ) {\n\tconst { id, label, type, url, description, kind } = attributes;\n\tconst { maxNestingLevel } = context;\n\n\tconst {\n\t\treplaceBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\tselectBlock,\n\t\tselectPreviousBlock,\n\t} = useDispatch( blockEditorStore );\n\t// Have the link editing ui open on mount when lacking a url and selected.\n\tconst [ isLinkOpen, setIsLinkOpen ] = useState( isSelected && ! url );\n\t// Store what element opened the popover, so we know where to return focus to (toolbar button vs navigation link text)\n\tconst [ openedBy, setOpenedBy ] = useState( null );\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\tconst listItemRef = useRef( null );\n\tconst isDraggingWithin = useIsDraggingWithin( listItemRef );\n\tconst itemLabelPlaceholder = __( 'Add label…' );\n\tconst ref = useRef();\n\tconst linkUIref = useRef();\n\tconst prevUrl = usePrevious( url );\n\n\t// Change the `label` and `url` using inspector causes RichText to change focus.\n\t// This is a workaround to keep the focus on the field when it's focused we don't render the RichText.\n\t// See: https://github.com/WordPress/gutenberg/pull/61374.\n\tconst [ isEditingControl, setIsEditingControl ] = useState( false );\n\n\tconst {\n\t\tisAtMaxNesting,\n\t\tisTopLevelLink,\n\t\tisParentOfSelectedBlock,\n\t\thasChildren,\n\t\tvalidateLinkStatus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetBlockName,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\thasSelectedInnerBlock,\n\t\t\t\tgetBlockParentsByBlockName,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst isTopLevel =\n\t\t\t\tgetBlockName( rootClientId ) === 'core/navigation';\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst rootNavigationClientId = isTopLevel\n\t\t\t\t? rootClientId\n\t\t\t\t: getBlockParentsByBlockName(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'core/navigation'\n\t\t\t\t )[ 0 ];\n\n\t\t\t// Enable when the root Navigation block is selected or any of its inner blocks.\n\t\t\tconst enableLinkStatusValidation =\n\t\t\t\tselectedBlockClientId === rootNavigationClientId ||\n\t\t\t\thasSelectedInnerBlock( rootNavigationClientId, true );\n\n\t\t\treturn {\n\t\t\t\tisAtMaxNesting:\n\t\t\t\t\tgetBlockParentsByBlockName( clientId, NESTING_BLOCK_NAMES )\n\t\t\t\t\t\t.length >= maxNestingLevel,\n\t\t\t\tisTopLevelLink: isTopLevel,\n\t\t\t\tisParentOfSelectedBlock: hasSelectedInnerBlock(\n\t\t\t\t\tclientId,\n\t\t\t\t\ttrue\n\t\t\t\t),\n\t\t\t\thasChildren: !! getBlockCount( clientId ),\n\t\t\t\tvalidateLinkStatus: enableLinkStatusValidation,\n\t\t\t};\n\t\t},\n\t\t[ clientId, maxNestingLevel ]\n\t);\n\tconst { getBlocks } = useSelect( blockEditorStore );\n\n\tconst [ isInvalid, isDraft ] = useIsInvalidLink(\n\t\tkind,\n\t\ttype,\n\t\tid,\n\t\tvalidateLinkStatus\n\t);\n\n\t/**\n\t * Transform to submenu block.\n\t */\n\tconst transformToSubmenu = () => {\n\t\tlet innerBlocks = getBlocks( clientId );\n\t\tif ( innerBlocks.length === 0 ) {\n\t\t\tinnerBlocks = [ createBlock( 'core/navigation-link' ) ];\n\t\t\tselectBlock( innerBlocks[ 0 ].clientId );\n\t\t}\n\t\tconst newSubmenu = createBlock(\n\t\t\t'core/navigation-submenu',\n\t\t\tattributes,\n\t\t\tinnerBlocks\n\t\t);\n\t\treplaceBlock( clientId, newSubmenu );\n\t};\n\n\tuseEffect( () => {\n\t\t// If block has inner blocks, transform to Submenu.\n\t\tif ( hasChildren ) {\n\t\t\t// This side-effect should not create an undo level as those should\n\t\t\t// only be created via user interactions.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\ttransformToSubmenu();\n\t\t}\n\t}, [ hasChildren ] );\n\n\t// If the LinkControl popover is open and the URL has changed, close the LinkControl and focus the label text.\n\tuseEffect( () => {\n\t\t// We only want to do this when the URL has gone from nothing to a new URL AND the label looks like a URL\n\t\tif (\n\t\t\t! prevUrl &&\n\t\t\turl &&\n\t\t\tisLinkOpen &&\n\t\t\tisURL( prependHTTP( label ) ) &&\n\t\t\t/^.+\\.[a-z]+/.test( label )\n\t\t) {\n\t\t\t// Focus and select the label text.\n\t\t\tselectLabelText();\n\t\t}\n\t}, [ prevUrl, url, isLinkOpen, label ] );\n\n\t/**\n\t * Focus the Link label text and select it.\n\t */\n\tfunction selectLabelText() {\n\t\tref.current.focus();\n\t\tconst { ownerDocument } = ref.current;\n\t\tconst { defaultView } = ownerDocument;\n\t\tconst selection = defaultView.getSelection();\n\t\tconst range = ownerDocument.createRange();\n\t\t// Get the range of the current ref contents so we can add this range to the selection.\n\t\trange.selectNodeContents( ref.current );\n\t\tselection.removeAllRanges();\n\t\tselection.addRange( range );\n\t}\n\n\t/**\n\t * Removes the current link if set.\n\t */\n\tfunction removeLink() {\n\t\t// Reset all attributes that comprise the link.\n\t\t// It is critical that all attributes are reset\n\t\t// to their default values otherwise this may\n\t\t// in advertently trigger side effects because\n\t\t// the values will have \"changed\".\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tlabel: undefined,\n\t\t\tid: undefined,\n\t\t\tkind: undefined,\n\t\t\ttype: undefined,\n\t\t\topensInNewTab: false,\n\t\t} );\n\n\t\t// Close the link editing UI.\n\t\tsetIsLinkOpen( false );\n\t}\n\n\tconst {\n\t\ttextColor,\n\t\tcustomTextColor,\n\t\tbackgroundColor,\n\t\tcustomBackgroundColor,\n\t} = getColors( context, ! isTopLevelLink );\n\n\tfunction onKeyDown( event ) {\n\t\tif ( isKeyboardEvent.primary( event, 'k' ) ) {\n\t\t\t// Required to prevent the command center from opening,\n\t\t\t// as it shares the CMD+K shortcut.\n\t\t\t// See https://github.com/WordPress/gutenberg/pull/59845.\n\t\t\tevent.preventDefault();\n\t\t\t// If this link is a child of a parent submenu item, the parent submenu item event will also open, closing this popover\n\t\t\tevent.stopPropagation();\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t}\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tref: useMergeRefs( [ setPopoverAnchor, listItemRef ] ),\n\t\tclassName: clsx( 'wp-block-navigation-item', {\n\t\t\t'is-editing': isSelected || isParentOfSelectedBlock,\n\t\t\t'is-dragging-within': isDraggingWithin,\n\t\t\t'has-link': !! url,\n\t\t\t'has-child': hasChildren,\n\t\t\t'has-text-color': !! textColor || !! customTextColor,\n\t\t\t[ getColorClassName( 'color', textColor ) ]: !! textColor,\n\t\t\t'has-background': !! backgroundColor || customBackgroundColor,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor ) ]:\n\t\t\t\t!! backgroundColor,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor && customTextColor,\n\t\t\tbackgroundColor: ! backgroundColor && customBackgroundColor,\n\t\t},\n\t\tonKeyDown,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\t...blockProps,\n\t\t\tclassName: 'remove-outline', // Remove the outline from the inner blocks container.\n\t\t},\n\t\t{\n\t\t\tdefaultBlock: DEFAULT_BLOCK,\n\t\t\tdirectInsert: true,\n\t\t\trenderAppender: false,\n\t\t}\n\t);\n\n\tif ( ! url || isInvalid || isDraft ) {\n\t\tblockProps.onClick = () => {\n\t\t\tsetIsLinkOpen( true );\n\t\t\tsetOpenedBy( ref.current );\n\t\t};\n\t}\n\n\tconst classes = clsx( 'wp-block-navigation-item__content', {\n\t\t'wp-block-navigation-link__placeholder': ! url || isInvalid || isDraft,\n\t} );\n\n\tconst missingText = getMissingText( type );\n\t/* translators: Whether the navigation link is Invalid or a Draft. */\n\tconst placeholderText = `(${\n\t\tisInvalid ? __( 'Invalid' ) : __( 'Draft' )\n\t})`;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tname=\"link\"\n\t\t\t\t\t\ticon={ linkIcon }\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={ ( event ) => {\n\t\t\t\t\t\t\tsetIsLinkOpen( true );\n\t\t\t\t\t\t\tsetOpenedBy( event.currentTarget );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! isAtMaxNesting && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\tname=\"submenu\"\n\t\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\t\ttitle={ __( 'Add submenu' ) }\n\t\t\t\t\t\t\tonClick={ transformToSubmenu }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolbarGroup>\n\t\t\t</BlockControls>\n\t\t\t{ /* Warning, this duplicated in packages/block-library/src/navigation-submenu/edit.js */ }\n\t\t\t<InspectorControls>\n\t\t\t\t<Controls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tsetIsEditingControl={ setIsEditingControl }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ /* eslint-disable jsx-a11y/anchor-is-valid */ }\n\t\t\t\t<a className={ classes }>\n\t\t\t\t\t{ /* eslint-enable */ }\n\t\t\t\t\t{ ! url && ! isEditingControl ? (\n\t\t\t\t\t\t<div className=\"wp-block-navigation-link__placeholder-text\">\n\t\t\t\t\t\t\t<span>{ missingText }</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ ! isInvalid &&\n\t\t\t\t\t\t\t\t! isDraft &&\n\t\t\t\t\t\t\t\t! isEditingControl && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\t\t\t\t\tref={ ref }\n\t\t\t\t\t\t\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__label\"\n\t\t\t\t\t\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( labelValue ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: labelValue,\n\t\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tonMerge={ mergeBlocks }\n\t\t\t\t\t\t\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\t\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation link text'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ itemLabelPlaceholder }\n\t\t\t\t\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t{ description && (\n\t\t\t\t\t\t\t\t\t\t\t<span className=\"wp-block-navigation-item__description\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ ( isInvalid || isDraft || isEditingControl ) && (\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__placeholder-text',\n\t\t\t\t\t\t\t\t\t\t'wp-block-navigation-link__label',\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t'is-invalid': isInvalid,\n\t\t\t\t\t\t\t\t\t\t\t'is-draft': isDraft,\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\t// Some attributes are stored in an escaped form. It's a legacy issue.\n\t\t\t\t\t\t\t\t\t\t\t// Ideally they would be stored in a raw, unescaped form.\n\t\t\t\t\t\t\t\t\t\t\t// Unescape is used here to \"recover\" the escaped characters\n\t\t\t\t\t\t\t\t\t\t\t// so they display without encoding.\n\t\t\t\t\t\t\t\t\t\t\t// See `updateAttributes` for more details.\n\t\t\t\t\t\t\t\t\t\t\t`${ decodeEntities( label ) } ${\n\t\t\t\t\t\t\t\t\t\t\t\tisInvalid || isDraft\n\t\t\t\t\t\t\t\t\t\t\t\t\t? placeholderText\n\t\t\t\t\t\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t\t\t\t\t\t}`.trim()\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t</div>\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\t{ isLinkOpen && (\n\t\t\t\t\t\t<LinkUI\n\t\t\t\t\t\t\tref={ linkUIref }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tlink={ attributes }\n\t\t\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\t\t\t// If there is no link then remove the auto-inserted block.\n\t\t\t\t\t\t\t\t// This avoids empty blocks which can provided a poor UX.\n\t\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\t\t// Fixes https://github.com/WordPress/gutenberg/issues/61361\n\t\t\t\t\t\t\t\t\t// There's a chance we're closing due to the user selecting the browse all button.\n\t\t\t\t\t\t\t\t\t// Only move focus if the focus is still within the popover ui. If it's not within\n\t\t\t\t\t\t\t\t\t// the popover, it's because something has taken the focus from the popover, and\n\t\t\t\t\t\t\t\t\t// we don't want to steal it back.\n\t\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\t\tlinkUIref.current.contains(\n\t\t\t\t\t\t\t\t\t\t\twindow.document.activeElement\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t\t// Select the previous block to keep focus nearby\n\t\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t// Remove the link.\n\t\t\t\t\t\t\t\t\tonReplace( [] );\n\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tsetIsLinkOpen( false );\n\t\t\t\t\t\t\t\tif ( openedBy ) {\n\t\t\t\t\t\t\t\t\topenedBy.focus();\n\t\t\t\t\t\t\t\t\tsetOpenedBy( null );\n\t\t\t\t\t\t\t\t} else if ( ref.current ) {\n\t\t\t\t\t\t\t\t\t// select the ref when adding a new link\n\t\t\t\t\t\t\t\t\tref.current.focus();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Fallback\n\t\t\t\t\t\t\t\t\tselectPreviousBlock( clientId, true );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tanchor={ popoverAnchor }\n\t\t\t\t\t\t\tonRemove={ removeLink }\n\t\t\t\t\t\t\tonChange={ ( updatedValue ) => {\n\t\t\t\t\t\t\t\tupdateAttributes(\n\t\t\t\t\t\t\t\t\tupdatedValue,\n\t\t\t\t\t\t\t\t\tsetAttributes,\n\t\t\t\t\t\t\t\t\tattributes\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) }\n\t\t\t\t</a>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|