@wordpress/block-library 7.16.0 → 7.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +44 -4
- package/build/audio/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/comment-template/edit.js +40 -32
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/index.js +6 -2
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/edit/placeholder.js +1 -4
- package/build/comments/edit/placeholder.js.map +1 -1
- package/build/comments/index.js +5 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-title/edit.js +18 -1
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/index.js +2 -2
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/use-cover-is-dark.js +8 -7
- package/build/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build/embed/deprecated.js +43 -4
- package/build/embed/deprecated.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/file/deprecated.js +108 -4
- package/build/file/deprecated.js.map +1 -1
- package/build/file/transforms.js +3 -9
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +148 -23
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/transforms.js +3 -3
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +3 -2
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +7 -3
- package/build/group/edit.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +33 -12
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +1 -7
- package/build/image/transforms.js.map +1 -1
- package/build/latest-posts/edit.js +1 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +9 -1
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +3 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +3 -2
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-merge.js +19 -22
- package/build/list-item/hooks/use-merge.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +24 -10
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/index.js +14 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +14 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/navigation/edit/index.js +45 -31
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +3 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/index.js +4 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation-link/edit.js +5 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +1 -5
- package/build/page-list/index.js.map +1 -1
- package/build/paragraph/edit.js +3 -11
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +11 -4
- package/build/pattern/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/form.js +1 -2
- package/build/post-comments-form/form.js.map +1 -1
- package/build/post-comments-form/index.js +4 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +14 -6
- package/build/post-content/edit.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -6
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -2
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +79 -104
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/search/edit.js +3 -4
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +7 -10
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +21 -9
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-title/edit/index.js +20 -8
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +11 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +3 -0
- package/build/social-link/index.js.map +1 -1
- package/build/spacer/controls.js +3 -7
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +282 -27
- package/build/table/deprecated.js.map +1 -1
- package/build/table/state.js +2 -2
- package/build/table/state.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -4
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +8 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/utils/clean-empty-object.js +5 -4
- package/build/utils/clean-empty-object.js.map +1 -1
- package/build/video/deprecated.js +159 -0
- package/build/video/deprecated.js.map +1 -0
- package/build/video/edit.js +41 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +3 -0
- package/build/video/index.js.map +1 -1
- package/build/video/tracks-editor.js +3 -28
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +46 -7
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/comment-template/edit.js +38 -30
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/index.js +6 -2
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/edit/placeholder.js +1 -3
- package/build-module/comments/edit/placeholder.js.map +1 -1
- package/build-module/comments/index.js +5 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-title/edit.js +18 -2
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -2
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/use-cover-is-dark.js +7 -7
- package/build-module/cover/edit/use-cover-is-dark.js.map +1 -1
- package/build-module/embed/deprecated.js +44 -5
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/file/deprecated.js +108 -4
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/transforms.js +3 -8
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +147 -25
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/transforms.js +4 -4
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +3 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +4 -3
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +7 -3
- package/build-module/group/edit.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +36 -15
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +1 -6
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +9 -1
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +3 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +3 -2
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/use-merge.js +19 -21
- package/build-module/list-item/hooks/use-merge.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +24 -9
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/index.js +14 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +14 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/navigation/edit/index.js +45 -31
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +3 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +25 -8
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/index.js +4 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation-link/edit.js +5 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +1 -5
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/paragraph/edit.js +3 -10
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +10 -3
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/form.js +2 -3
- package/build-module/post-comments-form/form.js.map +1 -1
- package/build-module/post-comments-form/index.js +4 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +14 -6
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/pullquote/deprecated.js +7 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +4 -4
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +81 -102
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/search/edit.js +4 -5
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +8 -11
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +23 -11
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +22 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +11 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +3 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/spacer/controls.js +4 -8
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +282 -27
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/state.js +3 -3
- package/build-module/table/state.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +8 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/utils/clean-empty-object.js +5 -5
- package/build-module/utils/clean-empty-object.js.map +1 -1
- package/build-module/video/deprecated.js +147 -0
- package/build-module/video/deprecated.js.map +1 -0
- package/build-module/video/edit.js +45 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +2 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/tracks-editor.js +4 -29
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/archives/style-rtl.css +4 -0
- package/build-style/archives/style.css +4 -0
- package/build-style/button/style-rtl.css +1 -0
- package/build-style/button/style.css +1 -0
- package/build-style/comment-template/style-rtl.css +1 -0
- package/build-style/comment-template/style.css +1 -0
- package/build-style/comments/editor-rtl.css +1 -0
- package/build-style/comments/editor.css +1 -0
- package/build-style/comments/style-rtl.css +1 -0
- package/build-style/comments/style.css +1 -0
- package/build-style/cover/editor-rtl.css +4 -0
- package/build-style/cover/editor.css +4 -0
- package/build-style/editor-rtl.css +13 -21
- package/build-style/editor.css +13 -21
- package/build-style/group/editor-rtl.css +1 -0
- package/build-style/group/editor.css +1 -0
- package/build-style/image/editor-rtl.css +1 -1
- package/build-style/image/editor.css +1 -1
- package/build-style/navigation/editor-rtl.css +5 -4
- package/build-style/navigation/editor.css +5 -4
- package/build-style/navigation/style-rtl.css +3 -1
- package/build-style/navigation/style.css +3 -1
- package/build-style/paragraph/editor-rtl.css +0 -16
- package/build-style/paragraph/editor.css +0 -16
- package/build-style/post-comments-form/style-rtl.css +3 -0
- package/build-style/post-comments-form/style.css +3 -0
- package/build-style/site-logo/editor-rtl.css +1 -0
- package/build-style/site-logo/editor.css +1 -0
- package/build-style/style-rtl.css +16 -1
- package/build-style/style.css +16 -1
- package/build-style/tag-cloud/style-rtl.css +3 -0
- package/build-style/tag-cloud/style.css +3 -0
- package/package.json +29 -28
- package/src/archives/edit.js +1 -0
- package/src/archives/style.scss +5 -0
- package/src/audio/edit.js +79 -24
- package/src/avatar/index.php +1 -1
- package/src/button/edit.js +1 -1
- package/src/button/style.scss +2 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/code/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/code/test/edit.native.js +46 -32
- package/src/comment-template/block.json +6 -2
- package/src/comment-template/edit.js +47 -34
- package/src/comment-template/style.scss +2 -0
- package/src/comments/block.json +5 -1
- package/src/comments/edit/placeholder.js +1 -7
- package/src/comments/style.scss +2 -0
- package/src/comments-title/edit.js +24 -1
- package/src/cover/edit/index.js +2 -7
- package/src/cover/edit/inspector-controls.js +11 -13
- package/src/cover/edit/use-cover-is-dark.js +11 -11
- package/src/cover/editor.scss +7 -0
- package/src/embed/deprecated.js +53 -26
- package/src/embed/variations.js +1 -1
- package/src/file/deprecated.js +130 -2
- package/src/file/transforms.js +3 -8
- package/src/gallery/deprecated.js +129 -4
- package/src/gallery/gallery.js +2 -0
- package/src/gallery/index.php +19 -10
- package/src/gallery/transforms.js +8 -5
- package/src/gallery/use-image-sizes.js +3 -2
- package/src/gallery/v1/edit.js +4 -3
- package/src/group/edit.js +10 -2
- package/src/group/editor.scss +1 -0
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +4 -1
- package/src/image/image.js +75 -33
- package/src/image/transforms.js +1 -7
- package/src/latest-posts/edit.js +2 -2
- package/src/list/test/edit.native.js +102 -3
- package/src/list/transforms.js +11 -0
- package/src/list/utils.js +3 -11
- package/src/list-item/block.json +14 -1
- package/src/list-item/edit.js +2 -1
- package/src/list-item/edit.native.js +2 -1
- package/src/list-item/hooks/use-merge.js +4 -23
- package/src/list-item/hooks/use-outdent-list-item.js +9 -8
- package/src/navigation/block.json +4 -1
- package/src/navigation/edit/index.js +61 -37
- package/src/navigation/edit/inner-blocks.js +2 -5
- package/src/navigation/edit/unsaved-inner-blocks.js +9 -2
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +32 -5
- package/src/navigation/edit/use-create-navigation-menu.js +2 -5
- package/src/navigation/editor.scss +5 -4
- package/src/navigation/index.php +103 -6
- package/src/navigation/style.scss +3 -1
- package/src/navigation-link/edit.js +6 -5
- package/src/navigation-link/index.php +8 -1
- package/src/navigation-submenu/edit.js +7 -5
- package/src/navigation-submenu/index.php +8 -1
- package/src/page-list/block.json +1 -5
- package/src/page-list/edit.js +36 -22
- package/src/page-list/index.php +8 -6
- package/src/paragraph/edit.js +1 -14
- package/src/paragraph/editor.scss +0 -20
- package/src/pattern/edit.js +10 -3
- package/src/post-comments-count/block.json +4 -0
- package/src/post-comments-form/block.json +4 -0
- package/src/post-comments-form/form.js +2 -3
- package/src/post-comments-form/style.scss +3 -0
- package/src/post-comments-link/block.json +4 -0
- package/src/post-content/edit.js +8 -4
- package/src/pullquote/deprecated.js +7 -7
- package/src/query/edit/inspector-controls/index.js +4 -3
- package/src/query/edit/inspector-controls/taxonomy-controls.js +82 -87
- package/src/rss/index.php +3 -3
- package/src/search/edit.js +7 -2
- package/src/search/index.php +21 -13
- package/src/site-logo/edit.js +12 -10
- package/src/site-logo/editor.scss +1 -0
- package/src/site-tagline/edit.js +25 -18
- package/src/site-title/edit/index.js +26 -12
- package/src/social-link/block.json +3 -0
- package/src/social-link/edit.js +8 -1
- package/src/social-link/index.php +11 -7
- package/src/spacer/controls.js +10 -12
- package/src/table/deprecated.js +587 -348
- package/src/table/state.js +3 -3
- package/src/table-of-contents/edit.js +1 -3
- package/src/tag-cloud/block.json +8 -0
- package/src/tag-cloud/edit.js +1 -1
- package/src/tag-cloud/style.scss +3 -0
- package/src/template-part/index.php +4 -0
- package/src/utils/clean-empty-object.js +5 -6
- package/src/video/deprecated.js +57 -0
- package/src/video/edit.js +71 -23
- package/src/video/index.js +2 -0
- package/src/video/tracks-editor.js +12 -28
- package/build/paragraph/drop-zone.js +0 -99
- package/build/paragraph/drop-zone.js.map +0 -1
- package/build-module/paragraph/drop-zone.js +0 -88
- package/build-module/paragraph/drop-zone.js.map +0 -1
- package/src/paragraph/drop-zone.js +0 -105
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"names":["View","BlockControls","InnerBlocks","JustifyContentControl","store","blockEditorStore","createBlock","getBlockSupport","debounce","useResizeObserver","useDispatch","useSelect","useState","useEffect","useRef","useCallback","alignmentHelpers","name","buttonBlockName","styles","ALLOWED_BLOCKS","layoutProp","type","alignments","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","appenderContainer","justifyControls","remove","shouldRenderFooterAppender","position","isAlternate","className","current","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button/';\nimport styles from './editor.scss';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, '__experimentalLayout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tisAlternate: true,\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\tbuttonBlockName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\t__experimentalLayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/buttons/edit.native.js"],"names":["View","BlockControls","InnerBlocks","JustifyContentControl","store","blockEditorStore","createBlock","getBlockSupport","debounce","useResizeObserver","useDispatch","useSelect","useState","useEffect","useRef","useCallback","alignmentHelpers","name","buttonBlockName","styles","ALLOWED_BLOCKS","layoutProp","type","alignments","ButtonsEdit","attributes","layout","align","clientId","isSelected","setAttributes","blockWidth","resizeObserver","sizes","maxWidth","setMaxWidth","marginLeft","spacing","layoutBlockSupport","defaultBlockLayout","default","usedLayout","justifyContent","isInnerButtonSelected","shouldDelete","select","getBlockCount","getBlockParents","getSelectedBlockClientId","selectedBlockClientId","selectedBlockParents","preferredStyle","preferredStyleVariations","getSettings","__experimentalPreferredStyleVariations","value","getBlockOrder","insertBlock","removeBlock","selectBlock","width","isFullWidth","isFullWidthBlock","onAddNextButton","selectedId","order","selectedButtonIndex","findIndex","i","index","length","insertedBlock","renderFooterAppender","appenderContainer","justifyControls","remove","shouldRenderFooterAppender","position","variant","className","current","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tInnerBlocks,\n\tJustifyContentControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { createBlock, getBlockSupport } from '@wordpress/blocks';\nimport { debounce, useResizeObserver } from '@wordpress/compose';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useState, useEffect, useRef, useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { name as buttonBlockName } from '../button/';\nimport styles from './editor.scss';\n\nconst ALLOWED_BLOCKS = [ buttonBlockName ];\n\nconst layoutProp = { type: 'default', alignments: [] };\n\nexport default function ButtonsEdit( {\n\tattributes: { layout, align },\n\tclientId,\n\tisSelected,\n\tsetAttributes,\n\tblockWidth,\n\tname,\n} ) {\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst [ maxWidth, setMaxWidth ] = useState( 0 );\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\t// Extract attributes from block layout\n\tconst layoutBlockSupport = getBlockSupport( name, '__experimentalLayout' );\n\tconst defaultBlockLayout = layoutBlockSupport?.default;\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { justifyContent } = usedLayout;\n\n\tconst { isInnerButtonSelected, shouldDelete } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockCount, getBlockParents, getSelectedBlockClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst selectedBlockParents = getBlockParents(\n\t\t\t\tselectedBlockClientId,\n\t\t\t\ttrue\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisInnerButtonSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\t\t// The purpose of `shouldDelete` check is giving the ability to\n\t\t\t\t// pass to mobile toolbar function called `onDelete` which removes\n\t\t\t\t// the whole `Buttons` container along with the last inner button\n\t\t\t\t// when there is exactly one button.\n\t\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tconst preferredStyle = useSelect( ( select ) => {\n\t\tconst preferredStyleVariations =\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalPreferredStyleVariations;\n\t\treturn preferredStyleVariations?.value?.[ buttonBlockName ];\n\t}, [] );\n\n\tconst { getBlockOrder } = useSelect( blockEditorStore );\n\tconst { insertBlock, removeBlock, selectBlock } =\n\t\tuseDispatch( blockEditorStore );\n\n\tuseEffect( () => {\n\t\tconst { width } = sizes || {};\n\t\tconst { isFullWidth } = alignmentHelpers;\n\n\t\tif ( width ) {\n\t\t\tconst isFullWidthBlock = isFullWidth( align );\n\t\t\tsetMaxWidth( isFullWidthBlock ? blockWidth : width );\n\t\t}\n\t}, [ sizes, align ] );\n\n\tconst onAddNextButton = useCallback(\n\t\tdebounce( ( selectedId ) => {\n\t\t\tconst order = getBlockOrder( clientId );\n\t\t\tconst selectedButtonIndex = order.findIndex(\n\t\t\t\t( i ) => i === selectedId\n\t\t\t);\n\n\t\t\tconst index =\n\t\t\t\tselectedButtonIndex === -1\n\t\t\t\t\t? order.length + 1\n\t\t\t\t\t: selectedButtonIndex;\n\n\t\t\tconst insertedBlock = createBlock( 'core/button' );\n\n\t\t\tinsertBlock( insertedBlock, index, clientId );\n\t\t\tselectBlock( insertedBlock.clientId );\n\t\t}, 200 ),\n\t\t[]\n\t);\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.appenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender\n\t\t\t\tisFloating={ true }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t/>\n\t\t</View>\n\t) );\n\n\tconst justifyControls = [ 'left', 'center', 'right' ];\n\n\tconst remove = useCallback( () => removeBlock( clientId ), [ clientId ] );\n\tconst shouldRenderFooterAppender = isSelected || isInnerButtonSelected;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<BlockControls group=\"block\">\n\t\t\t\t\t<JustifyContentControl\n\t\t\t\t\t\tallowedControls={ justifyControls }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t...usedLayout,\n\t\t\t\t\t\t\t\t\tjustifyContent: value,\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\tpopoverProps={ {\n\t\t\t\t\t\t\tposition: 'bottom right',\n\t\t\t\t\t\t\tvariant: 'toolbar',\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\tallowedBlocks={ ALLOWED_BLOCKS }\n\t\t\t\ttemplate={ [\n\t\t\t\t\t[\n\t\t\t\t\t\tbuttonBlockName,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\tpreferredStyle &&\n\t\t\t\t\t\t\t\t`is-style-${ preferredStyle }`,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t] }\n\t\t\t\trenderFooterAppender={\n\t\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t\t}\n\t\t\t\torientation=\"horizontal\"\n\t\t\t\thorizontalAlignment={ justifyContent }\n\t\t\t\tonDeleteBlock={ shouldDelete ? remove : undefined }\n\t\t\t\tonAddBlock={ onAddNextButton }\n\t\t\t\tparentWidth={ maxWidth } // This value controls the width of that the buttons are able to expand to.\n\t\t\t\tmarginHorizontal={ spacing }\n\t\t\t\tmarginVertical={ spacing }\n\t\t\t\t__experimentalLayout={ layoutProp }\n\t\t\t\ttemplateInsertUpdatesSelection\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -25,6 +25,7 @@ const TEMPLATE = [['core/avatar'], ['core/comment-author-name'], ['core/comment-
|
|
|
25
25
|
*
|
|
26
26
|
* @param {Object} settings Discussion Settings.
|
|
27
27
|
* @param {number} [settings.perPage] - Comments per page setting or block attribute.
|
|
28
|
+
* @param {boolean} [settings.pageComments] - Enable break comments into pages setting.
|
|
28
29
|
* @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.
|
|
29
30
|
* @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.
|
|
30
31
|
*
|
|
@@ -35,44 +36,49 @@ const TEMPLATE = [['core/avatar'], ['core/comment-author-name'], ['core/comment-
|
|
|
35
36
|
const getCommentsPlaceholder = _ref => {
|
|
36
37
|
let {
|
|
37
38
|
perPage,
|
|
39
|
+
pageComments,
|
|
38
40
|
threadComments,
|
|
39
41
|
threadCommentsDepth
|
|
40
42
|
} = _ref;
|
|
41
|
-
//
|
|
42
|
-
|
|
43
|
-
// In case that the value is set but larger than 3 we truncate it to 3.
|
|
44
|
-
const commentsDepth = Math.min(threadCommentsDepth || 3, 3); // We set a limit in order not to overload the editor of empty comments.
|
|
43
|
+
// Limit commentsDepth to 3
|
|
44
|
+
const commentsDepth = !threadComments ? 1 : Math.min(threadCommentsDepth, 3);
|
|
45
45
|
|
|
46
|
-
const
|
|
46
|
+
const buildChildrenComment = commentsLevel => {
|
|
47
|
+
// Render children comments until commentsDepth is reached
|
|
48
|
+
if (commentsLevel < commentsDepth) {
|
|
49
|
+
const nextLevel = commentsLevel + 1;
|
|
50
|
+
return [{
|
|
51
|
+
commentId: -(commentsLevel + 3),
|
|
52
|
+
children: buildChildrenComment(nextLevel)
|
|
53
|
+
}];
|
|
54
|
+
}
|
|
47
55
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
// A commentId is negative in order to avoid conflicts with the actual comments.
|
|
51
|
-
return [{
|
|
52
|
-
commentId: -1,
|
|
53
|
-
children: []
|
|
54
|
-
}];
|
|
55
|
-
} else if (defaultCommentsToShow === 2) {
|
|
56
|
-
return [{
|
|
57
|
-
commentId: -1,
|
|
58
|
-
children: [{
|
|
59
|
-
commentId: -2,
|
|
60
|
-
children: []
|
|
61
|
-
}]
|
|
62
|
-
}];
|
|
63
|
-
} // In case that the value is set but larger than 3 we truncate it to 3.
|
|
56
|
+
return [];
|
|
57
|
+
}; // Add the first comment and its children
|
|
64
58
|
|
|
65
59
|
|
|
66
|
-
|
|
60
|
+
const placeholderComments = [{
|
|
67
61
|
commentId: -1,
|
|
68
|
-
children:
|
|
62
|
+
children: buildChildrenComment(1)
|
|
63
|
+
}]; // Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max
|
|
64
|
+
|
|
65
|
+
if ((!pageComments || perPage >= 2) && commentsDepth < 3) {
|
|
66
|
+
placeholderComments.push({
|
|
69
67
|
commentId: -2,
|
|
70
|
-
children: [
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
68
|
+
children: []
|
|
69
|
+
});
|
|
70
|
+
} // Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
if ((!pageComments || perPage >= 3) && commentsDepth < 2) {
|
|
74
|
+
placeholderComments.push({
|
|
75
|
+
commentId: -3,
|
|
76
|
+
children: []
|
|
77
|
+
});
|
|
78
|
+
} // In case that the value is set but larger than 3 we truncate it to 3.
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
return placeholderComments;
|
|
76
82
|
};
|
|
77
83
|
/**
|
|
78
84
|
* Component which renders the inner blocks of the Comment Template.
|
|
@@ -217,7 +223,8 @@ export default function CommentTemplateEdit(_ref6) {
|
|
|
217
223
|
commentOrder,
|
|
218
224
|
threadCommentsDepth,
|
|
219
225
|
threadComments,
|
|
220
|
-
commentsPerPage
|
|
226
|
+
commentsPerPage,
|
|
227
|
+
pageComments
|
|
221
228
|
} = useSelect(select => {
|
|
222
229
|
const {
|
|
223
230
|
getSettings
|
|
@@ -254,6 +261,7 @@ export default function CommentTemplateEdit(_ref6) {
|
|
|
254
261
|
if (!postId) {
|
|
255
262
|
commentTree = getCommentsPlaceholder({
|
|
256
263
|
perPage: commentsPerPage,
|
|
264
|
+
pageComments,
|
|
257
265
|
threadComments,
|
|
258
266
|
threadCommentsDepth
|
|
259
267
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comment-template/edit.js"],"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","TEMPLATE","getCommentsPlaceholder","perPage","threadComments","threadCommentsDepth","commentsDepth","Math","min","defaultCommentsToShow","commentId","children","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","length","CommentTemplatePreview","isHidden","blockPreviewProps","handleOnClick","style","display","undefined","MemoizedCommentTemplatePreview","CommentsList","comments","blockProps","map","index","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// In case that `threadCommentsDepth` is falsy, we default to a somewhat\n\t// arbitrary value of 3.\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\tconst commentsDepth = Math.min( threadCommentsDepth || 3, 3 );\n\n\t// We set a limit in order not to overload the editor of empty comments.\n\tconst defaultCommentsToShow =\n\t\tperPage <= commentsDepth ? perPage : commentsDepth;\n\tif ( ! threadComments || defaultCommentsToShow === 1 ) {\n\t\t// If displaying threaded comments is disabled, we only show one comment\n\t\t// A commentId is negative in order to avoid conflicts with the actual comments.\n\t\treturn [ { commentId: -1, children: [] } ];\n\t} else if ( defaultCommentsToShow === 2 ) {\n\t\treturn [\n\t\t\t{\n\t\t\t\tcommentId: -1,\n\t\t\t\tchildren: [ { commentId: -2, children: [] } ],\n\t\t\t},\n\t\t];\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn [\n\t\t{\n\t\t\tcommentId: -1,\n\t\t\tchildren: [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -2,\n\t\t\t\t\tchildren: [ { commentId: -3, children: [] } ],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t];\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {WPElement} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\tis ALWAYS rendered and the preview for the active block is hidden.\n\t\t\tThis ensures that when switching the active block, the component is not\n\t\t\tmounted again but rather it only toggles the `isHidden` prop.\n\n\t\t\tThe same strategy is used for preventing the flicker in the Post Template\n\t\t\tblock. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the curently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {WPElement} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be reqested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\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 ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comment-template/edit.js"],"names":["useState","memo","useSelect","__","BlockContextProvider","useBlockProps","useInnerBlocksProps","store","blockEditorStore","__experimentalUseBlockPreview","useBlockPreview","Spinner","coreStore","useCommentQueryArgs","useCommentTree","TEMPLATE","getCommentsPlaceholder","perPage","pageComments","threadComments","threadCommentsDepth","commentsDepth","Math","min","buildChildrenComment","commentsLevel","nextLevel","commentId","children","placeholderComments","push","CommentTemplateInnerBlocks","comment","activeCommentId","setActiveCommentId","firstCommentId","blocks","innerBlocksProps","template","length","CommentTemplatePreview","isHidden","blockPreviewProps","handleOnClick","style","display","undefined","MemoizedCommentTemplatePreview","CommentsList","comments","blockProps","map","index","CommentTemplateEdit","clientId","context","postId","commentOrder","commentsPerPage","select","getSettings","__experimentalDiscussionSettings","commentQuery","topLevelComments","getEntityRecords","getBlocks","commentTree","reverse"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, memo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n\t__experimentalUseBlockPreview as useBlockPreview,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useCommentQueryArgs, useCommentTree } from './hooks';\n\nconst TEMPLATE = [\n\t[ 'core/avatar' ],\n\t[ 'core/comment-author-name' ],\n\t[ 'core/comment-date' ],\n\t[ 'core/comment-content' ],\n\t[ 'core/comment-reply-link' ],\n\t[ 'core/comment-edit-link' ],\n];\n\n/**\n * Function that returns a comment structure that will be rendered with default placehoders.\n *\n * Each comment has a `commentId` property that is always a negative number in\n * case of the placeholders. This is to ensure that the comment does not\n * conflict with the actual (real) comments.\n *\n * @param {Object} settings Discussion Settings.\n * @param {number} [settings.perPage] - Comments per page setting or block attribute.\n * @param {boolean} [settings.pageComments] - Enable break comments into pages setting.\n * @param {boolean} [settings.threadComments] - Enable threaded (nested) comments setting.\n * @param {number} [settings.threadCommentsDepth] - Level deep of threaded comments.\n *\n * @typedef {{id: null, children: EmptyComment[]}} EmptyComment\n * @return {EmptyComment[]} \t\tInner blocks of the Comment Template\n */\nconst getCommentsPlaceholder = ( {\n\tperPage,\n\tpageComments,\n\tthreadComments,\n\tthreadCommentsDepth,\n} ) => {\n\t// Limit commentsDepth to 3\n\tconst commentsDepth = ! threadComments\n\t\t? 1\n\t\t: Math.min( threadCommentsDepth, 3 );\n\n\tconst buildChildrenComment = ( commentsLevel ) => {\n\t\t// Render children comments until commentsDepth is reached\n\t\tif ( commentsLevel < commentsDepth ) {\n\t\t\tconst nextLevel = commentsLevel + 1;\n\n\t\t\treturn [\n\t\t\t\t{\n\t\t\t\t\tcommentId: -( commentsLevel + 3 ),\n\t\t\t\t\tchildren: buildChildrenComment( nextLevel ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\t\treturn [];\n\t};\n\n\t// Add the first comment and its children\n\tconst placeholderComments = [\n\t\t{ commentId: -1, children: buildChildrenComment( 1 ) },\n\t];\n\n\t// Add a second comment unless the break comments setting is active and set to less than 2, and there is one nested comment max\n\tif ( ( ! pageComments || perPage >= 2 ) && commentsDepth < 3 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -2,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// Add a third comment unless the break comments setting is active and set to less than 3, and there aren't nested comments\n\tif ( ( ! pageComments || perPage >= 3 ) && commentsDepth < 2 ) {\n\t\tplaceholderComments.push( {\n\t\t\tcommentId: -3,\n\t\t\tchildren: [],\n\t\t} );\n\t}\n\n\t// In case that the value is set but larger than 3 we truncate it to 3.\n\treturn placeholderComments;\n};\n\n/**\n * Component which renders the inner blocks of the Comment Template.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comment] - A comment object.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.firstCommentId] - ID of the first comment in the array.\n * @param {Array} [props.blocks] - Array of blocks returned from\n * getBlocks() in parent .\n * @return {WPElement} \t\tInner blocks of the Comment Template\n */\nfunction CommentTemplateInnerBlocks( {\n\tcomment,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tfirstCommentId,\n\tblocks,\n} ) {\n\tconst { children, ...innerBlocksProps } = useInnerBlocksProps(\n\t\t{},\n\t\t{ template: TEMPLATE }\n\t);\n\n\treturn (\n\t\t<li { ...innerBlocksProps }>\n\t\t\t{ comment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t? children\n\t\t\t\t: null }\n\n\t\t\t{ /* To avoid flicker when switching active block contexts, a preview\n\t\t\t is ALWAYS rendered and the preview for the active block is hidden.\n\t\t\t This ensures that when switching the active block, the component is not\n\t\t\t mounted again but rather it only toggles the `isHidden` prop.\n\t\t\t The same strategy is used for preventing the flicker in the Post Template\n\t\t\t block. */ }\n\t\t\t<MemoizedCommentTemplatePreview\n\t\t\t\tblocks={ blocks }\n\t\t\t\tcommentId={ comment.commentId }\n\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\tisHidden={\n\t\t\t\t\tcomment.commentId === ( activeCommentId || firstCommentId )\n\t\t\t\t}\n\t\t\t/>\n\n\t\t\t{ comment?.children?.length > 0 ? (\n\t\t\t\t<CommentsList\n\t\t\t\t\tcomments={ comment.children }\n\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t/>\n\t\t\t) : null }\n\t\t</li>\n\t);\n}\n\nconst CommentTemplatePreview = ( {\n\tblocks,\n\tcommentId,\n\tsetActiveCommentId,\n\tisHidden,\n} ) => {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveCommentId( commentId );\n\t};\n\n\t// We have to hide the preview block if the `comment` props points to\n\t// the curently active block!\n\n\t// Or, to put it differently, every preview block is visible unless it is the\n\t// currently active block - in this case we render its inner blocks.\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<div\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"button\"\n\t\t\tstyle={ style }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t/>\n\t);\n};\n\nconst MemoizedCommentTemplatePreview = memo( CommentTemplatePreview );\n\n/**\n * Component that renders a list of (nested) comments. It is called recursively.\n *\n * @param {Object} props Component props.\n * @param {Array} [props.comments] - Array of comment objects.\n * @param {Array} [props.blockProps] - Props from parent's `useBlockProps()`.\n * @param {Array} [props.activeCommentId] - The ID of the comment that is currently active.\n * @param {Array} [props.setActiveCommentId] - The setter for activeCommentId.\n * @param {Array} [props.blocks] - Array of blocks returned from getBlocks() in parent.\n * @param {Object} [props.firstCommentId] - The ID of the first comment in the array of\n * comment objects.\n * @return {WPElement} \t\tList of comments.\n */\nconst CommentsList = ( {\n\tcomments,\n\tblockProps,\n\tactiveCommentId,\n\tsetActiveCommentId,\n\tblocks,\n\tfirstCommentId,\n} ) => (\n\t<ol { ...blockProps }>\n\t\t{ comments &&\n\t\t\tcomments.map( ( { commentId, ...comment }, index ) => (\n\t\t\t\t<BlockContextProvider\n\t\t\t\t\tkey={ comment.commentId || index }\n\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t// If the commentId is negative it means that this comment is a\n\t\t\t\t\t\t// \"placeholder\" and that the block is most likely being used in the\n\t\t\t\t\t\t// site editor. In this case, we have to set the commentId to `null`\n\t\t\t\t\t\t// because otherwise the (non-existent) comment with a negative ID\n\t\t\t\t\t\t// would be reqested from the REST API.\n\t\t\t\t\t\tcommentId: commentId < 0 ? null : commentId,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<CommentTemplateInnerBlocks\n\t\t\t\t\t\tcomment={ { commentId, ...comment } }\n\t\t\t\t\t\tactiveCommentId={ activeCommentId }\n\t\t\t\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\tfirstCommentId={ firstCommentId }\n\t\t\t\t\t/>\n\t\t\t\t</BlockContextProvider>\n\t\t\t) ) }\n\t</ol>\n);\n\nexport default function CommentTemplateEdit( {\n\tclientId,\n\tcontext: { postId },\n} ) {\n\tconst blockProps = useBlockProps();\n\n\tconst [ activeCommentId, setActiveCommentId ] = useState();\n\tconst {\n\t\tcommentOrder,\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tconst commentQuery = useCommentQueryArgs( {\n\t\tpostId,\n\t} );\n\n\tconst { topLevelComments, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\t// Request only top-level comments. Replies are embedded.\n\t\t\t\ttopLevelComments: commentQuery\n\t\t\t\t\t? getEntityRecords( 'root', 'comment', commentQuery )\n\t\t\t\t\t: null,\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId, commentQuery ]\n\t);\n\n\t// Generate a tree structure of comment IDs.\n\tlet commentTree = useCommentTree(\n\t\t// Reverse the order of top comments if needed.\n\t\tcommentOrder === 'desc' && topLevelComments\n\t\t\t? [ ...topLevelComments ].reverse()\n\t\t\t: topLevelComments\n\t);\n\n\tif ( ! topLevelComments ) {\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 ( ! postId ) {\n\t\tcommentTree = getCommentsPlaceholder( {\n\t\t\tperPage: commentsPerPage,\n\t\t\tpageComments,\n\t\t\tthreadComments,\n\t\t\tthreadCommentsDepth,\n\t\t} );\n\t}\n\n\tif ( ! commentTree.length ) {\n\t\treturn <p { ...blockProps }>{ __( 'No results found.' ) }</p>;\n\t}\n\n\treturn (\n\t\t<CommentsList\n\t\t\tcomments={ commentTree }\n\t\t\tblockProps={ blockProps }\n\t\t\tblocks={ blocks }\n\t\t\tactiveCommentId={ activeCommentId }\n\t\t\tsetActiveCommentId={ setActiveCommentId }\n\t\t\tfirstCommentId={ commentTree[ 0 ]?.commentId }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -18,9 +18,13 @@ const metadata = {
|
|
|
18
18
|
textdomain: "default",
|
|
19
19
|
usesContext: ["postId"],
|
|
20
20
|
supports: {
|
|
21
|
-
reusable: false,
|
|
22
|
-
html: false,
|
|
23
21
|
align: true,
|
|
22
|
+
html: false,
|
|
23
|
+
reusable: false,
|
|
24
|
+
spacing: {
|
|
25
|
+
margin: true,
|
|
26
|
+
padding: true
|
|
27
|
+
},
|
|
24
28
|
typography: {
|
|
25
29
|
fontSize: true,
|
|
26
30
|
lineHeight: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comment-template/index.js"],"names":["layout","icon","initBlock","edit","save","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comment-template/index.js"],"names":["layout","icon","initBlock","edit","save","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,IAAIC,IAAnB,QAA+B,kBAA/B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBN,EAAAA,IADuB;AAEvBE,EAAAA,IAFuB;AAGvBC,EAAAA;AAHuB,CAAjB;AAMP,OAAO,MAAMI,IAAI,GAAG,MAAMN,SAAS,CAAE;AAAEG,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { layout as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -7,7 +7,6 @@ import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
|
7
7
|
import { __, sprintf } from '@wordpress/i18n';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
9
|
import { useEntityProp } from '@wordpress/core-data';
|
|
10
|
-
import { useDisabled } from '@wordpress/compose';
|
|
11
10
|
/**
|
|
12
11
|
* Internal dependencies
|
|
13
12
|
*/
|
|
@@ -23,10 +22,9 @@ export default function PostCommentsPlaceholder(_ref) {
|
|
|
23
22
|
const {
|
|
24
23
|
avatarURL
|
|
25
24
|
} = useSelect(select => select(blockEditorStore).getSettings().__experimentalDiscussionSettings);
|
|
26
|
-
const disabledRef = useDisabled();
|
|
27
25
|
return createElement("div", {
|
|
28
26
|
className: "wp-block-comments__legacy-placeholder",
|
|
29
|
-
|
|
27
|
+
inert: "true"
|
|
30
28
|
}, createElement("h3", null,
|
|
31
29
|
/* translators: %s: Post title. */
|
|
32
30
|
sprintf(__('One response to %s'), postTitle)), createElement("div", {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comments/edit/placeholder.js"],"names":["store","blockEditorStore","__","sprintf","useSelect","useEntityProp","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comments/edit/placeholder.js"],"names":["store","blockEditorStore","__","sprintf","useSelect","useEntityProp","CommentsForm","PostCommentsPlaceholder","postType","postId","postTitle","avatarURL","select","getSettings","__experimentalDiscussionSettings"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport CommentsForm from '../../post-comments-form/form';\n\nexport default function PostCommentsPlaceholder( { postType, postId } ) {\n\tlet [ postTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tpostTitle = postTitle || __( 'Post Title' );\n\n\tconst { avatarURL } = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings()\n\t\t\t\t.__experimentalDiscussionSettings\n\t);\n\n\treturn (\n\t\t<div className=\"wp-block-comments__legacy-placeholder\" inert=\"true\">\n\t\t\t<h3>\n\t\t\t\t{\n\t\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\t\tsprintf( __( 'One response to %s' ), postTitle )\n\t\t\t\t}\n\t\t\t</h3>\n\n\t\t\t<div className=\"navigation\">\n\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<ol className=\"commentlist\">\n\t\t\t\t<li className=\"comment even thread-even depth-1\">\n\t\t\t\t\t<article className=\"comment-body\">\n\t\t\t\t\t\t<footer className=\"comment-meta\">\n\t\t\t\t\t\t\t<div className=\"comment-author vcard\">\n\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\talt=\"Commenter Avatar\"\n\t\t\t\t\t\t\t\t\tsrc={ avatarURL }\n\t\t\t\t\t\t\t\t\tclassName=\"avatar avatar-32 photo\"\n\t\t\t\t\t\t\t\t\theight=\"32\"\n\t\t\t\t\t\t\t\t\twidth=\"32\"\n\t\t\t\t\t\t\t\t\tloading=\"lazy\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<b className=\"fn\">\n\t\t\t\t\t\t\t\t\t<a href=\"#top\" className=\"url\">\n\t\t\t\t\t\t\t\t\t\t{ __( 'A WordPress Commenter' ) }\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</b>{ ' ' }\n\t\t\t\t\t\t\t\t<span className=\"says\">{ __( 'says' ) }:</span>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div className=\"comment-metadata\">\n\t\t\t\t\t\t\t\t<a href=\"#top\">\n\t\t\t\t\t\t\t\t\t<time dateTime=\"2000-01-01T00:00:00+00:00\">\n\t\t\t\t\t\t\t\t\t\t{ __( 'January 1, 2000 at 00:00 am' ) }\n\t\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t\t</a>{ ' ' }\n\t\t\t\t\t\t\t\t<span className=\"edit-link\">\n\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\tclassName=\"comment-edit-link\"\n\t\t\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</footer>\n\n\t\t\t\t\t\t<div className=\"comment-content\">\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ __( 'Hi, this is a comment.' ) }\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'To get started with moderating, editing, and deleting comments, please visit the Comments screen in the dashboard.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t\t{ __( 'Commenter avatars come from' ) }{ ' ' }\n\t\t\t\t\t\t\t\t<a href=\"https://gravatar.com/\">Gravatar</a>.\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div className=\"reply\">\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tclassName=\"comment-reply-link\"\n\t\t\t\t\t\t\t\thref=\"#top\"\n\t\t\t\t\t\t\t\taria-label=\"Reply to A WordPress Commenter\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Reply' ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</article>\n\t\t\t\t</li>\n\t\t\t</ol>\n\n\t\t\t<div className=\"navigation\">\n\t\t\t\t<div className=\"alignleft\">\n\t\t\t\t\t<a href=\"#top\">« { __( 'Older Comments' ) }</a>\n\t\t\t\t</div>\n\t\t\t\t<div className=\"alignright\">\n\t\t\t\t\t<a href=\"#top\">{ __( 'Newer Comments' ) } »</a>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<CommentsForm postId={ postId } postType={ postType } />\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -27,7 +27,6 @@ const metadata = {
|
|
|
27
27
|
},
|
|
28
28
|
supports: {
|
|
29
29
|
align: ["wide", "full"],
|
|
30
|
-
html: false,
|
|
31
30
|
color: {
|
|
32
31
|
gradients: true,
|
|
33
32
|
link: true,
|
|
@@ -37,6 +36,11 @@ const metadata = {
|
|
|
37
36
|
link: true
|
|
38
37
|
}
|
|
39
38
|
},
|
|
39
|
+
html: false,
|
|
40
|
+
spacing: {
|
|
41
|
+
margin: true,
|
|
42
|
+
padding: true
|
|
43
|
+
},
|
|
40
44
|
typography: {
|
|
41
45
|
fontSize: true,
|
|
42
46
|
lineHeight: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comments/index.js"],"names":["postComments","icon","initBlock","deprecated","edit","save","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comments/index.js"],"names":["postComments","icon","initBlock","deprecated","edit","save","name","metadata","settings","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBG,EAAAA,IAFuB;AAGvBC,EAAAA,IAHuB;AAIvBF,EAAAA;AAJuB,CAAjB;AAOP,OAAO,MAAMM,IAAI,GAAG,MAAMP,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport save from './save';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -8,11 +8,12 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import { AlignmentControl, BlockControls, useBlockProps, InspectorControls } from '@wordpress/block-editor';
|
|
11
|
+
import { AlignmentControl, BlockControls, useBlockProps, InspectorControls, store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
12
|
import { __, _n, sprintf } from '@wordpress/i18n';
|
|
13
13
|
import { useEntityProp } from '@wordpress/core-data';
|
|
14
14
|
import { PanelBody, ToggleControl } from '@wordpress/components';
|
|
15
15
|
import { useState, useEffect } from '@wordpress/element';
|
|
16
|
+
import { useSelect } from '@wordpress/data';
|
|
16
17
|
import apiFetch from '@wordpress/api-fetch';
|
|
17
18
|
import { addQueryArgs } from '@wordpress/url';
|
|
18
19
|
/**
|
|
@@ -43,9 +44,24 @@ export default function Edit(_ref) {
|
|
|
43
44
|
[`has-text-align-${textAlign}`]: textAlign
|
|
44
45
|
})
|
|
45
46
|
});
|
|
47
|
+
const {
|
|
48
|
+
threadCommentsDepth,
|
|
49
|
+
threadComments,
|
|
50
|
+
commentsPerPage,
|
|
51
|
+
pageComments
|
|
52
|
+
} = useSelect(select => {
|
|
53
|
+
const {
|
|
54
|
+
getSettings
|
|
55
|
+
} = select(blockEditorStore);
|
|
56
|
+
return getSettings().__experimentalDiscussionSettings;
|
|
57
|
+
});
|
|
46
58
|
useEffect(() => {
|
|
47
59
|
if (isSiteEditor) {
|
|
48
|
-
|
|
60
|
+
// Match the number of comments that will be shown in the comment-template/edit.js placeholder
|
|
61
|
+
const nestedCommentsNumber = threadComments ? Math.min(threadCommentsDepth, 3) - 1 : 0;
|
|
62
|
+
const topLevelCommentsNumber = pageComments ? commentsPerPage : 3;
|
|
63
|
+
const commentsNumber = parseInt(nestedCommentsNumber) + parseInt(topLevelCommentsNumber);
|
|
64
|
+
setCommentsCount(Math.min(commentsNumber, 3));
|
|
49
65
|
return;
|
|
50
66
|
}
|
|
51
67
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/comments-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","useBlockProps","InspectorControls","__","_n","sprintf","useEntityProp","PanelBody","ToggleControl","useState","useEffect","apiFetch","addQueryArgs","HeadingLevelDropdown","Edit","attributes","textAlign","showPostTitle","showCommentsCount","level","setAttributes","context","postType","postId","TagName","commentsCount","setCommentsCount","rawTitle","isSiteEditor","blockProps","className","currentPostId","path","post","_fields","method","parse","then","res","parseInt","headers","get","catch","blockControls","newAlign","newLevel","inspectorControls","value","postTitle","placeholder","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nexport default function Edit( {\n\tattributes: { textAlign, showPostTitle, showCommentsCount, level },\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\tsetCommentsCount( 3 );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tselectedLevel={ level }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( '“Post Title”' ) : `\"${ rawTitle }\"`;\n\n\tlet placeholder;\n\tif ( showCommentsCount && commentsCount !== undefined ) {\n\t\tif ( showPostTitle ) {\n\t\t\tif ( commentsCount === 1 ) {\n\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\tplaceholder = sprintf( __( 'One response to %s' ), postTitle );\n\t\t\t} else {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: 1: Number of comments, 2: Post title. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%1$s response to %2$s',\n\t\t\t\t\t\t'%1$s responses to %2$s',\n\t\t\t\t\t\tcommentsCount\n\t\t\t\t\t),\n\t\t\t\t\tcommentsCount,\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( commentsCount === 1 ) {\n\t\t\tplaceholder = __( 'One response' );\n\t\t} else {\n\t\t\tplaceholder = sprintf(\n\t\t\t\t/* translators: %s: Number of comments. */\n\t\t\t\t_n( '%s response', '%s responses', commentsCount ),\n\t\t\t\tcommentsCount\n\t\t\t);\n\t\t}\n\t} else if ( showPostTitle ) {\n\t\tif ( commentsCount === 1 ) {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Response to %s' ), postTitle );\n\t\t} else {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Responses to %s' ), postTitle );\n\t\t}\n\t} else if ( commentsCount === 1 ) {\n\t\tplaceholder = __( 'Response' );\n\t} else {\n\t\tplaceholder = __( 'Responses' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>{ placeholder }</TagName>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/comments-title/edit.js"],"names":["classnames","AlignmentControl","BlockControls","useBlockProps","InspectorControls","store","blockEditorStore","__","_n","sprintf","useEntityProp","PanelBody","ToggleControl","useState","useEffect","useSelect","apiFetch","addQueryArgs","HeadingLevelDropdown","Edit","attributes","textAlign","showPostTitle","showCommentsCount","level","setAttributes","context","postType","postId","TagName","commentsCount","setCommentsCount","rawTitle","isSiteEditor","blockProps","className","threadCommentsDepth","threadComments","commentsPerPage","pageComments","select","getSettings","__experimentalDiscussionSettings","nestedCommentsNumber","Math","min","topLevelCommentsNumber","commentsNumber","parseInt","currentPostId","path","post","_fields","method","parse","then","res","headers","get","catch","blockControls","newAlign","newLevel","inspectorControls","value","postTitle","placeholder","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tuseBlockProps,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport apiFetch from '@wordpress/api-fetch';\nimport { addQueryArgs } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport HeadingLevelDropdown from '../heading/heading-level-dropdown';\n\nexport default function Edit( {\n\tattributes: { textAlign, showPostTitle, showCommentsCount, level },\n\tsetAttributes,\n\tcontext: { postType, postId },\n} ) {\n\tconst TagName = 'h' + level;\n\tconst [ commentsCount, setCommentsCount ] = useState();\n\tconst [ rawTitle ] = useEntityProp( 'postType', postType, 'title', postId );\n\tconst isSiteEditor = typeof postId === 'undefined';\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst {\n\t\tthreadCommentsDepth,\n\t\tthreadComments,\n\t\tcommentsPerPage,\n\t\tpageComments,\n\t} = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().__experimentalDiscussionSettings;\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( isSiteEditor ) {\n\t\t\t// Match the number of comments that will be shown in the comment-template/edit.js placeholder\n\n\t\t\tconst nestedCommentsNumber = threadComments\n\t\t\t\t? Math.min( threadCommentsDepth, 3 ) - 1\n\t\t\t\t: 0;\n\t\t\tconst topLevelCommentsNumber = pageComments ? commentsPerPage : 3;\n\n\t\t\tconst commentsNumber =\n\t\t\t\tparseInt( nestedCommentsNumber ) +\n\t\t\t\tparseInt( topLevelCommentsNumber );\n\n\t\t\tsetCommentsCount( Math.min( commentsNumber, 3 ) );\n\t\t\treturn;\n\t\t}\n\t\tconst currentPostId = postId;\n\t\tapiFetch( {\n\t\t\tpath: addQueryArgs( '/wp/v2/comments', {\n\t\t\t\tpost: postId,\n\t\t\t\t_fields: 'id',\n\t\t\t} ),\n\t\t\tmethod: 'HEAD',\n\t\t\tparse: false,\n\t\t} )\n\t\t\t.then( ( res ) => {\n\t\t\t\t// Stale requests will have the `currentPostId` of an older closure.\n\t\t\t\tif ( currentPostId === postId ) {\n\t\t\t\t\tsetCommentsCount(\n\t\t\t\t\t\tparseInt( res.headers.get( 'X-WP-Total' ) )\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( () => {\n\t\t\t\tsetCommentsCount( 0 );\n\t\t\t} );\n\t}, [ postId ] );\n\n\tconst blockControls = (\n\t\t<BlockControls group=\"block\">\n\t\t\t<AlignmentControl\n\t\t\t\tvalue={ textAlign }\n\t\t\t\tonChange={ ( newAlign ) =>\n\t\t\t\t\tsetAttributes( { textAlign: newAlign } )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t<HeadingLevelDropdown\n\t\t\t\tselectedLevel={ level }\n\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t}\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show post title' ) }\n\t\t\t\t\tchecked={ showPostTitle }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showPostTitle: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Show comments count' ) }\n\t\t\t\t\tchecked={ showCommentsCount }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { showCommentsCount: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst postTitle = isSiteEditor ? __( '“Post Title”' ) : `\"${ rawTitle }\"`;\n\n\tlet placeholder;\n\tif ( showCommentsCount && commentsCount !== undefined ) {\n\t\tif ( showPostTitle ) {\n\t\t\tif ( commentsCount === 1 ) {\n\t\t\t\t/* translators: %s: Post title. */\n\t\t\t\tplaceholder = sprintf( __( 'One response to %s' ), postTitle );\n\t\t\t} else {\n\t\t\t\tplaceholder = sprintf(\n\t\t\t\t\t/* translators: 1: Number of comments, 2: Post title. */\n\t\t\t\t\t_n(\n\t\t\t\t\t\t'%1$s response to %2$s',\n\t\t\t\t\t\t'%1$s responses to %2$s',\n\t\t\t\t\t\tcommentsCount\n\t\t\t\t\t),\n\t\t\t\t\tcommentsCount,\n\t\t\t\t\tpostTitle\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( commentsCount === 1 ) {\n\t\t\tplaceholder = __( 'One response' );\n\t\t} else {\n\t\t\tplaceholder = sprintf(\n\t\t\t\t/* translators: %s: Number of comments. */\n\t\t\t\t_n( '%s response', '%s responses', commentsCount ),\n\t\t\t\tcommentsCount\n\t\t\t);\n\t\t}\n\t} else if ( showPostTitle ) {\n\t\tif ( commentsCount === 1 ) {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Response to %s' ), postTitle );\n\t\t} else {\n\t\t\t/* translators: %s: Post title. */\n\t\t\tplaceholder = sprintf( __( 'Responses to %s' ), postTitle );\n\t\t}\n\t} else if ( commentsCount === 1 ) {\n\t\tplaceholder = __( 'Response' );\n\t} else {\n\t\tplaceholder = __( 'Responses' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName { ...blockProps }>{ placeholder }</TagName>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -115,8 +115,7 @@ function CoverEdit(_ref) {
|
|
|
115
115
|
});
|
|
116
116
|
};
|
|
117
117
|
|
|
118
|
-
const
|
|
119
|
-
const isCoverDark = useCoverIsDark(url, dimRatio, overlayColor.color, mediaElement);
|
|
118
|
+
const isCoverDark = useCoverIsDark(url, dimRatio, overlayColor.color);
|
|
120
119
|
useEffect(() => {
|
|
121
120
|
// This side-effect should not create an undo level.
|
|
122
121
|
__unstableMarkNextChangeAsNotPersistent();
|
|
@@ -159,6 +158,7 @@ function CoverEdit(_ref) {
|
|
|
159
158
|
allowedBlocks,
|
|
160
159
|
templateLock
|
|
161
160
|
});
|
|
161
|
+
const mediaElement = useRef();
|
|
162
162
|
const currentSettings = {
|
|
163
163
|
isVideoBackground,
|
|
164
164
|
isImageBackground,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useRef","Placeholder","Spinner","compose","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","useCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","featuredImage","media","select","getMedia","mediaUrl","source_url","backgroundType","__unstableMarkNextChangeAsNotPersistent","createErrorNotice","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","mediaElement","isCoverDark","color","isImageBackground","isVideoBackground","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","value","newMinHeight","classes","class"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCover from './resizable-cover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage ? mediaUrl : attributes.url;\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst mediaElement = useRef();\n\tconst isCoverDark = useCoverIsDark(\n\t\turl,\n\t\tdimRatio,\n\t\toverlayColor.color,\n\t\tmediaElement\n\t);\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/index.js"],"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useRef","Placeholder","Spinner","compose","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","useCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","featuredImage","media","select","getMedia","mediaUrl","source_url","backgroundType","__unstableMarkNextChangeAsNotPersistent","createErrorNotice","gradientClass","gradientValue","onSelectMedia","isUploadingMedia","onUploadError","message","type","isCoverDark","color","isImageBackground","isVideoBackground","minHeightWithUnit","isImgElement","style","undefined","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","inspectorControls","value","newMinHeight","classes","class"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n} from '../shared';\nimport useCoverIsDark from './use-cover-is-dark';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCover from './resizable-cover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage ? mediaUrl : attributes.url;\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst onSelectMedia = attributesFromMedia( setAttributes, dimRatio );\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isCoverDark = useCoverIsDark( url, dimRatio, overlayColor.color );\n\n\tuseEffect( () => {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( { isDark: isCoverDark } );\n\t}, [ isCoverDark ] );\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\ttemplate: innerBlocksTemplate,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = () => {\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ setOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<div\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ setOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t\t<ResizableCover\n\t\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<div\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t<ResizableCover\n\t\t\t\t\tclassName=\"block-library-cover__resize-container\"\n\t\t\t\t\tonResizeStart={ () => {\n\t\t\t\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonResize={ ( value ) => {\n\t\t\t\t\t\tsetAttributes( { minHeight: value } );\n\t\t\t\t\t} }\n\t\t\t\t\tonResizeStop={ ( newMinHeight ) => {\n\t\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t\t\t\t} }\n\t\t\t\t\tshowHandle={ isSelected }\n\t\t\t\t/>\n\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</div>\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"]}
|