@wordpress/block-library 8.33.0 → 8.34.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 +2 -0
- package/build/block/edit.js +15 -8
- package/build/block/edit.js.map +1 -1
- package/build/block-keyboard-shortcuts/index.js +95 -0
- package/build/block-keyboard-shortcuts/index.js.map +1 -0
- package/build/column/edit.js +28 -19
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +3 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/edit.js +69 -53
- package/build/columns/edit.js.map +1 -1
- package/build/columns/variations.js +18 -28
- package/build/columns/variations.js.map +1 -1
- package/build/comment-template/util.js +3 -1
- package/build/comment-template/util.js.map +1 -1
- package/build/cover/shared.js +3 -1
- package/build/cover/shared.js.map +1 -1
- package/build/embed/embed-placeholder.js +8 -3
- package/build/embed/embed-placeholder.js.map +1 -1
- package/build/embed/util.js +3 -1
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +3 -1
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +6 -2
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/group/index.js +0 -8
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +18 -19
- package/build/group/placeholder.js.map +1 -1
- package/build/image/image.js +3 -1
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +3 -1
- package/build/image/view.js.map +1 -1
- package/build/index.js +9 -1
- package/build/index.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +12 -4
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +15 -5
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/are-blocks-dirty.js +9 -3
- package/build/navigation/edit/are-blocks-dirty.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +3 -1
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +1 -1
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/index.js +0 -9
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/view.js +3 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +94 -85
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +2 -7
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/paragraph/index.js +0 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +0 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-excerpt/edit.js +3 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +3 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-navigation-link/variations.js +3 -1
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/edit.js +18 -8
- package/build/post-template/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/private-apis.js +21 -0
- package/build/private-apis.js.map +1 -0
- package/build/query/edit/enhanced-pagination-modal.js +1 -1
- package/build/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +6 -2
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/build/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
- package/build/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +18 -6
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/utils.js +3 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-title/variations.js +3 -1
- package/build/query-title/variations.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/variations.js +3 -1
- package/build/social-link/variations.js.map +1 -1
- package/build/template-part/variations.js +6 -2
- package/build/template-part/variations.js.map +1 -1
- package/build-module/block/edit.js +15 -8
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block-keyboard-shortcuts/index.js +88 -0
- package/build-module/block-keyboard-shortcuts/index.js.map +1 -0
- package/build-module/column/edit.js +28 -19
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +3 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +69 -53
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/variations.js +18 -28
- package/build-module/columns/variations.js.map +1 -1
- package/build-module/comment-template/util.js +3 -1
- package/build-module/comment-template/util.js.map +1 -1
- package/build-module/cover/shared.js +3 -1
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/embed/embed-placeholder.js +9 -4
- package/build-module/embed/embed-placeholder.js.map +1 -1
- package/build-module/embed/util.js +3 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +3 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +6 -2
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/group/index.js +0 -8
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +18 -19
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/image/image.js +3 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +3 -1
- package/build-module/image/view.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +12 -4
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +15 -5
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/are-blocks-dirty.js +9 -3
- package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +3 -1
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/index.js +0 -9
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/view.js +3 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +94 -85
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +3 -8
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/paragraph/index.js +0 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +0 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-excerpt/edit.js +3 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +3 -1
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/edit.js +18 -8
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +3 -1
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/private-apis.js +14 -0
- package/build-module/private-apis.js.map +1 -0
- package/build-module/query/edit/enhanced-pagination-modal.js +1 -1
- package/build-module/query/edit/enhanced-pagination-modal.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +6 -2
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/build-module/query/edit/inspector-controls/create-new-post-link.js.map +1 -1
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js +6 -3
- package/build-module/query/edit/inspector-controls/enhanced-pagination-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +18 -6
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/utils.js +3 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-title/variations.js +3 -1
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/variations.js +3 -1
- package/build-module/social-link/variations.js.map +1 -1
- package/build-module/template-part/variations.js +6 -2
- package/build-module/template-part/variations.js.map +1 -1
- package/build-style/editor-rtl.css +15 -49
- package/build-style/editor.css +15 -49
- package/build-style/embed/editor-rtl.css +0 -3
- package/build-style/embed/editor.css +0 -3
- package/build-style/group/editor-rtl.css +0 -44
- package/build-style/group/editor.css +0 -44
- package/build-style/group/style-rtl.css +4 -0
- package/build-style/group/style.css +4 -0
- package/build-style/navigation-link/style-rtl.css +0 -8
- package/build-style/navigation-link/style.css +0 -8
- package/build-style/post-featured-image/editor-rtl.css +1 -0
- package/build-style/post-featured-image/editor.css +1 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/social-link/editor-rtl.css +13 -2
- package/build-style/social-link/editor.css +13 -2
- package/build-style/style-rtl.css +4 -8
- package/build-style/style.css +4 -8
- package/package.json +35 -34
- package/src/block/edit.js +19 -12
- package/src/block-keyboard-shortcuts/index.js +113 -0
- package/src/column/edit.js +26 -20
- package/src/column/edit.native.js +3 -1
- package/src/columns/edit.js +93 -83
- package/src/columns/variations.js +12 -34
- package/src/comment-template/util.js +3 -1
- package/src/cover/shared.js +3 -1
- package/src/embed/editor.scss +0 -2
- package/src/embed/embed-placeholder.js +21 -9
- package/src/embed/util.js +3 -1
- package/src/embed/variations.js +3 -1
- package/src/embed/wp-embed-preview.js +6 -2
- package/src/gallery/test/helpers.native.js +3 -3
- package/src/group/editor.scss +0 -47
- package/src/group/index.js +0 -8
- package/src/group/placeholder.js +18 -18
- package/src/group/style.scss +5 -0
- package/src/image/image.js +3 -1
- package/src/image/view.js +3 -1
- package/src/index.js +2 -0
- package/src/list-item/hooks/use-merge.js +12 -4
- package/src/list-item/hooks/use-outdent-list-item.js +15 -5
- package/src/navigation/block.json +0 -9
- package/src/navigation/edit/are-blocks-dirty.js +8 -3
- package/src/navigation/edit/deleted-navigation-warning.js +1 -1
- package/src/navigation/edit/menu-inspector-controls.js +3 -1
- package/src/navigation/edit/navigation-menu-selector.js +1 -1
- package/src/navigation/edit/test/navigation-menu-selector.js +5 -5
- package/src/navigation/view.js +3 -1
- package/src/navigation-link/edit.js +91 -91
- package/src/navigation-link/link-ui.js +74 -89
- package/src/navigation-link/style.scss +0 -12
- package/src/paragraph/block.json +0 -1
- package/src/post-excerpt/edit.js +3 -1
- package/src/post-featured-image/dimension-controls.js +3 -1
- package/src/post-featured-image/editor.scss +1 -0
- package/src/post-navigation-link/variations.js +3 -1
- package/src/post-template/edit.js +9 -4
- package/src/post-terms/edit.js +3 -1
- package/src/private-apis.js +13 -0
- package/src/query/edit/enhanced-pagination-modal.js +5 -1
- package/src/query/edit/inspector-controls/author-control.js +6 -2
- package/src/query/edit/inspector-controls/create-new-post-link.js +3 -1
- package/src/query/edit/inspector-controls/enhanced-pagination-control.js +13 -3
- package/src/query/edit/inspector-controls/parent-control.js +18 -6
- package/src/query/edit/inspector-controls/taxonomy-controls.js +9 -3
- package/src/query/index.php +1 -1
- package/src/query/utils.js +3 -1
- package/src/query-title/variations.js +3 -1
- package/src/site-logo/editor.scss +1 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/editor.scss +25 -11
- package/src/social-link/variations.js +3 -1
- package/src/template-part/variations.js +6 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","RangeControl","__","_x","useSelect","useCanEditEntity","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","createElement","Fragment","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","title","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/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 { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\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 [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\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\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\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\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\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'The content is currently protected and does not have the available excerpt.'\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\tidentifier=\"moreText\"\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\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\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={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\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\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["classnames","useEntityProp","store","coreStore","useMemo","AlignmentToolbar","BlockControls","InspectorControls","RichText","Warning","useBlockProps","PanelBody","ToggleControl","RangeControl","__","_x","useSelect","useCanEditEntity","ELLIPSIS","PostExcerptEditor","attributes","textAlign","moreText","showMoreOnNewLine","excerptLength","setAttributes","isSelected","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","userCanEdit","rawExcerpt","setExcerpt","rendered","renderedExcerpt","protected","isProtected","postTypeSupportsExcerpts","select","getPostType","supports","excerpt","isEditable","blockProps","className","wordCountType","strippedRenderedExcerpt","document","window","DOMParser","parseFromString","body","textContent","innerText","createElement","Fragment","value","onChange","newAlign","readMoreLink","identifier","tagName","placeholder","newMoreText","withoutInteractiveFormatting","excerptClassName","rawOrRenderedExcerpt","trim","trimmedExcerpt","split","join","excerptWithSpaces","numberOfSpaces","length","replaceAll","isTrimmed","excerptContent","title","__nextHasNoMarginBottom","label","checked","newShowMoreOnNewLine","min","max"],"sources":["@wordpress/block-library/src/post-excerpt/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 { useMemo } from '@wordpress/element';\nimport {\n\tAlignmentToolbar,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { PanelBody, ToggleControl, RangeControl } from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useCanEditEntity } from '../utils/hooks';\n\nconst ELLIPSIS = '…';\n\nexport default function PostExcerptEditor( {\n\tattributes: { textAlign, moreText, showMoreOnNewLine, excerptLength },\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 [\n\t\trawExcerpt,\n\t\tsetExcerpt,\n\t\t{ rendered: renderedExcerpt, protected: isProtected } = {},\n\t] = useEntityProp( 'postType', postType, 'excerpt', postId );\n\n\t/**\n\t * Check if the post type supports excerpts.\n\t * Add an exception and return early for the \"page\" post type,\n\t * which is registered without support for the excerpt UI,\n\t * but supports saving the excerpt to the database.\n\t * See: https://core.trac.wordpress.org/browser/branches/6.1/src/wp-includes/post.php#L65\n\t * Without this exception, users that have excerpts saved to the database will\n\t * not be able to edit the excerpts.\n\t */\n\tconst postTypeSupportsExcerpts = useSelect(\n\t\t( select ) => {\n\t\t\tif ( postType === 'page' ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn !! select( coreStore ).getPostType( postType )?.supports\n\t\t\t\t?.excerpt;\n\t\t},\n\t\t[ postType ]\n\t);\n\n\t/**\n\t * The excerpt is editable if:\n\t * - The user can edit the post\n\t * - It is not a descendent of a Query Loop block\n\t * - The post type supports excerpts\n\t */\n\tconst isEditable =\n\t\tuserCanEdit && ! isDescendentOfQueryLoop && postTypeSupportsExcerpts;\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\t/**\n\t * translators: If your word count is based on single characters (e.g. East Asian characters),\n\t * enter 'characters_excluding_spaces' or 'characters_including_spaces'. Otherwise, enter 'words'.\n\t * Do not translate into your own language.\n\t */\n\tconst wordCountType = _x( 'words', 'Word count type. Do not translate!' );\n\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 ) {\n\t\t\treturn '';\n\t\t}\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\n\tif ( ! postType || ! postId ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<p>{ __( 'This block will display the excerpt.' ) }</p>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\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'The content is currently protected and does not have the available excerpt.'\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\tidentifier=\"moreText\"\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\n\t\t/>\n\t);\n\tconst excerptClassName = classnames( 'wp-block-post-excerpt__excerpt', {\n\t\t'is-inline': ! showMoreOnNewLine,\n\t} );\n\n\t/**\n\t * The excerpt length setting needs to be applied to both\n\t * the raw and the rendered excerpt depending on which is being used.\n\t */\n\tconst rawOrRenderedExcerpt = (\n\t\trawExcerpt || strippedRenderedExcerpt\n\t).trim();\n\n\tlet trimmedExcerpt = '';\n\tif ( wordCountType === 'words' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( ' ', excerptLength )\n\t\t\t.join( ' ' );\n\t} else if ( wordCountType === 'characters_excluding_spaces' ) {\n\t\t/*\n\t\t * 1. Split the excerpt at the character limit,\n\t\t * then join the substrings back into one string.\n\t\t * 2. Count the number of spaces in the excerpt\n\t\t * by comparing the lengths of the string with and without spaces.\n\t\t * 3. Add the number to the length of the visible excerpt,\n\t\t * so that the spaces are excluded from the word count.\n\t\t */\n\t\tconst excerptWithSpaces = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\n\t\tconst numberOfSpaces =\n\t\t\texcerptWithSpaces.length -\n\t\t\texcerptWithSpaces.replaceAll( ' ', '' ).length;\n\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength + numberOfSpaces )\n\t\t\t.join( '' );\n\t} else if ( wordCountType === 'characters_including_spaces' ) {\n\t\ttrimmedExcerpt = rawOrRenderedExcerpt\n\t\t\t.split( '', excerptLength )\n\t\t\t.join( '' );\n\t}\n\n\tconst isTrimmed = trimmedExcerpt !== rawOrRenderedExcerpt;\n\n\tconst excerptContent = isEditable ? (\n\t\t<RichText\n\t\t\tclassName={ excerptClassName }\n\t\t\taria-label={ __( 'Excerpt text' ) }\n\t\t\tvalue={\n\t\t\t\tisSelected\n\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t: ( ! isTrimmed\n\t\t\t\t\t\t\t? rawOrRenderedExcerpt\n\t\t\t\t\t\t\t: trimmedExcerpt + ELLIPSIS ) ||\n\t\t\t\t\t __( 'No excerpt found' )\n\t\t\t}\n\t\t\tonChange={ setExcerpt }\n\t\t\ttagName=\"p\"\n\t\t/>\n\t) : (\n\t\t<p className={ excerptClassName }>\n\t\t\t{ ! isTrimmed\n\t\t\t\t? rawOrRenderedExcerpt || __( 'No excerpt found' )\n\t\t\t\t: trimmedExcerpt + ELLIPSIS }\n\t\t</p>\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={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\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\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Max number of words' ) }\n\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmin=\"10\"\n\t\t\t\t\t\tmax=\"100\"\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,7 +58,9 @@ const DimensionControls = ({
|
|
|
58
58
|
* we don't want to set the attribute, as it would
|
|
59
59
|
* end up having the unit as value without any number.
|
|
60
60
|
*/
|
|
61
|
-
if (isNaN(parsedValue) && nextValue)
|
|
61
|
+
if (isNaN(parsedValue) && nextValue) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
62
64
|
setAttributes({
|
|
63
65
|
[dimension]: parsedValue < 0 ? '0' : nextValue
|
|
64
66
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","store","blockEditorStore","useSelect","SCALE_OPTIONS","createElement","Fragment","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\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 onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) return;\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","SelectControl","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","useSettings","store","blockEditorStore","useSelect","SCALE_OPTIONS","createElement","Fragment","value","label","DEFAULT_SCALE","DEFAULT_SIZE","scaleHelp","cover","contain","fill","DimensionControls","clientId","attributes","aspectRatio","width","height","scale","sizeSlug","setAttributes","media","availableUnits","units","imageSizes","select","getSettings","imageSizeOptions","filter","slug","media_details","sizes","source_url","map","name","onDimensionChange","dimension","nextValue","parsedValue","parseFloat","isNaN","scaleLabel","showScaleControl","hasValue","onDeselect","undefined","resetAllFilter","isShownByDefault","panelId","__nextHasNoMarginBottom","options","onChange","nextAspectRatio","className","labelPosition","min","nextHeight","nextWidth","help","isBlock","length","nextSizeSlug"],"sources":["@wordpress/block-library/src/post-featured-image/dimension-controls.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tuseSettings,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\nconst SCALE_OPTIONS = (\n\t<>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"cover\"\n\t\t\tlabel={ _x( 'Cover', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"contain\"\n\t\t\tlabel={ _x(\n\t\t\t\t'Contain',\n\t\t\t\t'Scale option for Image dimension control'\n\t\t\t) }\n\t\t/>\n\t\t<ToggleGroupControlOption\n\t\t\tvalue=\"fill\"\n\t\t\tlabel={ _x( 'Fill', 'Scale option for Image dimension control' ) }\n\t\t/>\n\t</>\n);\n\nconst DEFAULT_SCALE = 'cover';\nconst DEFAULT_SIZE = 'full';\n\nconst scaleHelp = {\n\tcover: __(\n\t\t'Image is scaled and cropped to fill the entire space without being distorted.'\n\t),\n\tcontain: __(\n\t\t'Image is scaled to fill the space without clipping nor distorting.'\n\t),\n\tfill: __(\n\t\t'Image will be stretched and distorted to completely fill the space.'\n\t),\n};\n\nconst DimensionControls = ( {\n\tclientId,\n\tattributes: { aspectRatio, width, height, scale, sizeSlug },\n\tsetAttributes,\n\tmedia,\n} ) => {\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', '%', 'vw', 'em', 'rem' ],\n\t} );\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 onDimensionChange = ( dimension, nextValue ) => {\n\t\tconst parsedValue = parseFloat( nextValue );\n\t\t/**\n\t\t * If we have no value set and we change the unit,\n\t\t * we don't want to set the attribute, as it would\n\t\t * end up having the unit as value without any number.\n\t\t */\n\t\tif ( isNaN( parsedValue ) && nextValue ) {\n\t\t\treturn;\n\t\t}\n\t\tsetAttributes( {\n\t\t\t[ dimension ]: parsedValue < 0 ? '0' : nextValue,\n\t\t} );\n\t};\n\tconst scaleLabel = _x( 'Scale', 'Image scaling options' );\n\n\tconst showScaleControl =\n\t\theight || ( aspectRatio && aspectRatio !== 'auto' );\n\n\treturn (\n\t\t<>\n\t\t\t<ToolsPanelItem\n\t\t\t\thasValue={ () => !! aspectRatio }\n\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { aspectRatio: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\taspectRatio: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Aspect ratio' ) }\n\t\t\t\t\tvalue={ aspectRatio }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t// These should use the same values as AspectRatioDropdown in @wordpress/block-editor\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Original' ),\n\t\t\t\t\t\t\tvalue: 'auto',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Square' ),\n\t\t\t\t\t\t\tvalue: '1',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '16:9' ),\n\t\t\t\t\t\t\tvalue: '16/9',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '4:3' ),\n\t\t\t\t\t\t\tvalue: '4/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:2' ),\n\t\t\t\t\t\t\tvalue: '3/2',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '9:16' ),\n\t\t\t\t\t\t\tvalue: '9/16',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '3:4' ),\n\t\t\t\t\t\t\tvalue: '3/4',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( '2:3' ),\n\t\t\t\t\t\t\tvalue: '2/3',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) =>\n\t\t\t\t\t\tsetAttributes( { aspectRatio: nextAspectRatio } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! height }\n\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { height: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ height || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextHeight ) =>\n\t\t\t\t\t\tonDimensionChange( 'height', nextHeight )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t<ToolsPanelItem\n\t\t\t\tclassName=\"single-column\"\n\t\t\t\thasValue={ () => !! width }\n\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\tonDeselect={ () => setAttributes( { width: undefined } ) }\n\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} ) }\n\t\t\t\tisShownByDefault\n\t\t\t\tpanelId={ clientId }\n\t\t\t>\n\t\t\t\t<UnitControl\n\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ ( nextWidth ) =>\n\t\t\t\t\t\tonDimensionChange( 'width', nextWidth )\n\t\t\t\t\t}\n\t\t\t\t\tunits={ units }\n\t\t\t\t/>\n\t\t\t</ToolsPanelItem>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! scale && scale !== DEFAULT_SCALE }\n\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tscale: DEFAULT_SCALE,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ scaleLabel }\n\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\thelp={ scaleHelp[ scale ] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tscale: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t{ SCALE_OPTIONS }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ !! imageSizeOptions.length && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! sizeSlug }\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { sizeSlug: undefined } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tsizeSlug: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ false }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\t\tvalue={ sizeSlug || DEFAULT_SIZE }\n\t\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\t\tonChange={ ( nextSizeSlug ) =>\n\t\t\t\t\t\t\tsetAttributes( { sizeSlug: nextSizeSlug } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\thelp={ __( 'Select the size of the source image.' ) }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default DimensionControls;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,7 +30,9 @@ const variations = [{
|
|
|
30
30
|
* Block by providing its attributes.
|
|
31
31
|
*/
|
|
32
32
|
variations.forEach(variation => {
|
|
33
|
-
if (variation.isActive)
|
|
33
|
+
if (variation.isActive) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
34
36
|
variation.isActive = (blockAttributes, variationAttributes) => blockAttributes.type === variationAttributes.type;
|
|
35
37
|
});
|
|
36
38
|
export default variations;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","next","previous","variations","isDefault","name","title","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"sources":["@wordpress/block-library/src/post-navigation-link/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tisDefault: true,\n\t\tname: 'post-next',\n\t\ttitle: __( 'Next post' ),\n\t\tdescription: __(\n\t\t\t'Displays the post link that follows the current post.'\n\t\t),\n\t\ticon: next,\n\t\tattributes: { type: 'next' },\n\t\tscope: [ 'inserter', 'transform' ],\n\t},\n\t{\n\t\tname: 'post-previous',\n\t\ttitle: __( 'Previous post' ),\n\t\tdescription: __(\n\t\t\t'Displays the post link that precedes the current post.'\n\t\t),\n\t\ticon: previous,\n\t\tattributes: { type: 'previous' },\n\t\tscope: [ 'inserter', 'transform' ],\n\t},\n];\n\n/**\n * Add `isActive` function to all `post-navigation-link` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive )
|
|
1
|
+
{"version":3,"names":["__","next","previous","variations","isDefault","name","title","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"sources":["@wordpress/block-library/src/post-navigation-link/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { next, previous } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tisDefault: true,\n\t\tname: 'post-next',\n\t\ttitle: __( 'Next post' ),\n\t\tdescription: __(\n\t\t\t'Displays the post link that follows the current post.'\n\t\t),\n\t\ticon: next,\n\t\tattributes: { type: 'next' },\n\t\tscope: [ 'inserter', 'transform' ],\n\t},\n\t{\n\t\tname: 'post-previous',\n\t\ttitle: __( 'Previous post' ),\n\t\tdescription: __(\n\t\t\t'Displays the post link that precedes the current post.'\n\t\t),\n\t\ticon: previous,\n\t\tattributes: { type: 'previous' },\n\t\tscope: [ 'inserter', 'transform' ],\n\t},\n];\n\n/**\n * Add `isActive` function to all `post-navigation-link` variations, if not defined.\n * `isActive` function is used to find a variation match from a created\n * Block by providing its attributes.\n */\nvariations.forEach( ( variation ) => {\n\tif ( variation.isActive ) {\n\t\treturn;\n\t}\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,kBAAkB;AAEjD,MAAMC,UAAU,GAAG,CAClB;EACCC,SAAS,EAAE,IAAI;EACfC,IAAI,EAAE,WAAW;EACjBC,KAAK,EAAEN,EAAE,CAAE,WAAY,CAAC;EACxBO,WAAW,EAAEP,EAAE,CACd,uDACD,CAAC;EACDQ,IAAI,EAAEP,IAAI;EACVQ,UAAU,EAAE;IAAEC,IAAI,EAAE;EAAO,CAAC;EAC5BC,KAAK,EAAE,CAAE,UAAU,EAAE,WAAW;AACjC,CAAC,EACD;EACCN,IAAI,EAAE,eAAe;EACrBC,KAAK,EAAEN,EAAE,CAAE,eAAgB,CAAC;EAC5BO,WAAW,EAAEP,EAAE,CACd,wDACD,CAAC;EACDQ,IAAI,EAAEN,QAAQ;EACdO,UAAU,EAAE;IAAEC,IAAI,EAAE;EAAW,CAAC;EAChCC,KAAK,EAAE,CAAE,UAAU,EAAE,WAAW;AACjC,CAAC,CACD;;AAED;AACA;AACA;AACA;AACA;AACAR,UAAU,CAACS,OAAO,CAAIC,SAAS,IAAM;EACpC,IAAKA,SAAS,CAACC,QAAQ,EAAG;IACzB;EACD;EACAD,SAAS,CAACC,QAAQ,GAAG,CAAEC,eAAe,EAAEC,mBAAmB,KAC1DD,eAAe,CAACL,IAAI,KAAKM,mBAAmB,CAACN,IAAI;AACnD,CAAE,CAAC;AAEH,eAAeP,UAAU","ignoreList":[]}
|
|
@@ -15,9 +15,11 @@ import { Spinner, ToolbarGroup } from '@wordpress/components';
|
|
|
15
15
|
import { store as coreStore } from '@wordpress/core-data';
|
|
16
16
|
import { list, grid } from '@wordpress/icons';
|
|
17
17
|
const TEMPLATE = [['core/post-title'], ['core/post-date'], ['core/post-excerpt']];
|
|
18
|
-
function PostTemplateInnerBlocks(
|
|
18
|
+
function PostTemplateInnerBlocks({
|
|
19
|
+
classList
|
|
20
|
+
}) {
|
|
19
21
|
const innerBlocksProps = useInnerBlocksProps({
|
|
20
|
-
className: 'wp-block-post'
|
|
22
|
+
className: classnames('wp-block-post', classList)
|
|
21
23
|
}, {
|
|
22
24
|
template: TEMPLATE,
|
|
23
25
|
__unstableDisableLayoutClassNames: true
|
|
@@ -29,13 +31,14 @@ function PostTemplateInnerBlocks() {
|
|
|
29
31
|
function PostTemplateBlockPreview({
|
|
30
32
|
blocks,
|
|
31
33
|
blockContextId,
|
|
34
|
+
classList,
|
|
32
35
|
isHidden,
|
|
33
36
|
setActiveBlockContextId
|
|
34
37
|
}) {
|
|
35
38
|
const blockPreviewProps = useBlockPreview({
|
|
36
39
|
blocks,
|
|
37
40
|
props: {
|
|
38
|
-
className: 'wp-block-post'
|
|
41
|
+
className: classnames('wp-block-post', classList)
|
|
39
42
|
}
|
|
40
43
|
});
|
|
41
44
|
const handleOnClick = () => {
|
|
@@ -180,10 +183,14 @@ export default function PostTemplateEdit({
|
|
|
180
183
|
blocks: getBlocks(clientId)
|
|
181
184
|
};
|
|
182
185
|
}, [perPage, offset, order, orderBy, clientId, author, search, postType, exclude, sticky, inherit, templateSlug, taxQuery, parents, restQueryArgs, previewPostType]);
|
|
183
|
-
const blockContexts = useMemo(() => posts?.map(post =>
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
186
|
+
const blockContexts = useMemo(() => posts?.map(post => {
|
|
187
|
+
var _post$class_list;
|
|
188
|
+
return {
|
|
189
|
+
postType: post.type,
|
|
190
|
+
postId: post.id,
|
|
191
|
+
classList: (_post$class_list = post.class_list) !== null && _post$class_list !== void 0 ? _post$class_list : ''
|
|
192
|
+
};
|
|
193
|
+
}), [posts]);
|
|
187
194
|
const blockProps = useBlockProps({
|
|
188
195
|
className: classnames(__unstableLayoutClassNames, {
|
|
189
196
|
[`columns-${columnCount}`]: layoutType === 'grid' && columnCount // Ensure column count is flagged via classname for backwards compatibility.
|
|
@@ -233,9 +240,12 @@ export default function PostTemplateEdit({
|
|
|
233
240
|
}, blockContexts && blockContexts.map(blockContext => createElement(BlockContextProvider, {
|
|
234
241
|
key: blockContext.postId,
|
|
235
242
|
value: blockContext
|
|
236
|
-
}, blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId) ? createElement(PostTemplateInnerBlocks,
|
|
243
|
+
}, blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId) ? createElement(PostTemplateInnerBlocks, {
|
|
244
|
+
classList: blockContext.classList
|
|
245
|
+
}) : null, createElement(MemoizedPostTemplateBlockPreview, {
|
|
237
246
|
blocks: blocks,
|
|
238
247
|
blockContextId: blockContext.postId,
|
|
248
|
+
classList: blockContext.classList,
|
|
239
249
|
setActiveBlockContextId: setActiveBlockContextId,
|
|
240
250
|
isHidden: blockContext.postId === (activeBlockContextId || blockContexts[0]?.postId)
|
|
241
251
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","memo","useMemo","useState","useSelect","__","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","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","posts","select","getEntityRecords","getTaxonomies","getBlocks","templateCategory","startsWith","per_page","_fields","slug","replace","orderby","taxonomies","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","map","post","postId","blockProps","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","Fragment","controls","blockContext","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 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\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\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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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["classnames","memo","useMemo","useState","useSelect","__","BlockControls","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","ToolbarGroup","coreStore","list","grid","TEMPLATE","PostTemplateInnerBlocks","classList","innerBlocksProps","className","template","__unstableDisableLayoutClassNames","createElement","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","tabIndex","role","onClick","onKeyPress","MemoizedPostTemplateBlockPreview","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","posts","select","getEntityRecords","getTaxonomies","getBlocks","templateCategory","startsWith","per_page","_fields","slug","replace","orderby","taxonomies","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","rest_base","keys","length","assign","parent","categories","id","usedPostType","blockContexts","map","post","_post$class_list","postId","class_list","blockProps","setDisplayLayout","newDisplayLayout","displayLayoutControls","icon","title","isActive","Fragment","controls","blockContext","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( { classList } ) {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: classnames( 'wp-block-post', classList ) },\n\t\t{ template: TEMPLATE, __unstableDisableLayoutClassNames: true }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tclassList,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: classnames( 'wp-block-post', classList ),\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 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\tconst taxonomies = getTaxonomies( {\n\t\t\t\t\ttype: postType,\n\t\t\t\t\tper_page: -1,\n\t\t\t\t\tcontext: 'view',\n\t\t\t\t} );\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\tclassList: post.class_list ?? '',\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\t\tclassList={ blockContext.classList }\n\t\t\t\t\t\t\t\t/>\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\tclassList={ blockContext.classList }\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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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","decodeEntities","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","createElement","Fragment","value","onChange","nextAlign","group","__nextHasNoMarginBottom","autoComplete","label","nextValue","help","identifier","allowedFormats","placeholder","tagName","title","map","postTerm","key","id","href","link","onClick","event","preventDefault","name","reduce","prev","curr","labels","no_terms","__unstableOnSplitAtEnd"],"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 )
|
|
1
|
+
{"version":3,"names":["classnames","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","RichText","createBlock","getDefaultBlockName","Spinner","TextControl","useSelect","decodeEntities","__","store","coreStore","usePostTerms","ALLOWED_FORMATS","PostTermsEdit","attributes","clientId","context","isSelected","setAttributes","insertBlocksAfter","term","textAlign","separator","prefix","suffix","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","createElement","Fragment","value","onChange","nextAlign","group","__nextHasNoMarginBottom","autoComplete","label","nextValue","help","identifier","allowedFormats","placeholder","tagName","title","map","postTerm","key","id","href","link","onClick","event","preventDefault","name","reduce","prev","curr","labels","no_terms","__unstableOnSplitAtEnd"],"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 ) {\n\t\t\t\treturn {};\n\t\t\t}\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\tidentifier=\"prefix\"\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\tidentifier=\"suffix\"\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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","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Internal dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { default as BlockKeyboardShortcuts } from './block-keyboard-shortcuts';
|
|
5
|
+
import { lock } from './lock-unlock';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @private
|
|
9
|
+
*/
|
|
10
|
+
export const privateApis = {};
|
|
11
|
+
lock(privateApis, {
|
|
12
|
+
BlockKeyboardShortcuts
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=private-apis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["default","BlockKeyboardShortcuts","lock","privateApis"],"sources":["@wordpress/block-library/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { default as BlockKeyboardShortcuts } from './block-keyboard-shortcuts';\nimport { lock } from './lock-unlock';\n\n/**\n * @private\n */\nexport const privateApis = {};\nlock( privateApis, {\n\tBlockKeyboardShortcuts,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,OAAO,IAAIC,sBAAsB,QAAQ,4BAA4B;AAC9E,SAASC,IAAI,QAAQ,eAAe;;AAEpC;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BD,IAAI,CAAEC,WAAW,EAAE;EAClBF;AACD,CAAE,CAAC","ignoreList":[]}
|
|
@@ -25,7 +25,7 @@ export default function EnhancedPaginationModal({
|
|
|
25
25
|
hasUnsupportedBlocks
|
|
26
26
|
} = useUnsupportedBlocks(clientId);
|
|
27
27
|
useEffect(() => {
|
|
28
|
-
if (enhancedPagination && hasUnsupportedBlocks) {
|
|
28
|
+
if (enhancedPagination && hasUnsupportedBlocks && !window.__experimentalFullPageClientSideNavigation) {
|
|
29
29
|
setAttributes({
|
|
30
30
|
enhancedPagination: false
|
|
31
31
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","Modal","__experimentalVStack","VStack","__","useState","useEffect","useUnsupportedBlocks","modalDescriptionId","EnhancedPaginationModal","clientId","attributes","enhancedPagination","setAttributes","isOpen","setOpen","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks","closeModal","notice","createElement","title","className","aria","describedby","role","focusOnMount","isDismissible","onRequestClose","alignment","spacing","id","variant","onClick"],"sources":["@wordpress/block-library/src/query/edit/enhanced-pagination-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../utils';\n\nconst modalDescriptionId =\n\t'wp-block-query-enhanced-pagination-modal__description';\n\nexport default function EnhancedPaginationModal( {\n\tclientId,\n\tattributes: { enhancedPagination },\n\tsetAttributes,\n} ) {\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst { hasBlocksFromPlugins, hasPostContentBlock, hasUnsupportedBlocks } =\n\t\tuseUnsupportedBlocks( clientId );\n\n\tuseEffect( () => {\n\t\tif (
|
|
1
|
+
{"version":3,"names":["Button","Modal","__experimentalVStack","VStack","__","useState","useEffect","useUnsupportedBlocks","modalDescriptionId","EnhancedPaginationModal","clientId","attributes","enhancedPagination","setAttributes","isOpen","setOpen","hasBlocksFromPlugins","hasPostContentBlock","hasUnsupportedBlocks","window","__experimentalFullPageClientSideNavigation","closeModal","notice","createElement","title","className","aria","describedby","role","focusOnMount","isDismissible","onRequestClose","alignment","spacing","id","variant","onClick"],"sources":["@wordpress/block-library/src/query/edit/enhanced-pagination-modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../utils';\n\nconst modalDescriptionId =\n\t'wp-block-query-enhanced-pagination-modal__description';\n\nexport default function EnhancedPaginationModal( {\n\tclientId,\n\tattributes: { enhancedPagination },\n\tsetAttributes,\n} ) {\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst { hasBlocksFromPlugins, hasPostContentBlock, hasUnsupportedBlocks } =\n\t\tuseUnsupportedBlocks( clientId );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tenhancedPagination &&\n\t\t\thasUnsupportedBlocks &&\n\t\t\t! window.__experimentalFullPageClientSideNavigation\n\t\t) {\n\t\t\tsetAttributes( { enhancedPagination: false } );\n\t\t\tsetOpen( true );\n\t\t}\n\t}, [ enhancedPagination, hasUnsupportedBlocks, setAttributes ] );\n\n\tconst closeModal = () => {\n\t\tsetOpen( false );\n\t};\n\n\tlet notice = __(\n\t\t'If you still want to prevent full page reloads, remove that block, then disable \"Force page reload\" again in the Query Block settings.'\n\t);\n\tif ( hasBlocksFromPlugins ) {\n\t\tnotice =\n\t\t\t__(\n\t\t\t\t'Currently, avoiding full page reloads is not possible when non-interactive or non-client Navigation compatible blocks from plugins are present inside the Query block.'\n\t\t\t) +\n\t\t\t' ' +\n\t\t\tnotice;\n\t} else if ( hasPostContentBlock ) {\n\t\tnotice =\n\t\t\t__(\n\t\t\t\t'Currently, avoiding full page reloads is not possible when a Content block is present inside the Query block.'\n\t\t\t) +\n\t\t\t' ' +\n\t\t\tnotice;\n\t}\n\n\treturn (\n\t\tisOpen && (\n\t\t\t<Modal\n\t\t\t\ttitle={ __( 'Query block: Force page reload enabled' ) }\n\t\t\t\tclassName=\"wp-block-query__enhanced-pagination-modal\"\n\t\t\t\taria={ {\n\t\t\t\t\tdescribedby: modalDescriptionId,\n\t\t\t\t} }\n\t\t\t\trole=\"alertdialog\"\n\t\t\t\tfocusOnMount=\"firstElement\"\n\t\t\t\tisDismissible={ false }\n\t\t\t\tonRequestClose={ closeModal }\n\t\t\t>\n\t\t\t\t<VStack alignment=\"right\" spacing={ 5 }>\n\t\t\t\t\t<span id={ modalDescriptionId }>{ notice }</span>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'OK' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</VStack>\n\t\t\t</Modal>\n\t\t)\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,KAAK,EACLC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,EAAEC,SAAS,QAAQ,oBAAoB;;AAExD;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,UAAU;AAE/C,MAAMC,kBAAkB,GACvB,uDAAuD;AAExD,eAAe,SAASC,uBAAuBA,CAAE;EAChDC,QAAQ;EACRC,UAAU,EAAE;IAAEC;EAAmB,CAAC;EAClCC;AACD,CAAC,EAAG;EACH,MAAM,CAAEC,MAAM,EAAEC,OAAO,CAAE,GAAGV,QAAQ,CAAE,KAAM,CAAC;EAC7C,MAAM;IAAEW,oBAAoB;IAAEC,mBAAmB;IAAEC;EAAqB,CAAC,GACxEX,oBAAoB,CAAEG,QAAS,CAAC;EAEjCJ,SAAS,CAAE,MAAM;IAChB,IACCM,kBAAkB,IAClBM,oBAAoB,IACpB,CAAEC,MAAM,CAACC,0CAA0C,EAClD;MACDP,aAAa,CAAE;QAAED,kBAAkB,EAAE;MAAM,CAAE,CAAC;MAC9CG,OAAO,CAAE,IAAK,CAAC;IAChB;EACD,CAAC,EAAE,CAAEH,kBAAkB,EAAEM,oBAAoB,EAAEL,aAAa,CAAG,CAAC;EAEhE,MAAMQ,UAAU,GAAGA,CAAA,KAAM;IACxBN,OAAO,CAAE,KAAM,CAAC;EACjB,CAAC;EAED,IAAIO,MAAM,GAAGlB,EAAE,CACd,wIACD,CAAC;EACD,IAAKY,oBAAoB,EAAG;IAC3BM,MAAM,GACLlB,EAAE,CACD,wKACD,CAAC,GACD,GAAG,GACHkB,MAAM;EACR,CAAC,MAAM,IAAKL,mBAAmB,EAAG;IACjCK,MAAM,GACLlB,EAAE,CACD,+GACD,CAAC,GACD,GAAG,GACHkB,MAAM;EACR;EAEA,OACCR,MAAM,IACLS,aAAA,CAACtB,KAAK;IACLuB,KAAK,EAAGpB,EAAE,CAAE,wCAAyC,CAAG;IACxDqB,SAAS,EAAC,2CAA2C;IACrDC,IAAI,EAAG;MACNC,WAAW,EAAEnB;IACd,CAAG;IACHoB,IAAI,EAAC,aAAa;IAClBC,YAAY,EAAC,cAAc;IAC3BC,aAAa,EAAG,KAAO;IACvBC,cAAc,EAAGV;EAAY,GAE7BE,aAAA,CAACpB,MAAM;IAAC6B,SAAS,EAAC,OAAO;IAACC,OAAO,EAAG;EAAG,GACtCV,aAAA;IAAMW,EAAE,EAAG1B;EAAoB,GAAGc,MAAc,CAAC,EACjDC,aAAA,CAACvB,MAAM;IAACmC,OAAO,EAAC,SAAS;IAACC,OAAO,EAAGf;EAAY,GAC7CjB,EAAE,CAAE,IAAK,CACJ,CACD,CACF,CACP;AAEH","ignoreList":[]}
|
|
@@ -51,13 +51,17 @@ function AuthorControl({
|
|
|
51
51
|
}, []);
|
|
52
52
|
const getIdByValue = (entitiesMappedByName, authorValue) => {
|
|
53
53
|
const id = authorValue?.id || entitiesMappedByName[authorValue]?.id;
|
|
54
|
-
if (id)
|
|
54
|
+
if (id) {
|
|
55
|
+
return id;
|
|
56
|
+
}
|
|
55
57
|
};
|
|
56
58
|
const onAuthorChange = newValue => {
|
|
57
59
|
const ids = Array.from(newValue.reduce((accumulator, author) => {
|
|
58
60
|
// Verify that new values point to existing entities.
|
|
59
61
|
const id = getIdByValue(authorsInfo.mapByName, author);
|
|
60
|
-
if (id)
|
|
62
|
+
if (id) {
|
|
63
|
+
accumulator.add(id);
|
|
64
|
+
}
|
|
61
65
|
return accumulator;
|
|
62
66
|
}, new Set()));
|
|
63
67
|
onChange({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","FormTokenField","useSelect","store","coreStore","getEntitiesInfo","AUTHORS_QUERY","who","per_page","_fields","context","AuthorControl","value","onChange","authorsList","select","getUsers","authorsInfo","normalizedValue","toString","split","sanitizedValue","reduce","accumulator","authorId","author","mapById","push","id","name","getIdByValue","entitiesMappedByName","authorValue","onAuthorChange","newValue","ids","Array","from","mapByName","add","Set","join","createElement","label","suggestions","names","__experimentalShowHowTo"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/author-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo } from '../../utils';\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorControl( { value, onChange } ) {\n\tconst authorsList = useSelect( ( select ) => {\n\t\tconst { getUsers } = select( coreStore );\n\t\treturn getUsers( AUTHORS_QUERY );\n\t}, [] );\n\n\tif ( ! authorsList ) {\n\t\treturn null;\n\t}\n\tconst authorsInfo = getEntitiesInfo( authorsList );\n\t/**\n\t * We need to normalize the value because the block operates on a\n\t * comma(`,`) separated string value and `FormTokenFiels` needs an\n\t * array.\n\t */\n\tconst normalizedValue = ! value ? [] : value.toString().split( ',' );\n\t// Returns only the existing authors ids. This prevents the component\n\t// from crashing in the editor, when non existing ids are provided.\n\tconst sanitizedValue = normalizedValue.reduce(\n\t\t( accumulator, authorId ) => {\n\t\t\tconst author = authorsInfo.mapById[ authorId ];\n\t\t\tif ( author ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid: authorId,\n\t\t\t\t\tvalue: author.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\n\tconst getIdByValue = ( entitiesMappedByName, authorValue ) => {\n\t\tconst id = authorValue?.id || entitiesMappedByName[ authorValue ]?.id;\n\t\tif ( id )
|
|
1
|
+
{"version":3,"names":["__","FormTokenField","useSelect","store","coreStore","getEntitiesInfo","AUTHORS_QUERY","who","per_page","_fields","context","AuthorControl","value","onChange","authorsList","select","getUsers","authorsInfo","normalizedValue","toString","split","sanitizedValue","reduce","accumulator","authorId","author","mapById","push","id","name","getIdByValue","entitiesMappedByName","authorValue","onAuthorChange","newValue","ids","Array","from","mapByName","add","Set","join","createElement","label","suggestions","names","__experimentalShowHowTo"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/author-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { FormTokenField } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { getEntitiesInfo } from '../../utils';\n\nconst AUTHORS_QUERY = {\n\twho: 'authors',\n\tper_page: -1,\n\t_fields: 'id,name',\n\tcontext: 'view',\n};\n\nfunction AuthorControl( { value, onChange } ) {\n\tconst authorsList = useSelect( ( select ) => {\n\t\tconst { getUsers } = select( coreStore );\n\t\treturn getUsers( AUTHORS_QUERY );\n\t}, [] );\n\n\tif ( ! authorsList ) {\n\t\treturn null;\n\t}\n\tconst authorsInfo = getEntitiesInfo( authorsList );\n\t/**\n\t * We need to normalize the value because the block operates on a\n\t * comma(`,`) separated string value and `FormTokenFiels` needs an\n\t * array.\n\t */\n\tconst normalizedValue = ! value ? [] : value.toString().split( ',' );\n\t// Returns only the existing authors ids. This prevents the component\n\t// from crashing in the editor, when non existing ids are provided.\n\tconst sanitizedValue = normalizedValue.reduce(\n\t\t( accumulator, authorId ) => {\n\t\t\tconst author = authorsInfo.mapById[ authorId ];\n\t\t\tif ( author ) {\n\t\t\t\taccumulator.push( {\n\t\t\t\t\tid: authorId,\n\t\t\t\t\tvalue: author.name,\n\t\t\t\t} );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t},\n\t\t[]\n\t);\n\n\tconst getIdByValue = ( entitiesMappedByName, authorValue ) => {\n\t\tconst id = authorValue?.id || entitiesMappedByName[ authorValue ]?.id;\n\t\tif ( id ) {\n\t\t\treturn id;\n\t\t}\n\t};\n\tconst onAuthorChange = ( newValue ) => {\n\t\tconst ids = Array.from(\n\t\t\tnewValue.reduce( ( accumulator, author ) => {\n\t\t\t\t// Verify that new values point to existing entities.\n\t\t\t\tconst id = getIdByValue( authorsInfo.mapByName, author );\n\t\t\t\tif ( id ) {\n\t\t\t\t\taccumulator.add( id );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tonChange( { author: ids.join( ',' ) } );\n\t};\n\treturn (\n\t\t<FormTokenField\n\t\t\tlabel={ __( 'Authors' ) }\n\t\t\tvalue={ sanitizedValue }\n\t\t\tsuggestions={ authorsInfo.names }\n\t\t\tonChange={ onAuthorChange }\n\t\t\t__experimentalShowHowTo={ false }\n\t\t/>\n\t);\n}\n\nexport default AuthorControl;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,cAAc,QAAQ,uBAAuB;AACtD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,eAAe,QAAQ,aAAa;AAE7C,MAAMC,aAAa,GAAG;EACrBC,GAAG,EAAE,SAAS;EACdC,QAAQ,EAAE,CAAC,CAAC;EACZC,OAAO,EAAE,SAAS;EAClBC,OAAO,EAAE;AACV,CAAC;AAED,SAASC,aAAaA,CAAE;EAAEC,KAAK;EAAEC;AAAS,CAAC,EAAG;EAC7C,MAAMC,WAAW,GAAGZ,SAAS,CAAIa,MAAM,IAAM;IAC5C,MAAM;MAAEC;IAAS,CAAC,GAAGD,MAAM,CAAEX,SAAU,CAAC;IACxC,OAAOY,QAAQ,CAAEV,aAAc,CAAC;EACjC,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAEQ,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EACA,MAAMG,WAAW,GAAGZ,eAAe,CAAES,WAAY,CAAC;EAClD;AACD;AACA;AACA;AACA;EACC,MAAMI,eAAe,GAAG,CAAEN,KAAK,GAAG,EAAE,GAAGA,KAAK,CAACO,QAAQ,CAAC,CAAC,CAACC,KAAK,CAAE,GAAI,CAAC;EACpE;EACA;EACA,MAAMC,cAAc,GAAGH,eAAe,CAACI,MAAM,CAC5C,CAAEC,WAAW,EAAEC,QAAQ,KAAM;IAC5B,MAAMC,MAAM,GAAGR,WAAW,CAACS,OAAO,CAAEF,QAAQ,CAAE;IAC9C,IAAKC,MAAM,EAAG;MACbF,WAAW,CAACI,IAAI,CAAE;QACjBC,EAAE,EAAEJ,QAAQ;QACZZ,KAAK,EAAEa,MAAM,CAACI;MACf,CAAE,CAAC;IACJ;IACA,OAAON,WAAW;EACnB,CAAC,EACD,EACD,CAAC;EAED,MAAMO,YAAY,GAAGA,CAAEC,oBAAoB,EAAEC,WAAW,KAAM;IAC7D,MAAMJ,EAAE,GAAGI,WAAW,EAAEJ,EAAE,IAAIG,oBAAoB,CAAEC,WAAW,CAAE,EAAEJ,EAAE;IACrE,IAAKA,EAAE,EAAG;MACT,OAAOA,EAAE;IACV;EACD,CAAC;EACD,MAAMK,cAAc,GAAKC,QAAQ,IAAM;IACtC,MAAMC,GAAG,GAAGC,KAAK,CAACC,IAAI,CACrBH,QAAQ,CAACZ,MAAM,CAAE,CAAEC,WAAW,EAAEE,MAAM,KAAM;MAC3C;MACA,MAAMG,EAAE,GAAGE,YAAY,CAAEb,WAAW,CAACqB,SAAS,EAAEb,MAAO,CAAC;MACxD,IAAKG,EAAE,EAAG;QACTL,WAAW,CAACgB,GAAG,CAAEX,EAAG,CAAC;MACtB;MACA,OAAOL,WAAW;IACnB,CAAC,EAAE,IAAIiB,GAAG,CAAC,CAAE,CACd,CAAC;IACD3B,QAAQ,CAAE;MAAEY,MAAM,EAAEU,GAAG,CAACM,IAAI,CAAE,GAAI;IAAE,CAAE,CAAC;EACxC,CAAC;EACD,OACCC,aAAA,CAACzC,cAAc;IACd0C,KAAK,EAAG3C,EAAE,CAAE,SAAU,CAAG;IACzBY,KAAK,EAAGS,cAAgB;IACxBuB,WAAW,EAAG3B,WAAW,CAAC4B,KAAO;IACjChC,QAAQ,EAAGoB,cAAgB;IAC3Ba,uBAAuB,EAAG;EAAO,CACjC,CAAC;AAEJ;AAEA,eAAenC,aAAa","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","createInterpolateElement","addQueryArgs","CreateNewPostLink","attributes","query","postType","newPostUrl","post_type","createElement","className","a","href"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/create-new-post-link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\n\nconst CreateNewPostLink = ( {\n\tattributes: { query: { postType } = {} } = {},\n} ) => {\n\tif ( ! postType )
|
|
1
|
+
{"version":3,"names":["__","createInterpolateElement","addQueryArgs","CreateNewPostLink","attributes","query","postType","newPostUrl","post_type","createElement","className","a","href"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/create-new-post-link.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createInterpolateElement } from '@wordpress/element';\nimport { addQueryArgs } from '@wordpress/url';\n\nconst CreateNewPostLink = ( {\n\tattributes: { query: { postType } = {} } = {},\n} ) => {\n\tif ( ! postType ) {\n\t\treturn null;\n\t}\n\tconst newPostUrl = addQueryArgs( 'post-new.php', {\n\t\tpost_type: postType,\n\t} );\n\treturn (\n\t\t<div className=\"wp-block-query__create-new-link\">\n\t\t\t{ createInterpolateElement(\n\t\t\t\t__( '<a>Add new post</a>' ),\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t{ a: <a href={ newPostUrl } /> }\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport default CreateNewPostLink;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,wBAAwB,QAAQ,oBAAoB;AAC7D,SAASC,YAAY,QAAQ,gBAAgB;AAE7C,MAAMC,iBAAiB,GAAGA,CAAE;EAC3BC,UAAU,EAAE;IAAEC,KAAK,EAAE;MAAEC;IAAS,CAAC,GAAG,CAAC;EAAE,CAAC,GAAG,CAAC;AAC7C,CAAC,KAAM;EACN,IAAK,CAAEA,QAAQ,EAAG;IACjB,OAAO,IAAI;EACZ;EACA,MAAMC,UAAU,GAAGL,YAAY,CAAE,cAAc,EAAE;IAChDM,SAAS,EAAEF;EACZ,CAAE,CAAC;EACH,OACCG,aAAA;IAAKC,SAAS,EAAC;EAAiC,GAC7CT,wBAAwB,CACzBD,EAAE,CAAE,qBAAsB,CAAC;EAC3B;EACA;IAAEW,CAAC,EAAEF,aAAA;MAAGG,IAAI,EAAGL;IAAY,CAAE;EAAE,CAChC,CACI,CAAC;AAER,CAAC;AAED,eAAeJ,iBAAiB","ignoreList":[]}
|
|
@@ -17,8 +17,11 @@ export default function EnhancedPaginationControl({
|
|
|
17
17
|
const {
|
|
18
18
|
hasUnsupportedBlocks
|
|
19
19
|
} = useUnsupportedBlocks(clientId);
|
|
20
|
+
const fullPageClientSideNavigation = window.__experimentalFullPageClientSideNavigation;
|
|
20
21
|
let help = __('Browsing between pages requires a full page reload.');
|
|
21
|
-
if (
|
|
22
|
+
if (fullPageClientSideNavigation) {
|
|
23
|
+
help = __('Experimental full-page client-side navigation setting enabled.');
|
|
24
|
+
} else if (enhancedPagination) {
|
|
22
25
|
help = __("Browsing between pages won't require a full page reload, unless non-compatible blocks are detected.");
|
|
23
26
|
} else if (hasUnsupportedBlocks) {
|
|
24
27
|
help = __("Force page reload can't be disabled because there are non-compatible blocks inside the Query block.");
|
|
@@ -26,8 +29,8 @@ export default function EnhancedPaginationControl({
|
|
|
26
29
|
return createElement(Fragment, null, createElement(ToggleControl, {
|
|
27
30
|
label: __('Force page reload'),
|
|
28
31
|
help: help,
|
|
29
|
-
checked: !enhancedPagination,
|
|
30
|
-
disabled: hasUnsupportedBlocks,
|
|
32
|
+
checked: !enhancedPagination && !fullPageClientSideNavigation,
|
|
33
|
+
disabled: hasUnsupportedBlocks || fullPageClientSideNavigation,
|
|
31
34
|
onChange: value => {
|
|
32
35
|
setAttributes({
|
|
33
36
|
enhancedPagination: !value
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ToggleControl","__","useUnsupportedBlocks","EnhancedPaginationControl","enhancedPagination","setAttributes","clientId","hasUnsupportedBlocks","help","createElement","Fragment","label","checked","disabled","onChange","value"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/enhanced-pagination-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../../utils';\n\nexport default function EnhancedPaginationControl( {\n\tenhancedPagination,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { hasUnsupportedBlocks } = useUnsupportedBlocks( clientId );\n\n\tlet help = __( 'Browsing between pages requires a full page reload.' );\n\tif ( enhancedPagination ) {\n\t\thelp = __(\n\t\t\t\"Browsing between pages won't require a full page reload, unless non-compatible blocks are detected.\"\n\t\t);\n\t} else if ( hasUnsupportedBlocks ) {\n\t\thelp = __(\n\t\t\t\"Force page reload can't be disabled because there are non-compatible blocks inside the Query block.\"\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Force page reload' ) }\n\t\t\t\thelp={ help }\n\t\t\t\tchecked={
|
|
1
|
+
{"version":3,"names":["ToggleControl","__","useUnsupportedBlocks","EnhancedPaginationControl","enhancedPagination","setAttributes","clientId","hasUnsupportedBlocks","fullPageClientSideNavigation","window","__experimentalFullPageClientSideNavigation","help","createElement","Fragment","label","checked","disabled","onChange","value"],"sources":["@wordpress/block-library/src/query/edit/inspector-controls/enhanced-pagination-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ToggleControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useUnsupportedBlocks } from '../../utils';\n\nexport default function EnhancedPaginationControl( {\n\tenhancedPagination,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { hasUnsupportedBlocks } = useUnsupportedBlocks( clientId );\n\tconst fullPageClientSideNavigation =\n\t\twindow.__experimentalFullPageClientSideNavigation;\n\n\tlet help = __( 'Browsing between pages requires a full page reload.' );\n\tif ( fullPageClientSideNavigation ) {\n\t\thelp = __(\n\t\t\t'Experimental full-page client-side navigation setting enabled.'\n\t\t);\n\t} else if ( enhancedPagination ) {\n\t\thelp = __(\n\t\t\t\"Browsing between pages won't require a full page reload, unless non-compatible blocks are detected.\"\n\t\t);\n\t} else if ( hasUnsupportedBlocks ) {\n\t\thelp = __(\n\t\t\t\"Force page reload can't be disabled because there are non-compatible blocks inside the Query block.\"\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Force page reload' ) }\n\t\t\t\thelp={ help }\n\t\t\t\tchecked={\n\t\t\t\t\t! enhancedPagination && ! fullPageClientSideNavigation\n\t\t\t\t}\n\t\t\t\tdisabled={\n\t\t\t\t\thasUnsupportedBlocks || fullPageClientSideNavigation\n\t\t\t\t}\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\tenhancedPagination: ! value,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,oBAAoB,QAAQ,aAAa;AAElD,eAAe,SAASC,yBAAyBA,CAAE;EAClDC,kBAAkB;EAClBC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC;EAAqB,CAAC,GAAGL,oBAAoB,CAAEI,QAAS,CAAC;EACjE,MAAME,4BAA4B,GACjCC,MAAM,CAACC,0CAA0C;EAElD,IAAIC,IAAI,GAAGV,EAAE,CAAE,qDAAsD,CAAC;EACtE,IAAKO,4BAA4B,EAAG;IACnCG,IAAI,GAAGV,EAAE,CACR,gEACD,CAAC;EACF,CAAC,MAAM,IAAKG,kBAAkB,EAAG;IAChCO,IAAI,GAAGV,EAAE,CACR,qGACD,CAAC;EACF,CAAC,MAAM,IAAKM,oBAAoB,EAAG;IAClCI,IAAI,GAAGV,EAAE,CACR,qGACD,CAAC;EACF;EAEA,OACCW,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACZ,aAAa;IACbc,KAAK,EAAGb,EAAE,CAAE,mBAAoB,CAAG;IACnCU,IAAI,EAAGA,IAAM;IACbI,OAAO,EACN,CAAEX,kBAAkB,IAAI,CAAEI,4BAC1B;IACDQ,QAAQ,EACPT,oBAAoB,IAAIC,4BACxB;IACDS,QAAQ,EAAKC,KAAK,IAAM;MACvBb,aAAa,CAAE;QACdD,kBAAkB,EAAE,CAAEc;MACvB,CAAE,CAAC;IACJ;EAAG,CACH,CACA,CAAC;AAEL","ignoreList":[]}
|