@wordpress/block-library 6.0.17 → 6.0.23

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 (105) hide show
  1. package/build/columns/index.js +1 -2
  2. package/build/columns/index.js.map +1 -1
  3. package/build/gallery/deprecated.js +1 -5
  4. package/build/gallery/deprecated.js.map +1 -1
  5. package/build/gallery/edit.js +0 -7
  6. package/build/gallery/edit.js.map +1 -1
  7. package/build/navigation/index.js +1 -6
  8. package/build/navigation/index.js.map +1 -1
  9. package/build/navigation/view.js +1 -1
  10. package/build/navigation/view.js.map +1 -1
  11. package/build/post-author/edit.js +1 -1
  12. package/build/post-author/edit.js.map +1 -1
  13. package/build/post-content/edit.js +1 -1
  14. package/build/post-content/edit.js.map +1 -1
  15. package/build/post-date/edit.js +1 -1
  16. package/build/post-date/edit.js.map +1 -1
  17. package/build/post-excerpt/edit.js +1 -1
  18. package/build/post-excerpt/edit.js.map +1 -1
  19. package/build/post-featured-image/edit.js +1 -1
  20. package/build/post-featured-image/edit.js.map +1 -1
  21. package/build/post-title/edit.js +1 -1
  22. package/build/post-title/edit.js.map +1 -1
  23. package/build/site-logo/edit.js +110 -12
  24. package/build/site-logo/edit.js.map +1 -1
  25. package/build/site-logo/index.js +5 -1
  26. package/build/site-logo/index.js.map +1 -1
  27. package/build/template-part/index.js +25 -9
  28. package/build/template-part/index.js.map +1 -1
  29. package/build-module/columns/index.js +1 -2
  30. package/build-module/columns/index.js.map +1 -1
  31. package/build-module/gallery/deprecated.js +2 -6
  32. package/build-module/gallery/deprecated.js.map +1 -1
  33. package/build-module/gallery/edit.js +0 -6
  34. package/build-module/gallery/edit.js.map +1 -1
  35. package/build-module/navigation/index.js +1 -6
  36. package/build-module/navigation/index.js.map +1 -1
  37. package/build-module/navigation/view.js +1 -1
  38. package/build-module/navigation/view.js.map +1 -1
  39. package/build-module/post-author/edit.js +1 -1
  40. package/build-module/post-author/edit.js.map +1 -1
  41. package/build-module/post-content/edit.js +1 -1
  42. package/build-module/post-content/edit.js.map +1 -1
  43. package/build-module/post-date/edit.js +1 -1
  44. package/build-module/post-date/edit.js.map +1 -1
  45. package/build-module/post-excerpt/edit.js +1 -1
  46. package/build-module/post-excerpt/edit.js.map +1 -1
  47. package/build-module/post-featured-image/edit.js +1 -1
  48. package/build-module/post-featured-image/edit.js.map +1 -1
  49. package/build-module/post-title/edit.js +1 -1
  50. package/build-module/post-title/edit.js.map +1 -1
  51. package/build-module/site-logo/edit.js +111 -13
  52. package/build-module/site-logo/edit.js.map +1 -1
  53. package/build-module/site-logo/index.js +5 -1
  54. package/build-module/site-logo/index.js.map +1 -1
  55. package/build-module/template-part/index.js +25 -9
  56. package/build-module/template-part/index.js.map +1 -1
  57. package/build-style/common-rtl.css +2 -2
  58. package/build-style/common.css +2 -2
  59. package/build-style/editor-rtl.css +20 -10
  60. package/build-style/editor.css +20 -10
  61. package/build-style/navigation/editor-rtl.css +13 -6
  62. package/build-style/navigation/editor.css +13 -6
  63. package/build-style/navigation/style-rtl.css +1 -0
  64. package/build-style/navigation/style.css +1 -0
  65. package/build-style/page-list/style-rtl.css +4 -4
  66. package/build-style/page-list/style.css +4 -4
  67. package/build-style/post-template/style-rtl.css +2 -29
  68. package/build-style/post-template/style.css +2 -29
  69. package/build-style/style-rtl.css +9 -35
  70. package/build-style/style.css +9 -35
  71. package/package.json +8 -9
  72. package/src/columns/block.json +1 -2
  73. package/src/common.scss +2 -2
  74. package/src/editor.scss +7 -4
  75. package/src/gallery/deprecated.js +2 -5
  76. package/src/gallery/edit.js +0 -7
  77. package/src/navigation/block.json +1 -12
  78. package/src/navigation/editor.scss +18 -8
  79. package/src/navigation/style.scss +1 -0
  80. package/src/navigation/view.js +1 -1
  81. package/src/navigation-submenu/index.php +2 -2
  82. package/src/page-list/index.php +1 -1
  83. package/src/page-list/style.scss +4 -4
  84. package/src/post-author/edit.js +1 -1
  85. package/src/post-content/edit.js +1 -1
  86. package/src/post-content/index.php +11 -1
  87. package/src/post-date/edit.js +1 -1
  88. package/src/post-excerpt/edit.js +1 -1
  89. package/src/post-excerpt/index.php +1 -1
  90. package/src/post-featured-image/edit.js +1 -1
  91. package/src/post-template/style.scss +2 -13
  92. package/src/post-title/edit.js +1 -1
  93. package/src/post-title/index.php +1 -1
  94. package/src/query-pagination-next/index.php +3 -2
  95. package/src/search/index.php +9 -9
  96. package/src/site-logo/block.json +5 -1
  97. package/src/site-logo/edit.js +127 -9
  98. package/src/site-logo/index.php +17 -0
  99. package/src/template-part/block.json +0 -8
  100. package/src/template-part/index.js +28 -0
  101. package/build/gallery/use-mobile-warning.js +0 -43
  102. package/build/gallery/use-mobile-warning.js.map +0 -1
  103. package/build-module/gallery/use-mobile-warning.js +0 -32
  104. package/build-module/gallery/use-mobile-warning.js.map +0 -1
  105. package/src/gallery/use-mobile-warning.js +0 -28
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","concat","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useShortCodeTransform","useGetNewImages","useGetMedia","useMobileWarning","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","createSuccessNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","imageAttributes","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\n/**\n * Internal dependencies\n */\nimport useMobileWarning from './use-mobile-warning';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseMobileWarning( newImages );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? find( imageData, { id: imageAttributes.id } )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( imageAttributes, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/gallery/edit.js"],"names":["classnames","concat","find","compose","BaseControl","PanelBody","SelectControl","ToggleControl","withNotices","RangeControl","Spinner","store","blockEditorStore","MediaPlaceholder","InspectorControls","useBlockProps","Platform","useEffect","useMemo","__","_x","sprintf","useSelect","useDispatch","withViewportMatch","View","createBlock","createBlobURL","noticesStore","sharedIcon","defaultColumnsNumber","pickRelevantMediaFiles","getHrefAndDestination","getUpdatedLinkTargetSettings","getImageSizeAttributes","Gallery","LINK_DESTINATION_ATTACHMENT","LINK_DESTINATION_MEDIA","LINK_DESTINATION_NONE","useImageSizes","useShortCodeTransform","useGetNewImages","useGetMedia","MAX_COLUMNS","linkOptions","value","label","ALLOWED_MEDIA_TYPES","PLACEHOLDER_TEXT","isNative","MOBILE_CONTROL_PROPS_RANGE_CONTROL","type","GalleryEdit","props","setAttributes","attributes","className","clientId","noticeOperations","isSelected","noticeUI","insertBlocksAfter","columns","imageCrop","linkTarget","linkTo","shortCodeTransforms","sizeSlug","__unstableMarkNextChangeAsNotPersistent","replaceInnerBlocks","updateBlockAttributes","createSuccessNotice","getBlock","getSettings","preferredStyle","select","settings","preferredStyleVariations","__experimentalPreferredStyleVariations","innerBlockImages","innerBlocks","images","map","block","id","url","fromSavedContent","Boolean","originalContent","imageData","newImages","forEach","newImage","buildImageAttributes","align","undefined","shortCodeImages","updateImages","imageSizeOptions","imageAttributes","image","newClassName","isValidFileType","file","some","mediaType","indexOf","selectedImages","newFileUploads","Object","prototype","toString","call","imageArray","Array","from","every","removeAllNotices","createErrorNotice","processedImages","filter","newOrderMap","reduce","result","index","existingImageBlocks","img","newImageList","existingImg","newBlocks","caption","alt","sort","a","b","onUploadError","message","setLinkTo","changedAttributes","blocks","push","linkToText","linkType","setColumnsNumber","toggleImageCrop","getImageCropHelp","checked","toggleOpenInNewTab","openInNewTab","newLinkTarget","noticeText","updateImagesSize","newSizeSlug","imageSize","size","window","wp","media","view","defaultProps","link","hasImages","length","hasImageIds","imagesUploading","mediaPlaceholder","title","instructions","blockProps","hasLinkTo","Math","min","isWeb","isNarrow"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { concat, find } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { compose } from '@wordpress/compose';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\twithNotices,\n\tRangeControl,\n\tSpinner,\n} from '@wordpress/components';\nimport {\n\tstore as blockEditorStore,\n\tMediaPlaceholder,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { Platform, useEffect, useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { withViewportMatch } from '@wordpress/viewport';\nimport { View } from '@wordpress/primitives';\nimport { createBlock } from '@wordpress/blocks';\nimport { createBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { sharedIcon } from './shared-icon';\nimport { defaultColumnsNumber, pickRelevantMediaFiles } from './shared';\nimport { getHrefAndDestination } from './utils';\nimport {\n\tgetUpdatedLinkTargetSettings,\n\tgetImageSizeAttributes,\n} from '../image/utils';\nimport Gallery from './gallery';\nimport {\n\tLINK_DESTINATION_ATTACHMENT,\n\tLINK_DESTINATION_MEDIA,\n\tLINK_DESTINATION_NONE,\n} from './constants';\nimport useImageSizes from './use-image-sizes';\nimport useShortCodeTransform from './use-short-code-transform';\nimport useGetNewImages from './use-get-new-images';\nimport useGetMedia from './use-get-media';\n\nconst MAX_COLUMNS = 8;\nconst linkOptions = [\n\t{ value: LINK_DESTINATION_ATTACHMENT, label: __( 'Attachment Page' ) },\n\t{ value: LINK_DESTINATION_MEDIA, label: __( 'Media File' ) },\n\t{\n\t\tvalue: LINK_DESTINATION_NONE,\n\t\tlabel: _x( 'None', 'Media item link option' ),\n\t},\n];\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst PLACEHOLDER_TEXT = Platform.isNative\n\t? __( 'ADD MEDIA' )\n\t: __( 'Drag images, upload new ones or select files from your library.' );\n\nconst MOBILE_CONTROL_PROPS_RANGE_CONTROL = Platform.isNative\n\t? { type: 'stepper' }\n\t: {};\n\nfunction GalleryEdit( props ) {\n\tconst {\n\t\tsetAttributes,\n\t\tattributes,\n\t\tclassName,\n\t\tclientId,\n\t\tnoticeOperations,\n\t\tisSelected,\n\t\tnoticeUI,\n\t\tinsertBlocksAfter,\n\t} = props;\n\n\tconst {\n\t\tcolumns,\n\t\timageCrop,\n\t\tlinkTarget,\n\t\tlinkTo,\n\t\tshortCodeTransforms,\n\t\tsizeSlug,\n\t} = attributes;\n\n\tconst {\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t\treplaceInnerBlocks,\n\t\tupdateBlockAttributes,\n\t} = useDispatch( blockEditorStore );\n\tconst { createSuccessNotice } = useDispatch( noticesStore );\n\n\tconst { getBlock, getSettings, preferredStyle } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst preferredStyleVariations =\n\t\t\tsettings.__experimentalPreferredStyleVariations;\n\t\treturn {\n\t\t\tgetBlock: select( blockEditorStore ).getBlock,\n\t\t\tgetSettings: select( blockEditorStore ).getSettings,\n\t\t\tpreferredStyle: preferredStyleVariations?.value?.[ 'core/image' ],\n\t\t};\n\t}, [] );\n\n\tconst innerBlockImages = useSelect(\n\t\t( select ) => {\n\t\t\treturn select( blockEditorStore ).getBlock( clientId )?.innerBlocks;\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst images = useMemo(\n\t\t() =>\n\t\t\tinnerBlockImages?.map( ( block ) => ( {\n\t\t\t\tclientId: block.clientId,\n\t\t\t\tid: block.attributes.id,\n\t\t\t\turl: block.attributes.url,\n\t\t\t\tattributes: block.attributes,\n\t\t\t\tfromSavedContent: Boolean( block.originalContent ),\n\t\t\t} ) ),\n\t\t[ innerBlockImages ]\n\t);\n\n\tconst imageData = useGetMedia( innerBlockImages );\n\n\tconst newImages = useGetNewImages( images, imageData );\n\n\tuseEffect( () => {\n\t\tnewImages?.forEach( ( newImage ) => {\n\t\t\tupdateBlockAttributes( newImage.clientId, {\n\t\t\t\t...buildImageAttributes( newImage.attributes ),\n\t\t\t\tid: newImage.id,\n\t\t\t\talign: undefined,\n\t\t\t} );\n\t\t} );\n\t}, [ newImages ] );\n\n\tconst shortCodeImages = useShortCodeTransform( shortCodeTransforms );\n\n\tuseEffect( () => {\n\t\tif ( ! shortCodeTransforms || ! shortCodeImages ) {\n\t\t\treturn;\n\t\t}\n\t\tupdateImages( shortCodeImages );\n\t\tsetAttributes( { shortCodeTransforms: undefined } );\n\t}, [ shortCodeTransforms, shortCodeImages ] );\n\n\tconst imageSizeOptions = useImageSizes(\n\t\timageData,\n\t\tisSelected,\n\t\tgetSettings\n\t);\n\n\t/**\n\t * Determines the image attributes that should be applied to an image block\n\t * after the gallery updates.\n\t *\n\t * The gallery will receive the full collection of images when a new image\n\t * is added. As a result we need to reapply the image's original settings if\n\t * it already existed in the gallery. If the image is in fact new, we need\n\t * to apply the gallery's current settings to the image.\n\t *\n\t * @param {Object} imageAttributes Media object for the actual image.\n\t * @return {Object} Attributes to set on the new image block.\n\t */\n\tfunction buildImageAttributes( imageAttributes ) {\n\t\tconst image = imageAttributes.id\n\t\t\t? find( imageData, { id: imageAttributes.id } )\n\t\t\t: null;\n\n\t\tlet newClassName;\n\t\tif ( imageAttributes.className && imageAttributes.className !== '' ) {\n\t\t\tnewClassName = imageAttributes.className;\n\t\t} else {\n\t\t\tnewClassName = preferredStyle\n\t\t\t\t? `is-style-${ preferredStyle }`\n\t\t\t\t: undefined;\n\t\t}\n\t\treturn {\n\t\t\t...pickRelevantMediaFiles( imageAttributes, sizeSlug ),\n\t\t\t...getHrefAndDestination( image, linkTo ),\n\t\t\t...getUpdatedLinkTargetSettings( linkTarget, attributes ),\n\t\t\tclassName: newClassName,\n\t\t\tsizeSlug,\n\t\t};\n\t}\n\n\tfunction isValidFileType( file ) {\n\t\treturn (\n\t\t\tALLOWED_MEDIA_TYPES.some(\n\t\t\t\t( mediaType ) => file.type?.indexOf( mediaType ) === 0\n\t\t\t) || file.url?.indexOf( 'blob:' ) === 0\n\t\t);\n\t}\n\n\tfunction updateImages( selectedImages ) {\n\t\tconst newFileUploads =\n\t\t\tObject.prototype.toString.call( selectedImages ) ===\n\t\t\t'[object FileList]';\n\n\t\tconst imageArray = newFileUploads\n\t\t\t? Array.from( selectedImages ).map( ( file ) => {\n\t\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t\t} );\n\t\t\t\t\t}\n\n\t\t\t\t\treturn file;\n\t\t\t } )\n\t\t\t: selectedImages;\n\n\t\tif ( ! imageArray.every( isValidFileType ) ) {\n\t\t\tnoticeOperations.removeAllNotices();\n\t\t\tnoticeOperations.createErrorNotice(\n\t\t\t\t__(\n\t\t\t\t\t'If uploading to a gallery all files need to be image formats'\n\t\t\t\t),\n\t\t\t\t{ id: 'gallery-upload-invalid-file' }\n\t\t\t);\n\t\t}\n\n\t\tconst processedImages = imageArray\n\t\t\t.filter( ( file ) => file.url || isValidFileType( file ) )\n\t\t\t.map( ( file ) => {\n\t\t\t\tif ( ! file.url ) {\n\t\t\t\t\treturn pickRelevantMediaFiles( {\n\t\t\t\t\t\turl: createBlobURL( file ),\n\t\t\t\t\t} );\n\t\t\t\t}\n\n\t\t\t\treturn file;\n\t\t\t} );\n\n\t\t// Because we are reusing existing innerImage blocks any reordering\n\t\t// done in the media library will be lost so we need to reapply that ordering\n\t\t// once the new image blocks are merged in with existing.\n\t\tconst newOrderMap = processedImages.reduce(\n\t\t\t( result, image, index ) => (\n\t\t\t\t( result[ image.id ] = index ), result\n\t\t\t),\n\t\t\t{}\n\t\t);\n\n\t\tconst existingImageBlocks = ! newFileUploads\n\t\t\t? innerBlockImages.filter( ( block ) =>\n\t\t\t\t\tprocessedImages.find(\n\t\t\t\t\t\t( img ) => img.id === block.attributes.id\n\t\t\t\t\t)\n\t\t\t )\n\t\t\t: innerBlockImages;\n\n\t\tconst newImageList = processedImages.filter(\n\t\t\t( img ) =>\n\t\t\t\t! existingImageBlocks.find(\n\t\t\t\t\t( existingImg ) => img.id === existingImg.attributes.id\n\t\t\t\t)\n\t\t);\n\n\t\tconst newBlocks = newImageList.map( ( image ) => {\n\t\t\treturn createBlock( 'core/image', {\n\t\t\t\tid: image.id,\n\t\t\t\turl: image.url,\n\t\t\t\tcaption: image.caption,\n\t\t\t\talt: image.alt,\n\t\t\t} );\n\t\t} );\n\n\t\treplaceInnerBlocks(\n\t\t\tclientId,\n\t\t\tconcat( existingImageBlocks, newBlocks ).sort(\n\t\t\t\t( a, b ) =>\n\t\t\t\t\tnewOrderMap[ a.attributes.id ] -\n\t\t\t\t\tnewOrderMap[ b.attributes.id ]\n\t\t\t)\n\t\t);\n\t}\n\n\tfunction onUploadError( message ) {\n\t\tnoticeOperations.removeAllNotices();\n\t\tnoticeOperations.createErrorNotice( message );\n\t}\n\n\tfunction setLinkTo( value ) {\n\t\tsetAttributes( { linkTo: value } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getHrefAndDestination(\n\t\t\t\timage,\n\t\t\t\tvalue\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst linkToText = [ ...linkOptions ].find(\n\t\t\t( linkType ) => linkType.value === value\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image links updated to: %s' ),\n\t\t\t\tlinkToText.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-linkTo',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tfunction setColumnsNumber( value ) {\n\t\tsetAttributes( { columns: value } );\n\t}\n\n\tfunction toggleImageCrop() {\n\t\tsetAttributes( { imageCrop: ! imageCrop } );\n\t}\n\n\tfunction getImageCropHelp( checked ) {\n\t\treturn checked\n\t\t\t? __( 'Thumbnails are cropped to align.' )\n\t\t\t: __( 'Thumbnails are not cropped.' );\n\t}\n\n\tfunction toggleOpenInNewTab( openInNewTab ) {\n\t\tconst newLinkTarget = openInNewTab ? '_blank' : undefined;\n\t\tsetAttributes( { linkTarget: newLinkTarget } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tchangedAttributes[ block.clientId ] = getUpdatedLinkTargetSettings(\n\t\t\t\tnewLinkTarget,\n\t\t\t\tblock.attributes\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst noticeText = openInNewTab\n\t\t\t? __( 'All gallery images updated to open in new tab' )\n\t\t\t: __( 'All gallery images updated to not open in new tab' );\n\t\tcreateSuccessNotice( noticeText, {\n\t\t\tid: 'gallery-attributes-openInNewTab',\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t}\n\n\tfunction updateImagesSize( newSizeSlug ) {\n\t\tsetAttributes( { sizeSlug: newSizeSlug } );\n\t\tconst changedAttributes = {};\n\t\tconst blocks = [];\n\t\tgetBlock( clientId ).innerBlocks.forEach( ( block ) => {\n\t\t\tblocks.push( block.clientId );\n\t\t\tconst image = block.attributes.id\n\t\t\t\t? find( imageData, { id: block.attributes.id } )\n\t\t\t\t: null;\n\t\t\tchangedAttributes[ block.clientId ] = getImageSizeAttributes(\n\t\t\t\timage,\n\t\t\t\tnewSizeSlug\n\t\t\t);\n\t\t} );\n\t\tupdateBlockAttributes( blocks, changedAttributes, true );\n\t\tconst imageSize = imageSizeOptions.find(\n\t\t\t( size ) => size.value === newSizeSlug\n\t\t);\n\n\t\tcreateSuccessNotice(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: image size settings */\n\t\t\t\t__( 'All gallery image sizes updated to: %s' ),\n\t\t\t\timageSize.label\n\t\t\t),\n\t\t\t{\n\t\t\t\tid: 'gallery-attributes-sizeSlug',\n\t\t\t\ttype: 'snackbar',\n\t\t\t}\n\t\t);\n\t}\n\n\tuseEffect( () => {\n\t\t// linkTo attribute must be saved so blocks don't break when changing image_default_link_type in options.php\n\t\tif ( ! linkTo ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( {\n\t\t\t\tlinkTo:\n\t\t\t\t\twindow?.wp?.media?.view?.settings?.defaultProps?.link ||\n\t\t\t\t\tLINK_DESTINATION_NONE,\n\t\t\t} );\n\t\t}\n\t}, [ linkTo ] );\n\n\tconst hasImages = !! images.length;\n\tconst hasImageIds = hasImages && images.some( ( image ) => !! image.id );\n\tconst imagesUploading = images.some(\n\t\t( img ) => ! img.id && img.url?.indexOf( 'blob:' ) === 0\n\t);\n\n\tconst mediaPlaceholder = (\n\t\t<MediaPlaceholder\n\t\t\taddToGallery={ hasImageIds }\n\t\t\thandleUpload={ false }\n\t\t\tisAppender={ hasImages }\n\t\t\tdisableMediaButtons={\n\t\t\t\t( hasImages && ! isSelected ) || imagesUploading\n\t\t\t}\n\t\t\ticon={ ! hasImages && sharedIcon }\n\t\t\tlabels={ {\n\t\t\t\ttitle: ! hasImages && __( 'Gallery' ),\n\t\t\t\tinstructions: ! hasImages && PLACEHOLDER_TEXT,\n\t\t\t} }\n\t\t\tonSelect={ updateImages }\n\t\t\taccept=\"image/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tmultiple\n\t\t\tvalue={ hasImageIds ? images : {} }\n\t\t\tonError={ onUploadError }\n\t\t\tnotices={ hasImages ? undefined : noticeUI }\n\t\t/>\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( className, 'has-nested-images' ),\n\t} );\n\n\tif ( ! hasImages ) {\n\t\treturn <View { ...blockProps }>{ mediaPlaceholder }</View>;\n\t}\n\n\tconst hasLinkTo = linkTo && linkTo !== 'none';\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Gallery settings' ) }>\n\t\t\t\t\t{ images.length > 1 && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\tcolumns\n\t\t\t\t\t\t\t\t\t? columns\n\t\t\t\t\t\t\t\t\t: defaultColumnsNumber( images.length )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonChange={ setColumnsNumber }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tmax={ Math.min( MAX_COLUMNS, images.length ) }\n\t\t\t\t\t\t\t{ ...MOBILE_CONTROL_PROPS_RANGE_CONTROL }\n\t\t\t\t\t\t\trequired\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Crop images' ) }\n\t\t\t\t\t\tchecked={ !! imageCrop }\n\t\t\t\t\t\tonChange={ toggleImageCrop }\n\t\t\t\t\t\thelp={ getImageCropHelp }\n\t\t\t\t\t/>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Link to' ) }\n\t\t\t\t\t\tvalue={ linkTo }\n\t\t\t\t\t\tonChange={ setLinkTo }\n\t\t\t\t\t\toptions={ linkOptions }\n\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t/>\n\t\t\t\t\t{ hasLinkTo && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\tonChange={ toggleOpenInNewTab }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ imageSizeOptions?.length > 0 && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Image size' ) }\n\t\t\t\t\t\t\tvalue={ sizeSlug }\n\t\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChange={ updateImagesSize }\n\t\t\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ Platform.isWeb && ! imageSizeOptions && hasImageIds && (\n\t\t\t\t\t\t<BaseControl className={ 'gallery-image-sizes' }>\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image size' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<View className={ 'gallery-image-sizes__loading' }>\n\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t{ __( 'Loading options…' ) }\n\t\t\t\t\t\t\t</View>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ noticeUI }\n\t\t\t<Gallery\n\t\t\t\t{ ...props }\n\t\t\t\timages={ images }\n\t\t\t\tmediaPlaceholder={ mediaPlaceholder }\n\t\t\t\tblockProps={ blockProps }\n\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t/>\n\t\t</>\n\t);\n}\nexport default compose( [\n\twithNotices,\n\twithViewportMatch( { isNarrow: '< small' } ),\n] )( GalleryEdit );\n"]}
@@ -94,17 +94,12 @@ const metadata = {
94
94
  __experimentalFontWeight: true,
95
95
  __experimentalTextTransform: true,
96
96
  __experimentalFontFamily: true,
97
- __experimentalTextDecoration: true,
98
97
  __experimentalDefaultControls: {
99
98
  fontSize: true
100
99
  }
101
100
  },
