@wordpress/block-library 8.19.3 → 8.19.5

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 (72) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/build/cover/edit/inspector-controls.js +1 -1
  3. package/build/cover/edit/inspector-controls.js.map +1 -1
  4. package/build/embed/edit.js +17 -0
  5. package/build/embed/edit.js.map +1 -1
  6. package/build/embed/edit.native.js +17 -0
  7. package/build/embed/edit.native.js.map +1 -1
  8. package/build/image/image.js +1 -1
  9. package/build/image/image.js.map +1 -1
  10. package/build/image/view.js +25 -6
  11. package/build/image/view.js.map +1 -1
  12. package/build/latest-posts/edit.js +6 -2
  13. package/build/latest-posts/edit.js.map +1 -1
  14. package/build/media-text/edit.js +1 -1
  15. package/build/media-text/edit.js.map +1 -1
  16. package/build/navigation/edit/deleted-navigation-warning.js +6 -4
  17. package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
  18. package/build/navigation/edit/index.js +3 -3
  19. package/build/navigation/edit/index.js.map +1 -1
  20. package/build/navigation/edit/inner-blocks.js +2 -1
  21. package/build/navigation/edit/inner-blocks.js.map +1 -1
  22. package/build/navigation/view.js +7 -0
  23. package/build/navigation/view.js.map +1 -1
  24. package/build-module/cover/edit/inspector-controls.js +1 -1
  25. package/build-module/cover/edit/inspector-controls.js.map +1 -1
  26. package/build-module/embed/edit.js +17 -0
  27. package/build-module/embed/edit.js.map +1 -1
  28. package/build-module/embed/edit.native.js +17 -0
  29. package/build-module/embed/edit.native.js.map +1 -1
  30. package/build-module/image/image.js +1 -1
  31. package/build-module/image/image.js.map +1 -1
  32. package/build-module/image/view.js +25 -6
  33. package/build-module/image/view.js.map +1 -1
  34. package/build-module/latest-posts/edit.js +6 -2
  35. package/build-module/latest-posts/edit.js.map +1 -1
  36. package/build-module/media-text/edit.js +1 -1
  37. package/build-module/media-text/edit.js.map +1 -1
  38. package/build-module/navigation/edit/deleted-navigation-warning.js +7 -4
  39. package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
  40. package/build-module/navigation/edit/index.js +3 -3
  41. package/build-module/navigation/edit/index.js.map +1 -1
  42. package/build-module/navigation/edit/inner-blocks.js +2 -1
  43. package/build-module/navigation/edit/inner-blocks.js.map +1 -1
  44. package/build-module/navigation/view.js +7 -0
  45. package/build-module/navigation/view.js.map +1 -1
  46. package/build-style/image/style-rtl.css +17 -2
  47. package/build-style/image/style.css +17 -2
  48. package/build-style/post-featured-image/style-rtl.css +3 -0
  49. package/build-style/post-featured-image/style.css +3 -0
  50. package/build-style/post-template/style-rtl.css +25 -0
  51. package/build-style/post-template/style.css +25 -0
  52. package/build-style/style-rtl.css +46 -2
  53. package/build-style/style.css +46 -2
  54. package/package.json +32 -32
  55. package/src/cover/edit/inspector-controls.js +1 -1
  56. package/src/embed/edit.js +15 -0
  57. package/src/embed/edit.native.js +15 -0
  58. package/src/image/image.js +1 -1
  59. package/src/image/index.php +65 -46
  60. package/src/image/style.scss +23 -2
  61. package/src/image/view.js +28 -7
  62. package/src/latest-posts/edit.js +11 -2
  63. package/src/latest-posts/index.php +17 -8
  64. package/src/media-text/edit.js +1 -1
  65. package/src/navigation/edit/deleted-navigation-warning.js +9 -4
  66. package/src/navigation/edit/index.js +26 -18
  67. package/src/navigation/edit/inner-blocks.js +1 -0
  68. package/src/navigation/index.php +19 -6
  69. package/src/navigation/view.js +7 -0
  70. package/src/post-featured-image/style.scss +4 -0
  71. package/src/post-template/style.scss +20 -0
  72. package/src/query/index.php +2 -1
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_constants","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","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","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","useDispatch","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","InspectorControls","PanelBody","title","ToggleControl","checked","onChange","RadioControl","selected","options","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","BaseControl","className","VisualLabel","BlockAlignmentToolbar","controls","isCollapsed","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","classnames","Placeholder","icon","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","a","href","link","rel","key","dangerouslySetInnerHTML","__html","sprintf","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\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 { pin, list, grid } 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} from './constants';\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 {\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} ).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, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\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 hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\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<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\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: classnames( {\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: __( 'List view' ),\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: __( 'Grid view' ),\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<div>\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 = classnames( {\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\t/* translators: excerpt truncation character, default … */\n\t\t\t\t\t\t\t\t__( ' … <a>Read more</a>' ),\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\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}\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\tclassName=\"wp-block-latest-posts__post-title\"\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\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: current 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</div>\n\t);\n}\n"],"mappings":";;;;;;;AAkCA,IAAAA,QAAA,GAAAC,OAAA;AA/BA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AAWA,IAAAI,KAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAL,OAAA;AACA,IAAAM,YAAA,GAAAN,OAAA;AAQA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,MAAA,GAAAR,OAAA;AACA,IAAAS,SAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAV,OAAA;AACA,IAAAW,QAAA,GAAAX,OAAA;AAMA,IAAAY,UAAA,GAAAZ,OAAA;AAvCA;AACA;AACA;;AAGA;AACA;AACA;;AA6BA;AACA;AACA;;AAOA;AACA;AACA;AACA,MAAMa,qBAAqB,GAAG;EAC7BC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAE;AACV,CAAC;AACD,MAAMC,gBAAgB,GAAG;EACxBF,QAAQ,EAAE,CAAC,CAAC;EACZG,mBAAmB,EAAE,CAAE,MAAM,CAAE;EAC/BF,OAAO,EAAE;AACV,CAAC;AAED,SAASG,uBAAuBA,CAAEC,IAAI,EAAEC,IAAI,EAAG;EAAA,IAAAC,qBAAA;EAC9C,MAAMC,KAAK,GAAGH,IAAI,CAACI,SAAS,GAAI,kBAAkB,CAAE,GAAI,GAAG,CAAE;EAE7D,OAAO;IACNC,GAAG,GAAAH,qBAAA,GACFC,KAAK,EAAEG,aAAa,EAAEC,KAAK,GAAIN,IAAI,CAAE,EAAEO,UAAU,cAAAN,qBAAA,cAAAA,qBAAA,GACjDC,KAAK,EAAEK,UAAU;IAClBC,GAAG,EAAEN,KAAK,EAAEO;EACb,CAAC;AACF;AAEe,SAASC,eAAeA,CAAE;EAAEC,UAAU;EAAEC;AAAc,CAAC,EAAG;EAAA,IAAAC,qBAAA;EACxE,MAAMC,UAAU,GAAG,IAAAC,sBAAa,EAAEL,eAAgB,CAAC;EACnD,MAAM;IACLM,WAAW;IACXC,KAAK;IACLC,OAAO;IACPC,UAAU;IACVC,cAAc;IACdC,oBAAoB;IACpBC,uBAAuB;IACvBC,kBAAkB;IAClBC,eAAe;IACfC,aAAa;IACbC,UAAU;IACVC,OAAO;IACPC,aAAa;IACbC,kBAAkB;IAClBC,qBAAqB;IACrBC,sBAAsB;IACtBC,uBAAuB;IACvBC;EACD,CAAC,GAAGtB,UAAU;EACd,MAAM;IACLuB,UAAU;IACVC,WAAW;IACXC,iBAAiB;IACjBC,kBAAkB;IAClBC,cAAc;IACdC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IAAA,IAAAC,qBAAA,EAAAC,sBAAA;IACb,MAAM;MAAEC,gBAAgB;MAAEC;IAAS,CAAC,GAAGJ,MAAM,CAAEK,eAAU,CAAC;IAC1D,MAAMC,QAAQ,GAAGN,MAAM,CAAEO,kBAAiB,CAAC,CAACC,WAAW,CAAC,CAAC;IACzD,MAAMC,MAAM,GACX/B,UAAU,IAAIA,UAAU,CAACgC,MAAM,GAAG,CAAC,GAChChC,UAAU,CAACiC,GAAG,CAAIC,GAAG,IAAMA,GAAG,CAACC,EAAG,CAAC,GACnC,EAAE;IACN,MAAMC,gBAAgB,GAAGC,MAAM,CAACC,WAAW,CAC1CD,MAAM,CAACE,OAAO,CAAE;MACfvC,UAAU,EAAE+B,MAAM;MAClBS,MAAM,EAAEvC,cAAc;MACtBH,KAAK;MACL2C,OAAO,EAAE1C,OAAO;MAChBxB,QAAQ,EAAEsB,WAAW;MACrB6C,MAAM,EAAE;IACT,CAAE,CAAC,CAACC,MAAM,CAAE,CAAE,GAAIC,KAAK,CAAE,KAAM,OAAOA,KAAK,KAAK,WAAY,CAC7D,CAAC;IAED,OAAO;MACN3B,iBAAiB,GAAAM,qBAAA,GAChBK,QAAQ,CAACiB,eAAe,GAAIlC,qBAAqB,CAAE,EAChDmC,KAAK,cAAAvB,qBAAA,cAAAA,qBAAA,GAAI,CAAC;MACdL,kBAAkB,GAAAM,sBAAA,GACjBI,QAAQ,CAACiB,eAAe,GAAIlC,qBAAqB,CAAE,EAChDoC,MAAM,cAAAvB,sBAAA,cAAAA,sBAAA,GAAI,CAAC;MACfT,UAAU,EAAEa,QAAQ,CAACb,UAAU;MAC/BC,WAAW,EAAES,gBAAgB,CAC5B,UAAU,EACV,MAAM,EACNW,gBACD,CAAC;MACDjB,cAAc,EAAEM,gBAAgB,CAC/B,UAAU,EACV,UAAU,EACVnD,qBACD,CAAC;MACD8C,UAAU,EAAEM,QAAQ,CAAEjD,gBAAiB;IACxC,CAAC;EACF,CAAC,EACD,CACCkC,qBAAqB,EACrBd,WAAW,EACXC,KAAK,EACLC,OAAO,EACPC,UAAU,EACVC,cAAc,CAEhB,CAAC;;EAED;EACA,MAAM;IAAE+C,mBAAmB;IAAEC;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAY,CAAC;EACxE,IAAIC,QAAQ;EACZ,MAAMC,8BAA8B,GAAKC,KAAK,IAAM;IACnDA,KAAK,CAACC,cAAc,CAAC,CAAC;IACtB;IACAN,YAAY,CAAEG,QAAS,CAAC;IACxBA,QAAQ,GAAI,yDAAyDzD,UAAY,EAAC;IAClFqD,mBAAmB,CAAE,IAAAQ,QAAE,EAAE,mCAAoC,CAAC,EAAE;MAC/DrB,EAAE,EAAEiB,QAAQ;MACZK,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,gBAAgB,GAAG3C,UAAU,CACjC4B,MAAM,CAAE,CAAE;IAAEgB;EAAK,CAAC,KAAMA,IAAI,KAAK,MAAO,CAAC,CACzC1B,GAAG,CAAE,CAAE;IAAE2B,IAAI;IAAED;EAAK,CAAC,MAAQ;IAC7Bf,KAAK,EAAEe,IAAI;IACXE,KAAK,EAAED;EACR,CAAC,CAAG,CAAC;EACN,MAAME,mBAAmB,IAAApE,qBAAA,GACxByB,cAAc,EAAE4C,MAAM,CACrB,CAAEC,WAAW,EAAEC,QAAQ,MAAQ;IAC9B,GAAGD,WAAW;IACd,CAAEC,QAAQ,CAACL,IAAI,GAAIK;EACpB,CAAC,CAAE,EACH,CAAC,CACF,CAAC,cAAAvE,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EACR,MAAMwE,gBAAgB,GAAKC,MAAM,IAAM;IACtC,MAAMC,eAAe,GAAGD,MAAM,CAACE,IAAI,CAChCC,KAAK,IACN,OAAOA,KAAK,KAAK,QAAQ,IAAI,CAAER,mBAAmB,CAAEQ,KAAK,CAC3D,CAAC;IACD,IAAKF,eAAe,EAAG;MACtB;IACD;IACA;IACA;IACA,MAAMG,aAAa,GAAGJ,MAAM,CAAClC,GAAG,CAAIqC,KAAK,IAAM;MAC9C,OAAO,OAAOA,KAAK,KAAK,QAAQ,GAC7BR,mBAAmB,CAAEQ,KAAK,CAAE,GAC5BA,KAAK;IACT,CAAE,CAAC;IACH;IACA;IACA,IAAKC,aAAa,CAACC,QAAQ,CAAE,IAAK,CAAC,EAAG;MACrC,OAAO,KAAK;IACb;IACA/E,aAAa,CAAE;MAAEO,UAAU,EAAEuE;IAAc,CAAE,CAAC;EAC/C,CAAC;EAED,MAAME,QAAQ,GAAG,CAAC,CAAEzD,WAAW,EAAEgB,MAAM;EACvC,MAAM0C,iBAAiB,GACtB,IAAAlH,QAAA,CAAAmH,aAAA,EAAC5G,YAAA,CAAA6G,iBAAiB,QACjB,IAAApH,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAiH,SAAS;IAACC,KAAK,EAAG,IAAAtB,QAAE,EAAE,cAAe;EAAG,GACxC,IAAAhG,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAmH,aAAa;IACblB,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe,CAAG;IAC9BwB,OAAO,EAAG5E,kBAAoB;IAC9B6E,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAEW,kBAAkB,EAAEwC;IAAM,CAAE;EAC7C,CACD,CAAC,EACAxC,kBAAkB,IACnB,IAAA5C,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAsH,YAAY;IACZrB,KAAK,EAAG,IAAAL,QAAE,EAAE,OAAQ,CAAG;IACvB2B,QAAQ,EAAGhF,uBAAyB;IACpCiF,OAAO,EAAG,CACT;MAAEvB,KAAK,EAAE,IAAAL,QAAE,EAAE,SAAU,CAAC;MAAEZ,KAAK,EAAE;IAAU,CAAC,EAC5C;MACCiB,KAAK,EAAE,IAAAL,QAAE,EAAE,WAAY,CAAC;MACxBZ,KAAK,EAAE;IACR,CAAC,CACC;IACHqC,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MACdU,uBAAuB,EAAEyC;IAC1B,CAAE;EACF,CACD,CACD,EACCxC,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,IACpC,IAAA3C,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAyH,YAAY;IACZC,uBAAuB;IACvBC,qBAAqB;IACrB1B,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;IACrCZ,KAAK,EAAGnC,aAAe;IACvBwE,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAEgB,aAAa,EAAEmC;IAAM,CAAE,CACxC;IACD4C,GAAG,EAAGC,6BAAoB;IAC1BC,GAAG,EAAGC;EAAoB,CAC1B,CAEO,CAAC,EAEZ,IAAAnI,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAiH,SAAS;IAACC,KAAK,EAAG,IAAAtB,QAAE,EAAE,WAAY;EAAG,GACrC,IAAAhG,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAmH,aAAa;IACbO,uBAAuB;IACvBzB,KAAK,EAAG,IAAAL,QAAE,EAAE,qBAAsB,CAAG;IACrCwB,OAAO,EAAG1E,aAAe;IACzB2E,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAEa,aAAa,EAAEsC;IAAM,CAAE;EACxC,CACD,CAAC,EACF,IAAApF,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAmH,aAAa;IACbO,uBAAuB;IACvBzB,KAAK,EAAG,IAAAL,QAAE,EAAE,mBAAoB,CAAG;IACnCwB,OAAO,EAAG3E,eAAiB;IAC3B4E,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAEY,eAAe,EAAEuC;IAAM,CAAE;EAC1C,CACD,CACS,CAAC,EAEZ,IAAApF,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAiH,SAAS;IAACC,KAAK,EAAG,IAAAtB,QAAE,EAAE,gBAAiB;EAAG,GAC1C,IAAAhG,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAmH,aAAa;IACbO,uBAAuB;IACvBzB,KAAK,EAAG,IAAAL,QAAE,EAAE,wBAAyB,CAAG;IACxCwB,OAAO,EAAG9E,oBAAsB;IAChC+E,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAES,oBAAoB,EAAE0C;IAAM,CAAE;EAC/C,CACD,CAAC,EACA1C,oBAAoB,IACrB,IAAA1C,QAAA,CAAAmH,aAAA,EAAAnH,QAAA,CAAAoI,QAAA,QACC,IAAApI,QAAA,CAAAmH,aAAA,EAAC5G,YAAA,CAAA8H,8BAAgB;IAChBZ,QAAQ,EAAKrC,KAAK,IAAM;MACvB,MAAMkD,QAAQ,GAAG,CAAC,CAAC;MACnB,IAAKlD,KAAK,CAACmD,cAAc,CAAE,OAAQ,CAAC,EAAG;QACtCD,QAAQ,CAAClF,sBAAsB,GAC9BgC,KAAK,CAACE,KAAK;MACb;MACA,IAAKF,KAAK,CAACmD,cAAc,CAAE,QAAS,CAAC,EAAG;QACvCD,QAAQ,CAACjF,uBAAuB,GAC/B+B,KAAK,CAACG,MAAM;MACd;MACAtD,aAAa,CAAEqG,QAAS,CAAC;IAC1B,CAAG;IACHnC,IAAI,EAAGhD,qBAAuB;IAC9BmC,KAAK,EAAGlC,sBAAwB;IAChCmC,MAAM,EAAGlC,uBAAyB;IAClCmF,UAAU,EAAG/E,iBAAmB;IAChCgF,WAAW,EAAG/E,kBAAoB;IAClCwC,gBAAgB,EAAGA,gBAAkB;IACrCwC,aAAa,EAAG,IAAA1C,QAAE,EACjB,sCACD,CAAG;IACH2C,aAAa,EAAKvD,KAAK,IACtBnD,aAAa,CAAE;MACdkB,qBAAqB,EAAEiC,KAAK;MAC5BhC,sBAAsB,EAAEwF,SAAS;MACjCvF,uBAAuB,EAAEuF;IAC1B,CAAE;EACF,CACD,CAAC,EACF,IAAA5I,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAyI,WAAW;IAACC,SAAS,EAAC;EAA6C,GACnE,IAAA9I,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAyI,WAAW,CAACE,WAAW,QACrB,IAAA/C,QAAE,EAAE,iBAAkB,CACA,CAAC,EAC1B,IAAAhG,QAAA,CAAAmH,aAAA,EAAC5G,YAAA,CAAAyI,qBAAqB;IACrB5D,KAAK,EAAGlC,kBAAoB;IAC5BuE,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MACdiB,kBAAkB,EAAEkC;IACrB,CAAE,CACF;IACD6D,QAAQ,EAAG,CAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAI;IAC1CC,WAAW,EAAG;EAAO,CACrB,CACW,CAAC,EACd,IAAAlJ,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAmH,aAAa;IACbO,uBAAuB;IACvBzB,KAAK,EAAG,IAAAL,QAAE,EAAE,4BAA6B,CAAG;IAC5CwB,OAAO,EAAGlE,sBAAwB;IAClCmE,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MACdqB,sBAAsB,EAAE8B;IACzB,CAAE;EACF,CACD,CACA,CAEO,CAAC,EAEZ,IAAApF,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAiH,SAAS;IAACC,KAAK,EAAG,IAAAtB,QAAE,EAAE,uBAAwB;EAAG,GACjD,IAAAhG,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAA+I,aAAa;IACN7G,KAAK;IAAEC,OAAO;IACrB6G,aAAa,EAAG/G,WAAa;IAC7BgH,aAAa,EAAKjE,KAAK,IACtBnD,aAAa,CAAE;MAAEK,KAAK,EAAE8C;IAAM,CAAE,CAChC;IACDkE,eAAe,EAAKlE,KAAK,IACxBnD,aAAa,CAAE;MAAEM,OAAO,EAAE6C;IAAM,CAAE,CAClC;IACDmE,qBAAqB,EAAKnE,KAAK,IAC9BnD,aAAa,CAAE;MAAEI,WAAW,EAAE+C;IAAM,CAAE,CACtC;IACDkB,mBAAmB,EAAGA,mBAAqB;IAC3CkD,gBAAgB,EAAG9C,gBAAkB;IACrC+C,kBAAkB,EAAGjH,UAAY;IACjCkH,cAAc,EAAKtE,KAAK,IACvBnD,aAAa,CAAE;MACdQ,cAAc,EACb,EAAE,KAAK2C,KAAK,GAAGuE,MAAM,CAAEvE,KAAM,CAAC,GAAGwD;IACnC,CAAE,CACF;IACDhF,UAAU,EAAGA,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,EAAI;IAC/BgG,gBAAgB,EAAGnH;EAAgB,CACnC,CAAC,EAEAM,UAAU,KAAK,MAAM,IACtB,IAAA/C,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAyH,YAAY;IACZC,uBAAuB;IACvBC,qBAAqB;IACrB1B,KAAK,EAAG,IAAAL,QAAE,EAAE,SAAU,CAAG;IACzBZ,KAAK,EAAGpC,OAAS;IACjByE,QAAQ,EAAKrC,KAAK,IACjBnD,aAAa,CAAE;MAAEe,OAAO,EAAEoC;IAAM,CAAE,CAClC;IACD4C,GAAG,EAAG,CAAG;IACTE,GAAG,EACF,CAAEjB,QAAQ,GACP4C,4BAAiB,GACjBC,IAAI,CAAC9B,GAAG,CACR6B,4BAAiB,EACjBrG,WAAW,CAACgB,MACZ,CACH;IACDuF,QAAQ;EAAA,CACR,CAEQ,CACO,CACnB;EAED,MAAMC,UAAU,GAAG,IAAAC,0BAAa,EAAE;IACjCnB,SAAS,EAAE,IAAAoB,mBAAU,EAAE;MACtB,6BAA6B,EAAE,IAAI;MACnC,SAAS,EAAEnH,UAAU,KAAK,MAAM;MAChC,WAAW,EAAEF,eAAe;MAC5B,YAAY,EAAEC,aAAa;MAC3B,CAAG,WAAWE,OAAS,EAAC,GAAID,UAAU,KAAK;IAC5C,CAAE;EACH,CAAE,CAAC;EAEH,IAAK,CAAEkE,QAAQ,EAAG;IACjB,OACC,IAAAjH,QAAA,CAAAmH,aAAA;MAAA,GAAU6C;IAAU,GACjB9C,iBAAiB,EACnB,IAAAlH,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAA+J,WAAW;MAACC,IAAI,EAAGC,UAAK;MAAChE,KAAK,EAAG,IAAAL,QAAE,EAAE,cAAe;IAAG,GACrD,CAAEsE,KAAK,CAACC,OAAO,CAAE/G,WAAY,CAAC,GAC/B,IAAAxD,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAoK,OAAO,MAAE,CAAC,GAEX,IAAAxE,QAAE,EAAE,iBAAkB,CAEX,CACT,CAAC;EAER;;EAEA;EACA,MAAMyE,YAAY,GACjBjH,WAAW,CAACgB,MAAM,GAAGnC,WAAW,GAC7BmB,WAAW,CAACkH,KAAK,CAAE,CAAC,EAAErI,WAAY,CAAC,GACnCmB,WAAW;EAEf,MAAMmH,cAAc,GAAG,CACtB;IACCP,IAAI,EAAEQ,WAAI;IACVtD,KAAK,EAAE,IAAAtB,QAAE,EAAE,WAAY,CAAC;IACxB6E,OAAO,EAAEA,CAAA,KAAM5I,aAAa,CAAE;MAAEc,UAAU,EAAE;IAAO,CAAE,CAAC;IACtD+H,QAAQ,EAAE/H,UAAU,KAAK;EAC1B,CAAC,EACD;IACCqH,IAAI,EAAEW,WAAI;IACVzD,KAAK,EAAE,IAAAtB,QAAE,EAAE,WAAY,CAAC;IACxB6E,OAAO,EAAEA,CAAA,KAAM5I,aAAa,CAAE;MAAEc,UAAU,EAAE;IAAO,CAAE,CAAC;IACtD+H,QAAQ,EAAE/H,UAAU,KAAK;EAC1B,CAAC,CACD;EAED,MAAMiI,UAAU,GAAG,IAAA1G,iBAAW,EAAC,CAAC,CAAC2G,OAAO,CAACC,IAAI;EAE7C,OACC,IAAAlL,QAAA,CAAAmH,aAAA,eACGD,iBAAiB,EACnB,IAAAlH,QAAA,CAAAmH,aAAA,EAAC5G,YAAA,CAAA4K,aAAa,QACb,IAAAnL,QAAA,CAAAmH,aAAA,EAAC/G,WAAA,CAAAgL,YAAY;IAACnC,QAAQ,EAAG0B;EAAgB,CAAE,CAC7B,CAAC,EAChB,IAAA3K,QAAA,CAAAmH,aAAA;IAAA,GAAS6C;EAAU,GAChBS,YAAY,CAAChG,GAAG,CAAIrD,IAAI,IAAM;IAC/B,MAAMiK,YAAY,GAAGjK,IAAI,CAACkG,KAAK,CAACgE,QAAQ,CAACC,IAAI,CAAC,CAAC;IAC/C,IAAIC,OAAO,GAAGpK,IAAI,CAACoK,OAAO,CAACF,QAAQ;IACnC,MAAMG,aAAa,GAAG7H,UAAU,EAAE8H,IAAI,CACnC1G,MAAM,IAAMA,MAAM,CAACL,EAAE,KAAKvD,IAAI,CAAC4D,MAClC,CAAC;IAED,MAAM2G,cAAc,GAAGC,QAAQ,CAACzE,aAAa,CAAE,KAAM,CAAC;IACtDwE,cAAc,CAACE,SAAS,GAAGL,OAAO;IAElCA,OAAO,GACNG,cAAc,CAACG,WAAW,IAC1BH,cAAc,CAACI,SAAS,IACxB,EAAE;IAEH,MAAM;MAAEtK,GAAG,EAAEuK,cAAc;MAAEnK,GAAG,EAAEoK;IAAiB,CAAC,GACnD9K,uBAAuB,CAAEC,IAAI,EAAE+B,qBAAsB,CAAC;IACvD,MAAM+I,YAAY,GAAG,IAAAhC,mBAAU,EAAE;MAChC,uCAAuC,EAAE,IAAI;MAC7C,CAAG,QAAQhH,kBAAoB,EAAC,GAC/B,CAAC,CAAEA;IACL,CAAE,CAAC;IACH,MAAMiJ,mBAAmB,GACxBzJ,oBAAoB,IAAIsJ,cAAc;IACvC,MAAMI,aAAa,GAAGD,mBAAmB,IACxC,IAAAnM,QAAA,CAAAmH,aAAA;MACCkF,GAAG,EAAGL,cAAgB;MACtBnK,GAAG,EAAGoK,gBAAkB;MACxBK,KAAK,EAAG;QACPC,QAAQ,EAAEnJ,sBAAsB;QAChCoJ,SAAS,EAAEnJ;MACZ;IAAG,CACH,CACD;IAED,MAAMoJ,aAAa,GAClBxJ,aAAa,GAAGuI,OAAO,CAACD,IAAI,CAAC,CAAC,CAACmB,KAAK,CAAE,GAAI,CAAC,CAAClI,MAAM,IAClDpD,IAAI,CAACoK,OAAO,CAACmB,GAAG,KAAK,EAAE;IAExB,MAAMC,WAAW,GAAGH,aAAa,GAChC,IAAAzM,QAAA,CAAAmH,aAAA,EAAAnH,QAAA,CAAAoI,QAAA,QACGoD,OAAO,CACPD,IAAI,CAAC,CAAC,CACNmB,KAAK,CAAE,GAAG,EAAEzJ,aAAc,CAAC,CAC3B4J,IAAI,CAAE,GAAI,CAAC,EACX,IAAAC,iCAAwB,GACzB;IACA,IAAA9G,QAAE,EAAE,qBAAsB,CAAC,EAC3B;MACC+G,CAAC;MACA;MACA,IAAA/M,QAAA,CAAAmH,aAAA;QACC6F,IAAI,EAAG5L,IAAI,CAAC6L,IAAM;QAClBC,GAAG,EAAC,qBAAqB;QACzBrC,OAAO,EACNhF;MACA,CACD;IAEH,CACD,CACC,CAAC,GAEH2F,OACA;IAED,OACC,IAAAxL,QAAA,CAAAmH,aAAA;MAAIgG,GAAG,EAAG/L,IAAI,CAACuD;IAAI,GAChBwH,mBAAmB,IACpB,IAAAnM,QAAA,CAAAmH,aAAA;MAAK2B,SAAS,EAAGoD;IAAc,GAC5B5I,sBAAsB,GACvB,IAAAtD,QAAA,CAAAmH,aAAA;MACC2B,SAAS,EAAC,mCAAmC;MAC7CkE,IAAI,EAAG5L,IAAI,CAAC6L,IAAM;MAClBC,GAAG,EAAC,qBAAqB;MACzBrC,OAAO,EACNhF;IACA,GAECuG,aACA,CAAC,GAEJA,aAEG,CACL,EACD,IAAApM,QAAA,CAAAmH,aAAA;MACC6F,IAAI,EAAG5L,IAAI,CAAC6L,IAAM;MAClBC,GAAG,EAAC,qBAAqB;MACzBE,uBAAuB,EACtB,CAAC,CAAE/B,YAAY,GACZ;QACAgC,MAAM,EAAEhC;MACR,CAAC,GACDzC,SACH;MACDiC,OAAO,EAAGhF;IAAgC,GAExC,CAAEwF,YAAY,GAAG,IAAArF,QAAE,EAAE,YAAa,CAAC,GAAG,IACtC,CAAC,EACFlD,aAAa,IAAI2I,aAAa,IAC/B,IAAAzL,QAAA,CAAAmH,aAAA;MAAK2B,SAAS,EAAC;IAAoC,GAChD,IAAAwE,aAAO,GACR;IACA,IAAAtH,QAAE,EAAE,OAAQ,CAAC,EACbyF,aAAa,CAACrF,IACf,CACI,CACL,EACCvD,eAAe,IAAIzB,IAAI,CAACmM,QAAQ,IACjC,IAAAvN,QAAA,CAAAmH,aAAA;MACCqG,QAAQ,EAAG,IAAAC,YAAM,EAAE,GAAG,EAAErM,IAAI,CAACmM,QAAS,CAAG;MACzCzE,SAAS,EAAC;IAAkC,GAE1C,IAAA4E,cAAQ,EAAE1C,UAAU,EAAE5J,IAAI,CAACmM,QAAS,CACjC,CACN,EACC3K,kBAAkB,IACnBD,uBAAuB,KAAK,SAAS,IACpC,IAAA3C,QAAA,CAAAmH,aAAA;MAAK2B,SAAS,EAAC;IAAqC,GACjD8D,WACE,CACL,EACAhK,kBAAkB,IACnBD,uBAAuB,KAAK,WAAW,IACtC,IAAA3C,QAAA,CAAAmH,aAAA;MACC2B,SAAS,EAAC,0CAA0C;MACpDsE,uBAAuB,EAAG;QACzBC,MAAM,EAAEjM,IAAI,CAACuM,OAAO,CAAChB,GAAG,CAACpB,IAAI,CAAC;MAC/B;IAAG,CACH,CAEA,CAAC;EAEP,CAAE,CACC,CACA,CAAC;AAER"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_components","_i18n","_date","_blockEditor","_data","_icons","_coreData","_notices","_compose","_constants","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","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","filter","value","imageDimensions","width","height","createWarningNotice","removeNotice","useDispatch","noticeStore","noticeId","showRedirectionPreventedNotice","event","preventDefault","__","type","imageSizeOptions","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","includes","hasPosts","inspectorControls","createElement","InspectorControls","PanelBody","title","ToggleControl","checked","onChange","RadioControl","selected","options","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","min","MIN_EXCERPT_LENGTH","max","MAX_EXCERPT_LENGTH","Fragment","__experimentalImageSizeControl","newAttrs","hasOwnProperty","imageWidth","imageHeight","imageSizeHelp","onChangeImage","undefined","BaseControl","className","VisualLabel","BlockAlignmentToolbar","controls","isCollapsed","QueryControls","numberOfItems","onOrderChange","onOrderByChange","onNumberOfItemsChange","onCategoryChange","selectedCategories","onAuthorChange","Number","selectedAuthorId","MAX_POSTS_COLUMNS","Math","required","blockProps","useBlockProps","classnames","Placeholder","icon","pin","Array","isArray","Spinner","displayPosts","slice","layoutControls","list","onClick","isActive","grid","dateFormat","formats","date","BlockControls","ToolbarGroup","titleTrimmed","rendered","trim","excerpt","currentAuthor","find","excerptElement","document","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","src","style","maxWidth","maxHeight","needsReadMore","split","raw","postExcerpt","join","createInterpolateElement","sprintf","a","href","link","rel","span","key","dangerouslySetInnerHTML","__html","date_gmt","dateTime","format","dateI18n","content"],"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, getSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\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 { pin, list, grid } 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} from './constants';\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 {\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} ).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, removeNotice } = useDispatch( noticeStore );\n\tlet noticeId;\n\tconst showRedirectionPreventedNotice = ( event ) => {\n\t\tevent.preventDefault();\n\t\t// Remove previous warning if any, to show one at a time per block.\n\t\tremoveNotice( noticeId );\n\t\tnoticeId = `block-library/core/latest-posts/redirection-prevented/${ instanceId }`;\n\t\tcreateWarningNotice( __( 'Links are disabled in the editor.' ), {\n\t\t\tid: noticeId,\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 hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\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\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\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<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\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: classnames( {\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: __( 'List view' ),\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: __( 'Grid view' ),\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<div>\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 = classnames( {\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\tclassName=\"wp-block-latest-posts__post-title\"\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\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: current 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</div>\n\t);\n}\n"],"mappings":"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"}
@@ -220,7 +220,7 @@ function MediaTextEdit({
220
220
  }), mediaType === 'image' && (0, _element.createElement)(_components.ToggleControl, {
221
221
  __nextHasNoMarginBottom: true,
222
222
  label: (0, _i18n.__)('Crop image to fill entire column'),
223
- checked: imageFill,
223
+ checked: !!imageFill,
224
224
  onChange: () => setAttributes({
225
225
  imageFill: !imageFill
226
226
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_data","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","allowedBlocks","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","useSelect","select","getSettings","blockEditorStore","coreStore","getMedia","context","refMediaContainer","useRef","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","classnames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","checked","onChange","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","__experimentalImageSizeControl","onChangeImage","isResizable","imageSizeHelp","RangeControl","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","ref","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image.' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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"}
1
+ {"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_i18n","_data","_blockEditor","_components","_blob","_icons","_coreData","_mediaContainer","_constants","applyWidthConstraints","width","Math","max","WIDTH_CONSTRAINT_PERCENTAGE","min","getImageSourceUrlBySizeSlug","image","slug","media_details","sizes","source_url","attributesFromMedia","attributes","linkDestination","href","setAttributes","media","url","mediaAlt","undefined","mediaId","mediaType","mediaUrl","mediaLink","focalPoint","isBlobURL","type","getBlobTypeByURL","src","media_type","large","newHref","LINK_DESTINATION_MEDIA","LINK_DESTINATION_ATTACHMENT","link","alt","id","MediaTextEdit","isSelected","imageFill","isStackedOnMobile","linkClass","linkTarget","mediaPosition","mediaWidth","rel","verticalAlignment","allowedBlocks","mediaSizeSlug","DEFAULT_MEDIA_SIZE_SLUG","imageSizes","useSelect","select","getSettings","blockEditorStore","coreStore","getMedia","context","refMediaContainer","useRef","imperativeFocalPointPreview","value","style","current","resizable","x","y","backgroundPosition","temporaryMediaWidth","setTemporaryMediaWidth","useState","onSelectMedia","onSetHref","props","onWidthChange","commitWidthChange","classNames","classnames","widthString","gridTemplateColumns","msGridColumns","onMediaAltChange","newMediaAlt","onVerticalAlignmentChange","alignment","imageSizeOptions","filter","map","name","label","updateImage","newMediaSizeSlug","newUrl","mediaTextGeneralSettings","createElement","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","checked","onChange","FocalPointPicker","onDragStart","onDrag","TextareaControl","help","Fragment","ExternalLink","__experimentalImageSizeControl","onChangeImage","isResizable","imageSizeHelp","RangeControl","blockProps","useBlockProps","className","innerBlocksProps","useInnerBlocksProps","template","TEMPLATE","blockEditingMode","useBlockEditingMode","InspectorControls","BlockControls","group","BlockVerticalAlignmentControl","ToolbarButton","icon","pullLeft","isActive","onClick","pullRight","__experimentalImageURLInputUI","onChangeUrl","default","ref","enableResize","_default","exports"],"sources":["@wordpress/block-library/src/media-text/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useRef } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tBlockVerticalAlignmentControl,\n\tuseInnerBlocksProps,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tstore as blockEditorStore,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tToolbarButton,\n\tExternalLink,\n\tFocalPointPicker,\n} from '@wordpress/components';\nimport { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';\nimport { pullLeft, pullRight } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport MediaContainer from './media-container';\nimport {\n\tDEFAULT_MEDIA_SIZE_SLUG,\n\tWIDTH_CONSTRAINT_PERCENTAGE,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_ATTACHMENT,\n\tTEMPLATE,\n} from './constants';\n\n// this limits the resize to a safe zone to avoid making broken layouts\nconst applyWidthConstraints = ( width ) =>\n\tMath.max(\n\t\tWIDTH_CONSTRAINT_PERCENTAGE,\n\t\tMath.min( width, 100 - WIDTH_CONSTRAINT_PERCENTAGE )\n\t);\n\nfunction getImageSourceUrlBySizeSlug( image, slug ) {\n\t// eslint-disable-next-line camelcase\n\treturn image?.media_details?.sizes?.[ slug ]?.source_url;\n}\n\nfunction attributesFromMedia( {\n\tattributes: { linkDestination, href },\n\tsetAttributes,\n} ) {\n\treturn ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tsetAttributes( {\n\t\t\t\tmediaAlt: undefined,\n\t\t\t\tmediaId: undefined,\n\t\t\t\tmediaType: undefined,\n\t\t\t\tmediaUrl: undefined,\n\t\t\t\tmediaLink: undefined,\n\t\t\t\thref: undefined,\n\t\t\t\tfocalPoint: undefined,\n\t\t\t} );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tmedia.type = getBlobTypeByURL( media.url );\n\t\t}\n\n\t\tlet mediaType;\n\t\tlet src;\n\t\t// For media selections originated from a file upload.\n\t\tif ( media.media_type ) {\n\t\t\tif ( media.media_type === 'image' ) {\n\t\t\t\tmediaType = 'image';\n\t\t\t} else {\n\t\t\t\t// only images and videos are accepted so if the media_type is not an image we can assume it is a video.\n\t\t\t\t// video contain the media type of 'file' in the object returned from the rest api.\n\t\t\t\tmediaType = 'video';\n\t\t\t}\n\t\t} else {\n\t\t\t// For media selections originated from existing files in the media library.\n\t\t\tmediaType = media.type;\n\t\t}\n\n\t\tif ( mediaType === 'image' ) {\n\t\t\t// Try the \"large\" size URL, falling back to the \"full\" size URL below.\n\t\t\tsrc =\n\t\t\t\tmedia.sizes?.large?.url ||\n\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\tmedia.media_details?.sizes?.large?.source_url;\n\t\t}\n\n\t\tlet newHref = href;\n\t\tif ( linkDestination === LINK_DESTINATION_MEDIA ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.url;\n\t\t}\n\n\t\t// Check if the image is linked to the attachment page.\n\t\tif ( linkDestination === LINK_DESTINATION_ATTACHMENT ) {\n\t\t\t// Update the media link.\n\t\t\tnewHref = media.link;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaAlt: media.alt,\n\t\t\tmediaId: media.id,\n\t\t\tmediaType,\n\t\t\tmediaUrl: src || media.url,\n\t\t\tmediaLink: media.link || undefined,\n\t\t\thref: newHref,\n\t\t\tfocalPoint: undefined,\n\t\t} );\n\t};\n}\n\nfunction MediaTextEdit( { attributes, isSelected, setAttributes } ) {\n\tconst {\n\t\tfocalPoint,\n\t\thref,\n\t\timageFill,\n\t\tisStackedOnMobile,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\tlinkTarget,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\trel,\n\t\tverticalAlignment,\n\t\tallowedBlocks,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\n\tconst { imageSizes, image } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\timage:\n\t\t\t\t\tmediaId && isSelected\n\t\t\t\t\t\t? select( coreStore ).getMedia( mediaId, {\n\t\t\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t\t } )\n\t\t\t\t\t\t: null,\n\t\t\t\timageSizes: getSettings()?.imageSizes,\n\t\t\t};\n\t\t},\n\t\t[ isSelected, mediaId ]\n\t);\n\n\tconst refMediaContainer = useRef();\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst { style } = refMediaContainer.current.resizable;\n\t\tconst { x, y } = value;\n\t\tstyle.backgroundPosition = `${ x * 100 }% ${ y * 100 }%`;\n\t};\n\n\tconst [ temporaryMediaWidth, setTemporaryMediaWidth ] = useState( null );\n\n\tconst onSelectMedia = attributesFromMedia( { attributes, setAttributes } );\n\n\tconst onSetHref = ( props ) => {\n\t\tsetAttributes( props );\n\t};\n\n\tconst onWidthChange = ( width ) => {\n\t\tsetTemporaryMediaWidth( applyWidthConstraints( width ) );\n\t};\n\tconst commitWidthChange = ( width ) => {\n\t\tsetAttributes( {\n\t\t\tmediaWidth: applyWidthConstraints( width ),\n\t\t} );\n\t\tsetTemporaryMediaWidth( null );\n\t};\n\n\tconst classNames = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-selected': isSelected,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst widthString = `${ temporaryMediaWidth || mediaWidth }%`;\n\tconst gridTemplateColumns =\n\t\t'right' === mediaPosition\n\t\t\t? `1fr ${ widthString }`\n\t\t\t: `${ widthString } 1fr`;\n\tconst style = {\n\t\tgridTemplateColumns,\n\t\tmsGridColumns: gridTemplateColumns,\n\t};\n\tconst onMediaAltChange = ( newMediaAlt ) => {\n\t\tsetAttributes( { mediaAlt: newMediaAlt } );\n\t};\n\tconst onVerticalAlignmentChange = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => getImageSourceUrlBySizeSlug( image, slug ) )\n\t\t.map( ( { name, slug } ) => ( { value: slug, label: name } ) );\n\tconst updateImage = ( newMediaSizeSlug ) => {\n\t\tconst newUrl = getImageSourceUrlBySizeSlug( image, newMediaSizeSlug );\n\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tmediaUrl: newUrl,\n\t\t\tmediaSizeSlug: newMediaSizeSlug,\n\t\t} );\n\t};\n\n\tconst mediaTextGeneralSettings = (\n\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Stack on mobile' ) }\n\t\t\t\tchecked={ isStackedOnMobile }\n\t\t\t\tonChange={ () =>\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tisStackedOnMobile: ! isStackedOnMobile,\n\t\t\t\t\t} )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Crop image to fill entire column' ) }\n\t\t\t\t\tchecked={ !! imageFill }\n\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\timageFill: ! imageFill,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ imageFill && mediaUrl && mediaType === 'image' && (\n\t\t\t\t<FocalPointPicker\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\turl={ mediaUrl }\n\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { focalPoint: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<TextareaControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\tvalue={ mediaAlt }\n\t\t\t\t\tonChange={ onMediaAltChange }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t{ __( 'Describe the purpose of the image.' ) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaType === 'image' && (\n\t\t\t\t<ImageSizeControl\n\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\tslug={ mediaSizeSlug }\n\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\tisResizable={ false }\n\t\t\t\t\timageSizeHelp={ __(\n\t\t\t\t\t\t'Select the size of the source image.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ mediaUrl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Media width' ) }\n\t\t\t\t\tvalue={ temporaryMediaWidth || mediaWidth }\n\t\t\t\t\tonChange={ commitWidthChange }\n\t\t\t\t\tmin={ WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t\tmax={ 100 - WIDTH_CONSTRAINT_PERCENTAGE }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</PanelBody>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classNames,\n\t\tstyle,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-media-text__content' },\n\t\t{ template: TEMPLATE, allowedBlocks }\n\t);\n\n\tconst blockEditingMode = useBlockEditingMode();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>{ mediaTextGeneralSettings }</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ blockEditingMode === 'default' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<BlockVerticalAlignmentControl\n\t\t\t\t\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullLeft }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on left' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'left' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'left' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ticon={ pullRight }\n\t\t\t\t\t\t\ttitle={ __( 'Show media on right' ) }\n\t\t\t\t\t\t\tisActive={ mediaPosition === 'right' }\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { mediaPosition: 'right' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ mediaType === 'image' && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaType={ mediaType }\n\t\t\t\t\t\tmediaUrl={ image && image.source_url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ mediaPosition === 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t\t<MediaContainer\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonWidthChange={ onWidthChange }\n\t\t\t\t\tcommitWidthChange={ commitWidthChange }\n\t\t\t\t\tref={ refMediaContainer }\n\t\t\t\t\tenableResize={ blockEditingMode === 'default' }\n\t\t\t\t\t{ ...{\n\t\t\t\t\t\tfocalPoint,\n\t\t\t\t\t\timageFill,\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tisStackedOnMobile,\n\t\t\t\t\t\tmediaAlt,\n\t\t\t\t\t\tmediaId,\n\t\t\t\t\t\tmediaPosition,\n\t\t\t\t\t\tmediaType,\n\t\t\t\t\t\tmediaUrl,\n\t\t\t\t\t\tmediaWidth,\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default MediaTextEdit;\n"],"mappings":"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"}
@@ -15,10 +15,12 @@ var _i18n = require("@wordpress/i18n");
15
15
  function DeletedNavigationWarning({
16
16
  onCreateNew
17
17
  }) {
18
- return (0, _element.createElement)(_blockEditor.Warning, null, (0, _i18n.__)('Navigation menu has been deleted or is unavailable. '), (0, _element.createElement)(_components.Button, {
19
- onClick: onCreateNew,
20
- variant: "link"
21
- }, (0, _i18n.__)('Create a new menu?')));
18
+ return (0, _element.createElement)(_blockEditor.Warning, null, (0, _element.createInterpolateElement)((0, _i18n.__)('Navigation menu has been deleted or is unavailable. <button>Create a new menu?</button>'), {
19
+ button: (0, _element.createElement)(_components.Button, {
20
+ onClick: onCreateNew,
21
+ variant: "link"
22
+ })
23
+ }));
22
24
  }
23
25
  var _default = DeletedNavigationWarning;
24
26
  exports.default = _default;
@@ -1 +1 @@
1
- {"version":3,"names":["_blockEditor","require","_components","_i18n","DeletedNavigationWarning","onCreateNew","_element","createElement","Warning","__","Button","onClick","variant","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/deleted-navigation-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Warning } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nfunction DeletedNavigationWarning( { onCreateNew } ) {\n\treturn (\n\t\t<Warning>\n\t\t\t{ __( 'Navigation menu has been deleted or is unavailable. ' ) }\n\t\t\t<Button onClick={ onCreateNew } variant=\"link\">\n\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t</Button>\n\t\t</Warning>\n\t);\n}\n\nexport default DeletedNavigationWarning;\n"],"mappings":";;;;;;;AAGA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AALA;AACA;AACA;;AAKA,SAASG,wBAAwBA,CAAE;EAAEC;AAAY,CAAC,EAAG;EACpD,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACP,YAAA,CAAAQ,OAAO,QACL,IAAAC,QAAE,EAAE,sDAAuD,CAAC,EAC9D,IAAAH,QAAA,CAAAC,aAAA,EAACL,WAAA,CAAAQ,MAAM;IAACC,OAAO,EAAGN,WAAa;IAACO,OAAO,EAAC;EAAM,GAC3C,IAAAH,QAAE,EAAE,oBAAqB,CACpB,CACA,CAAC;AAEZ;AAAC,IAAAI,QAAA,GAEcT,wBAAwB;AAAAU,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
1
+ {"version":3,"names":["_element","require","_blockEditor","_components","_i18n","DeletedNavigationWarning","onCreateNew","createElement","Warning","createInterpolateElement","__","button","Button","onClick","variant","_default","exports","default"],"sources":["@wordpress/block-library/src/navigation/edit/deleted-navigation-warning.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Warning } from '@wordpress/block-editor';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\n\nfunction DeletedNavigationWarning( { onCreateNew } ) {\n\treturn (\n\t\t<Warning>\n\t\t\t{ createInterpolateElement(\n\t\t\t\t__(\n\t\t\t\t\t'Navigation menu has been deleted or is unavailable. <button>Create a new menu?</button>'\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\tbutton: <Button onClick={ onCreateNew } variant=\"link\" />,\n\t\t\t\t}\n\t\t\t) }\n\t\t</Warning>\n\t);\n}\n\nexport default DeletedNavigationWarning;\n"],"mappings":";;;;;;AAMA,IAAAA,QAAA,GAAAC,OAAA;AAHA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AALA;AACA;AACA;;AAMA,SAASI,wBAAwBA,CAAE;EAAEC;AAAY,CAAC,EAAG;EACpD,OACC,IAAAN,QAAA,CAAAO,aAAA,EAACL,YAAA,CAAAM,OAAO,QACL,IAAAC,iCAAwB,EACzB,IAAAC,QAAE,EACD,yFACD,CAAC,EACD;IACCC,MAAM,EAAE,IAAAX,QAAA,CAAAO,aAAA,EAACJ,WAAA,CAAAS,MAAM;MAACC,OAAO,EAAGP,WAAa;MAACQ,OAAO,EAAC;IAAM,CAAE;EACzD,CACD,CACQ,CAAC;AAEZ;AAAC,IAAAC,QAAA,GAEcV,wBAAwB;AAAAW,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
@@ -67,7 +67,8 @@ function Navigation({
67
67
  // These props are used by the navigation editor to override specific
68
68
  // navigation block settings.
69
69
  hasSubmenuIndicatorSetting = true,
70
- customPlaceholder: CustomPlaceholder = null
70
+ customPlaceholder: CustomPlaceholder = null,
71
+ __unstableLayoutClassNames: layoutClassNames
71
72
  }) {
72
73
  const {
73
74
  openSubmenusOnClick,
@@ -231,7 +232,7 @@ function Navigation({
231
232
  [(0, _blockEditor.getColorClassName)('background-color', backgroundColor?.slug)]: !!backgroundColor?.slug,
232
233
  [`has-text-decoration-${textDecoration}`]: textDecoration,
233
234
  'block-editor-block-content-overlay': hasBlockOverlay
234
- }),
235
+ }, layoutClassNames),
235
236
  style: {
236
237
  color: !textColor?.slug && textColor?.color,
237
238
  backgroundColor: !backgroundColor?.slug && backgroundColor?.color
@@ -562,7 +563,6 @@ function Navigation({
562
563
  }), (0, _element.createElement)(_responsiveWrapper.default, {
563
564
  id: clientId,
564
565
  onToggle: setResponsiveMenuVisibility,
565
- label: (0, _i18n.__)('Menu'),
566
566
  hasIcon: hasIcon,
567
567
  icon: icon,
568
568
  isOpen: isResponsiveMenuOpen,