@wordpress/block-library 7.2.0 → 7.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +1 -1
- package/build/archives/edit.js +21 -1
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +5 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/edit.js +1 -1
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js +0 -5
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js +17 -11
- package/build/avatar/edit.js.map +1 -1
- package/build/block/edit.js +2 -1
- package/build/block/edit.js.map +1 -1
- package/build/column/index.js +1 -0
- package/build/column/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +3 -3
- package/build/comment-author-name/index.js +7 -3
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +1 -1
- package/build/comment-date/index.js +7 -3
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +5 -1
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +5 -1
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/edit.js +10 -15
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +10 -24
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comment-template/index.js +2 -2
- package/build/comments-pagination-next/index.js +2 -2
- package/build/comments-pagination-numbers/index.js +1 -1
- package/build/comments-pagination-previous/index.js +1 -1
- package/build/comments-query-loop/edit/comments-inspector-controls.js +2 -69
- package/build/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-query-loop/edit.js +22 -1
- package/build/comments-query-loop/edit.js.map +1 -1
- package/build/comments-query-loop/index.js +1 -23
- package/build/comments-query-loop/index.js.map +1 -1
- package/build/cover/edit.js +35 -6
- package/build/cover/edit.js.map +1 -1
- package/build/cover/index.js +5 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -2
- package/build/cover/save.js.map +1 -1
- package/build/cover/transforms.js +33 -32
- package/build/cover/transforms.js.map +1 -1
- package/build/gallery/gap-styles.js +8 -2
- package/build/gallery/gap-styles.js.map +1 -1
- package/build/gallery/index.js +1 -0
- package/build/gallery/index.js.map +1 -1
- package/build/group/edit.js +3 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +2 -4
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +31 -9
- package/build/group/variations.js.map +1 -1
- package/build/heading/edit.js +1 -1
- package/build/heading/edit.js.map +1 -1
- package/build/html/edit.js +3 -2
- package/build/html/edit.js.map +1 -1
- package/build/image/edit.native.js +8 -10
- package/build/image/edit.native.js.map +1 -1
- package/build/index.js +4 -4
- package/build/index.js.map +1 -1
- package/build/list/deprecated.js +2 -2
- package/build/list/deprecated.js.map +1 -1
- package/build/list/index.js +13 -2
- package/build/list/index.js.map +1 -1
- package/build/list/v2/deprecated.js +117 -0
- package/build/list/v2/deprecated.js.map +1 -0
- package/build/list/v2/edit.js +106 -3
- package/build/list/v2/edit.js.map +1 -1
- package/build/list/v2/index.js +4 -1
- package/build/list/v2/index.js.map +1 -1
- package/build/list/v2/migrate.js +85 -0
- package/build/list/v2/migrate.js.map +1 -0
- package/build/list-item/edit.js +59 -10
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/index.js +32 -0
- package/build/list-item/hooks/index.js.map +1 -0
- package/build/list-item/hooks/use-enter.js +93 -0
- package/build/list-item/hooks/use-enter.js.map +1 -0
- package/build/list-item/hooks/use-indent-list-item.js +74 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js +77 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -0
- package/build/list-item/index.js +1 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/utils.js +16 -0
- package/build/list-item/utils.js.map +1 -0
- package/build/media-text/media-container.native.js +1 -16
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/edit/index.js +36 -17
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +34 -7
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/index.js +9 -1
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +1 -0
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +9 -5
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/index.js +1 -1
- package/build/navigation-submenu/edit.js +5 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +1 -1
- package/build/post-comment/edit.js +2 -2
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comments/index.js +4 -3
- package/build/post-comments/index.js.map +1 -1
- package/build/post-comments-form/edit.js +3 -2
- package/build/post-comments-form/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +19 -7
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +1 -1
- package/build/post-template/edit.js +7 -2
- package/build/post-template/edit.js.map +1 -1
- package/build/post-terms/edit.js +3 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/variations.js +1 -1
- package/build/post-terms/variations.js.map +1 -1
- package/build/query/edit/index.js +84 -22
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/query-placeholder.js +7 -14
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +6 -1
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query-pagination/edit.js +1 -1
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination-numbers/index.js +19 -1
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/quote/index.js +20 -2
- package/build/quote/index.js.map +1 -1
- package/build/quote/v2/deprecated.js +133 -0
- package/build/quote/v2/deprecated.js.map +1 -0
- package/build/quote/v2/edit.js +131 -0
- package/build/quote/v2/edit.js.map +1 -0
- package/build/quote/v2/index.js +49 -0
- package/build/quote/v2/index.js.map +1 -0
- package/build/quote/v2/save.js +43 -0
- package/build/quote/v2/save.js.map +1 -0
- package/build/quote/v2/transforms.js +156 -0
- package/build/quote/v2/transforms.js.map +1 -0
- package/build/read-more/index.js +1 -1
- package/build/rss/edit.js +6 -1
- package/build/rss/edit.js.map +1 -1
- package/build/site-logo/edit.js +3 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -1
- package/build/social-links/index.js +1 -0
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/controls.native.js +1 -1
- package/build/spacer/controls.native.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +5 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/archives/edit.js +22 -2
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +5 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/edit.js +1 -1
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js +0 -5
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js +16 -11
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/edit.js +4 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/column/index.js +1 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +3 -3
- package/build-module/comment-author-name/index.js +7 -3
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +1 -1
- package/build-module/comment-date/index.js +7 -3
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +5 -1
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +5 -1
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/edit.js +10 -15
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +10 -24
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comment-template/index.js +2 -2
- package/build-module/comments-pagination-next/index.js +2 -2
- package/build-module/comments-pagination-numbers/index.js +1 -1
- package/build-module/comments-pagination-previous/index.js +1 -1
- package/build-module/comments-query-loop/edit/comments-inspector-controls.js +4 -70
- package/build-module/comments-query-loop/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-query-loop/edit.js +22 -1
- package/build-module/comments-query-loop/edit.js.map +1 -1
- package/build-module/comments-query-loop/index.js +1 -23
- package/build-module/comments-query-loop/index.js.map +1 -1
- package/build-module/cover/edit.js +36 -8
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/index.js +5 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -2
- package/build-module/cover/save.js.map +1 -1
- package/build-module/cover/transforms.js +33 -32
- package/build-module/cover/transforms.js.map +1 -1
- package/build-module/gallery/gap-styles.js +8 -2
- package/build-module/gallery/gap-styles.js.map +1 -1
- package/build-module/gallery/index.js +1 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/group/edit.js +3 -1
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +2 -4
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +30 -9
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/edit.js +1 -1
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/html/edit.js +4 -3
- package/build-module/html/edit.js.map +1 -1
- package/build-module/image/edit.native.js +8 -10
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/index.js +4 -4
- package/build-module/index.js.map +1 -1
- package/build-module/list/deprecated.js +2 -2
- package/build-module/list/deprecated.js.map +1 -1
- package/build-module/list/index.js +9 -3
- package/build-module/list/index.js.map +1 -1
- package/build-module/list/v2/deprecated.js +104 -0
- package/build-module/list/v2/deprecated.js.map +1 -0
- package/build-module/list/v2/edit.js +104 -5
- package/build-module/list/v2/edit.js.map +1 -1
- package/build-module/list/v2/index.js +3 -1
- package/build-module/list/v2/index.js.map +1 -1
- package/build-module/list/v2/migrate.js +77 -0
- package/build-module/list/v2/migrate.js.map +1 -0
- package/build-module/list-item/edit.js +59 -13
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/index.js +4 -0
- package/build-module/list-item/hooks/index.js.map +1 -0
- package/build-module/list-item/hooks/use-enter.js +77 -0
- package/build-module/list-item/hooks/use-enter.js.map +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js +62 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js +66 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -0
- package/build-module/list-item/index.js +1 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/utils.js +8 -0
- package/build-module/list-item/utils.js.map +1 -0
- package/build-module/media-text/media-container.native.js +1 -14
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +37 -17
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +35 -8
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/index.js +9 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +1 -0
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +9 -5
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-submenu/edit.js +6 -10
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +1 -1
- package/build-module/post-comment/edit.js +2 -2
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comments/index.js +4 -3
- package/build-module/post-comments/index.js.map +1 -1
- package/build-module/post-comments-form/edit.js +3 -2
- package/build-module/post-comments-form/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +19 -7
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +1 -1
- package/build-module/post-template/edit.js +7 -2
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +4 -2
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/variations.js +3 -3
- package/build-module/post-terms/variations.js.map +1 -1
- package/build-module/query/edit/index.js +87 -26
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +8 -15
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +6 -1
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/query-pagination/edit.js +1 -1
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +19 -1
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/quote/index.js +19 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/v2/deprecated.js +116 -0
- package/build-module/quote/v2/deprecated.js.map +1 -0
- package/build-module/quote/v2/edit.js +115 -0
- package/build-module/quote/v2/edit.js.map +1 -0
- package/build-module/quote/v2/index.js +33 -0
- package/build-module/quote/v2/index.js.map +1 -0
- package/build-module/quote/v2/save.js +30 -0
- package/build-module/quote/v2/save.js.map +1 -0
- package/build-module/quote/v2/transforms.js +147 -0
- package/build-module/quote/v2/transforms.js.map +1 -0
- package/build-module/read-more/index.js +1 -1
- package/build-module/rss/edit.js +5 -1
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +3 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -1
- package/build-module/social-links/index.js +1 -0
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/controls.native.js +1 -1
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +5 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-style/avatar/editor-rtl.css +4 -0
- package/build-style/avatar/editor.css +4 -0
- package/build-style/avatar/style-rtl.css +79 -0
- package/build-style/avatar/style.css +79 -0
- package/build-style/editor-rtl.css +69 -9
- package/build-style/editor.css +69 -9
- package/build-style/group/editor-rtl.css +26 -0
- package/build-style/group/editor.css +26 -0
- package/build-style/heading/style-rtl.css +0 -8
- package/build-style/heading/style.css +0 -8
- package/build-style/list/style-rtl.css +1 -1
- package/build-style/list/style.css +1 -1
- package/build-style/navigation/style-rtl.css +11 -9
- package/build-style/navigation/style.css +11 -9
- package/build-style/navigation-link/style-rtl.css +3 -0
- package/build-style/navigation-link/style.css +3 -0
- package/build-style/paragraph/style-rtl.css +0 -4
- package/build-style/paragraph/style.css +0 -4
- package/build-style/query/editor-rtl.css +39 -0
- package/build-style/query/editor.css +39 -0
- package/build-style/quote/style-rtl.css +1 -0
- package/build-style/quote/style.css +1 -0
- package/build-style/reset-rtl.css +1 -1
- package/build-style/reset.css +1 -1
- package/build-style/style-rtl.css +20 -22
- package/build-style/style.css +20 -22
- package/build-style/template-part/editor-rtl.css +0 -9
- package/build-style/template-part/editor.css +0 -9
- package/package.json +28 -28
- package/src/archives/block.json +5 -1
- package/src/archives/edit.js +20 -2
- package/src/archives/index.php +4 -4
- package/src/audio/edit.js +1 -1
- package/src/audio/edit.native.js +0 -5
- package/src/avatar/edit.js +21 -13
- package/src/avatar/editor.scss +6 -0
- package/src/avatar/index.php +2 -2
- package/src/avatar/style.scss +5 -0
- package/src/block/edit.js +21 -11
- package/src/column/block.json +1 -0
- package/src/comment-author-avatar/block.json +3 -3
- package/src/comment-author-name/block.json +7 -3
- package/src/comment-author-name/index.php +3 -0
- package/src/comment-content/block.json +1 -1
- package/src/comment-date/block.json +7 -3
- package/src/comment-date/index.php +6 -1
- package/src/comment-edit-link/block.json +5 -1
- package/src/comment-edit-link/index.php +3 -0
- package/src/comment-reply-link/block.json +5 -1
- package/src/comment-reply-link/index.php +4 -1
- package/src/comment-template/block.json +2 -8
- package/src/comment-template/edit.js +17 -22
- package/src/comment-template/hooks.js +10 -25
- package/src/comment-template/index.php +15 -5
- package/src/comments-pagination-next/block.json +2 -9
- package/src/comments-pagination-numbers/block.json +2 -8
- package/src/comments-pagination-previous/block.json +2 -2
- package/src/comments-query-loop/block.json +1 -23
- package/src/comments-query-loop/edit/comments-inspector-controls.js +2 -83
- package/src/comments-query-loop/edit.js +54 -1
- package/src/cover/block.json +5 -0
- package/src/cover/edit.js +77 -29
- package/src/cover/index.php +85 -0
- package/src/cover/save.js +18 -14
- package/src/cover/transforms.js +51 -28
- package/src/gallery/block.json +1 -0
- package/src/gallery/gap-styles.js +9 -4
- package/src/gallery/index.php +7 -6
- package/src/group/block.json +2 -4
- package/src/group/edit.js +4 -1
- package/src/group/editor.scss +31 -0
- package/src/group/variations.js +21 -4
- package/src/heading/edit.js +1 -1
- package/src/heading/style.scss +0 -3
- package/src/html/edit.js +22 -30
- package/src/image/edit.native.js +7 -11
- package/src/index.js +19 -16
- package/src/list/deprecated.js +2 -2
- package/src/list/index.js +7 -3
- package/src/list/style.scss +1 -2
- package/src/list/test/migrate.js +159 -0
- package/src/list/v2/deprecated.js +89 -0
- package/src/list/v2/edit.js +110 -1
- package/src/list/v2/index.js +2 -0
- package/src/list/v2/migrate.js +87 -0
- package/src/list-item/edit.js +69 -23
- package/src/list-item/hooks/index.js +3 -0
- package/src/list-item/hooks/use-enter.js +94 -0
- package/src/list-item/hooks/use-indent-list-item.js +89 -0
- package/src/list-item/hooks/use-outdent-list-item.js +95 -0
- package/src/list-item/index.js +1 -1
- package/src/list-item/utils.js +14 -0
- package/src/media-text/media-container.native.js +1 -14
- package/src/navigation/block.json +9 -1
- package/src/navigation/edit/index.js +50 -14
- package/src/navigation/edit/navigation-menu-delete-control.js +1 -1
- package/src/navigation/edit/unsaved-inner-blocks.js +57 -8
- package/src/navigation/index.php +6 -1
- package/src/navigation/style.scss +15 -13
- package/src/navigation/use-navigation-menu.js +4 -0
- package/src/navigation-link/block.json +1 -0
- package/src/navigation-link/edit.js +43 -35
- package/src/navigation-link/index.php +8 -0
- package/src/navigation-link/style.scss +6 -0
- package/src/navigation-submenu/block.json +1 -0
- package/src/navigation-submenu/edit.js +7 -9
- package/src/paragraph/style.scss +0 -5
- package/src/post-author/index.php +0 -1
- package/src/post-comment/edit.js +2 -2
- package/src/post-comments/block.json +4 -3
- package/src/post-comments-form/edit.js +6 -3
- package/src/post-comments-form/index.php +12 -4
- package/src/post-featured-image/block.json +1 -1
- package/src/post-featured-image/edit.js +24 -12
- package/src/post-template/edit.js +7 -1
- package/src/post-terms/edit.js +4 -1
- package/src/post-terms/variations.js +3 -3
- package/src/query/edit/index.js +125 -26
- package/src/query/edit/query-placeholder.js +3 -13
- package/src/query/edit/query-toolbar.js +6 -0
- package/src/query/editor.scss +38 -0
- package/src/query-pagination/edit.js +1 -1
- package/src/query-pagination/index.php +9 -2
- package/src/query-pagination-numbers/block.json +19 -1
- package/src/quote/block.json +8 -0
- package/src/quote/index.js +10 -1
- package/src/quote/style.scss +1 -0
- package/src/quote/v2/deprecated.js +107 -0
- package/src/quote/v2/edit.js +136 -0
- package/src/quote/v2/index.js +36 -0
- package/src/quote/v2/save.js +26 -0
- package/src/quote/v2/test/migrate.js +92 -0
- package/src/quote/v2/transforms.js +155 -0
- package/src/read-more/block.json +1 -1
- package/src/reset.scss +1 -1
- package/src/rss/edit.js +3 -1
- package/src/rss/index.php +14 -1
- package/src/site-logo/block.json +1 -1
- package/src/site-logo/edit.js +2 -1
- package/src/site-logo/index.php +0 -4
- package/src/social-link/index.php +1 -2
- package/src/social-links/block.json +1 -0
- package/src/spacer/controls.native.js +1 -1
- package/src/spacer/test/__snapshots__/index.native.js.snap +31 -0
- package/src/spacer/test/index.native.js +180 -0
- package/src/style.scss +1 -0
- package/src/template-part/edit/utils/hooks.js +6 -1
- package/src/template-part/editor.scss +0 -10
- package/build/navigation/edit/use-list-view-modal.js +0 -73
- package/build/navigation/edit/use-list-view-modal.js.map +0 -1
- package/build-module/navigation/edit/use-list-view-modal.js +0 -63
- package/build-module/navigation/edit/use-list-view-modal.js.map +0 -1
- package/src/navigation/edit/use-list-view-modal.js +0 -72
|
@@ -10,9 +10,9 @@ const metadata = {
|
|
|
10
10
|
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
11
11
|
apiVersion: 2,
|
|
12
12
|
name: "core/post-comments",
|
|
13
|
-
title: "Post Comments",
|
|
13
|
+
title: "Post Comments (deprecated)",
|
|
14
14
|
category: "theme",
|
|
15
|
-
description: "
|
|
15
|
+
description: "This block is deprecated. Please use the Comments Query Loop block instead.",
|
|
16
16
|
textdomain: "default",
|
|
17
17
|
attributes: {
|
|
18
18
|
textAlign: {
|
|
@@ -41,7 +41,8 @@ const metadata = {
|
|
|
41
41
|
background: true,
|
|
42
42
|
text: true
|
|
43
43
|
}
|
|
44
|
-
}
|
|
44
|
+
},
|
|
45
|
+
inserter: false
|
|
45
46
|
},
|
|
46
47
|
style: ["wp-block-post-comments", "wp-block-buttons", "wp-block-button"]
|
|
47
48
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-comments/index.js"],"names":["postComments","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-comments/index.js"],"names":["postComments","icon","edit","name","metadata","settings"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AACA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBJ,EAAAA,IADuB;AAEvBC,EAAAA;AAFuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { postComments as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport metadata from './block.json';\nimport edit from './edit';\n\nconst { name } = metadata;\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n};\n"]}
|
|
@@ -30,6 +30,7 @@ export default function PostCommentsFormEdit(_ref) {
|
|
|
30
30
|
[`has-text-align-${textAlign}`]: textAlign
|
|
31
31
|
})
|
|
32
32
|
});
|
|
33
|
+
const isInSiteEditor = postType === undefined || postId === undefined;
|
|
33
34
|
return createElement(Fragment, null, createElement(BlockControls, {
|
|
34
35
|
group: "block"
|
|
35
36
|
}, createElement(AlignmentControl, {
|
|
@@ -39,8 +40,8 @@ export default function PostCommentsFormEdit(_ref) {
|
|
|
39
40
|
textAlign: nextAlign
|
|
40
41
|
});
|
|
41
42
|
}
|
|
42
|
-
})), createElement("div", blockProps, !commentStatus && createElement(Warning, null, __('Post Comments Form block: comments are not enabled for this post type.')), 'open' !== commentStatus && createElement(Warning, null, sprintf(
|
|
43
|
+
})), createElement("div", blockProps, !commentStatus && !isInSiteEditor && createElement(Warning, null, __('Post Comments Form block: comments are not enabled for this post type.')), 'open' !== commentStatus && !isInSiteEditor && createElement(Warning, null, sprintf(
|
|
43
44
|
/* translators: 1: Post type (i.e. "post", "page") */
|
|
44
|
-
__('Post Comments Form block: comments to this %s are not allowed.'), postType)), 'open' === commentStatus && __('Post Comments Form')));
|
|
45
|
+
__('Post Comments Form block: comments to this %s are not allowed.'), postType)), ('open' === commentStatus || isInSiteEditor) && __('Post Comments Form')));
|
|
45
46
|
}
|
|
46
47
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["classnames","AlignmentControl","BlockControls","Warning","useBlockProps","useEntityProp","__","sprintf","PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","blockProps","className","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,OAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA,eAAe,SAASC,oBAAT,OAIX;AAAA,MAJ0C;AAC7CC,IAAAA,UAD6C;AAE7CC,IAAAA,OAF6C;AAG7CC,IAAAA;AAH6C,GAI1C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAgBH,UAAtB;AACA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAuBJ,OAA7B;AACA,QAAM,CAAEK,aAAF,IAAoBV,aAAa,CACtC,UADsC,EAEtCS,QAFsC,EAGtC,gBAHsC,EAItCD,MAJsC,CAAvC;AAMA,QAAMG,UAAU,GAAGZ,aAAa,CAAE;AACjCa,IAAAA,SAAS,EAAEjB,UAAU,CAAE;AACtB,OAAG,kBAAkBY,SAAW,EAAhC,GAAqCA;AADf,KAAF;AADY,GAAF,CAAhC;AAMA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,KAAK,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-comments-form/edit.js"],"names":["classnames","AlignmentControl","BlockControls","Warning","useBlockProps","useEntityProp","__","sprintf","PostCommentsFormEdit","attributes","context","setAttributes","textAlign","postId","postType","commentStatus","blockProps","className","isInSiteEditor","undefined","nextAlign"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,aAFD,EAGCC,OAHD,EAICC,aAJD,QAKO,yBALP;AAMA,SAASC,aAAT,QAA8B,sBAA9B;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA,eAAe,SAASC,oBAAT,OAIX;AAAA,MAJ0C;AAC7CC,IAAAA,UAD6C;AAE7CC,IAAAA,OAF6C;AAG7CC,IAAAA;AAH6C,GAI1C;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAgBH,UAAtB;AACA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA;AAAV,MAAuBJ,OAA7B;AACA,QAAM,CAAEK,aAAF,IAAoBV,aAAa,CACtC,UADsC,EAEtCS,QAFsC,EAGtC,gBAHsC,EAItCD,MAJsC,CAAvC;AAMA,QAAMG,UAAU,GAAGZ,aAAa,CAAE;AACjCa,IAAAA,SAAS,EAAEjB,UAAU,CAAE;AACtB,OAAG,kBAAkBY,SAAW,EAAhC,GAAqCA;AADf,KAAF;AADY,GAAF,CAAhC;AAMA,QAAMM,cAAc,GAAGJ,QAAQ,KAAKK,SAAb,IAA0BN,MAAM,KAAKM,SAA5D;AAEA,SACC,8BACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,KAAK,EAAGP,SADT;AAEC,IAAA,QAAQ,EAAKQ,SAAF,IAAiB;AAC3BT,MAAAA,aAAa,CAAE;AAAEC,QAAAA,SAAS,EAAEQ;AAAb,OAAF,CAAb;AACA;AAJF,IADD,CADD,EASC,qBAAUJ,UAAV,EACG,CAAED,aAAF,IAAmB,CAAEG,cAArB,IACD,cAAC,OAAD,QACGZ,EAAE,CACH,wEADG,CADL,CAFF,EASG,WAAWS,aAAX,IAA4B,CAAEG,cAA9B,IACD,cAAC,OAAD,QACGX,OAAO;AACR;AACAD,EAAAA,EAAE,CACD,gEADC,CAFM,EAKRQ,QALQ,CADV,CAVF,EAqBG,CAAE,WAAWC,aAAX,IAA4BG,cAA9B,KACDZ,EAAE,CAAE,oBAAF,CAtBJ,CATD,CADD;AAoCA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentControl,\n\tBlockControls,\n\tWarning,\n\tuseBlockProps,\n} from '@wordpress/block-editor';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\n\nexport default function PostCommentsFormEdit( {\n\tattributes,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { textAlign } = attributes;\n\tconst { postId, postType } = context;\n\tconst [ commentStatus ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'comment_status',\n\t\tpostId\n\t);\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 isInSiteEditor = postType === undefined || postId === undefined;\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! commentStatus && ! isInSiteEditor && (\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Post Comments Form block: comments are not enabled for this post type.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ 'open' !== commentStatus && ! isInSiteEditor && (\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: 1: Post type (i.e. \"post\", \"page\") */\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'Post Comments Form block: comments to this %s are not allowed.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t) }\n\n\t\t\t\t{ ( 'open' === commentStatus || isInSiteEditor ) &&\n\t\t\t\t\t__( 'Post Comments Form' ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -44,7 +44,7 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
44
44
|
setAttributes,
|
|
45
45
|
context: {
|
|
46
46
|
postId,
|
|
47
|
-
postType,
|
|
47
|
+
postType: postTypeSlug,
|
|
48
48
|
queryId
|
|
49
49
|
}
|
|
50
50
|
} = _ref;
|
|
@@ -56,10 +56,22 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
56
56
|
scale,
|
|
57
57
|
sizeSlug
|
|
58
58
|
} = attributes;
|
|
59
|
-
const [featuredImage, setFeaturedImage] = useEntityProp('postType',
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
59
|
+
const [featuredImage, setFeaturedImage] = useEntityProp('postType', postTypeSlug, 'featured_media', postId);
|
|
60
|
+
const {
|
|
61
|
+
media,
|
|
62
|
+
postType
|
|
63
|
+
} = useSelect(select => {
|
|
64
|
+
const {
|
|
65
|
+
getMedia,
|
|
66
|
+
getPostType
|
|
67
|
+
} = select(coreStore);
|
|
68
|
+
return {
|
|
69
|
+
media: featuredImage && getMedia(featuredImage, {
|
|
70
|
+
context: 'view'
|
|
71
|
+
}),
|
|
72
|
+
postType: postTypeSlug && getPostType(postTypeSlug)
|
|
73
|
+
};
|
|
74
|
+
}, [featuredImage, postTypeSlug]);
|
|
63
75
|
const mediaUrl = getMediaSourceUrlBySizeSlug(media, sizeSlug);
|
|
64
76
|
const imageSizes = useSelect(select => select(blockEditorStore).getSettings().imageSizes, []);
|
|
65
77
|
const imageSizeOptions = imageSizes.filter(_ref2 => {
|
|
@@ -116,8 +128,8 @@ function PostFeaturedImageDisplay(_ref) {
|
|
|
116
128
|
}), createElement(InspectorControls, null, createElement(PanelBody, {
|
|
117
129
|
title: __('Link settings')
|
|
118
130
|
}, createElement(ToggleControl, {
|
|
119
|
-
label: sprintf( // translators: %s: Name of the post type e.g: "post".
|
|
120
|
-
__('Link to %s'), postType),
|
|
131
|
+
label: postType !== null && postType !== void 0 && postType.labels.singular_name ? sprintf( // translators: %s: Name of the post type e.g: "post".
|
|
132
|
+
__('Link to %s'), postType.labels.singular_name.toLowerCase()) : __('Link to post'),
|
|
121
133
|
onChange: () => setAttributes({
|
|
122
134
|
isLink: !isLink
|
|
123
135
|
}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","SVG","Path","noticesStore","DimensionControls","placeholderIllustration","ALLOWED_MEDIA_TYPES","placeholderChip","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","featuredImage","setFeaturedImage","select","getMedia","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","placeholder","content","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,EAAwBC,KAAK,IAAIC,SAAjC,QAAkD,sBAAlD;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SACCC,QADD,EAECC,aAFD,EAGCC,SAHD,EAICC,WAJD,EAKCC,MALD,QAMO,uBANP;AAOA,SACCC,iBADD,EAECC,aAFD,EAGCC,gBAHD,EAICC,gBAJD,EAKCC,aALD,EAMCb,KAAK,IAAIc,gBANV,QAOO,yBAPP;AAQA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,MAAT,QAAuB,kBAAvB;AACA,SAASC,GAAT,EAAcC,IAAd,QAA0B,uBAA1B;AACA,SAASnB,KAAK,IAAIoB,YAAlB,QAAsC,oBAAtC;AAEA;AACA;AACA;;AACA,OAAOC,iBAAP,MAA8B,sBAA9B;AAEA,MAAMC,uBAAuB,GAC5B,cAAC,GAAD;AACC,EAAA,SAAS,EAAC,sCADX;AAEC,EAAA,IAAI,EAAC,MAFN;AAGC,EAAA,KAAK,EAAC,4BAHP;AAIC,EAAA,OAAO,EAAC,WAJT;AAKC,EAAA,mBAAmB,EAAC;AALrB,GAOC,cAAC,IAAD;AAAM,EAAA,YAAY,EAAC,oBAAnB;AAAwC,EAAA,CAAC,EAAC;AAA1C,EAPD,CADD;AAYA,MAAMC,mBAAmB,GAAG,CAAE,OAAF,CAA5B;AACA,MAAMC,eAAe,GACpB;AAAK,EAAA,SAAS,EAAC;AAAf,GACGF,uBADH,CADD;;AAMA,SAASG,2BAAT,CAAsCC,KAAtC,EAA6CC,IAA7C,EAAoD;AAAA;;AACnD,SACC,CAAAD,KAAK,SAAL,IAAAA,KAAK,WAAL,oCAAAA,KAAK,CAAEE,aAAP,uGAAsBC,KAAtB,0GAA+BF,IAA/B,mFAAuCG,UAAvC,MAAqDJ,KAArD,aAAqDA,KAArD,uBAAqDA,KAAK,CAAEI,UAA5D,CADD;AAGA;;AAED,SAASC,wBAAT,OAKI;AAAA,MAL+B;AAClCC,IAAAA,QADkC;AAElCC,IAAAA,UAFkC;AAGlCC,IAAAA,aAHkC;AAIlCC,IAAAA,OAAO,EAAE;AAAEC,MAAAA,MAAF;AAAUC,MAAAA,QAAV;AAAoBC,MAAAA;AAApB;AAJyB,GAK/B;AACH,QAAMC,uBAAuB,GAAGC,MAAM,CAACC,QAAP,CAAiBH,OAAjB,CAAhC;AACA,QAAM;AAAEI,IAAAA,MAAF;AAAUC,IAAAA,MAAV;AAAkBC,IAAAA,KAAlB;AAAyBC,IAAAA,KAAzB;AAAgCC,IAAAA;AAAhC,MAA6Cb,UAAnD;AACA,QAAM,CAAEc,aAAF,EAAiBC,gBAAjB,IAAsCjD,aAAa,CACxD,UADwD,EAExDsC,QAFwD,EAGxD,gBAHwD,EAIxDD,MAJwD,CAAzD;AAOA,QAAMV,KAAK,GAAGxB,SAAS,CACpB+C,MAAF,IACCF,aAAa,IACbE,MAAM,CAAEhD,SAAF,CAAN,CAAoBiD,QAApB,CAA8BH,aAA9B,EAA6C;AAAEZ,IAAAA,OAAO,EAAE;AAAX,GAA7C,CAHqB,EAItB,CAAEY,aAAF,CAJsB,CAAvB;AAMA,QAAMI,QAAQ,GAAG1B,2BAA2B,CAAEC,KAAF,EAASoB,QAAT,CAA5C;AAEA,QAAMM,UAAU,GAAGlD,SAAS,CACzB+C,MAAF,IAAcA,MAAM,CAAEnC,gBAAF,CAAN,CAA2BuC,WAA3B,GAAyCD,UAD5B,EAE3B,EAF2B,CAA5B;AAIA,QAAME,gBAAgB,GAAGF,UAAU,CACjCG,MADuB,CACf,SAAgB;AAAA;;AAAA,QAAd;AAAE5B,MAAAA;AAAF,KAAc;AACxB,WAAOD,KAAP,aAAOA,KAAP,gDAAOA,KAAK,CAAEE,aAAd,mFAAO,sBAAsBC,KAA7B,mFAAO,sBAA+BF,IAA/B,CAAP,0DAAO,sBAAuCG,UAA9C;AACA,GAHuB,EAIvB0B,GAJuB,CAIlB;AAAA,QAAE;AAAEC,MAAAA,IAAF;AAAQ9B,MAAAA;AAAR,KAAF;AAAA,WAAwB;AAC7B+B,MAAAA,KAAK,EAAE/B,IADsB;AAE7BgC,MAAAA,KAAK,EAAEF;AAFsB,KAAxB;AAAA,GAJkB,CAAzB;AASA,QAAMG,UAAU,GAAG/C,aAAa,CAAE;AACjCgD,IAAAA,KAAK,EAAE;AAAEjB,MAAAA,KAAF;AAASD,MAAAA;AAAT;AAD0B,GAAF,CAAhC;;AAIA,QAAMmB,WAAW,GAAKC,OAAF,IAAe;AAClC,WACC,cAAC,WAAD;AAAa,MAAA,SAAS,EAAC;AAAvB,OACGzC,uBADH,EAEGyC,OAFH,CADD;AAMA,GAPD;;AASA,QAAMC,aAAa,GAAKN,KAAF,IAAa;AAClC,QAAKA,KAAL,aAAKA,KAAL,eAAKA,KAAK,CAAEO,EAAZ,EAAiB;AAChBjB,MAAAA,gBAAgB,CAAEU,KAAK,CAACO,EAAR,CAAhB;AACA;AACD,GAJD;;AAMA,QAAM;AAAEC,IAAAA;AAAF,MAAwB/D,WAAW,CAAEiB,YAAF,CAAzC;;AACA,QAAM+C,aAAa,GAAKC,OAAF,IAAe;AACpCF,IAAAA,iBAAiB,CAAEE,OAAO,CAAE,CAAF,CAAT,EAAgB;AAAEC,MAAAA,IAAI,EAAE;AAAR,KAAhB,CAAjB;AACA,GAFD;;AAIA,QAAMC,QAAQ,GACb,8BACC,cAAC,iBAAD;AACC,IAAA,QAAQ,EAAGtC,QADZ;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,aAAa,EAAGC,aAHjB;AAIC,IAAA,gBAAgB,EAAGoB;AAJpB,IADD,EAOC,cAAC,iBAAD,QACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGvC,EAAE,CAAE,eAAF;AAArB,KACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGC,OAAO,EACd;AACAD,IAAAA,EAAE,CAAE,YAAF,CAFY,EAGdsB,QAHc,CADhB;AAMC,IAAA,QAAQ,EAAG,MAAMH,aAAa,CAAE;AAAEQ,MAAAA,MAAM,EAAE,CAAEA;AAAZ,KAAF,CAN/B;AAOC,IAAA,OAAO,EAAGA;AAPX,IADD,CADD,CAPD,CADD;AAuBA,MAAI6B,KAAJ;;AACA,MAAK,CAAExB,aAAF,IAAmBR,uBAAxB,EAAkD;AACjD,WACC,8BACG+B,QADH,EAEC,qBAAUV,UAAV,EAAyBpC,eAAzB,CAFD,CADD;AAMA;;AAED,QAAMmC,KAAK,GAAG5C,EAAE,CAAE,sBAAF,CAAhB;;AAEA,MAAK,CAAEgC,aAAP,EAAuB;AACtBwB,IAAAA,KAAK,GACJ,cAAC,gBAAD;AACC,MAAA,QAAQ,EAAGP,aADZ;AAEC,MAAA,MAAM,EAAC,SAFR;AAGC,MAAA,YAAY,EAAGzC,mBAHhB;AAIC,MAAA,OAAO,EAAG4C,aAJX;AAKC,MAAA,WAAW,EAAGL,WALf;AAMC,MAAA,kBAAkB,EAAG,SAAgB;AAAA,YAAd;AAAEU,UAAAA;AAAF,SAAc;AACpC,eACC,cAAC,MAAD;AACC,UAAA,IAAI,EAAGvD,MADR;AAEC,UAAA,OAAO,EAAC,SAFT;AAGC,UAAA,KAAK,EAAG0C,KAHT;AAIC,UAAA,WAAW,MAJZ;AAKC,UAAA,eAAe,EAAC,YALjB;AAMC,UAAA,OAAO,EAAG,MAAM;AACfa,YAAAA,IAAI;AACJ;AARF,UADD;AAYA;AAnBF,MADD;AAuBA,GAxBD,MAwBO;AACN;AACAD,IAAAA,KAAK,GAAG,CAAE7C,KAAF,GACPF,eADO,GAGP;AACC,MAAA,GAAG,EAAG2B,QADP;AAEC,MAAA,GAAG,EACFzB,KAAK,CAAC+C,QAAN,GACGzD,OAAO,EACP;AACAD,MAAAA,EAAE,CAAE,oBAAF,CAFK,EAGPW,KAAK,CAAC+C,QAHC,CADV,GAMG1D,EAAE,CAAE,gBAAF,CATP;AAWC,MAAA,KAAK,EAAG;AAAE4B,QAAAA,MAAF;AAAU+B,QAAAA,SAAS,EAAE/B,MAAM,IAAIE;AAA/B;AAXT,MAHD;AAiBA;;AAED,SACC,8BACGyB,QADH,EAEG,CAAC,CAAE5C,KAAH,IAAY,CAAEa,uBAAd,IACD,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,gBAAD;AACC,IAAA,OAAO,EAAGQ,aADX;AAEC,IAAA,QAAQ,EAAGI,QAFZ;AAGC,IAAA,YAAY,EAAG5B,mBAHhB;AAIC,IAAA,MAAM,EAAC,SAJR;AAKC,IAAA,QAAQ,EAAGyC,aALZ;AAMC,IAAA,OAAO,EAAGG;AANX,KAQC,cAAC,QAAD;AAAU,IAAA,OAAO,EAAG,MAAMnB,gBAAgB,CAAE,CAAF;AAA1C,KACGjC,EAAE,CAAE,OAAF,CADL,CARD,CADD,CAHF,EAkBC,wBAAa6C,UAAb,EAA4BW,KAA5B,CAlBD,CADD;AAsBA;;AAED,eAAe,SAASI,qBAAT,CAAgCC,KAAhC,EAAwC;AAAA;;AACtD,QAAMhB,UAAU,GAAG/C,aAAa,EAAhC;;AACA,MAAK,oBAAE+D,KAAK,CAACzC,OAAR,2CAAE,eAAeC,MAAjB,CAAL,EAA+B;AAC9B,WAAO,qBAAUwB,UAAV,EAAyBpC,eAAzB,CAAP;AACA;;AACD,SAAO,cAAC,wBAAD,EAA+BoD,KAA/B,CAAP;AACA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst placeholderIllustration = (\n\t<SVG\n\t\tclassName=\"components-placeholder__illustration\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t>\n\t\t<Path vectorEffect=\"non-scaling-stroke\" d=\"M60 60 0 0\" />\n\t</SVG>\n);\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst placeholderChip = (\n\t<div className=\"wp-block-post-featured-image__placeholder\">\n\t\t{ placeholderIllustration }\n\t</div>\n);\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\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 = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder className=\"block-editor-media-placeholder\">\n\t\t\t\t{ placeholderIllustration }\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\tpostType\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholderChip }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholderChip\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/edit.js"],"names":["useEntityProp","store","coreStore","useSelect","useDispatch","MenuItem","ToggleControl","PanelBody","Placeholder","Button","InspectorControls","BlockControls","MediaPlaceholder","MediaReplaceFlow","useBlockProps","blockEditorStore","__","sprintf","upload","SVG","Path","noticesStore","DimensionControls","placeholderIllustration","ALLOWED_MEDIA_TYPES","placeholderChip","getMediaSourceUrlBySizeSlug","media","slug","media_details","sizes","source_url","PostFeaturedImageDisplay","clientId","attributes","setAttributes","context","postId","postType","postTypeSlug","queryId","isDescendentOfQueryLoop","Number","isFinite","isLink","height","width","scale","sizeSlug","featuredImage","setFeaturedImage","select","getMedia","getPostType","mediaUrl","imageSizes","getSettings","imageSizeOptions","filter","map","name","value","label","blockProps","style","placeholder","content","onSelectImage","id","createErrorNotice","onUploadError","message","type","controls","labels","singular_name","toLowerCase","image","open","alt_text","objectFit","PostFeaturedImageEdit","props"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tMenuItem,\n\tToggleControl,\n\tPanelBody,\n\tPlaceholder,\n\tButton,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { upload } from '@wordpress/icons';\nimport { SVG, Path } from '@wordpress/primitives';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport DimensionControls from './dimension-controls';\n\nconst placeholderIllustration = (\n\t<SVG\n\t\tclassName=\"components-placeholder__illustration\"\n\t\tfill=\"none\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\tviewBox=\"0 0 60 60\"\n\t\tpreserveAspectRatio=\"none\"\n\t>\n\t\t<Path vectorEffect=\"non-scaling-stroke\" d=\"M60 60 0 0\" />\n\t</SVG>\n);\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst placeholderChip = (\n\t<div className=\"wp-block-post-featured-image__placeholder\">\n\t\t{ placeholderIllustration }\n\t</div>\n);\n\nfunction getMediaSourceUrlBySizeSlug( media, slug ) {\n\treturn (\n\t\tmedia?.media_details?.sizes?.[ slug ]?.source_url || media?.source_url\n\t);\n}\n\nfunction PostFeaturedImageDisplay( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\tcontext: { postId, postType: postTypeSlug, queryId },\n} ) {\n\tconst isDescendentOfQueryLoop = Number.isFinite( queryId );\n\tconst { isLink, height, width, scale, sizeSlug } = attributes;\n\tconst [ featuredImage, setFeaturedImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostTypeSlug,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { media, postType } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia, getPostType } = select( coreStore );\n\t\t\treturn {\n\t\t\t\tmedia:\n\t\t\t\t\tfeaturedImage &&\n\t\t\t\t\tgetMedia( featuredImage, {\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} ),\n\t\t\t\tpostType: postTypeSlug && getPostType( postTypeSlug ),\n\t\t\t};\n\t\t},\n\t\t[ featuredImage, postTypeSlug ]\n\t);\n\tconst mediaUrl = getMediaSourceUrlBySizeSlug( media, sizeSlug );\n\n\tconst imageSizes = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().imageSizes,\n\t\t[]\n\t);\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => {\n\t\t\treturn media?.media_details?.sizes?.[ slug ]?.source_url;\n\t\t} )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\n\tconst blockProps = useBlockProps( {\n\t\tstyle: { width, height },\n\t} );\n\n\tconst placeholder = ( content ) => {\n\t\treturn (\n\t\t\t<Placeholder className=\"block-editor-media-placeholder\">\n\t\t\t\t{ placeholderIllustration }\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst onSelectImage = ( value ) => {\n\t\tif ( value?.id ) {\n\t\t\tsetFeaturedImage( value.id );\n\t\t}\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message[ 2 ], { type: 'snackbar' } );\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<DimensionControls\n\t\t\t\tclientId={ clientId }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t/>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Link settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={\n\t\t\t\t\t\t\tpostType?.labels.singular_name\n\t\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %s: Name of the post type e.g: \"post\".\n\t\t\t\t\t\t\t\t\t\t__( 'Link to %s' ),\n\t\t\t\t\t\t\t\t\t\tpostType.labels.singular_name.toLowerCase()\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __( 'Link to post' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\tlet image;\n\tif ( ! featuredImage && isDescendentOfQueryLoop ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ controls }\n\t\t\t\t<div { ...blockProps }>{ placeholderChip }</div>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst label = __( 'Add a featured image' );\n\n\tif ( ! featuredImage ) {\n\t\timage = (\n\t\t\t<MediaPlaceholder\n\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tplaceholder={ placeholder }\n\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t);\n\t} else {\n\t\t// We have a Featured image so show a Placeholder if is loading.\n\t\timage = ! media ? (\n\t\t\tplaceholderChip\n\t\t) : (\n\t\t\t<img\n\t\t\t\tsrc={ mediaUrl }\n\t\t\t\talt={\n\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The image's alt text.\n\t\t\t\t\t\t\t\t__( 'Featured image: %s' ),\n\t\t\t\t\t\t\t\tmedia.alt_text\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: __( 'Featured image' )\n\t\t\t\t}\n\t\t\t\tstyle={ { height, objectFit: height && scale } }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t{ controls }\n\t\t\t{ !! media && ! isDescendentOfQueryLoop && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ featuredImage }\n\t\t\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t>\n\t\t\t\t\t\t<MenuItem onClick={ () => setFeaturedImage( 0 ) }>\n\t\t\t\t\t\t\t{ __( 'Reset' ) }\n\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t</MediaReplaceFlow>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<figure { ...blockProps }>{ image }</figure>\n\t\t</>\n\t);\n}\n\nexport default function PostFeaturedImageEdit( props ) {\n\tconst blockProps = useBlockProps();\n\tif ( ! props.context?.postId ) {\n\t\treturn <div { ...blockProps }>{ placeholderChip }</div>;\n\t}\n\treturn <PostFeaturedImageDisplay { ...props } />;\n}\n"]}
|
|
@@ -37,7 +37,7 @@ const metadata = {
|
|
|
37
37
|
supports: {
|
|
38
38
|
align: ["left", "right", "center", "wide", "full"],
|
|
39
39
|
color: {
|
|
40
|
-
__experimentalDuotone: "img",
|
|
40
|
+
__experimentalDuotone: "img, .wp-block-post-featured-image__placeholder, .components-placeholder__illustration, .components-placeholder::before",
|
|
41
41
|
text: false,
|
|
42
42
|
background: false
|
|
43
43
|
},
|
|
@@ -18,7 +18,9 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
18
18
|
const TEMPLATE = [['core/post-title'], ['core/post-date'], ['core/post-excerpt']];
|
|
19
19
|
|
|
20
20
|
function PostTemplateInnerBlocks() {
|
|
21
|
-
const innerBlocksProps = useInnerBlocksProps({
|
|
21
|
+
const innerBlocksProps = useInnerBlocksProps({
|
|
22
|
+
className: 'wp-block-post'
|
|
23
|
+
}, {
|
|
22
24
|
template: TEMPLATE
|
|
23
25
|
});
|
|
24
26
|
return createElement("li", innerBlocksProps);
|
|
@@ -32,7 +34,10 @@ function PostTemplateBlockPreview(_ref) {
|
|
|
32
34
|
setActiveBlockContextId
|
|
33
35
|
} = _ref;
|
|
34
36
|
const blockPreviewProps = useBlockPreview({
|
|
35
|
-
blocks
|
|
37
|
+
blocks,
|
|
38
|
+
props: {
|
|
39
|
+
className: 'wp-block-post'
|
|
40
|
+
}
|
|
36
41
|
});
|
|
37
42
|
|
|
38
43
|
const handleOnClick = () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-template/edit.js"],"names":["classnames","memo","useMemo","useState","useSelect","__","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","coreStore","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","template","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","handleOnClick","style","display","undefined","MemoizedPostTemplateBlockPreview","PostTemplateEdit","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","queryContext","page","templateSlug","displayLayout","type","layoutType","columns","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","taxonomies","per_page","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","slug","rest_base","keys","length","assign","startsWith","replace","blockContexts","map","post","postId","id","hasLayoutFlex","blockProps","className","blockContext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps( {}, { template: TEMPLATE } );\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t} = {},\n\t\tqueryContext = [ { page: 1 } ],\n\t\ttemplateSlug,\n\t\tdisplayLayout: { type: layoutType = 'flex', columns = 1 } = {},\n\t},\n} ) {\n\tconst [ { page } ] = queryContext;\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage * ( page - 1 ) + offset : 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\tif ( taxQuery ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', postType, query ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\tpage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\tconst hasLayoutFlex = layoutType === 'flex' && columns > 1;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-flex-container': hasLayoutFlex,\n\t\t\t[ `columns-${ columns }` ]: hasLayoutFlex,\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<ul { ...blockProps }>\n\t\t\t{ blockContexts &&\n\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\tsetActiveBlockContextId={ setActiveBlockContextId }\n\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-template/edit.js"],"names":["classnames","memo","useMemo","useState","useSelect","__","BlockContextProvider","__experimentalUseBlockPreview","useBlockPreview","useBlockProps","useInnerBlocksProps","store","blockEditorStore","Spinner","coreStore","TEMPLATE","PostTemplateInnerBlocks","innerBlocksProps","className","template","PostTemplateBlockPreview","blocks","blockContextId","isHidden","setActiveBlockContextId","blockPreviewProps","props","handleOnClick","style","display","undefined","MemoizedPostTemplateBlockPreview","PostTemplateEdit","clientId","context","query","perPage","offset","postType","order","orderBy","author","search","exclude","sticky","inherit","taxQuery","queryContext","page","templateSlug","displayLayout","type","layoutType","columns","activeBlockContextId","posts","select","getEntityRecords","getTaxonomies","getBlocks","taxonomies","per_page","orderby","builtTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","taxonomy","find","slug","rest_base","keys","length","assign","startsWith","replace","blockContexts","map","post","postId","id","hasLayoutFlex","blockProps","blockContext"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { memo, useMemo, useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBlockContextProvider,\n\t__experimentalUseBlockPreview as useBlockPreview,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { Spinner } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\nconst TEMPLATE = [\n\t[ 'core/post-title' ],\n\t[ 'core/post-date' ],\n\t[ 'core/post-excerpt' ],\n];\n\nfunction PostTemplateInnerBlocks() {\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{ className: 'wp-block-post' },\n\t\t{ template: TEMPLATE }\n\t);\n\treturn <li { ...innerBlocksProps } />;\n}\n\nfunction PostTemplateBlockPreview( {\n\tblocks,\n\tblockContextId,\n\tisHidden,\n\tsetActiveBlockContextId,\n} ) {\n\tconst blockPreviewProps = useBlockPreview( {\n\t\tblocks,\n\t\tprops: {\n\t\t\tclassName: 'wp-block-post',\n\t\t},\n\t} );\n\n\tconst handleOnClick = () => {\n\t\tsetActiveBlockContextId( blockContextId );\n\t};\n\n\tconst style = {\n\t\tdisplay: isHidden ? 'none' : undefined,\n\t};\n\n\treturn (\n\t\t<li\n\t\t\t{ ...blockPreviewProps }\n\t\t\ttabIndex={ 0 }\n\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\trole=\"button\"\n\t\t\tonClick={ handleOnClick }\n\t\t\tonKeyPress={ handleOnClick }\n\t\t\tstyle={ style }\n\t\t/>\n\t);\n}\n\nconst MemoizedPostTemplateBlockPreview = memo( PostTemplateBlockPreview );\n\nexport default function PostTemplateEdit( {\n\tclientId,\n\tcontext: {\n\t\tquery: {\n\t\t\tperPage,\n\t\t\toffset,\n\t\t\tpostType,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttaxQuery,\n\t\t} = {},\n\t\tqueryContext = [ { page: 1 } ],\n\t\ttemplateSlug,\n\t\tdisplayLayout: { type: layoutType = 'flex', columns = 1 } = {},\n\t},\n} ) {\n\tconst [ { page } ] = queryContext;\n\tconst [ activeBlockContextId, setActiveBlockContextId ] = useState();\n\n\tconst { posts, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomies } = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\t\t\tconst taxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst query = {\n\t\t\t\toffset: perPage ? perPage * ( page - 1 ) + offset : 0,\n\t\t\t\torder,\n\t\t\t\torderby: orderBy,\n\t\t\t};\n\t\t\tif ( taxQuery ) {\n\t\t\t\t// We have to build the tax query for the REST API and use as\n\t\t\t\t// keys the taxonomies `rest_base` with the `term ids` as values.\n\t\t\t\tconst builtTaxQuery = Object.entries( taxQuery ).reduce(\n\t\t\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\t\t\tconst taxonomy = taxonomies?.find(\n\t\t\t\t\t\t\t( { slug } ) => slug === taxonomySlug\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( taxonomy?.rest_base ) {\n\t\t\t\t\t\t\taccumulator[ taxonomy?.rest_base ] = terms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn accumulator;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\t\t\t\tif ( !! Object.keys( builtTaxQuery ).length ) {\n\t\t\t\t\tObject.assign( query, builtTaxQuery );\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( perPage ) {\n\t\t\t\tquery.per_page = perPage;\n\t\t\t}\n\t\t\tif ( author ) {\n\t\t\t\tquery.author = author;\n\t\t\t}\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t}\n\t\t\tif ( exclude?.length ) {\n\t\t\t\tquery.exclude = exclude;\n\t\t\t}\n\t\t\t// If sticky is not set, it will return all posts in the results.\n\t\t\t// If sticky is set to `only`, it will limit the results to sticky posts only.\n\t\t\t// If it is anything else, it will exclude sticky posts from results. For the record the value stored is `exclude`.\n\t\t\tif ( sticky ) {\n\t\t\t\tquery.sticky = sticky === 'only';\n\t\t\t}\n\t\t\t// If `inherit` is truthy, adjust conditionally the query to create a better preview.\n\t\t\tif ( inherit ) {\n\t\t\t\t// Change the post-type if needed.\n\t\t\t\tif ( templateSlug?.startsWith( 'archive-' ) ) {\n\t\t\t\t\tquery.postType = templateSlug.replace( 'archive-', '' );\n\t\t\t\t\tpostType = query.postType;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tposts: getEntityRecords( 'postType', postType, query ),\n\t\t\t\tblocks: getBlocks( clientId ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tperPage,\n\t\t\tpage,\n\t\t\toffset,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tclientId,\n\t\t\tauthor,\n\t\t\tsearch,\n\t\t\tpostType,\n\t\t\texclude,\n\t\t\tsticky,\n\t\t\tinherit,\n\t\t\ttemplateSlug,\n\t\t\ttaxQuery,\n\t\t]\n\t);\n\tconst blockContexts = useMemo(\n\t\t() =>\n\t\t\tposts?.map( ( post ) => ( {\n\t\t\t\tpostType: post.type,\n\t\t\t\tpostId: post.id,\n\t\t\t} ) ),\n\t\t[ posts ]\n\t);\n\tconst hasLayoutFlex = layoutType === 'flex' && columns > 1;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'is-flex-container': hasLayoutFlex,\n\t\t\t[ `columns-${ columns }` ]: hasLayoutFlex,\n\t\t} ),\n\t} );\n\n\tif ( ! posts ) {\n\t\treturn (\n\t\t\t<p { ...blockProps }>\n\t\t\t\t<Spinner />\n\t\t\t</p>\n\t\t);\n\t}\n\n\tif ( ! posts.length ) {\n\t\treturn <p { ...blockProps }> { __( 'No results found.' ) }</p>;\n\t}\n\n\t// To avoid flicker when switching active block contexts, a preview is rendered\n\t// for each block context, but the preview for the active block context is hidden.\n\t// This ensures that when it is displayed again, the cached rendering of the\n\t// block preview is used, instead of having to re-render the preview from scratch.\n\treturn (\n\t\t<ul { ...blockProps }>\n\t\t\t{ blockContexts &&\n\t\t\t\tblockContexts.map( ( blockContext ) => (\n\t\t\t\t\t<BlockContextProvider\n\t\t\t\t\t\tkey={ blockContext.postId }\n\t\t\t\t\t\tvalue={ blockContext }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ blockContext.postId ===\n\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId ) ? (\n\t\t\t\t\t\t\t<PostTemplateInnerBlocks />\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t\t<MemoizedPostTemplateBlockPreview\n\t\t\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\t\t\tblockContextId={ blockContext.postId }\n\t\t\t\t\t\t\tsetActiveBlockContextId={ setActiveBlockContextId }\n\t\t\t\t\t\t\tisHidden={\n\t\t\t\t\t\t\t\tblockContext.postId ===\n\t\t\t\t\t\t\t\t( activeBlockContextId ||\n\t\t\t\t\t\t\t\t\tblockContexts[ 0 ]?.postId )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockContextProvider>\n\t\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"]}
|
|
@@ -9,7 +9,7 @@ import { unescape } from 'lodash';
|
|
|
9
9
|
* WordPress dependencies
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { AlignmentToolbar, InspectorControls, BlockControls, useBlockProps } from '@wordpress/block-editor';
|
|
12
|
+
import { AlignmentToolbar, InspectorControls, BlockControls, useBlockProps, useBlockDisplayInformation } from '@wordpress/block-editor';
|
|
13
13
|
import { Spinner, TextControl } from '@wordpress/components';
|
|
14
14
|
import { useSelect } from '@wordpress/data';
|
|
15
15
|
import { __ } from '@wordpress/i18n';
|
|
@@ -24,6 +24,7 @@ export default function PostTermsEdit(_ref) {
|
|
|
24
24
|
|
|
25
25
|
let {
|
|
26
26
|
attributes,
|
|
27
|
+
clientId,
|
|
27
28
|
context,
|
|
28
29
|
setAttributes
|
|
29
30
|
} = _ref;
|
|
@@ -56,6 +57,7 @@ export default function PostTermsEdit(_ref) {
|
|
|
56
57
|
term: selectedTerm
|
|
57
58
|
});
|
|
58
59
|
const hasPost = postId && postType;
|
|
60
|
+
const blockInformation = useBlockDisplayInformation(clientId);
|
|
59
61
|
const blockProps = useBlockProps({
|
|
60
62
|
className: classnames({
|
|
61
63
|
[`has-text-align-${textAlign}`]: textAlign,
|
|
@@ -64,7 +66,7 @@ export default function PostTermsEdit(_ref) {
|
|
|
64
66
|
});
|
|
65
67
|
|
|
66
68
|
if (!hasPost || !term) {
|
|
67
|
-
return createElement("div", blockProps,
|
|
69
|
+
return createElement("div", blockProps, blockInformation.title);
|
|
68
70
|
}
|
|
69
71
|
|
|
70
72
|
return createElement(Fragment, null, createElement(BlockControls, null, createElement(AlignmentToolbar, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","unescape","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","PostTermsEdit","attributes","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockProps","className","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AACA,SAASC,QAAT,QAAyB,QAAzB;AAEA;AACA;AACA;;AACA,SACCC,gBADD,EAECC,iBAFD,EAGCC,aAHD,EAICC,aAJD,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-terms/edit.js"],"names":["classnames","unescape","AlignmentToolbar","InspectorControls","BlockControls","useBlockProps","useBlockDisplayInformation","Spinner","TextControl","useSelect","__","store","coreStore","usePostTerms","PostTermsEdit","attributes","clientId","context","setAttributes","term","textAlign","separator","postId","postType","selectedTerm","select","getTaxonomy","taxonomy","visibility","publicly_queryable","postTerms","hasPostTerms","isLoading","hasPost","blockInformation","blockProps","className","title","nextAlign","nextValue","map","postTerm","id","link","event","preventDefault","name","reduce","prev","curr","labels","no_terms"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { unescape } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tAlignmentToolbar,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseBlockDisplayInformation,\n} from '@wordpress/block-editor';\nimport { Spinner, TextControl } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport usePostTerms from './use-post-terms';\n\nexport default function PostTermsEdit( {\n\tattributes,\n\tclientId,\n\tcontext,\n\tsetAttributes,\n} ) {\n\tconst { term, textAlign, separator } = attributes;\n\tconst { postId, postType } = context;\n\n\tconst selectedTerm = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! term ) return {};\n\t\t\tconst { getTaxonomy } = select( coreStore );\n\t\t\tconst taxonomy = getTaxonomy( term );\n\t\t\treturn taxonomy?.visibility?.publicly_queryable ? taxonomy : {};\n\t\t},\n\t\t[ term ]\n\t);\n\tconst { postTerms, hasPostTerms, isLoading } = usePostTerms( {\n\t\tpostId,\n\t\tpostType,\n\t\tterm: selectedTerm,\n\t} );\n\tconst hasPost = postId && postType;\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t[ `taxonomy-${ term }` ]: term,\n\t\t} ),\n\t} );\n\n\tif ( ! hasPost || ! term ) {\n\t\treturn <div { ...blockProps }>{ blockInformation.title }</div>;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<AlignmentToolbar\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tautoComplete=\"off\"\n\t\t\t\t\tlabel={ __( 'Separator' ) }\n\t\t\t\t\tvalue={ separator || '' }\n\t\t\t\t\tonChange={ ( nextValue ) => {\n\t\t\t\t\t\tsetAttributes( { separator: nextValue } );\n\t\t\t\t\t} }\n\t\t\t\t\thelp={ __( 'Enter character(s) used to separate terms.' ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ isLoading && <Spinner /> }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\thasPostTerms &&\n\t\t\t\t\tpostTerms\n\t\t\t\t\t\t.map( ( postTerm ) => (\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\tkey={ postTerm.id }\n\t\t\t\t\t\t\t\thref={ postTerm.link }\n\t\t\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ unescape( postTerm.name ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t) )\n\t\t\t\t\t\t.reduce( ( prev, curr ) => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{ prev }\n\t\t\t\t\t\t\t\t<span className=\"wp-block-post-terms__separator\">\n\t\t\t\t\t\t\t\t\t{ separator || ' ' }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t{ curr }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) ) }\n\t\t\t\t{ ! isLoading &&\n\t\t\t\t\t! hasPostTerms &&\n\t\t\t\t\t( selectedTerm?.labels?.no_terms ||\n\t\t\t\t\t\t__( 'Term items not found.' ) ) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import { postCategories
|
|
5
|
+
import { postCategories, postTerms } from '@wordpress/icons';
|
|
6
6
|
const variations = [{
|
|
7
7
|
name: 'category',
|
|
8
8
|
title: __('Post Categories'),
|
|
9
9
|
description: __("Display a post's categories."),
|
|
10
|
-
icon,
|
|
10
|
+
icon: postCategories,
|
|
11
11
|
isDefault: true,
|
|
12
12
|
attributes: {
|
|
13
13
|
term: 'category'
|
|
@@ -17,7 +17,7 @@ const variations = [{
|
|
|
17
17
|
name: 'post_tag',
|
|
18
18
|
title: __('Post Tags'),
|
|
19
19
|
description: __("Display a post's tags."),
|
|
20
|
-
icon,
|
|
20
|
+
icon: postTerms,
|
|
21
21
|
attributes: {
|
|
22
22
|
term: 'post_tag'
|
|
23
23
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-terms/variations.js"],"names":["__","postCategories","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-terms/variations.js"],"names":["__","postCategories","postTerms","variations","name","title","description","icon","isDefault","attributes","term","isActive","blockAttributes"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,cAAT,EAAyBC,SAAzB,QAA0C,kBAA1C;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,UADP;AAECC,EAAAA,KAAK,EAAEL,EAAE,CAAE,iBAAF,CAFV;AAGCM,EAAAA,WAAW,EAAEN,EAAE,CAAE,8BAAF,CAHhB;AAICO,EAAAA,IAAI,EAAEN,cAJP;AAKCO,EAAAA,SAAS,EAAE,IALZ;AAMCC,EAAAA,UAAU,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GANb;AAOCC,EAAAA,QAAQ,EAAIC,eAAF,IAAuBA,eAAe,CAACF,IAAhB,KAAyB;AAP3D,CADkB,EAWlB;AACCN,EAAAA,IAAI,EAAE,UADP;AAECC,EAAAA,KAAK,EAAEL,EAAE,CAAE,WAAF,CAFV;AAGCM,EAAAA,WAAW,EAAEN,EAAE,CAAE,wBAAF,CAHhB;AAICO,EAAAA,IAAI,EAAEL,SAJP;AAKCO,EAAAA,UAAU,EAAE;AAAEC,IAAAA,IAAI,EAAE;AAAR,GALb;AAMCC,EAAAA,QAAQ,EAAIC,eAAF,IAAuBA,eAAe,CAACF,IAAhB,KAAyB;AAN3D,CAXkB,CAAnB;AAqBA,eAAeP,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { postCategories, postTerms } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'category',\n\t\ttitle: __( 'Post Categories' ),\n\t\tdescription: __( \"Display a post's categories.\" ),\n\t\ticon: postCategories,\n\t\tisDefault: true,\n\t\tattributes: { term: 'category' },\n\t\tisActive: ( blockAttributes ) => blockAttributes.term === 'category',\n\t},\n\n\t{\n\t\tname: 'post_tag',\n\t\ttitle: __( 'Post Tags' ),\n\t\tdescription: __( \"Display a post's tags.\" ),\n\t\ticon: postTerms,\n\t\tattributes: { term: 'post_tag' },\n\t\tisActive: ( blockAttributes ) => blockAttributes.term === 'post_tag',\n\t},\n];\n\nexport default variations;\n"]}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
1
2
|
import { createElement, Fragment } from "@wordpress/element";
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* WordPress dependencies
|
|
5
6
|
*/
|
|
6
7
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
7
|
-
import { cloneBlock } from '@wordpress/blocks';
|
|
8
|
+
import { store as blocksStore, cloneBlock } from '@wordpress/blocks';
|
|
8
9
|
import { useInstanceId } from '@wordpress/compose';
|
|
9
|
-
import { useEffect } from '@wordpress/element';
|
|
10
|
-
import { BlockControls, InspectorControls, useBlockProps, useSetting, store as blockEditorStore, useInnerBlocksProps, __experimentalBlockPatternSetup as BlockPatternSetup } from '@wordpress/block-editor';
|
|
11
|
-
import { SelectControl } from '@wordpress/components';
|
|
10
|
+
import { useState, useEffect } from '@wordpress/element';
|
|
11
|
+
import { BlockControls, InspectorControls, useBlockProps, useSetting, store as blockEditorStore, useInnerBlocksProps, __experimentalGetMatchingVariation as getMatchingVariation, __experimentalBlockPatternSetup as BlockPatternSetup } from '@wordpress/block-editor';
|
|
12
|
+
import { Button, SelectControl, Placeholder, Modal } from '@wordpress/components';
|
|
12
13
|
import { __ } from '@wordpress/i18n';
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
@@ -23,7 +24,8 @@ const TEMPLATE = [['core/post-template']];
|
|
|
23
24
|
export function QueryContent(_ref) {
|
|
24
25
|
let {
|
|
25
26
|
attributes,
|
|
26
|
-
setAttributes
|
|
27
|
+
setAttributes,
|
|
28
|
+
openPatternSelectionModal
|
|
27
29
|
} = _ref;
|
|
28
30
|
const {
|
|
29
31
|
queryId,
|
|
@@ -117,7 +119,8 @@ export function QueryContent(_ref) {
|
|
|
117
119
|
}), createElement(BlockControls, null, createElement(QueryToolbar, {
|
|
118
120
|
attributes: attributes,
|
|
119
121
|
setQuery: updateQuery,
|
|
120
|
-
setDisplayLayout: updateDisplayLayout
|
|
122
|
+
setDisplayLayout: updateDisplayLayout,
|
|
123
|
+
openPatternSelectionModal: openPatternSelectionModal
|
|
121
124
|
})), createElement(InspectorControls, {
|
|
122
125
|
__experimentalGroup: "advanced"
|
|
123
126
|
}, createElement(SelectControl, {
|
|
@@ -142,16 +145,79 @@ export function QueryContent(_ref) {
|
|
|
142
145
|
})), createElement(TagName, innerBlocksProps));
|
|
143
146
|
}
|
|
144
147
|
|
|
145
|
-
function QueryPatternSetup(
|
|
148
|
+
function QueryPatternSetup(_ref2) {
|
|
149
|
+
var _blockType$icon;
|
|
150
|
+
|
|
151
|
+
let {
|
|
152
|
+
attributes,
|
|
153
|
+
clientId,
|
|
154
|
+
name,
|
|
155
|
+
openPatternSelectionModal,
|
|
156
|
+
setAttributes
|
|
157
|
+
} = _ref2;
|
|
158
|
+
const [isStartingBlank, setIsStartingBlank] = useState(false);
|
|
159
|
+
const blockProps = useBlockProps();
|
|
160
|
+
const {
|
|
161
|
+
blockType,
|
|
162
|
+
allVariations,
|
|
163
|
+
hasPatterns
|
|
164
|
+
} = useSelect(select => {
|
|
165
|
+
const {
|
|
166
|
+
getBlockVariations,
|
|
167
|
+
getBlockType
|
|
168
|
+
} = select(blocksStore);
|
|
169
|
+
const {
|
|
170
|
+
getBlockRootClientId,
|
|
171
|
+
__experimentalGetPatternsByBlockTypes
|
|
172
|
+
} = select(blockEditorStore);
|
|
173
|
+
const rootClientId = getBlockRootClientId(clientId);
|
|
174
|
+
return {
|
|
175
|
+
blockType: getBlockType(name),
|
|
176
|
+
allVariations: getBlockVariations(name),
|
|
177
|
+
hasPatterns: !!__experimentalGetPatternsByBlockTypes(name, rootClientId).length
|
|
178
|
+
};
|
|
179
|
+
}, [name, clientId]);
|
|
180
|
+
const matchingVariation = getMatchingVariation(attributes, allVariations);
|
|
181
|
+
const icon = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.icon) || (blockType === null || blockType === void 0 ? void 0 : (_blockType$icon = blockType.icon) === null || _blockType$icon === void 0 ? void 0 : _blockType$icon.src);
|
|
182
|
+
const label = (matchingVariation === null || matchingVariation === void 0 ? void 0 : matchingVariation.title) || (blockType === null || blockType === void 0 ? void 0 : blockType.title);
|
|
183
|
+
|
|
184
|
+
if (isStartingBlank) {
|
|
185
|
+
return createElement(QueryPlaceholder, {
|
|
186
|
+
clientId: clientId,
|
|
187
|
+
name: name,
|
|
188
|
+
setAttributes: setAttributes,
|
|
189
|
+
icon: icon,
|
|
190
|
+
label: label
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
return createElement("div", blockProps, createElement(Placeholder, {
|
|
195
|
+
icon: icon,
|
|
196
|
+
label: label,
|
|
197
|
+
instructions: __('Choose a pattern for the query loop or start blank.')
|
|
198
|
+
}, !!hasPatterns && createElement(Button, {
|
|
199
|
+
variant: "primary",
|
|
200
|
+
onClick: openPatternSelectionModal
|
|
201
|
+
}, __('Choose')), createElement(Button, {
|
|
202
|
+
variant: "secondary",
|
|
203
|
+
onClick: () => {
|
|
204
|
+
setIsStartingBlank(true);
|
|
205
|
+
}
|
|
206
|
+
}, __('Start blank'))));
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
const QueryEdit = props => {
|
|
146
210
|
const {
|
|
147
211
|
clientId,
|
|
148
|
-
name
|
|
212
|
+
name
|
|
149
213
|
} = props;
|
|
150
|
-
const
|
|
214
|
+
const [isPatternSelectionModalOpen, setIsPatternSelectionModalOpen] = useState(false);
|
|
151
215
|
const {
|
|
152
216
|
replaceBlock,
|
|
153
217
|
selectBlock
|
|
154
218
|
} = useDispatch(blockEditorStore);
|
|
219
|
+
const hasInnerBlocks = useSelect(select => !!select(blockEditorStore).getBlocks(clientId).length, [clientId]);
|
|
220
|
+
const Component = hasInnerBlocks ? QueryContent : QueryPatternSetup;
|
|
155
221
|
|
|
156
222
|
const onBlockPatternSelect = blocks => {
|
|
157
223
|
const clonedBlocks = blocks.map(block => cloneBlock(block));
|
|
@@ -161,25 +227,20 @@ function QueryPatternSetup(props) {
|
|
|
161
227
|
if (firstQueryClientId) {
|
|
162
228
|
selectBlock(firstQueryClientId);
|
|
163
229
|
}
|
|
164
|
-
};
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
230
|
+
};
|
|
231
|
+
|
|
232
|
+
return createElement(Fragment, null, createElement(Component, _extends({}, props, {
|
|
233
|
+
openPatternSelectionModal: () => setIsPatternSelectionModalOpen(true)
|
|
234
|
+
})), isPatternSelectionModalOpen && createElement(Modal, {
|
|
235
|
+
className: "block-editor-query-pattern__selection-modal",
|
|
236
|
+
title: __('Choose a pattern'),
|
|
237
|
+
closeLabel: __('Cancel'),
|
|
238
|
+
onRequestClose: () => setIsPatternSelectionModalOpen(false)
|
|
239
|
+
}, createElement(BlockPatternSetup, {
|
|
240
|
+
blockName: name,
|
|
170
241
|
clientId: clientId,
|
|
171
|
-
startBlankComponent: createElement(QueryPlaceholder, props),
|
|
172
242
|
onBlockPatternSelect: onBlockPatternSelect
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
const QueryEdit = props => {
|
|
177
|
-
const {
|
|
178
|
-
clientId
|
|
179
|
-
} = props;
|
|
180
|
-
const hasInnerBlocks = useSelect(select => !!select(blockEditorStore).getBlocks(clientId).length, [clientId]);
|
|
181
|
-
const Component = hasInnerBlocks ? QueryContent : QueryPatternSetup;
|
|
182
|
-
return createElement(Component, props);
|
|
243
|
+
})));
|
|
183
244
|
};
|
|
184
245
|
|
|
185
246
|
export default QueryEdit;
|