102
101
  spacing: {
103
- blockGap: true,
104
- units: ["px", "em", "rem", "vh", "vw"],
105
- __experimentalDefaultControls: {
106
- blockGap: true
107
- }
102
+ units: ["px", "em", "rem", "vh", "vw"]
108
103
  },
109
104
  __experimentalLayout: {
110
105
  allowSwitching: false,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","edit","save","deprecated","name","metadata","settings","example","innerBlocks","attributes","label","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,MAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,OAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,SAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBV,EAAAA,IA9BuB;AA+BvBC,EAAAA,IA/BuB;AAgCvBC,EAAAA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","edit","save","deprecated","name","metadata","settings","example","innerBlocks","attributes","label","url"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBO,EAAAA,OAAO,EAAE;AACRC,IAAAA,WAAW,EAAE,CACZ;AACCJ,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,MAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,OAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCP,MAAAA,IAAI,EAAE,sBADP;AAECK,MAAAA,UAAU,EAAE;AACX;AACAC,QAAAA,KAAK,EAAEZ,EAAE,CAAE,SAAF,CAFE;AAGXa,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AADL,GAFc;AA8BvBV,EAAAA,IA9BuB;AA+BvBC,EAAAA,IA/BuB;AAgCvBC,EAAAA;AAhCuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
@@ -4,7 +4,7 @@
4
4
  import MicroModal from 'micromodal'; // Responsive navigation toggle.
5
5
 
6
6
  function navigationToggleModal(modal) {
7
- const dialogContainer = document.querySelector(`.wp-block-navigation__responsive-dialog`);
7
+ const dialogContainer = modal.querySelector(`.wp-block-navigation__responsive-dialog`);
8
8
  const isHidden = 'true' === modal.getAttribute('aria-hidden');
9
9
  modal.classList.toggle('has-modal-open', !isHidden);
10
10
  dialogContainer.toggleAttribute('aria-modal', !isHidden);
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","document","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = document.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/view.js"],"names":["MicroModal","navigationToggleModal","modal","dialogContainer","querySelector","isHidden","getAttribute","classList","toggle","toggleAttribute","removeAttribute","setAttribute","htmlElement","document","documentElement","closeSubmenus","element","querySelectorAll","forEach","toggleSubmenuOnClick","event","buttonToggle","target","closest","isSubmenuOpen","parentElement","navigationParent","child","window","addEventListener","init","onShow","onClose","openClass","submenuButtons","button","navigationBlocks","block","contains","submenuBlocks"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport MicroModal from 'micromodal';\n\n// Responsive navigation toggle.\nfunction navigationToggleModal( modal ) {\n\tconst dialogContainer = modal.querySelector(\n\t\t`.wp-block-navigation__responsive-dialog`\n\t);\n\n\tconst isHidden = 'true' === modal.getAttribute( 'aria-hidden' );\n\n\tmodal.classList.toggle( 'has-modal-open', ! isHidden );\n\tdialogContainer.toggleAttribute( 'aria-modal', ! isHidden );\n\n\tif ( isHidden ) {\n\t\tdialogContainer.removeAttribute( 'role' );\n\t\tdialogContainer.removeAttribute( 'aria-modal' );\n\t} else {\n\t\tdialogContainer.setAttribute( 'role', 'dialog' );\n\t\tdialogContainer.setAttribute( 'aria-modal', 'true' );\n\t}\n\n\t// Add a class to indicate the modal is open.\n\tconst htmlElement = document.documentElement;\n\thtmlElement.classList.toggle( 'has-modal-open' );\n}\n\n// Open on click functionality.\nfunction closeSubmenus( element ) {\n\telement\n\t\t.querySelectorAll( '[aria-expanded=\"true\"]' )\n\t\t.forEach( function ( toggle ) {\n\t\t\ttoggle.setAttribute( 'aria-expanded', 'false' );\n\t\t} );\n}\n\nfunction toggleSubmenuOnClick( event ) {\n\tconst buttonToggle = event.target.closest( '[aria-expanded]' );\n\tconst isSubmenuOpen = buttonToggle.getAttribute( 'aria-expanded' );\n\n\tif ( isSubmenuOpen === 'true' ) {\n\t\tcloseSubmenus( buttonToggle.closest( '.wp-block-navigation-item' ) );\n\t} else {\n\t\t// Close all sibling submenus.\n\t\tconst parentElement = buttonToggle.closest(\n\t\t\t'.wp-block-navigation-item'\n\t\t);\n\t\tconst navigationParent = buttonToggle.closest(\n\t\t\t'.wp-block-navigation__submenu-container, .wp-block-navigation__container, .wp-block-page-list'\n\t\t);\n\t\tnavigationParent\n\t\t\t.querySelectorAll( '.wp-block-navigation-item' )\n\t\t\t.forEach( function ( child ) {\n\t\t\t\tif ( child !== parentElement ) {\n\t\t\t\t\tcloseSubmenus( child );\n\t\t\t\t}\n\t\t\t} );\n\t\t// Open submenu.\n\t\tbuttonToggle.setAttribute( 'aria-expanded', 'true' );\n\t}\n}\n\n// Necessary for some themes such as TT1 Blocks, where\n// scripts could be loaded before the body.\nwindow.addEventListener( 'load', () => {\n\tMicroModal.init( {\n\t\tonShow: navigationToggleModal,\n\t\tonClose: navigationToggleModal,\n\t\topenClass: 'is-menu-open',\n\t} );\n\n\tconst submenuButtons = document.querySelectorAll(\n\t\t'.wp-block-navigation-submenu__toggle'\n\t);\n\n\tsubmenuButtons.forEach( function ( button ) {\n\t\tbutton.addEventListener( 'click', toggleSubmenuOnClick );\n\t} );\n\n\t// Close on click outside.\n\tdocument.addEventListener( 'click', function ( event ) {\n\t\tconst navigationBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation'\n\t\t);\n\t\tnavigationBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n\t// Close on focus outside.\n\tdocument.addEventListener( 'keyup', function ( event ) {\n\t\tconst submenuBlocks = document.querySelectorAll(\n\t\t\t'.wp-block-navigation-item.has-child'\n\t\t);\n\t\tsubmenuBlocks.forEach( function ( block ) {\n\t\t\tif ( ! block.contains( event.target ) ) {\n\t\t\t\tcloseSubmenus( block );\n\t\t\t}\n\t\t} );\n\t} );\n} );\n"]}
@@ -26,7 +26,7 @@ function PostAuthorEdit(_ref) {
26
26
  attributes,
27
27
  setAttributes
28
28
  } = _ref;
