@wordpress/block-library 8.22.0 → 8.24.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/block/edit.js +11 -13
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +3 -4
- package/build/block/edit.native.js.map +1 -1
- package/build/button/edit.js +61 -9
- package/build/button/edit.js.map +1 -1
- package/build/code/transforms.js +20 -7
- package/build/code/transforms.js.map +1 -1
- package/build/column/edit.js +1 -1
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +1 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +1 -0
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -0
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/edit.js +1 -2
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +8 -9
- package/build/file/edit.js.map +1 -1
- package/build/file/view.js +4 -6
- package/build/file/view.js.map +1 -1
- package/build/form/index.js +1 -1
- package/build/form/index.js.map +1 -1
- package/build/form-submit-button/edit.js +2 -1
- package/build/form-submit-button/edit.js.map +1 -1
- package/build/gallery/gap-styles.js +12 -7
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/group/edit.js +4 -7
- package/build/group/edit.js.map +1 -1
- package/build/html/transforms.js +7 -2
- package/build/html/transforms.js.map +1 -1
- package/build/image/deprecated.js +8 -0
- package/build/image/deprecated.js.map +1 -1
- package/build/image/edit.js +17 -18
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +22 -15
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +35 -27
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -3
- package/build/image/index.js.map +1 -1
- package/build/image/view.js +234 -266
- package/build/image/view.js.map +1 -1
- package/build/missing/index.js +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -1
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +2 -1
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation/view.js +153 -176
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +1 -1
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +2 -1
- package/build/navigation-link/index.js.map +1 -1
- package/build/pattern/edit.js +2 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +0 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +21 -6
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-template/edit.js +2 -8
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-terms/edit.js +0 -2
- package/build/post-terms/edit.js.map +1 -1
- package/build/preformatted/transforms.js +1 -4
- package/build/preformatted/transforms.js.map +1 -1
- package/build/query/edit/query-content.js +1 -0
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/view.js +52 -60
- package/build/query/view.js.map +1 -1
- package/build/quote/index.js +6 -0
- package/build/quote/index.js.map +1 -1
- package/build/search/view.js +66 -74
- package/build/search/view.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -0
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +3 -7
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/index.js +6 -2
- package/build/template-part/index.js.map +1 -1
- package/build/template-part/variations.js +5 -1
- package/build/template-part/variations.js.map +1 -1
- package/build/utils/remove-anchor-tag.js +17 -0
- package/build/utils/remove-anchor-tag.js.map +1 -0
- package/build-module/block/edit.js +11 -13
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +3 -4
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/button/edit.js +65 -13
- package/build-module/button/edit.js.map +1 -1
- package/build-module/code/transforms.js +20 -7
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/column/edit.js +1 -1
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +1 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +1 -0
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/edit.js +1 -2
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +8 -9
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/view.js +5 -7
- package/build-module/file/view.js.map +1 -1
- package/build-module/form/index.js +1 -1
- package/build-module/form/index.js.map +1 -1
- package/build-module/form-submit-button/edit.js +2 -1
- package/build-module/form-submit-button/edit.js.map +1 -1
- package/build-module/gallery/gap-styles.js +13 -8
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/group/edit.js +4 -7
- package/build-module/group/edit.js.map +1 -1
- package/build-module/html/transforms.js +7 -2
- package/build-module/html/transforms.js.map +1 -1
- package/build-module/image/deprecated.js +8 -0
- package/build-module/image/deprecated.js.map +1 -1
- package/build-module/image/edit.js +18 -19
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +23 -16
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +36 -28
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -3
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/view.js +235 -267
- package/build-module/image/view.js.map +1 -1
- package/build-module/missing/index.js +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +2 -1
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation/view.js +154 -177
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +2 -2
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +2 -1
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/pattern/edit.js +2 -4
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +0 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +21 -6
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-template/edit.js +2 -8
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-terms/edit.js +0 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/preformatted/transforms.js +1 -4
- package/build-module/preformatted/transforms.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -0
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/view.js +53 -61
- package/build-module/query/view.js.map +1 -1
- package/build-module/quote/index.js +6 -0
- package/build-module/quote/index.js.map +1 -1
- package/build-module/search/view.js +67 -75
- package/build-module/search/view.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -0
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +5 -9
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/index.js +6 -2
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/template-part/variations.js +5 -1
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/utils/remove-anchor-tag.js +11 -0
- package/build-module/utils/remove-anchor-tag.js.map +1 -0
- package/build-style/cover/style-rtl.css +14 -14
- package/build-style/cover/style.css +14 -14
- package/build-style/editor-rtl.css +15 -6
- package/build-style/editor.css +15 -6
- package/build-style/gallery/style-rtl.css +28 -0
- package/build-style/gallery/style.css +28 -0
- package/build-style/image/style-rtl.css +19 -13
- package/build-style/image/style.css +19 -13
- package/build-style/post-featured-image/editor-rtl.css +9 -0
- package/build-style/post-featured-image/editor.css +9 -0
- package/build-style/quote/style-rtl.css +3 -0
- package/build-style/quote/style.css +3 -0
- package/build-style/read-more/style-rtl.css +2 -2
- package/build-style/read-more/style.css +2 -2
- package/build-style/style-rtl.css +66 -29
- package/build-style/style.css +66 -29
- package/package.json +32 -32
- package/src/block/edit.js +20 -20
- package/src/block/edit.native.js +5 -13
- package/src/button/edit.js +76 -10
- package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -6
- package/src/buttons/test/edit.native.js +0 -27
- package/src/code/transforms.js +14 -8
- package/src/column/edit.js +1 -1
- package/src/column/edit.native.js +1 -1
- package/src/comments/edit/comments-inspector-controls.js +1 -0
- package/src/cover/edit/index.js +1 -0
- package/src/cover/edit/inspector-controls.js +1 -0
- package/src/cover/style.scss +1 -1
- package/src/cover/test/edit.js +1 -1
- package/src/details/edit.js +0 -1
- package/src/editor.scss +6 -6
- package/src/file/edit.js +11 -10
- package/src/file/index.php +30 -11
- package/src/file/view.js +5 -7
- package/src/form/index.js +1 -1
- package/src/form-submit-button/edit.js +1 -0
- package/src/gallery/gap-styles.js +10 -9
- package/src/gallery/style.scss +1 -0
- package/src/group/edit.js +4 -11
- package/src/heading/test/__snapshots__/index.native.js.snap +6 -0
- package/src/heading/test/index.native.js +40 -0
- package/src/html/transforms.js +5 -2
- package/src/image/block.json +2 -3
- package/src/image/deprecated.js +8 -0
- package/src/image/edit.js +16 -21
- package/src/image/edit.native.js +17 -18
- package/src/image/image.js +48 -51
- package/src/image/index.php +57 -49
- package/src/image/style.scss +18 -13
- package/src/image/view.js +281 -324
- package/src/missing/block.json +1 -1
- package/src/navigation/edit/overlay-menu-preview.js +1 -1
- package/src/navigation/index.php +46 -402
- package/src/navigation/use-template-part-area-label.js +4 -2
- package/src/navigation/view.js +159 -192
- package/src/navigation-link/block.json +2 -1
- package/src/navigation-link/edit.js +2 -2
- package/src/navigation-link/index.php +57 -0
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +6 -0
- package/src/paragraph/test/edit.native.js +37 -1
- package/src/paragraph/test/transforms.native.js +1 -0
- package/src/pattern/edit.js +7 -4
- package/src/pattern/index.php +6 -1
- package/src/post-author/edit.js +0 -1
- package/src/post-featured-image/edit.js +38 -5
- package/src/post-featured-image/editor.scss +19 -0
- package/src/post-template/block.json +0 -1
- package/src/post-template/edit.js +1 -5
- package/src/post-terms/edit.js +0 -2
- package/src/preformatted/transforms.js +1 -4
- package/src/query/edit/query-content.js +1 -0
- package/src/query/index.php +42 -24
- package/src/query/view.js +58 -65
- package/src/query-pagination-next/index.php +3 -3
- package/src/query-pagination-numbers/index.php +1 -1
- package/src/query-pagination-previous/index.php +3 -3
- package/src/quote/block.json +6 -0
- package/src/quote/style.scss +4 -0
- package/src/read-more/style.scss +1 -1
- package/src/search/index.php +40 -40
- package/src/search/view.js +58 -63
- package/src/template-part/edit/advanced-controls.js +1 -0
- package/src/template-part/edit/index.js +7 -14
- package/src/template-part/index.js +4 -3
- package/src/template-part/index.php +4 -4
- package/src/template-part/variations.js +4 -2
- package/src/utils/remove-anchor-tag.js +10 -0
- package/tsconfig.json +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","useEntityProp","useSelect","select","getMedia","getPostType","coreStore","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","id","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","onClick","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\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\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\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\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ image }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_coreData","_data","_components","_blockEditor","_i18n","_icons","_notices","_dimensionControls","_overlay","ALLOWED_MEDIA_TYPES","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","disabledClickProps","onClick","event","preventDefault","PostFeaturedImageEdit","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","aspectRatio","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","useEntityProp","postPermalink","useSelect","select","getMedia","getPostType","getEditedEntityRecord","coreStore","link","mediaUrl","imageSizes","blockEditorStore","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","useBlockProps","style","borderProps","useBorderProps","placeholder","content","_react","createElement","Placeholder","className","classnames","withIllustration","onSelectImage","id","createErrorNotice","useDispatch","noticesStore","onUploadError","message","type","controls","Fragment","default","InspectorControls","PanelBody","title","__","ToggleControl","__nextHasNoMarginBottom","labels","singular_name","sprintf","onChange","checked","TextControl","newRel","image","href","target","imageStyles","objectFit","MediaPlaceholder","onSelect","accept","allowedTypes","onError","mediaLibraryButton","open","Button","icon","upload","variant","showTooltip","tooltipPosition","src","alt","alt_text","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","MenuItem"],"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\nimport Overlay from './overlay';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nconst disabledClickProps = {\n\tonClick: ( event ) => event.preventDefault(),\n\t'aria-disabled': true,\n};\n\nexport default function PostFeaturedImageEdit( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst {\n\t\tisLink,\n\t\taspectRatio,\n\t\theight,\n\t\twidth,\n\t\tscale,\n\t\tsizeSlug,\n\t\trel,\n\t\tlinkTarget,\n\t} = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType, postPermalink } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t\tpostPermalink: getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\tpostId\n\t\t\t\t)?.link,\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug, postId ]\n\t);\n\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height, aspectRatio },\n\t} );\n\tconst borderProps = useBorderProps( attributes );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-media-placeholder',\n\t\t\t\t\tborderProps.className\n\t\t\t\t) }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\theight: !! aspectRatio && '100%',\n\t\t\t\t\twidth: !! aspectRatio && '100%',\n\t\t\t\t\t...borderProps.style,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"Page\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\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\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\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</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\n\t/**\n\t * A Post Featured Image block should not have image replacement\n\t * or upload options in the following cases:\n\t * - Is placed in a Query Loop. This is a consious decision to\n\t * prevent content editing of different posts in Query Loop, and\n\t * this could change in the future.\n\t * - Is in a context where it does not have a postId (for example\n\t * in a template or template part).\n\t */\n\tif ( ! featuredImage && ( isDescendentOfQueryLoop || ! postId ) ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t\t<a\n\t\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ placeholder() }\n\t\t\t\t\t\t</a>\n\t\t\t\t\t) : (\n\t\t\t\t\t\tplaceholder()\n\t\t\t\t\t) }\n\t\t\t\t\t<Overlay\n\t\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\tconst imageStyles = {\n\t\t...borderProps.style,\n\t\theight: aspectRatio ? '100%' : height,\n\t\twidth: !! aspectRatio && '100%',\n\t\tobjectFit: !! ( height || aspectRatio ) && scale,\n\t};\n\n\t/**\n\t * When the post featured image block is placed in a context where:\n\t * - It has a postId (for example in a single post)\n\t * - It is not inside a query loop\n\t * - It has no image assigned yet\n\t * Then display the placeholder with the image upload option.\n\t */\n\tif ( ! featuredImage ) {\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\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tclassName={ borderProps.className }\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ imageStyles }\n\t\t\t/>\n\t\t);\n\t}\n\n\t/**\n\t * When the post featured image block:\n\t * - Has an image assigned\n\t * - Is not inside a query loop\n\t * Then display the image and the image replacement option.\n\t */\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>\n\t\t\t\t{ /* If the featured image is linked, wrap in an <a /> tag to trigger any inherited link element styles */ }\n\t\t\t\t{ !! isLink ? (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref={ postPermalink }\n\t\t\t\t\t\ttarget={ linkTarget }\n\t\t\t\t\t\t{ ...disabledClickProps }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ image }\n\t\t\t\t\t</a>\n\t\t\t\t) : (\n\t\t\t\t\timage\n\t\t\t\t) }\n\t\t\t\t<Overlay\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t</figure>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -89,9 +89,6 @@ function PostTemplateEdit({
|
|
|
89
89
|
// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.
|
|
90
90
|
...restQueryArgs
|
|
91
91
|
} = {},
|
|
92
|
-
queryContext = [{
|
|
93
|
-
page: 1
|
|
94
|
-
}],
|
|
95
92
|
templateSlug,
|
|
96
93
|
previewPostType
|
|
97
94
|
},
|
|
@@ -104,9 +101,6 @@ function PostTemplateEdit({
|
|
|
104
101
|
type: layoutType,
|
|
105
102
|
columnCount = 3
|
|
106
103
|
} = layout || {};
|
|
107
|
-
const [{
|
|
108
|
-
page
|
|
109
|
-
}] = queryContext;
|
|
110
104
|
const [activeBlockContextId, setActiveBlockContextId] = (0, _element.useState)();
|
|
111
105
|
const {
|
|
112
106
|
posts,
|
|
@@ -131,7 +125,7 @@ function PostTemplateEdit({
|
|
|
131
125
|
slug: templateSlug.replace('category-', '')
|
|
132
126
|
});
|
|
133
127
|
const query = {
|
|
134
|
-
offset:
|
|
128
|
+
offset: offset || 0,
|
|
135
129
|
order,
|
|
136
130
|
orderby: orderBy
|
|
137
131
|
};
|
|
@@ -193,7 +187,7 @@ function PostTemplateEdit({
|
|
|
193
187
|
}),
|
|
194
188
|
blocks: getBlocks(clientId)
|
|
195
189
|
};
|
|
196
|
-
}, [perPage,
|
|
190
|
+
}, [perPage, offset, order, orderBy, clientId, author, search, postType, exclude, sticky, inherit, templateSlug, taxQuery, parents, restQueryArgs, previewPostType]);
|
|
197
191
|
const blockContexts = (0, _element.useMemo)(() => posts?.map(post => ({
|
|
198
192
|
postType: post.type,
|
|
199
193
|
postId: post.id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_i18n","_blockEditor","_components","_coreData","_icons","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","useInnerBlocksProps","className","template","__unstableDisableLayoutClassNames","_react","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","useBlockPreview","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","memo","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","restQueryArgs","queryContext","page","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","useState","posts","useSelect","select","getEntityRecords","getTaxonomies","coreStore","getBlocks","blockEditorStore","taxonomies","per_page","templateCategory","startsWith","_fields","slug","replace","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","useMemo","map","post","postId","blockProps","useBlockProps","classnames","Spinner","__","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","list","title","isActive","grid","Fragment","BlockControls","ToolbarGroup","controls","blockContext","BlockContextProvider","key","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-post' },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: 'wp-block-post',\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\tqueryContext = [ { page: 1 } ],\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\n\tconst [ { page } ] = queryContext;\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage * ( page - 1 ) + offset : 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\tpage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_i18n","_blockEditor","_components","_coreData","_icons","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","useInnerBlocksProps","className","template","__unstableDisableLayoutClassNames","_react","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","useBlockPreview","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","memo","PostTemplateEdit","setAttributes","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","parents","pages","restQueryArgs","templateSlug","previewPostType","attributes","layout","__unstableLayoutClassNames","type","layoutType","columnCount","activeBlockContextId","useState","posts","useSelect","select","getEntityRecords","getTaxonomies","coreStore","getBlocks","blockEditorStore","taxonomies","per_page","templateCategory","startsWith","_fields","slug","replace","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","useMemo","map","post","postId","blockProps","useBlockProps","classnames","Spinner","__","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","list","title","isActive","grid","Fragment","BlockControls","ToolbarGroup","controls","blockContext","BlockContextProvider","key","value"],"sources":["@wordpress/block-library/src/post-template/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockControls,\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner, ToolbarGroup } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { list, grid } from '@wordpress/icons';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-post' },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: 'wp-block-post',\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tsetAttributes,\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset = 0,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\tpages,\n\t\t\t// We gather extra query args to pass to the REST API call.\n\t\t\t// This way extenders of Query Loop can add their own query args,\n\t\t\t// and have accurate previews in the editor.\n\t\t\t// Noting though that these args should either be supported by the\n\t\t\t// REST API or be handled by custom REST filters like `rest_{$this->post_type}_query`.\n\t\t\t...restQueryArgs\n\t\t} = {},\n\t\ttemplateSlug,\n\t\tpreviewPostType,\n\t},\n\tattributes: { layout },\n\t__unstableLayoutClassNames,\n} ) {\n\tconst { type: layoutType, columnCount = 3 } = layout || {};\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst templateCategory =\n\t\t\t\tinherit &&\n\t\t\t\ttemplateSlug?.startsWith( 'category-' ) &&\n\t\t\t\tgetEntityRecords( 'taxonomy', 'category', {\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t\tper_page: 1,\n\t\t\t\t\t_fields: [ 'id' ],\n\t\t\t\t\tslug: templateSlug.replace( 'category-', '' ),\n\t\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: offset || 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\t// There is no need to build the taxQuery if we inherit.\n\t\t\tif ( taxQuery && ! inherit ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\tif ( parents?.length ) {\n\t\t\t\tquery.parent = parents;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t} else if ( templateCategory ) {\n\t\t\t\t\tquery.categories = templateCategory[ 0 ]?.id;\n\t\t\t\t}\n\t\t\t}\n\t\t\t// When we preview Query Loop blocks we should prefer the current\n\t\t\t// block's postType, which is passed through block context.\n\t\t\tconst usedPostType = previewPostType || postType;\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', usedPostType, {\n\t\t\t\t\t...query,\n\t\t\t\t\t...restQueryArgs,\n\t\t\t\t} ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t\tparents,\n\t\t\trestQueryArgs,\n\t\t\tpreviewPostType,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( __unstableLayoutClassNames, {\n\t\t\t[ `columns-${ columnCount }` ]:\n\t\t\t\tlayoutType === 'grid' && columnCount, // Ensure column count is flagged via classname for backwards compatibility.\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\tconst setDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tlayout: { ...layout, ...newDisplayLayout },\n\t\t} );\n\n\tconst displayLayoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setDisplayLayout( { type: 'default' } ),\n\t\t\tisActive: layoutType === 'default' || layoutType === 'constrained',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () =>\n\t\t\t\tsetDisplayLayout( {\n\t\t\t\t\ttype: 'grid',\n\t\t\t\t\tcolumnCount,\n\t\t\t\t} ),\n\t\t\tisActive: layoutType === 'grid',\n\t\t},\n\t];\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ displayLayoutControls } />\n\t\t\t</BlockControls>\n\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ blockContexts &&\n\t\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\t\tsetActiveBlockContextId={\n\t\t\t\t\t\t\t\t\tsetActiveBlockContextId\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t\t) ) }\n\t\t\t</ul>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -24,7 +24,7 @@ const metadata = {
|
|
|
24
24
|
parent: ["core/query"],
|
|
25
25
|
description: "Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.",
|
|
26
26
|
textdomain: "default",
|
|
27
|
-
usesContext: ["queryId", "query", "
|
|
27
|
+
usesContext: ["queryId", "query", "displayLayout", "templateSlug", "previewPostType", "enhancedPagination"],
|
|
28
28
|
supports: {
|
|
29
29
|
reusable: false,
|
|
30
30
|
html: false,
|
package/build/post-terms/edit.js
CHANGED
|
@@ -97,7 +97,6 @@ function PostTermsEdit({
|
|
|
97
97
|
}, isLoading && hasPost && (0, _react.createElement)(_components.Spinner, null), !isLoading && (isSelected || prefix) && (0, _react.createElement)(_blockEditor.RichText, {
|
|
98
98
|
allowedFormats: ALLOWED_FORMATS,
|
|
99
99
|
className: "wp-block-post-terms__prefix",
|
|
100
|
-
multiline: false,
|
|
101
100
|
"aria-label": (0, _i18n.__)('Prefix'),
|
|
102
101
|
placeholder: (0, _i18n.__)('Prefix') + ' ',
|
|
103
102
|
value: prefix,
|
|
@@ -114,7 +113,6 @@ function PostTermsEdit({
|
|
|
114
113
|
}, separator || ' '), curr)), hasPost && !isLoading && !hasPostTerms && (selectedTerm?.labels?.no_terms || (0, _i18n.__)('Term items not found.')), !isLoading && (isSelected || suffix) && (0, _react.createElement)(_blockEditor.RichText, {
|
|
115
114
|
allowedFormats: ALLOWED_FORMATS,
|
|
116
115
|
className: "wp-block-post-terms__suffix",
|
|
117
|
-
multiline: false,
|
|
118
116
|
"aria-label": (0, _i18n.__)('Suffix'),
|
|
119
117
|
placeholder: ' ' + (0, _i18n.__)('Suffix'),
|
|
120
118
|
value: suffix,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_blocks","_components","_data","_htmlEntities","_i18n","_coreData","_usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","useSelect","select","getTaxonomy","coreStore","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","usePostTerms","hasPost","blockInformation","useBlockDisplayInformation","blockProps","useBlockProps","className","classnames","_react","createElement","Fragment","BlockControls","AlignmentToolbar","value","onChange","nextAlign","InspectorControls","group","TextControl","__nextHasNoMarginBottom","autoComplete","label","__","nextValue","help","Spinner","RichText","allowedFormats","
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_blocks","_components","_data","_htmlEntities","_i18n","_coreData","_usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","useSelect","select","getTaxonomy","coreStore","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","usePostTerms","hasPost","blockInformation","useBlockDisplayInformation","blockProps","useBlockProps","className","classnames","_react","createElement","Fragment","BlockControls","AlignmentToolbar","value","onChange","nextAlign","InspectorControls","group","TextControl","__nextHasNoMarginBottom","autoComplete","label","__","nextValue","help","Spinner","RichText","allowedFormats","placeholder","tagName","title","map","postTerm","key","id","href","link","onClick","event","preventDefault","decodeEntities","name","reduce","prev","curr","labels","no_terms","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName"],"sources":["@wordpress/block-library/src/post-terms/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\n// Allowed formats for the prefix and suffix fields.\nconst ALLOWED_FORMATS = [\n\t'core/bold',\n\t'core/image',\n\t'core/italic',\n\t'core/link',\n\t'core/strikethrough',\n\t'core/text-color',\n];\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { term, textAlign, separator, prefix, suffix } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\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={ ( 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\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && hasPost && <Spinner /> }\n\t\t\t\t{ ! isLoading && ( isSelected || prefix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__prefix\"\n\t\t\t\t\t\taria-label={ __( 'Prefix' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Prefix' ) + ' ' }\n\t\t\t\t\t\tvalue={ prefix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { prefix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ( ! hasPost || ! term ) && (\n\t\t\t\t\t<span>{ blockInformation.title }</span>\n\t\t\t\t) }\n\t\t\t\t{ hasPost &&\n\t\t\t\t\t! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ decodeEntities( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ hasPost &&\n\t\t\t\t\t! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t\t{ ! isLoading && ( isSelected || suffix ) && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tallowedFormats={ ALLOWED_FORMATS }\n\t\t\t\t\t\tclassName=\"wp-block-post-terms__suffix\"\n\t\t\t\t\t\taria-label={ __( 'Suffix' ) }\n\t\t\t\t\t\tplaceholder={ ' ' + __( 'Suffix' ) }\n\t\t\t\t\t\tvalue={ suffix }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { suffix: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttagName=\"span\"\n\t\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\t\tinsertBlocksAfter(\n\t\t\t\t\t\t\t\tcreateBlock( getDefaultBlockName() )\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</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -34,10 +34,7 @@ const transforms = {
|
|
|
34
34
|
to: [{
|
|
35
35
|
type: 'block',
|
|
36
36
|
blocks: ['core/paragraph'],
|
|
37
|
-
transform: attributes => (0, _blocks.createBlock)('core/paragraph',
|
|
38
|
-
...attributes,
|
|
39
|
-
content: attributes.content.replace(/\n/g, '<br>')
|
|
40
|
-
})
|
|
37
|
+
transform: attributes => (0, _blocks.createBlock)('core/paragraph', attributes)
|
|
41
38
|
}, {
|
|
42
39
|
type: 'block',
|
|
43
40
|
blocks: ['core/code'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","transforms","from","type","blocks","transform","content","anchor","createBlock","isMatch","node","nodeName","children","length","firstChild","schema","phrasingContentSchema","pre","to","attributes","
|
|
1
|
+
{"version":3,"names":["_blocks","require","transforms","from","type","blocks","transform","content","anchor","createBlock","isMatch","node","nodeName","children","length","firstChild","schema","phrasingContentSchema","pre","to","attributes","_default","exports","default"],"sources":["@wordpress/block-library/src/preformatted/transforms.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/code', 'core/paragraph' ],\n\t\t\ttransform: ( { content, anchor } ) =>\n\t\t\t\tcreateBlock( 'core/preformatted', {\n\t\t\t\t\tcontent,\n\t\t\t\t\tanchor,\n\t\t\t\t} ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tisMatch: ( node ) =>\n\t\t\t\tnode.nodeName === 'PRE' &&\n\t\t\t\t! (\n\t\t\t\t\tnode.children.length === 1 &&\n\t\t\t\t\tnode.firstChild.nodeName === 'CODE'\n\t\t\t\t),\n\t\t\tschema: ( { phrasingContentSchema } ) => ( {\n\t\t\t\tpre: {\n\t\t\t\t\tchildren: phrasingContentSchema,\n\t\t\t\t},\n\t\t\t} ),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/paragraph' ],\n\t\t\ttransform: ( attributes ) =>\n\t\t\t\tcreateBlock( 'core/paragraph', attributes ),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/code' ],\n\t\t\ttransform: ( attributes ) => createBlock( 'core/code', attributes ),\n\t\t},\n\t],\n};\n\nexport default transforms;\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAHA;AACA;AACA;;AAGA,MAAMC,UAAU,GAAG;EAClBC,IAAI,EAAE,CACL;IACCC,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,CAAE,WAAW,EAAE,gBAAgB,CAAE;IACzCC,SAAS,EAAEA,CAAE;MAAEC,OAAO;MAAEC;IAAO,CAAC,KAC/B,IAAAC,mBAAW,EAAE,mBAAmB,EAAE;MACjCF,OAAO;MACPC;IACD,CAAE;EACJ,CAAC,EACD;IACCJ,IAAI,EAAE,KAAK;IACXM,OAAO,EAAIC,IAAI,IACdA,IAAI,CAACC,QAAQ,KAAK,KAAK,IACvB,EACCD,IAAI,CAACE,QAAQ,CAACC,MAAM,KAAK,CAAC,IAC1BH,IAAI,CAACI,UAAU,CAACH,QAAQ,KAAK,MAAM,CACnC;IACFI,MAAM,EAAEA,CAAE;MAAEC;IAAsB,CAAC,MAAQ;MAC1CC,GAAG,EAAE;QACJL,QAAQ,EAAEI;MACX;IACD,CAAC;EACF,CAAC,CACD;EACDE,EAAE,EAAE,CACH;IACCf,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,CAAE,gBAAgB,CAAE;IAC5BC,SAAS,EAAIc,UAAU,IACtB,IAAAX,mBAAW,EAAE,gBAAgB,EAAEW,UAAW;EAC5C,CAAC,EACD;IACChB,IAAI,EAAE,OAAO;IACbC,MAAM,EAAE,CAAE,WAAW,CAAE;IACvBC,SAAS,EAAIc,UAAU,IAAM,IAAAX,mBAAW,EAAE,WAAW,EAAEW,UAAW;EACnE,CAAC;AAEH,CAAC;AAAC,IAAAC,QAAA,GAEanB,UAAU;AAAAoB,OAAA,CAAAC,OAAA,GAAAF,QAAA"}
|
|
@@ -135,6 +135,7 @@ function QueryContent({
|
|
|
135
135
|
group: "advanced"
|
|
136
136
|
}, (0, _react.createElement)(_components.SelectControl, {
|
|
137
137
|
__nextHasNoMarginBottom: true,
|
|
138
|
+
__next40pxDefaultSize: true,
|
|
138
139
|
label: (0, _i18n.__)('HTML element'),
|
|
139
140
|
options: [{
|
|
140
141
|
label: (0, _i18n.__)('Default (<div>)'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_queryToolbar","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","inherit","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","canUser","coreStore","settingPerPage","posts_per_page","useEffect","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","htmlElementMessages","main","__","section","aside","_react","createElement","Fragment","default","setQuery","setDisplayLayout","BlockControls","InspectorControls","group","SelectControl","__nextHasNoMarginBottom","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, canUser } = select( coreStore );\n\t\tconst settingPerPage = canUser( 'read', 'settings' )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\t\treturn {\n\t\t\tpostsPerPage: settingPerPage || DEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage, postsPerPage, inherit ] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\tconst htmlElementMessages = {\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_data","require","_compose","_element","_blockEditor","_components","_i18n","_coreData","_queryToolbar","_interopRequireDefault","_inspectorControls","_enhancedPaginationModal","DEFAULTS_POSTS_PER_PAGE","TEMPLATE","QueryContent","attributes","setAttributes","openPatternSelectionModal","name","clientId","queryId","query","displayLayout","tagName","TagName","inherit","__unstableMarkNextChangeAsNotPersistent","useDispatch","blockEditorStore","instanceId","useInstanceId","blockProps","useBlockProps","innerBlocksProps","useInnerBlocksProps","template","postsPerPage","useSelect","select","getSettings","getEntityRecord","canUser","coreStore","settingPerPage","posts_per_page","useEffect","newQuery","perPage","Object","keys","length","updateQuery","Number","isFinite","updateDisplayLayout","newDisplayLayout","htmlElementMessages","main","__","section","aside","_react","createElement","Fragment","default","setQuery","setDisplayLayout","BlockControls","InspectorControls","group","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onChange","help"],"sources":["@wordpress/block-library/src/query/edit/query-content.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { useEffect } from '@wordpress/element';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\tuseInnerBlocksProps,\n} from '@wordpress/block-editor';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport QueryToolbar from './query-toolbar';\nimport QueryInspectorControls from './inspector-controls';\nimport EnhancedPaginationModal from './enhanced-pagination-modal';\n\nconst DEFAULTS_POSTS_PER_PAGE = 3;\n\nconst TEMPLATE = [ [ 'core/post-template' ] ];\nexport default function QueryContent( {\n\tattributes,\n\tsetAttributes,\n\topenPatternSelectionModal,\n\tname,\n\tclientId,\n} ) {\n\tconst {\n\t\tqueryId,\n\t\tquery,\n\t\tdisplayLayout,\n\t\ttagName: TagName = 'div',\n\t\tquery: { inherit } = {},\n\t} = attributes;\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst instanceId = useInstanceId( QueryContent );\n\tconst blockProps = useBlockProps();\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\ttemplate: TEMPLATE,\n\t} );\n\tconst { postsPerPage } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst { getEntityRecord, canUser } = select( coreStore );\n\t\tconst settingPerPage = canUser( 'read', 'settings' )\n\t\t\t? +getEntityRecord( 'root', 'site' )?.posts_per_page\n\t\t\t: +getSettings().postsPerPage;\n\t\treturn {\n\t\t\tpostsPerPage: settingPerPage || DEFAULTS_POSTS_PER_PAGE,\n\t\t};\n\t}, [] );\n\t// There are some effects running where some initialization logic is\n\t// happening and setting some values to some attributes (ex. queryId).\n\t// These updates can cause an `undo trap` where undoing will result in\n\t// resetting again, so we need to mark these changes as not persistent\n\t// with `__unstableMarkNextChangeAsNotPersistent`.\n\n\t// Changes in query property (which is an object) need to be in the same callback,\n\t// because updates are batched after the render and changes in different query properties\n\t// would cause to override previous wanted changes.\n\tuseEffect( () => {\n\t\tconst newQuery = {};\n\t\t// When we inherit from global query always need to set the `perPage`\n\t\t// based on the reading settings.\n\t\tif ( inherit && query.perPage !== postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t} else if ( ! query.perPage && postsPerPage ) {\n\t\t\tnewQuery.perPage = postsPerPage;\n\t\t}\n\t\tif ( !! Object.keys( newQuery ).length ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tupdateQuery( newQuery );\n\t\t}\n\t}, [ query.perPage, postsPerPage, inherit ] );\n\t// We need this for multi-query block pagination.\n\t// Query parameters for each block are scoped to their ID.\n\tuseEffect( () => {\n\t\tif ( ! Number.isFinite( queryId ) ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { queryId: instanceId } );\n\t\t}\n\t}, [ queryId, instanceId ] );\n\tconst updateQuery = ( newQuery ) =>\n\t\tsetAttributes( { query: { ...query, ...newQuery } } );\n\tconst updateDisplayLayout = ( newDisplayLayout ) =>\n\t\tsetAttributes( {\n\t\t\tdisplayLayout: { ...displayLayout, ...newDisplayLayout },\n\t\t} );\n\tconst htmlElementMessages = {\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<EnhancedPaginationModal\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<QueryInspectorControls\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\tsetDisplayLayout={ updateDisplayLayout }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tclientId={ clientId }\n\t\t\t/>\n\t\t\t<BlockControls>\n\t\t\t\t<QueryToolbar\n\t\t\t\t\tname={ name }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetQuery={ updateQuery }\n\t\t\t\t\topenPatternSelectionModal={ openPatternSelectionModal }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ TagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ TagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<TagName { ...innerBlocksProps } />\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
package/build/query/view.js
CHANGED
|
@@ -15,76 +15,68 @@ const isValidEvent = event => event.button === 0 &&
|
|
|
15
15
|
!event.altKey &&
|
|
16
16
|
// Download.
|
|
17
17
|
!event.shiftKey && !event.defaultPrevented;
|
|
18
|
-
(0, _interactivity.store)({
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
finishAnimation: ({
|
|
26
|
-
context
|
|
27
|
-
}) => context.core.query.animation === 'finish'
|
|
28
|
-
}
|
|
18
|
+
(0, _interactivity.store)('core/query', {
|
|
19
|
+
state: {
|
|
20
|
+
get startAnimation() {
|
|
21
|
+
return (0, _interactivity.getContext)().animation === 'start';
|
|
22
|
+
},
|
|
23
|
+
get finishAnimation() {
|
|
24
|
+
return (0, _interactivity.getContext)().animation === 'finish';
|
|
29
25
|
}
|
|
30
26
|
},
|
|
31
27
|
actions: {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
event.preventDefault();
|
|
42
|
-
const id = ref.closest('[data-wp-navigation-id]').dataset.wpNavigationId;
|
|
28
|
+
*navigate(event) {
|
|
29
|
+
const ctx = (0, _interactivity.getContext)();
|
|
30
|
+
const {
|
|
31
|
+
ref
|
|
32
|
+
} = (0, _interactivity.getElement)();
|
|
33
|
+
const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
|
|
34
|
+
if (isValidLink(ref) && isValidEvent(event) && !isDisabled) {
|
|
35
|
+
event.preventDefault();
|
|
36
|
+
const id = ref.closest('[data-wp-navigation-id]').dataset.wpNavigationId;
|
|
43
37
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
38
|
+
// Don't announce the navigation immediately, wait 400 ms.
|
|
39
|
+
const timeout = setTimeout(() => {
|
|
40
|
+
ctx.message = ctx.loadingText;
|
|
41
|
+
ctx.animation = 'start';
|
|
42
|
+
}, 400);
|
|
43
|
+
yield (0, _interactivity.navigate)(ref.href);
|
|
50
44
|
|
|
51
|
-
|
|
52
|
-
|
|
45
|
+
// Dismiss loading message if it hasn't been added yet.
|
|
46
|
+
clearTimeout(timeout);
|
|
53
47
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
48
|
+
// Announce that the page has been loaded. If the message is the
|
|
49
|
+
// same, we use a no-break space similar to the @wordpress/a11y
|
|
50
|
+
// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26
|
|
51
|
+
ctx.message = ctx.loadedText + (ctx.message === ctx.loadedText ? '\u00A0' : '');
|
|
52
|
+
ctx.animation = 'finish';
|
|
53
|
+
ctx.url = ref.href;
|
|
60
54
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
}
|
|
55
|
+
// Focus the first anchor of the Query block.
|
|
56
|
+
const firstAnchor = `[data-wp-navigation-id=${id}] .wp-block-post-template a[href]`;
|
|
57
|
+
document.querySelector(firstAnchor)?.focus();
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
*prefetch() {
|
|
61
|
+
const {
|
|
62
|
+
ref
|
|
63
|
+
} = (0, _interactivity.getElement)();
|
|
64
|
+
const isDisabled = ref.closest('[data-wp-navigation-id]')?.dataset.wpNavigationDisabled;
|
|
65
|
+
if (isValidLink(ref) && !isDisabled) {
|
|
66
|
+
yield (0, _interactivity.prefetch)(ref.href);
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
69
|
},
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
}
|
|
70
|
+
callbacks: {
|
|
71
|
+
*prefetch() {
|
|
72
|
+
const {
|
|
73
|
+
url
|
|
74
|
+
} = (0, _interactivity.getContext)();
|
|
75
|
+
const {
|
|
76
|
+
ref
|
|
77
|
+
} = (0, _interactivity.getElement)();
|
|
78
|
+
if (url && isValidLink(ref)) {
|
|
79
|
+
yield (0, _interactivity.prefetch)(ref.href);
|
|
88
80
|
}
|
|
89
81
|
}
|
|
90
82
|
}
|
package/build/query/view.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_interactivity","require","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","store","
|
|
1
|
+
{"version":3,"names":["_interactivity","require","isValidLink","ref","window","HTMLAnchorElement","href","target","origin","location","isValidEvent","event","button","metaKey","ctrlKey","altKey","shiftKey","defaultPrevented","store","state","startAnimation","getContext","animation","finishAnimation","actions","navigate","ctx","getElement","isDisabled","closest","dataset","wpNavigationDisabled","preventDefault","id","wpNavigationId","timeout","setTimeout","message","loadingText","clearTimeout","loadedText","url","firstAnchor","document","querySelector","focus","prefetch","callbacks"],"sources":["@wordpress/block-library/src/query/view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore,\n\tgetContext,\n\tgetElement,\n\tnavigate,\n\tprefetch,\n} from '@wordpress/interactivity';\n\nconst isValidLink = ( ref ) =>\n\tref &&\n\tref instanceof window.HTMLAnchorElement &&\n\tref.href &&\n\t( ! ref.target || ref.target === '_self' ) &&\n\tref.origin === window.location.origin;\n\nconst isValidEvent = ( event ) =>\n\tevent.button === 0 && // Left clicks only.\n\t! event.metaKey && // Open in new tab (Mac).\n\t! event.ctrlKey && // Open in new tab (Windows).\n\t! event.altKey && // Download.\n\t! event.shiftKey &&\n\t! event.defaultPrevented;\n\nstore( 'core/query', {\n\tstate: {\n\t\tget startAnimation() {\n\t\t\treturn getContext().animation === 'start';\n\t\t},\n\t\tget finishAnimation() {\n\t\t\treturn getContext().animation === 'finish';\n\t\t},\n\t},\n\tactions: {\n\t\t*navigate( event ) {\n\t\t\tconst ctx = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\n\t\t\tif ( isValidLink( ref ) && isValidEvent( event ) && ! isDisabled ) {\n\t\t\t\tevent.preventDefault();\n\n\t\t\t\tconst id = ref.closest( '[data-wp-navigation-id]' ).dataset\n\t\t\t\t\t.wpNavigationId;\n\n\t\t\t\t// Don't announce the navigation immediately, wait 400 ms.\n\t\t\t\tconst timeout = setTimeout( () => {\n\t\t\t\t\tctx.message = ctx.loadingText;\n\t\t\t\t\tctx.animation = 'start';\n\t\t\t\t}, 400 );\n\n\t\t\t\tyield navigate( ref.href );\n\n\t\t\t\t// Dismiss loading message if it hasn't been added yet.\n\t\t\t\tclearTimeout( timeout );\n\n\t\t\t\t// Announce that the page has been loaded. If the message is the\n\t\t\t\t// same, we use a no-break space similar to the @wordpress/a11y\n\t\t\t\t// package: https://github.com/WordPress/gutenberg/blob/c395242b8e6ee20f8b06c199e4fc2920d7018af1/packages/a11y/src/filter-message.js#L20-L26\n\t\t\t\tctx.message =\n\t\t\t\t\tctx.loadedText +\n\t\t\t\t\t( ctx.message === ctx.loadedText ? '\\u00A0' : '' );\n\n\t\t\t\tctx.animation = 'finish';\n\t\t\t\tctx.url = ref.href;\n\n\t\t\t\t// Focus the first anchor of the Query block.\n\t\t\t\tconst firstAnchor = `[data-wp-navigation-id=${ id }] .wp-block-post-template a[href]`;\n\t\t\t\tdocument.querySelector( firstAnchor )?.focus();\n\t\t\t}\n\t\t},\n\t\t*prefetch() {\n\t\t\tconst { ref } = getElement();\n\t\t\tconst isDisabled = ref.closest( '[data-wp-navigation-id]' )?.dataset\n\t\t\t\t.wpNavigationDisabled;\n\t\t\tif ( isValidLink( ref ) && ! isDisabled ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n\tcallbacks: {\n\t\t*prefetch() {\n\t\t\tconst { url } = getContext();\n\t\t\tconst { ref } = getElement();\n\t\t\tif ( url && isValidLink( ref ) ) {\n\t\t\t\tyield prefetch( ref.href );\n\t\t\t}\n\t\t},\n\t},\n} );\n"],"mappings":"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"}
|