@wordpress/block-library 7.11.0 → 7.12.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/archives/edit.js +7 -0
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +4 -0
- package/build/archives/index.js.map +1 -1
- package/build/block/edit.js +4 -2
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +4 -2
- package/build/block/edit.native.js.map +1 -1
- package/build/calendar/edit.js +12 -5
- package/build/calendar/edit.js.map +1 -1
- package/build/columns/edit.native.js +2 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/cover/edit/resizable-cover.js +6 -0
- package/build/cover/edit/resizable-cover.js.map +1 -1
- package/build/group/transforms.js +5 -0
- package/build/group/transforms.js.map +1 -1
- package/build/index.native.js +17 -4
- package/build/index.native.js.map +1 -1
- package/build/list/index.js +6 -0
- package/build/list/index.js.map +1 -1
- package/build/list/v2/edit.js +16 -5
- package/build/list/v2/edit.js.map +1 -1
- package/build/list/v2/tag-name.js +31 -0
- package/build/list/v2/tag-name.js.map +1 -0
- package/build/list/v2/tag-name.native.js +32 -0
- package/build/list/v2/tag-name.native.js.map +1 -0
- package/build/list/v2/transforms.js +1 -11
- package/build/list/v2/transforms.js.map +1 -1
- package/build/list-item/edit.js +1 -0
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +158 -0
- package/build/list-item/edit.native.js.map +1 -0
- package/build/list-item/icons.native.js +53 -0
- package/build/list-item/icons.native.js.map +1 -0
- package/build/list-item/list-style-type.native.js +136 -0
- package/build/list-item/list-style-type.native.js.map +1 -0
- package/build/media-text/deprecated.js +188 -66
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +2 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/media-container.js +1 -1
- package/build/media-text/media-container.js.map +1 -1
- package/build/navigation/edit/index.js +68 -123
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +11 -14
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -2
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +13 -3
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +5 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-inner-blocks.js +43 -0
- package/build/navigation/edit/use-inner-blocks.js.map +1 -0
- package/build/navigation/edit/utils.js +28 -0
- package/build/navigation/edit/utils.js.map +1 -0
- package/build/navigation/use-navigation-menu.js +7 -3
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/post-author/edit.js +5 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-biography/edit.js +7 -1
- package/build/post-author-biography/edit.js.map +1 -1
- package/build/post-content/edit.js +4 -2
- package/build/post-content/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +16 -2
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +9 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +42 -9
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +21 -14
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query-title/edit.js +20 -7
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +4 -0
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/variations.js +10 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/quote/transforms.js +2 -2
- package/build/quote/transforms.js.map +1 -1
- package/build/separator/edit.js +1 -1
- package/build/separator/edit.js.map +1 -1
- package/build/social-links/edit.js +1 -0
- package/build/social-links/edit.js.map +1 -1
- package/build/template-part/edit/index.js +4 -2
- package/build/template-part/edit/index.js.map +1 -1
- package/build-module/archives/edit.js +7 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +4 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/block/edit.js +5 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +5 -3
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/calendar/edit.js +12 -4
- package/build-module/calendar/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +3 -2
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/cover/edit/resizable-cover.js +6 -0
- package/build-module/cover/edit/resizable-cover.js.map +1 -1
- package/build-module/group/transforms.js +5 -0
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/index.native.js +16 -4
- package/build-module/index.native.js.map +1 -1
- package/build-module/list/index.js +1 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/list/v2/edit.js +15 -5
- package/build-module/list/v2/edit.js.map +1 -1
- package/build-module/list/v2/tag-name.js +21 -0
- package/build-module/list/v2/tag-name.js.map +1 -0
- package/build-module/list/v2/tag-name.native.js +21 -0
- package/build-module/list/v2/tag-name.native.js.map +1 -0
- package/build-module/list/v2/transforms.js +1 -10
- package/build-module/list/v2/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +1 -3
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +141 -0
- package/build-module/list-item/edit.native.js.map +1 -0
- package/build-module/list-item/icons.native.js +37 -0
- package/build-module/list-item/icons.native.js.map +1 -0
- package/build-module/list-item/list-style-type.native.js +124 -0
- package/build-module/list-item/list-style-type.native.js.map +1 -0
- package/build-module/media-text/deprecated.js +189 -65
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +2 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/media-container.js +1 -1
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/navigation/edit/index.js +66 -122
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -2
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +12 -3
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-inner-blocks.js +33 -0
- package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
- package/build-module/navigation/edit/utils.js +21 -0
- package/build-module/navigation/edit/utils.js.map +1 -0
- package/build-module/navigation/use-navigation-menu.js +7 -3
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/post-author/edit.js +5 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-biography/edit.js +6 -1
- package/build-module/post-author-biography/edit.js.map +1 -1
- package/build-module/post-content/edit.js +5 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +17 -3
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +9 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +42 -9
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +16 -12
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query-title/edit.js +20 -8
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +4 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/variations.js +10 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/quote/transforms.js +3 -3
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/separator/edit.js +1 -1
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/social-links/edit.js +1 -0
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +5 -3
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-style/editor-rtl.css +10 -0
- package/build-style/editor.css +10 -0
- package/build-style/latest-posts/editor-rtl.css +3 -0
- package/build-style/latest-posts/editor.css +3 -0
- package/build-style/navigation/style-rtl.css +17 -19
- package/build-style/navigation/style.css +17 -19
- package/build-style/query/editor-rtl.css +7 -0
- package/build-style/query/editor.css +7 -0
- package/build-style/query-pagination/style-rtl.css +6 -0
- package/build-style/query-pagination/style.css +6 -0
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/style-rtl.css +26 -19
- package/build-style/style.css +26 -19
- package/build-style/tag-cloud/style-rtl.css +1 -0
- package/build-style/tag-cloud/style.css +1 -0
- package/package.json +28 -29
- package/src/archives/block.json +4 -0
- package/src/archives/edit.js +12 -1
- package/src/archives/index.php +5 -3
- package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
- package/src/block/edit.js +4 -4
- package/src/block/edit.native.js +4 -4
- package/src/calendar/edit.js +11 -4
- package/src/columns/edit.native.js +4 -2
- package/src/cover/edit/resizable-cover.js +6 -0
- package/src/cover/index.php +2 -2
- package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
- package/src/group/transforms.js +7 -0
- package/src/home-link/index.php +8 -17
- package/src/image/test/edit.native.js +6 -10
- package/src/index.native.js +15 -2
- package/src/latest-posts/editor.scss +5 -0
- package/src/list/index.js +1 -1
- package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
- package/src/list/test/edit.native.js +511 -7
- package/src/list/v2/edit.js +12 -4
- package/src/list/v2/tag-name.js +13 -0
- package/src/list/v2/tag-name.native.js +12 -0
- package/src/list/v2/transforms.js +1 -9
- package/src/list-item/edit.js +1 -1
- package/src/list-item/edit.native.js +148 -0
- package/src/list-item/icons.native.js +34 -0
- package/src/list-item/list-style-type.native.js +139 -0
- package/src/list-item/style.native.scss +45 -0
- package/src/media-text/deprecated.js +561 -415
- package/src/media-text/edit.js +1 -0
- package/src/media-text/media-container.js +3 -1
- package/src/media-text/test/media-container.js +24 -0
- package/src/navigation/edit/index.js +83 -164
- package/src/navigation/edit/navigation-menu-selector.js +12 -26
- package/src/navigation/edit/placeholder/index.js +4 -2
- package/src/navigation/edit/responsive-wrapper.js +24 -3
- package/src/navigation/edit/use-create-navigation-menu.js +4 -0
- package/src/navigation/edit/use-inner-blocks.js +39 -0
- package/src/navigation/edit/utils.js +30 -0
- package/src/navigation/index.php +6 -0
- package/src/navigation/style.scss +12 -22
- package/src/navigation/use-navigation-menu.js +9 -5
- package/src/navigation-link/index.php +1 -1
- package/src/navigation-submenu/index.php +1 -1
- package/src/page-list/index.php +4 -4
- package/src/post-author/edit.js +6 -3
- package/src/post-author-biography/edit.js +4 -1
- package/src/post-content/edit.js +4 -4
- package/src/post-featured-image/block.json +9 -0
- package/src/post-featured-image/edit.js +23 -1
- package/src/post-featured-image/index.php +3 -1
- package/src/post-title/index.php +2 -1
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
- package/src/query/edit/inspector-controls/index.js +129 -65
- package/src/query/edit/inspector-controls/taxonomy-controls.js +17 -10
- package/src/query/editor.scss +9 -0
- package/src/query-pagination/style.scss +14 -0
- package/src/query-title/block.json +4 -0
- package/src/query-title/edit.js +33 -6
- package/src/query-title/index.php +17 -1
- package/src/query-title/variations.js +13 -0
- package/src/quote/transforms.js +3 -7
- package/src/search/style.scss +2 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
- package/src/separator/edit.js +1 -1
- package/src/separator/test/edit.js +5 -3
- package/src/site-title/index.php +8 -9
- package/src/social-link/index.php +1 -1
- package/src/social-links/edit.js +1 -0
- package/src/tag-cloud/style.scss +1 -0
- package/src/template-part/edit/index.js +4 -4
|
@@ -5,7 +5,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
5
5
|
*/
|
|
6
6
|
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
7
7
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
8
|
-
import { MenuItem, ToggleControl, PanelBody, Placeholder, Button } from '@wordpress/components';
|
|
8
|
+
import { MenuItem, ToggleControl, PanelBody, Placeholder, Button, TextControl } from '@wordpress/components';
|
|
9
9
|
import { InspectorControls, BlockControls, MediaPlaceholder, MediaReplaceFlow, useBlockProps, store as blockEditorStore } from '@wordpress/block-editor';
|
|
10
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
11
11
|
import { upload } from '@wordpress/icons';
|
|
@@ -47,7 +47,9 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
47
47
|
height,
|
|
48
48
|
width,
|
|
49
49
|
scale,
|
|
50
|
-
sizeSlug
|
|
50
|
+
sizeSlug,
|
|
51
|
+
rel,
|
|
52
|
+
linkTarget
|
|
51
53
|
} = attributes;
|
|
52
54
|
const [featuredImage, setFeaturedImage] = useEntityProp('postType', postTypeSlug, 'featured_media', postId);
|
|
53
55
|
const {
|
|
@@ -121,7 +123,19 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
121
123
|
isLink: !isLink
|
|
122
124
|
}),
|
|
123
125
|
checked: isLink
|
|
124
|
-
})
|
|
126
|
+
}), isLink && createElement(Fragment, null, createElement(ToggleControl, {
|
|
127
|
+
label: __('Open in new tab'),
|
|
128
|
+
onChange: value => setAttributes({
|
|
129
|
+
linkTarget: value ? '_blank' : '_self'
|
|
130
|
+
}),
|
|
131
|
+
checked: linkTarget === '_blank'
|
|
132
|
+
}), createElement(TextControl, {
|
|
133
|
+
label: __('Link rel'),
|
|
134
|
+
value: rel,
|
|
135
|
+
onChange: newRel => setAttributes({
|
|
136
|
+
rel: newRel
|
|
137
|
+
})
|
|
138
|
+
})))));
|
|
125
139
|
let image;
|
|
126
140
|
|
|
127
141
|
if (!featuredImage && isDescendentOfQueryLoop) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","noticesStore","DimensionControls","ALLOWED_MEDIA_TYPES","placeholder","content","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholder() }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholder() }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","TextControl","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","noticesStore","DimensionControls","ALLOWED_MEDIA_TYPES","placeholder","content","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","rel","linkTarget","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","newRel","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst placeholder = ( content ) => {\n\treturn (\n\t\t<Placeholder\n\t\t\tclassName=\"block-editor-media-placeholder\"\n\t\t\twithIllustration={ true }\n\t\t>\n\t\t\t{ content }\n\t\t</Placeholder>\n\t);\n};\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug, rel, linkTarget } =\n\t\tattributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\t\t\t\tvalue={ rel }\n\t\t\t\t\t\t\t\tonChange={ ( newRel ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { rel: newRel } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholder() }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholder()\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholder() }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
|
|
@@ -31,6 +31,15 @@ const metadata = {
|
|
|
31
31
|
},
|
|
32
32
|
sizeSlug: {
|
|
33
33
|
type: "string"
|
|
34
|
+
},
|
|
35
|
+
rel: {
|
|
36
|
+
type: "string",
|
|
37
|
+
attribute: "rel",
|
|
38
|
+
"default": ""
|
|
39
|
+
},
|
|
40
|
+
linkTarget: {
|
|
41
|
+
type: "string",
|
|
42
|
+
"default": "_self"
|
|
34
43
|
}
|
|
35
44
|
},
|
|
36
45
|
usesContext: ["postId", "postType", "queryId"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/index.js"],"names":["postFeaturedImage","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,iBAAiB,IAAIC,IAA9B,QAA0C,kBAA1C;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postFeaturedImage as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
|
|
@@ -8,7 +8,7 @@ import { debounce } from 'lodash';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Notice } from '@wordpress/components';
|
|
11
|
+
import { PanelBody, TextControl, SelectControl, RangeControl, ToggleControl, Notice, __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { InspectorControls } from '@wordpress/block-editor';
|
|
14
14
|
import { useEffect, useState, useCallback } from '@wordpress/element';
|
|
@@ -21,7 +21,7 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
21
21
|
import OrderControl from './order-control';
|
|
22
22
|
import AuthorControl from './author-control';
|
|
23
23
|
import ParentControl from './parent-control';
|
|
24
|
-
import TaxonomyControls from './taxonomy-controls';
|
|
24
|
+
import { TaxonomyControls, useTaxonomiesInfo } from './taxonomy-controls';
|
|
25
25
|
import StickyControl from './sticky-control';
|
|
26
26
|
import { usePostTypes } from '../../utils';
|
|
27
27
|
|
|
@@ -56,6 +56,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
56
56
|
postTypesTaxonomiesMap,
|
|
57
57
|
postTypesSelectOptions
|
|
58
58
|
} = usePostTypes();
|
|
59
|
+
const taxonomiesInfo = useTaxonomiesInfo(postType);
|
|
59
60
|
const isPostTypeHierarchical = useIsPostTypeHierarchical(postType);
|
|
60
61
|
useEffect(() => {
|
|
61
62
|
setShowSticky(postType === 'post');
|
|
@@ -100,7 +101,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
100
101
|
onChangeDebounced();
|
|
101
102
|
return onChangeDebounced.cancel;
|
|
102
103
|
}, [querySearch, onChangeDebounced]);
|
|
103
|
-
return createElement(InspectorControls, null, createElement(PanelBody, {
|
|
104
|
+
return createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
104
105
|
title: __('Settings')
|
|
105
106
|
}, createElement(ToggleControl, {
|
|
106
107
|
label: __('Inherit query from template'),
|
|
@@ -135,22 +136,54 @@ export default function QueryInspectorControls(_ref) {
|
|
|
135
136
|
onChange: value => setQuery({
|
|
136
137
|
sticky: value
|
|
137
138
|
})
|
|
138
|
-
})), !inherit && createElement(
|
|
139
|
-
|
|
139
|
+
}))), !inherit && createElement(InspectorControls, null, createElement(ToolsPanel, {
|
|
140
|
+
className: "block-library-query-toolspanel__filters",
|
|
141
|
+
label: __('Filters'),
|
|
142
|
+
resetAll: () => {
|
|
143
|
+
setQuery({
|
|
144
|
+
author: '',
|
|
145
|
+
parents: [],
|
|
146
|
+
search: '',
|
|
147
|
+
taxQuery: null
|
|
148
|
+
});
|
|
149
|
+
setQuerySearch('');
|
|
150
|
+
}
|
|
151
|
+
}, !!(taxonomiesInfo !== null && taxonomiesInfo !== void 0 && taxonomiesInfo.length) && createElement(ToolsPanelItem, {
|
|
152
|
+
label: __('Taxonomies'),
|
|
153
|
+
hasValue: () => Object.values(taxQuery || {}).some(terms => !!terms.length),
|
|
154
|
+
onDeselect: () => setQuery({
|
|
155
|
+
taxQuery: null
|
|
156
|
+
})
|
|
140
157
|
}, createElement(TaxonomyControls, {
|
|
141
158
|
onChange: setQuery,
|
|
142
159
|
query: query
|
|
143
|
-
}), createElement(
|
|
160
|
+
})), createElement(ToolsPanelItem, {
|
|
161
|
+
hasValue: () => !!authorIds,
|
|
162
|
+
label: __('Authors'),
|
|
163
|
+
onDeselect: () => setQuery({
|
|
164
|
+
author: ''
|
|
165
|
+
})
|
|
166
|
+
}, createElement(AuthorControl, {
|
|
144
167
|
value: authorIds,
|
|
145
168
|
onChange: setQuery
|
|
146
|
-
}), createElement(
|
|
169
|
+
})), createElement(ToolsPanelItem, {
|
|
170
|
+
hasValue: () => !!querySearch,
|
|
171
|
+
label: __('Keyword'),
|
|
172
|
+
onDeselect: () => setQuerySearch('')
|
|
173
|
+
}, createElement(TextControl, {
|
|
147
174
|
label: __('Keyword'),
|
|
148
175
|
value: querySearch,
|
|
149
176
|
onChange: setQuerySearch
|
|
150
|
-
}), isPostTypeHierarchical && createElement(
|
|
177
|
+
})), isPostTypeHierarchical && createElement(ToolsPanelItem, {
|
|
178
|
+
hasValue: () => !!(parents !== null && parents !== void 0 && parents.length),
|
|
179
|
+
label: __('Parents'),
|
|
180
|
+
onDeselect: () => setQuery({
|
|
181
|
+
parents: []
|
|
182
|
+
})
|
|
183
|
+
}, createElement(ParentControl, {
|
|
151
184
|
parents: parents,
|
|
152
185
|
postType: postType,
|
|
153
186
|
onChange: setQuery
|
|
154
|
-
})));
|
|
187
|
+
})))));
|
|
155
188
|
}
|
|
156
189
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__","InspectorControls","useEffect","useState","useCallback","useSelect","store","coreStore","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","postType","select","type","getPostType","viewable","hierarchical","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","sticky","inherit","taxQuery","parents","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","columns","Math","max"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport TaxonomyControls from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nfunction useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t) }\n\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\tonChange={ ( value ) => setQuery( { inherit: !! value } ) }\n\t\t\t\t/>\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && (\n\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! inherit && showSticky && (\n\t\t\t\t\t<StickyControl\n\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\tonChange={ ( value ) => setQuery( { sticky: value } ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t\t{ ! inherit && (\n\t\t\t\t<PanelBody title={ __( 'Filters' ) }>\n\t\t\t\t\t<TaxonomyControls onChange={ setQuery } query={ query } />\n\t\t\t\t\t<AuthorControl value={ authorIds } onChange={ setQuery } />\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isPostTypeHierarchical && (\n\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["debounce","PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","useEffect","useState","useCallback","useSelect","store","coreStore","OrderControl","AuthorControl","ParentControl","TaxonomyControls","useTaxonomiesInfo","StickyControl","usePostTypes","useIsPostTypeHierarchical","postType","select","type","getPostType","viewable","hierarchical","QueryInspectorControls","attributes","query","displayLayout","setQuery","setDisplayLayout","order","orderBy","author","authorIds","sticky","inherit","taxQuery","parents","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomiesInfo","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { debounce } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls, useTaxonomiesInfo } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport { usePostTypes } from '../../utils';\n\nfunction useIsPostTypeHierarchical( postType ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst type = select( coreStore ).getPostType( postType );\n\t\t\treturn type?.viewable && type?.hierarchical;\n\t\t},\n\t\t[ postType ]\n\t);\n}\n\nexport default function QueryInspectorControls( {\n\tattributes: { query, displayLayout },\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomiesInfo = useTaxonomiesInfo( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetQuery( { inherit: !! value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! inherit && (\n\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called \"Post types\". By default there are a few different ones such as blog posts and pages, but plugins could add more.'\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{ displayLayout?.type === 'flex' && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Notice>\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{ ! inherit && (\n\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! inherit && showSticky && (\n\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetQuery( { sticky: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomiesInfo?.length && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t{ isPostTypeHierarchical && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -38,12 +38,8 @@ const getTermIdByTermValue = (termsMappedByName, termValue) => {
|
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
40
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
onChange,
|
|
44
|
-
query
|
|
45
|
-
} = _ref;
|
|
46
|
-
const taxonomies = useTaxonomies(query.postType);
|
|
41
|
+
export const useTaxonomiesInfo = postType => {
|
|
42
|
+
const taxonomies = useTaxonomies(postType);
|
|
47
43
|
const taxonomiesInfo = useSelect(select => {
|
|
48
44
|
const {
|
|
49
45
|
getEntityRecords
|
|
@@ -52,11 +48,11 @@ function TaxonomyControls(_ref) {
|
|
|
52
48
|
per_page: MAX_FETCHED_TERMS
|
|
53
49
|
};
|
|
54
50
|
|
|
55
|
-
const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(
|
|
51
|
+
const _taxonomiesInfo = taxonomies === null || taxonomies === void 0 ? void 0 : taxonomies.map(_ref => {
|
|
56
52
|
let {
|
|
57
53
|
slug,
|
|
58
54
|
name
|
|
59
|
-
} =
|
|
55
|
+
} = _ref;
|
|
60
56
|
|
|
61
57
|
const _terms = getEntityRecords('taxonomy', slug, termsQuery);
|
|
62
58
|
|
|
@@ -69,6 +65,14 @@ function TaxonomyControls(_ref) {
|
|
|
69
65
|
|
|
70
66
|
return _taxonomiesInfo;
|
|
71
67
|
}, [taxonomies]);
|
|
68
|
+
return taxonomiesInfo;
|
|
69
|
+
};
|
|
70
|
+
export function TaxonomyControls(_ref2) {
|
|
71
|
+
let {
|
|
72
|
+
onChange,
|
|
73
|
+
query
|
|
74
|
+
} = _ref2;
|
|
75
|
+
const taxonomiesInfo = useTaxonomiesInfo(query.postType);
|
|
72
76
|
|
|
73
77
|
const onTermsChange = taxonomySlug => newTermValues => {
|
|
74
78
|
const taxonomyInfo = taxonomiesInfo.find(_ref3 => {
|
|
@@ -131,15 +135,15 @@ function TaxonomyControls(_ref) {
|
|
|
131
135
|
return null;
|
|
132
136
|
}
|
|
133
137
|
|
|
134
|
-
return createElement(
|
|
138
|
+
return createElement("div", {
|
|
135
139
|
key: slug,
|
|
140
|
+
className: "block-library-query-inspector__taxonomy-control"
|
|
141
|
+
}, createElement(FormTokenField, {
|
|
136
142
|
label: name,
|
|
137
143
|
value: getExistingTaxQueryValue(slug),
|
|
138
144
|
suggestions: terms.names,
|
|
139
145
|
onChange: onTermsChange(slug)
|
|
140
|
-
});
|
|
146
|
+
}));
|
|
141
147
|
}));
|
|
142
148
|
}
|
|
143
|
-
|
|
144
|
-
export default TaxonomyControls;
|
|
145
149
|
//# sourceMappingURL=taxonomy-controls.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["FormTokenField","useSelect","store","coreStore","getEntitiesInfo","useTaxonomies","MAX_FETCHED_TERMS","getTermIdByTermValue","termsMappedByName","termValue","termId","id","termValueLower","toLocaleLowerCase","term","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/taxonomy-controls.js"],"names":["FormTokenField","useSelect","store","coreStore","getEntitiesInfo","useTaxonomies","MAX_FETCHED_TERMS","getTermIdByTermValue","termsMappedByName","termValue","termId","id","termValueLower","toLocaleLowerCase","term","useTaxonomiesInfo","postType","taxonomies","taxonomiesInfo","select","getEntityRecords","termsQuery","per_page","_taxonomiesInfo","map","slug","name","_terms","terms","TaxonomyControls","onChange","query","onTermsChange","taxonomySlug","newTermValues","taxonomyInfo","find","termIds","Array","from","reduce","accumulator","mapByName","add","Set","newTaxQuery","taxQuery","getExistingTaxQueryValue","mapById","push","value","length","names"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\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, useTaxonomies } from '../../utils';\nimport { MAX_FETCHED_TERMS } from '../../constants';\n\n// Helper function to get the term id based on user input in terms `FormTokenField`.\nconst getTermIdByTermValue = ( termsMappedByName, termValue ) => {\n\t// First we check for exact match by `term.id` or case sensitive `term.name` match.\n\tconst termId = termValue?.id || termsMappedByName[ termValue ]?.id;\n\tif ( termId ) return termId;\n\t/**\n\t * Here we make an extra check for entered terms in a non case sensitive way,\n\t * to match user expectations, due to `FormTokenField` behaviour that shows\n\t * suggestions which are case insensitive.\n\t *\n\t * Although WP tries to discourage users to add terms with the same name (case insensitive),\n\t * it's still possible if you manually change the name, as long as the terms have different slugs.\n\t * In this edge case we always apply the first match from the terms list.\n\t */\n\tconst termValueLower = termValue.toLocaleLowerCase();\n\tfor ( const term in termsMappedByName ) {\n\t\tif ( term.toLocaleLowerCase() === termValueLower ) {\n\t\t\treturn termsMappedByName[ term ].id;\n\t\t}\n\t}\n};\n\nexport const useTaxonomiesInfo = ( postType ) => {\n\tconst taxonomies = useTaxonomies( postType );\n\tconst taxonomiesInfo = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst termsQuery = { per_page: MAX_FETCHED_TERMS };\n\t\t\tconst _taxonomiesInfo = taxonomies?.map( ( { slug, name } ) => {\n\t\t\t\tconst _terms = getEntityRecords( 'taxonomy', slug, termsQuery );\n\t\t\t\treturn {\n\t\t\t\t\tslug,\n\t\t\t\t\tname,\n\t\t\t\t\tterms: getEntitiesInfo( _terms ),\n\t\t\t\t};\n\t\t\t} );\n\t\t\treturn _taxonomiesInfo;\n\t\t},\n\t\t[ taxonomies ]\n\t);\n\treturn taxonomiesInfo;\n};\n\nexport function TaxonomyControls( { onChange, query } ) {\n\tconst taxonomiesInfo = useTaxonomiesInfo( query.postType );\n\tconst onTermsChange = ( taxonomySlug ) => ( newTermValues ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return;\n\t\tconst termIds = Array.from(\n\t\t\tnewTermValues.reduce( ( accumulator, termValue ) => {\n\t\t\t\tconst termId = getTermIdByTermValue(\n\t\t\t\t\ttaxonomyInfo.terms.mapByName,\n\t\t\t\t\ttermValue\n\t\t\t\t);\n\t\t\t\tif ( termId ) accumulator.add( termId );\n\t\t\t\treturn accumulator;\n\t\t\t}, new Set() )\n\t\t);\n\t\tconst newTaxQuery = {\n\t\t\t...query.taxQuery,\n\t\t\t[ taxonomySlug ]: termIds,\n\t\t};\n\t\tonChange( { taxQuery: newTaxQuery } );\n\t};\n\t// Returns only the existing term ids in proper format to be\n\t// used in `FormTokenField`. This prevents the component from\n\t// crashing in the editor, when non existing term ids were provided.\n\tconst getExistingTaxQueryValue = ( taxonomySlug ) => {\n\t\tconst taxonomyInfo = taxonomiesInfo.find(\n\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t);\n\t\tif ( ! taxonomyInfo ) return [];\n\t\treturn ( query.taxQuery?.[ taxonomySlug ] || [] ).reduce(\n\t\t\t( accumulator, termId ) => {\n\t\t\t\tconst term = taxonomyInfo.terms.mapById[ termId ];\n\t\t\t\tif ( term ) {\n\t\t\t\t\taccumulator.push( {\n\t\t\t\t\t\tid: termId,\n\t\t\t\t\t\tvalue: term.name,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t[]\n\t\t);\n\t};\n\treturn (\n\t\t<>\n\t\t\t{ !! taxonomiesInfo?.length &&\n\t\t\t\ttaxonomiesInfo.map( ( { slug, name, terms } ) => {\n\t\t\t\t\tif ( ! terms?.names?.length ) {\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t}\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\tclassName=\"block-library-query-inspector__taxonomy-control\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<FormTokenField\n\t\t\t\t\t\t\t\tlabel={ name }\n\t\t\t\t\t\t\t\tvalue={ getExistingTaxQueryValue( slug ) }\n\t\t\t\t\t\t\t\tsuggestions={ terms.names }\n\t\t\t\t\t\t\t\tonChange={ onTermsChange( slug ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -8,31 +8,31 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { AlignmentControl, BlockControls, useBlockProps, Warning } from '@wordpress/block-editor';
|
|
11
|
+
import { AlignmentControl, BlockControls, InspectorControls, useBlockProps, Warning } from '@wordpress/block-editor';
|
|
12
|
+
import { ToggleControl, PanelBody } from '@wordpress/components';
|
|
12
13
|
import { __ } from '@wordpress/i18n';
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
15
16
|
*/
|
|
16
17
|
|
|
17
18
|
import HeadingLevelDropdown from '../heading/heading-level-dropdown';
|
|
18
|
-
const SUPPORTED_TYPES = ['archive'];
|
|
19
|
+
const SUPPORTED_TYPES = ['archive', 'search'];
|
|
19
20
|
export default function QueryTitleEdit(_ref) {
|
|
20
21
|
let {
|
|
21
22
|
attributes: {
|
|
22
23
|
type,
|
|
23
24
|
level,
|
|
24
|
-
textAlign
|
|
25
|
+
textAlign,
|
|
26
|
+
showSearchTerm
|
|
25
27
|
},
|
|
26
28
|
setAttributes
|
|
27
29
|
} = _ref;
|
|
28
30
|
const TagName = `h${level}`;
|
|
29
31
|
const blockProps = useBlockProps({
|
|
30
|
-
className: classnames({
|
|
31
|
-
[`has-text-align-${textAlign}`]: textAlign
|
|
32
|
-
'wp-block-query-title__placeholder': type === 'archive'
|
|
32
|
+
className: classnames('wp-block-query-title__placeholder', {
|
|
33
|
+
[`has-text-align-${textAlign}`]: textAlign
|
|
33
34
|
})
|
|
34
|
-
});
|
|
35
|
-
// block variations like `Search Title`.
|
|
35
|
+
});
|
|
36
36
|
|
|
37
37
|
if (!SUPPORTED_TYPES.includes(type)) {
|
|
38
38
|
return createElement("div", blockProps, createElement(Warning, null, __('Provided type is not supported.')));
|
|
@@ -44,6 +44,18 @@ export default function QueryTitleEdit(_ref) {
|
|
|
44
44
|
titleElement = createElement(TagName, blockProps, __('Archive title'));
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
if (type === 'search') {
|
|
48
|
+
titleElement = createElement(Fragment, null, createElement(InspectorControls, null, createElement(PanelBody, {
|
|
49
|
+
title: __('Settings')
|
|
50
|
+
}, createElement(ToggleControl, {
|
|
51
|
+
label: __('Show search term in title'),
|
|
52
|
+
onChange: () => setAttributes({
|
|
53
|
+
showSearchTerm: !showSearchTerm
|
|
54
|
+
}),
|
|
55
|
+
checked: showSearchTerm
|
|
56
|
+
}))), createElement(TagName, blockProps, showSearchTerm ? __('Search results for: "search term"') : __('Search results')));
|
|
57
|
+
}
|
|
58
|
+
|
|
47
59
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
48
60
|
group: "block"
|
|
49
61
|
}, createElement(HeadingLevelDropdown, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","useBlockProps","Warning","__","HeadingLevelDropdown","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","InspectorControls","useBlockProps","Warning","ToggleControl","PanelBody","__","HeadingLevelDropdown","SUPPORTED_TYPES","QueryTitleEdit","attributes","type","level","textAlign","showSearchTerm","setAttributes","TagName","blockProps","className","includes","titleElement","newLevel","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,iBAHD,EAICC,aAJD,EAKCC,OALD,QAMO,yBANP;AAOA,SAASC,aAAT,EAAwBC,SAAxB,QAAyC,uBAAzC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,mCAAjC;AAEA,MAAMC,eAAe,GAAG,CAAE,SAAF,EAAa,QAAb,CAAxB;AAEA,eAAe,SAASC,cAAT,OAGX;AAAA,MAHoC;AACvCC,IAAAA,UAAU,EAAE;AAAEC,MAAAA,IAAF;AAAQC,MAAAA,KAAR;AAAeC,MAAAA,SAAf;AAA0BC,MAAAA;AAA1B,KAD2B;AAEvCC,IAAAA;AAFuC,GAGpC;AACH,QAAMC,OAAO,GAAI,IAAIJ,KAAO,EAA5B;AACA,QAAMK,UAAU,GAAGf,aAAa,CAAE;AACjCgB,IAAAA,SAAS,EAAEpB,UAAU,CAAE,mCAAF,EAAuC;AAC3D,OAAG,kBAAkBe,SAAW,EAAhC,GAAqCA;AADsB,KAAvC;AADY,GAAF,CAAhC;;AAMA,MAAK,CAAEL,eAAe,CAACW,QAAhB,CAA0BR,IAA1B,CAAP,EAA0C;AACzC,WACC,qBAAUM,UAAV,EACC,cAAC,OAAD,QAAWX,EAAE,CAAE,iCAAF,CAAb,CADD,CADD;AAKA;;AAED,MAAIc,YAAJ;;AACA,MAAKT,IAAI,KAAK,SAAd,EAA0B;AACzBS,IAAAA,YAAY,GACX,cAAC,OAAD,EAAcH,UAAd,EAA6BX,EAAE,CAAE,eAAF,CAA/B,CADD;AAGA;;AAED,MAAKK,IAAI,KAAK,QAAd,EAAyB;AACxBS,IAAAA,YAAY,GACX,8BACC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,MAAA,KAAK,EAAGd,EAAE,CAAE,UAAF;AAArB,OACC,cAAC,aAAD;AACC,MAAA,KAAK,EAAGA,EAAE,CAAE,2BAAF,CADX;AAEC,MAAA,QAAQ,EAAG,MACVS,aAAa,CAAE;AACdD,QAAAA,cAAc,EAAE,CAAEA;AADJ,OAAF,CAHf;AAOC,MAAA,OAAO,EAAGA;AAPX,MADD,CADD,CADD,EAeC,cAAC,OAAD,EAAcG,UAAd,EACGH,cAAc,GACbR,EAAE,CAAE,mCAAF,CADW,GAEbA,EAAE,CAAE,gBAAF,CAHN,CAfD,CADD;AAuBA;;AAED,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,oBAAD;AACC,IAAA,aAAa,EAAGM,KADjB;AAEC,IAAA,QAAQ,EAAKS,QAAF,IACVN,aAAa,CAAE;AAAEH,MAAAA,KAAK,EAAES;AAAT,KAAF;AAHf,IADD,EAOC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGR,SADT;AAEC,IAAA,QAAQ,EAAKS,SAAF,IAAiB;AAC3BP,MAAAA,aAAa,CAAE;AAAEF,QAAAA,SAAS,EAAES;AAAb,OAAF,CAAb;AACA;AAJF,IAPD,CADD,EAeGF,YAfH,CADD;AAmBA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tInspectorControls,\n\tuseBlockProps,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nconst SUPPORTED_TYPES = [ 'archive', 'search' ];\n\nexport default function QueryTitleEdit( {\n\tattributes: { type, level, textAlign, showSearchTerm },\n\tsetAttributes,\n} ) {\n\tconst TagName = `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-query-title__placeholder', {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tif ( ! SUPPORTED_TYPES.includes( type ) ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>{ __( 'Provided type is not supported.' ) }</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tlet titleElement;\n\tif ( type === 'archive' ) {\n\t\ttitleElement = (\n\t\t\t<TagName { ...blockProps }>{ __( 'Archive title' ) }</TagName>\n\t\t);\n\t}\n\n\tif ( type === 'search' ) {\n\t\ttitleElement = (\n\t\t\t<>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Show search term in title' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowSearchTerm: ! showSearchTerm,\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ showSearchTerm }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t{ showSearchTerm\n\t\t\t\t\t\t? __( 'Search results for: \"search term\"' )\n\t\t\t\t\t\t: __( 'Search results' ) }\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\tselectedLevel={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t{ titleElement }\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","title","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-title/index.js"],"names":["edit","variations","deprecated","title","icon","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOA,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBH,EAAAA,IADuB;AAEvBJ,EAAAA,IAFuB;AAGvBC,EAAAA,UAHuB;AAIvBC,EAAAA;AAJuB,CAAjB","sourcesContent":["/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\nimport deprecated from './deprecated';\n\n/**\n * WordPress dependencies\n */\nimport { title as icon } from '@wordpress/icons';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tvariations,\n\tdeprecated,\n};\n"]}
|
|
@@ -13,6 +13,16 @@ const variations = [{
|
|
|
13
13
|
type: 'archive'
|
|
14
14
|
},
|
|
15
15
|
scope: ['inserter']
|
|
16
|
+
}, {
|
|
17
|
+
isDefault: false,
|
|
18
|
+
name: 'search-title',
|
|
19
|
+
title: __('Search Results Title'),
|
|
20
|
+
description: __('Display the search results title based on the queried object.'),
|
|
21
|
+
icon: title,
|
|
22
|
+
attributes: {
|
|
23
|
+
type: 'search'
|
|
24
|
+
},
|
|
25
|
+
scope: ['inserter']
|
|
16
26
|
}];
|
|
17
27
|
/**
|
|
18
28
|
* Add `isActive` function to all `query-title` variations, if not defined.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query-title/variations.js"],"names":["__","title","variations","isDefault","name","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,SAAS,EAAE,IADZ;AAECC,EAAAA,IAAI,EAAE,eAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,eAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,wDADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CADkB,CAAnB;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query-title/variations.js"],"names":["__","title","variations","isDefault","name","description","icon","attributes","type","scope","forEach","variation","isActive","blockAttributes","variationAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AACA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,SAAS,EAAE,IADZ;AAECC,EAAAA,IAAI,EAAE,eAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,eAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,wDADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CADkB,EAclB;AACCN,EAAAA,SAAS,EAAE,KADZ;AAECC,EAAAA,IAAI,EAAE,cAFP;AAGCH,EAAAA,KAAK,EAAED,EAAE,CAAE,sBAAF,CAHV;AAICK,EAAAA,WAAW,EAAEL,EAAE,CACd,+DADc,CAJhB;AAOCM,EAAAA,IAAI,EAAEL,KAPP;AAQCM,EAAAA,UAAU,EAAE;AACXC,IAAAA,IAAI,EAAE;AADK,GARb;AAWCC,EAAAA,KAAK,EAAE,CAAE,UAAF;AAXR,CAdkB,CAAnB;AA6BA;AACA;AACA;AACA;AACA;;AACAP,UAAU,CAACQ,OAAX,CAAsBC,SAAF,IAAiB;AACpC,MAAKA,SAAS,CAACC,QAAf,EAA0B;;AAC1BD,EAAAA,SAAS,CAACC,QAAV,GAAqB,CAAEC,eAAF,EAAmBC,mBAAnB,KACpBD,eAAe,CAACL,IAAhB,KAAyBM,mBAAmB,CAACN,IAD9C;AAEA,CAJD;AAMA,eAAeN,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { title } from '@wordpress/icons';\nconst variations = [\n\t{\n\t\tisDefault: true,\n\t\tname: 'archive-title',\n\t\ttitle: __( 'Archive Title' ),\n\t\tdescription: __(\n\t\t\t'Display the archive title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'archive',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n\t{\n\t\tisDefault: false,\n\t\tname: 'search-title',\n\t\ttitle: __( 'Search Results Title' ),\n\t\tdescription: __(\n\t\t\t'Display the search results title based on the queried object.'\n\t\t),\n\t\ticon: title,\n\t\tattributes: {\n\t\t\ttype: 'search',\n\t\t},\n\t\tscope: [ 'inserter' ],\n\t},\n];\n\n/**\n * Add `isActive` function to all `query-title` 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 ) return;\n\tvariation.isActive = ( blockAttributes, variationAttributes ) =>\n\t\tblockAttributes.type === variationAttributes.type;\n} );\n\nexport default variations;\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { createBlock, parseWithAttributeSchema
|
|
4
|
+
import { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';
|
|
5
5
|
const transforms = {
|
|
6
6
|
from: [{
|
|
7
7
|
type: 'block',
|
|
@@ -63,13 +63,13 @@ const transforms = {
|
|
|
63
63
|
}
|
|
64
64
|
}),
|
|
65
65
|
selector: 'blockquote',
|
|
66
|
-
transform: node => {
|
|
66
|
+
transform: (node, handler) => {
|
|
67
67
|
return createBlock('core/quote', // Don't try to parse any `cite` out of this content.
|
|
68
68
|
// * There may be more than one cite.
|
|
69
69
|
// * There may be more attribution text than just the cite.
|
|
70
70
|
// * If the cite is nested in the quoted text, it's wrong to
|
|
71
71
|
// remove it.
|
|
72
|
-
{},
|
|
72
|
+
{}, handler({
|
|
73
73
|
HTML: node.innerHTML,
|
|
74
74
|
mode: 'BLOCKS'
|
|
75
75
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","parseWithAttributeSchema","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/quote/transforms.js"],"names":["createBlock","parseWithAttributeSchema","transforms","from","type","blocks","transform","value","citation","anchor","fontSize","style","source","selector","query","content","map","innerBlocks","prefix","schema","blockquote","children","node","handler","HTML","innerHTML","mode","isMultiBlock","isMatch","some","name","__experimentalConvert","block","attributes","to","every","join"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parseWithAttributeSchema } from '@wordpress/blocks';\n\nconst transforms = {\n\tfrom: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\ttransform: ( { value, citation, anchor, fontSize, style } ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{\n\t\t\t\t\t\tcitation,\n\t\t\t\t\t\tanchor,\n\t\t\t\t\t\tfontSize,\n\t\t\t\t\t\tstyle,\n\t\t\t\t\t},\n\t\t\t\t\tparseWithAttributeSchema( value, {\n\t\t\t\t\t\ttype: 'array',\n\t\t\t\t\t\tsource: 'query',\n\t\t\t\t\t\tselector: 'p',\n\t\t\t\t\t\tquery: {\n\t\t\t\t\t\t\tcontent: {\n\t\t\t\t\t\t\t\ttype: 'string',\n\t\t\t\t\t\t\t\tsource: 'html',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t} ).map( ( { content } ) =>\n\t\t\t\t\t\tcreateBlock( 'core/paragraph', { content } )\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock( 'core/quote', { anchor }, innerBlocks ),\n\t\t},\n\t\t{\n\t\t\ttype: 'prefix',\n\t\t\tprefix: '>',\n\t\t\ttransform: ( content ) =>\n\t\t\t\tcreateBlock( 'core/quote', {}, [\n\t\t\t\t\tcreateBlock( 'core/paragraph', { content } ),\n\t\t\t\t] ),\n\t\t},\n\t\t{\n\t\t\ttype: 'raw',\n\t\t\tschema: () => ( {\n\t\t\t\tblockquote: {\n\t\t\t\t\tchildren: '*',\n\t\t\t\t},\n\t\t\t} ),\n\t\t\tselector: 'blockquote',\n\t\t\ttransform: ( node, handler ) => {\n\t\t\t\treturn createBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t// Don't try to parse any `cite` out of this content.\n\t\t\t\t\t// * There may be more than one cite.\n\t\t\t\t\t// * There may be more attribution text than just the cite.\n\t\t\t\t\t// * If the cite is nested in the quoted text, it's wrong to\n\t\t\t\t\t// remove it.\n\t\t\t\t\t{},\n\t\t\t\t\thandler( {\n\t\t\t\t\t\tHTML: node.innerHTML,\n\t\t\t\t\t\tmode: 'BLOCKS',\n\t\t\t\t\t} )\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tisMultiBlock: true,\n\t\t\tblocks: [ '*' ],\n\t\t\tisMatch: ( {}, blocks ) => {\n\t\t\t\treturn ! blocks.some( ( { name } ) => name === 'core/quote' );\n\t\t\t},\n\t\t\t__experimentalConvert: ( blocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/quote',\n\t\t\t\t\t{},\n\t\t\t\t\tblocks.map( ( block ) =>\n\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t)\n\t\t\t\t\t)\n\t\t\t\t),\n\t\t},\n\t],\n\tto: [\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/pullquote' ],\n\t\t\tisMatch: ( {}, block ) => {\n\t\t\t\treturn block.innerBlocks.every(\n\t\t\t\t\t( { name } ) => name === 'core/paragraph'\n\t\t\t\t);\n\t\t\t},\n\t\t\ttransform: (\n\t\t\t\t{ citation, anchor, fontSize, style },\n\t\t\t\tinnerBlocks\n\t\t\t) => {\n\t\t\t\tconst value = innerBlocks\n\t\t\t\t\t.map(\n\t\t\t\t\t\t( { attributes } ) => `<p>${ attributes.content }</p>`\n\t\t\t\t\t)\n\t\t\t\t\t.join( '' );\n\t\t\t\treturn createBlock( 'core/pullquote', {\n\t\t\t\t\tvalue,\n\t\t\t\t\tcitation,\n\t\t\t\t\tanchor,\n\t\t\t\t\tfontSize,\n\t\t\t\t\tstyle,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ 'core/group' ],\n\t\t\ttransform: ( { citation, anchor }, innerBlocks ) =>\n\t\t\t\tcreateBlock(\n\t\t\t\t\t'core/group',\n\t\t\t\t\t{ anchor },\n\t\t\t\t\tcitation\n\t\t\t\t\t\t? [\n\t\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t ]\n\t\t\t\t\t\t: innerBlocks\n\t\t\t\t),\n\t\t},\n\t\t{\n\t\t\ttype: 'block',\n\t\t\tblocks: [ '*' ],\n\t\t\ttransform: ( { citation }, innerBlocks ) =>\n\t\t\t\tcitation\n\t\t\t\t\t? [\n\t\t\t\t\t\t\t...innerBlocks,\n\t\t\t\t\t\t\tcreateBlock( 'core/paragraph', {\n\t\t\t\t\t\t\t\tcontent: citation,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t ]\n\t\t\t\t\t: innerBlocks,\n\t\t},\n\t],\n};\n\nexport default transforms;\n"]}
|