29
- const isDescendentOfQueryLoop = !!queryId;
29
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
30
30
  const {
31
31
  authorId,
32
32
  authorDetails,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-author/edit.js"],"names":["forEach","classnames","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","PanelBody","SelectControl","ToggleControl","useSelect","useDispatch","__","store","coreStore","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","authorId","authorDetails","authors","select","getEditedEntityRecord","getUser","getUsers","_authorId","author","who","editEntityRecord","textAlign","showAvatar","showBio","byline","avatarSizes","avatar_urls","url","size","push","value","label","blockProps","className","length","map","id","name","nextAuthorId","avatarSize","Number","nextAlign","isEmpty","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, ToggleControl } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = !! queryId;\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( { who: 'authors' } ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline } = attributes;\n\n\tconst avatarSizes = [];\n\tif ( authorDetails ) {\n\t\tforEach( authorDetails.avatar_urls, ( url, size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Author Settings' ) }>\n\t\t\t\t\t{ ! isDescendentOfQueryLoop && !! authors?.length && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\toptions={ authors.map( ( { id, name } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tonChange={ ( nextAuthorId ) => {\n\t\t\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\t\tpostId,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tauthor: nextAuthorId,\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: 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\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ authorDetails?.name || __( 'Post Author' ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p className=\"wp-block-post-author__bio\">\n\t\t\t\t\t\t\t{ authorDetails?.description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-author/edit.js"],"names":["forEach","classnames","AlignmentControl","BlockControls","InspectorControls","RichText","useBlockProps","PanelBody","SelectControl","ToggleControl","useSelect","useDispatch","__","store","coreStore","PostAuthorEdit","isSelected","context","postType","postId","queryId","attributes","setAttributes","isDescendentOfQueryLoop","Number","isFinite","authorId","authorDetails","authors","select","getEditedEntityRecord","getUser","getUsers","_authorId","author","who","editEntityRecord","textAlign","showAvatar","showBio","byline","avatarSizes","avatar_urls","url","size","push","value","label","blockProps","className","length","map","id","name","nextAuthorId","avatarSize","nextAlign","isEmpty","description"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { forEach } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, SelectControl, ToggleControl } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\nfunction PostAuthorEdit( {\n\tisSelected,\n\tcontext: { postType, postId, queryId },\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { authorId, authorDetails, authors } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getUser, getUsers } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst _authorId = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t)?.author;\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthorDetails: _authorId ? getUser( _authorId ) : null,\n\t\t\t\tauthors: getUsers( { who: 'authors' } ),\n\t\t\t};\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst { textAlign, showAvatar, showBio, byline } = attributes;\n\n\tconst avatarSizes = [];\n\tif ( authorDetails ) {\n\t\tforEach( authorDetails.avatar_urls, ( url, size ) => {\n\t\t\tavatarSizes.push( {\n\t\t\t\tvalue: size,\n\t\t\t\tlabel: `${ size } x ${ size }`,\n\t\t\t} );\n\t\t} );\n\t}\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Author Settings' ) }>\n\t\t\t\t\t{ ! isDescendentOfQueryLoop && !! authors?.length && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Author' ) }\n\t\t\t\t\t\t\tvalue={ authorId }\n\t\t\t\t\t\t\toptions={ authors.map( ( { id, name } ) => {\n\t\t\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\tonChange={ ( nextAuthorId ) => {\n\t\t\t\t\t\t\t\teditEntityRecord(\n\t\t\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\t\t\tpostType,\n\t\t\t\t\t\t\t\t\tpostId,\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\tauthor: nextAuthorId,\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show avatar' ) }\n\t\t\t\t\t\tchecked={ showAvatar }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showAvatar: ! showAvatar } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ showAvatar && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\tlabel={ __( 'Avatar size' ) }\n\t\t\t\t\t\t\tvalue={ attributes.avatarSize }\n\t\t\t\t\t\t\toptions={ avatarSizes }\n\t\t\t\t\t\t\tonChange={ ( size ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tavatarSize: Number( size ),\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<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show bio' ) }\n\t\t\t\t\t\tchecked={ showBio }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showBio: ! showBio } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ showAvatar && authorDetails && (\n\t\t\t\t\t<div className=\"wp-block-post-author__avatar\">\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\twidth={ attributes.avatarSize }\n\t\t\t\t\t\t\tsrc={\n\t\t\t\t\t\t\t\tauthorDetails.avatar_urls[\n\t\t\t\t\t\t\t\t\tattributes.avatarSize\n\t\t\t\t\t\t\t\t]\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\talt={ authorDetails.name }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t<div className=\"wp-block-post-author__content\">\n\t\t\t\t\t{ ( ! RichText.isEmpty( byline ) || isSelected ) && (\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-post-author__byline\"\n\t\t\t\t\t\t\tmultiline={ false }\n\t\t\t\t\t\t\taria-label={ __( 'Post author byline text' ) }\n\t\t\t\t\t\t\tplaceholder={ __( 'Write byline…' ) }\n\t\t\t\t\t\t\tvalue={ byline }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { byline: 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\t<p className=\"wp-block-post-author__name\">\n\t\t\t\t\t\t{ authorDetails?.name || __( 'Post Author' ) }\n\t\t\t\t\t</p>\n\t\t\t\t\t{ showBio && (\n\t\t\t\t\t\t<p className=\"wp-block-post-author__bio\">\n\t\t\t\t\t\t\t{ authorDetails?.description }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default PostAuthorEdit;\n"]}
@@ -68,7 +68,7 @@ function Content(props) {
68
68
  postId
69
69
  } = {}
70
70
  } = props;
71
- const isDescendentOfQueryLoop = !!queryId;
71
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
72
72
  const userCanEdit = useCanEditEntity('postType', postType, postId);
73
73
  const isEditable = userCanEdit && !isDescendentOfQueryLoop;
74
74
  return isEditable ? createElement(EditableContent, props) : createElement(ReadOnlyContent, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-content/edit.js"],"names":["__","useSelect","RawHTML","useBlockProps","useInnerBlocksProps","useSetting","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","Warning","useEntityProp","useEntityBlockEditor","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","rendered","EditableContent","layout","context","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","usedLayout","inherit","blocks","onInput","onChange","id","props","className","value","__experimentalLayout","undefined","Content","queryId","isDescendentOfQueryLoop","isEditable","Placeholder","RecursionError","PostContentEdit","attributes","contextPostId","contextPostType","hasAlreadyRendered","RecursionProvider"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { RawHTML } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div { ...blockProps }>\n\t\t\t<RawHTML key=\"html\">{ content?.rendered }</RawHTML>\n\t\t</div>\n\t);\n}\n\nfunction EditableContent( { layout, context = {} } ) {\n\tconst { postType, postId } = context;\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = !! layout && layout.inherit ? defaultLayout : layout;\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\t__experimentalLayout: themeSupportsLayout ? usedLayout : undefined,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst isDescendentOfQueryLoop = !! queryId;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>{ __( 'Post Content' ) }</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( { context, attributes } ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\tcontextPostId\n\t);\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-content/edit.js"],"names":["__","useSelect","RawHTML","useBlockProps","useInnerBlocksProps","useSetting","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","Warning","useEntityProp","useEntityBlockEditor","useCanEditEntity","ReadOnlyContent","userCanEdit","postType","postId","content","blockProps","protected","rendered","EditableContent","layout","context","themeSupportsLayout","select","getSettings","supportsLayout","defaultLayout","usedLayout","inherit","blocks","onInput","onChange","id","props","className","value","__experimentalLayout","undefined","Content","queryId","isDescendentOfQueryLoop","Number","isFinite","isEditable","Placeholder","RecursionError","PostContentEdit","attributes","contextPostId","contextPostType","hasAlreadyRendered","RecursionProvider"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { RawHTML } from '@wordpress/element';\nimport {\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tuseSetting,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { useEntityProp, useEntityBlockEditor } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nfunction ReadOnlyContent( { userCanEdit, postType, postId } ) {\n\tconst [ , , content ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'content',\n\t\tpostId\n\t);\n\tconst blockProps = useBlockProps();\n\treturn content?.protected && ! userCanEdit ? (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>{ __( 'This content is password protected.' ) }</Warning>\n\t\t</div>\n\t) : (\n\t\t<div { ...blockProps }>\n\t\t\t<RawHTML key=\"html\">{ content?.rendered }</RawHTML>\n\t\t</div>\n\t);\n}\n\nfunction EditableContent( { layout, context = {} } ) {\n\tconst { postType, postId } = context;\n\tconst themeSupportsLayout = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings()?.supportsLayout;\n\t}, [] );\n\tconst defaultLayout = useSetting( 'layout' ) || {};\n\tconst usedLayout = !! layout && layout.inherit ? defaultLayout : layout;\n\tconst [ blocks, onInput, onChange ] = useEntityBlockEditor(\n\t\t'postType',\n\t\tpostType,\n\t\t{ id: postId }\n\t);\n\n\tconst props = useInnerBlocksProps(\n\t\tuseBlockProps( { className: 'entry-content' } ),\n\t\t{\n\t\t\tvalue: blocks,\n\t\t\tonInput,\n\t\t\tonChange,\n\t\t\t__experimentalLayout: themeSupportsLayout ? usedLayout : undefined,\n\t\t}\n\t);\n\treturn <div { ...props } />;\n}\n\nfunction Content( props ) {\n\tconst { context: { queryId, postType, postId } = {} } = props;\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\n\treturn isEditable ? (\n\t\t<EditableContent { ...props } />\n\t) : (\n\t\t<ReadOnlyContent\n\t\t\tuserCanEdit={ userCanEdit }\n\t\t\tpostType={ postType }\n\t\t\tpostId={ postId }\n\t\t/>\n\t);\n}\n\nfunction Placeholder() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<p>{ __( 'Post Content' ) }</p>\n\t\t</div>\n\t);\n}\n\nfunction RecursionError() {\n\tconst blockProps = useBlockProps();\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t<Warning>\n\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t</Warning>\n\t\t</div>\n\t);\n}\n\nexport default function PostContentEdit( { context, attributes } ) {\n\tconst { postId: contextPostId, postType: contextPostType } = context;\n\tconst { layout = {} } = attributes;\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\tcontextPostId\n\t);\n\n\tif ( contextPostId && contextPostType && hasAlreadyRendered ) {\n\t\treturn <RecursionError />;\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t{ contextPostId && contextPostType ? (\n\t\t\t\t<Content context={ context } layout={ layout } />\n\t\t\t) : (\n\t\t\t\t<Placeholder />\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -30,7 +30,7 @@ export default function PostDateEdit(_ref) {
30
30
  },
31
31
  setAttributes
32
32
  } = _ref;
33
- const isDescendentOfQueryLoop = !!queryId;
33
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
34
34
  const [siteFormat] = useEntityProp('root', 'site', 'date_format');
35
35
  const [date, setDate] = useEntityProp('postType', postType, 'date', postId);
36
36
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["classnames","useEntityProp","useRef","__experimentalGetSettings","dateI18n","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","DateTimePicker","PanelBody","CustomSelectControl","__","sprintf","edit","DOWN","PostDateEdit","attributes","textAlign","format","isLink","context","postId","postType","queryId","setAttributes","isDescendentOfQueryLoop","siteFormat","date","setDate","settings","is12Hour","test","formats","time","toLowerCase","replace","split","reverse","join","formatOptions","Object","values","map","formatOption","key","name","resolvedFormat","blockProps","className","timeRef","postDate","event","preventDefault","nextAlign","anchorRef","current","isOpen","onToggle","openOnArrowDown","keyCode","selectedItem","find","option"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useRef } from '@wordpress/element';\nimport { __experimentalGetSettings, dateI18n } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tDateTimePicker,\n\tPanelBody,\n\tCustomSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink },\n\tcontext: { postId, postType, queryId },\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = !! queryId;\n\tconst [ siteFormat ] = useEntityProp( 'root', 'site', 'date_format' );\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'date',\n\t\tpostId\n\t);\n\tconst settings = __experimentalGetSettings();\n\t// To know if the current time format is a 12 hour time, look for \"a\".\n\t// Also make sure this \"a\" is not escaped by a \"/\".\n\tconst is12Hour = /a(?!\\\\)/i.test(\n\t\tsettings.formats.time\n\t\t\t.toLowerCase() // Test only for the lower case \"a\".\n\t\t\t.replace( /\\\\\\\\/g, '' ) // Replace \"//\" with empty strings.\n\t\t\t.split( '' )\n\t\t\t.reverse()\n\t\t\t.join( '' ) // Reverse the string and test for \"a\" not followed by a slash.\n\t);\n\tconst formatOptions = Object.values( settings.formats ).map(\n\t\t( formatOption ) => ( {\n\t\t\tkey: formatOption,\n\t\t\tname: dateI18n( formatOption, date ),\n\t\t} )\n\t);\n\tconst resolvedFormat = format || siteFormat || settings.formats.date;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst timeRef = useRef();\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ timeRef }>\n\t\t\t{ dateI18n( resolvedFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { anchorRef: timeRef.current } }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12Hour }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\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</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Format settings' ) }>\n\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\toptions={ formatOptions }\n\t\t\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tformat: selectedItem.key,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ formatOptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === resolvedFormat\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-date/edit.js"],"names":["classnames","useEntityProp","useRef","__experimentalGetSettings","dateI18n","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Dropdown","ToolbarGroup","ToolbarButton","ToggleControl","DateTimePicker","PanelBody","CustomSelectControl","__","sprintf","edit","DOWN","PostDateEdit","attributes","textAlign","format","isLink","context","postId","postType","queryId","setAttributes","isDescendentOfQueryLoop","Number","isFinite","siteFormat","date","setDate","settings","is12Hour","test","formats","time","toLowerCase","replace","split","reverse","join","formatOptions","Object","values","map","formatOption","key","name","resolvedFormat","blockProps","className","timeRef","postDate","event","preventDefault","nextAlign","anchorRef","current","isOpen","onToggle","openOnArrowDown","keyCode","selectedItem","find","option"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useRef } from '@wordpress/element';\nimport { __experimentalGetSettings, dateI18n } from '@wordpress/date';\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tToggleControl,\n\tDateTimePicker,\n\tPanelBody,\n\tCustomSelectControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { edit } from '@wordpress/icons';\nimport { DOWN } from '@wordpress/keycodes';\n\nexport default function PostDateEdit( {\n\tattributes: { textAlign, format, isLink },\n\tcontext: { postId, postType, queryId },\n\tsetAttributes,\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst [ siteFormat ] = useEntityProp( 'root', 'site', 'date_format' );\n\tconst [ date, setDate ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'date',\n\t\tpostId\n\t);\n\tconst settings = __experimentalGetSettings();\n\t// To know if the current time format is a 12 hour time, look for \"a\".\n\t// Also make sure this \"a\" is not escaped by a \"/\".\n\tconst is12Hour = /a(?!\\\\)/i.test(\n\t\tsettings.formats.time\n\t\t\t.toLowerCase() // Test only for the lower case \"a\".\n\t\t\t.replace( /\\\\\\\\/g, '' ) // Replace \"//\" with empty strings.\n\t\t\t.split( '' )\n\t\t\t.reverse()\n\t\t\t.join( '' ) // Reverse the string and test for \"a\" not followed by a slash.\n\t);\n\tconst formatOptions = Object.values( settings.formats ).map(\n\t\t( formatOption ) => ( {\n\t\t\tkey: formatOption,\n\t\t\tname: dateI18n( formatOption, date ),\n\t\t} )\n\t);\n\tconst resolvedFormat = format || siteFormat || settings.formats.date;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst timeRef = useRef();\n\n\tlet postDate = date ? (\n\t\t<time dateTime={ dateI18n( 'c', date ) } ref={ timeRef }>\n\t\t\t{ dateI18n( resolvedFormat, date ) }\n\t\t</time>\n\t) : (\n\t\t__( 'Post Date' )\n\t);\n\tif ( isLink && date ) {\n\t\tpostDate = (\n\t\t\t<a\n\t\t\t\thref=\"#post-date-pseudo-link\"\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ postDate }\n\t\t\t</a>\n\t\t);\n\t}\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\n\t\t\t\t{ date && ! isDescendentOfQueryLoop && (\n\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tpopoverProps={ { anchorRef: timeRef.current } }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<DateTimePicker\n\t\t\t\t\t\t\t\t\tcurrentDate={ date }\n\t\t\t\t\t\t\t\t\tonChange={ setDate }\n\t\t\t\t\t\t\t\t\tis12Hour={ is12Hour }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\tconst openOnArrowDown = ( event ) => {\n\t\t\t\t\t\t\t\t\tif ( ! isOpen && event.keyCode === DOWN ) {\n\t\t\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\t\t\tonToggle();\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\treturn (\n\t\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\t\t\ttitle={ __( 'Change Date' ) }\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tonKeyDown={ openOnArrowDown }\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</ToolbarGroup>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Format settings' ) }>\n\t\t\t\t\t<CustomSelectControl\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tlabel={ __( 'Date Format' ) }\n\t\t\t\t\t\toptions={ formatOptions }\n\t\t\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tformat: selectedItem.key,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ formatOptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === resolvedFormat\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>{ postDate }</div>\n\t\t</>\n\t);\n}\n"]}
@@ -33,7 +33,7 @@ export default function PostExcerptEditor(_ref) {
33
33
  queryId
34
34
  }
35
35
  } = _ref;
