@wordpress/block-library 9.26.0 → 9.26.1-next.719a03cbe.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.
Files changed (82) hide show
  1. package/build/button/edit.js +1 -1
  2. package/build/button/edit.js.map +1 -1
  3. package/build/cover/edit/inspector-controls.js +2 -2
  4. package/build/cover/edit/inspector-controls.js.map +1 -1
  5. package/build/details/index.js +1 -1
  6. package/build/details/index.js.map +1 -1
  7. package/build/gallery/constants.js +2 -1
  8. package/build/gallery/constants.js.map +1 -1
  9. package/build/gallery/edit.js +93 -15
  10. package/build/gallery/edit.js.map +1 -1
  11. package/build/image/edit.js +6 -0
  12. package/build/image/edit.js.map +1 -1
  13. package/build/list/index.js +0 -1
  14. package/build/list/index.js.map +1 -1
  15. package/build/more/edit.native.js +17 -32
  16. package/build/more/edit.native.js.map +1 -1
  17. package/build/navigation-link/edit.js +17 -1
  18. package/build/navigation-link/edit.js.map +1 -1
  19. package/build/post-author/edit.js +78 -35
  20. package/build/post-author/edit.js.map +1 -1
  21. package/build/post-comments-form/form.js +1 -1
  22. package/build/post-comments-form/form.js.map +1 -1
  23. package/build/post-featured-image/edit.js +2 -1
  24. package/build/post-featured-image/edit.js.map +1 -1
  25. package/build/search/edit.js +1 -1
  26. package/build/search/edit.js.map +1 -1
  27. package/build/site-logo/edit.js +16 -5
  28. package/build/site-logo/edit.js.map +1 -1
  29. package/build-module/button/edit.js +1 -1
  30. package/build-module/button/edit.js.map +1 -1
  31. package/build-module/cover/edit/inspector-controls.js +2 -2
  32. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  33. package/build-module/details/index.js +1 -1
  34. package/build-module/details/index.js.map +1 -1
  35. package/build-module/gallery/constants.js +1 -0
  36. package/build-module/gallery/constants.js.map +1 -1
  37. package/build-module/gallery/edit.js +95 -17
  38. package/build-module/gallery/edit.js.map +1 -1
  39. package/build-module/image/edit.js +6 -0
  40. package/build-module/image/edit.js.map +1 -1
  41. package/build-module/list/index.js +0 -1
  42. package/build-module/list/index.js.map +1 -1
  43. package/build-module/more/edit.native.js +16 -30
  44. package/build-module/more/edit.native.js.map +1 -1
  45. package/build-module/navigation-link/edit.js +18 -2
  46. package/build-module/navigation-link/edit.js.map +1 -1
  47. package/build-module/post-author/edit.js +78 -35
  48. package/build-module/post-author/edit.js.map +1 -1
  49. package/build-module/post-comments-form/form.js +1 -1
  50. package/build-module/post-comments-form/form.js.map +1 -1
  51. package/build-module/post-featured-image/edit.js +2 -1
  52. package/build-module/post-featured-image/edit.js.map +1 -1
  53. package/build-module/search/edit.js +1 -1
  54. package/build-module/search/edit.js.map +1 -1
  55. package/build-module/site-logo/edit.js +17 -6
  56. package/build-module/site-logo/edit.js.map +1 -1
  57. package/build-style/editor-rtl.css +0 -13
  58. package/build-style/editor.css +0 -13
  59. package/build-style/gallery/editor-rtl.css +0 -13
  60. package/build-style/gallery/editor.css +0 -13
  61. package/build-style/navigation/style-rtl.css +1 -0
  62. package/build-style/navigation/style.css +1 -0
  63. package/build-style/style-rtl.css +1 -0
  64. package/build-style/style.css +1 -0
  65. package/package.json +35 -35
  66. package/src/button/edit.js +1 -1
  67. package/src/cover/edit/inspector-controls.js +1 -1
  68. package/src/details/index.js +1 -1
  69. package/src/gallery/constants.js +1 -0
  70. package/src/gallery/edit.js +182 -68
  71. package/src/gallery/editor.scss +0 -17
  72. package/src/image/edit.js +12 -0
  73. package/src/list/block.json +0 -1
  74. package/src/more/edit.native.js +19 -33
  75. package/src/navigation/style.scss +1 -0
  76. package/src/navigation-link/edit.js +18 -1
  77. package/src/post-author/edit.js +91 -40
  78. package/src/post-comments-form/form.js +1 -1
  79. package/src/post-featured-image/edit.js +1 -0
  80. package/src/rss/index.php +2 -1
  81. package/src/search/edit.js +1 -1
  82. package/src/site-logo/edit.js +22 -10
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","Placeholder","Button","Spinner","TextControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","privateApis","blockEditorPrivateApis","blockEditorStore","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","useToolsPanelDropdownMenuProps","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_MEDIA_TYPES","ResolutionTool","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","select","getSettings","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","url","onResetImage","undefined","createErrorNotice","onUploadError","message","type","dropdownMenuProps","controls","group","resetAll","labels","singular_name","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { 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(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\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\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","Placeholder","Button","Spinner","TextControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__experimentalUseBorderProps","useBorderProps","__experimentalGetShadowClassesAndStyles","getShadowClassesAndStyles","useBlockEditingMode","privateApis","blockEditorPrivateApis","blockEditorStore","useMemo","useEffect","useState","__","sprintf","upload","noticesStore","DimensionControls","OverlayControls","Overlay","useToolsPanelDropdownMenuProps","unlock","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ALLOWED_MEDIA_TYPES","ResolutionTool","DEFAULT_MEDIA_SIZE_SLUG","FeaturedImageResolutionTool","image","value","onChange","imageSizes","select","getSettings","length","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","label","defaultValue","options","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","useFirstImageFromPost","temporaryURL","setTemporaryURL","storedFeaturedImage","setFeaturedImage","postContent","featuredImage","imageOpener","exec","imageId","groups","attrs","JSON","parse","id","media","postPermalink","getMedia","getPostType","getEditedEntityRecord","link","mediaUrl","blockProps","style","className","borderProps","shadowProps","blockEditingMode","placeholder","content","withIllustration","children","onSelectImage","url","onResetImage","undefined","createErrorNotice","onUploadError","message","type","dropdownMenuProps","controls","group","resetAll","labels","singular_name","isShownByDefault","hasValue","onDeselect","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","newRel","nextSizeSlug","href","target","imageStyles","objectFit","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","icon","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","mediaId","mediaURL","onReset"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPlaceholder,\n\tButton,\n\tSpinner,\n\tTextControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n\tprivateApis as blockEditorPrivateApis,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useMemo, useEffect, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport OverlayControls from './overlay-controls';\nimport Overlay from './overlay';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\nimport { unlock } from '../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst { ResolutionTool } = unlock( blockEditorPrivateApis );\nconst DEFAULT_MEDIA_SIZE_SLUG = 'full';\n\nfunction FeaturedImageResolutionTool( { 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(\n\t\t\t( { slug } ) => image?.media_details?.sizes?.[ slug ]?.source_url\n\t\t)\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\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t\tuseFirstImageFromPost,\n\t} = attributes;\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst [ storedFeaturedImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\t// Fallback to post content if no featured image is set.\n\t// This is needed for the \"Use first image from post\" option.\n\tconst [ postContent ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'content',\n\t\tpostId\n\t);\n\n\tconst featuredImage = useMemo( () => {\n\t\tif ( storedFeaturedImage ) {\n\t\t\treturn storedFeaturedImage;\n\t\t}\n\n\t\tif ( ! useFirstImageFromPost ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst imageOpener =\n\t\t\t/<!--\\s+wp:(?:core\\/)?image\\s+(?<attrs>{(?:(?:[^}]+|}+(?=})|(?!}\\s+\\/?-->).)*)?}\\s+)?-->/.exec(\n\t\t\t\tpostContent\n\t\t\t);\n\t\tconst imageId =\n\t\t\timageOpener?.groups?.attrs &&\n\t\t\tJSON.parse( imageOpener.groups.attrs )?.id;\n\t\treturn imageId;\n\t}, [ storedFeaturedImage, useFirstImageFromPost, postContent ] );\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl =\n\t\tmedia?.media_details?.sizes?.[ sizeSlug ]?.source_url ||\n\t\tmedia?.source_url;\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t\tclassName: clsx( {\n\t\t\t'is-transient': temporaryURL,\n\t\t} ),\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\n\t\tif ( value?.url && isBlobURL( value.url ) ) {\n\t\t\tsetTemporaryURL( value.url );\n\t\t}\n\t};\n\n\t// On reset image\n\tconst onResetImage = () => {\n\t\tsetAttributes( {\n\t\t\tisLink: false,\n\t\t\tlinkTarget: '_self',\n\t\t\trel: '',\n\t\t\tsizeSlug: undefined,\n\t\t} );\n\t\tsetFeaturedImage( 0 );\n\t};\n\n\t// Reset temporary url when media is available.\n\tuseEffect( () => {\n\t\tif ( mediaUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ mediaUrl, temporaryURL ] );\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = blockEditingMode === 'default' && (\n\t\t<>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<OverlayControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<DimensionControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tmedia={ media }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ ( featuredImage || isDescendentOfQueryLoop || ! postId ) && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\tsizeSlug: DEFAULT_MEDIA_SIZE_SLUG,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! isLink }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tisLink: false,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => '_self' !== linkTarget }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tlinkTarget: value\n\t\t\t\t\t\t\t\t\t\t\t\t? '_blank'\n\t\t\t\t\t\t\t\t\t\t\t\t: '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\t\thasValue={ () => !! rel }\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\trel: '',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ !! media && (\n\t\t\t\t\t\t\t<FeaturedImageResolutionTool\n\t\t\t\t\t\t\t\timage={ media }\n\t\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\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</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a conscious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\t...shadowProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage && ! temporaryURL ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage =\n\t\t\t! media && ! temporaryURL ? (\n\t\t\t\tplaceholder()\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<img\n\t\t\t\t\t\tclassName={ borderProps.className }\n\t\t\t\t\t\tsrc={ temporaryURL || mediaUrl }\n\t\t\t\t\t\talt={\n\t\t\t\t\t\t\tmedia && media?.alt_text\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ imageStyles }\n\t\t\t\t\t/>\n\t\t\t\t\t{ temporaryURL && <Spinner /> }\n\t\t\t\t</>\n\t\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tonReset={ onResetImage }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a href={ postPermalink } target={ linkTarget }>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -343,7 +343,7 @@ export default function SearchEdit({
343
343
  children: PERCENTAGE_WIDTHS.map(widthValue => {
344
344
  return /*#__PURE__*/_jsx(ToggleGroupControlOption, {
345
345
  value: widthValue,
346
- label: sprintf(/* translators: Percentage value. */
346
+ label: sprintf(/* translators: %d: Percentage value. */
347
347
  __('%d%%'), widthValue)
348
348
  }, widthValue);
349
349
  })
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","useBlockProps","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","SelectControl","ToggleControl","ResizableBox","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","value","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","type","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","onClick","icon","identifier","withoutInteractiveFormatting","html","dropdownMenuProps","controls","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","options","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tResizableBox,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\tlabel: __( 'Button outside' ),\n\t\t\tvalue: 'button-outside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button inside' ),\n\t\t\tvalue: 'button-inside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'No button' ),\n\t\t\tvalue: 'no-button',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button only' ),\n\t\t\tvalue: 'button-only',\n\t\t},\n\t];\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowLabel: value,\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</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => buttonPosition !== 'button-outside' }\n\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tvalue={ buttonPosition }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonPosition: value,\n\t\t\t\t\t\t\t\t\tisSearchFieldHidden:\n\t\t\t\t\t\t\t\t\t\tvalue === 'button-only',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ buttonPositionControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! buttonUseIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tbuttonUseIcon: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tid={ unitControlInputId } // Unused, kept for backwards compatibility\n\t\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: MIN_WIDTH\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\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\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\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\tisBlock\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t\t\t\t) }\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</ToggleGroupControl>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","useBlockProps","InspectorControls","RichText","__experimentalUseBorderProps","useBorderProps","__experimentalUseColorProps","useColorProps","getTypographyClassesAndStyles","useTypographyProps","store","blockEditorStore","__experimentalGetElementClassName","useSettings","useDispatch","useSelect","useEffect","useRef","SelectControl","ToggleControl","ResizableBox","__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalVStack","VStack","useInstanceId","Icon","search","__","sprintf","__unstableStripHTML","stripHTML","PC_WIDTH_DEFAULT","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INNER_PADDING","PERCENTAGE_WIDTHS","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","isSearchFieldHidden","style","wasJustInsertedIntoNavigationBlock","select","getBlockParentsByBlockName","wasBlockJustInserted","length","__unstableMarkNextChangeAsNotPersistent","borderRadius","border","radius","borderProps","colorProps","fluidTypographySettings","layout","typographyProps","typography","fluid","wideSize","unitControlInstanceId","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","buttonRef","units","availableUnits","defaultValues","px","getBlockClassNames","undefined","buttonPositionControls","value","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","type","onChange","event","target","ref","renderButton","buttonClasses","buttonStyles","handleButtonClick","children","onClick","icon","identifier","withoutInteractiveFormatting","html","dropdownMenuProps","controls","resetAll","hasValue","onDeselect","isShownByDefault","__nextHasNoMarginBottom","checked","__next40pxDefaultSize","options","id","min","max","step","newWidth","parsedNewWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","includes","hideLabelFromVision","isBlock","map","widthValue","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","labelClassnames","size","height","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSettings,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tSelectControl,\n\tToggleControl,\n\tResizableBox,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\nconst PERCENTAGE_WIDTHS = [ 25, 50, 75, 100 ];\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst wasJustInsertedIntoNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( wasJustInsertedIntoNavigationBlock ) {\n\t\t\t// This side-effect should not create an undo level.\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tshowLabel: false,\n\t\t\t\tbuttonUseIcon: true,\n\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t} );\n\t\t}\n\t}, [\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\twasJustInsertedIntoNavigationBlock,\n\t\tsetAttributes,\n\t] );\n\n\tconst borderRadius = style?.border?.radius;\n\tlet borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps = {\n\t\t\t...borderProps,\n\t\t\tstyle: {\n\t\t\t\t...borderProps.style,\n\t\t\t\tborderRadius: `${ borderRadius }px`,\n\t\t\t},\n\t\t};\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst [ fluidTypographySettings, layout ] = useSettings(\n\t\t'typography.fluid',\n\t\t'layout'\n\t);\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn clsx(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\tlabel: __( 'Button outside' ),\n\t\t\tvalue: 'button-outside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button inside' ),\n\t\t\tvalue: 'button-inside',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'No button' ),\n\t\t\tvalue: 'no-button',\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Button only' ),\n\t\t\tvalue: 'button-only',\n\t\t},\n\t];\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = clsx(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = clsx(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\n\t\t\t\t} );\n\t\t\t}\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tidentifier=\"buttonText\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst controls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => ! showLabel }\n\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowLabel: value,\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</ToolsPanelItem>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => buttonPosition !== 'button-outside' }\n\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tvalue={ buttonPosition }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonPosition: value,\n\t\t\t\t\t\t\t\t\tisSearchFieldHidden:\n\t\t\t\t\t\t\t\t\t\tvalue === 'button-only',\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\toptions={ buttonPositionControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! buttonUseIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: false,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\t\t\tlabel={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tbuttonUseIcon: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\twidth: undefined,\n\t\t\t\t\t\t\t\twidthUnit: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tid={ unitControlInputId } // Unused, kept for backwards compatibility\n\t\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 0\n\t\t\t\t\t\t\t\t\t\t: MIN_WIDTH\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tconst parsedNewWidth =\n\t\t\t\t\t\t\t\t\t\tnewWidth === ''\n\t\t\t\t\t\t\t\t\t\t\t? undefined\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( newWidth, 10 );\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: parsedNewWidth,\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\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tPERCENTAGE_WIDTHS.includes( width ) &&\n\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t? width\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\twidth: newWidth,\n\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\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\tisBlock\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ PERCENTAGE_WIDTHS.map( ( widthValue ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ widthValue }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t/* translators: %d: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\t\t\twidthValue\n\t\t\t\t\t\t\t\t\t\t\t) }\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</ToggleGroupControl>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = clsx(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth:\n\t\t\t\t\t\twidth === undefined\n\t\t\t\t\t\t\t? 'auto'\n\t\t\t\t\t\t\t: `${ width }${ widthUnit }`,\n\t\t\t\t\theight: 'auto',\n\t\t\t\t} }\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -9,7 +9,7 @@ import clsx from 'clsx';
9
9
  import { isBlobURL } from '@wordpress/blob';
