@wordpress/block-library 7.3.9 → 7.3.12
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/build/avatar/hooks.js +2 -2
- package/build/avatar/hooks.js.map +1 -1
- package/build/columns/index.js +3 -1
- package/build/columns/index.js.map +1 -1
- package/build/comment-author-name/edit.js +3 -3
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-author-name/index.js +0 -4
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-date/edit.js +4 -4
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-date/index.js +0 -4
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +0 -4
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +0 -4
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comments-query-loop/edit.js +10 -2
- package/build/comments-query-loop/edit.js.map +1 -1
- package/build/gallery/gap-styles.js +14 -4
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/image/edit.js +5 -56
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +4 -15
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.js +30 -4
- package/build/latest-posts/edit.js.map +1 -1
- package/build/media-text/edit.js +0 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/navigation/edit/index.js +81 -80
- package/build/navigation/edit/index.js.map +1 -1
- package/build/post-comments/edit.js +12 -33
- package/build/post-comments/edit.js.map +1 -1
- package/build/post-comments-form/edit.js +48 -25
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-comments-form/form.js +48 -0
- package/build/post-comments-form/form.js.map +1 -0
- package/build-module/avatar/hooks.js +2 -2
- package/build-module/avatar/hooks.js.map +1 -1
- package/build-module/columns/index.js +3 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-author-name/edit.js +3 -3
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-author-name/index.js +0 -4
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-date/edit.js +4 -4
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-date/index.js +0 -4
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +0 -4
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +0 -4
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comments-query-loop/edit.js +10 -2
- package/build-module/comments-query-loop/edit.js.map +1 -1
- package/build-module/gallery/gap-styles.js +14 -4
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/image/edit.js +4 -52
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +5 -16
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.js +29 -5
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/media-text/edit.js +0 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/navigation/edit/index.js +81 -80
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/post-comments/edit.js +12 -34
- package/build-module/post-comments/edit.js.map +1 -1
- package/build-module/post-comments-form/edit.js +49 -28
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-comments-form/form.js +39 -0
- package/build-module/post-comments-form/form.js.map +1 -0
- package/build-style/editor-rtl.css +3 -0
- package/build-style/editor.css +3 -0
- package/build-style/navigation/style-rtl.css +3 -0
- package/build-style/navigation/style.css +3 -0
- package/build-style/post-comments/style-rtl.css +15 -0
- package/build-style/post-comments/style.css +15 -0
- package/build-style/post-comments-form/editor-rtl.css +3 -0
- package/build-style/post-comments-form/editor.css +3 -0
- package/build-style/style-rtl.css +18 -0
- package/build-style/style.css +18 -0
- package/package.json +7 -7
- package/src/avatar/hooks.js +9 -6
- package/src/columns/block.json +3 -1
- package/src/comment-author-name/block.json +0 -4
- package/src/comment-author-name/edit.js +3 -12
- package/src/comment-date/block.json +0 -4
- package/src/comment-date/edit.js +10 -14
- package/src/comment-date/index.php +0 -3
- package/src/comment-edit-link/block.json +0 -4
- package/src/comment-reply-link/block.json +0 -4
- package/src/comments-query-loop/edit.js +24 -4
- package/src/cover/index.php +9 -6
- package/src/gallery/gap-styles.js +21 -6
- package/src/gallery/index.php +24 -4
- package/src/image/edit.js +0 -44
- package/src/image/image.js +3 -14
- package/src/latest-posts/edit.js +27 -2
- package/src/media-text/edit.js +0 -1
- package/src/navigation/edit/index.js +140 -143
- package/src/navigation/style.scss +3 -0
- package/src/post-comments/edit.js +13 -42
- package/src/post-comments/style.scss +18 -0
- package/src/post-comments-form/edit.js +68 -59
- package/src/post-comments-form/editor.scss +4 -0
- package/src/post-comments-form/form.js +43 -0
- package/src/post-template/index.php +15 -3
|
@@ -11,13 +11,17 @@ import {
|
|
|
11
11
|
BlockControls,
|
|
12
12
|
Warning,
|
|
13
13
|
useBlockProps,
|
|
14
|
+
store as blockEditorStore,
|
|
14
15
|
} from '@wordpress/block-editor';
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
import { Button } from '@wordpress/components';
|
|
17
|
+
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
18
|
+
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
19
|
+
import { useSelect } from '@wordpress/data';
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Internal dependencies
|
|
23
|
+
*/
|
|
24
|
+
import CommentsForm from './form';
|
|
21
25
|
|
|
22
26
|
export default function PostCommentsFormEdit( {
|
|
23
27
|
attributes,
|
|
@@ -26,7 +30,7 @@ export default function PostCommentsFormEdit( {
|
|
|
26
30
|
} ) {
|
|
27
31
|
const { textAlign } = attributes;
|
|
28
32
|
const { postId, postType } = context;
|
|
29
|
-
const [ commentStatus ] = useEntityProp(
|
|
33
|
+
const [ commentStatus, setCommentStatus ] = useEntityProp(
|
|
30
34
|
'postType',
|
|
31
35
|
postType,
|
|
32
36
|
'comment_status',
|
|
@@ -38,11 +42,62 @@ export default function PostCommentsFormEdit( {
|
|
|
38
42
|
} ),
|
|
39
43
|
} );
|
|
40
44
|
|
|
41
|
-
const
|
|
45
|
+
const isSiteEditor = postType === undefined || postId === undefined;
|
|
42
46
|
|
|
43
|
-
const
|
|
47
|
+
const { defaultCommentStatus } = useSelect(
|
|
48
|
+
( select ) =>
|
|
49
|
+
select( blockEditorStore ).getSettings()
|
|
50
|
+
.__experimentalDiscussionSettings
|
|
51
|
+
);
|
|
44
52
|
|
|
45
|
-
const
|
|
53
|
+
const postTypeSupportsComments = useSelect( ( select ) =>
|
|
54
|
+
postType
|
|
55
|
+
? !! select( coreStore ).getPostType( postType )?.supports.comments
|
|
56
|
+
: false
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
let warning = false;
|
|
60
|
+
let actions;
|
|
61
|
+
let showPlaceholder = true;
|
|
62
|
+
|
|
63
|
+
if ( ! isSiteEditor && 'open' !== commentStatus ) {
|
|
64
|
+
if ( 'closed' === commentStatus ) {
|
|
65
|
+
warning = sprintf(
|
|
66
|
+
/* translators: 1: Post type (i.e. "post", "page") */
|
|
67
|
+
__(
|
|
68
|
+
'Post Comments Form block: Comments on this %s are not allowed.'
|
|
69
|
+
),
|
|
70
|
+
postType
|
|
71
|
+
);
|
|
72
|
+
actions = [
|
|
73
|
+
<Button
|
|
74
|
+
key="enableComments"
|
|
75
|
+
onClick={ () => setCommentStatus( 'open' ) }
|
|
76
|
+
variant="primary"
|
|
77
|
+
>
|
|
78
|
+
{ _x(
|
|
79
|
+
'Enable comments',
|
|
80
|
+
'action that affects the current post'
|
|
81
|
+
) }
|
|
82
|
+
</Button>,
|
|
83
|
+
];
|
|
84
|
+
showPlaceholder = false;
|
|
85
|
+
} else if ( ! postTypeSupportsComments ) {
|
|
86
|
+
warning = sprintf(
|
|
87
|
+
/* translators: 1: Post type (i.e. "post", "page") */
|
|
88
|
+
__(
|
|
89
|
+
'Post Comments Form block: Comments for this post type (%s) are not enabled.'
|
|
90
|
+
),
|
|
91
|
+
postType
|
|
92
|
+
);
|
|
93
|
+
showPlaceholder = false;
|
|
94
|
+
} else if ( 'open' !== defaultCommentStatus ) {
|
|
95
|
+
warning = __(
|
|
96
|
+
'Post Comments Form block: Comments are not enabled.'
|
|
97
|
+
);
|
|
98
|
+
showPlaceholder = false;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
46
101
|
|
|
47
102
|
return (
|
|
48
103
|
<>
|
|
@@ -55,57 +110,11 @@ export default function PostCommentsFormEdit( {
|
|
|
55
110
|
/>
|
|
56
111
|
</BlockControls>
|
|
57
112
|
<div { ...blockProps }>
|
|
58
|
-
{
|
|
59
|
-
<Warning>
|
|
60
|
-
{ __(
|
|
61
|
-
'Post Comments Form block: comments are not enabled for this post type.'
|
|
62
|
-
) }
|
|
63
|
-
</Warning>
|
|
113
|
+
{ warning && (
|
|
114
|
+
<Warning actions={ actions }>{ warning }</Warning>
|
|
64
115
|
) }
|
|
65
116
|
|
|
66
|
-
{
|
|
67
|
-
<Warning>
|
|
68
|
-
{ sprintf(
|
|
69
|
-
/* translators: 1: Post type (i.e. "post", "page") */
|
|
70
|
-
__(
|
|
71
|
-
'Post Comments Form block: comments to this %s are not allowed.'
|
|
72
|
-
),
|
|
73
|
-
postType
|
|
74
|
-
) }
|
|
75
|
-
</Warning>
|
|
76
|
-
) }
|
|
77
|
-
|
|
78
|
-
{ ( 'open' === commentStatus || isInSiteEditor ) && (
|
|
79
|
-
<div>
|
|
80
|
-
<h3>{ __( 'Leave a Reply' ) }</h3>
|
|
81
|
-
<form
|
|
82
|
-
noValidate
|
|
83
|
-
className="comment-form"
|
|
84
|
-
ref={ disabledFormRef }
|
|
85
|
-
>
|
|
86
|
-
<p>
|
|
87
|
-
<label htmlFor={ `comment-${ instanceId }` }>
|
|
88
|
-
{ __( 'Comment' ) }
|
|
89
|
-
</label>
|
|
90
|
-
<textarea
|
|
91
|
-
id={ `comment-${ instanceId }` }
|
|
92
|
-
name="comment"
|
|
93
|
-
cols="45"
|
|
94
|
-
rows="8"
|
|
95
|
-
/>
|
|
96
|
-
</p>
|
|
97
|
-
<p>
|
|
98
|
-
<input
|
|
99
|
-
name="submit"
|
|
100
|
-
className="submit wp-block-button__link"
|
|
101
|
-
label={ __( 'Post Comment' ) }
|
|
102
|
-
value={ __( 'Post Comment' ) }
|
|
103
|
-
readOnly
|
|
104
|
-
/>
|
|
105
|
-
</p>
|
|
106
|
-
</form>
|
|
107
|
-
</div>
|
|
108
|
-
) }
|
|
117
|
+
{ showPlaceholder ? <CommentsForm /> : null }
|
|
109
118
|
</div>
|
|
110
119
|
</>
|
|
111
120
|
);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import {
|
|
6
|
+
__experimentalUseDisabled as useDisabled,
|
|
7
|
+
useInstanceId,
|
|
8
|
+
} from '@wordpress/compose';
|
|
9
|
+
|
|
10
|
+
const CommentsForm = () => {
|
|
11
|
+
const disabledFormRef = useDisabled();
|
|
12
|
+
const instanceId = useInstanceId( CommentsForm );
|
|
13
|
+
|
|
14
|
+
return (
|
|
15
|
+
<div className="comment-respond">
|
|
16
|
+
<h3 className="comment-reply-title">{ __( 'Leave a Reply' ) }</h3>
|
|
17
|
+
<form noValidate className="comment-form" ref={ disabledFormRef }>
|
|
18
|
+
<p>
|
|
19
|
+
<label htmlFor={ `comment-${ instanceId }` }>
|
|
20
|
+
{ __( 'Comment' ) }
|
|
21
|
+
</label>
|
|
22
|
+
<textarea
|
|
23
|
+
id={ `comment-${ instanceId }` }
|
|
24
|
+
name="comment"
|
|
25
|
+
cols="45"
|
|
26
|
+
rows="8"
|
|
27
|
+
/>
|
|
28
|
+
</p>
|
|
29
|
+
<p className="form-submit wp-block-button">
|
|
30
|
+
<input
|
|
31
|
+
name="submit"
|
|
32
|
+
type="submit"
|
|
33
|
+
className="submit wp-block-button__link"
|
|
34
|
+
label={ __( 'Post Comment' ) }
|
|
35
|
+
value={ __( 'Post Comment' ) }
|
|
36
|
+
/>
|
|
37
|
+
</p>
|
|
38
|
+
</form>
|
|
39
|
+
</div>
|
|
40
|
+
);
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export default CommentsForm;
|
|
@@ -82,17 +82,29 @@ function render_block_core_post_template( $attributes, $content, $block ) {
|
|
|
82
82
|
$content = '';
|
|
83
83
|
while ( $query->have_posts() ) {
|
|
84
84
|
$query->the_post();
|
|
85
|
+
|
|
86
|
+
// Get an instance of the current Post Template block.
|
|
87
|
+
$block_instance = $block->parsed_block;
|
|
88
|
+
|
|
89
|
+
// Set the block name to one that does not correspond to an existing registered block.
|
|
90
|
+
// This ensures that for the inner instances of the Post Template block, we do not render any block supports.
|
|
91
|
+
$block_instance['blockName'] = 'core/null';
|
|
92
|
+
|
|
93
|
+
// Render the inner blocks of the Post Template block with `dynamic` set to `false` to prevent calling
|
|
94
|
+
// `render_callback` and ensure that no wrapper markup is included.
|
|
85
95
|
$block_content = (
|
|
86
96
|
new WP_Block(
|
|
87
|
-
$
|
|
97
|
+
$block_instance,
|
|
88
98
|
array(
|
|
89
99
|
'postType' => get_post_type(),
|
|
90
100
|
'postId' => get_the_ID(),
|
|
91
101
|
)
|
|
92
102
|
)
|
|
93
103
|
)->render( array( 'dynamic' => false ) );
|
|
94
|
-
|
|
95
|
-
|
|
104
|
+
|
|
105
|
+
// Wrap the render inner blocks in a `li` element with the appropriate post classes.
|
|
106
|
+
$post_classes = implode( ' ', get_post_class( 'wp-block-post' ) );
|
|
107
|
+
$content .= '<li class="' . esc_attr( $post_classes ) . '">' . $block_content . '</li>';
|
|
96
108
|
}
|
|
97
109
|
|
|
98
110
|
wp_reset_postdata();
|