36
- const isDescendentOfQueryLoop = !!queryId;
36
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
37
37
  const userCanEdit = useCanEditEntity('postType', postType, postId);
38
38
  const isEditable = userCanEdit && !isDescendentOfQueryLoop;
39
39
  const [rawExcerpt, setExcerpt, {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["classnames","useEntityProp","useMemo","RawHTML","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","Disabled","__","useCanEditEntity","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","readMoreLink","newMoreText","excerptContent","newAlign","newShowMoreOnNewLine"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo, RawHTML } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, Disabled } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = !! queryId;\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn <div { ...blockProps }>{ __( 'Post Excerpt' ) }</div>;\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '\"Read more\" link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={\n\t\t\t\t! showMoreOnNewLine &&\n\t\t\t\t'wp-block-post-excerpt__excerpt is-inline'\n\t\t\t}\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\trawExcerpt ||\n\t\t\t\tstrippedRenderedExcerpt ||\n\t\t\t\t( isSelected ? '' : __( 'No post excerpt found' ) )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t/>\n\t) : (\n\t\t( renderedExcerpt && (\n\t\t\t<Disabled>\n\t\t\t\t<RawHTML key=\"html\">{ renderedExcerpt }</RawHTML>\n\t\t\t</Disabled>\n\t\t) ) ||\n\t\t__( 'No post excerpt found' )\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post Excerpt Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-excerpt/edit.js"],"names":["classnames","useEntityProp","useMemo","RawHTML","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","Disabled","__","useCanEditEntity","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","isEditable","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","blockProps","className","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","readMoreLink","newMoreText","excerptContent","newAlign","newShowMoreOnNewLine"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp } from '@wordpress/core-data';\nimport { useMemo, RawHTML } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, Disabled } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine },\n\tsetAttributes,\n\tisSelected,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst userCanEdit = useCanEditEntity( 'postType', postType, postId );\n\tconst isEditable = userCanEdit && ! isDescendentOfQueryLoop;\n\tconst [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\t/**\n\t * When excerpt is editable, strip the html tags from\n\t * rendered excerpt. This will be used if the entity's\n\t * excerpt has been produced from the content.\n\t */\n\tconst strippedRenderedExcerpt = useMemo( () => {\n\t\tif ( ! renderedExcerpt ) return '';\n\t\tconst document = new window.DOMParser().parseFromString(\n\t\t\trenderedExcerpt,\n\t\t\t'text/html'\n\t\t);\n\t\treturn document.body.textContent || document.body.innerText || '';\n\t}, [ renderedExcerpt ] );\n\tif ( ! postType || ! postId ) {\n\t\treturn <div { ...blockProps }>{ __( 'Post Excerpt' ) }</div>;\n\t}\n\tif ( isProtected && ! userCanEdit ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'There is no excerpt because this is a protected post.'\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\tconst readMoreLink = (\n\t\t<RichText\n\t\t\tclassName=\"wp-block-post-excerpt__more-link\"\n\t\t\ttagName=\"a\"\n\t\t\taria-label={ __( '\"Read more\" link text' ) }\n\t\t\tplaceholder={ __( 'Add \"read more\" link text' ) }\n\t\t\tvalue={ moreText }\n\t\t\tonChange={ ( newMoreText ) =>\n\t\t\t\tsetAttributes( { moreText: newMoreText } )\n\t\t\t}\n\t\t\twithoutInteractiveFormatting={ true }\n\t\t/>\n\t);\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={\n\t\t\t\t! showMoreOnNewLine &&\n\t\t\t\t'wp-block-post-excerpt__excerpt is-inline'\n\t\t\t}\n\t\t\taria-label={ __( 'Post excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\trawExcerpt ||\n\t\t\t\tstrippedRenderedExcerpt ||\n\t\t\t\t( isSelected ? '' : __( 'No post excerpt found' ) )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t/>\n\t) : (\n\t\t( renderedExcerpt && (\n\t\t\t<Disabled>\n\t\t\t\t<RawHTML key=\"html\">{ renderedExcerpt }</RawHTML>\n\t\t\t</Disabled>\n\t\t) ) ||\n\t\t__( 'No post excerpt found' )\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Post Excerpt Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Show link on new line' ) }\n\t\t\t\t\t\tchecked={ showMoreOnNewLine }\n\t\t\t\t\t\tonChange={ ( newShowMoreOnNewLine ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowMoreOnNewLine: newShowMoreOnNewLine,\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ excerptContent }\n\t\t\t\t{ ! showMoreOnNewLine && ' ' }\n\t\t\t\t{ showMoreOnNewLine ? (\n\t\t\t\t\t<p className=\"wp-block-post-excerpt__more-text\">\n\t\t\t\t\t\t{ readMoreLink }\n\t\t\t\t\t</p>\n\t\t\t\t) : (\n\t\t\t\t\treadMoreLink\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
@@ -41,7 +41,7 @@ function PostFeaturedImageDisplay(_ref) {
41
41
  queryId
42
42
  }
43
43
  } = _ref;
44
- const isDescendentOfQueryLoop = !!queryId;
44
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
45
45
  const {
46
46
  isLink,
47
47
  height,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__","sprintf","upload","SVG","Path","noticesStore","DimensionControls","placeholderIllustration","ALLOWED_MEDIA_TYPES","placeholderChip","PostFeaturedImageDisplay","attributes","setAttributes","context","postId","postType","queryId","isDescendentOfQueryLoop","isLink","height","width","scale","featuredImage","setFeaturedImage","media","select","getMedia","blockProps","style","placeholder","content","onSelectImage","value","id","createErrorNotice","onUploadError","message","type","image","label","open","source_url","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst placeholderIllustration = (\n\t<SVG\n\t\tclassName=\"components-placeholder__illustration\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t>\n\t\t<Path vectorEffect=\"non-scaling-stroke\" d=\"M60 60 0 0\" />\n\t</SVG>\n);\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst placeholderChip = (\n\t<div className=\"wp-block-post-featured-image__placeholder\">\n\t\t{ placeholderIllustration }\n\t</div>\n);\n\nfunction PostFeaturedImageDisplay( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = !! queryId;\n\tconst { isLink, height, width, scale } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder className=\"block-editor-media-placeholder\">\n\t\t\t\t{ placeholderIllustration }\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholderChip\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ media.source_url }\n\t\t\t\talt={ media.alt_text || __( 'Featured image' ) }\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ media.source_url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","__","sprintf","upload","SVG","Path","noticesStore","DimensionControls","placeholderIllustration","ALLOWED_MEDIA_TYPES","placeholderChip","PostFeaturedImageDisplay","attributes","setAttributes","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","featuredImage","setFeaturedImage","media","select","getMedia","blockProps","style","placeholder","content","onSelectImage","value","id","createErrorNotice","onUploadError","message","type","image","label","open","source_url","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst placeholderIllustration = (\n\t<SVG\n\t\tclassName=\"components-placeholder__illustration\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t>\n\t\t<Path vectorEffect=\"non-scaling-stroke\" d=\"M60 60 0 0\" />\n\t</SVG>\n);\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst placeholderChip = (\n\t<div className=\"wp-block-post-featured-image__placeholder\">\n\t\t{ placeholderIllustration }\n\t</div>\n);\n\nfunction PostFeaturedImageDisplay( {\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder className=\"block-editor-media-placeholder\">\n\t\t\t\t{ placeholderIllustration }\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholderChip\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ media.source_url }\n\t\t\t\talt={ media.alt_text || __( 'Featured image' ) }\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<DimensionControls\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ media.source_url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
@@ -37,7 +37,7 @@ export default function PostTitleEdit(_ref) {
37
37
  }
38
38
  } = _ref;
39
39
  const TagName = 0 === level ? 'p' : 'h' + level;
40
- const isDescendentOfQueryLoop = !!queryId;
40
+ const isDescendentOfQueryLoop = Number.isFinite(queryId);
41
41
  const userCanEdit = useCanEditEntity('postType', postType, postId);
42
42
  const [rawTitle = '', setTitle, fullTitle] = useEntityProp('postType', postType, 'title', postId);
43
43
  const [link] = useEntityProp('postType', postType, 'link', postId);