@wordpress/block-library 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/categories/edit.js +1 -1
- package/build/categories/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/freeform/edit.js +21 -6
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/modal.js +97 -0
- package/build/freeform/modal.js.map +1 -0
- package/build/gallery/edit.js +13 -2
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +2 -16
- package/build/gallery/gallery.js.map +1 -1
- package/build/image/image.js +1 -0
- package/build/image/image.js.map +1 -1
- package/build/media-text/edit.js +1 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +2 -2
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/index.js +3 -4
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +29 -7
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +11 -8
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/utils.js +81 -0
- package/build/navigation/edit/utils.js.map +1 -1
- package/build/navigation-link/edit.js +4 -58
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +7 -72
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +16 -15
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +29 -2
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +9 -5
- package/build/page-list-item/edit.js.map +1 -1
- package/build/post-featured-image/overlay.js +0 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/query/edit/index.js +2 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +10 -5
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +2 -3
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +17 -12
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +73 -1
- package/build/query/utils.js.map +1 -1
- package/build/search/edit.js +2 -2
- package/build/search/edit.js.map +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +11 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +160 -0
- package/build/template-part/edit/import-controls.js.map +1 -0
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +48 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -0
- package/build-module/categories/edit.js +1 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +3 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/freeform/edit.js +22 -8
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/modal.js +90 -0
- package/build-module/freeform/modal.js.map +1 -0
- package/build-module/gallery/edit.js +14 -3
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -16
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/image/image.js +1 -0
- package/build-module/image/image.js.map +1 -1
- package/build-module/media-text/edit.js +1 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +2 -2
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/index.js +3 -4
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +30 -9
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +12 -9
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/utils.js +75 -0
- package/build-module/navigation/edit/utils.js.map +1 -1
- package/build-module/navigation-link/edit.js +4 -59
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +6 -72
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +17 -15
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +30 -3
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +9 -6
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +0 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/query/edit/index.js +2 -1
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +10 -5
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -1
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +16 -12
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +69 -0
- package/build-module/query/utils.js.map +1 -1
- package/build-module/search/edit.js +2 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/social-link/edit.js +2 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +10 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +146 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -0
- package/build-module/template-part/edit/index.js +2 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +40 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -0
- package/build-style/archives/editor-rtl.css +3 -3
- package/build-style/archives/editor.css +3 -3
- package/build-style/archives/style-rtl.css +3 -3
- package/build-style/archives/style.css +3 -3
- package/build-style/audio/editor-rtl.css +3 -3
- package/build-style/audio/editor.css +3 -3
- package/build-style/audio/style-rtl.css +3 -3
- package/build-style/audio/style.css +3 -3
- package/build-style/audio/theme-rtl.css +3 -3
- package/build-style/audio/theme.css +3 -3
- package/build-style/avatar/editor-rtl.css +3 -3
- package/build-style/avatar/editor.css +3 -3
- package/build-style/avatar/style-rtl.css +3 -3
- package/build-style/avatar/style.css +3 -3
- package/build-style/block/editor-rtl.css +3 -3
- package/build-style/block/editor.css +3 -3
- package/build-style/button/editor-rtl.css +3 -3
- package/build-style/button/editor.css +3 -3
- package/build-style/button/style-rtl.css +3 -3
- package/build-style/button/style.css +3 -3
- package/build-style/buttons/editor-rtl.css +3 -3
- package/build-style/buttons/editor.css +3 -3
- package/build-style/buttons/style-rtl.css +3 -3
- package/build-style/buttons/style.css +3 -3
- package/build-style/calendar/style-rtl.css +3 -3
- package/build-style/calendar/style.css +3 -3
- package/build-style/categories/editor-rtl.css +3 -3
- package/build-style/categories/editor.css +3 -3
- package/build-style/categories/style-rtl.css +3 -3
- package/build-style/categories/style.css +3 -3
- package/build-style/classic-rtl.css +3 -3
- package/build-style/classic.css +3 -3
- package/build-style/code/editor-rtl.css +3 -3
- package/build-style/code/editor.css +3 -3
- package/build-style/code/style-rtl.css +3 -3
- package/build-style/code/style.css +3 -3
- package/build-style/code/theme-rtl.css +3 -3
- package/build-style/code/theme.css +3 -3
- package/build-style/columns/editor-rtl.css +3 -3
- package/build-style/columns/editor.css +3 -3
- package/build-style/columns/style-rtl.css +3 -3
- package/build-style/columns/style.css +3 -3
- package/build-style/comment-author-avatar/editor-rtl.css +3 -3
- package/build-style/comment-author-avatar/editor.css +3 -3
- package/build-style/comment-content/style-rtl.css +3 -3
- package/build-style/comment-content/style.css +3 -3
- package/build-style/comment-template/style-rtl.css +3 -3
- package/build-style/comment-template/style.css +3 -3
- package/build-style/comments/editor-rtl.css +3 -3
- package/build-style/comments/editor.css +3 -3
- package/build-style/comments/style-rtl.css +3 -3
- package/build-style/comments/style.css +3 -3
- package/build-style/comments-pagination/editor-rtl.css +3 -3
- package/build-style/comments-pagination/editor.css +3 -3
- package/build-style/comments-pagination/style-rtl.css +3 -3
- package/build-style/comments-pagination/style.css +3 -3
- package/build-style/comments-pagination-numbers/editor-rtl.css +3 -3
- package/build-style/comments-pagination-numbers/editor.css +3 -3
- package/build-style/comments-title/editor-rtl.css +3 -3
- package/build-style/comments-title/editor.css +3 -3
- package/build-style/common-rtl.css +3 -3
- package/build-style/common.css +3 -3
- package/build-style/cover/editor-rtl.css +3 -3
- package/build-style/cover/editor.css +3 -3
- package/build-style/cover/style-rtl.css +3 -3
- package/build-style/cover/style.css +3 -3
- package/build-style/editor-elements-rtl.css +3 -3
- package/build-style/editor-elements.css +3 -3
- package/build-style/editor-rtl.css +7 -9
- package/build-style/editor.css +7 -9
- package/build-style/elements-rtl.css +3 -3
- package/build-style/elements.css +3 -3
- package/build-style/embed/editor-rtl.css +3 -3
- package/build-style/embed/editor.css +3 -3
- package/build-style/embed/style-rtl.css +3 -3
- package/build-style/embed/style.css +3 -3
- package/build-style/embed/theme-rtl.css +3 -3
- package/build-style/embed/theme.css +3 -3
- package/build-style/file/editor-rtl.css +3 -3
- package/build-style/file/editor.css +3 -3
- package/build-style/file/style-rtl.css +3 -3
- package/build-style/file/style.css +3 -3
- package/build-style/freeform/editor-rtl.css +3 -3
- package/build-style/freeform/editor.css +3 -3
- package/build-style/gallery/editor-rtl.css +3 -3
- package/build-style/gallery/editor.css +3 -3
- package/build-style/gallery/style-rtl.css +3 -3
- package/build-style/gallery/style.css +3 -3
- package/build-style/gallery/theme-rtl.css +3 -3
- package/build-style/gallery/theme.css +3 -3
- package/build-style/group/editor-rtl.css +3 -3
- package/build-style/group/editor.css +3 -3
- package/build-style/group/style-rtl.css +3 -3
- package/build-style/group/style.css +3 -3
- package/build-style/group/theme-rtl.css +3 -3
- package/build-style/group/theme.css +3 -3
- package/build-style/heading/style-rtl.css +3 -3
- package/build-style/heading/style.css +3 -3
- package/build-style/html/editor-rtl.css +3 -3
- package/build-style/html/editor.css +3 -3
- package/build-style/image/editor-rtl.css +3 -3
- package/build-style/image/editor.css +3 -3
- package/build-style/image/style-rtl.css +3 -3
- package/build-style/image/style.css +3 -3
- package/build-style/image/theme-rtl.css +3 -3
- package/build-style/image/theme.css +3 -3
- package/build-style/latest-comments/style-rtl.css +3 -3
- package/build-style/latest-comments/style.css +3 -3
- package/build-style/latest-posts/editor-rtl.css +3 -3
- package/build-style/latest-posts/editor.css +3 -3
- package/build-style/latest-posts/style-rtl.css +3 -3
- package/build-style/latest-posts/style.css +3 -3
- package/build-style/list/style-rtl.css +3 -3
- package/build-style/list/style.css +3 -3
- package/build-style/media-text/editor-rtl.css +3 -3
- package/build-style/media-text/editor.css +3 -3
- package/build-style/media-text/style-rtl.css +3 -3
- package/build-style/media-text/style.css +3 -3
- package/build-style/more/editor-rtl.css +3 -3
- package/build-style/more/editor.css +3 -3
- package/build-style/navigation/editor-rtl.css +3 -9
- package/build-style/navigation/editor.css +3 -9
- package/build-style/navigation/style-rtl.css +3 -4
- package/build-style/navigation/style.css +3 -4
- package/build-style/navigation-link/editor-rtl.css +3 -3
- package/build-style/navigation-link/editor.css +3 -3
- package/build-style/navigation-link/style-rtl.css +3 -3
- package/build-style/navigation-link/style.css +3 -3
- package/build-style/navigation-submenu/editor-rtl.css +3 -3
- package/build-style/navigation-submenu/editor.css +3 -3
- package/build-style/nextpage/editor-rtl.css +3 -3
- package/build-style/nextpage/editor.css +3 -3
- package/build-style/page-list/editor-rtl.css +7 -3
- package/build-style/page-list/editor.css +7 -3
- package/build-style/page-list/style-rtl.css +3 -3
- package/build-style/page-list/style.css +3 -3
- package/build-style/paragraph/editor-rtl.css +3 -3
- package/build-style/paragraph/editor.css +3 -3
- package/build-style/paragraph/style-rtl.css +3 -3
- package/build-style/paragraph/style.css +3 -3
- package/build-style/post-author/style-rtl.css +3 -3
- package/build-style/post-author/style.css +3 -3
- package/build-style/post-comments-form/editor-rtl.css +3 -3
- package/build-style/post-comments-form/editor.css +3 -3
- package/build-style/post-comments-form/style-rtl.css +3 -3
- package/build-style/post-comments-form/style.css +3 -3
- package/build-style/post-date/style-rtl.css +3 -3
- package/build-style/post-date/style.css +3 -3
- package/build-style/post-excerpt/editor-rtl.css +3 -3
- package/build-style/post-excerpt/editor.css +3 -3
- package/build-style/post-excerpt/style-rtl.css +3 -3
- package/build-style/post-excerpt/style.css +3 -3
- package/build-style/post-featured-image/editor-rtl.css +3 -3
- package/build-style/post-featured-image/editor.css +3 -3
- package/build-style/post-featured-image/style-rtl.css +3 -3
- package/build-style/post-featured-image/style.css +3 -3
- package/build-style/post-navigation-link/style-rtl.css +3 -3
- package/build-style/post-navigation-link/style.css +3 -3
- package/build-style/post-template/editor-rtl.css +3 -3
- package/build-style/post-template/editor.css +3 -3
- package/build-style/post-template/style-rtl.css +3 -3
- package/build-style/post-template/style.css +3 -3
- package/build-style/post-terms/style-rtl.css +3 -3
- package/build-style/post-terms/style.css +3 -3
- package/build-style/post-title/style-rtl.css +3 -3
- package/build-style/post-title/style.css +3 -3
- package/build-style/preformatted/style-rtl.css +3 -3
- package/build-style/preformatted/style.css +3 -3
- package/build-style/pullquote/editor-rtl.css +3 -3
- package/build-style/pullquote/editor.css +3 -3
- package/build-style/pullquote/style-rtl.css +3 -3
- package/build-style/pullquote/style.css +3 -3
- package/build-style/pullquote/theme-rtl.css +3 -3
- package/build-style/pullquote/theme.css +3 -3
- package/build-style/query/editor-rtl.css +3 -3
- package/build-style/query/editor.css +3 -3
- package/build-style/query-pagination/editor-rtl.css +3 -3
- package/build-style/query-pagination/editor.css +3 -3
- package/build-style/query-pagination/style-rtl.css +3 -3
- package/build-style/query-pagination/style.css +3 -3
- package/build-style/query-pagination-numbers/editor-rtl.css +3 -3
- package/build-style/query-pagination-numbers/editor.css +3 -3
- package/build-style/query-title/style-rtl.css +3 -3
- package/build-style/query-title/style.css +3 -3
- package/build-style/quote/style-rtl.css +3 -3
- package/build-style/quote/style.css +3 -3
- package/build-style/quote/theme-rtl.css +3 -3
- package/build-style/quote/theme.css +3 -3
- package/build-style/read-more/style-rtl.css +3 -3
- package/build-style/read-more/style.css +3 -3
- package/build-style/reset-rtl.css +3 -3
- package/build-style/reset.css +3 -3
- package/build-style/rss/editor-rtl.css +3 -3
- package/build-style/rss/editor.css +3 -3
- package/build-style/rss/style-rtl.css +3 -3
- package/build-style/rss/style.css +3 -3
- package/build-style/search/editor-rtl.css +3 -3
- package/build-style/search/editor.css +3 -3
- package/build-style/search/style-rtl.css +3 -3
- package/build-style/search/style.css +3 -3
- package/build-style/search/theme-rtl.css +3 -3
- package/build-style/search/theme.css +3 -3
- package/build-style/separator/editor-rtl.css +3 -3
- package/build-style/separator/editor.css +3 -3
- package/build-style/separator/style-rtl.css +3 -3
- package/build-style/separator/style.css +3 -3
- package/build-style/separator/theme-rtl.css +3 -3
- package/build-style/separator/theme.css +3 -3
- package/build-style/shortcode/editor-rtl.css +3 -3
- package/build-style/shortcode/editor.css +3 -3
- package/build-style/site-logo/editor-rtl.css +3 -3
- package/build-style/site-logo/editor.css +3 -3
- package/build-style/site-logo/style-rtl.css +3 -3
- package/build-style/site-logo/style.css +3 -3
- package/build-style/site-tagline/editor-rtl.css +3 -3
- package/build-style/site-tagline/editor.css +3 -3
- package/build-style/site-title/editor-rtl.css +3 -3
- package/build-style/site-title/editor.css +3 -3
- package/build-style/site-title/style-rtl.css +3 -3
- package/build-style/site-title/style.css +3 -3
- package/build-style/social-link/editor-rtl.css +3 -3
- package/build-style/social-link/editor.css +3 -3
- package/build-style/social-links/editor-rtl.css +3 -3
- package/build-style/social-links/editor.css +3 -3
- package/build-style/social-links/style-rtl.css +3 -3
- package/build-style/social-links/style.css +3 -3
- package/build-style/spacer/editor-rtl.css +3 -3
- package/build-style/spacer/editor.css +3 -3
- package/build-style/spacer/style-rtl.css +3 -3
- package/build-style/spacer/style.css +3 -3
- package/build-style/style-rtl.css +13 -5
- package/build-style/style.css +13 -5
- package/build-style/table/editor-rtl.css +3 -3
- package/build-style/table/editor.css +3 -3
- package/build-style/table/style-rtl.css +9 -3
- package/build-style/table/style.css +9 -3
- package/build-style/table/theme-rtl.css +3 -9
- package/build-style/table/theme.css +3 -9
- package/build-style/tag-cloud/style-rtl.css +3 -3
- package/build-style/tag-cloud/style.css +3 -3
- package/build-style/template-part/editor-rtl.css +3 -3
- package/build-style/template-part/editor.css +3 -3
- package/build-style/template-part/theme-rtl.css +3 -3
- package/build-style/template-part/theme.css +3 -3
- package/build-style/text-columns/editor-rtl.css +3 -3
- package/build-style/text-columns/editor.css +3 -3
- package/build-style/text-columns/style-rtl.css +3 -3
- package/build-style/text-columns/style.css +3 -3
- package/build-style/theme-rtl.css +3 -9
- package/build-style/theme.css +3 -9
- package/build-style/verse/style-rtl.css +7 -4
- package/build-style/verse/style.css +7 -4
- package/build-style/video/editor-rtl.css +3 -3
- package/build-style/video/editor.css +3 -3
- package/build-style/video/style-rtl.css +3 -3
- package/build-style/video/style.css +3 -3
- package/build-style/video/theme-rtl.css +3 -3
- package/build-style/video/theme.css +3 -3
- package/package.json +29 -29
- package/src/categories/edit.js +1 -1
- package/src/comments/index.php +0 -1
- package/src/cover/edit/inspector-controls.js +4 -4
- package/src/freeform/edit.js +48 -29
- package/src/freeform/modal.js +111 -0
- package/src/gallery/edit.js +17 -2
- package/src/gallery/gallery.js +3 -13
- package/src/image/image.js +1 -0
- package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
- package/src/latest-posts/test/edit.native.js +49 -0
- package/src/media-text/edit.js +1 -0
- package/src/missing/edit.native.js +13 -6
- package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/more/test/edit.native.js +41 -0
- package/src/navigation/edit/index.js +3 -4
- package/src/navigation/edit/menu-inspector-controls.js +70 -29
- package/src/navigation/edit/navigation-menu-selector.js +19 -9
- package/src/navigation/edit/utils.js +82 -0
- package/src/navigation/editor.scss +0 -7
- package/src/navigation/index.php +32 -0
- package/src/navigation/style.scss +0 -1
- package/src/navigation-link/edit.js +5 -58
- package/src/navigation-link/index.php +32 -0
- package/src/navigation-submenu/edit.js +29 -100
- package/src/navigation-submenu/index.php +32 -0
- package/src/page-list/block.json +18 -1
- package/src/page-list/edit.js +30 -22
- package/src/page-list/editor.scss +4 -0
- package/src/page-list/index.js +8 -2
- package/src/page-list/index.php +9 -10
- package/src/page-list-item/edit.js +17 -9
- package/src/post-featured-image/overlay.js +0 -1
- package/src/query/edit/index.js +1 -0
- package/src/query/edit/inspector-controls/index.js +49 -38
- package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
- package/src/query/edit/query-content.js +2 -1
- package/src/query/edit/query-placeholder.js +15 -14
- package/src/query/utils.js +59 -1
- package/src/search/edit.js +2 -2
- package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/separator/test/edit.native.js +41 -0
- package/src/social-link/edit.js +3 -3
- package/src/social-links/edit.js +0 -1
- package/src/table/style.scss +8 -0
- package/src/table/theme.scss +0 -8
- package/src/table-of-contents/edit.js +1 -1
- package/src/template-part/edit/advanced-controls.js +12 -0
- package/src/template-part/edit/import-controls.js +180 -0
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/utils/transformers.js +37 -0
- package/src/verse/style.scss +4 -1
- package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/verse/test/edit.native.js +40 -33
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/constants.js +0 -16
- package/build/query/constants.js.map +0 -1
- package/build-module/query/constants.js +0 -7
- package/build-module/query/constants.js.map +0 -1
- package/src/query/constants.js +0 -7
|
@@ -25,6 +25,9 @@ import { convertDescription } from './constants'; // We only show the edit optio
|
|
|
25
25
|
// Performance of Navigation Links is not good past this value.
|
|
26
26
|
|
|
27
27
|
const MAX_PAGE_COUNT = 100;
|
|
28
|
+
|
|
29
|
+
const NOOP = () => {};
|
|
30
|
+
|
|
28
31
|
export default function PageListEdit(_ref) {
|
|
29
32
|
var _context$style;
|
|
30
33
|
|
|
@@ -43,10 +46,6 @@ export default function PageListEdit(_ref) {
|
|
|
43
46
|
totalPages,
|
|
44
47
|
hasResolvedPages
|
|
45
48
|
} = usePageData();
|
|
46
|
-
const {
|
|
47
|
-
replaceInnerBlocks,
|
|
48
|
-
__unstableMarkNextChangeAsNotPersistent
|
|
49
|
-
} = useDispatch(blockEditorStore);
|
|
50
49
|
const isNavigationChild = ('showSubmenuIcon' in context);
|
|
51
50
|
const allowConvertToLinks = isNavigationChild && totalPages <= MAX_PAGE_COUNT;
|
|
52
51
|
const [isOpen, setOpen] = useState(false);
|
|
@@ -125,7 +124,10 @@ export default function PageListEdit(_ref) {
|
|
|
125
124
|
allowedBlocks: ['core/page-list-item'],
|
|
126
125
|
renderAppender: false,
|
|
127
126
|
__unstableDisableDropZone: true,
|
|
128
|
-
templateLock: 'all'
|
|
127
|
+
templateLock: 'all',
|
|
128
|
+
onInput: NOOP,
|
|
129
|
+
onChange: NOOP,
|
|
130
|
+
value: blockList
|
|
129
131
|
});
|
|
130
132
|
|
|
131
133
|
const getBlockContent = () => {
|
|
@@ -158,19 +160,13 @@ export default function PageListEdit(_ref) {
|
|
|
158
160
|
}
|
|
159
161
|
};
|
|
160
162
|
|
|
161
|
-
useEffect(() => {
|
|
162
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
163
|
-
|
|
164
|
-
if (blockList) {
|
|
165
|
-
replaceInnerBlocks(clientId, blockList);
|
|
166
|
-
}
|
|
167
|
-
}, [clientId, blockList]);
|
|
168
163
|
const {
|
|
169
164
|
replaceBlock,
|
|
170
165
|
selectBlock
|
|
171
166
|
} = useDispatch(blockEditorStore);
|
|
172
167
|
const {
|
|
173
|
-
parentNavBlockClientId
|
|
168
|
+
parentNavBlockClientId,
|
|
169
|
+
isNested
|
|
174
170
|
} = useSelect(select => {
|
|
175
171
|
const {
|
|
176
172
|
getSelectedBlockClientId,
|
|
@@ -180,9 +176,15 @@ export default function PageListEdit(_ref) {
|
|
|
180
176
|
const _selectedBlockClientId = getSelectedBlockClientId();
|
|
181
177
|
|
|
182
178
|
return {
|
|
183
|
-
parentNavBlockClientId: getBlockParentsByBlockName(_selectedBlockClientId, 'core/navigation', true)[0]
|
|
179
|
+
parentNavBlockClientId: getBlockParentsByBlockName(_selectedBlockClientId, 'core/navigation', true)[0],
|
|
180
|
+
isNested: getBlockParentsByBlockName(clientId, 'core/navigation-submenu', true).length > 0
|
|
184
181
|
};
|
|
185
|
-
}, []);
|
|
182
|
+
}, [clientId]);
|
|
183
|
+
useEffect(() => {
|
|
184
|
+
setAttributes({
|
|
185
|
+
isNested
|
|
186
|
+
});
|
|
187
|
+
}, [isNested]);
|
|
186
188
|
return createElement(Fragment, null, createElement(InspectorControls, null, isNavigationChild && (pages === null || pages === void 0 ? void 0 : pages.length) > 0 && createElement(PanelBody, {
|
|
187
189
|
title: __('Customize this menu')
|
|
188
190
|
}, createElement("p", null, convertDescription), createElement(Button, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useEntityRecords","useSelect","useDispatch","ConvertToLinksModal","convertToNavigationLinks","convertDescription","MAX_PAGE_COUNT","PageListEdit","context","clientId","attributes","setAttributes","parentPageID","pages","useGetPages","pagesByParentId","totalPages","hasResolvedPages","usePageData","replaceInnerBlocks","__unstableMarkNextChangeAsNotPersistent","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","getBlockList","parentId","childPages","get","length","reduce","template","page","hasChildren","has","id","pageProps","label","title","rendered","link","url","item","children","push","makePagesTree","level","tree","value","repeat","rawName","pagesTree","blockList","innerBlocksProps","allowedBlocks","renderAppender","__unstableDisableDropZone","templateLock","getBlockContent","parentPageDetails","find","replaceBlock","selectBlock","parentNavBlockClientId","select","getSelectedBlockClientId","getBlockParentsByBlockName","_selectedBlockClientId","navigationLinks","records","hasResolved","orderby","order","_fields","per_page","pageId","sortedPages","sort","a","b","menu_order","localeCompare","accumulator","parent","set","Map"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,WAAT,QAA4B,mBAA5B;AACA,SACCC,iBADD,EAECC,aAFD,EAGCC,aAHD,EAICC,mBAJD,EAKCC,iBALD,EAMCC,KAAK,IAAIC,gBANV,EAOCC,OAPD,QAQO,yBARP;AASA,SACCC,SADD,EAECC,aAFD,EAGCC,OAHD,EAICC,MAJD,EAKCC,eALD,EAMCC,MAND,QAOO,uBAPP;AAQA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AACA,SAASC,OAAT,EAAkBC,QAAlB,EAA4BC,SAA5B,QAA6C,oBAA7C;AACA,SAASC,gBAAT,QAAiC,sBAAjC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AAEA;AACA;AACA;;AACA,OAAOC,mBAAP,MAAgC,0BAAhC;AACA,SAASC,wBAAT,QAAyC,+BAAzC;AACA,SAASC,kBAAT,QAAmC,aAAnC,C,CAEA;AACA;;AACA,MAAMC,cAAc,GAAG,GAAvB;AAEA,eAAe,SAASC,YAAT,OAKX;AAAA;;AAAA,MALkC;AACrCC,IAAAA,OADqC;AAErCC,IAAAA,QAFqC;AAGrCC,IAAAA,UAHqC;AAIrCC,IAAAA;AAJqC,GAKlC;AACH,QAAM;AAAEC,IAAAA;AAAF,MAAmBF,UAAzB;AACA,QAAM,CAAEG,KAAF,IAAYC,WAAW,EAA7B;AACA,QAAM;AAAEC,IAAAA,eAAF;AAAmBC,IAAAA,UAAnB;AAA+BC,IAAAA;AAA/B,MAAoDC,WAAW,EAArE;AACA,QAAM;AAAEC,IAAAA,kBAAF;AAAsBC,IAAAA;AAAtB,MACLlB,WAAW,CAAEf,gBAAF,CADZ;AAGA,QAAMkC,iBAAiB,IAAG,qBAAqBb,OAAxB,CAAvB;AACA,QAAMc,mBAAmB,GACxBD,iBAAiB,IAAIL,UAAU,IAAIV,cADpC;AAGA,QAAM,CAAEiB,MAAF,EAAUC,OAAV,IAAsB1B,QAAQ,CAAE,KAAF,CAApC;;AACA,QAAM2B,SAAS,GAAG,MAAMD,OAAO,CAAE,IAAF,CAA/B;;AACA,QAAME,UAAU,GAAG,MAAMF,OAAO,CAAE,KAAF,CAAhC;;AAEA,QAAMG,UAAU,GAAG5C,aAAa,CAAE;AACjC6C,IAAAA,SAAS,EAAEjD,UAAU,CAAE,oBAAF,EAAwB;AAC5C,wBAAkB,CAAC,CAAE6B,OAAO,CAACqB,SADe;AAE5C,OAAE5C,iBAAiB,CAAE,OAAF,EAAWuB,OAAO,CAACqB,SAAnB,CAAnB,GACC,CAAC,CAAErB,OAAO,CAACqB,SAHgC;AAI5C,wBAAkB,CAAC,CAAErB,OAAO,CAACsB,eAJe;AAK5C,OAAE7C,iBAAiB,CAClB,kBADkB,EAElBuB,OAAO,CAACsB,eAFU,CAAnB,GAGK,CAAC,CAAEtB,OAAO,CAACsB;AAR4B,KAAxB,CADY;AAWjCC,IAAAA,KAAK,EAAE,EAAE,sBAAGvB,OAAO,CAACuB,KAAX,mDAAG,eAAeC,KAAlB;AAAF;AAX0B,GAAF,CAAhC;;AAcA,QAAMC,YAAY,GAAG,YAA+B;AAAA,QAA7BC,QAA6B,uEAAlBtB,YAAkB;AACnD,UAAMuB,UAAU,GAAGpB,eAAe,CAACqB,GAAhB,CAAqBF,QAArB,CAAnB;;AAEA,QAAK,EAAEC,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEE,MAAd,CAAL,EAA4B;AAC3B,aAAO,EAAP;AACA;;AAED,WAAOF,UAAU,CAACG,MAAX,CAAmB,CAAEC,QAAF,EAAYC,IAAZ,KAAsB;AAAA;;AAC/C,YAAMC,WAAW,GAAG1B,eAAe,CAAC2B,GAAhB,CAAqBF,IAAI,CAACG,EAA1B,CAApB;AACA,YAAMC,SAAS,GAAG;AACjBD,QAAAA,EAAE,EAAEH,IAAI,CAACG,EADQ;AAEjBE,QAAAA,KAAK,iBAAEL,IAAI,CAACM,KAAP,gDAAE,YAAYC,QAFF;AAGjBD,QAAAA,KAAK,kBAAEN,IAAI,CAACM,KAAP,iDAAE,aAAYC,QAHF;AAIjBC,QAAAA,IAAI,EAAER,IAAI,CAACS,GAJM;AAKjBR,QAAAA;AALiB,OAAlB;AAOA,UAAIS,IAAI,GAAG,IAAX;AACA,YAAMC,QAAQ,GAAGlB,YAAY,CAAEO,IAAI,CAACG,EAAP,CAA7B;AACAO,MAAAA,IAAI,GAAGtE,WAAW,CAAE,qBAAF,EAAyBgE,SAAzB,EAAoCO,QAApC,CAAlB;AACAZ,MAAAA,QAAQ,CAACa,IAAT,CAAeF,IAAf;AAEA,aAAOX,QAAP;AACA,KAfM,EAeJ,EAfI,CAAP;AAgBA,GAvBD;;AAyBA,QAAMc,aAAa,GAAG,YAA+B;AAAA,QAA7BnB,QAA6B,uEAAlB,CAAkB;AAAA,QAAfoB,KAAe,uEAAP,CAAO;AACpD,UAAMnB,UAAU,GAAGpB,eAAe,CAACqB,GAAhB,CAAqBF,QAArB,CAAnB;;AAEA,QAAK,EAAEC,UAAF,aAAEA,UAAF,eAAEA,UAAU,CAAEE,MAAd,CAAL,EAA4B;AAC3B,aAAO,EAAP;AACA;;AAED,WAAOF,UAAU,CAACG,MAAX,CAAmB,CAAEiB,IAAF,EAAQf,IAAR,KAAkB;AAC3C,YAAMC,WAAW,GAAG1B,eAAe,CAAC2B,GAAhB,CAAqBF,IAAI,CAACG,EAA1B,CAApB;AACA,YAAMO,IAAI,GAAG;AACZM,QAAAA,KAAK,EAAEhB,IAAI,CAACG,EADA;AAEZE,QAAAA,KAAK,EAAE,KAAKY,MAAL,CAAaH,KAAb,IAAuBd,IAAI,CAACM,KAAL,CAAWC,QAF7B;AAGZW,QAAAA,OAAO,EAAElB,IAAI,CAACM,KAAL,CAAWC;AAHR,OAAb;AAKAQ,MAAAA,IAAI,CAACH,IAAL,CAAWF,IAAX;;AACA,UAAKT,WAAL,EAAmB;AAClBc,QAAAA,IAAI,CAACH,IAAL,CAAW,GAAGC,aAAa,CAAEb,IAAI,CAACG,EAAP,EAAWW,KAAK,GAAG,CAAnB,CAA3B;AACA;;AACD,aAAOC,IAAP;AACA,KAZM,EAYJ,EAZI,CAAP;AAaA,GApBD;;AAsBA,QAAMI,SAAS,GAAG9D,OAAO,CAAEwD,aAAF,EAAiB,CAAEtC,eAAF,CAAjB,CAAzB;AAEA,QAAM6C,SAAS,GAAG/D,OAAO,CAAEoC,YAAF,EAAgB,CACxClB,eADwC,EAExCH,YAFwC,CAAhB,CAAzB;AAKA,QAAMiD,gBAAgB,GAAG7E,mBAAmB,CAAE2C,UAAF,EAAc;AACzDmC,IAAAA,aAAa,EAAE,CAAE,qBAAF,CAD0C;AAEzDC,IAAAA,cAAc,EAAE,KAFyC;AAGzDC,IAAAA,yBAAyB,EAAE,IAH8B;AAIzDC,IAAAA,YAAY,EAAE;AAJ2C,GAAd,CAA5C;;AAOA,QAAMC,eAAe,GAAG,MAAM;AAC7B,QAAK,CAAEjD,gBAAP,EAA0B;AACzB,aACC,qBAAUU,UAAV,EACC,cAAC,OAAD,OADD,CADD;AAKA;;AAED,QAAKX,UAAU,KAAK,IAApB,EAA2B;AAC1B,aACC,qBAAUW,UAAV,EACC,cAAC,MAAD;AAAQ,QAAA,MAAM,EAAG,SAAjB;AAA6B,QAAA,aAAa,EAAG;AAA7C,SACGhC,EAAE,CAAE,mCAAF,CADL,CADD,CADD;AAOA;;AAED,QAAKqB,UAAU,KAAK,CAApB,EAAwB;AACvB,aACC,qBAAUW,UAAV,EACC,cAAC,MAAD;AAAQ,QAAA,MAAM,EAAG,MAAjB;AAA0B,QAAA,aAAa,EAAG;AAA1C,SACGhC,EAAE,CAAE,mCAAF,CADL,CADD,CADD;AAOA;;AAED,QAAKiE,SAAS,CAACvB,MAAV,KAAqB,CAA1B,EAA8B;AAC7B,YAAM8B,iBAAiB,GACtBtD,KAAK,IAAIA,KAAK,CAACuD,IAAN,CAAc5B,IAAF,IAAYA,IAAI,CAACG,EAAL,KAAY/B,YAApC,CADV;AAEA,aACC,qBAAUe,UAAV,EACC,cAAC,OAAD,QACG/B,OAAO,EACR;AACAD,MAAAA,EAAE,CAAE,4BAAF,CAFM,EAGRwE,iBAAiB,CAACrB,KAAlB,CAAwBC,QAHhB,CADV,CADD,CADD;AAWA;;AAED,QAAK/B,UAAU,GAAG,CAAlB,EAAsB;AACrB,aAAO,oBAAS6C,gBAAT,CAAP;AACA;AACD,GAhDD;;AAkDA9D,EAAAA,SAAS,CAAE,MAAM;AAChBqB,IAAAA,uCAAuC;;AACvC,QAAKwC,SAAL,EAAiB;AAChBzC,MAAAA,kBAAkB,CAAEV,QAAF,EAAYmD,SAAZ,CAAlB;AACA;AACD,GALQ,EAKN,CAAEnD,QAAF,EAAYmD,SAAZ,CALM,CAAT;AAOA,QAAM;AAAES,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAAgCpE,WAAW,CAAEf,gBAAF,CAAjD;AAEA,QAAM;AAAEoF,IAAAA;AAAF,MAA6BtE,SAAS,CAAIuE,MAAF,IAAc;AAC3D,UAAM;AAAEC,MAAAA,wBAAF;AAA4BC,MAAAA;AAA5B,QACLF,MAAM,CAAErF,gBAAF,CADP;;AAGA,UAAMwF,sBAAsB,GAAGF,wBAAwB,EAAvD;;AAEA,WAAO;AACNF,MAAAA,sBAAsB,EAAEG,0BAA0B,CACjDC,sBADiD,EAEjD,iBAFiD,EAGjD,IAHiD,CAA1B,CAIrB,CAJqB;AADlB,KAAP;AAOA,GAb2C,EAazC,EAbyC,CAA5C;AAeA,SACC,8BACC,cAAC,iBAAD,QACGtD,iBAAiB,IAAI,CAAAR,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEwB,MAAP,IAAgB,CAArC,IACD,cAAC,SAAD;AAAW,IAAA,KAAK,EAAG1C,EAAE,CAAE,qBAAF;AAArB,KACC,yBAAKU,kBAAL,CADD,EAEC,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,SADT;AAEC,IAAA,QAAQ,EAAG,CAAEY,gBAFd;AAGC,IAAA,OAAO,EAAG,MAAM;AACf,YAAM2D,eAAe,GACpBxE,wBAAwB,CAAES,KAAF,CADzB,CADe,CAIf;;AACAwD,MAAAA,YAAY,CAAE5D,QAAF,EAAYmE,eAAZ,CAAZ,CALe,CAOf;;AACAN,MAAAA,WAAW,CAAEC,sBAAF,CAAX;AACA;AAZF,KAcG5E,EAAE,CAAE,WAAF,CAdL,CAFD,CAFF,EAsBGgE,SAAS,CAACtB,MAAV,GAAmB,CAAnB,IACD,cAAC,SAAD,QACC,cAAC,eAAD;AACC,IAAA,SAAS,EAAC,gCADX;AAEC,IAAA,KAAK,EAAG1C,EAAE,CAAE,aAAF,CAFX;AAGC,IAAA,KAAK,EAAGiB,YAHT;AAIC,IAAA,OAAO,EAAG+C,SAJX;AAKC,IAAA,QAAQ,EAAKH,KAAF,IACV7C,aAAa,CAAE;AAAEC,MAAAA,YAAY,EAAE4C,KAAF,aAAEA,KAAF,cAAEA,KAAF,GAAW;AAAzB,KAAF,CANf;AAQC,IAAA,IAAI,EAAG7D,EAAE,CACR,0CADQ;AARV,IADD,CAvBF,CADD,EAwCG2B,mBAAmB,IAAIN,UAAU,GAAG,CAApC,IACD,cAAC,aAAD;AAAe,IAAA,KAAK,EAAC;AAArB,KACC,cAAC,aAAD;AAAe,IAAA,KAAK,EAAGrB,EAAE,CAAE,MAAF,CAAzB;AAAsC,IAAA,OAAO,EAAG8B;AAAhD,KACG9B,EAAE,CAAE,MAAF,CADL,CADD,CAzCF,EA+CG2B,mBAAmB,IAAIC,MAAvB,IACD,cAAC,mBAAD;AACC,IAAA,OAAO,EAAGG,UADX;AAEC,IAAA,QAAQ,EAAGjB;AAFZ,IAhDF,EAsDGyD,eAAe,EAtDlB,CADD;AA0DA;;AAED,SAASpD,WAAT,GAAuB;AACtB,QAAM;AAAE+D,IAAAA,OAAO,EAAEhE,KAAX;AAAkBiE,IAAAA,WAAW,EAAE7D;AAA/B,MAAoDjB,gBAAgB,CACzE,UADyE,EAEzE,MAFyE,EAGzE;AACC+E,IAAAA,OAAO,EAAE,YADV;AAECC,IAAAA,KAAK,EAAE,KAFR;AAGCC,IAAAA,OAAO,EAAE,CAAE,IAAF,EAAQ,MAAR,EAAgB,QAAhB,EAA0B,OAA1B,EAAmC,YAAnC,CAHV;AAICC,IAAAA,QAAQ,EAAE,CAAC,CAJZ;AAKC1E,IAAAA,OAAO,EAAE;AALV,GAHyE,CAA1E;AAYA,SAAO,CAAEK,KAAF,EAASI,gBAAT,CAAP;AACA;;AAED,SAASC,WAAT,GAAmC;AAAA,MAAbiE,MAAa,uEAAJ,CAAI;AAClC,QAAM,CAAEtE,KAAF,EAASI,gBAAT,IAA8BH,WAAW,EAA/C;AAEA,SAAOjB,OAAO,CAAE,MAAM;AAAA;;AACrB;AACA;AACA;AAEA,UAAMuF,WAAW,GAAG,CAAE,IAAKvE,KAAL,aAAKA,KAAL,cAAKA,KAAL,GAAc,EAAd,CAAF,EAAuBwE,IAAvB,CAA6B,CAAEC,CAAF,EAAKC,CAAL,KAAY;AAC5D,UAAKD,CAAC,CAACE,UAAF,KAAiBD,CAAC,CAACC,UAAxB,EAAqC;AACpC,eAAOF,CAAC,CAACxC,KAAF,CAAQC,QAAR,CAAiB0C,aAAjB,CAAgCF,CAAC,CAACzC,KAAF,CAAQC,QAAxC,CAAP;AACA;;AACD,aAAOuC,CAAC,CAACE,UAAF,GAAeD,CAAC,CAACC,UAAxB;AACA,KALmB,CAApB;AAMA,UAAMzE,eAAe,GAAGqE,WAAW,CAAC9C,MAAZ,CAAoB,CAAEoD,WAAF,EAAelD,IAAf,KAAyB;AACpE,YAAM;AAAEmD,QAAAA;AAAF,UAAanD,IAAnB;;AACA,UAAKkD,WAAW,CAAChD,GAAZ,CAAiBiD,MAAjB,CAAL,EAAiC;AAChCD,QAAAA,WAAW,CAACtD,GAAZ,CAAiBuD,MAAjB,EAA0BvC,IAA1B,CAAgCZ,IAAhC;AACA,OAFD,MAEO;AACNkD,QAAAA,WAAW,CAACE,GAAZ,CAAiBD,MAAjB,EAAyB,CAAEnD,IAAF,CAAzB;AACA;;AACD,aAAOkD,WAAP;AACA,KARuB,EAQrB,IAAIG,GAAJ,EARqB,CAAxB;AAUA,WAAO;AACN9E,MAAAA,eADM;AAENE,MAAAA,gBAFM;AAGND,MAAAA,UAAU,mBAAEH,KAAF,aAAEA,KAAF,uBAAEA,KAAK,CAAEwB,MAAT,yDAAmB;AAHvB,KAAP;AAKA,GA1Ba,EA0BX,CAAE8C,MAAF,EAAUtE,KAAV,EAAiBI,gBAAjB,CA1BW,CAAd;AA2BA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { convertToNavigationLinks } from './convert-to-navigation-links';\nimport { convertDescription } from './constants';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ pages ] = useGetPages();\n\tconst { pagesByParentId, totalPages, hasResolvedPages } = usePageData();\n\tconst { replaceInnerBlocks, __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst getBlockList = ( parentId = parentPageID ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst pageProps = {\n\t\t\t\tid: page.id,\n\t\t\t\tlabel: page.title?.rendered,\n\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\tlink: page.url,\n\t\t\t\thasChildren,\n\t\t\t};\n\t\t\tlet item = null;\n\t\t\tconst children = getBlockList( page.id );\n\t\t\titem = createBlock( 'core/page-list-item', pageProps, children );\n\t\t\ttemplate.push( item );\n\n\t\t\treturn template;\n\t\t}, [] );\n\t};\n\n\tconst makePagesTree = ( parentId = 0, level = 0 ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst item = {\n\t\t\t\tvalue: page.id,\n\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\trawName: page.title.rendered,\n\t\t\t};\n\t\t\ttree.push( item );\n\t\t\tif ( hasChildren ) {\n\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t}\n\t\t\treturn tree;\n\t\t}, [] );\n\t};\n\n\tconst pagesTree = useMemo( makePagesTree, [ pagesByParentId ] );\n\n\tconst blockList = useMemo( getBlockList, [\n\t\tpagesByParentId,\n\t\tparentPageID,\n\t] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/page-list-item' ],\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: 'all',\n\t} );\n\n\tconst getBlockContent = () => {\n\t\tif ( ! hasResolvedPages ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === null ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === 0 ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( blockList.length === 0 ) {\n\t\t\tconst parentPageDetails =\n\t\t\t\tpages && pages.find( ( page ) => page.id === parentPageID );\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( '\"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages > 0 ) {\n\t\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tif ( blockList ) {\n\t\t\treplaceInnerBlocks( clientId, blockList );\n\t\t}\n\t}, [ clientId, blockList ] );\n\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\n\tconst { parentNavBlockClientId } = useSelect( ( select ) => {\n\t\tconst { getSelectedBlockClientId, getBlockParentsByBlockName } =\n\t\t\tselect( blockEditorStore );\n\n\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tparentNavBlockClientId: getBlockParentsByBlockName(\n\t\t\t\t_selectedBlockClientId,\n\t\t\t\t'core/navigation',\n\t\t\t\ttrue\n\t\t\t)[ 0 ],\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ isNavigationChild && pages?.length > 0 && (\n\t\t\t\t\t<PanelBody title={ __( 'Customize this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst navigationLinks =\n\t\t\t\t\t\t\t\t\tconvertToNavigationLinks( pages );\n\n\t\t\t\t\t\t\t\t// Replace the Page List block with the Navigation Links.\n\t\t\t\t\t\t\t\treplaceBlock( clientId, navigationLinks );\n\n\t\t\t\t\t\t\t\t// Select the Navigation block to reveal the changes.\n\t\t\t\t\t\t\t\tselectBlock( parentNavBlockClientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Customize' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent page' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && totalPages > 0 && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ getBlockContent() }\n\t\t</>\n\t);\n}\n\nfunction useGetPages() {\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\n\t\t}\n\t);\n\n\treturn [ pages, hasResolvedPages ];\n}\n\nfunction usePageData( pageId = 0 ) {\n\tconst [ pages, hasResolvedPages ] = useGetPages();\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\n\t\tconst sortedPages = [ ...( pages ?? [] ) ].sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\thasResolvedPages,\n\t\t\ttotalPages: pages?.length ?? null,\n\t\t};\n\t}, [ pageId, pages, hasResolvedPages ] );\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/page-list/edit.js"],"names":["classnames","createBlock","InspectorControls","BlockControls","useBlockProps","useInnerBlocksProps","getColorClassName","store","blockEditorStore","Warning","PanelBody","ToolbarButton","Spinner","Notice","ComboboxControl","Button","__","sprintf","useMemo","useState","useEffect","useEntityRecords","useSelect","useDispatch","ConvertToLinksModal","convertToNavigationLinks","convertDescription","MAX_PAGE_COUNT","NOOP","PageListEdit","context","clientId","attributes","setAttributes","parentPageID","pages","useGetPages","pagesByParentId","totalPages","hasResolvedPages","usePageData","isNavigationChild","allowConvertToLinks","isOpen","setOpen","openModal","closeModal","blockProps","className","textColor","backgroundColor","style","color","getBlockList","parentId","childPages","get","length","reduce","template","page","hasChildren","has","id","pageProps","label","title","rendered","link","url","item","children","push","makePagesTree","level","tree","value","repeat","rawName","pagesTree","blockList","innerBlocksProps","allowedBlocks","renderAppender","__unstableDisableDropZone","templateLock","onInput","onChange","getBlockContent","parentPageDetails","find","replaceBlock","selectBlock","parentNavBlockClientId","isNested","select","getSelectedBlockClientId","getBlockParentsByBlockName","_selectedBlockClientId","navigationLinks","records","hasResolved","orderby","order","_fields","per_page","pageId","sortedPages","sort","a","b","menu_order","localeCompare","accumulator","parent","set","Map"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport {\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tuseInnerBlocksProps,\n\tgetColorClassName,\n\tstore as blockEditorStore,\n\tWarning,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tToolbarButton,\n\tSpinner,\n\tNotice,\n\tComboboxControl,\n\tButton,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useState, useEffect } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport ConvertToLinksModal from './convert-to-links-modal';\nimport { convertToNavigationLinks } from './convert-to-navigation-links';\nimport { convertDescription } from './constants';\n\n// We only show the edit option when page count is <= MAX_PAGE_COUNT\n// Performance of Navigation Links is not good past this value.\nconst MAX_PAGE_COUNT = 100;\nconst NOOP = () => {};\n\nexport default function PageListEdit( {\n\tcontext,\n\tclientId,\n\tattributes,\n\tsetAttributes,\n} ) {\n\tconst { parentPageID } = attributes;\n\tconst [ pages ] = useGetPages();\n\tconst { pagesByParentId, totalPages, hasResolvedPages } = usePageData();\n\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst allowConvertToLinks =\n\t\tisNavigationChild && totalPages <= MAX_PAGE_COUNT;\n\n\tconst [ isOpen, setOpen ] = useState( false );\n\tconst openModal = () => setOpen( true );\n\tconst closeModal = () => setOpen( false );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( 'wp-block-page-list', {\n\t\t\t'has-text-color': !! context.textColor,\n\t\t\t[ getColorClassName( 'color', context.textColor ) ]:\n\t\t\t\t!! context.textColor,\n\t\t\t'has-background': !! context.backgroundColor,\n\t\t\t[ getColorClassName(\n\t\t\t\t'background-color',\n\t\t\t\tcontext.backgroundColor\n\t\t\t) ]: !! context.backgroundColor,\n\t\t} ),\n\t\tstyle: { ...context.style?.color },\n\t} );\n\n\tconst getBlockList = ( parentId = parentPageID ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( template, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst pageProps = {\n\t\t\t\tid: page.id,\n\t\t\t\tlabel: page.title?.rendered,\n\t\t\t\ttitle: page.title?.rendered,\n\t\t\t\tlink: page.url,\n\t\t\t\thasChildren,\n\t\t\t};\n\t\t\tlet item = null;\n\t\t\tconst children = getBlockList( page.id );\n\t\t\titem = createBlock( 'core/page-list-item', pageProps, children );\n\t\t\ttemplate.push( item );\n\n\t\t\treturn template;\n\t\t}, [] );\n\t};\n\n\tconst makePagesTree = ( parentId = 0, level = 0 ) => {\n\t\tconst childPages = pagesByParentId.get( parentId );\n\n\t\tif ( ! childPages?.length ) {\n\t\t\treturn [];\n\t\t}\n\n\t\treturn childPages.reduce( ( tree, page ) => {\n\t\t\tconst hasChildren = pagesByParentId.has( page.id );\n\t\t\tconst item = {\n\t\t\t\tvalue: page.id,\n\t\t\t\tlabel: '— '.repeat( level ) + page.title.rendered,\n\t\t\t\trawName: page.title.rendered,\n\t\t\t};\n\t\t\ttree.push( item );\n\t\t\tif ( hasChildren ) {\n\t\t\t\ttree.push( ...makePagesTree( page.id, level + 1 ) );\n\t\t\t}\n\t\t\treturn tree;\n\t\t}, [] );\n\t};\n\n\tconst pagesTree = useMemo( makePagesTree, [ pagesByParentId ] );\n\n\tconst blockList = useMemo( getBlockList, [\n\t\tpagesByParentId,\n\t\tparentPageID,\n\t] );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps, {\n\t\tallowedBlocks: [ 'core/page-list-item' ],\n\t\trenderAppender: false,\n\t\t__unstableDisableDropZone: true,\n\t\ttemplateLock: 'all',\n\t\tonInput: NOOP,\n\t\tonChange: NOOP,\n\t\tvalue: blockList,\n\t} );\n\n\tconst getBlockContent = () => {\n\t\tif ( ! hasResolvedPages ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === null ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'warning' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages === 0 ) {\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Notice status={ 'info' } isDismissible={ false }>\n\t\t\t\t\t\t{ __( 'Page List: Cannot retrieve Pages.' ) }\n\t\t\t\t\t</Notice>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( blockList.length === 0 ) {\n\t\t\tconst parentPageDetails =\n\t\t\t\tpages && pages.find( ( page ) => page.id === parentPageID );\n\t\t\treturn (\n\t\t\t\t<div { ...blockProps }>\n\t\t\t\t\t<Warning>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: Page title.\n\t\t\t\t\t\t\t__( '\"%s\" page has no children.' ),\n\t\t\t\t\t\t\tparentPageDetails.title.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Warning>\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\tif ( totalPages > 0 ) {\n\t\t\treturn <ul { ...innerBlocksProps }></ul>;\n\t\t}\n\t};\n\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\n\tconst { parentNavBlockClientId, isNested } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSelectedBlockClientId, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst _selectedBlockClientId = getSelectedBlockClientId();\n\n\t\t\treturn {\n\t\t\t\tparentNavBlockClientId: getBlockParentsByBlockName(\n\t\t\t\t\t_selectedBlockClientId,\n\t\t\t\t\t'core/navigation',\n\t\t\t\t\ttrue\n\t\t\t\t)[ 0 ],\n\t\t\t\tisNested:\n\t\t\t\t\tgetBlockParentsByBlockName(\n\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t\ttrue\n\t\t\t\t\t).length > 0,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\tuseEffect( () => {\n\t\tsetAttributes( { isNested } );\n\t}, [ isNested ] );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ isNavigationChild && pages?.length > 0 && (\n\t\t\t\t\t<PanelBody title={ __( 'Customize this menu' ) }>\n\t\t\t\t\t\t<p>{ convertDescription }</p>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tdisabled={ ! hasResolvedPages }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tconst navigationLinks =\n\t\t\t\t\t\t\t\t\tconvertToNavigationLinks( pages );\n\n\t\t\t\t\t\t\t\t// Replace the Page List block with the Navigation Links.\n\t\t\t\t\t\t\t\treplaceBlock( clientId, navigationLinks );\n\n\t\t\t\t\t\t\t\t// Select the Navigation block to reveal the changes.\n\t\t\t\t\t\t\t\tselectBlock( parentNavBlockClientId );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Customize' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t\t{ pagesTree.length > 0 && (\n\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t<ComboboxControl\n\t\t\t\t\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\t\t\t\t\tlabel={ __( 'Parent page' ) }\n\t\t\t\t\t\t\tvalue={ parentPageID }\n\t\t\t\t\t\t\toptions={ pagesTree }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { parentPageID: value ?? 0 } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Choose a page to show only its subpages.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t{ allowConvertToLinks && totalPages > 0 && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>\n\t\t\t\t\t\t{ __( 'Edit' ) }\n\t\t\t\t\t</ToolbarButton>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ allowConvertToLinks && isOpen && (\n\t\t\t\t<ConvertToLinksModal\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ getBlockContent() }\n\t\t</>\n\t);\n}\n\nfunction useGetPages() {\n\tconst { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(\n\t\t'postType',\n\t\t'page',\n\t\t{\n\t\t\torderby: 'menu_order',\n\t\t\torder: 'asc',\n\t\t\t_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],\n\t\t\tper_page: -1,\n\t\t\tcontext: 'view',\n\t\t}\n\t);\n\n\treturn [ pages, hasResolvedPages ];\n}\n\nfunction usePageData( pageId = 0 ) {\n\tconst [ pages, hasResolvedPages ] = useGetPages();\n\n\treturn useMemo( () => {\n\t\t// TODO: Once the REST API supports passing multiple values to\n\t\t// 'orderby', this can be removed.\n\t\t// https://core.trac.wordpress.org/ticket/39037\n\n\t\tconst sortedPages = [ ...( pages ?? [] ) ].sort( ( a, b ) => {\n\t\t\tif ( a.menu_order === b.menu_order ) {\n\t\t\t\treturn a.title.rendered.localeCompare( b.title.rendered );\n\t\t\t}\n\t\t\treturn a.menu_order - b.menu_order;\n\t\t} );\n\t\tconst pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {\n\t\t\tconst { parent } = page;\n\t\t\tif ( accumulator.has( parent ) ) {\n\t\t\t\taccumulator.get( parent ).push( page );\n\t\t\t} else {\n\t\t\t\taccumulator.set( parent, [ page ] );\n\t\t\t}\n\t\t\treturn accumulator;\n\t\t}, new Map() );\n\n\t\treturn {\n\t\t\tpagesByParentId,\n\t\t\thasResolvedPages,\n\t\t\ttotalPages: pages?.length ?? null,\n\t\t};\n\t}, [ pageId, pages, hasResolvedPages ] );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { pages
|
|
4
|
+
import { pages, update } from '@wordpress/icons';
|
|
5
5
|
/**
|
|
6
6
|
* Internal dependencies
|
|
7
7
|
*/
|
|
@@ -20,12 +20,29 @@ const metadata = {
|
|
|
20
20
|
parentPageID: {
|
|
21
21
|
type: "integer",
|
|
22
22
|
"default": 0
|
|
23
|
+
},
|
|
24
|
+
isNested: {
|
|
25
|
+
type: "boolean",
|
|
26
|
+
"default": false
|
|
23
27
|
}
|
|
24
28
|
},
|
|
25
29
|
usesContext: ["textColor", "customTextColor", "backgroundColor", "customBackgroundColor", "overlayTextColor", "customOverlayTextColor", "overlayBackgroundColor", "customOverlayBackgroundColor", "fontSize", "customFontSize", "showSubmenuIcon", "style", "openSubmenusOnClick"],
|
|
26
30
|
supports: {
|
|
27
31
|
reusable: false,
|
|
28
|
-
html: false
|
|
32
|
+
html: false,
|
|
33
|
+
typography: {
|
|
34
|
+
fontSize: true,
|
|
35
|
+
lineHeight: true,
|
|
36
|
+
__experimentalFontFamily: true,
|
|
37
|
+
__experimentalFontWeight: true,
|
|
38
|
+
__experimentalFontStyle: true,
|
|
39
|
+
__experimentalTextTransform: true,
|
|
40
|
+
__experimentalTextDecoration: true,
|
|
41
|
+
__experimentalLetterSpacing: true,
|
|
42
|
+
__experimentalDefaultControls: {
|
|
43
|
+
fontSize: true
|
|
44
|
+
}
|
|
45
|
+
}
|
|
29
46
|
},
|
|
30
47
|
editorStyle: "wp-block-page-list-editor",
|
|
31
48
|
style: "wp-block-page-list"
|
|
@@ -36,7 +53,17 @@ const {
|
|
|
36
53
|
} = metadata;
|
|
37
54
|
export { metadata, name };
|
|
38
55
|
export const settings = {
|
|
39
|
-
icon
|
|
56
|
+
icon: _ref => {
|
|
57
|
+
let {
|
|
58
|
+
context
|
|
59
|
+
} = _ref;
|
|
60
|
+
|
|
61
|
+
if (context === 'list-view') {
|
|
62
|
+
return update;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
return pages;
|
|
66
|
+
},
|
|
40
67
|
example: {},
|
|
41
68
|
edit
|
|
42
69
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/page-list/index.js"],"names":["pages","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/page-list/index.js"],"names":["pages","update","initBlock","edit","name","metadata","settings","icon","context","example","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAT,EAAgBC,MAAhB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,WAAjB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBC,EAAAA,IAAI,EAAE,QAAmB;AAAA,QAAjB;AAAEC,MAAAA;AAAF,KAAiB;;AACxB,QAAKA,OAAO,KAAK,WAAjB,EAA+B;AAC9B,aAAOP,MAAP;AACA;;AAED,WAAOD,KAAP;AACA,GAPsB;AAQvBS,EAAAA,OAAO,EAAE,EARc;AASvBN,EAAAA;AATuB,CAAjB;AAYP,OAAO,MAAMO,IAAI,GAAG,MAAMR,SAAS,CAAE;AAAEE,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { pages, update } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit.js';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon: ( { context } ) => {\n\t\tif ( context === 'list-view' ) {\n\t\t\treturn update;\n\t\t}\n\n\t\treturn pages;\n\t},\n\texample: {},\n\tedit,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -8,7 +8,7 @@ import classnames from 'classnames';
|
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
-
import {
|
|
11
|
+
import { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
12
12
|
import { useSelect } from '@wordpress/data';
|
|
13
13
|
import { store as coreStore } from '@wordpress/core-data';
|
|
14
14
|
/**
|
|
@@ -16,6 +16,7 @@ import { store as coreStore } from '@wordpress/core-data';
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
import { ItemSubmenuIcon } from '../navigation-link/icons';
|
|
19
|
+
import { getColors, getNavigationChildBlockProps } from '../navigation/edit/utils';
|
|
19
20
|
|
|
20
21
|
function useFrontPageId() {
|
|
21
22
|
return useSelect(select => {
|
|
@@ -43,6 +44,12 @@ export default function PageListItemEdit(_ref) {
|
|
|
43
44
|
} = attributes;
|
|
44
45
|
const isNavigationChild = ('showSubmenuIcon' in context);
|
|
45
46
|
const frontPageId = useFrontPageId();
|
|
47
|
+
const innerBlocksColors = getColors(context, true);
|
|
48
|
+
const navigationChildBlockProps = getNavigationChildBlockProps(innerBlocksColors);
|
|
49
|
+
const blockProps = useBlockProps(navigationChildBlockProps, {
|
|
50
|
+
className: 'wp-block-pages-list__item'
|
|
51
|
+
});
|
|
52
|
+
const innerBlocksProps = useInnerBlocksProps(blockProps);
|
|
46
53
|
return createElement("li", {
|
|
47
54
|
key: id,
|
|
48
55
|
className: classnames('wp-block-pages-list__item', {
|
|
@@ -65,10 +72,6 @@ export default function PageListItemEdit(_ref) {
|
|
|
65
72
|
}, label), hasChildren && createElement(Fragment, null, !context.openSubmenusOnClick && context.showSubmenuIcon && createElement("button", {
|
|
66
73
|
className: "wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon",
|
|
67
74
|
"aria-expanded": "false"
|
|
68
|
-
}, createElement(ItemSubmenuIcon, null)), createElement("ul",
|
|
69
|
-
className: classnames('submenu-container', {
|
|
70
|
-
'wp-block-navigation__submenu-container': isNavigationChild
|
|
71
|
-
})
|
|
72
|
-
}, createElement(InnerBlocks, null))));
|
|
75
|
+
}, createElement(ItemSubmenuIcon, null)), createElement("ul", innerBlocksProps)));
|
|
73
76
|
}
|
|
74
77
|
//# sourceMappingURL=edit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"names":["classnames","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/page-list-item/edit.js"],"names":["classnames","useBlockProps","useInnerBlocksProps","useSelect","store","coreStore","ItemSubmenuIcon","getColors","getNavigationChildBlockProps","useFrontPageId","select","canReadSettings","canUser","undefined","site","getEntityRecord","show_on_front","page_on_front","PageListItemEdit","context","attributes","id","label","link","hasChildren","isNavigationChild","frontPageId","innerBlocksColors","navigationChildBlockProps","blockProps","className","innerBlocksProps","openSubmenusOnClick","showSubmenuIcon"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SAASC,aAAT,EAAwBC,mBAAxB,QAAmD,yBAAnD;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,0BAAhC;AACA,SACCC,SADD,EAECC,4BAFD,QAGO,0BAHP;;AAKA,SAASC,cAAT,GAA0B;AACzB,SAAON,SAAS,CAAIO,MAAF,IAAc;AAC/B,UAAMC,eAAe,GAAGD,MAAM,CAAEL,SAAF,CAAN,CAAoBO,OAApB,CACvB,MADuB,EAEvB,UAFuB,CAAxB;;AAIA,QAAK,CAAED,eAAP,EAAyB;AACxB,aAAOE,SAAP;AACA;;AAED,UAAMC,IAAI,GAAGJ,MAAM,CAAEL,SAAF,CAAN,CAAoBU,eAApB,CAAqC,MAArC,EAA6C,MAA7C,CAAb;AACA,WAAO,CAAAD,IAAI,SAAJ,IAAAA,IAAI,WAAJ,YAAAA,IAAI,CAAEE,aAAN,MAAwB,MAAxB,KAAkCF,IAAlC,aAAkCA,IAAlC,uBAAkCA,IAAI,CAAEG,aAAxC,CAAP;AACA,GAXe,EAWb,EAXa,CAAhB;AAYA;;AAED,eAAe,SAASC,gBAAT,OAAqD;AAAA,MAA1B;AAAEC,IAAAA,OAAF;AAAWC,IAAAA;AAAX,GAA0B;AACnE,QAAM;AAAEC,IAAAA,EAAF;AAAMC,IAAAA,KAAN;AAAaC,IAAAA,IAAb;AAAmBC,IAAAA;AAAnB,MAAmCJ,UAAzC;AACA,QAAMK,iBAAiB,IAAG,qBAAqBN,OAAxB,CAAvB;AACA,QAAMO,WAAW,GAAGjB,cAAc,EAAlC;AAEA,QAAMkB,iBAAiB,GAAGpB,SAAS,CAAEY,OAAF,EAAW,IAAX,CAAnC;AAEA,QAAMS,yBAAyB,GAC9BpB,4BAA4B,CAAEmB,iBAAF,CAD7B;AAEA,QAAME,UAAU,GAAG5B,aAAa,CAAE2B,yBAAF,EAA6B;AAC5DE,IAAAA,SAAS,EAAE;AADiD,GAA7B,CAAhC;AAIA,QAAMC,gBAAgB,GAAG7B,mBAAmB,CAAE2B,UAAF,CAA5C;AAEA,SACC;AACC,IAAA,GAAG,EAAGR,EADP;AAEC,IAAA,SAAS,EAAGrB,UAAU,CAAE,2BAAF,EAA+B;AACpD,mBAAawB,WADuC;AAEpD,kCAA4BC,iBAFwB;AAGpD,uBAAiBN,OAAO,CAACa,mBAH2B;AAIpD,6BACC,CAAEb,OAAO,CAACa,mBAAV,IAAiCb,OAAO,CAACc,eALU;AAMpD,wBAAkBZ,EAAE,KAAKK;AAN2B,KAA/B;AAFvB,KAWGF,WAAW,IAAIL,OAAO,CAACa,mBAAvB,GACD,8BACC;AACC,IAAA,SAAS,EAAC,uEADX;AAEC,qBAAc;AAFf,KAIGV,KAJH,CADD,EAOC;AAAM,IAAA,SAAS,EAAC;AAAhB,KACC,cAAC,eAAD,OADD,CAPD,CADC,GAaD;AACC,IAAA,SAAS,EAAGtB,UAAU,CAAE,iCAAF,EAAqC;AAC1D,2CAAqCyB;AADqB,KAArC,CADvB;AAIC,IAAA,IAAI,EAAGF;AAJR,KAMGD,KANH,CAxBF,EAiCGE,WAAW,IACZ,8BACG,CAAEL,OAAO,CAACa,mBAAV,IACDb,OAAO,CAACc,eADP,IAEA;AACC,IAAA,SAAS,EAAC,0IADX;AAEC,qBAAc;AAFf,KAIC,cAAC,eAAD,OAJD,CAHH,EAUC,oBAASF,gBAAT,CAVD,CAlCF,CADD;AAkDA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useBlockProps, useInnerBlocksProps } from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { ItemSubmenuIcon } from '../navigation-link/icons';\nimport {\n\tgetColors,\n\tgetNavigationChildBlockProps,\n} from '../navigation/edit/utils';\n\nfunction useFrontPageId() {\n\treturn useSelect( ( select ) => {\n\t\tconst canReadSettings = select( coreStore ).canUser(\n\t\t\t'read',\n\t\t\t'settings'\n\t\t);\n\t\tif ( ! canReadSettings ) {\n\t\t\treturn undefined;\n\t\t}\n\n\t\tconst site = select( coreStore ).getEntityRecord( 'root', 'site' );\n\t\treturn site?.show_on_front === 'page' && site?.page_on_front;\n\t}, [] );\n}\n\nexport default function PageListItemEdit( { context, attributes } ) {\n\tconst { id, label, link, hasChildren } = attributes;\n\tconst isNavigationChild = 'showSubmenuIcon' in context;\n\tconst frontPageId = useFrontPageId();\n\n\tconst innerBlocksColors = getColors( context, true );\n\n\tconst navigationChildBlockProps =\n\t\tgetNavigationChildBlockProps( innerBlocksColors );\n\tconst blockProps = useBlockProps( navigationChildBlockProps, {\n\t\tclassName: 'wp-block-pages-list__item',\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps( blockProps );\n\n\treturn (\n\t\t<li\n\t\t\tkey={ id }\n\t\t\tclassName={ classnames( 'wp-block-pages-list__item', {\n\t\t\t\t'has-child': hasChildren,\n\t\t\t\t'wp-block-navigation-item': isNavigationChild,\n\t\t\t\t'open-on-click': context.openSubmenusOnClick,\n\t\t\t\t'open-on-hover-click':\n\t\t\t\t\t! context.openSubmenusOnClick && context.showSubmenuIcon,\n\t\t\t\t'menu-item-home': id === frontPageId,\n\t\t\t} ) }\n\t\t>\n\t\t\t{ hasChildren && context.openSubmenusOnClick ? (\n\t\t\t\t<>\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle\"\n\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</button>\n\t\t\t\t\t<span className=\"wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\">\n\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t</span>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<a\n\t\t\t\t\tclassName={ classnames( 'wp-block-pages-list__item__link', {\n\t\t\t\t\t\t'wp-block-navigation-item__content': isNavigationChild,\n\t\t\t\t\t} ) }\n\t\t\t\t\thref={ link }\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</a>\n\t\t\t) }\n\t\t\t{ hasChildren && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! context.openSubmenusOnClick &&\n\t\t\t\t\t\tcontext.showSubmenuIcon && (\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-item__content wp-block-navigation-submenu__toggle wp-block-page-list__submenu-icon wp-block-navigation__submenu-icon\"\n\t\t\t\t\t\t\t\taria-expanded=\"false\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ItemSubmenuIcon />\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t<ul { ...innerBlocksProps }></ul>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</li>\n\t);\n}\n"]}
|
|
@@ -56,7 +56,6 @@ const Overlay = _ref => {
|
|
|
56
56
|
}), createElement(InspectorControls, {
|
|
57
57
|
__experimentalGroup: "color"
|
|
58
58
|
}, createElement(ColorGradientSettingsDropdown, _extends({
|
|
59
|
-
__experimentalHasMultipleOrigins: true,
|
|
60
59
|
__experimentalIsRenderedInSidebar: true,
|
|
61
60
|
settings: [{
|
|
62
61
|
colorValue: overlayColor.color,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"names":["classnames","RangeControl","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","withColors","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__experimentalUseBorderProps","useBorderProps","compose","__","dimRatioToClass","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientClass","gradientValue","setGradient","colorGradientSettings","borderProps","overlayStyles","backgroundColor","color","backgroundImage","style","class","undefined","className","colorValue","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRatio"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,YADD,EAECC,4BAA4B,IAAIC,cAFjC,QAGO,uBAHP;AAIA,SACCC,iBADD,EAECC,UAFD,EAGCC,2CAA2C,IAAIC,6BAHhD,EAICC,yBAJD,EAKCC,iDAAiD,IAAIC,mCALtD,EAMCC,4BAA4B,IAAIC,cANjC,QAOO,yBAPP;AAQA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,SAASC,eAAT,QAAgC,SAAhC;;AAEA,MAAMC,OAAO,GAAG,QAMT;AAAA,MANW;AACjBC,IAAAA,QADiB;AAEjBC,IAAAA,UAFiB;AAGjBC,IAAAA,aAHiB;AAIjBC,IAAAA,YAJiB;AAKjBC,IAAAA;AALiB,GAMX;AACN,QAAM;AAAEC,IAAAA;AAAF,MAAeJ,UAArB;;AACA,QAAM;AAAEK,IAAAA,aAAF;AAAiBC,IAAAA,aAAjB;AAAgCC,IAAAA;AAAhC,MACLjB,yBAAyB,EAD1B;;AAEA,QAAMkB,qBAAqB,GAAGhB,mCAAmC,EAAjE;AAEA,QAAMiB,WAAW,GAAGf,cAAc,CAAEM,UAAF,CAAlC;AACA,QAAMU,aAAa,GAAG;AACrBC,IAAAA,eAAe,EAAET,YAAY,CAACU,KADT;AAErBC,IAAAA,eAAe,EAAEP,aAFI;AAGrB,OAAGG,WAAW,CAACK;AAHM,GAAtB;AAMA,SACC,8BACG,CAAC,CAAEV,QAAH,IACD;AACC,mBAAY,MADb;AAEC,IAAA,SAAS,EAAGtB,UAAU,CACrB,uCADqB,EAErBe,eAAe,CAAEO,QAAF,CAFM,EAGrB;AACC,OAAEF,YAAY,CAACa,KAAf,GAAwBb,YAAY,CAACa,KADtC;AAEC,4BAAsBX,QAAQ,KAAKY,SAFpC;AAGC,iCAA2BV,aAH5B;AAIC,OAAED,aAAF,GAAmBA;AAJpB,KAHqB,EASrBI,WAAW,CAACQ,SATS,CAFvB;AAaC,IAAA,KAAK,EAAGP;AAbT,IAFF,EAkBC,cAAC,iBAAD;AAAmB,IAAA,mBAAmB,EAAC;AAAvC,KACC,cAAC,6BAAD;AACC,IAAA,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/post-featured-image/overlay.js"],"names":["classnames","RangeControl","__experimentalToolsPanelItem","ToolsPanelItem","InspectorControls","withColors","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__experimentalUseBorderProps","useBorderProps","compose","__","dimRatioToClass","Overlay","clientId","attributes","setAttributes","overlayColor","setOverlayColor","dimRatio","gradientClass","gradientValue","setGradient","colorGradientSettings","borderProps","overlayStyles","backgroundColor","color","backgroundImage","style","class","undefined","className","colorValue","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRatio"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRangeControl,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\twithColors,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\t__experimentalUseBorderProps as useBorderProps,\n} from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { dimRatioToClass } from './utils';\n\nconst Overlay = ( {\n\tclientId,\n\tattributes,\n\tsetAttributes,\n\toverlayColor,\n\tsetOverlayColor,\n} ) => {\n\tconst { dimRatio } = attributes;\n\tconst { gradientClass, gradientValue, setGradient } =\n\t\t__experimentalUseGradient();\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst borderProps = useBorderProps( attributes );\n\tconst overlayStyles = {\n\t\tbackgroundColor: overlayColor.color,\n\t\tbackgroundImage: gradientValue,\n\t\t...borderProps.style,\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{ !! dimRatio && (\n\t\t\t\t<span\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'wp-block-post-featured-image__overlay',\n\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tborderProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ overlayStyles }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<InspectorControls __experimentalGroup=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\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\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => dimRatio !== undefined }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () => setAttributes( { dimRatio: 0 } ) }\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: 0,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRatio ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRatio,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n};\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( Overlay );\n"]}
|
|
@@ -73,7 +73,8 @@ function PatternSelectionModal(_ref) {
|
|
|
73
73
|
}, createElement(BlockPatternSetup, {
|
|
74
74
|
blockName: blockNameForPatterns,
|
|
75
75
|
clientId: clientId,
|
|
76
|
-
onBlockPatternSelect: onBlockPatternSelect
|
|
76
|
+
onBlockPatternSelect: onBlockPatternSelect,
|
|
77
|
+
showTitles: true
|
|
77
78
|
})));
|
|
78
79
|
}
|
|
79
80
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/index.js"],"names":["useSelect","useDispatch","useState","useMemo","BlockContextProvider","store","blockEditorStore","__experimentalBlockPatternSetup","BlockPatternSetup","Modal","__","QueryContent","QueryPlaceholder","useBlockNameForPatterns","getTransformedBlocksFromPattern","QueryEdit","props","clientId","attributes","isPatternSelectionModalOpen","setIsPatternSelectionModalOpen","hasInnerBlocks","select","getBlocks","length","Component","PatternSelectionModal","replaceBlock","selectBlock","onBlockPatternSelect","blocks","newBlocks","queryClientIds","blockPreviewContext","previewPostType","query","postType","blockNameForPatterns"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AACA,SACCC,oBADD,EAECC,KAAK,IAAIC,gBAFV,EAGCC,+BAA+B,IAAIC,iBAHpC,QAIO,yBAJP;AAKA,SAASC,KAAT,QAAsB,uBAAtB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,YAAP,MAAyB,iBAAzB;AACA,OAAOC,gBAAP,MAA6B,qBAA7B;AACA,SACCC,uBADD,EAECC,+BAFD,QAGO,UAHP;;AAKA,MAAMC,SAAS,GAAKC,KAAF,IAAa;AAC9B,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAA2BF,KAAjC;AACA,QAAM,CAAEG,2BAAF,EAA+BC,8BAA/B,IACLlB,QAAQ,CAAE,KAAF,CADT;AAEA,QAAMmB,cAAc,GAAGrB,SAAS,CAC7BsB,MAAF,IACC,CAAC,CAAEA,MAAM,CAAEhB,gBAAF,CAAN,CAA2BiB,SAA3B,CAAsCN,QAAtC,EAAiDO,MAFtB,EAG/B,CAAEP,QAAF,CAH+B,CAAhC;AAKA,QAAMQ,SAAS,GAAGJ,cAAc,GAAGV,YAAH,GAAkBC,gBAAlD;AACA,SACC,8BACC,cAAC,SAAD,eACMI,KADN;AAEC,IAAA,yBAAyB,EAAG,MAC3BI,8BAA8B,CAAE,IAAF;AAHhC,KADD,EAOGD,2BAA2B,IAC5B,cAAC,qBAAD;AACC,IAAA,QAAQ,EAAGF,QADZ;AAEC,IAAA,UAAU,EAAGC,UAFd;AAGC,IAAA,8BAA8B,EAC7BE;AAJF,IARF,CADD;AAmBA,CA7BD;;AA+BA,SAASM,qBAAT,OAII;AAAA,MAJ4B;AAC/BT,IAAAA,QAD+B;AAE/BC,IAAAA,UAF+B;AAG/BE,IAAAA;AAH+B,GAI5B;AACH,QAAM;AAAEO,IAAAA,YAAF;AAAgBC,IAAAA;AAAhB,MAAgC3B,WAAW,CAAEK,gBAAF,CAAjD;;AACA,QAAMuB,oBAAoB,GAAKC,MAAF,IAAc;AAC1C,UAAM;AAAEC,MAAAA,SAAF;AAAaC,MAAAA;AAAb,QAAgClB,+BAA+B,CACpEgB,MADoE,EAEpEZ,UAFoE,CAArE;AAIAS,IAAAA,YAAY,CAAEV,QAAF,EAAYc,SAAZ,CAAZ;;AACA,QAAKC,cAAc,CAAE,CAAF,CAAnB,EAA2B;AAC1BJ,MAAAA,WAAW,CAAEI,cAAc,CAAE,CAAF,CAAhB,CAAX;AACA;AACD,GATD,CAFG,CAYH;AACA;;;AACA,QAAMC,mBAAmB,GAAG9B,OAAO,CAClC,OAAQ;AACP+B,IAAAA,eAAe,EAAEhB,UAAU,CAACiB,KAAX,CAAiBC;AAD3B,GAAR,CADkC,EAIlC,CAAElB,UAAU,CAACiB,KAAX,CAAiBC,QAAnB,CAJkC,CAAnC;AAMA,QAAMC,oBAAoB,GAAGxB,uBAAuB,CACnDI,QADmD,EAEnDC,UAFmD,CAApD;AAIA,SACC,cAAC,KAAD;AACC,IAAA,SAAS,EAAC,6CADX;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,kBAAF,CAFX;AAGC,IAAA,UAAU,EAAGA,EAAE,CAAE,QAAF,CAHhB;AAIC,IAAA,cAAc,EAAG,MAAMU,8BAA8B,CAAE,KAAF;AAJtD,KAMC,cAAC,oBAAD;AAAsB,IAAA,KAAK,EAAGa;AAA9B,KACC,cAAC,iBAAD;AACC,IAAA,SAAS,EAAGI,oBADb;AAEC,IAAA,QAAQ,EAAGpB,QAFZ;AAGC,IAAA,oBAAoB,EAAGY;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/index.js"],"names":["useSelect","useDispatch","useState","useMemo","BlockContextProvider","store","blockEditorStore","__experimentalBlockPatternSetup","BlockPatternSetup","Modal","__","QueryContent","QueryPlaceholder","useBlockNameForPatterns","getTransformedBlocksFromPattern","QueryEdit","props","clientId","attributes","isPatternSelectionModalOpen","setIsPatternSelectionModalOpen","hasInnerBlocks","select","getBlocks","length","Component","PatternSelectionModal","replaceBlock","selectBlock","onBlockPatternSelect","blocks","newBlocks","queryClientIds","blockPreviewContext","previewPostType","query","postType","blockNameForPatterns"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport {\n\tBlockContextProvider,\n\tstore as blockEditorStore,\n\t__experimentalBlockPatternSetup as BlockPatternSetup,\n} from '@wordpress/block-editor';\nimport { Modal } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport QueryContent from './query-content';\nimport QueryPlaceholder from './query-placeholder';\nimport {\n\tuseBlockNameForPatterns,\n\tgetTransformedBlocksFromPattern,\n} from '../utils';\n\nconst QueryEdit = ( props ) => {\n\tconst { clientId, attributes } = props;\n\tconst [ isPatternSelectionModalOpen, setIsPatternSelectionModalOpen ] =\n\t\tuseState( false );\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\t!! select( blockEditorStore ).getBlocks( clientId ).length,\n\t\t[ clientId ]\n\t);\n\tconst Component = hasInnerBlocks ? QueryContent : QueryPlaceholder;\n\treturn (\n\t\t<>\n\t\t\t<Component\n\t\t\t\t{ ...props }\n\t\t\t\topenPatternSelectionModal={ () =>\n\t\t\t\t\tsetIsPatternSelectionModalOpen( true )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ isPatternSelectionModalOpen && (\n\t\t\t\t<PatternSelectionModal\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetIsPatternSelectionModalOpen={\n\t\t\t\t\t\tsetIsPatternSelectionModalOpen\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nfunction PatternSelectionModal( {\n\tclientId,\n\tattributes,\n\tsetIsPatternSelectionModalOpen,\n} ) {\n\tconst { replaceBlock, selectBlock } = useDispatch( blockEditorStore );\n\tconst onBlockPatternSelect = ( blocks ) => {\n\t\tconst { newBlocks, queryClientIds } = getTransformedBlocksFromPattern(\n\t\t\tblocks,\n\t\t\tattributes\n\t\t);\n\t\treplaceBlock( clientId, newBlocks );\n\t\tif ( queryClientIds[ 0 ] ) {\n\t\t\tselectBlock( queryClientIds[ 0 ] );\n\t\t}\n\t};\n\t// When we preview Query Loop blocks we should prefer the current\n\t// block's postType, which is passed through block context.\n\tconst blockPreviewContext = useMemo(\n\t\t() => ( {\n\t\t\tpreviewPostType: attributes.query.postType,\n\t\t} ),\n\t\t[ attributes.query.postType ]\n\t);\n\tconst blockNameForPatterns = useBlockNameForPatterns(\n\t\tclientId,\n\t\tattributes\n\t);\n\treturn (\n\t\t<Modal\n\t\t\tclassName=\"block-editor-query-pattern__selection-modal\"\n\t\t\ttitle={ __( 'Choose a pattern' ) }\n\t\t\tcloseLabel={ __( 'Cancel' ) }\n\t\t\tonRequestClose={ () => setIsPatternSelectionModalOpen( false ) }\n\t\t>\n\t\t\t<BlockContextProvider value={ blockPreviewContext }>\n\t\t\t\t<BlockPatternSetup\n\t\t\t\t\tblockName={ blockNameForPatterns }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tonBlockPatternSelect={ onBlockPatternSelect }\n\t\t\t\t\tshowTitles={ true }\n\t\t\t\t/>\n\t\t\t</BlockContextProvider>\n\t\t</Modal>\n\t);\n}\n\nexport default QueryEdit;\n"]}
|
|
@@ -95,6 +95,11 @@ export default function QueryInspectorControls(_ref) {
|
|
|
95
95
|
const showOrderControl = !inherit && isControlAllowed(allowedControls, 'order');
|
|
96
96
|
const showStickyControl = !inherit && showSticky && isControlAllowed(allowedControls, 'sticky');
|
|
97
97
|
const showSettingsPanel = showInheritControl || showPostTypeControl || showColumnsControl || showOrderControl || showStickyControl;
|
|
98
|
+
const showTaxControl = !!(taxonomies !== null && taxonomies !== void 0 && taxonomies.length) && isControlAllowed(allowedControls, 'taxQuery');
|
|
99
|
+
const showAuthorControl = isControlAllowed(allowedControls, 'author');
|
|
100
|
+
const showSearchControl = isControlAllowed(allowedControls, 'search');
|
|
101
|
+
const showParentControl = isControlAllowed(allowedControls, 'parents') && isPostTypeHierarchical;
|
|
102
|
+
const showFiltersPanel = showTaxControl || showAuthorControl || showSearchControl || showParentControl;
|
|
98
103
|
return createElement(Fragment, null, showSettingsPanel && createElement(InspectorControls, null, createElement(PanelBody, {
|
|
99
104
|
title: __('Settings')
|
|
100
105
|
}, showInheritControl && createElement(ToggleControl, {
|
|
@@ -131,7 +136,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
131
136
|
onChange: value => setQuery({
|
|
132
137
|
sticky: value
|
|
133
138
|
})
|
|
134
|
-
}))), !inherit && createElement(InspectorControls, null, createElement(ToolsPanel, {
|
|
139
|
+
}))), !inherit && showFiltersPanel && createElement(InspectorControls, null, createElement(ToolsPanel, {
|
|
135
140
|
className: "block-library-query-toolspanel__filters",
|
|
136
141
|
label: __('Filters'),
|
|
137
142
|
resetAll: () => {
|
|
@@ -143,7 +148,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
143
148
|
});
|
|
144
149
|
setQuerySearch('');
|
|
145
150
|
}
|
|
146
|
-
},
|
|
151
|
+
}, showTaxControl && createElement(ToolsPanelItem, {
|
|
147
152
|
label: __('Taxonomies'),
|
|
148
153
|
hasValue: () => Object.values(taxQuery || {}).some(terms => !!terms.length),
|
|
149
154
|
onDeselect: () => setQuery({
|
|
@@ -152,7 +157,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
152
157
|
}, createElement(TaxonomyControls, {
|
|
153
158
|
onChange: setQuery,
|
|
154
159
|
query: query
|
|
155
|
-
})),
|
|
160
|
+
})), showAuthorControl && createElement(ToolsPanelItem, {
|
|
156
161
|
hasValue: () => !!authorIds,
|
|
157
162
|
label: __('Authors'),
|
|
158
163
|
onDeselect: () => setQuery({
|
|
@@ -161,7 +166,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
161
166
|
}, createElement(AuthorControl, {
|
|
162
167
|
value: authorIds,
|
|
163
168
|
onChange: setQuery
|
|
164
|
-
})),
|
|
169
|
+
})), showSearchControl && createElement(ToolsPanelItem, {
|
|
165
170
|
hasValue: () => !!querySearch,
|
|
166
171
|
label: __('Keyword'),
|
|
167
172
|
onDeselect: () => setQuerySearch('')
|
|
@@ -169,7 +174,7 @@ export default function QueryInspectorControls(_ref) {
|
|
|
169
174
|
label: __('Keyword'),
|
|
170
175
|
value: querySearch,
|
|
171
176
|
onChange: setQuerySearch
|
|
172
|
-
})),
|
|
177
|
+
})), showParentControl && createElement(ToolsPanelItem, {
|
|
173
178
|
hasValue: () => !!(parents !== null && parents !== void 0 && parents.length),
|
|
174
179
|
label: __('Parents'),
|
|
175
180
|
onDeselect: () => setQuery({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! 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\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\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{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: 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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ !! taxonomies?.length &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'taxQuery' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\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\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\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<TaxonomyControls\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'author' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isControlAllowed( allowedControls, 'search' ) && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isPostTypeHierarchical &&\n\t\t\t\t\t\t\tisControlAllowed( allowedControls, 'parents' ) && (\n\t\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\t\tsetQuery( { parents: [] } )\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<ParentControl\n\t\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/query/edit/inspector-controls/index.js"],"names":["PanelBody","TextControl","SelectControl","RangeControl","ToggleControl","Notice","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","InspectorControls","debounce","useEffect","useState","useCallback","OrderControl","AuthorControl","ParentControl","TaxonomyControls","StickyControl","usePostTypes","useIsPostTypeHierarchical","useAllowedControls","isControlAllowed","useTaxonomies","QueryInspectorControls","attributes","setQuery","setDisplayLayout","query","displayLayout","order","orderBy","author","authorIds","postType","sticky","inherit","taxQuery","parents","allowedControls","showSticky","setShowSticky","postTypesTaxonomiesMap","postTypesSelectOptions","taxonomies","isPostTypeHierarchical","onPostTypeChange","newValue","updateQuery","supportedTaxonomies","updatedTaxQuery","Object","entries","reduce","accumulator","taxonomySlug","terms","includes","keys","length","undefined","querySearch","setQuerySearch","search","onChangeDebounced","cancel","showInheritControl","showPostTypeControl","showColumnsControl","type","showOrderControl","showStickyControl","showSettingsPanel","showTaxControl","showAuthorControl","showSearchControl","showParentControl","showFiltersPanel","value","columns","Math","max","values","some"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tTextControl,\n\tSelectControl,\n\tRangeControl,\n\tToggleControl,\n\tNotice,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { InspectorControls } from '@wordpress/block-editor';\nimport { debounce } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport OrderControl from './order-control';\nimport AuthorControl from './author-control';\nimport ParentControl from './parent-control';\nimport { TaxonomyControls } from './taxonomy-controls';\nimport StickyControl from './sticky-control';\nimport {\n\tusePostTypes,\n\tuseIsPostTypeHierarchical,\n\tuseAllowedControls,\n\tisControlAllowed,\n\tuseTaxonomies,\n} from '../../utils';\n\nexport default function QueryInspectorControls( {\n\tattributes,\n\tsetQuery,\n\tsetDisplayLayout,\n} ) {\n\tconst { query, displayLayout } = attributes;\n\tconst {\n\t\torder,\n\t\torderBy,\n\t\tauthor: authorIds,\n\t\tpostType,\n\t\tsticky,\n\t\tinherit,\n\t\ttaxQuery,\n\t\tparents,\n\t} = query;\n\tconst allowedControls = useAllowedControls( attributes );\n\tconst [ showSticky, setShowSticky ] = useState( postType === 'post' );\n\tconst { postTypesTaxonomiesMap, postTypesSelectOptions } = usePostTypes();\n\tconst taxonomies = useTaxonomies( postType );\n\tconst isPostTypeHierarchical = useIsPostTypeHierarchical( postType );\n\tuseEffect( () => {\n\t\tsetShowSticky( postType === 'post' );\n\t}, [ postType ] );\n\tconst onPostTypeChange = ( newValue ) => {\n\t\tconst updateQuery = { postType: newValue };\n\t\t// We need to dynamically update the `taxQuery` property,\n\t\t// by removing any not supported taxonomy from the query.\n\t\tconst supportedTaxonomies = postTypesTaxonomiesMap[ newValue ];\n\t\tconst updatedTaxQuery = Object.entries( taxQuery || {} ).reduce(\n\t\t\t( accumulator, [ taxonomySlug, terms ] ) => {\n\t\t\t\tif ( supportedTaxonomies.includes( taxonomySlug ) ) {\n\t\t\t\t\taccumulator[ taxonomySlug ] = terms;\n\t\t\t\t}\n\t\t\t\treturn accumulator;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\t\tupdateQuery.taxQuery = !! Object.keys( updatedTaxQuery ).length\n\t\t\t? updatedTaxQuery\n\t\t\t: undefined;\n\n\t\tif ( newValue !== 'post' ) {\n\t\t\tupdateQuery.sticky = '';\n\t\t}\n\t\t// We need to reset `parents` because they are tied to each post type.\n\t\tupdateQuery.parents = [];\n\t\tsetQuery( updateQuery );\n\t};\n\tconst [ querySearch, setQuerySearch ] = useState( query.search );\n\tconst onChangeDebounced = useCallback(\n\t\tdebounce( () => {\n\t\t\tif ( query.search !== querySearch ) {\n\t\t\t\tsetQuery( { search: querySearch } );\n\t\t\t}\n\t\t}, 250 ),\n\t\t[ querySearch, query.search ]\n\t);\n\tuseEffect( () => {\n\t\tonChangeDebounced();\n\t\treturn onChangeDebounced.cancel;\n\t}, [ querySearch, onChangeDebounced ] );\n\tconst showInheritControl = isControlAllowed( allowedControls, 'inherit' );\n\tconst showPostTypeControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'postType' );\n\tconst showColumnsControl = displayLayout?.type === 'flex';\n\tconst showOrderControl =\n\t\t! inherit && isControlAllowed( allowedControls, 'order' );\n\tconst showStickyControl =\n\t\t! inherit &&\n\t\tshowSticky &&\n\t\tisControlAllowed( allowedControls, 'sticky' );\n\tconst showSettingsPanel =\n\t\tshowInheritControl ||\n\t\tshowPostTypeControl ||\n\t\tshowColumnsControl ||\n\t\tshowOrderControl ||\n\t\tshowStickyControl;\n\tconst showTaxControl =\n\t\t!! taxonomies?.length &&\n\t\tisControlAllowed( allowedControls, 'taxQuery' );\n\tconst showAuthorControl = isControlAllowed( allowedControls, 'author' );\n\tconst showSearchControl = isControlAllowed( allowedControls, 'search' );\n\tconst showParentControl =\n\t\tisControlAllowed( allowedControls, 'parents' ) &&\n\t\tisPostTypeHierarchical;\n\n\tconst showFiltersPanel =\n\t\tshowTaxControl ||\n\t\tshowAuthorControl ||\n\t\tshowSearchControl ||\n\t\tshowParentControl;\n\n\treturn (\n\t\t<>\n\t\t\t{ showSettingsPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t\t{ showInheritControl && (\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Inherit query from template' ) }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'Toggle to use the global query context that is set with the current template, such as an archive or search. Disable to customize the settings independently.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! inherit }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { inherit: !! 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\t{ showPostTypeControl && (\n\t\t\t\t\t\t\t<SelectControl\n\t\t\t\t\t\t\t\toptions={ postTypesSelectOptions }\n\t\t\t\t\t\t\t\tvalue={ postType }\n\t\t\t\t\t\t\t\tlabel={ __( 'Post type' ) }\n\t\t\t\t\t\t\t\tonChange={ onPostTypeChange }\n\t\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t\t'WordPress contains different types of content and they are divided into collections called “Post types”. By default there are a few different ones such as blog posts and pages, but plugins could add more.'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\t\tvalue={ displayLayout.columns }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\t\tsetDisplayLayout( { columns: value } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tmin={ 2 }\n\t\t\t\t\t\t\t\t\tmax={ Math.max( 6, displayLayout.columns ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ displayLayout.columns > 6 && (\n\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\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\t\t'This column count exceeds the recommended amount and may cause visual breakage.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Notice>\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{ showOrderControl && (\n\t\t\t\t\t\t\t<OrderControl\n\t\t\t\t\t\t\t\t{ ...{ order, orderBy } }\n\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showStickyControl && (\n\t\t\t\t\t\t\t<StickyControl\n\t\t\t\t\t\t\t\tvalue={ sticky }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetQuery( { sticky: 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</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t\t{ ! inherit && showFiltersPanel && (\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<ToolsPanel\n\t\t\t\t\t\tclassName=\"block-library-query-toolspanel__filters\"\n\t\t\t\t\t\tlabel={ __( 'Filters' ) }\n\t\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\t\tsetQuery( {\n\t\t\t\t\t\t\t\tauthor: '',\n\t\t\t\t\t\t\t\tparents: [],\n\t\t\t\t\t\t\t\tsearch: '',\n\t\t\t\t\t\t\t\ttaxQuery: null,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tsetQuerySearch( '' );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTaxControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\tlabel={ __( 'Taxonomies' ) }\n\t\t\t\t\t\t\t\thasValue={ () =>\n\t\t\t\t\t\t\t\t\tObject.values( taxQuery || {} ).some(\n\t\t\t\t\t\t\t\t\t\t( terms ) => !! terms.length\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\t\tsetQuery( { taxQuery: null } )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TaxonomyControls\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t\tquery={ query }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showAuthorControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! authorIds }\n\t\t\t\t\t\t\t\tlabel={ __( 'Authors' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { author: '' } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<AuthorControl\n\t\t\t\t\t\t\t\t\tvalue={ authorIds }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showSearchControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! querySearch }\n\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuerySearch( '' ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Keyword' ) }\n\t\t\t\t\t\t\t\t\tvalue={ querySearch }\n\t\t\t\t\t\t\t\t\tonChange={ setQuerySearch }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showParentControl && (\n\t\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\t\thasValue={ () => !! parents?.length }\n\t\t\t\t\t\t\t\tlabel={ __( 'Parents' ) }\n\t\t\t\t\t\t\t\tonDeselect={ () => setQuery( { parents: [] } ) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<ParentControl\n\t\t\t\t\t\t\t\t\tparents={ parents }\n\t\t\t\t\t\t\t\t\tpostType={ postType }\n\t\t\t\t\t\t\t\t\tonChange={ setQuery }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToolsPanel>\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"]}
|