@wordpress/block-library 9.22.0 → 9.23.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 (68) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/calendar/index.js +1 -0
  3. package/build/calendar/index.js.map +1 -1
  4. package/build/comments/edit/comments-inspector-controls.js +13 -13
  5. package/build/comments/edit/comments-inspector-controls.js.map +1 -1
  6. package/build/comments/edit/index.js +4 -2
  7. package/build/comments/edit/index.js.map +1 -1
  8. package/build/cover/edit/inspector-controls.js +9 -12
  9. package/build/cover/edit/inspector-controls.js.map +1 -1
  10. package/build/group/edit.js +17 -13
  11. package/build/group/edit.js.map +1 -1
  12. package/build/image/edit.js +0 -6
  13. package/build/image/edit.js.map +1 -1
  14. package/build/latest-posts/edit.js +100 -54
  15. package/build/latest-posts/edit.js.map +1 -1
  16. package/build/query/edit/query-content.js +11 -12
  17. package/build/query/edit/query-content.js.map +1 -1
  18. package/build/separator/edit.js +13 -12
  19. package/build/separator/edit.js.map +1 -1
  20. package/build/template-part/edit/advanced-controls.js +14 -12
  21. package/build/template-part/edit/advanced-controls.js.map +1 -1
  22. package/build/template-part/edit/index.js +2 -1
  23. package/build/template-part/edit/index.js.map +1 -1
  24. package/build-module/calendar/index.js +1 -0
  25. package/build-module/calendar/index.js.map +1 -1
  26. package/build-module/comments/edit/comments-inspector-controls.js +14 -14
  27. package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
  28. package/build-module/comments/edit/index.js +4 -2
  29. package/build-module/comments/edit/index.js.map +1 -1
  30. package/build-module/cover/edit/inspector-controls.js +10 -13
  31. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  32. package/build-module/group/edit.js +16 -14
  33. package/build-module/group/edit.js.map +1 -1
  34. package/build-module/image/edit.js +0 -6
  35. package/build-module/image/edit.js.map +1 -1
  36. package/build-module/latest-posts/edit.js +100 -54
  37. package/build-module/latest-posts/edit.js.map +1 -1
  38. package/build-module/query/edit/query-content.js +12 -13
  39. package/build-module/query/edit/query-content.js.map +1 -1
  40. package/build-module/separator/edit.js +15 -14
  41. package/build-module/separator/edit.js.map +1 -1
  42. package/build-module/template-part/edit/advanced-controls.js +14 -12
  43. package/build-module/template-part/edit/advanced-controls.js.map +1 -1
  44. package/build-module/template-part/edit/index.js +2 -1
  45. package/build-module/template-part/edit/index.js.map +1 -1
  46. package/package.json +35 -35
  47. package/src/calendar/block.json +1 -0
  48. package/src/comments/edit/comments-inspector-controls.js +14 -12
  49. package/src/comments/edit/index.js +2 -1
  50. package/src/cover/edit/inspector-controls.js +9 -12
  51. package/src/group/edit.js +11 -10
  52. package/src/image/edit.js +0 -4
  53. package/src/latest-posts/edit.js +113 -81
  54. package/src/loginout/index.php +5 -1
  55. package/src/navigation/index.php +0 -1
  56. package/src/navigation-link/index.php +1 -1
  57. package/src/navigation-submenu/index.php +1 -1
  58. package/src/post-author/index.php +1 -1
  59. package/src/post-author-name/index.php +1 -1
  60. package/src/query/edit/query-content.js +10 -11
  61. package/src/separator/edit.js +16 -12
  62. package/src/template-part/edit/advanced-controls.js +9 -8
  63. package/src/template-part/edit/index.js +1 -0
  64. package/build/utils/messages.js +0 -22
  65. package/build/utils/messages.js.map +0 -1
  66. package/build-module/utils/messages.js +0 -15
  67. package/build-module/utils/messages.js.map +0 -1
  68. package/src/utils/messages.js +0 -31
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","blob","containerRef","useRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","altRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t} else {\n\t\t\t// Keep the same url when selecting the same file, so \"Resolution\"\n\t\t\t// option is not changed.\n\t\t\tadditionalAttributes = { url };\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AASA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAKA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,oBAAA,GAAAd,OAAA;AAKA,IAAAe,UAAA,GAAAf,OAAA;AAMqB,IAAAgB,WAAA,GAAAhB,OAAA;AA5CrB;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAMA;AACA;AACA;;AASO,MAAMiB,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;EACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAAEL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAE,CAAC,CAACM,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KAC9C,CAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAE,CAACC,QAAQ,CAAED,GAAI,CAClD,CACD,CAAC;EAEDL,UAAU,CAACO,GAAG,GACbT,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,EAAEQ,GAAG,IAC3BT,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,EAAEW,UAAU,IACjDZ,KAAK,CAACS,GAAG;EACV,OAAOP,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAW,OAAA,CAAAd,sBAAA,GAAAA,sBAAA;AASO,MAAMe,eAAe,GAAGA,CAAEC,EAAE,EAAEN,GAAG,KAAMA,GAAG,IAAI,CAAEM,EAAE,IAAI,CAAE,IAAAC,eAAS,EAAEP,GAAI,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AASA,SAASG,OAAOA,CAAEjB,KAAK,EAAEC,IAAI,EAAG;EAAA,IAAAiB,iBAAA,EAAAC,qBAAA;EAC/B,OACC,KAAK,MAAAD,iBAAA,GAAMlB,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,cAAAiB,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,CAAE,IACzC,YAAY,MAAAC,qBAAA,GAAMnB,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,cAAAkB,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE;AAEjE;AAEO,SAASC,SAASA,CAAE;EAC1BC,UAAU;EACVC,aAAa;EACbC,UAAU,EAAEC,gBAAgB;EAC5BC,SAAS;EACTC,iBAAiB;EACjBC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,sBAAsB,EAAEC;AACzB,CAAC,EAAG;EACH,MAAM;IACLtB,GAAG,GAAG,EAAE;IACRuB,GAAG;IACHC,OAAO;IACPlB,EAAE;IACFmB,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,WAAW;IACXC,KAAK;IACLC,KAAK;IACLC;EACD,CAAC,GAAGnB,UAAU;EAEd,MAAM,CAAEoB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAC,iBAAQ,EAAEtB,UAAU,CAACuB,IAAK,CAAC;EAErE,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC7B;EACA;EACA;EACA,MAAMC,UAAU,GAAGhB,YAAY,EAAEiB,IAAI,IAAIjB,YAAY,EAAEkB,OAAO,EAAED,IAAI;EACpE,MAAME,wBAAwB,GAC7B,CAAEH,UAAU,IAAMA,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,MAAQ;EACnE,MAAM,CAAEI,gBAAgB,EAAEC,eAAe,CAAE,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAEnE,MAAM,CAAEC,yBAAyB,EAAE;IAAEpB,KAAK,EAAEqB;EAAiB,CAAC,CAAE,GAC/D,IAAAC,0BAAiB,EAAC,CAAC;EAEpB,MAAMC,gBAAgB,GAAGF,gBAAgB,IAAIA,gBAAgB,GAAG,GAAG;EAEnE,MAAMG,MAAM,GAAG,IAAAZ,eAAM,EAAC,CAAC;EACvB,IAAAa,kBAAS,EAAE,MAAM;IAChBD,MAAM,CAACE,OAAO,GAAG5B,GAAG;EACrB,CAAC,EAAE,CAAEA,GAAG,CAAG,CAAC;EAEZ,MAAM6B,UAAU,GAAG,IAAAf,eAAM,EAAC,CAAC;EAC3B,IAAAa,kBAAS,EAAE,MAAM;IAChBE,UAAU,CAACD,OAAO,GAAG3B,OAAO;EAC7B,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,MAAM;IAAE6B,uCAAuC;IAAEC;EAAa,CAAC,GAC9D,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAEhC,IAAAN,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE,MAAM,EAAE,MAAM,CAAE,CAACnD,QAAQ,CAAE+B,KAAM,CAAC,EAAG;MAC3CuB,uCAAuC,CAAC,CAAC;MACzCxC,aAAa,CAAE;QACdY,KAAK,EAAEgC,SAAS;QAChB/B,MAAM,EAAE+B,SAAS;QACjB7B,WAAW,EAAE6B,SAAS;QACtB5B,KAAK,EAAE4B;MACR,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEJ,uCAAuC,EAAEvB,KAAK,EAAEjB,aAAa,CAAG,CAAC;EAEtE,MAAM;IACL6C,WAAW;IACXC,oBAAoB;IACpBC,YAAY;IACZC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAEN,kBAAiB,CAAC;EACjC,MAAMO,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAV,iBAAW,EAAEW,cAAa,CAAC;EACzD,SAASC,aAAaA,CAAEC,OAAO,EAAG;IACjCH,iBAAiB,CAAEG,OAAO,EAAE;MAAE7B,IAAI,EAAE;IAAW,CAAE,CAAC;IAClD1B,aAAa,CAAE;MACdwD,GAAG,EAAEZ,SAAS;MACdnD,EAAE,EAAEmD,SAAS;MACbzD,GAAG,EAAEyD,SAAS;MACdtB,IAAI,EAAEsB;IACP,CAAE,CAAC;EACJ;EAEA,SAASa,kBAAkBA,CAAEC,MAAM,EAAG;IACrC,MAAMC,GAAG,GAAGpC,YAAY,CAACe,OAAO,EAAEsB,aAAa,CAACC,WAAW;IAE3D,IAAKH,MAAM,CAACI,KAAK,CAAIC,IAAI,IAAMA,IAAI,YAAYJ,GAAG,CAACK,IAAK,CAAC,EAAG;MAC3D;MACA,MAAMC,KAAK,GAAGP,MAAM;MACpB,MAAMQ,YAAY,GAAGpB,oBAAoB,CAAEvC,QAAS,CAAC;MAErD,IAAK0D,KAAK,CAACE,IAAI,CAAIJ,IAAI,IAAM,CAAE,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,EAAG;QAC1D;QACAX,iBAAiB,CAChB,IAAAiB,QAAE,EACD,8DACD,CAAC,EACD;UAAE5E,EAAE,EAAE,6BAA6B;UAAEiC,IAAI,EAAE;QAAW,CACvD,CAAC;MACF;MAEA,MAAM4C,WAAW,GAAGL,KAAK,CACvBjF,MAAM,CAAI+E,IAAI,IAAM,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,CAC7CQ,GAAG,CAAIR,IAAI,IACX,IAAAS,mBAAW,EAAE,YAAY,EAAE;QAC1BlD,IAAI,EAAE,IAAAmD,mBAAa,EAAEV,IAAK;MAC3B,CAAE,CACH,CAAC;MAEF,IAAKhB,YAAY,CAAEmB,YAAa,CAAC,KAAK,cAAc,EAAG;QACtDzB,YAAY,CAAElC,QAAQ,EAAE+D,WAAY,CAAC;MACtC,CAAC,MAAM,IAAKtB,kBAAkB,CAAE,cAAc,EAAEkB,YAAa,CAAC,EAAG;QAChE,MAAMQ,YAAY,GAAG,IAAAF,mBAAW,EAC/B,cAAc,EACd,CAAC,CAAC,EACFF,WACD,CAAC;QAED7B,YAAY,CAAElC,QAAQ,EAAEmE,YAAa,CAAC;MACvC;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAKC,KAAK,CAACC,OAAO,CAAEF,KAAM,CAAC,EAAG;MAC7BnB,kBAAkB,CAAEmB,KAAM,CAAC;MAC3B;IACD;IAEA,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACzF,GAAG,EAAG;MAC7Ba,aAAa,CAAE;QACdb,GAAG,EAAEyD,SAAS;QACdlC,GAAG,EAAEkC,SAAS;QACdnD,EAAE,EAAEmD,SAAS;QACbmC,KAAK,EAAEnC,SAAS;QAChBjC,OAAO,EAAEiC,SAAS;QAClBtB,IAAI,EAAEsB;MACP,CAAE,CAAC;MACHxB,eAAe,CAAC,CAAC;MAEjB;IACD;IAEA,IAAK,IAAA1B,eAAS,EAAEkF,KAAK,CAACzF,GAAI,CAAC,EAAG;MAC7BiC,eAAe,CAAEwD,KAAK,CAACzF,GAAI,CAAC;MAC5B;IACD;IAEA,MAAM;MAAE6F;IAAiB,CAAC,GAAGnC,WAAW,CAAC,CAAC;;IAE1C;IACA;IACA,IAAIoC,OAAO,GAAG,MAAM;IACpB,IAAKnE,QAAQ,IAAInB,OAAO,CAAEiF,KAAK,EAAE9D,QAAS,CAAC,EAAG;MAC7CmE,OAAO,GAAGnE,QAAQ;IACnB,CAAC,MAAM,IAAKnB,OAAO,CAAEiF,KAAK,EAAEI,gBAAiB,CAAC,EAAG;MAChDC,OAAO,GAAGD,gBAAgB;IAC3B;IAEA,IAAIE,eAAe,GAAGzG,sBAAsB,CAAEmG,KAAK,EAAEK,OAAQ,CAAC;;IAE9D;IACA;IACA,IAAK1C,UAAU,CAACD,OAAO,IAAI,CAAE4C,eAAe,CAACvE,OAAO,EAAG;MACtD,MAAM;QAAEA,OAAO,EAAEwE,cAAc;QAAE,GAAGC;MAAoB,CAAC,GACxDF,eAAe;MAChBA,eAAe,GAAGE,mBAAmB;IACtC;IAEA,IAAIC,oBAAoB;IACxB;IACA,IAAK,CAAET,KAAK,CAACnF,EAAE,IAAImF,KAAK,CAACnF,EAAE,KAAKA,EAAE,EAAG;MACpC4F,oBAAoB,GAAG;QACtBvE,QAAQ,EAAEmE;MACX,CAAC;IACF,CAAC,MAAM;MACN;MACA;MACAI,oBAAoB,GAAG;QAAElG;MAAI,CAAC;IAC/B;;IAEA;IACA,IAAImG,eAAe,GAAGvF,UAAU,CAACuF,eAAe;IAChD,IAAK,CAAEA,eAAe,EAAG;MACxB;MACA;MACA;MACA,QACCC,MAAM,EAAEC,EAAE,EAAEZ,KAAK,EAAEa,IAAI,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,IACrDC,gCAAqB;QAErB,KAAK,MAAM;QACX,KAAKC,iCAAsB;UAC1BR,eAAe,GAAGQ,iCAAsB;UACxC;QACD,KAAK,MAAM;QACX,KAAKC,sCAA2B;UAC/BT,eAAe,GAAGS,sCAA2B;UAC7C;QACD,KAAKC,kCAAuB;UAC3BV,eAAe,GAAGU,kCAAuB;UACzC;QACD,KAAKH,gCAAqB;UACzBP,eAAe,GAAGO,gCAAqB;UACvC;MACF;IACD;;IAEA;IACA,IAAII,IAAI;IACR,QAASX,eAAe;MACvB,KAAKQ,iCAAsB;QAC1BG,IAAI,GAAGrB,KAAK,CAACzF,GAAG;QAChB;MACD,KAAK4G,sCAA2B;QAC/BE,IAAI,GAAGrB,KAAK,CAACgB,IAAI;QACjB;IACF;IACAV,eAAe,CAACe,IAAI,GAAGA,IAAI;IAE3BjG,aAAa,CAAE;MACdsB,IAAI,EAAEsB,SAAS;MACf,GAAGsC,eAAe;MAClB,GAAGG,oBAAoB;MACvBC;IACD,CAAE,CAAC;IACHlE,eAAe,CAAC,CAAC;EAClB;EAEA,SAAS8E,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKhH,GAAG,EAAG;MACrBa,aAAa,CAAE;QACdsB,IAAI,EAAEsB,SAAS;QACfzD,GAAG,EAAEgH,MAAM;QACX1G,EAAE,EAAEmD,SAAS;QACb9B,QAAQ,EAAE+B,WAAW,CAAC,CAAC,CAACmC;MACzB,CAAE,CAAC;MACH5D,eAAe,CAAC,CAAC;IAClB;EACD;EAEA,IAAAgF,gCAAyB,EAAE;IAC1BjH,GAAG,EAAEgC,YAAY;IACjBkF,YAAY,EAAEC,8BAAmB;IACjCC,QAAQ,EAAE5B,aAAa;IACvB6B,OAAO,EAAElD;EACV,CAAE,CAAC;EAEH,MAAMmD,UAAU,GAAGjH,eAAe,CAAEC,EAAE,EAAEN,GAAI,CAAC;EAC7C,MAAMqE,GAAG,GAAGiD,UAAU,GAAGtH,GAAG,GAAGyD,SAAS;EACxC,MAAM8D,YAAY,GAAG,CAAC,CAAEvH,GAAG,iBAC1B,IAAAX,WAAA,CAAAmI,GAAA;IACCjG,GAAG,EAAG,IAAA2D,QAAE,EAAE,YAAa,CAAG;IAC1BU,KAAK,EAAG,IAAAV,QAAE,EAAE,YAAa,CAAG;IAC5BlE,SAAS,EAAC,oBAAoB;IAC9BqD,GAAG,EAAGrE;EAAK,CACX,CACD;EAED,MAAMyH,WAAW,GAAG,IAAAC,yCAAc,EAAE9G,UAAW,CAAC;EAChD,MAAM+G,WAAW,GAAG,IAAAC,oDAAyB,EAAEhH,UAAW,CAAC;EAE3D,MAAMiH,OAAO,GAAG,IAAAC,aAAI,EAAE9G,SAAS,EAAE;IAChC,cAAc,EAAE,CAAC,CAAEgB,YAAY;IAC/B,YAAY,EAAE,CAAC,CAAEP,KAAK,IAAI,CAAC,CAAEC,MAAM;IACnC,CAAE,QAASC,QAAQ,EAAG,GAAIA,QAAQ;IAClC,mBAAmB,EAClB,CAAC,CAAE8F,WAAW,CAACzG,SAAS,IACtByG,WAAW,CAACM,KAAK,IAClBrI,MAAM,CAACsI,IAAI,CAAEP,WAAW,CAACM,KAAM,CAAC,CAACE,MAAM,GAAG;EAC7C,CAAE,CAAC;EAEH,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,GAAG,EAAEhG,YAAY;IACjBpB,SAAS,EAAE6G;EACZ,CAAE,CAAC;;EAEH;EACA,MAAM;IAAEQ,eAAe,GAAG,KAAK;IAAEC;EAAuB,CAAC,GAAG,IAAAxE,eAAS,EAClEyE,MAAM,IAAM;IACb,IAAK,CAAExH,gBAAgB,EAAG;MACzB,OAAO,CAAC,CAAC;IACV;IAEA,MAAMyH,mBAAmB,GAAG,IAAAC,8BAAsB,EACjD1G,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,EAAE2I,MAC1B,CAAC;IAED,OAAO;MACNN,eAAe,EACd,CAAC,CAAEtG,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,IAC1B,CAAEwI,mBAAmB,EAAEI,gBAAgB,GAAI;QAC1CL,MAAM;QACNpH,OAAO;QACP0H,IAAI,EAAE9G,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,EAAE6I;MAChC,CAAE,CAAC;MACJP,sBAAsB,EAAEE,mBAAmB,EAAEM,KAAK,GAC/C,IAAAC,aAAO,EACP;MACA,IAAA7D,QAAE,EAAE,iBAAkB,CAAC,EACvBsD,mBAAmB,CAACM,KACpB,CAAC,GACD,IAAA5D,QAAE,EAAE,2BAA4B;IACpC,CAAC;EACF,CAAC,EACD,CAAE/D,OAAO,EAAEJ,gBAAgB,EAAEgB,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,CACrD,CAAC;EACD,MAAMgJ,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC,IAAA5J,WAAA,CAAA6J,IAAA,EAAC1K,WAAA,CAAA2K,WAAW;MACXnI,SAAS,EAAG,IAAA8G,aAAI,EAAE,gCAAgC,EAAE;QACnD,CAAEL,WAAW,CAACzG,SAAS,GACtB,CAAC,CAAEyG,WAAW,CAACzG,SAAS,IAAI,CAAED;MAChC,CAAE,CAAG;MACLqI,IAAI,EACH,CAAEpG,gBAAgB,KAChBqF,eAAe,GAAGgB,cAAW,GAAGD,YAAI,CACtC;MACDE,gBAAgB,EAAG,CAAEvI,gBAAgB,IAAIiC,gBAAkB;MAC3D8F,KAAK,EAAG,CAAE9F,gBAAgB,IAAI,IAAAkC,QAAE,EAAE,OAAQ,CAAG;MAC7CqE,YAAY,EACX,CAAElB,eAAe,IACjB,CAAErF,gBAAgB,IAClB,IAAAkC,QAAE,EACD,8DACD,CACA;MACD6C,KAAK,EAAG;QACPnG,WAAW,EACV,EAAIH,KAAK,IAAIC,MAAM,CAAE,IAAIE,WAAW,GACjCA,WAAW,GACX6B,SAAS;QACbhC,KAAK,EAAEC,MAAM,IAAIE,WAAW,GAAG,MAAM,GAAGH,KAAK;QAC7CC,MAAM,EAAED,KAAK,IAAIG,WAAW,GAAG,MAAM,GAAGF,MAAM;QAC9C8H,SAAS,EAAE3H,KAAK;QAChB,GAAG4F,WAAW,CAACM,KAAK;QACpB,GAAGJ,WAAW,CAACI;MAChB,CAAG;MAAA0B,QAAA,GAEDpB,eAAe,IAChB,CAAErF,gBAAgB,IAClBsF,sBAAsB,EAErB,CAAED,eAAe,IAAI,CAAErF,gBAAgB,IAAIiG,OAAO,EAClDpG,yBAAyB;IAAA,CACf,CAAC;EAEhB,CAAC;EAED,oBACC,IAAAxD,WAAA,CAAA6J,IAAA,EAAA7J,WAAA,CAAAqK,QAAA;IAAAD,QAAA,gBACC,IAAApK,WAAA,CAAA6J,IAAA;MAAA,GAAahB,UAAU;MAAAuB,QAAA,gBACtB,IAAApK,WAAA,CAAAmI,GAAA,EAACvI,MAAA,CAAAuD,OAAK;QACLR,YAAY,EAAGA,YAAc;QAC7BpB,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BE,gBAAgB,EAAGA,gBAAkB;QACrCE,iBAAiB,EAAGA,iBAAmB;QACvCC,SAAS,EAAGA,SAAW;QACvBsE,aAAa,EAAGA,aAAe;QAC/BuB,WAAW,EAAGA,WAAa;QAC3B5C,aAAa,EAAGA,aAAe;QAC/BhD,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrB2C,gBAAgB,EAAGA,gBAAkB;QACrC4F,gBAAgB,EAAGrH,UAAY;QAC/BK,eAAe,EAAGA;MAAiB,CACnC,CAAC,eACF,IAAAtD,WAAA,CAAAmI,GAAA,EAAC9I,YAAA,CAAAkL,gBAAgB;QAChBR,IAAI,eAAG,IAAA/J,WAAA,CAAAmI,GAAA,EAAC9I,YAAA,CAAAmL,SAAS;UAACT,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCU,QAAQ,EAAGtE,aAAe;QAC1BuB,WAAW,EAAGA,WAAa;QAC3BM,OAAO,EAAGlD,aAAe;QACzB6E,WAAW,EAAGA,WAAa;QAC3Be,MAAM,EAAC,SAAS;QAChB7C,YAAY,EAAGC,8BAAqB;QACpC6C,YAAY,EAAKlF,KAAK,IAAMA,KAAK,CAACmD,MAAM,KAAK,CAAG;QAChDgC,KAAK,EAAG;UAAE3J,EAAE;UAAE+D;QAAI,CAAG;QACrBkD,YAAY,EAAGA,YAAc;QAC7B2C,mBAAmB,EAAGlI,YAAY,IAAIhC;MAAK,CAC3C,CAAC;IAAA,CACK,CAAC;IAER;IACA;IACAe,gBAAgB,IAAI0B,wBAAwB,IAAIC,gBAAgB;EAAA,CAEhE,CAAC;AAEL;AAAC,IAAAyH,QAAA,GAAA/J,OAAA,CAAAoC,OAAA,GAEc7B,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_blocks","_components","_data","_blockEditor","_element","_i18n","_icons","_notices","_compose","_hooks","_image","_utils","_useMaxWidthObserver","_constants","_jsxRuntime","pickRelevantMediaFiles","image","size","imageProps","Object","fromEntries","entries","filter","key","includes","url","sizes","media_details","source_url","exports","isExternalImage","id","isBlobURL","hasSize","_image$sizes$size","_image$media_details$","ImageEdit","attributes","setAttributes","isSelected","isSingleSelected","className","insertBlocksAfter","onReplace","context","clientId","__unstableParentLayout","parentLayout","alt","caption","width","height","sizeSlug","aspectRatio","scale","align","metadata","temporaryURL","setTemporaryURL","useState","blob","containerRef","useRef","layoutType","type","default","isMaxWidthContainerWidth","maxWidthObserver","maxContentWidth","useMaxWidthObserver","placeholderResizeListener","placeholderWidth","useResizeObserver","isSmallContainer","altRef","useEffect","current","captionRef","__unstableMarkNextChangeAsNotPersistent","replaceBlock","useDispatch","blockEditorStore","undefined","getSettings","getBlockRootClientId","getBlockName","canInsertBlockType","useSelect","blockEditingMode","useBlockEditingMode","createErrorNotice","noticesStore","onUploadError","message","src","onSelectImagesList","images","win","ownerDocument","defaultView","every","file","File","files","rootClientId","some","isValidFileType","__","imageBlocks","map","createBlock","createBlobURL","galleryBlock","onSelectImage","media","Array","isArray","title","imageDefaultSize","newSize","mediaAttributes","omittedCaption","restMediaAttributes","additionalAttributes","linkDestination","window","wp","view","settings","defaultProps","link","LINK_DESTINATION_NONE","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_CUSTOM","href","onSelectURL","newURL","useUploadMediaFromBlobURL","allowedTypes","ALLOWED_MEDIA_TYPES","onChange","onError","isExternal","mediaPreview","jsx","borderProps","useBorderProps","shadowProps","getShadowClassesAndStyles","classes","clsx","style","keys","length","blockProps","useBlockProps","ref","lockUrlControls","lockUrlControlsMessage","select","blockBindingsSource","getBlockBindingsSource","bindings","source","canUserEditValue","args","label","sprintf","placeholder","content","jsxs","Placeholder","icon","pluginsIcon","withIllustration","instructions","objectFit","children","Fragment","parentLayoutType","MediaPlaceholder","BlockIcon","onSelect","accept","handleUpload","value","disableMediaButtons","_default"],"sources":["@wordpress/block-library/src/image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL, createBlobURL } from '@wordpress/blob';\nimport { createBlock, getBlockBindingsSource } from '@wordpress/blocks';\nimport { Placeholder } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tBlockIcon,\n\tuseBlockProps,\n\tMediaPlaceholder,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { useEffect, useRef, useState } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { image as icon, plugins as pluginsIcon } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useResizeObserver } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport { useUploadMediaFromBlobURL } from '../utils/hooks';\nimport Image from './image';\nimport { isValidFileType } from './utils';\nimport { useMaxWidthObserver } from './use-max-width-observer';\n\n/**\n * Module constants\n */\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_CUSTOM,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n\tALLOWED_MEDIA_TYPES,\n} from './constants';\n\nexport const pickRelevantMediaFiles = ( image, size ) => {\n\tconst imageProps = Object.fromEntries(\n\t\tObject.entries( image ?? {} ).filter( ( [ key ] ) =>\n\t\t\t[ 'alt', 'id', 'link', 'caption' ].includes( key )\n\t\t)\n\t);\n\n\timageProps.url =\n\t\timage?.sizes?.[ size ]?.url ||\n\t\timage?.media_details?.sizes?.[ size ]?.source_url ||\n\t\timage.url;\n\treturn imageProps;\n};\n\n/**\n * Is the url for the image hosted externally. An externally hosted image has no\n * id and is not a blob url.\n *\n * @param {number=} id The id of the image.\n * @param {string=} url The url of the image.\n *\n * @return {boolean} Is the url an externally hosted url?\n */\nexport const isExternalImage = ( id, url ) => url && ! id && ! isBlobURL( url );\n\n/**\n * Checks if WP generated the specified image size. Size generation is skipped\n * when the image is smaller than the said size.\n *\n * @param {Object} image\n * @param {string} size\n *\n * @return {boolean} Whether or not it has default image size.\n */\nfunction hasSize( image, size ) {\n\treturn (\n\t\t'url' in ( image?.sizes?.[ size ] ?? {} ) ||\n\t\t'source_url' in ( image?.media_details?.sizes?.[ size ] ?? {} )\n\t);\n}\n\nexport function ImageEdit( {\n\tattributes,\n\tsetAttributes,\n\tisSelected: isSingleSelected,\n\tclassName,\n\tinsertBlocksAfter,\n\tonReplace,\n\tcontext,\n\tclientId,\n\t__unstableParentLayout: parentLayout,\n} ) {\n\tconst {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\tid,\n\t\twidth,\n\t\theight,\n\t\tsizeSlug,\n\t\taspectRatio,\n\t\tscale,\n\t\talign,\n\t\tmetadata,\n\t} = attributes;\n\n\tconst [ temporaryURL, setTemporaryURL ] = useState( attributes.blob );\n\n\tconst containerRef = useRef();\n\t// Only observe the max width from the parent container when the parent layout is not flex nor grid.\n\t// This won't work for them because the container width changes with the image.\n\t// TODO: Find a way to observe the container width for flex and grid layouts.\n\tconst layoutType = parentLayout?.type || parentLayout?.default?.type;\n\tconst isMaxWidthContainerWidth =\n\t\t! layoutType || ( layoutType !== 'flex' && layoutType !== 'grid' );\n\tconst [ maxWidthObserver, maxContentWidth ] = useMaxWidthObserver();\n\n\tconst [ placeholderResizeListener, { width: placeholderWidth } ] =\n\t\tuseResizeObserver();\n\n\tconst isSmallContainer = placeholderWidth && placeholderWidth < 160;\n\n\tconst altRef = useRef();\n\tuseEffect( () => {\n\t\taltRef.current = alt;\n\t}, [ alt ] );\n\n\tconst captionRef = useRef();\n\tuseEffect( () => {\n\t\tcaptionRef.current = caption;\n\t}, [ caption ] );\n\n\tconst { __unstableMarkNextChangeAsNotPersistent, replaceBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tif ( [ 'wide', 'full' ].includes( align ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\twidth: undefined,\n\t\t\t\theight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t\tscale: undefined,\n\t\t\t} );\n\t\t}\n\t}, [ __unstableMarkNextChangeAsNotPersistent, align, setAttributes ] );\n\n\tconst {\n\t\tgetSettings,\n\t\tgetBlockRootClientId,\n\t\tgetBlockName,\n\t\tcanInsertBlockType,\n\t} = useSelect( blockEditorStore );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tfunction onUploadError( message ) {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetAttributes( {\n\t\t\tsrc: undefined,\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tblob: undefined,\n\t\t} );\n\t}\n\n\tfunction onSelectImagesList( images ) {\n\t\tconst win = containerRef.current?.ownerDocument.defaultView;\n\n\t\tif ( images.every( ( file ) => file instanceof win.File ) ) {\n\t\t\t/** @type {File[]} */\n\t\t\tconst files = images;\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\n\t\t\tif ( files.some( ( file ) => ! isValidFileType( file ) ) ) {\n\t\t\t\t// Copied from the same notice in the gallery block.\n\t\t\t\tcreateErrorNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t\t),\n\t\t\t\t\t{ id: 'gallery-upload-invalid-file', type: 'snackbar' }\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tconst imageBlocks = files\n\t\t\t\t.filter( ( file ) => isValidFileType( file ) )\n\t\t\t\t.map( ( file ) =>\n\t\t\t\t\tcreateBlock( 'core/image', {\n\t\t\t\t\t\tblob: createBlobURL( file ),\n\t\t\t\t\t} )\n\t\t\t\t);\n\n\t\t\tif ( getBlockName( rootClientId ) === 'core/gallery' ) {\n\t\t\t\treplaceBlock( clientId, imageBlocks );\n\t\t\t} else if ( canInsertBlockType( 'core/gallery', rootClientId ) ) {\n\t\t\t\tconst galleryBlock = createBlock(\n\t\t\t\t\t'core/gallery',\n\t\t\t\t\t{},\n\t\t\t\t\timageBlocks\n\t\t\t\t);\n\n\t\t\t\treplaceBlock( clientId, galleryBlock );\n\t\t\t}\n\t\t}\n\t}\n\n\tfunction onSelectImage( media ) {\n\t\tif ( Array.isArray( media ) ) {\n\t\t\tonSelectImagesList( media );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\turl: undefined,\n\t\t\t\talt: undefined,\n\t\t\t\tid: undefined,\n\t\t\t\ttitle: undefined,\n\t\t\t\tcaption: undefined,\n\t\t\t\tblob: undefined,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetTemporaryURL( media.url );\n\t\t\treturn;\n\t\t}\n\n\t\tconst { imageDefaultSize } = getSettings();\n\n\t\t// Try to use the previous selected image size if its available\n\t\t// otherwise try the default image size or fallback to \"full\"\n\t\tlet newSize = 'full';\n\t\tif ( sizeSlug && hasSize( media, sizeSlug ) ) {\n\t\t\tnewSize = sizeSlug;\n\t\t} else if ( hasSize( media, imageDefaultSize ) ) {\n\t\t\tnewSize = imageDefaultSize;\n\t\t}\n\n\t\tlet mediaAttributes = pickRelevantMediaFiles( media, newSize );\n\n\t\t// If a caption text was meanwhile written by the user,\n\t\t// make sure the text is not overwritten by empty captions.\n\t\tif ( captionRef.current && ! mediaAttributes.caption ) {\n\t\t\tconst { caption: omittedCaption, ...restMediaAttributes } =\n\t\t\t\tmediaAttributes;\n\t\t\tmediaAttributes = restMediaAttributes;\n\t\t}\n\n\t\tlet additionalAttributes;\n\t\t// Reset the dimension attributes if changing to a different image.\n\t\tif ( ! media.id || media.id !== id ) {\n\t\t\tadditionalAttributes = {\n\t\t\t\tsizeSlug: newSize,\n\t\t\t};\n\t\t}\n\n\t\t// Check if default link setting should be used.\n\t\tlet linkDestination = attributes.linkDestination;\n\t\tif ( ! linkDestination ) {\n\t\t\t// Use the WordPress option to determine the proper default.\n\t\t\t// The constants used in Gutenberg do not match WP options so a little more complicated than ideal.\n\t\t\t// TODO: fix this in a follow up PR, requires updating media-text and ui component.\n\t\t\tswitch (\n\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\tLINK_DESTINATION_NONE\n\t\t\t) {\n\t\t\t\tcase 'file':\n\t\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_MEDIA;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 'post':\n\t\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_ATTACHMENT;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_CUSTOM:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_CUSTOM;\n\t\t\t\t\tbreak;\n\t\t\t\tcase LINK_DESTINATION_NONE:\n\t\t\t\t\tlinkDestination = LINK_DESTINATION_NONE;\n\t\t\t\t\tbreak;\n\t\t\t}\n\t\t}\n\n\t\t// Check if the image is linked to it's media.\n\t\tlet href;\n\t\tswitch ( linkDestination ) {\n\t\t\tcase LINK_DESTINATION_MEDIA:\n\t\t\t\thref = media.url;\n\t\t\t\tbreak;\n\t\t\tcase LINK_DESTINATION_ATTACHMENT:\n\t\t\t\thref = media.link;\n\t\t\t\tbreak;\n\t\t}\n\t\tmediaAttributes.href = href;\n\n\t\tsetAttributes( {\n\t\t\tblob: undefined,\n\t\t\t...mediaAttributes,\n\t\t\t...additionalAttributes,\n\t\t\tlinkDestination,\n\t\t} );\n\t\tsetTemporaryURL();\n\t}\n\n\tfunction onSelectURL( newURL ) {\n\t\tif ( newURL !== url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tblob: undefined,\n\t\t\t\turl: newURL,\n\t\t\t\tid: undefined,\n\t\t\t\tsizeSlug: getSettings().imageDefaultSize,\n\t\t\t} );\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}\n\n\tuseUploadMediaFromBlobURL( {\n\t\turl: temporaryURL,\n\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\tonChange: onSelectImage,\n\t\tonError: onUploadError,\n\t} );\n\n\tconst isExternal = isExternalImage( id, url );\n\tconst src = isExternal ? url : undefined;\n\tconst mediaPreview = !! url && (\n\t\t<img\n\t\t\talt={ __( 'Edit image' ) }\n\t\t\ttitle={ __( 'Edit image' ) }\n\t\t\tclassName=\"edit-image-preview\"\n\t\t\tsrc={ url }\n\t\t/>\n\t);\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst shadowProps = getShadowClassesAndStyles( attributes );\n\n\tconst classes = clsx( className, {\n\t\t'is-transient': !! temporaryURL,\n\t\t'is-resized': !! width || !! height,\n\t\t[ `size-${ sizeSlug }` ]: sizeSlug,\n\t\t'has-custom-border':\n\t\t\t!! borderProps.className ||\n\t\t\t( borderProps.style &&\n\t\t\t\tObject.keys( borderProps.style ).length > 0 ),\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref: containerRef,\n\t\tclassName: classes,\n\t} );\n\n\t// Much of this description is duplicated from MediaPlaceholder.\n\tconst { lockUrlControls = false, lockUrlControlsMessage } = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! isSingleSelected ) {\n\t\t\t\treturn {};\n\t\t\t}\n\n\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\tmetadata?.bindings?.url?.source\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlockUrlControls:\n\t\t\t\t\t!! metadata?.bindings?.url &&\n\t\t\t\t\t! blockBindingsSource?.canUserEditValue?.( {\n\t\t\t\t\t\tselect,\n\t\t\t\t\t\tcontext,\n\t\t\t\t\t\targs: metadata?.bindings?.url?.args,\n\t\t\t\t\t} ),\n\t\t\t\tlockUrlControlsMessage: blockBindingsSource?.label\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t/* translators: %s: Label of the bindings source. */\n\t\t\t\t\t\t\t__( 'Connected to %s' ),\n\t\t\t\t\t\t\tblockBindingsSource.label\n\t\t\t\t\t )\n\t\t\t\t\t: __( 'Connected to dynamic data' ),\n\t\t\t};\n\t\t},\n\t\t[ context, isSingleSelected, metadata?.bindings?.url ]\n\t);\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ clsx( 'block-editor-media-placeholder', {\n\t\t\t\t\t[ borderProps.className ]:\n\t\t\t\t\t\t!! borderProps.className && ! isSingleSelected,\n\t\t\t\t} ) }\n\t\t\t\ticon={\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t( lockUrlControls ? pluginsIcon : icon )\n\t\t\t\t}\n\t\t\t\twithIllustration={ ! isSingleSelected || isSmallContainer }\n\t\t\t\tlabel={ ! isSmallContainer && __( 'Image' ) }\n\t\t\t\tinstructions={\n\t\t\t\t\t! lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\t__(\n\t\t\t\t\t\t'Drag and drop an image, upload, or choose from your library.'\n\t\t\t\t\t)\n\t\t\t\t}\n\t\t\t\tstyle={ {\n\t\t\t\t\taspectRatio:\n\t\t\t\t\t\t! ( width && height ) && aspectRatio\n\t\t\t\t\t\t\t? aspectRatio\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\twidth: height && aspectRatio ? '100%' : width,\n\t\t\t\t\theight: width && aspectRatio ? '100%' : height,\n\t\t\t\t\tobjectFit: scale,\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t\t...shadowProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ lockUrlControls &&\n\t\t\t\t\t! isSmallContainer &&\n\t\t\t\t\tlockUrlControlsMessage }\n\n\t\t\t\t{ ! lockUrlControls && ! isSmallContainer && content }\n\t\t\t\t{ placeholderResizeListener }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t<Image\n\t\t\t\t\ttemporaryURL={ temporaryURL }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tisSingleSelected={ isSingleSelected }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tonReplace={ onReplace }\n\t\t\t\t\tonSelectImage={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonUploadError={ onUploadError }\n\t\t\t\t\tcontext={ context }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t\tparentLayoutType={ layoutType }\n\t\t\t\t\tmaxContentWidth={ maxContentWidth }\n\t\t\t\t/>\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\thandleUpload={ ( files ) => files.length === 1 }\n\t\t\t\t\tvalue={ { id, src } }\n\t\t\t\t\tmediaPreview={ mediaPreview }\n\t\t\t\t\tdisableMediaButtons={ temporaryURL || url }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t\t{\n\t\t\t\t// The listener cannot be placed as the first element as it will break the in-between inserter.\n\t\t\t\t// See https://github.com/WordPress/gutenberg/blob/71134165868298fc15e22896d0c28b41b3755ff7/packages/block-editor/src/components/block-list/use-in-between-inserter.js#L120\n\t\t\t\tisSingleSelected && isMaxWidthContainerWidth && maxWidthObserver\n\t\t\t}\n\t\t</>\n\t);\n}\n\nexport default ImageEdit;\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AASA,IAAAM,QAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,QAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AAKA,IAAAW,MAAA,GAAAX,OAAA;AACA,IAAAY,MAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,MAAA,GAAAb,OAAA;AACA,IAAAc,oBAAA,GAAAd,OAAA;AAKA,IAAAe,UAAA,GAAAf,OAAA;AAMqB,IAAAgB,WAAA,GAAAhB,OAAA;AA5CrB;AACA;AACA;;AAGA;AACA;AACA;;AAoBA;AACA;AACA;;AAMA;AACA;AACA;;AASO,MAAMiB,sBAAsB,GAAGA,CAAEC,KAAK,EAAEC,IAAI,KAAM;EACxD,MAAMC,UAAU,GAAGC,MAAM,CAACC,WAAW,CACpCD,MAAM,CAACE,OAAO,CAAEL,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,CAAC,CAAE,CAAC,CAACM,MAAM,CAAE,CAAE,CAAEC,GAAG,CAAE,KAC9C,CAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAE,CAACC,QAAQ,CAAED,GAAI,CAClD,CACD,CAAC;EAEDL,UAAU,CAACO,GAAG,GACbT,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,EAAEQ,GAAG,IAC3BT,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,EAAEW,UAAU,IACjDZ,KAAK,CAACS,GAAG;EACV,OAAOP,UAAU;AAClB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAW,OAAA,CAAAd,sBAAA,GAAAA,sBAAA;AASO,MAAMe,eAAe,GAAGA,CAAEC,EAAE,EAAEN,GAAG,KAAMA,GAAG,IAAI,CAAEM,EAAE,IAAI,CAAE,IAAAC,eAAS,EAAEP,GAAI,CAAC;;AAE/E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARAI,OAAA,CAAAC,eAAA,GAAAA,eAAA;AASA,SAASG,OAAOA,CAAEjB,KAAK,EAAEC,IAAI,EAAG;EAAA,IAAAiB,iBAAA,EAAAC,qBAAA;EAC/B,OACC,KAAK,MAAAD,iBAAA,GAAMlB,KAAK,EAAEU,KAAK,GAAIT,IAAI,CAAE,cAAAiB,iBAAA,cAAAA,iBAAA,GAAI,CAAC,CAAC,CAAE,IACzC,YAAY,MAAAC,qBAAA,GAAMnB,KAAK,EAAEW,aAAa,EAAED,KAAK,GAAIT,IAAI,CAAE,cAAAkB,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE;AAEjE;AAEO,SAASC,SAASA,CAAE;EAC1BC,UAAU;EACVC,aAAa;EACbC,UAAU,EAAEC,gBAAgB;EAC5BC,SAAS;EACTC,iBAAiB;EACjBC,SAAS;EACTC,OAAO;EACPC,QAAQ;EACRC,sBAAsB,EAAEC;AACzB,CAAC,EAAG;EACH,MAAM;IACLtB,GAAG,GAAG,EAAE;IACRuB,GAAG;IACHC,OAAO;IACPlB,EAAE;IACFmB,KAAK;IACLC,MAAM;IACNC,QAAQ;IACRC,WAAW;IACXC,KAAK;IACLC,KAAK;IACLC;EACD,CAAC,GAAGnB,UAAU;EAEd,MAAM,CAAEoB,YAAY,EAAEC,eAAe,CAAE,GAAG,IAAAC,iBAAQ,EAAEtB,UAAU,CAACuB,IAAK,CAAC;EAErE,MAAMC,YAAY,GAAG,IAAAC,eAAM,EAAC,CAAC;EAC7B;EACA;EACA;EACA,MAAMC,UAAU,GAAGhB,YAAY,EAAEiB,IAAI,IAAIjB,YAAY,EAAEkB,OAAO,EAAED,IAAI;EACpE,MAAME,wBAAwB,GAC7B,CAAEH,UAAU,IAAMA,UAAU,KAAK,MAAM,IAAIA,UAAU,KAAK,MAAQ;EACnE,MAAM,CAAEI,gBAAgB,EAAEC,eAAe,CAAE,GAAG,IAAAC,wCAAmB,EAAC,CAAC;EAEnE,MAAM,CAAEC,yBAAyB,EAAE;IAAEpB,KAAK,EAAEqB;EAAiB,CAAC,CAAE,GAC/D,IAAAC,0BAAiB,EAAC,CAAC;EAEpB,MAAMC,gBAAgB,GAAGF,gBAAgB,IAAIA,gBAAgB,GAAG,GAAG;EAEnE,MAAMG,MAAM,GAAG,IAAAZ,eAAM,EAAC,CAAC;EACvB,IAAAa,kBAAS,EAAE,MAAM;IAChBD,MAAM,CAACE,OAAO,GAAG5B,GAAG;EACrB,CAAC,EAAE,CAAEA,GAAG,CAAG,CAAC;EAEZ,MAAM6B,UAAU,GAAG,IAAAf,eAAM,EAAC,CAAC;EAC3B,IAAAa,kBAAS,EAAE,MAAM;IAChBE,UAAU,CAACD,OAAO,GAAG3B,OAAO;EAC7B,CAAC,EAAE,CAAEA,OAAO,CAAG,CAAC;EAEhB,MAAM;IAAE6B,uCAAuC;IAAEC;EAAa,CAAC,GAC9D,IAAAC,iBAAW,EAAEC,kBAAiB,CAAC;EAEhC,IAAAN,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAE,MAAM,EAAE,MAAM,CAAE,CAACnD,QAAQ,CAAE+B,KAAM,CAAC,EAAG;MAC3CuB,uCAAuC,CAAC,CAAC;MACzCxC,aAAa,CAAE;QACdY,KAAK,EAAEgC,SAAS;QAChB/B,MAAM,EAAE+B,SAAS;QACjB7B,WAAW,EAAE6B,SAAS;QACtB5B,KAAK,EAAE4B;MACR,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,CAAEJ,uCAAuC,EAAEvB,KAAK,EAAEjB,aAAa,CAAG,CAAC;EAEtE,MAAM;IACL6C,WAAW;IACXC,oBAAoB;IACpBC,YAAY;IACZC;EACD,CAAC,GAAG,IAAAC,eAAS,EAAEN,kBAAiB,CAAC;EACjC,MAAMO,gBAAgB,GAAG,IAAAC,gCAAmB,EAAC,CAAC;EAE9C,MAAM;IAAEC;EAAkB,CAAC,GAAG,IAAAV,iBAAW,EAAEW,cAAa,CAAC;EACzD,SAASC,aAAaA,CAAEC,OAAO,EAAG;IACjCH,iBAAiB,CAAEG,OAAO,EAAE;MAAE7B,IAAI,EAAE;IAAW,CAAE,CAAC;IAClD1B,aAAa,CAAE;MACdwD,GAAG,EAAEZ,SAAS;MACdnD,EAAE,EAAEmD,SAAS;MACbzD,GAAG,EAAEyD,SAAS;MACdtB,IAAI,EAAEsB;IACP,CAAE,CAAC;EACJ;EAEA,SAASa,kBAAkBA,CAAEC,MAAM,EAAG;IACrC,MAAMC,GAAG,GAAGpC,YAAY,CAACe,OAAO,EAAEsB,aAAa,CAACC,WAAW;IAE3D,IAAKH,MAAM,CAACI,KAAK,CAAIC,IAAI,IAAMA,IAAI,YAAYJ,GAAG,CAACK,IAAK,CAAC,EAAG;MAC3D;MACA,MAAMC,KAAK,GAAGP,MAAM;MACpB,MAAMQ,YAAY,GAAGpB,oBAAoB,CAAEvC,QAAS,CAAC;MAErD,IAAK0D,KAAK,CAACE,IAAI,CAAIJ,IAAI,IAAM,CAAE,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,EAAG;QAC1D;QACAX,iBAAiB,CAChB,IAAAiB,QAAE,EACD,8DACD,CAAC,EACD;UAAE5E,EAAE,EAAE,6BAA6B;UAAEiC,IAAI,EAAE;QAAW,CACvD,CAAC;MACF;MAEA,MAAM4C,WAAW,GAAGL,KAAK,CACvBjF,MAAM,CAAI+E,IAAI,IAAM,IAAAK,sBAAe,EAAEL,IAAK,CAAE,CAAC,CAC7CQ,GAAG,CAAIR,IAAI,IACX,IAAAS,mBAAW,EAAE,YAAY,EAAE;QAC1BlD,IAAI,EAAE,IAAAmD,mBAAa,EAAEV,IAAK;MAC3B,CAAE,CACH,CAAC;MAEF,IAAKhB,YAAY,CAAEmB,YAAa,CAAC,KAAK,cAAc,EAAG;QACtDzB,YAAY,CAAElC,QAAQ,EAAE+D,WAAY,CAAC;MACtC,CAAC,MAAM,IAAKtB,kBAAkB,CAAE,cAAc,EAAEkB,YAAa,CAAC,EAAG;QAChE,MAAMQ,YAAY,GAAG,IAAAF,mBAAW,EAC/B,cAAc,EACd,CAAC,CAAC,EACFF,WACD,CAAC;QAED7B,YAAY,CAAElC,QAAQ,EAAEmE,YAAa,CAAC;MACvC;IACD;EACD;EAEA,SAASC,aAAaA,CAAEC,KAAK,EAAG;IAC/B,IAAKC,KAAK,CAACC,OAAO,CAAEF,KAAM,CAAC,EAAG;MAC7BnB,kBAAkB,CAAEmB,KAAM,CAAC;MAC3B;IACD;IAEA,IAAK,CAAEA,KAAK,IAAI,CAAEA,KAAK,CAACzF,GAAG,EAAG;MAC7Ba,aAAa,CAAE;QACdb,GAAG,EAAEyD,SAAS;QACdlC,GAAG,EAAEkC,SAAS;QACdnD,EAAE,EAAEmD,SAAS;QACbmC,KAAK,EAAEnC,SAAS;QAChBjC,OAAO,EAAEiC,SAAS;QAClBtB,IAAI,EAAEsB;MACP,CAAE,CAAC;MACHxB,eAAe,CAAC,CAAC;MAEjB;IACD;IAEA,IAAK,IAAA1B,eAAS,EAAEkF,KAAK,CAACzF,GAAI,CAAC,EAAG;MAC7BiC,eAAe,CAAEwD,KAAK,CAACzF,GAAI,CAAC;MAC5B;IACD;IAEA,MAAM;MAAE6F;IAAiB,CAAC,GAAGnC,WAAW,CAAC,CAAC;;IAE1C;IACA;IACA,IAAIoC,OAAO,GAAG,MAAM;IACpB,IAAKnE,QAAQ,IAAInB,OAAO,CAAEiF,KAAK,EAAE9D,QAAS,CAAC,EAAG;MAC7CmE,OAAO,GAAGnE,QAAQ;IACnB,CAAC,MAAM,IAAKnB,OAAO,CAAEiF,KAAK,EAAEI,gBAAiB,CAAC,EAAG;MAChDC,OAAO,GAAGD,gBAAgB;IAC3B;IAEA,IAAIE,eAAe,GAAGzG,sBAAsB,CAAEmG,KAAK,EAAEK,OAAQ,CAAC;;IAE9D;IACA;IACA,IAAK1C,UAAU,CAACD,OAAO,IAAI,CAAE4C,eAAe,CAACvE,OAAO,EAAG;MACtD,MAAM;QAAEA,OAAO,EAAEwE,cAAc;QAAE,GAAGC;MAAoB,CAAC,GACxDF,eAAe;MAChBA,eAAe,GAAGE,mBAAmB;IACtC;IAEA,IAAIC,oBAAoB;IACxB;IACA,IAAK,CAAET,KAAK,CAACnF,EAAE,IAAImF,KAAK,CAACnF,EAAE,KAAKA,EAAE,EAAG;MACpC4F,oBAAoB,GAAG;QACtBvE,QAAQ,EAAEmE;MACX,CAAC;IACF;;IAEA;IACA,IAAIK,eAAe,GAAGvF,UAAU,CAACuF,eAAe;IAChD,IAAK,CAAEA,eAAe,EAAG;MACxB;MACA;MACA;MACA,QACCC,MAAM,EAAEC,EAAE,EAAEZ,KAAK,EAAEa,IAAI,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,IAAI,IACrDC,gCAAqB;QAErB,KAAK,MAAM;QACX,KAAKC,iCAAsB;UAC1BR,eAAe,GAAGQ,iCAAsB;UACxC;QACD,KAAK,MAAM;QACX,KAAKC,sCAA2B;UAC/BT,eAAe,GAAGS,sCAA2B;UAC7C;QACD,KAAKC,kCAAuB;UAC3BV,eAAe,GAAGU,kCAAuB;UACzC;QACD,KAAKH,gCAAqB;UACzBP,eAAe,GAAGO,gCAAqB;UACvC;MACF;IACD;;IAEA;IACA,IAAII,IAAI;IACR,QAASX,eAAe;MACvB,KAAKQ,iCAAsB;QAC1BG,IAAI,GAAGrB,KAAK,CAACzF,GAAG;QAChB;MACD,KAAK4G,sCAA2B;QAC/BE,IAAI,GAAGrB,KAAK,CAACgB,IAAI;QACjB;IACF;IACAV,eAAe,CAACe,IAAI,GAAGA,IAAI;IAE3BjG,aAAa,CAAE;MACdsB,IAAI,EAAEsB,SAAS;MACf,GAAGsC,eAAe;MAClB,GAAGG,oBAAoB;MACvBC;IACD,CAAE,CAAC;IACHlE,eAAe,CAAC,CAAC;EAClB;EAEA,SAAS8E,WAAWA,CAAEC,MAAM,EAAG;IAC9B,IAAKA,MAAM,KAAKhH,GAAG,EAAG;MACrBa,aAAa,CAAE;QACdsB,IAAI,EAAEsB,SAAS;QACfzD,GAAG,EAAEgH,MAAM;QACX1G,EAAE,EAAEmD,SAAS;QACb9B,QAAQ,EAAE+B,WAAW,CAAC,CAAC,CAACmC;MACzB,CAAE,CAAC;MACH5D,eAAe,CAAC,CAAC;IAClB;EACD;EAEA,IAAAgF,gCAAyB,EAAE;IAC1BjH,GAAG,EAAEgC,YAAY;IACjBkF,YAAY,EAAEC,8BAAmB;IACjCC,QAAQ,EAAE5B,aAAa;IACvB6B,OAAO,EAAElD;EACV,CAAE,CAAC;EAEH,MAAMmD,UAAU,GAAGjH,eAAe,CAAEC,EAAE,EAAEN,GAAI,CAAC;EAC7C,MAAMqE,GAAG,GAAGiD,UAAU,GAAGtH,GAAG,GAAGyD,SAAS;EACxC,MAAM8D,YAAY,GAAG,CAAC,CAAEvH,GAAG,iBAC1B,IAAAX,WAAA,CAAAmI,GAAA;IACCjG,GAAG,EAAG,IAAA2D,QAAE,EAAE,YAAa,CAAG;IAC1BU,KAAK,EAAG,IAAAV,QAAE,EAAE,YAAa,CAAG;IAC5BlE,SAAS,EAAC,oBAAoB;IAC9BqD,GAAG,EAAGrE;EAAK,CACX,CACD;EAED,MAAMyH,WAAW,GAAG,IAAAC,yCAAc,EAAE9G,UAAW,CAAC;EAChD,MAAM+G,WAAW,GAAG,IAAAC,oDAAyB,EAAEhH,UAAW,CAAC;EAE3D,MAAMiH,OAAO,GAAG,IAAAC,aAAI,EAAE9G,SAAS,EAAE;IAChC,cAAc,EAAE,CAAC,CAAEgB,YAAY;IAC/B,YAAY,EAAE,CAAC,CAAEP,KAAK,IAAI,CAAC,CAAEC,MAAM;IACnC,CAAE,QAASC,QAAQ,EAAG,GAAIA,QAAQ;IAClC,mBAAmB,EAClB,CAAC,CAAE8F,WAAW,CAACzG,SAAS,IACtByG,WAAW,CAACM,KAAK,IAClBrI,MAAM,CAACsI,IAAI,CAAEP,WAAW,CAACM,KAAM,CAAC,CAACE,MAAM,GAAG;EAC7C,CAAE,CAAC;EAEH,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCC,GAAG,EAAEhG,YAAY;IACjBpB,SAAS,EAAE6G;EACZ,CAAE,CAAC;;EAEH;EACA,MAAM;IAAEQ,eAAe,GAAG,KAAK;IAAEC;EAAuB,CAAC,GAAG,IAAAxE,eAAS,EAClEyE,MAAM,IAAM;IACb,IAAK,CAAExH,gBAAgB,EAAG;MACzB,OAAO,CAAC,CAAC;IACV;IAEA,MAAMyH,mBAAmB,GAAG,IAAAC,8BAAsB,EACjD1G,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,EAAE2I,MAC1B,CAAC;IAED,OAAO;MACNN,eAAe,EACd,CAAC,CAAEtG,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,IAC1B,CAAEwI,mBAAmB,EAAEI,gBAAgB,GAAI;QAC1CL,MAAM;QACNpH,OAAO;QACP0H,IAAI,EAAE9G,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,EAAE6I;MAChC,CAAE,CAAC;MACJP,sBAAsB,EAAEE,mBAAmB,EAAEM,KAAK,GAC/C,IAAAC,aAAO,EACP;MACA,IAAA7D,QAAE,EAAE,iBAAkB,CAAC,EACvBsD,mBAAmB,CAACM,KACpB,CAAC,GACD,IAAA5D,QAAE,EAAE,2BAA4B;IACpC,CAAC;EACF,CAAC,EACD,CAAE/D,OAAO,EAAEJ,gBAAgB,EAAEgB,QAAQ,EAAE2G,QAAQ,EAAE1I,GAAG,CACrD,CAAC;EACD,MAAMgJ,WAAW,GAAKC,OAAO,IAAM;IAClC,oBACC,IAAA5J,WAAA,CAAA6J,IAAA,EAAC1K,WAAA,CAAA2K,WAAW;MACXnI,SAAS,EAAG,IAAA8G,aAAI,EAAE,gCAAgC,EAAE;QACnD,CAAEL,WAAW,CAACzG,SAAS,GACtB,CAAC,CAAEyG,WAAW,CAACzG,SAAS,IAAI,CAAED;MAChC,CAAE,CAAG;MACLqI,IAAI,EACH,CAAEpG,gBAAgB,KAChBqF,eAAe,GAAGgB,cAAW,GAAGD,YAAI,CACtC;MACDE,gBAAgB,EAAG,CAAEvI,gBAAgB,IAAIiC,gBAAkB;MAC3D8F,KAAK,EAAG,CAAE9F,gBAAgB,IAAI,IAAAkC,QAAE,EAAE,OAAQ,CAAG;MAC7CqE,YAAY,EACX,CAAElB,eAAe,IACjB,CAAErF,gBAAgB,IAClB,IAAAkC,QAAE,EACD,8DACD,CACA;MACD6C,KAAK,EAAG;QACPnG,WAAW,EACV,EAAIH,KAAK,IAAIC,MAAM,CAAE,IAAIE,WAAW,GACjCA,WAAW,GACX6B,SAAS;QACbhC,KAAK,EAAEC,MAAM,IAAIE,WAAW,GAAG,MAAM,GAAGH,KAAK;QAC7CC,MAAM,EAAED,KAAK,IAAIG,WAAW,GAAG,MAAM,GAAGF,MAAM;QAC9C8H,SAAS,EAAE3H,KAAK;QAChB,GAAG4F,WAAW,CAACM,KAAK;QACpB,GAAGJ,WAAW,CAACI;MAChB,CAAG;MAAA0B,QAAA,GAEDpB,eAAe,IAChB,CAAErF,gBAAgB,IAClBsF,sBAAsB,EAErB,CAAED,eAAe,IAAI,CAAErF,gBAAgB,IAAIiG,OAAO,EAClDpG,yBAAyB;IAAA,CACf,CAAC;EAEhB,CAAC;EAED,oBACC,IAAAxD,WAAA,CAAA6J,IAAA,EAAA7J,WAAA,CAAAqK,QAAA;IAAAD,QAAA,gBACC,IAAApK,WAAA,CAAA6J,IAAA;MAAA,GAAahB,UAAU;MAAAuB,QAAA,gBACtB,IAAApK,WAAA,CAAAmI,GAAA,EAACvI,MAAA,CAAAuD,OAAK;QACLR,YAAY,EAAGA,YAAc;QAC7BpB,UAAU,EAAGA,UAAY;QACzBC,aAAa,EAAGA,aAAe;QAC/BE,gBAAgB,EAAGA,gBAAkB;QACrCE,iBAAiB,EAAGA,iBAAmB;QACvCC,SAAS,EAAGA,SAAW;QACvBsE,aAAa,EAAGA,aAAe;QAC/BuB,WAAW,EAAGA,WAAa;QAC3B5C,aAAa,EAAGA,aAAe;QAC/BhD,OAAO,EAAGA,OAAS;QACnBC,QAAQ,EAAGA,QAAU;QACrB2C,gBAAgB,EAAGA,gBAAkB;QACrC4F,gBAAgB,EAAGrH,UAAY;QAC/BK,eAAe,EAAGA;MAAiB,CACnC,CAAC,eACF,IAAAtD,WAAA,CAAAmI,GAAA,EAAC9I,YAAA,CAAAkL,gBAAgB;QAChBR,IAAI,eAAG,IAAA/J,WAAA,CAAAmI,GAAA,EAAC9I,YAAA,CAAAmL,SAAS;UAACT,IAAI,EAAGA;QAAM,CAAE,CAAG;QACpCU,QAAQ,EAAGtE,aAAe;QAC1BuB,WAAW,EAAGA,WAAa;QAC3BM,OAAO,EAAGlD,aAAe;QACzB6E,WAAW,EAAGA,WAAa;QAC3Be,MAAM,EAAC,SAAS;QAChB7C,YAAY,EAAGC,8BAAqB;QACpC6C,YAAY,EAAKlF,KAAK,IAAMA,KAAK,CAACmD,MAAM,KAAK,CAAG;QAChDgC,KAAK,EAAG;UAAE3J,EAAE;UAAE+D;QAAI,CAAG;QACrBkD,YAAY,EAAGA,YAAc;QAC7B2C,mBAAmB,EAAGlI,YAAY,IAAIhC;MAAK,CAC3C,CAAC;IAAA,CACK,CAAC;IAER;IACA;IACAe,gBAAgB,IAAI0B,wBAAwB,IAAIC,gBAAgB;EAAA,CAEhE,CAAC;AAEL;AAAC,IAAAyH,QAAA,GAAA/J,OAAA,CAAAoC,OAAA,GAEc7B,SAAS","ignoreList":[]}
@@ -35,6 +35,7 @@ var _jsxRuntime = require("react/jsx-runtime");
35
35
  * Module Constants
36
36
  */const CATEGORIES_LIST_QUERY = {
37
37
  per_page: -1,
38
+ _fields: 'id,name',
38
39
  context: 'view'
39
40
  };
40
41
  const USERS_LIST_QUERY = {
@@ -42,6 +43,23 @@ const USERS_LIST_QUERY = {
42
43
  has_published_posts: ['post'],
43
44
  context: 'view'
44
45
  };
46
+ const imageAlignmentOptions = [{
47
+ value: 'none',
48
+ icon: _icons.alignNone,
49
+ label: (0, _i18n.__)('None')
50
+ }, {
51
+ value: 'left',
52
+ icon: _icons.positionLeft,
53
+ label: (0, _i18n.__)('Left')
54
+ }, {
55
+ value: 'center',
56
+ icon: _icons.positionCenter,
57
+ label: (0, _i18n.__)('Center')
58
+ }, {
59
+ value: 'right',
60
+ icon: _icons.positionRight,
61
+ label: (0, _i18n.__)('Right')
62
+ }];
45
63
  function getFeaturedImageDetails(post, size) {
46
64
  var _image$media_details$;
47
65
  const image = post._embedded?.['wp:featuredmedia']?.['0'];
@@ -50,13 +68,15 @@ function getFeaturedImageDetails(post, size) {
50
68
  alt: image?.alt_text
51
69
  };
52
70
  }
53
- function LatestPostsEdit({
71
+ function getCurrentAuthor(post) {
72
+ return post._embedded?.author?.[0];
73
+ }
74
+ function Controls({
54
75
  attributes,
55
- setAttributes
76
+ setAttributes,
77
+ postCount
56
78
  }) {
57
79
  var _categoriesList$reduc;
58
- const instanceId = (0, _compose.useInstanceId)(LatestPostsEdit);
59
- const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
60
80
  const {
61
81
  postsToShow,
62
82
  order,
@@ -79,7 +99,6 @@ function LatestPostsEdit({
79
99
  } = attributes;
80
100
  const {
81
101
  imageSizes,
82
- latestPosts,
83
102
  defaultImageWidth,
84
103
  defaultImageHeight,
85
104
  categoriesList,
@@ -91,37 +110,15 @@ function LatestPostsEdit({
91
110
  getUsers
92
111
  } = select(_coreData.store);
93
112
  const settings = select(_blockEditor.store).getSettings();
94
- const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
95
- const latestPostsQuery = Object.fromEntries(Object.entries({
96
- categories: catIds,
97
- author: selectedAuthor,
98
- order,
99
- orderby: orderBy,
100
- per_page: postsToShow,
101
- _embed: 'wp:featuredmedia',
102
- ignore_sticky: true
103
- }).filter(([, value]) => typeof value !== 'undefined'));
104
113
  return {
105
114
  defaultImageWidth: (_settings$imageDimens = settings.imageDimensions?.[featuredImageSizeSlug]?.width) !== null && _settings$imageDimens !== void 0 ? _settings$imageDimens : 0,
106
115
  defaultImageHeight: (_settings$imageDimens2 = settings.imageDimensions?.[featuredImageSizeSlug]?.height) !== null && _settings$imageDimens2 !== void 0 ? _settings$imageDimens2 : 0,
107
116
  imageSizes: settings.imageSizes,
108
- latestPosts: getEntityRecords('postType', 'post', latestPostsQuery),
109
117
  categoriesList: getEntityRecords('taxonomy', 'category', CATEGORIES_LIST_QUERY),
110
118
  authorList: getUsers(USERS_LIST_QUERY)
111
119
  };
112
- }, [featuredImageSizeSlug, postsToShow, order, orderBy, categories, selectedAuthor]);
113
-
114
- // If a user clicks to a link prevent redirection and show a warning.
115
- const {
116
- createWarningNotice
117
- } = (0, _data.useDispatch)(_notices.store);
118
- const showRedirectionPreventedNotice = event => {
119
- event.preventDefault();
120
- createWarningNotice((0, _i18n.__)('Links are disabled in the editor.'), {
121
- id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
122
- type: 'snackbar'
123
- });
124
- };
120
+ }, [featuredImageSizeSlug]);
121
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
125
122
  const imageSizeOptions = imageSizes.filter(({
126
123
  slug
127
124
  }) => slug !== 'full').map(({
@@ -154,25 +151,7 @@ function LatestPostsEdit({
154
151
  categories: allCategories
155
152
  });
156
153
  };
157
- const imageAlignmentOptions = [{
158
- value: 'none',
159
- icon: _icons.alignNone,
160
- label: (0, _i18n.__)('None')
161
- }, {
162
- value: 'left',
163
- icon: _icons.positionLeft,
164
- label: (0, _i18n.__)('Left')
165
- }, {
166
- value: 'center',
167
- icon: _icons.positionCenter,
168
- label: (0, _i18n.__)('Center')
169
- }, {
170
- value: 'right',
171
- icon: _icons.positionRight,
172
- label: (0, _i18n.__)('Right')
173
- }];
174
- const hasPosts = !!latestPosts?.length;
175
- const inspectorControls = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.InspectorControls, {
154
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
176
155
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
177
156
  label: (0, _i18n.__)('Post content'),
178
157
  resetAll: () => setAttributes({
@@ -183,14 +162,14 @@ function LatestPostsEdit({
183
162
  dropdownMenuProps: dropdownMenuProps,
184
163
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
185
164
  hasValue: () => !!displayPostContent,
186
- label: (0, _i18n.__)('Post content'),
165
+ label: (0, _i18n.__)('Display post content'),
187
166
  onDeselect: () => setAttributes({
188
167
  displayPostContent: false
189
168
  }),
190
169
  isShownByDefault: true,
191
170
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
192
171
  __nextHasNoMarginBottom: true,
193
- label: (0, _i18n.__)('Post content'),
172
+ label: (0, _i18n.__)('Display post content'),
194
173
  checked: displayPostContent,
195
174
  onChange: value => setAttributes({
196
175
  displayPostContent: value
@@ -198,13 +177,13 @@ function LatestPostsEdit({
198
177
  })
199
178
  }), displayPostContent && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
200
179
  hasValue: () => displayPostContentRadio !== 'excerpt',
201
- label: (0, _i18n.__)('Show'),
180
+ label: (0, _i18n.__)('Content length'),
202
181
  onDeselect: () => setAttributes({
203
182
  displayPostContentRadio: 'excerpt'
204
183
  }),
205
184
  isShownByDefault: true,
206
185
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RadioControl, {
207
- label: (0, _i18n.__)('Show'),
186
+ label: (0, _i18n.__)('Content length'),
208
187
  selected: displayPostContentRadio,
209
188
  options: [{
210
189
  label: (0, _i18n.__)('Excerpt'),
@@ -368,11 +347,78 @@ function LatestPostsEdit({
368
347
  columns: value
369
348
  }),
370
349
  min: 2,
371
- max: !hasPosts ? _constants.MAX_POSTS_COLUMNS : Math.min(_constants.MAX_POSTS_COLUMNS, latestPosts.length),
350
+ max: !postCount ? _constants.MAX_POSTS_COLUMNS : Math.min(_constants.MAX_POSTS_COLUMNS, postCount),
372
351
  required: true
373
352
  })]
374
353
  })]
375
354
  });
355
+ }
356
+ function LatestPostsEdit({
357
+ attributes,
358
+ setAttributes
359
+ }) {
360
+ var _latestPosts$length;
361
+ const instanceId = (0, _compose.useInstanceId)(LatestPostsEdit);
362
+ const {
363
+ postsToShow,
364
+ order,
365
+ orderBy,
366
+ categories,
367
+ selectedAuthor,
368
+ displayFeaturedImage,
369
+ displayPostContentRadio,
370
+ displayPostContent,
371
+ displayPostDate,
372
+ displayAuthor,
373
+ postLayout,
374
+ columns,
375
+ excerptLength,
376
+ featuredImageAlign,
377
+ featuredImageSizeSlug,
378
+ featuredImageSizeWidth,
379
+ featuredImageSizeHeight,
380
+ addLinkToFeaturedImage
381
+ } = attributes;
382
+ const {
383
+ latestPosts
384
+ } = (0, _data.useSelect)(select => {
385
+ const {
386
+ getEntityRecords
387
+ } = select(_coreData.store);
388
+ const catIds = categories && categories.length > 0 ? categories.map(cat => cat.id) : [];
389
+ const latestPostsQuery = Object.fromEntries(Object.entries({
390
+ categories: catIds,
391
+ author: selectedAuthor,
392
+ order,
393
+ orderby: orderBy,
394
+ per_page: postsToShow,
395
+ _embed: 'author,wp:featuredmedia',
396
+ ignore_sticky: true
397
+ }).filter(([, value]) => typeof value !== 'undefined'));
398
+ return {
399
+ latestPosts: getEntityRecords('postType', 'post', latestPostsQuery)
400
+ };
401
+ }, [postsToShow, order, orderBy, categories, selectedAuthor]);
402
+
403
+ // If a user clicks to a link prevent redirection and show a warning.
404
+ const {
405
+ createWarningNotice
406
+ } = (0, _data.useDispatch)(_notices.store);
407
+ const showRedirectionPreventedNotice = event => {
408
+ event.preventDefault();
409
+ createWarningNotice((0, _i18n.__)('Links are disabled in the editor.'), {
410
+ id: `block-library/core/latest-posts/redirection-prevented/${instanceId}`,
411
+ type: 'snackbar'
412
+ });
413
+ };
414
+ const hasPosts = !!latestPosts?.length;
415
+ const inspectorControls = /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
416
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Controls, {
417
+ attributes: attributes,
418
+ setAttributes: setAttributes,
419
+ postCount: (_latestPosts$length = latestPosts?.length) !== null && _latestPosts$length !== void 0 ? _latestPosts$length : 0
420
+ })
421
+ });
376
422
  const blockProps = (0, _blockEditor.useBlockProps)({
377
423
  className: (0, _clsx.default)({
378
424
  'wp-block-latest-posts__list': true,
@@ -421,7 +467,7 @@ function LatestPostsEdit({
421
467
  children: displayPosts.map(post => {
422
468
  const titleTrimmed = post.title.rendered.trim();
423
469
  let excerpt = post.excerpt.rendered;
424
- const currentAuthor = authorList?.find(author => author.id === post.author);
470
+ const currentAuthor = getCurrentAuthor(post);
425
471
  const excerptElement = document.createElement('div');
426
472
  excerptElement.innerHTML = excerpt;
427
473
  excerpt = excerptElement.textContent || excerptElement.innerText || '';
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_hooks","_jsxRuntime","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","_categoriesList$reduc","instanceId","useInstanceId","dropdownMenuProps","useToolsPanelDropdownMenuProps","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","catIds","length","map","cat","id","latestPostsQuery","Object","fromEntries","entries","author","orderby","_embed","ignore_sticky","filter","value","imageDimensions","width","height","createWarningNotice","useDispatch","noticeStore","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","imageAlignmentOptions","icon","alignNone","positionLeft","positionCenter","positionRight","hasPosts","inspectorControls","jsxs","InspectorControls","children","__experimentalToolsPanel","resetAll","DEFAULT_EXCERPT_LENGTH","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","PanelBody","title","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","className","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst imageAlignmentOptions = [\n\t\t{\n\t\t\tvalue: 'none',\n\t\t\ticon: alignNone,\n\t\t\tlabel: __( 'None' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: positionLeft,\n\t\t\tlabel: __( 'Left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: positionCenter,\n\t\t\tlabel: __( 'Center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: positionRight,\n\t\t\tlabel: __( 'Right' ),\n\t\t},\n\t];\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\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<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Show' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\tdisplayPostContentRadio: 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) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\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\texcerptLength: DEFAULT_EXCERPT_LENGTH,\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<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\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</ToolsPanel>\n\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\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 alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\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\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\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) }\n\t\t\t\t\t\t</ToggleGroupControl>\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={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\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\taddLinkToFeaturedImage: 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</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\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\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_element","_constants","_hooks","_jsxRuntime","CATEGORIES_LIST_QUERY","per_page","_fields","context","USERS_LIST_QUERY","has_published_posts","imageAlignmentOptions","value","icon","alignNone","label","__","positionLeft","positionCenter","positionRight","getFeaturedImageDetails","post","size","_image$media_details$","image","_embedded","url","media_details","sizes","source_url","alt","alt_text","getCurrentAuthor","author","Controls","attributes","setAttributes","postCount","_categoriesList$reduc","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","defaultImageWidth","defaultImageHeight","categoriesList","authorList","useSelect","select","_settings$imageDimens","_settings$imageDimens2","getEntityRecords","getUsers","coreStore","settings","blockEditorStore","getSettings","imageDimensions","width","height","dropdownMenuProps","useToolsPanelDropdownMenuProps","imageSizeOptions","filter","slug","map","name","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","jsxs","Fragment","children","__experimentalToolsPanel","resetAll","DEFAULT_EXCERPT_LENGTH","jsx","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","ToggleControl","__nextHasNoMarginBottom","checked","onChange","RadioControl","selected","options","RangeControl","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","PanelBody","title","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","__experimentalToggleGroupControl","className","__experimentalToggleGroupControlOptionIcon","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","LatestPostsEdit","_latestPosts$length","instanceId","useInstanceId","latestPosts","catIds","length","cat","id","latestPostsQuery","Object","fromEntries","entries","orderby","_embed","ignore_sticky","createWarningNotice","useDispatch","noticeStore","showRedirectionPreventedNotice","event","preventDefault","type","hasPosts","inspectorControls","InspectorControls","blockProps","useBlockProps","clsx","Placeholder","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","_x","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","controls","titleTrimmed","rendered","trim","excerpt","currentAuthor","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","sprintf","a","href","link","rel","span","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tpin,\n\tlist,\n\tgrid,\n\talignNone,\n\tpositionLeft,\n\tpositionCenter,\n\tpositionRight,\n} from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticeStore } from '@wordpress/notices';\nimport { useInstanceId } from '@wordpress/compose';\nimport { createInterpolateElement } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n\tDEFAULT_EXCERPT_LENGTH,\n} from './constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\nconst imageAlignmentOptions = [\n\t{\n\t\tvalue: 'none',\n\t\ticon: alignNone,\n\t\tlabel: __( 'None' ),\n\t},\n\t{\n\t\tvalue: 'left',\n\t\ticon: positionLeft,\n\t\tlabel: __( 'Left' ),\n\t},\n\t{\n\t\tvalue: 'center',\n\t\ticon: positionCenter,\n\t\tlabel: __( 'Center' ),\n\t},\n\t{\n\t\tvalue: 'right',\n\t\ticon: positionRight,\n\t\tlabel: __( 'Right' ),\n\t},\n];\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = post._embedded?.[ 'wp:featuredmedia' ]?.[ '0' ];\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nfunction getCurrentAuthor( post ) {\n\treturn post._embedded?.author?.[ 0 ];\n}\n\nfunction Controls( { attributes, setAttributes, postCount } ) {\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.width ?? 0,\n\t\t\t\tdefaultImageHeight:\n\t\t\t\t\tsettings.imageDimensions?.[ featuredImageSizeSlug ]\n\t\t\t\t\t\t?.height ?? 0,\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImageSizeSlug ]\n\t);\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( allCategories.includes( null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayPostContent: false,\n\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\n\t\t\t\t\t\texcerptLength: DEFAULT_EXCERPT_LENGTH,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostContent }\n\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post content' ) }\n\t\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\thasValue={ () => displayPostContentRadio !== 'excerpt' }\n\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: 'excerpt',\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<RadioControl\n\t\t\t\t\t\t\tlabel={ __( 'Content length' ) }\n\t\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\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\tdisplayPostContentRadio: 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) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\texcerptLength !== DEFAULT_EXCERPT_LENGTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\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\texcerptLength: DEFAULT_EXCERPT_LENGTH,\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<RangeControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\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</ToolsPanel>\n\t\t\t<ToolsPanel\n\t\t\t\tlabel={ __( 'Post meta' ) }\n\t\t\t\tresetAll={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tdisplayAuthor: false,\n\t\t\t\t\t\tdisplayPostDate: false,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayAuthor }\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! displayPostDate }\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: false } )\n\t\t\t\t\t}\n\t\t\t\t\tisShownByDefault\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</ToolsPanel>\n\t\t\t<PanelBody title={ __( 'Featured image' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"editor-latest-posts-image-alignment-control\"\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 alignment' ) }\n\t\t\t\t\t\t\tvalue={ featuredImageAlign || 'none' }\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\tfeaturedImageAlign:\n\t\t\t\t\t\t\t\t\t\tvalue !== 'none' ? value : undefined,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ imageAlignmentOptions.map(\n\t\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ label }\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) }\n\t\t\t\t\t\t</ToggleGroupControl>\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={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\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\taddLinkToFeaturedImage: 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</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! postCount\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min( MAX_POSTS_COLUMNS, postCount )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst instanceId = useInstanceId( LatestPostsEdit );\n\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst { latestPosts } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = Object.fromEntries(\n\t\t\t\tObject.entries( {\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'author,wp:featuredmedia',\n\t\t\t\t\tignore_sticky: true,\n\t\t\t\t} ).filter( ( [ , value ] ) => typeof value !== 'undefined' )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postsToShow, order, orderBy, categories, selectedAuthor ]\n\t);\n\n\t// If a user clicks to a link prevent redirection and show a warning.\n\tconst { createWarningNotice } = useDispatch( noticeStore );\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: `block-library/core/latest-posts/redirection-prevented/${ instanceId }`,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<Controls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tpostCount={ latestPosts?.length ?? 0 }\n\t\t\t/>\n\t\t</InspectorControls>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: _x( 'List view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: _x( 'Grid view', 'Latest posts block display setting' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = getSettings().formats.date;\n\n\treturn (\n\t\t<>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post ) => {\n\t\t\t\t\tconst titleTrimmed = post.title.rendered.trim();\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = getCurrentAuthor( post );\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst { url: imageSourceUrl, alt: featuredImageAlt } =\n\t\t\t\t\t\tgetFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = clsx( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]:\n\t\t\t\t\t\t\t!! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Hidden accessibility text: Post title */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'… <a>Read more<span>: %1$s</span></a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\ttitleTrimmed || __( '(no title)' )\n\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\ta: (\n\t\t\t\t\t\t\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__read-more\"\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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\tspan: (\n\t\t\t\t\t\t\t\t\t\t<span className=\"screen-reader-text\" />\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ post.id }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tshowRedirectionPreventedNotice\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\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-title\"\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\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\tonClick={ showRedirectionPreventedNotice }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\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</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}