10
10
  import { createInterpolateElement, useEffect, useState } from '@wordpress/element';
11
11
  import { __, isRTL } from '@wordpress/i18n';
12
- import { RangeControl, ResizableBox, Spinner, ToggleControl, ToolbarButton, Placeholder, Button, DropZone, FlexItem, PanelBody, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalItemGroup as ItemGroup, __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
12
+ import { RangeControl, ResizableBox, Spinner, ToggleControl, ToolbarButton, Placeholder, Button, DropZone, FlexItem, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalItemGroup as ItemGroup, __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
13
13
  import { useViewportMatch } from '@wordpress/compose';
14
14
  import { BlockControls, InspectorControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore, __experimentalImageEditor as ImageEditor } from '@wordpress/block-editor';
15
15
  import { useSelect, useDispatch } from '@wordpress/data';
@@ -420,6 +420,7 @@ export default function LogoEdit({
420
420
  getSettings
421
421
  } = useSelect(blockEditorStore);
422
422
  const [temporaryURL, setTemporaryURL] = useState();
423
+ const dropdownMenuProps = useToolsPanelDropdownMenuProps();
423
424
  const {
424
425
  editEntityRecord
425
426
  } = useDispatch(coreStore);
@@ -565,17 +566,27 @@ export default function LogoEdit({
565
566
  className: classes
566
567
  });
567
568
  const mediaInspectorPanel = (canUserEdit || logoUrl) && /*#__PURE__*/_jsx(InspectorControls, {
568
- children: /*#__PURE__*/_jsx(PanelBody, {
569
- title: __('Media'),
570
- children: /*#__PURE__*/_jsx("div", {
569
+ children: /*#__PURE__*/_jsx(ToolsPanel, {
570
+ label: __('Media'),
571
+ dropdownMenuProps: dropdownMenuProps,
572
+ children: !canUserEdit ? /*#__PURE__*/_jsx("div", {
571
573
  className: "block-library-site-logo__inspector-media-replace-container",
572
- children: !canUserEdit ? /*#__PURE__*/_jsx(InspectorLogoPreview, {
574
+ style: {
575
+ gridColumn: '1 / -1'
576
+ },
577
+ children: /*#__PURE__*/_jsx(InspectorLogoPreview, {
573
578
  media: mediaItemData,
574
579
  itemGroupProps: {
575
580
  isBordered: true,
576
581
  className: 'block-library-site-logo__inspector-readonly-logo-preview'
577
582
  }
578
- }) : /*#__PURE__*/_jsxs(_Fragment, {
583
+ })
584
+ }) : /*#__PURE__*/_jsx(ToolsPanelItem, {
585
+ hasValue: () => !!logoUrl,
586
+ label: __('Logo'),
587
+ isShownByDefault: true,
588
+ children: /*#__PURE__*/_jsxs("div", {
589
+ className: "block-library-site-logo__inspector-media-replace-container",
579
590
  children: [/*#__PURE__*/_jsx(SiteLogoReplaceFlow, {
580
591
  ...mediaReplaceFlowProps,
581
592
  name: !!logoUrl ? /*#__PURE__*/_jsx(InspectorLogoPreview, {
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","isBlobURL","createInterpolateElement","useEffect","useState","__","isRTL","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","PanelBody","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","MIN_SIZE","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","dropdownMenuProps","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","children","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","id","url","onSaveImage","imageAttributes","onFinishEditing","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","a","label","isShownByDefault","hasValue","onDeselect","undefined","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","newWidth","min","max","initialPosition","value","disabled","checked","help","group","icon","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","classes","blockProps","mediaInspectorPanel","isBordered","renderToggle","props","mediaLibraryButton","open","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\tPanelBody,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\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\t<>\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\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__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","isBlobURL","createInterpolateElement","useEffect","useState","__","isRTL","RangeControl","ResizableBox","Spinner","ToggleControl","ToolbarButton","Placeholder","Button","DropZone","FlexItem","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","useViewportMatch","BlockControls","InspectorControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","store","blockEditorStore","__experimentalImageEditor","ImageEditor","useSelect","useDispatch","coreStore","crop","upload","noticesStore","MIN_SIZE","useToolsPanelDropdownMenuProps","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","toggleSelection","dropdownMenuProps","imageEditing","maxWidth","title","select","settings","getSettings","siteEntities","getEntityRecord","name","onResizeStart","onResizeStop","img","children","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","canEditImage","imgEdit","id","url","onSaveImage","imageAttributes","onFinishEditing","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","a","label","isShownByDefault","hasValue","onDeselect","undefined","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","newWidth","min","max","initialPosition","value","disabled","checked","help","group","icon","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","as","justify","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","placeholder","content","placeholderClassName","preview","withIllustration","classes","blockProps","mediaInspectorPanel","gridColumn","isBordered","renderToggle","props","mediaLibraryButton","open","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Media' ) }\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-container\"\n\t\t\t\t\t\tstyle={ { gridColumn: '1 / -1' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) : (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => !! logoUrl }\n\t\t\t\t\t\tlabel={ __( 'Logo' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\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__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t) }\n\t\t\t</ToolsPanel>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}