@wordpress/block-library 6.1.0 → 7.0.1
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 +10 -0
- package/README.md +7 -1
- package/build/audio/edit.js +1 -1
- package/build/audio/edit.js.map +1 -1
- package/build/button/index.js +5 -1
- package/build/button/index.js.map +1 -1
- package/build/calendar/index.js +4 -1
- package/build/calendar/index.js.map +1 -1
- package/build/calendar/transforms.js +27 -0
- package/build/calendar/transforms.js.map +1 -0
- package/build/code/index.js +5 -1
- package/build/code/index.js.map +1 -1
- package/build/code/transforms.js +1 -1
- package/build/code/transforms.js.map +1 -1
- package/build/column/index.js +5 -1
- package/build/column/index.js.map +1 -1
- package/build/columns/index.js +5 -1
- package/build/columns/index.js.map +1 -1
- package/build/comment-author-avatar/index.js +4 -1
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/index.js +6 -1
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +5 -1
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/index.js +6 -1
- 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 +49 -11
- package/build/comment-template/edit.js.map +1 -1
- package/build/comments-pagination/index.js +6 -1
- package/build/comments-pagination/index.js.map +1 -1
- package/build/comments-pagination-next/index.js +4 -1
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-previous/index.js +4 -1
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/comments-query-loop/index.js +6 -1
- package/build/comments-query-loop/index.js.map +1 -1
- package/build/cover/deprecated.js +181 -15
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit.js +7 -4
- package/build/cover/edit.js.map +1 -1
- package/build/cover/save.js +8 -3
- package/build/cover/save.js.map +1 -1
- package/build/gallery/constants.js +5 -1
- package/build/gallery/constants.js.map +1 -1
- package/build/gallery/edit.js +26 -14
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +1 -1
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +8 -2
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/utils.js +4 -3
- package/build/gallery/utils.js.map +1 -1
- package/build/group/index.js +5 -1
- package/build/group/index.js.map +1 -1
- package/build/group/variations.js +18 -3
- package/build/group/variations.js.map +1 -1
- package/build/heading/index.js +5 -1
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +7 -5
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.native.js +55 -15
- package/build/image/edit.native.js.map +1 -1
- package/build/index.js +7 -3
- package/build/index.js.map +1 -1
- package/build/latest-posts/edit.js +46 -57
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/index.js +5 -1
- package/build/list/index.js.map +1 -1
- package/build/media-text/index.js +5 -1
- package/build/media-text/index.js.map +1 -1
- package/build/navigation/edit/existing-menus-options.js +62 -0
- package/build/navigation/edit/existing-menus-options.js.map +1 -0
- package/build/navigation/edit/index.js +4 -5
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +7 -3
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +25 -33
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-icon.js +0 -1
- package/build/navigation/edit/overlay-menu-icon.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +26 -71
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/placeholder/placeholder-preview.js +8 -12
- package/build/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
- package/build/paragraph/index.js +5 -1
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +5 -1
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-author/index.js +5 -1
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/edit.js +76 -0
- package/build/post-author-biography/edit.js.map +1 -0
- package/build/post-author-biography/index.js +68 -0
- package/build/post-author-biography/index.js.map +1 -0
- package/build/post-author-name/index.js +6 -1
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comments/index.js +5 -1
- package/build/post-comments/index.js.map +1 -1
- package/build/post-comments-count/index.js +5 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +5 -1
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +5 -1
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +9 -3
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/index.js +6 -1
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/index.js +6 -1
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-terms/index.js +9 -1
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +10 -7
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +6 -1
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/index.js +5 -1
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/index.js +5 -1
- package/build/pullquote/index.js.map +1 -1
- package/build/query/index.js +5 -1
- package/build/query/index.js.map +1 -1
- package/build/query-pagination/index.js +6 -1
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination-next/index.js +4 -1
- package/build/query-pagination-next/index.js.map +1 -1
- package/build/query-pagination-previous/index.js +4 -1
- package/build/query-pagination-previous/index.js.map +1 -1
- package/build/query-title/index.js +8 -1
- package/build/query-title/index.js.map +1 -1
- package/build/quote/index.js +1 -5
- package/build/quote/index.js.map +1 -1
- package/build/read-more/edit.js +55 -0
- package/build/read-more/edit.js.map +1 -0
- package/build/read-more/index.js +87 -0
- package/build/read-more/index.js.map +1 -0
- package/build/search/edit.js +1 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/index.js +5 -1
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +4 -8
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +7 -2
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +5 -1
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/index.js +6 -1
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +8 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +1 -1
- package/build/social-links/edit.js +7 -2
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +5 -0
- package/build/social-links/index.js.map +1 -1
- package/build/social-links/save.js +2 -0
- package/build/social-links/save.js.map +1 -1
- package/build/table/index.js +5 -1
- package/build/table/index.js.map +1 -1
- package/build/tag-cloud/index.js +12 -1
- package/build/tag-cloud/index.js.map +1 -1
- package/build/tag-cloud/transforms.js +27 -0
- package/build/tag-cloud/transforms.js.map +1 -0
- package/build/term-description/index.js +5 -1
- package/build/term-description/index.js.map +1 -1
- package/build/verse/index.js +5 -1
- package/build/verse/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/button/index.js +5 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/calendar/index.js +3 -1
- package/build-module/calendar/index.js.map +1 -1
- package/build-module/calendar/transforms.js +18 -0
- package/build-module/calendar/transforms.js.map +1 -0
- package/build-module/code/index.js +5 -1
- package/build-module/code/index.js.map +1 -1
- package/build-module/code/transforms.js +1 -1
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/column/index.js +5 -1
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/index.js +5 -1
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +4 -1
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +6 -1
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +5 -1
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/index.js +6 -1
- 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 +48 -13
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comments-pagination/index.js +6 -1
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +4 -1
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +4 -1
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/comments-query-loop/index.js +6 -1
- package/build-module/comments-query-loop/index.js.map +1 -1
- package/build-module/cover/deprecated.js +185 -17
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit.js +7 -4
- package/build-module/cover/edit.js.map +1 -1
- package/build-module/cover/save.js +8 -3
- package/build-module/cover/save.js.map +1 -1
- package/build-module/gallery/constants.js +2 -0
- package/build-module/gallery/constants.js.map +1 -1
- package/build-module/gallery/edit.js +25 -14
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +1 -1
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +8 -2
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/utils.js +5 -4
- package/build-module/gallery/utils.js.map +1 -1
- package/build-module/group/index.js +5 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/variations.js +18 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/index.js +5 -1
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +7 -5
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.native.js +54 -15
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/index.js +5 -3
- package/build-module/index.js.map +1 -1
- package/build-module/latest-posts/edit.js +47 -58
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/index.js +5 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/media-text/index.js +5 -1
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/navigation/edit/existing-menus-options.js +53 -0
- package/build-module/navigation/edit/existing-menus-options.js.map +1 -0
- package/build-module/navigation/edit/index.js +4 -5
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +8 -4
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +26 -33
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-icon.js +0 -1
- package/build-module/navigation/edit/overlay-menu-icon.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +26 -71
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/placeholder/placeholder-preview.js +8 -13
- package/build-module/navigation/edit/placeholder/placeholder-preview.js.map +1 -1
- package/build-module/paragraph/index.js +5 -1
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +5 -1
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-author/index.js +5 -1
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/edit.js +64 -0
- package/build-module/post-author-biography/edit.js.map +1 -0
- package/build-module/post-author-biography/index.js +59 -0
- package/build-module/post-author-biography/index.js.map +1 -0
- package/build-module/post-author-name/index.js +6 -1
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comments/index.js +5 -1
- package/build-module/post-comments/index.js.map +1 -1
- package/build-module/post-comments-count/index.js +5 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +5 -1
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +5 -1
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +6 -4
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/index.js +6 -1
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/index.js +6 -1
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-terms/index.js +12 -1
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +10 -8
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +6 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/index.js +5 -1
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/index.js +5 -1
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/index.js +5 -1
- package/build-module/query/index.js.map +1 -1
- package/build-module/query-pagination/index.js +6 -1
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination-next/index.js +4 -1
- package/build-module/query-pagination-next/index.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +4 -1
- package/build-module/query-pagination-previous/index.js.map +1 -1
- package/build-module/query-title/index.js +11 -1
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/quote/index.js +1 -5
- package/build-module/quote/index.js.map +1 -1
- package/build-module/read-more/edit.js +41 -0
- package/build-module/read-more/edit.js.map +1 -0
- package/build-module/read-more/index.js +74 -0
- package/build-module/read-more/index.js.map +1 -0
- package/build-module/search/edit.js +1 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/index.js +5 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +4 -8
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +6 -2
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +5 -1
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/index.js +6 -1
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +8 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +1 -1
- package/build-module/social-links/edit.js +7 -2
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +5 -0
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/social-links/save.js +2 -0
- package/build-module/social-links/save.js.map +1 -1
- package/build-module/table/index.js +5 -1
- package/build-module/table/index.js.map +1 -1
- package/build-module/tag-cloud/index.js +11 -1
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/tag-cloud/transforms.js +18 -0
- package/build-module/tag-cloud/transforms.js.map +1 -0
- package/build-module/term-description/index.js +5 -1
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/verse/index.js +5 -1
- package/build-module/verse/index.js.map +1 -1
- package/build-style/common-rtl.css +8 -0
- package/build-style/common.css +8 -0
- package/build-style/cover/style-rtl.css +115 -11
- package/build-style/cover/style.css +115 -11
- package/build-style/editor-rtl.css +77 -67
- package/build-style/editor.css +77 -67
- package/build-style/gallery/style-rtl.css +2 -1
- package/build-style/gallery/style.css +2 -1
- package/build-style/image/style-rtl.css +0 -2
- package/build-style/image/style.css +0 -2
- package/build-style/navigation/editor-rtl.css +77 -67
- package/build-style/navigation/editor.css +77 -67
- package/build-style/quote/style-rtl.css +5 -5
- package/build-style/quote/style.css +5 -5
- package/build-style/read-more/style-rtl.css +87 -0
- package/build-style/read-more/style.css +87 -0
- package/build-style/separator/style-rtl.css +0 -3
- package/build-style/separator/style.css +0 -3
- package/build-style/social-links/style-rtl.css +7 -1
- package/build-style/social-links/style.css +7 -1
- package/build-style/style-rtl.css +149 -23
- package/build-style/style.css +149 -23
- package/package.json +28 -30
- package/src/audio/edit.js +1 -1
- package/src/block/test/edit.native.js +7 -3
- package/src/button/block.json +5 -1
- package/src/buttons/test/edit.native.js +2 -2
- package/src/calendar/index.js +2 -0
- package/src/calendar/transforms.js +23 -0
- package/src/code/block.json +5 -1
- package/src/code/transforms.js +1 -1
- package/src/column/block.json +5 -1
- package/src/columns/block.json +5 -1
- package/src/comment-author-avatar/block.json +4 -1
- package/src/comment-author-name/block.json +6 -1
- package/src/comment-content/block.json +5 -1
- package/src/comment-date/block.json +6 -1
- package/src/comment-date/index.php +1 -1
- package/src/comment-edit-link/block.json +5 -1
- package/src/comment-reply-link/block.json +5 -1
- package/src/comment-template/edit.js +59 -14
- package/src/comments-pagination/block.json +6 -1
- package/src/comments-pagination-next/block.json +4 -1
- package/src/comments-pagination-previous/block.json +4 -1
- package/src/comments-query-loop/block.json +6 -1
- package/src/common.scss +9 -0
- package/src/cover/deprecated.js +211 -1
- package/src/cover/edit.js +8 -4
- package/src/cover/save.js +10 -4
- package/src/cover/style.scss +20 -2
- package/src/cover/test/__snapshots__/edit.native.js.snap +4 -4
- package/src/cover/test/edit.native.js +8 -4
- package/src/embed/test/index.native.js +6 -6
- package/src/gallery/constants.js +2 -0
- package/src/gallery/edit.js +31 -13
- package/src/gallery/shared.js +1 -1
- package/src/gallery/style.scss +4 -1
- package/src/gallery/test/__snapshots__/index.native.js.snap +7 -0
- package/src/gallery/test/index.native.js +128 -0
- package/src/gallery/transforms.js +7 -1
- package/src/gallery/utils.js +7 -3
- package/src/group/block.json +5 -1
- package/src/group/variations.js +11 -1
- package/src/heading/block.json +5 -1
- package/src/heading/transforms.js +2 -5
- package/src/image/edit.native.js +65 -15
- package/src/image/index.php +1 -1
- package/src/image/style.scss +0 -2
- package/src/image/test/edit.native.js +157 -8
- package/src/index.js +35 -31
- package/src/latest-comments/index.php +4 -4
- package/src/latest-posts/edit.js +51 -63
- package/src/latest-posts/index.php +3 -3
- package/src/list/block.json +5 -1
- package/src/media-text/block.json +5 -1
- package/src/missing/test/edit-integration.native.js +2 -2
- package/src/navigation/edit/existing-menus-options.js +70 -0
- package/src/navigation/edit/index.js +4 -3
- package/src/navigation/edit/inner-blocks.js +16 -3
- package/src/navigation/edit/navigation-menu-selector.js +38 -62
- package/src/navigation/edit/overlay-menu-icon.js +0 -1
- package/src/navigation/edit/placeholder/index.js +39 -108
- package/src/navigation/edit/placeholder/placeholder-preview.js +8 -10
- package/src/navigation/editor.scss +119 -100
- package/src/navigation/index.php +3 -3
- package/src/navigation-link/index.php +1 -1
- package/src/navigation-submenu/index.php +1 -1
- package/src/page-list/index.php +5 -5
- package/src/paragraph/block.json +5 -1
- package/src/post-author/block.json +5 -1
- package/src/post-author-biography/block.json +41 -0
- package/src/post-author-biography/edit.js +63 -0
- package/src/post-author-biography/index.js +18 -0
- package/src/post-author-biography/index.php +48 -0
- package/src/post-author-name/block.json +6 -1
- package/src/post-comments/block.json +5 -1
- package/src/post-comments-count/block.json +5 -1
- package/src/post-comments-form/block.json +5 -1
- package/src/post-comments-link/block.json +5 -1
- package/src/post-comments-link/index.php +2 -2
- package/src/post-content/edit.js +4 -4
- package/src/post-date/block.json +6 -1
- package/src/post-date/index.php +1 -1
- package/src/post-excerpt/block.json +6 -1
- package/src/post-excerpt/index.php +1 -1
- package/src/post-terms/block.json +6 -1
- package/src/post-terms/index.js +6 -0
- package/src/post-title/block.json +6 -1
- package/src/post-title/edit.js +8 -7
- package/src/post-title/index.php +1 -1
- package/src/preformatted/block.json +5 -1
- package/src/pullquote/block.json +5 -1
- package/src/query/block.json +5 -1
- package/src/query-pagination/block.json +6 -1
- package/src/query-pagination-next/block.json +4 -1
- package/src/query-pagination-next/index.php +2 -2
- package/src/query-pagination-previous/block.json +4 -1
- package/src/query-pagination-previous/index.php +2 -2
- package/src/query-title/block.json +5 -1
- package/src/query-title/index.js +6 -0
- package/src/quote/block.json +1 -2
- package/src/quote/index.js +0 -1
- package/src/quote/style.scss +3 -3
- package/src/quote/theme.scss +1 -1
- package/src/read-more/block.json +56 -0
- package/src/read-more/edit.js +50 -0
- package/src/read-more/index.js +18 -0
- package/src/read-more/index.php +45 -0
- package/src/read-more/style.scss +12 -0
- package/src/search/block.json +5 -1
- package/src/search/edit.js +2 -1
- package/src/search/index.php +5 -3
- package/src/separator/style.scss +0 -5
- package/src/site-logo/edit.js +4 -8
- package/src/site-tagline/block.json +5 -1
- package/src/site-tagline/edit.js +10 -1
- package/src/site-tagline/index.php +1 -1
- package/src/site-title/block.json +6 -1
- package/src/site-title/index.php +2 -2
- package/src/social-link/block.json +1 -0
- package/src/social-link/edit.js +14 -2
- package/src/social-link/index.php +55 -52
- package/src/social-links/block.json +5 -0
- package/src/social-links/edit.js +8 -1
- package/src/social-links/save.js +7 -1
- package/src/social-links/style.scss +8 -1
- package/src/style.scss +1 -0
- package/src/table/block.json +5 -1
- package/src/tag-cloud/block.json +4 -0
- package/src/tag-cloud/index.js +2 -0
- package/src/tag-cloud/index.php +0 -9
- package/src/tag-cloud/transforms.js +23 -0
- package/src/term-description/block.json +5 -1
- package/src/verse/block.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"names":["get","includes","invoke","isUndefined","pickBy","classnames","RawHTML","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","__experimentalGetSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","pin","list","grid","coreStore","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","LatestPostsEdit","attributes","setAttributes","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizeOptions","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","getEntityRecords","getMedia","getUsers","getSettings","imageSizes","imageDimensions","catIds","length","map","cat","id","latestPostsQuery","author","orderby","value","posts","filter","slug","name","label","Array","isArray","post","featured_media","image","url","featuredImageInfo","alt","alt_text","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","hasPosts","inspectorControls","newAttrs","hasOwnProperty","width","height","undefined","Number","Math","min","blockProps","className","displayPosts","slice","layoutControls","icon","title","onClick","isActive","dateFormat","formats","date","i","titleTrimmed","excerpt","rendered","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","trim","split","raw","postExcerpt","join","link","date_gmt","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, includes, invoke, isUndefined, pickBy } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { RawHTML } from '@wordpress/element';\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, __experimentalGetSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizeOptions,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getMedia, getUsers } = select(\n\t\t\t\tcoreStore\n\t\t\t);\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\tconst { imageSizes, imageDimensions } = getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = pickBy(\n\t\t\t\t{\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t},\n\t\t\t\t( value ) => ! isUndefined( value )\n\t\t\t);\n\n\t\t\tconst posts = getEntityRecords(\n\t\t\t\t'postType',\n\t\t\t\t'post',\n\t\t\t\tlatestPostsQuery\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth: get(\n\t\t\t\t\timageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'width' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\tdefaultImageHeight: get(\n\t\t\t\t\timageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'height' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\timageSizeOptions: imageSizes\n\t\t\t\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t\t\t\t.map( ( { name, slug } ) => ( {\n\t\t\t\t\t\tvalue: slug,\n\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t} ) ),\n\t\t\t\tlatestPosts: ! Array.isArray( posts )\n\t\t\t\t\t? posts\n\t\t\t\t\t: posts.map( ( post ) => {\n\t\t\t\t\t\t\tif ( ! post.featured_media ) return post;\n\n\t\t\t\t\t\t\tconst image = getMedia( post.featured_media );\n\t\t\t\t\t\t\tlet url = get(\n\t\t\t\t\t\t\t\timage,\n\t\t\t\t\t\t\t\t[\n\t\t\t\t\t\t\t\t\t'media_details',\n\t\t\t\t\t\t\t\t\t'sizes',\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug,\n\t\t\t\t\t\t\t\t\t'source_url',\n\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\tnull\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( ! url ) {\n\t\t\t\t\t\t\t\turl = get( image, 'source_url', null );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconst featuredImageInfo = {\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t// eslint-disable-next-line camelcase\n\t\t\t\t\t\t\t\talt: image?.alt_text,\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\treturn { ...post, featuredImageInfo };\n\t\t\t\t\t } ),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( includes( allCategories, null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: 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</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\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 blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = __experimentalGetSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post, i ) => {\n\t\t\t\t\tconst titleTrimmed = invoke( post, [\n\t\t\t\t\t\t'title',\n\t\t\t\t\t\t'rendered',\n\t\t\t\t\t\t'trim',\n\t\t\t\t\t] );\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\tfeaturedImageInfo: {\n\t\t\t\t\t\t\turl: imageSourceUrl,\n\t\t\t\t\t\t\talt: featuredImageAlt,\n\t\t\t\t\t\t} = {},\n\t\t\t\t\t} = post;\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]: !! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ /* translators: excerpt truncation character, default … */ }\n\t\t\t\t\t\t\t{ __( ' … ' ) }\n\t\t\t\t\t\t\t<a href={ post.link } rel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\t{ __( 'Read more' ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ i }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a href={ post.link } rel=\"noreferrer noopener\">\n\t\t\t\t\t\t\t\t{ titleTrimmed ? (\n\t\t\t\t\t\t\t\t\t<RawHTML>{ titleTrimmed }</RawHTML>\n\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t__( '(no title)' )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-full-content\">\n\t\t\t\t\t\t\t\t\t\t<RawHTML key=\"html\">\n\t\t\t\t\t\t\t\t\t\t\t{ post.content.raw.trim() }\n\t\t\t\t\t\t\t\t\t\t</RawHTML>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/latest-posts/edit.js"],"names":["get","includes","invoke","isUndefined","pickBy","classnames","BaseControl","PanelBody","Placeholder","QueryControls","RadioControl","RangeControl","Spinner","ToggleControl","ToolbarGroup","__","sprintf","dateI18n","format","__experimentalGetSettings","InspectorControls","BlockAlignmentToolbar","BlockControls","__experimentalImageSizeControl","ImageSizeControl","useBlockProps","store","blockEditorStore","useSelect","pin","list","grid","coreStore","MIN_EXCERPT_LENGTH","MAX_EXCERPT_LENGTH","MAX_POSTS_COLUMNS","CATEGORIES_LIST_QUERY","per_page","context","USERS_LIST_QUERY","has_published_posts","getFeaturedImageDetails","post","size","image","url","media_details","sizes","source_url","alt","alt_text","LatestPostsEdit","attributes","setAttributes","postsToShow","order","orderBy","categories","selectedAuthor","displayFeaturedImage","displayPostContentRadio","displayPostContent","displayPostDate","displayAuthor","postLayout","columns","excerptLength","featuredImageAlign","featuredImageSizeSlug","featuredImageSizeWidth","featuredImageSizeHeight","addLinkToFeaturedImage","imageSizes","latestPosts","defaultImageWidth","defaultImageHeight","categoriesList","authorList","select","getEntityRecords","getUsers","settings","getSettings","catIds","length","map","cat","id","latestPostsQuery","author","orderby","_embed","value","imageDimensions","imageSizeOptions","filter","slug","name","label","categorySuggestions","reduce","accumulator","category","selectCategories","tokens","hasNoSuggestion","some","token","allCategories","hasPosts","inspectorControls","newAttrs","hasOwnProperty","width","height","undefined","Number","Math","min","blockProps","className","Array","isArray","displayPosts","slice","layoutControls","icon","title","onClick","isActive","dateFormat","formats","date","i","titleTrimmed","excerpt","rendered","currentAuthor","find","excerptElement","document","createElement","innerHTML","textContent","innerText","imageSourceUrl","featuredImageAlt","imageClasses","renderFeaturedImage","featuredImage","maxWidth","maxHeight","needsReadMore","trim","split","raw","postExcerpt","join","link","__html","date_gmt","content"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, includes, invoke, isUndefined, pickBy } from 'lodash';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBaseControl,\n\tPanelBody,\n\tPlaceholder,\n\tQueryControls,\n\tRadioControl,\n\tRangeControl,\n\tSpinner,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { dateI18n, format, __experimentalGetSettings } from '@wordpress/date';\nimport {\n\tInspectorControls,\n\tBlockAlignmentToolbar,\n\tBlockControls,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { pin, list, grid } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMIN_EXCERPT_LENGTH,\n\tMAX_EXCERPT_LENGTH,\n\tMAX_POSTS_COLUMNS,\n} from './constants';\n\n/**\n * Module Constants\n */\nconst CATEGORIES_LIST_QUERY = {\n\tper_page: -1,\n\tcontext: 'view',\n};\nconst USERS_LIST_QUERY = {\n\tper_page: -1,\n\thas_published_posts: [ 'post' ],\n\tcontext: 'view',\n};\n\nfunction getFeaturedImageDetails( post, size ) {\n\tconst image = get( post, [ '_embedded', 'wp:featuredmedia', '0' ] );\n\n\treturn {\n\t\turl:\n\t\t\timage?.media_details?.sizes?.[ size ]?.source_url ??\n\t\t\timage?.source_url,\n\t\talt: image?.alt_text,\n\t};\n}\n\nexport default function LatestPostsEdit( { attributes, setAttributes } ) {\n\tconst {\n\t\tpostsToShow,\n\t\torder,\n\t\torderBy,\n\t\tcategories,\n\t\tselectedAuthor,\n\t\tdisplayFeaturedImage,\n\t\tdisplayPostContentRadio,\n\t\tdisplayPostContent,\n\t\tdisplayPostDate,\n\t\tdisplayAuthor,\n\t\tpostLayout,\n\t\tcolumns,\n\t\texcerptLength,\n\t\tfeaturedImageAlign,\n\t\tfeaturedImageSizeSlug,\n\t\tfeaturedImageSizeWidth,\n\t\tfeaturedImageSizeHeight,\n\t\taddLinkToFeaturedImage,\n\t} = attributes;\n\tconst {\n\t\timageSizes,\n\t\tlatestPosts,\n\t\tdefaultImageWidth,\n\t\tdefaultImageHeight,\n\t\tcategoriesList,\n\t\tauthorList,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getUsers } = select( coreStore );\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\tconst catIds =\n\t\t\t\tcategories && categories.length > 0\n\t\t\t\t\t? categories.map( ( cat ) => cat.id )\n\t\t\t\t\t: [];\n\t\t\tconst latestPostsQuery = pickBy(\n\t\t\t\t{\n\t\t\t\t\tcategories: catIds,\n\t\t\t\t\tauthor: selectedAuthor,\n\t\t\t\t\torder,\n\t\t\t\t\torderby: orderBy,\n\t\t\t\t\tper_page: postsToShow,\n\t\t\t\t\t_embed: 'wp:featuredmedia',\n\t\t\t\t},\n\t\t\t\t( value ) => ! isUndefined( value )\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tdefaultImageWidth: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'width' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\tdefaultImageHeight: get(\n\t\t\t\t\tsettings.imageDimensions,\n\t\t\t\t\t[ featuredImageSizeSlug, 'height' ],\n\t\t\t\t\t0\n\t\t\t\t),\n\t\t\t\timageSizes: settings.imageSizes,\n\t\t\t\tlatestPosts: getEntityRecords(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'post',\n\t\t\t\t\tlatestPostsQuery\n\t\t\t\t),\n\t\t\t\tcategoriesList: getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'category',\n\t\t\t\t\tCATEGORIES_LIST_QUERY\n\t\t\t\t),\n\t\t\t\tauthorList: getUsers( USERS_LIST_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[\n\t\t\tfeaturedImageSizeSlug,\n\t\t\tpostsToShow,\n\t\t\torder,\n\t\t\torderBy,\n\t\t\tcategories,\n\t\t\tselectedAuthor,\n\t\t]\n\t);\n\n\tconst imageSizeOptions = imageSizes\n\t\t.filter( ( { slug } ) => slug !== 'full' )\n\t\t.map( ( { name, slug } ) => ( {\n\t\t\tvalue: slug,\n\t\t\tlabel: name,\n\t\t} ) );\n\tconst categorySuggestions =\n\t\tcategoriesList?.reduce(\n\t\t\t( accumulator, category ) => ( {\n\t\t\t\t...accumulator,\n\t\t\t\t[ category.name ]: category,\n\t\t\t} ),\n\t\t\t{}\n\t\t) ?? {};\n\tconst selectCategories = ( tokens ) => {\n\t\tconst hasNoSuggestion = tokens.some(\n\t\t\t( token ) =>\n\t\t\t\ttypeof token === 'string' && ! categorySuggestions[ token ]\n\t\t);\n\t\tif ( hasNoSuggestion ) {\n\t\t\treturn;\n\t\t}\n\t\t// Categories that are already will be objects, while new additions will be strings (the name).\n\t\t// allCategories nomalizes the array so that they are all objects.\n\t\tconst allCategories = tokens.map( ( token ) => {\n\t\t\treturn typeof token === 'string'\n\t\t\t\t? categorySuggestions[ token ]\n\t\t\t\t: token;\n\t\t} );\n\t\t// We do nothing if the category is not selected\n\t\t// from suggestions.\n\t\tif ( includes( allCategories, null ) ) {\n\t\t\treturn false;\n\t\t}\n\t\tsetAttributes( { categories: allCategories } );\n\t};\n\n\tconst hasPosts = !! latestPosts?.length;\n\tconst inspectorControls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Post content settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Post content' ) }\n\t\t\t\t\tchecked={ displayPostContent }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostContent: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayPostContent && (\n\t\t\t\t\t<RadioControl\n\t\t\t\t\t\tlabel={ __( 'Show:' ) }\n\t\t\t\t\t\tselected={ displayPostContentRadio }\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{ label: __( 'Excerpt' ), value: 'excerpt' },\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tlabel: __( 'Full post' ),\n\t\t\t\t\t\t\t\tvalue: 'full_post',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdisplayPostContentRadio: value,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ displayPostContent &&\n\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\tlabel={ __( 'Max number of words in excerpt' ) }\n\t\t\t\t\t\t\tvalue={ excerptLength }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { excerptLength: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ MIN_EXCERPT_LENGTH }\n\t\t\t\t\t\t\tmax={ MAX_EXCERPT_LENGTH }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Post meta settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display author name' ) }\n\t\t\t\t\tchecked={ displayAuthor }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayAuthor: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display post date' ) }\n\t\t\t\t\tchecked={ displayPostDate }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayPostDate: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Featured image settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Display featured image' ) }\n\t\t\t\t\tchecked={ displayFeaturedImage }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { displayFeaturedImage: value } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ displayFeaturedImage && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tconst newAttrs = {};\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'width' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeWidth =\n\t\t\t\t\t\t\t\t\t\tvalue.width;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tif ( value.hasOwnProperty( 'height' ) ) {\n\t\t\t\t\t\t\t\t\tnewAttrs.featuredImageSizeHeight =\n\t\t\t\t\t\t\t\t\t\tvalue.height;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tsetAttributes( newAttrs );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tslug={ featuredImageSizeSlug }\n\t\t\t\t\t\t\twidth={ featuredImageSizeWidth }\n\t\t\t\t\t\t\theight={ featuredImageSizeHeight }\n\t\t\t\t\t\t\timageWidth={ defaultImageWidth }\n\t\t\t\t\t\t\timageHeight={ defaultImageHeight }\n\t\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\t\tonChangeImage={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeSlug: value,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeWidth: undefined,\n\t\t\t\t\t\t\t\t\tfeaturedImageSizeHeight: undefined,\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\t<BaseControl className=\"editor-latest-posts-image-alignment-control\">\n\t\t\t\t\t\t\t<BaseControl.VisualLabel>\n\t\t\t\t\t\t\t\t{ __( 'Image alignment' ) }\n\t\t\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t\t\t\t<BlockAlignmentToolbar\n\t\t\t\t\t\t\t\tvalue={ featuredImageAlign }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfeaturedImageAlign: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcontrols={ [ 'left', 'center', 'right' ] }\n\t\t\t\t\t\t\t\tisCollapsed={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</BaseControl>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\tlabel={ __( 'Add link to featured image' ) }\n\t\t\t\t\t\t\tchecked={ addLinkToFeaturedImage }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\taddLinkToFeaturedImage: 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</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\n\t\t\t<PanelBody title={ __( 'Sorting and filtering' ) }>\n\t\t\t\t<QueryControls\n\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\tnumberOfItems={ postsToShow }\n\t\t\t\t\tonOrderChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { order: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonOrderByChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { orderBy: value } )\n\t\t\t\t\t}\n\t\t\t\t\tonNumberOfItemsChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { postsToShow: value } )\n\t\t\t\t\t}\n\t\t\t\t\tcategorySuggestions={ categorySuggestions }\n\t\t\t\t\tonCategoryChange={ selectCategories }\n\t\t\t\t\tselectedCategories={ categories }\n\t\t\t\t\tonAuthorChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tselectedAuthor:\n\t\t\t\t\t\t\t\t'' !== value ? Number( value ) : undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tauthorList={ authorList ?? [] }\n\t\t\t\t\tselectedAuthorId={ selectedAuthor }\n\t\t\t\t/>\n\n\t\t\t\t{ postLayout === 'grid' && (\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\tvalue={ columns }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { columns: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t! hasPosts\n\t\t\t\t\t\t\t\t? MAX_POSTS_COLUMNS\n\t\t\t\t\t\t\t\t: Math.min(\n\t\t\t\t\t\t\t\t\t\tMAX_POSTS_COLUMNS,\n\t\t\t\t\t\t\t\t\t\tlatestPosts.length\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t}\n\t\t\t\t\t\trequired\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 blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t'wp-block-latest-posts__list': true,\n\t\t\t'is-grid': postLayout === 'grid',\n\t\t\t'has-dates': displayPostDate,\n\t\t\t'has-author': displayAuthor,\n\t\t\t[ `columns-${ columns }` ]: postLayout === 'grid',\n\t\t} ),\n\t} );\n\n\tif ( ! hasPosts ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ inspectorControls }\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Latest Posts' ) }>\n\t\t\t\t\t{ ! Array.isArray( latestPosts ) ? (\n\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t) : (\n\t\t\t\t\t\t__( 'No posts found.' )\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t</div>\n\t\t);\n\t}\n\n\t// Removing posts from display should be instant.\n\tconst displayPosts =\n\t\tlatestPosts.length > postsToShow\n\t\t\t? latestPosts.slice( 0, postsToShow )\n\t\t\t: latestPosts;\n\n\tconst layoutControls = [\n\t\t{\n\t\t\ticon: list,\n\t\t\ttitle: __( 'List view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'list' } ),\n\t\t\tisActive: postLayout === 'list',\n\t\t},\n\t\t{\n\t\t\ticon: grid,\n\t\t\ttitle: __( 'Grid view' ),\n\t\t\tonClick: () => setAttributes( { postLayout: 'grid' } ),\n\t\t\tisActive: postLayout === 'grid',\n\t\t},\n\t];\n\n\tconst dateFormat = __experimentalGetSettings().formats.date;\n\n\treturn (\n\t\t<div>\n\t\t\t{ inspectorControls }\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup controls={ layoutControls } />\n\t\t\t</BlockControls>\n\t\t\t<ul { ...blockProps }>\n\t\t\t\t{ displayPosts.map( ( post, i ) => {\n\t\t\t\t\tconst titleTrimmed = invoke( post, [\n\t\t\t\t\t\t'title',\n\t\t\t\t\t\t'rendered',\n\t\t\t\t\t\t'trim',\n\t\t\t\t\t] );\n\t\t\t\t\tlet excerpt = post.excerpt.rendered;\n\t\t\t\t\tconst currentAuthor = authorList?.find(\n\t\t\t\t\t\t( author ) => author.id === post.author\n\t\t\t\t\t);\n\n\t\t\t\t\tconst excerptElement = document.createElement( 'div' );\n\t\t\t\t\texcerptElement.innerHTML = excerpt;\n\n\t\t\t\t\texcerpt =\n\t\t\t\t\t\texcerptElement.textContent ||\n\t\t\t\t\t\texcerptElement.innerText ||\n\t\t\t\t\t\t'';\n\n\t\t\t\t\tconst {\n\t\t\t\t\t\turl: imageSourceUrl,\n\t\t\t\t\t\talt: featuredImageAlt,\n\t\t\t\t\t} = getFeaturedImageDetails( post, featuredImageSizeSlug );\n\t\t\t\t\tconst imageClasses = classnames( {\n\t\t\t\t\t\t'wp-block-latest-posts__featured-image': true,\n\t\t\t\t\t\t[ `align${ featuredImageAlign }` ]: !! featuredImageAlign,\n\t\t\t\t\t} );\n\t\t\t\t\tconst renderFeaturedImage =\n\t\t\t\t\t\tdisplayFeaturedImage && imageSourceUrl;\n\t\t\t\t\tconst featuredImage = renderFeaturedImage && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tsrc={ imageSourceUrl }\n\t\t\t\t\t\t\talt={ featuredImageAlt }\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tmaxWidth: featuredImageSizeWidth,\n\t\t\t\t\t\t\t\tmaxHeight: featuredImageSizeHeight,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\n\t\t\t\t\tconst needsReadMore =\n\t\t\t\t\t\texcerptLength < excerpt.trim().split( ' ' ).length &&\n\t\t\t\t\t\tpost.excerpt.raw === '';\n\n\t\t\t\t\tconst postExcerpt = needsReadMore ? (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ excerpt\n\t\t\t\t\t\t\t\t.trim()\n\t\t\t\t\t\t\t\t.split( ' ', excerptLength )\n\t\t\t\t\t\t\t\t.join( ' ' ) }\n\t\t\t\t\t\t\t{ /* translators: excerpt truncation character, default … */ }\n\t\t\t\t\t\t\t{ __( ' … ' ) }\n\t\t\t\t\t\t\t<a href={ post.link } rel=\"noopener noreferrer\">\n\t\t\t\t\t\t\t\t{ __( 'Read more' ) }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) : (\n\t\t\t\t\t\texcerpt\n\t\t\t\t\t);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<li key={ i }>\n\t\t\t\t\t\t\t{ renderFeaturedImage && (\n\t\t\t\t\t\t\t\t<div className={ imageClasses }>\n\t\t\t\t\t\t\t\t\t{ addLinkToFeaturedImage ? (\n\t\t\t\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ featuredImage }\n\t\t\t\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\tfeaturedImage\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<a\n\t\t\t\t\t\t\t\thref={ post.link }\n\t\t\t\t\t\t\t\trel=\"noreferrer noopener\"\n\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={\n\t\t\t\t\t\t\t\t\t!! titleTrimmed\n\t\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\t\t__html: titleTrimmed,\n\t\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ! titleTrimmed ? __( '(no title)' ) : null }\n\t\t\t\t\t\t\t</a>\n\t\t\t\t\t\t\t{ displayAuthor && currentAuthor && (\n\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-author\">\n\t\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: byline. %s: current author. */\n\t\t\t\t\t\t\t\t\t\t__( 'by %s' ),\n\t\t\t\t\t\t\t\t\t\tcurrentAuthor.name\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostDate && post.date_gmt && (\n\t\t\t\t\t\t\t\t<time\n\t\t\t\t\t\t\t\t\tdateTime={ format( 'c', post.date_gmt ) }\n\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-date\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ dateI18n( dateFormat, post.date_gmt ) }\n\t\t\t\t\t\t\t\t</time>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'excerpt' && (\n\t\t\t\t\t\t\t\t\t<div className=\"wp-block-latest-posts__post-excerpt\">\n\t\t\t\t\t\t\t\t\t\t{ postExcerpt }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ displayPostContent &&\n\t\t\t\t\t\t\t\tdisplayPostContentRadio === 'full_post' && (\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-latest-posts__post-full-content\"\n\t\t\t\t\t\t\t\t\t\tdangerouslySetInnerHTML={ {\n\t\t\t\t\t\t\t\t\t\t\t__html: post.content.raw.trim(),\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</li>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</ul>\n\t\t</div>\n\t);\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/list/index.js"],"names":["list","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","values","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/list/index.js"],"names":["list","icon","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","values","merge","attributesToMerge"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,IAAI,IAAIC,IAAjB,QAA6B,kBAA7B;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,MAAM,EACL;AAFU;AADJ,GAFc;AAQvBN,EAAAA,UARuB;;AASvBO,EAAAA,KAAK,CAAEF,UAAF,EAAcG,iBAAd,EAAkC;AACtC,UAAM;AAAEF,MAAAA;AAAF,QAAaE,iBAAnB;;AAEA,QAAK,CAAEF,MAAF,IAAYA,MAAM,KAAK,WAA5B,EAA0C;AACzC,aAAOD,UAAP;AACA;;AAED,WAAO,EACN,GAAGA,UADG;AAENC,MAAAA,MAAM,EAAED,UAAU,CAACC,MAAX,GAAoBA;AAFtB,KAAP;AAIA,GApBsB;;AAqBvBR,EAAAA,IArBuB;AAsBvBC,EAAAA,IAtBuB;AAuBvBF,EAAAA;AAvBuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { list as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tvalues:\n\t\t\t\t'<li>Alice.</li><li>The White Rabbit.</li><li>The Cheshire Cat.</li><li>The Mad Hatter.</li><li>The Queen of Hearts.</li>',\n\t\t},\n\t},\n\ttransforms,\n\tmerge( attributes, attributesToMerge ) {\n\t\tconst { values } = attributesToMerge;\n\n\t\tif ( ! values || values === '<li></li>' ) {\n\t\t\treturn attributes;\n\t\t}\n\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tvalues: attributes.values + values,\n\t\t};\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/media-text/index.js"],"names":["__","mediaAndText","icon","deprecated","edit","save","transforms","name","metadata","settings","example","viewportWidth","attributes","mediaType","mediaUrl","innerBlocks","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/media-text/index.js"],"names":["__","mediaAndText","icon","deprecated","edit","save","transforms","name","metadata","settings","example","viewportWidth","attributes","mediaType","mediaUrl","innerBlocks","content"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,YAAY,IAAIC,IAAzB,QAAqC,kBAArC;AAEA;AACA;AACA;;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,aAAa,EAAE,GADP;AACY;AACpBC,IAAAA,UAAU,EAAE;AACXC,MAAAA,SAAS,EAAE,OADA;AAEXC,MAAAA,QAAQ,EACP;AAHU,KAFJ;AAORC,IAAAA,WAAW,EAAE,CACZ;AACCR,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXI,QAAAA,OAAO,EAAEhB,EAAE,CACV,8CADU;AADA;AAFb,KADY,EASZ;AACCO,MAAAA,IAAI,EAAE,gBADP;AAECK,MAAAA,UAAU,EAAE;AACXI,QAAAA,OAAO,EAAEhB,EAAE,CAAE,uBAAF;AADA;AAFb,KATY;AAPL,GAFc;AA0BvBM,EAAAA,UA1BuB;AA2BvBF,EAAAA,IA3BuB;AA4BvBC,EAAAA,IA5BuB;AA6BvBF,EAAAA;AA7BuB,CAAjB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '— Kobayashi Issa (一茶)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n"]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* WordPress dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { MenuGroup, MenuItem } from '@wordpress/components';
|
|
7
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
8
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
|
+
|
|
10
|
+
const ExistingMenusOptions = _ref => {
|
|
11
|
+
let {
|
|
12
|
+
showNavigationMenus,
|
|
13
|
+
showClassicMenus = false,
|
|
14
|
+
navigationMenus,
|
|
15
|
+
classicMenus,
|
|
16
|
+
onSelectNavigationMenu,
|
|
17
|
+
onSelectClassicMenu,
|
|
18
|
+
actionLabel
|
|
19
|
+
} = _ref;
|
|
20
|
+
const hasNavigationMenus = !!(navigationMenus !== null && navigationMenus !== void 0 && navigationMenus.length);
|
|
21
|
+
const hasClassicMenus = !!(classicMenus !== null && classicMenus !== void 0 && classicMenus.length);
|
|
22
|
+
/* translators: %s: The name of a menu. */
|
|
23
|
+
|
|
24
|
+
const createActionLabel = __("Create from '%s'");
|
|
25
|
+
|
|
26
|
+
actionLabel = actionLabel || createActionLabel;
|
|
27
|
+
return createElement(Fragment, null, showNavigationMenus && hasNavigationMenus && createElement(MenuGroup, {
|
|
28
|
+
label: __('Menus')
|
|
29
|
+
}, navigationMenus.map(menu => {
|
|
30
|
+
const label = decodeEntities(menu.title.rendered);
|
|
31
|
+
return createElement(MenuItem, {
|
|
32
|
+
onClick: () => {
|
|
33
|
+
onSelectNavigationMenu(menu);
|
|
34
|
+
},
|
|
35
|
+
key: menu.id,
|
|
36
|
+
"aria-label": sprintf(actionLabel, label)
|
|
37
|
+
}, label);
|
|
38
|
+
})), showClassicMenus && hasClassicMenus && createElement(MenuGroup, {
|
|
39
|
+
label: __('Classic Menus')
|
|
40
|
+
}, classicMenus.map(menu => {
|
|
41
|
+
const label = decodeEntities(menu.name);
|
|
42
|
+
return createElement(MenuItem, {
|
|
43
|
+
onClick: () => {
|
|
44
|
+
onSelectClassicMenu(menu);
|
|
45
|
+
},
|
|
46
|
+
key: menu.id,
|
|
47
|
+
"aria-label": sprintf(createActionLabel, label)
|
|
48
|
+
}, label);
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export default ExistingMenusOptions;
|
|
53
|
+
//# sourceMappingURL=existing-menus-options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/existing-menus-options.js"],"names":["MenuGroup","MenuItem","__","sprintf","decodeEntities","ExistingMenusOptions","showNavigationMenus","showClassicMenus","navigationMenus","classicMenus","onSelectNavigationMenu","onSelectClassicMenu","actionLabel","hasNavigationMenus","length","hasClassicMenus","createActionLabel","map","menu","label","title","rendered","id","name"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,QAApB,QAAoC,uBAApC;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,cAAT,QAA+B,0BAA/B;;AAEA,MAAMC,oBAAoB,GAAG,QAQtB;AAAA,MARwB;AAC9BC,IAAAA,mBAD8B;AAE9BC,IAAAA,gBAAgB,GAAG,KAFW;AAG9BC,IAAAA,eAH8B;AAI9BC,IAAAA,YAJ8B;AAK9BC,IAAAA,sBAL8B;AAM9BC,IAAAA,mBAN8B;AAO9BC,IAAAA;AAP8B,GAQxB;AACN,QAAMC,kBAAkB,GAAG,CAAC,EAAEL,eAAF,aAAEA,eAAF,eAAEA,eAAe,CAAEM,MAAnB,CAA5B;AACA,QAAMC,eAAe,GAAG,CAAC,EAAEN,YAAF,aAAEA,YAAF,eAAEA,YAAY,CAAEK,MAAhB,CAAzB;AAEA;;AACA,QAAME,iBAAiB,GAAGd,EAAE,CAAE,kBAAF,CAA5B;;AAEAU,EAAAA,WAAW,GAAGA,WAAW,IAAII,iBAA7B;AAEA,SACC,8BACGV,mBAAmB,IAAIO,kBAAvB,IACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGX,EAAE,CAAE,OAAF;AAArB,KACGM,eAAe,CAACS,GAAhB,CAAuBC,IAAF,IAAY;AAClC,UAAMC,KAAK,GAAGf,cAAc,CAAEc,IAAI,CAACE,KAAL,CAAWC,QAAb,CAA5B;AACA,WACC,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfX,QAAAA,sBAAsB,CAAEQ,IAAF,CAAtB;AACA,OAHF;AAIC,MAAA,GAAG,EAAGA,IAAI,CAACI,EAJZ;AAKC,oBAAanB,OAAO,CAAES,WAAF,EAAeO,KAAf;AALrB,OAOGA,KAPH,CADD;AAWA,GAbC,CADH,CAFF,EAmBGZ,gBAAgB,IAAIQ,eAApB,IACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGb,EAAE,CAAE,eAAF;AAArB,KACGO,YAAY,CAACQ,GAAb,CAAoBC,IAAF,IAAY;AAC/B,UAAMC,KAAK,GAAGf,cAAc,CAAEc,IAAI,CAACK,IAAP,CAA5B;AACA,WACC,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfZ,QAAAA,mBAAmB,CAAEO,IAAF,CAAnB;AACA,OAHF;AAIC,MAAA,GAAG,EAAGA,IAAI,CAACI,EAJZ;AAKC,oBAAanB,OAAO,CACnBa,iBADmB,EAEnBG,KAFmB;AALrB,OAUGA,KAVH,CADD;AAcA,GAhBC,CADH,CApBF,CADD;AA2CA,CA5DD;;AA8DA,eAAed,oBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst ExistingMenusOptions = ( {\n\tshowNavigationMenus,\n\tshowClassicMenus = false,\n\tnavigationMenus,\n\tclassicMenus,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tactionLabel,\n} ) => {\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\treturn (\n\t\t<>\n\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t{ navigationMenus.map( ( menu ) => {\n\t\t\t\t\t\tconst label = decodeEntities( menu.title.rendered );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menu );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\taria-label={ sprintf( actionLabel, label ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t<MenuGroup label={ __( 'Classic Menus' ) }>\n\t\t\t\t\t{ classicMenus.map( ( menu ) => {\n\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t);\n\t\t\t\t\t} ) }\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default ExistingMenusOptions;\n"]}
|
|
@@ -77,8 +77,7 @@ function Navigation(_ref) {
|
|
|
77
77
|
// navigation block settings.
|
|
78
78
|
hasSubmenuIndicatorSetting = true,
|
|
79
79
|
hasColorSettings = true,
|
|
80
|
-
customPlaceholder: CustomPlaceholder = null
|
|
81
|
-
customAppender: CustomAppender = null
|
|
80
|
+
customPlaceholder: CustomPlaceholder = null
|
|
82
81
|
} = _ref;
|
|
83
82
|
const {
|
|
84
83
|
openSubmenusOnClick,
|
|
@@ -95,7 +94,7 @@ function Navigation(_ref) {
|
|
|
95
94
|
setAreaMenu = noop; // Navigation areas are deprecated and on their way out. Let's not perform
|
|
96
95
|
// the request unless we're in an environment where the endpoint exists.
|
|
97
96
|
|
|
98
|
-
if (process.env.
|
|
97
|
+
if (process.env.IS_GUTENBERG_PLUGIN) {
|
|
99
98
|
// eslint-disable-next-line react-hooks/rules-of-hooks
|
|
100
99
|
[areaMenu, setAreaMenu] = useEntityProp('root', 'navigationArea', 'navigation', navigationArea);
|
|
101
100
|
}
|
|
@@ -354,7 +353,8 @@ function Navigation(_ref) {
|
|
|
354
353
|
onClose();
|
|
355
354
|
},
|
|
356
355
|
onCreateNew: startWithEmptyMenu,
|
|
357
|
-
canUserCreateNavigation: canUserCreateNavigation
|
|
356
|
+
canUserCreateNavigation: canUserCreateNavigation,
|
|
357
|
+
canUserSwitchNavigation: canSwitchNavigationMenu
|
|
358
358
|
});
|
|
359
359
|
})), createElement(ToolbarGroup, null, listViewToolbarButton)), listViewModal, createElement(InspectorControls, null, hasSubmenuIndicatorSetting && createElement(PanelBody, {
|
|
360
360
|
title: __('Display')
|
|
@@ -470,7 +470,6 @@ function Navigation(_ref) {
|
|
|
470
470
|
}, isEntityAvailable && createElement(NavigationInnerBlocks, {
|
|
471
471
|
isVisible: !isPlaceholderShown,
|
|
472
472
|
clientId: clientId,
|
|
473
|
-
appender: CustomAppender,
|
|
474
473
|
hasCustomPlaceholder: !!CustomPlaceholder,
|
|
475
474
|
orientation: orientation
|
|
476
475
|
})))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","ToolbarDropdownMenu","Button","__","useListViewModal","useNavigationMenu","useNavigationEntities","Placeholder","PlaceholderPreview","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","customAppender","CustomAppender","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","GUTENBERG_PHASE","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n\tcustomAppender: CustomAppender = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.GUTENBERG_PHASE === 2 ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\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\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\tappender={ CustomAppender }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["classnames","noop","useState","useEffect","useRef","useCallback","Platform","InspectorControls","BlockControls","useBlockProps","__experimentalUseNoRecursiveRenders","useNoRecursiveRenders","store","blockEditorStore","withColors","PanelColorSettings","ContrastChecker","getColorClassName","Warning","EntityProvider","useEntityProp","useDispatch","useSelect","useRegistry","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","ToolbarGroup","ToolbarDropdownMenu","Button","__","useListViewModal","useNavigationMenu","useNavigationEntities","Placeholder","PlaceholderPreview","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuSelector","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","EMPTY_ARRAY","getComputedStyle","node","ownerDocument","defaultView","detectColors","colorsDetectionElement","setColor","setBackground","color","backgroundColorNode","backgroundColor","parentNode","nodeType","ELEMENT_NODE","Navigation","attributes","setAttributes","clientId","isSelected","className","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","context","navigationArea","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","openSubmenusOnClick","overlayMenu","showSubmenuIcon","layout","justifyContent","orientation","flexWrap","hasIcon","areaMenu","setAreaMenu","process","env","IS_GUTENBERG_PLUGIN","navigationAreaMenu","undefined","ref","registry","setRef","postId","hasAlreadyRendered","RecursionProvider","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","hasSubmenus","select","getBlock","getBlocks","hasSelectedInnerBlock","_uncontrolledInnerBlocks","innerBlocks","_hasUncontrolledInnerBlocks","length","_controlledInnerBlocks","find","block","name","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","hasSavedUnsavedInnerBlocks","setHasSavedUnsavedInnerBlocks","isWithinUnassignedArea","isPlaceholderShown","setIsPlaceholderShown","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","isNavigationMenuResolved","isNavigationMenuMissing","canSwitchNavigationMenu","hasResolvedNavigationMenus","navigationMenus","navigationMenu","canUserUpdateNavigationEntity","hasResolvedCanUserUpdateNavigationEntity","canUserDeleteNavigationEntity","hasResolvedCanUserDeleteNavigationEntity","canUserCreateNavigation","hasResolvedCanUserCreateNavigation","navRef","isDraftNavigationMenu","status","listViewToolbarButton","listViewModal","isEntityAvailable","blockProps","class","slug","style","overlayClassnames","overlayStyles","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","current","subMenuElement","querySelector","showCantEditNotice","hideCantEditNotice","message","showCantCreateNotice","hideCantCreateNotice","startWithEmptyMenu","batch","hasUnsavedBlocks","post","id","PlaceholderComponent","isResponsive","overlayMenuPreviewClasses","open","onClose","value","onChange","label"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tuseCallback,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n} from '@wordpress/block-editor';\nimport { EntityProvider, useEntityProp } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect, useRegistry } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToolbarGroup,\n\tToolbarDropdownMenu,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useListViewModal from './use-list-view-modal';\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport PlaceholderPreview from './placeholder/placeholder-preview';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyle( node ) {\n\treturn node.ownerDocument.defaultView.getComputedStyle( node );\n}\n\nfunction detectColors( colorsDetectionElement, setColor, setBackground ) {\n\tif ( ! colorsDetectionElement ) {\n\t\treturn;\n\t}\n\tsetColor( getComputedStyle( colorsDetectionElement ).color );\n\n\tlet backgroundColorNode = colorsDetectionElement;\n\tlet backgroundColor = getComputedStyle( backgroundColorNode )\n\t\t.backgroundColor;\n\twhile (\n\t\tbackgroundColor === 'rgba(0, 0, 0, 0)' &&\n\t\tbackgroundColorNode.parentNode &&\n\t\tbackgroundColorNode.parentNode.nodeType ===\n\t\t\tbackgroundColorNode.parentNode.ELEMENT_NODE\n\t) {\n\t\tbackgroundColorNode = backgroundColorNode.parentNode;\n\t\tbackgroundColor = getComputedStyle( backgroundColorNode )\n\t\t\t.backgroundColor;\n\t}\n\n\tsetBackground( backgroundColor );\n}\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\tcontext: { navigationArea },\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t} = attributes;\n\n\tlet areaMenu,\n\t\tsetAreaMenu = noop;\n\t// Navigation areas are deprecated and on their way out. Let's not perform\n\t// the request unless we're in an environment where the endpoint exists.\n\tif ( process.env.IS_GUTENBERG_PLUGIN ) {\n\t\t// eslint-disable-next-line react-hooks/rules-of-hooks\n\t\t[ areaMenu, setAreaMenu ] = useEntityProp(\n\t\t\t'root',\n\t\t\t'navigationArea',\n\t\t\t'navigation',\n\t\t\tnavigationArea\n\t\t);\n\t}\n\n\tconst navigationAreaMenu = areaMenu === 0 ? undefined : areaMenu;\n\n\tconst ref = navigationArea ? navigationAreaMenu : attributes.ref;\n\n\tconst registry = useRegistry();\n\tconst setRef = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( postId );\n\t\t\t}\n\t\t},\n\t\t[ navigationArea ]\n\t);\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\t`navigationMenu/${ ref }`\n\t);\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tuseNavigationEntities();\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\thasSubmenus,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlocks, hasSelectedInnerBlock } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\n\t\t\t// This relies on the fact that `getBlock` won't return controlled\n\t\t\t// inner blocks, while `getBlocks` does. It might be more stable to\n\t\t\t// introduce a selector like `getUncontrolledInnerBlocks`, just in\n\t\t\t// case `getBlock` is fixed.\n\t\t\tconst _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;\n\t\t\tconst _hasUncontrolledInnerBlocks =\n\t\t\t\t_uncontrolledInnerBlocks?.length;\n\t\t\tconst _controlledInnerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? EMPTY_ARRAY\n\t\t\t\t: getBlocks( clientId );\n\t\t\tconst innerBlocks = _hasUncontrolledInnerBlocks\n\t\t\t\t? _uncontrolledInnerBlocks\n\t\t\t\t: _controlledInnerBlocks;\n\n\t\t\treturn {\n\t\t\t\thasSubmenus: !! innerBlocks.find(\n\t\t\t\t\t( block ) => block.name === 'core/navigation-submenu'\n\t\t\t\t),\n\t\t\t\thasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,\n\t\t\t\tuncontrolledInnerBlocks: _uncontrolledInnerBlocks,\n\t\t\t\tisInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [\n\t\thasSavedUnsavedInnerBlocks,\n\t\tsetHasSavedUnsavedInnerBlocks,\n\t] = useState( false );\n\n\tconst isWithinUnassignedArea = !! navigationArea && ! ref;\n\n\tconst [ isPlaceholderShown, setIsPlaceholderShown ] = useState(\n\t\t! hasUncontrolledInnerBlocks || isWithinUnassignedArea\n\t);\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] = useState(\n\t\tfalse\n\t);\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tcanSwitchNavigationMenu,\n\t\thasResolvedNavigationMenus,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserDeleteNavigationEntity,\n\t\thasResolvedCanUserDeleteNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t} = useNavigationMenu( ref );\n\n\tconst navRef = useRef();\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\n\tconst { listViewToolbarButton, listViewModal } = useListViewModal(\n\t\tclientId\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'color',\n\t\t\t\ttextColor?.slug\n\t\t\t) ]: !! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tbackgroundColor?.slug\n\t\t\t) ]: !! backgroundColor?.slug,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\tconst overlayClassnames = classnames( {\n\t\t'has-text-color':\n\t\t\t!! overlayTextColor.color || !! overlayTextColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'color',\n\t\t\toverlayTextColor?.slug\n\t\t) ]: !! overlayTextColor?.slug,\n\t\t'has-background':\n\t\t\t!! overlayBackgroundColor.color || overlayBackgroundColor?.class,\n\t\t[ getColorClassName(\n\t\t\t'background-color',\n\t\t\toverlayBackgroundColor?.slug\n\t\t) ]: !! overlayBackgroundColor?.slug,\n\t} );\n\n\tconst overlayStyles = {\n\t\tcolor: ! overlayTextColor?.slug && overlayTextColor?.color,\n\t\tbackgroundColor:\n\t\t\t! overlayBackgroundColor?.slug &&\n\t\t\toverlayBackgroundColor?.color &&\n\t\t\toverlayBackgroundColor.color,\n\t};\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\t// Hide the placeholder if an navigation menu entity has loaded.\n\tuseEffect( () => {\n\t\tsetIsPlaceholderShown( ! isEntityAvailable );\n\t}, [ isEntityAvailable ] );\n\n\tconst [ showCantEditNotice, hideCantEditNotice ] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t\tmessage: __(\n\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t),\n\t} );\n\n\tconst [ showCantCreateNotice, hideCantCreateNotice ] = useNavigationNotice(\n\t\t{\n\t\t\tname: 'block-library/core/navigation/permissions/create',\n\t\t\tmessage: __(\n\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t),\n\t\t}\n\t);\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideCantEditNotice();\n\t\t\thideCantCreateNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\thasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t! canUserUpdateNavigationEntity\n\t\t\t) {\n\t\t\t\tshowCantEditNotice();\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigation &&\n\t\t\t\t! canUserCreateNavigation\n\t\t\t) {\n\t\t\t\tshowCantCreateNotice();\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationEntity,\n\t\thasResolvedCanUserUpdateNavigationEntity,\n\t\tcanUserCreateNavigation,\n\t\thasResolvedCanUserCreateNavigation,\n\t\tref,\n\t] );\n\n\tconst startWithEmptyMenu = useCallback( () => {\n\t\tregistry.batch( () => {\n\t\t\tif ( navigationArea ) {\n\t\t\t\tsetAreaMenu( 0 );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tref: undefined,\n\t\t\t} );\n\t\t\tif ( ! ref ) {\n\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t}\n\t\t\tsetIsPlaceholderShown( true );\n\t\t} );\n\t}, [ clientId, ref ] );\n\n\t// If the block has inner blocks, but no menu id, this was an older\n\t// navigation block added before the block used a wp_navigation entity.\n\t// Either this block was saved in the content or inserted by a pattern.\n\t// Consider this 'unsaved'. Offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\tif ( hasUnsavedBlocks ) {\n\t\treturn (\n\t\t\t<nav { ...blockProps }>\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t\thasSavedUnsavedInnerBlocks={\n\t\t\t\t\t\t\thasSavedUnsavedInnerBlocks\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonSave={ ( post ) => {\n\t\t\t\t\t\t\t// Set some state used as a guard to prevent the creation of multiple posts.\n\t\t\t\t\t\t\tsetHasSavedUnsavedInnerBlocks( true );\n\t\t\t\t\t\t\t// Switch to using the wp_navigation entity.\n\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</nav>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button onClick={ startWithEmptyMenu } variant=\"link\">\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider>\n\t\t\t\t<BlockControls>\n\t\t\t\t\t{ ! isDraftNavigationMenu && isEntityAvailable && (\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\t\t\tlabel={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ttext={ __( 'Select Menu' ) }\n\t\t\t\t\t\t\t\ticon={ null }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\tonSelect={ ( { id } ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetRef( id );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tonCreateNew={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanUserCreateNavigation\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tcanUserSwitchNavigation={\n\t\t\t\t\t\t\t\t\t\t\tcanSwitchNavigationMenu\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ToolbarDropdownMenu>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolbarGroup>{ listViewToolbarButton }</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t\t{ listViewModal }\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ hasIcon && <OverlayMenuIcon /> }\n\t\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { hasIcon: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tchecked={ hasIcon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tattributes.openSubmenusOnClick\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t) }\n\t\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t\t<PanelColorSettings\n\t\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\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\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</PanelColorSettings>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationEntity &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationEntity &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationEntity && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ startWithEmptyMenu }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\t\t\t\t<nav { ...blockProps }>\n\t\t\t\t\t{ isPlaceholderShown && (\n\t\t\t\t\t\t<PlaceholderComponent\n\t\t\t\t\t\t\tonFinish={ ( post ) => {\n\t\t\t\t\t\t\t\tsetIsPlaceholderShown( false );\n\t\t\t\t\t\t\t\tif ( post ) {\n\t\t\t\t\t\t\t\t\tsetRef( post.id );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tselectBlock( clientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcanSwitchNavigationMenu={ canSwitchNavigationMenu }\n\t\t\t\t\t\t\thasResolvedNavigationMenus={\n\t\t\t\t\t\t\t\thasResolvedNavigationMenus\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tcanUserCreateNavigation={ canUserCreateNavigation }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ ! hasResolvedCanUserCreateNavigation ||\n\t\t\t\t\t\t( ! isEntityAvailable && ! isPlaceholderShown && (\n\t\t\t\t\t\t\t<PlaceholderPreview isLoading />\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ ! isPlaceholderShown && (\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\tclassNames={ overlayClassnames }\n\t\t\t\t\t\t\tstyles={ overlayStyles }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tisVisible={ ! isPlaceholderShown }\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t) }\n\t\t\t\t</nav>\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
6
|
import { useEntityBlockEditor } from '@wordpress/core-data';
|
|
7
|
-
import { useInnerBlocksProps, __experimentalBlockContentOverlay as BlockContentOverlay, store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
|
+
import { useInnerBlocksProps, InnerBlocks, __experimentalBlockContentOverlay as BlockContentOverlay, store as blockEditorStore } from '@wordpress/block-editor';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
9
|
import { useMemo } from '@wordpress/element';
|
|
10
10
|
/**
|
|
@@ -24,7 +24,6 @@ export default function NavigationInnerBlocks(_ref) {
|
|
|
24
24
|
let {
|
|
25
25
|
isVisible,
|
|
26
26
|
clientId,
|
|
27
|
-
appender: CustomAppender,
|
|
28
27
|
hasCustomPlaceholder,
|
|
29
28
|
orientation
|
|
30
29
|
} = _ref;
|
|
@@ -60,7 +59,6 @@ export default function NavigationInnerBlocks(_ref) {
|
|
|
60
59
|
// appender.
|
|
61
60
|
|
|
62
61
|
const parentOrChildHasSelection = isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasDescendants;
|
|
63
|
-
const appender = isVisible && parentOrChildHasSelection ? undefined : false;
|
|
64
62
|
const placeholder = useMemo(() => createElement(PlaceholderPreview, null), []);
|
|
65
63
|
const innerBlocksProps = useInnerBlocksProps({
|
|
66
64
|
className: 'wp-block-navigation__container'
|
|
@@ -72,7 +70,13 @@ export default function NavigationInnerBlocks(_ref) {
|
|
|
72
70
|
__experimentalDefaultBlock: DEFAULT_BLOCK,
|
|
73
71
|
__experimentalDirectInsert: shouldDirectInsert,
|
|
74
72
|
orientation,
|
|
75
|
-
|
|
73
|
+
// As an exception to other blocks which feature nesting, show
|
|
74
|
+
// the block appender even when a child block is selected.
|
|
75
|
+
// This should be a temporary fix, to be replaced by improvements to
|
|
76
|
+
// the sibling inserter.
|
|
77
|
+
// See https://github.com/WordPress/gutenberg/issues/37572.
|
|
78
|
+
renderAppender: isSelected || isImmediateParentOfSelectedBlock && !selectedBlockHasDescendants || // Show the appender while dragging to allow inserting element between item and the appender.
|
|
79
|
+
parentOrChildHasSelection ? InnerBlocks.ButtonBlockAppender : false,
|
|
76
80
|
// Template lock set to false here so that the Nav
|
|
77
81
|
// Block on the experimental menus screen does not
|
|
78
82
|
// inherit templateLock={ 'all' }.
|