@wordpress/block-library 8.1.0 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/LICENSE.md +1 -1
- package/babel-plugin.js +1 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +1 -0
- package/build/archives/index.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/avatar/index.js +1 -0
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +1 -0
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -1
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +1 -0
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +0 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/calendar/index.js +1 -0
- package/build/calendar/index.js.map +1 -1
- package/build/categories/edit.js +3 -3
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +1 -0
- package/build/categories/index.js.map +1 -1
- package/build/column/edit.native.js +2 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/deprecated.js +1 -1
- package/build/columns/deprecated.js.map +1 -1
- package/build/comment-author-avatar/index.js +1 -0
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/index.js +1 -0
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +1 -0
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/index.js +1 -0
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +1 -0
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +1 -0
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/index.js +1 -0
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +10 -4
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments/index.js +2 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +3 -14
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-pagination/index.js +1 -0
- package/build/comments-pagination/index.js.map +1 -1
- package/build/comments-pagination-next/index.js +1 -0
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-numbers/index.js +1 -0
- package/build/comments-pagination-numbers/index.js.map +1 -1
- package/build/comments-pagination-previous/index.js +1 -0
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/cover/deprecated.js +153 -30
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/index.js +4 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +45 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +0 -4
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/index.js +4 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -2
- package/build/cover/save.js.map +1 -1
- package/build/embed/embed-preview.js +1 -0
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/experiments.js +19 -0
- package/build/experiments.js.map +1 -0
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/deprecated.js +6 -4
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +50 -7
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +9 -34
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/v1/edit.js +7 -5
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/deprecated.js +1 -1
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +2 -2
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/index.js +1 -7
- package/build/heading/index.js.map +1 -1
- package/build/home-link/index.js +1 -0
- package/build/home-link/index.js.map +1 -1
- package/build/image/edit.native.js +2 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +18 -25
- package/build/image/image.js.map +1 -1
- package/build/latest-comments/index.js +1 -0
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +1 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +11 -8
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +1 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -0
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/loginout/index.js +1 -0
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/edit.js +2 -4
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +4 -4
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +31 -0
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -0
- package/build/navigation/edit/index.js +25 -14
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +0 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +9 -2
- package/build/navigation/edit/manage-menus-button.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +54 -35
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-name-control.js +1 -0
- package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +15 -54
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -0
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +1 -6
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/index.js +5 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/leaf-more-menu.js +95 -0
- package/build/navigation/leaf-more-menu.js.map +1 -0
- package/build/navigation/menu-items-to-blocks.js +0 -2
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation-link/edit.js +23 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +3 -3
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +13 -3
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/page-list/edit.js +153 -132
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +2 -11
- package/build/page-list/index.js.map +1 -1
- package/build/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +41 -9
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -0
- package/build/page-list-item/edit.js +4 -2
- package/build/page-list-item/edit.js.map +1 -1
- package/build/page-list-item/index.js +3 -2
- package/build/page-list-item/index.js.map +1 -1
- package/build/paragraph/edit.js +1 -1
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +1 -7
- package/build/paragraph/index.js.map +1 -1
- package/build/post-author/edit.js +2 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +1 -0
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/index.js +1 -0
- package/build/post-author-biography/index.js.map +1 -1
- package/build/post-author-name/index.js +1 -1
- package/build/post-comment/edit.js +1 -0
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comments-count/index.js +1 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +1 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +1 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +1 -20
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +1 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/index.js +1 -0
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +6 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +1 -0
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +3 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +39 -22
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +1 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +1 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +1 -0
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/edit.js +6 -4
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -0
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +5 -4
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +1 -0
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +1 -0
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +1 -0
- package/build/post-title/index.js.map +1 -1
- package/build/query/deprecated.js +90 -1
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +2 -50
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +1 -0
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +88 -0
- package/build/query/edit/pattern-selection-modal.js.map +1 -0
- package/build/query/edit/query-content.js +11 -25
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +2 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +6 -11
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query/index.js +1 -0
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +25 -3
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/index.js +1 -0
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-pagination/edit.js +3 -14
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +1 -0
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -0
- package/build/query-pagination-next/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -0
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -0
- package/build/query-pagination-previous/index.js.map +1 -1
- package/build/query-title/index.js +1 -0
- package/build/query-title/index.js.map +1 -1
- package/build/read-more/index.js +1 -0
- package/build/read-more/index.js.map +1 -1
- package/build/rss/edit.js +5 -2
- package/build/rss/edit.js.map +1 -1
- package/build/rss/index.js +1 -0
- package/build/rss/index.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +9 -13
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -0
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/index.js +1 -0
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +5 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +1 -0
- package/build/social-link/index.js.map +1 -1
- package/build/social-links/edit.js +3 -14
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +10 -5
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +15 -0
- package/build/table/index.js.map +1 -1
- package/build/table/save.js +4 -2
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +1 -1
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +47 -3
- package/build/table/transforms.js.map +1 -1
- package/build/table/utils.js +26 -0
- package/build/table/utils.js.map +1 -0
- package/build/tag-cloud/edit.js +4 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +1 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +14 -2
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +0 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +3 -3
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/title-modal.js +6 -5
- package/build/template-part/edit/title-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/index.js +1 -0
- package/build/template-part/index.js.map +1 -1
- package/build/term-description/index.js +1 -0
- package/build/term-description/index.js.map +1 -1
- package/build/utils/init-block.js +1 -1
- package/build/utils/init-block.js.map +1 -1
- package/build/utils/init-block.native.js +1 -1
- package/build/utils/init-block.native.js.map +1 -1
- package/build/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -1
- package/build/utils/search-patterns.js.map +1 -0
- package/build/video/edit-common-settings.js +6 -5
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +1 -0
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +18 -11
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +1 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/edit.js +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/avatar/index.js +1 -0
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +1 -0
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +2 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +1 -0
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +0 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/calendar/index.js +1 -0
- package/build-module/calendar/index.js.map +1 -1
- package/build-module/categories/edit.js +2 -2
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +1 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/edit.native.js +2 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/deprecated.js +1 -1
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +1 -0
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +1 -0
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +1 -0
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/index.js +1 -0
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +1 -0
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +1 -0
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/index.js +1 -0
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +10 -4
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments/index.js +2 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
- package/build-module/comments-pagination/edit.js +3 -14
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-pagination/index.js +1 -0
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +1 -0
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-numbers/index.js +1 -0
- package/build-module/comments-pagination-numbers/index.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +1 -0
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/cover/deprecated.js +155 -31
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/index.js +4 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +46 -5
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +0 -4
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/index.js +4 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -2
- package/build-module/cover/save.js.map +1 -1
- package/build-module/embed/embed-preview.js +1 -0
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/experiments.js +9 -0
- package/build-module/experiments.js.map +1 -0
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/deprecated.js +6 -3
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +52 -10
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +10 -35
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/v1/edit.js +8 -6
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/deprecated.js +1 -1
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/edit.js +2 -2
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/index.js +1 -6
- package/build-module/heading/index.js.map +1 -1
- package/build-module/home-link/index.js +1 -0
- package/build-module/home-link/index.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +20 -27
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-comments/index.js +1 -0
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +1 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +12 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +1 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -0
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/loginout/index.js +1 -0
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/edit.js +2 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +4 -4
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +21 -0
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -0
- package/build-module/navigation/edit/index.js +24 -14
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +0 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +10 -3
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +53 -38
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-name-control.js +1 -0
- package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +17 -56
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +1 -6
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/index.js +5 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/leaf-more-menu.js +76 -0
- package/build-module/navigation/leaf-more-menu.js.map +1 -0
- package/build-module/navigation/menu-items-to-blocks.js +0 -2
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation-link/edit.js +22 -10
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +3 -3
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +14 -4
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/page-list/edit.js +155 -132
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +3 -12
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +37 -7
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -0
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/page-list-item/index.js +3 -2
- package/build-module/page-list-item/index.js.map +1 -1
- package/build-module/paragraph/edit.js +1 -1
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +1 -6
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/post-author/edit.js +2 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +1 -0
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/index.js +1 -0
- package/build-module/post-author-biography/index.js.map +1 -1
- package/build-module/post-author-name/index.js +1 -1
- package/build-module/post-comment/edit.js +1 -0
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +1 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +1 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +1 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +2 -20
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +1 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/index.js +1 -0
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +6 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +1 -0
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +39 -22
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +1 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +1 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +1 -0
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/edit.js +6 -4
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -0
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +4 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +1 -0
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +1 -0
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +1 -0
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/deprecated.js +87 -1
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +4 -50
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +2 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +75 -0
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -0
- package/build-module/query/edit/query-content.js +12 -26
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +2 -2
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +6 -10
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/query/index.js +1 -0
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +21 -2
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/index.js +1 -0
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +3 -14
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +1 -0
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -0
- package/build-module/query-pagination-next/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -0
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -0
- package/build-module/query-pagination-previous/index.js.map +1 -1
- package/build-module/query-title/index.js +1 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/read-more/index.js +1 -0
- package/build-module/read-more/index.js.map +1 -1
- package/build-module/rss/edit.js +6 -3
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/rss/index.js +1 -0
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +10 -14
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -0
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/index.js +1 -0
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +5 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +1 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/social-links/edit.js +3 -14
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +10 -5
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +15 -0
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/save.js +4 -2
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +1 -1
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +46 -3
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table/utils.js +19 -0
- package/build-module/table/utils.js.map +1 -0
- package/build-module/tag-cloud/edit.js +5 -9
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +1 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +14 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +0 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +1 -1
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/title-modal.js +7 -6
- package/build-module/template-part/edit/title-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +2 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/index.js +1 -0
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/term-description/index.js +1 -0
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/utils/init-block.js +1 -1
- package/build-module/utils/init-block.js.map +1 -1
- package/build-module/utils/init-block.native.js +1 -1
- package/build-module/utils/init-block.native.js.map +1 -1
- package/build-module/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -5
- package/build-module/utils/search-patterns.js.map +1 -0
- package/build-module/video/edit-common-settings.js +6 -5
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +1 -0
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +19 -12
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/editor-rtl.css +14 -67
- package/build-style/editor.css +14 -67
- package/build-style/query/editor-rtl.css +11 -14
- package/build-style/query/editor.css +11 -14
- package/build-style/rss/editor-rtl.css +3 -16
- package/build-style/rss/editor.css +3 -16
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/build-style/video/editor-rtl.css +0 -34
- package/build-style/video/editor.css +0 -34
- package/package.json +30 -29
- package/src/archives/block.json +1 -0
- package/src/archives/edit.js +1 -0
- package/src/audio/edit.js +2 -0
- package/src/avatar/block.json +1 -0
- package/src/block/edit.js +1 -0
- package/src/button/block.json +1 -0
- package/src/button/edit.js +2 -1
- package/src/buttons/edit.js +2 -2
- package/src/calendar/block.json +1 -0
- package/src/calendar/index.php +3 -1
- package/src/categories/block.json +1 -0
- package/src/categories/edit.js +2 -2
- package/src/column/edit.native.js +6 -1
- package/src/columns/deprecated.js +1 -1
- package/src/comment-author-avatar/block.json +1 -0
- package/src/comment-author-name/block.json +1 -0
- package/src/comment-author-name/index.php +6 -3
- package/src/comment-content/block.json +1 -0
- package/src/comment-content/index.php +6 -3
- package/src/comment-date/block.json +1 -0
- package/src/comment-date/index.php +1 -1
- package/src/comment-edit-link/block.json +1 -0
- package/src/comment-edit-link/index.php +6 -3
- package/src/comment-reply-link/block.json +1 -0
- package/src/comment-reply-link/index.php +6 -3
- package/src/comment-template/block.json +1 -0
- package/src/comments/block.json +2 -1
- package/src/comments/edit/comments-inspector-controls.js +13 -3
- package/src/comments-pagination/block.json +1 -0
- package/src/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/src/comments-pagination/edit.js +1 -13
- package/src/comments-pagination/index.php +4 -1
- package/src/comments-pagination-next/block.json +1 -0
- package/src/comments-pagination-numbers/block.json +1 -0
- package/src/comments-pagination-previous/block.json +1 -0
- package/src/cover/block.json +4 -0
- package/src/cover/deprecated.js +173 -6
- package/src/cover/edit/index.js +5 -4
- package/src/cover/edit/inspector-controls.js +45 -2
- package/src/cover/edit.native.js +0 -3
- package/src/cover/save.js +3 -2
- package/src/embed/embed-preview.js +1 -0
- package/src/embed/variations.js +1 -1
- package/src/experiments.js +10 -0
- package/src/file/inspector.js +1 -0
- package/src/gallery/deprecated.js +2 -3
- package/src/gallery/edit.js +68 -5
- package/src/gallery/gallery.js +27 -43
- package/src/gallery/v1/edit.js +10 -9
- package/src/group/block.json +3 -0
- package/src/group/deprecated.js +3 -1
- package/src/group/edit.js +2 -2
- package/src/heading/index.js +1 -6
- package/src/home-link/block.json +1 -0
- package/src/image/edit.native.js +2 -3
- package/src/image/image.js +43 -58
- package/src/latest-comments/block.json +1 -0
- package/src/latest-posts/block.json +1 -0
- package/src/latest-posts/edit.js +6 -7
- package/src/latest-posts/index.php +9 -10
- package/src/list/ordered-list-settings.js +1 -0
- package/src/loginout/block.json +1 -0
- package/src/media-text/edit.js +3 -7
- package/src/missing/edit.native.js +3 -4
- package/src/missing/test/edit.native.js +2 -2
- package/src/navigation/block.json +2 -0
- package/src/navigation/edit/deleted-navigation-warning.js +19 -0
- package/src/navigation/edit/index.js +25 -24
- package/src/navigation/edit/inner-blocks.js +0 -6
- package/src/navigation/edit/manage-menus-button.js +24 -13
- package/src/navigation/edit/menu-inspector-controls.js +71 -76
- package/src/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/src/navigation/edit/navigation-menu-name-control.js +1 -0
- package/src/navigation/edit/navigation-menu-selector.js +17 -79
- package/src/navigation/edit/overlay-menu-preview.js +1 -0
- package/src/navigation/edit/placeholder/index.js +0 -6
- package/src/navigation/index.js +3 -0
- package/src/navigation/index.php +25 -7
- package/src/navigation/leaf-more-menu.js +93 -0
- package/src/navigation/menu-items-to-blocks.js +0 -2
- package/src/navigation-link/edit.js +34 -14
- package/src/navigation-link/index.php +28 -33
- package/src/navigation-link/update-attributes.js +1 -1
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.js +8 -2
- package/src/navigation-submenu/index.php +0 -32
- package/src/page-list/block.json +1 -0
- package/src/page-list/edit.js +196 -161
- package/src/page-list/index.js +2 -8
- package/src/page-list/index.php +5 -0
- package/src/page-list/test/convert-to-links-modal.js +1 -1
- package/src/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +36 -6
- package/src/page-list-item/block.json +2 -1
- package/src/page-list-item/edit.js +3 -2
- package/src/page-list-item/index.js +1 -1
- package/src/paragraph/edit.js +1 -1
- package/src/paragraph/index.js +1 -6
- package/src/post-author/block.json +1 -0
- package/src/post-author/edit.js +2 -0
- package/src/post-author/index.php +10 -4
- package/src/post-author-biography/block.json +1 -0
- package/src/post-author-name/block.json +1 -1
- package/src/post-author-name/index.php +9 -4
- package/src/post-comment/edit.js +1 -0
- package/src/post-comments-count/block.json +1 -0
- package/src/post-comments-form/block.json +1 -0
- package/src/post-comments-form/index.php +6 -4
- package/src/post-comments-link/block.json +1 -0
- package/src/post-comments-link/index.php +8 -2
- package/src/post-content/block.json +1 -0
- package/src/post-content/edit.js +2 -13
- package/src/post-date/block.json +1 -0
- package/src/post-date/index.php +10 -3
- package/src/post-excerpt/block.json +1 -0
- package/src/post-excerpt/edit.js +22 -12
- package/src/post-excerpt/index.php +6 -3
- package/src/post-featured-image/block.json +1 -0
- package/src/post-featured-image/dimension-controls.js +3 -1
- package/src/post-featured-image/edit.js +46 -27
- package/src/post-featured-image/index.php +19 -6
- package/src/post-featured-image/overlay.js +1 -1
- package/src/post-navigation-link/block.json +1 -0
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-template/block.json +1 -0
- package/src/post-template/edit.js +4 -3
- package/src/post-template/index.php +4 -1
- package/src/post-terms/block.json +1 -0
- package/src/post-terms/edit.js +4 -3
- package/src/post-terms/index.php +6 -3
- package/src/post-title/block.json +1 -0
- package/src/post-title/edit.js +1 -0
- package/src/post-title/index.php +10 -4
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -2
- package/src/query/block.json +1 -0
- package/src/query/deprecated.js +77 -1
- package/src/query/edit/index.js +4 -60
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query/edit/inspector-controls/order-control.js +1 -0
- package/src/query/edit/inspector-controls/sticky-control.js +1 -0
- package/src/query/edit/pattern-selection-modal.js +86 -0
- package/src/query/edit/query-content.js +14 -12
- package/src/query/edit/query-placeholder.js +4 -8
- package/src/query/edit/query-toolbar.js +6 -16
- package/src/query/editor.scss +21 -19
- package/src/query/utils.js +22 -8
- package/src/query-no-results/block.json +1 -0
- package/src/query-no-results/index.php +3 -1
- package/src/query-pagination/block.json +1 -0
- package/src/query-pagination/edit.js +1 -13
- package/src/query-pagination/index.php +2 -0
- package/src/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/src/query-pagination-next/block.json +1 -0
- package/src/query-pagination-numbers/block.json +1 -0
- package/src/query-pagination-previous/block.json +1 -0
- package/src/query-title/block.json +1 -0
- package/src/read-more/block.json +1 -0
- package/src/rss/block.json +1 -0
- package/src/rss/edit.js +16 -12
- package/src/rss/editor.scss +4 -15
- package/src/rss/index.php +1 -1
- package/src/search/block.json +1 -0
- package/src/search/index.php +2 -2
- package/src/site-logo/block.json +1 -0
- package/src/site-logo/edit.js +9 -16
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +1 -0
- package/src/site-title/index.php +6 -3
- package/src/social-link/block.json +1 -0
- package/src/social-link/edit.js +5 -2
- package/src/social-links/edit.js +1 -14
- package/src/table/block.json +15 -0
- package/src/table/edit.js +39 -26
- package/src/table/editor.scss +0 -6
- package/src/table/save.js +9 -1
- package/src/table/state.js +1 -1
- package/src/table/test/utils.js +20 -0
- package/src/table/transforms.js +65 -2
- package/src/table/utils.js +18 -0
- package/src/tag-cloud/block.json +1 -0
- package/src/tag-cloud/edit.js +13 -15
- package/src/template-part/block.json +1 -0
- package/src/template-part/edit/advanced-controls.js +26 -1
- package/src/template-part/edit/index.js +0 -1
- package/src/template-part/edit/selection-modal.js +1 -1
- package/src/template-part/edit/title-modal.js +12 -15
- package/src/template-part/edit/utils/hooks.js +3 -8
- package/src/template-part/index.php +19 -7
- package/src/term-description/block.json +1 -0
- package/src/term-description/index.php +8 -4
- package/src/utils/init-block.js +1 -1
- package/src/utils/init-block.native.js +1 -1
- package/src/{template-part/edit/utils/search.js → utils/search-patterns.js} +2 -2
- package/src/utils/test/search-patterns.js +58 -0
- package/src/video/edit-common-settings.js +6 -5
- package/src/video/edit.js +1 -0
- package/src/video/editor.scss +0 -35
- package/src/video/tracks-editor.js +65 -50
- package/build/page-list/constants.js +0 -15
- package/build/page-list/constants.js.map +0 -1
- package/build/page-list/convert-to-links-modal.js +0 -83
- package/build/page-list/convert-to-links-modal.js.map +0 -1
- package/build/page-list/convert-to-navigation-links.js.map +0 -1
- package/build/template-part/edit/utils/search.js.map +0 -1
- package/build-module/page-list/constants.js +0 -6
- package/build-module/page-list/constants.js.map +0 -1
- package/build-module/page-list/convert-to-links-modal.js +0 -68
- package/build-module/page-list/convert-to-links-modal.js.map +0 -1
- package/build-module/page-list/convert-to-navigation-links.js.map +0 -1
- package/build-module/template-part/edit/utils/search.js.map +0 -1
- package/src/page-list/constants.js +0 -8
- package/src/page-list/convert-to-links-modal.js +0 -70
|
@@ -120,6 +120,33 @@ function block_core_navigation_link_render_submenu_icon() {
|
|
|
120
120
|
return '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 12 12" fill="none" aria-hidden="true" focusable="false"><path d="M1.50002 4L6.00002 8L10.5 4" stroke-width="1.5"></path></svg>';
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
+
/**
|
|
124
|
+
* Decodes a url if it's encoded, returning the same url if not.
|
|
125
|
+
*
|
|
126
|
+
* @param string $url The url to decode.
|
|
127
|
+
*
|
|
128
|
+
* @return string $url Returns the decoded url.
|
|
129
|
+
*/
|
|
130
|
+
function block_core_navigation_link_maybe_urldecode( $url ) {
|
|
131
|
+
$is_url_encoded = false;
|
|
132
|
+
$query = parse_url( $url, PHP_URL_QUERY );
|
|
133
|
+
$query_params = wp_parse_args( $query );
|
|
134
|
+
|
|
135
|
+
foreach ( $query_params as $query_param ) {
|
|
136
|
+
if ( rawurldecode( $query_param ) !== $query_param ) {
|
|
137
|
+
$is_url_encoded = true;
|
|
138
|
+
break;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
if ( $is_url_encoded ) {
|
|
143
|
+
return rawurldecode( $url );
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
return $url;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
|
|
123
150
|
/**
|
|
124
151
|
* Renders the `core/navigation-link` block.
|
|
125
152
|
*
|
|
@@ -171,7 +198,7 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
|
|
|
171
198
|
|
|
172
199
|
// Start appending HTML attributes to anchor tag.
|
|
173
200
|
if ( isset( $attributes['url'] ) ) {
|
|
174
|
-
$html .= ' href="' . esc_url( $attributes['url'] ) . '"';
|
|
201
|
+
$html .= ' href="' . esc_url( block_core_navigation_link_maybe_urldecode( $attributes['url'] ) ) . '"';
|
|
175
202
|
}
|
|
176
203
|
|
|
177
204
|
if ( $is_active ) {
|
|
@@ -345,38 +372,6 @@ function register_block_core_navigation_link() {
|
|
|
345
372
|
}
|
|
346
373
|
add_action( 'init', 'register_block_core_navigation_link' );
|
|
347
374
|
|
|
348
|
-
/**
|
|
349
|
-
* Disables the display of block inspector tabs for the Navigation Link block.
|
|
350
|
-
*
|
|
351
|
-
* This is only a temporary measure until we have a TabPanel and mechanism that
|
|
352
|
-
* will allow the Navigation Link to programmatically select a tab when edited
|
|
353
|
-
* via a specific context.
|
|
354
|
-
*
|
|
355
|
-
* See:
|
|
356
|
-
* - https://github.com/WordPress/gutenberg/issues/45951
|
|
357
|
-
* - https://github.com/WordPress/gutenberg/pull/46321
|
|
358
|
-
* - https://github.com/WordPress/gutenberg/pull/46271
|
|
359
|
-
*
|
|
360
|
-
* @param array $settings Default editor settings.
|
|
361
|
-
* @return array Filtered editor settings.
|
|
362
|
-
*/
|
|
363
|
-
function gutenberg_disable_tabs_for_navigation_link_block( $settings ) {
|
|
364
|
-
$current_tab_settings = _wp_array_get(
|
|
365
|
-
$settings,
|
|
366
|
-
array( '__experimentalBlockInspectorTabs' ),
|
|
367
|
-
array()
|
|
368
|
-
);
|
|
369
|
-
|
|
370
|
-
$settings['__experimentalBlockInspectorTabs'] = array_merge(
|
|
371
|
-
$current_tab_settings,
|
|
372
|
-
array( 'core/navigation-link' => false )
|
|
373
|
-
);
|
|
374
|
-
|
|
375
|
-
return $settings;
|
|
376
|
-
}
|
|
377
|
-
|
|
378
|
-
add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_link_block' );
|
|
379
|
-
|
|
380
375
|
/**
|
|
381
376
|
* Enables animation of the block inspector for the Navigation Link block.
|
|
382
377
|
*
|
|
@@ -89,7 +89,7 @@ export const updateAttributes = (
|
|
|
89
89
|
|
|
90
90
|
setAttributes( {
|
|
91
91
|
// Passed `url` may already be encoded. To prevent double encoding, decodeURI is executed to revert to the original string.
|
|
92
|
-
...
|
|
92
|
+
...{ url: newUrl ? encodeURI( safeDecodeURI( newUrl ) ) : newUrl },
|
|
93
93
|
...( label && { label } ),
|
|
94
94
|
...( undefined !== opensInNewTab && { opensInNewTab } ),
|
|
95
95
|
...( id && Number.isInteger( id ) && { id } ),
|
|
@@ -393,6 +393,7 @@ export default function NavigationSubmenuEdit( {
|
|
|
393
393
|
<InspectorControls>
|
|
394
394
|
<PanelBody title={ __( 'Link settings' ) }>
|
|
395
395
|
<TextControl
|
|
396
|
+
__nextHasNoMarginBottom
|
|
396
397
|
value={ label || '' }
|
|
397
398
|
onChange={ ( labelValue ) => {
|
|
398
399
|
setAttributes( { label: labelValue } );
|
|
@@ -401,6 +402,7 @@ export default function NavigationSubmenuEdit( {
|
|
|
401
402
|
autoComplete="off"
|
|
402
403
|
/>
|
|
403
404
|
<TextControl
|
|
405
|
+
__nextHasNoMarginBottom
|
|
404
406
|
value={ url || '' }
|
|
405
407
|
onChange={ ( urlValue ) => {
|
|
406
408
|
setAttributes( { url: urlValue } );
|
|
@@ -422,6 +424,7 @@ export default function NavigationSubmenuEdit( {
|
|
|
422
424
|
) }
|
|
423
425
|
/>
|
|
424
426
|
<TextControl
|
|
427
|
+
__nextHasNoMarginBottom
|
|
425
428
|
value={ title || '' }
|
|
426
429
|
onChange={ ( titleValue ) => {
|
|
427
430
|
setAttributes( { title: titleValue } );
|
|
@@ -430,6 +433,7 @@ export default function NavigationSubmenuEdit( {
|
|
|
430
433
|
autoComplete="off"
|
|
431
434
|
/>
|
|
432
435
|
<TextControl
|
|
436
|
+
__nextHasNoMarginBottom
|
|
433
437
|
value={ rel || '' }
|
|
434
438
|
onChange={ ( relValue ) => {
|
|
435
439
|
setAttributes( { rel: relValue } );
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { addSubmenu } from '@wordpress/icons';
|
|
4
|
+
import { page, addSubmenu } from '@wordpress/icons';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
@@ -17,7 +17,13 @@ const { name } = metadata;
|
|
|
17
17
|
export { metadata, name };
|
|
18
18
|
|
|
19
19
|
export const settings = {
|
|
20
|
-
icon:
|
|
20
|
+
icon: ( { context } ) => {
|
|
21
|
+
if ( context === 'list-view' ) {
|
|
22
|
+
return page;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
return addSubmenu;
|
|
26
|
+
},
|
|
21
27
|
|
|
22
28
|
__experimentalLabel: ( { label } ) => label,
|
|
23
29
|
|
|
@@ -290,38 +290,6 @@ function register_block_core_navigation_submenu() {
|
|
|
290
290
|
}
|
|
291
291
|
add_action( 'init', 'register_block_core_navigation_submenu' );
|
|
292
292
|
|
|
293
|
-
/**
|
|
294
|
-
* Disables display of block inspector tabs for the Navigation Submenu block.
|
|
295
|
-
*
|
|
296
|
-
* This is only a temporary measure until we have a TabPanel and mechanism that
|
|
297
|
-
* will allow the Navigation Submenu to programmatically select a tab when
|
|
298
|
-
* edited via a specific context.
|
|
299
|
-
*
|
|
300
|
-
* See:
|
|
301
|
-
* - https://github.com/WordPress/gutenberg/issues/45951
|
|
302
|
-
* - https://github.com/WordPress/gutenberg/pull/46321
|
|
303
|
-
* - https://github.com/WordPress/gutenberg/pull/46271
|
|
304
|
-
*
|
|
305
|
-
* @param array $settings Default editor settings.
|
|
306
|
-
* @return array Filtered editor settings.
|
|
307
|
-
*/
|
|
308
|
-
function gutenberg_disable_tabs_for_navigation_submenu_block( $settings ) {
|
|
309
|
-
$current_tab_settings = _wp_array_get(
|
|
310
|
-
$settings,
|
|
311
|
-
array( '__experimentalBlockInspectorTabs' ),
|
|
312
|
-
array()
|
|
313
|
-
);
|
|
314
|
-
|
|
315
|
-
$settings['__experimentalBlockInspectorTabs'] = array_merge(
|
|
316
|
-
$current_tab_settings,
|
|
317
|
-
array( 'core/navigation-submenu' => false )
|
|
318
|
-
);
|
|
319
|
-
|
|
320
|
-
return $settings;
|
|
321
|
-
}
|
|
322
|
-
|
|
323
|
-
add_filter( 'block_editor_settings_all', 'gutenberg_disable_tabs_for_navigation_submenu_block' );
|
|
324
|
-
|
|
325
293
|
/**
|
|
326
294
|
* Enables animation of the block inspector for the Navigation Submenu block.
|
|
327
295
|
*
|
package/src/page-list/block.json
CHANGED
package/src/page-list/edit.js
CHANGED
|
@@ -23,24 +23,138 @@ import {
|
|
|
23
23
|
Notice,
|
|
24
24
|
ComboboxControl,
|
|
25
25
|
Button,
|
|
26
|
+
Modal,
|
|
26
27
|
} from '@wordpress/components';
|
|
27
28
|
import { __, sprintf } from '@wordpress/i18n';
|
|
28
29
|
import { useMemo, useState, useEffect } from '@wordpress/element';
|
|
29
30
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
30
|
-
import { useSelect
|
|
31
|
+
import { useSelect } from '@wordpress/data';
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Internal dependencies
|
|
34
35
|
*/
|
|
35
|
-
import
|
|
36
|
-
import { convertToNavigationLinks } from './convert-to-navigation-links';
|
|
37
|
-
import { convertDescription } from './constants';
|
|
36
|
+
import { useConvertToNavigationLinks } from './use-convert-to-navigation-links';
|
|
38
37
|
|
|
39
38
|
// We only show the edit option when page count is <= MAX_PAGE_COUNT
|
|
40
39
|
// Performance of Navigation Links is not good past this value.
|
|
41
40
|
const MAX_PAGE_COUNT = 100;
|
|
42
41
|
const NOOP = () => {};
|
|
43
42
|
|
|
43
|
+
const convertDescription = __(
|
|
44
|
+
'This menu is automatically kept in sync with pages on your site. You can manage the menu yourself by clicking "Edit" below.'
|
|
45
|
+
);
|
|
46
|
+
|
|
47
|
+
function BlockContent( {
|
|
48
|
+
blockProps,
|
|
49
|
+
innerBlocksProps,
|
|
50
|
+
hasResolvedPages,
|
|
51
|
+
blockList,
|
|
52
|
+
pages,
|
|
53
|
+
parentPageID,
|
|
54
|
+
} ) {
|
|
55
|
+
if ( ! hasResolvedPages ) {
|
|
56
|
+
return (
|
|
57
|
+
<div { ...blockProps }>
|
|
58
|
+
<Spinner />
|
|
59
|
+
</div>
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
if ( pages === null ) {
|
|
64
|
+
return (
|
|
65
|
+
<div { ...blockProps }>
|
|
66
|
+
<Notice status={ 'warning' } isDismissible={ false }>
|
|
67
|
+
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
68
|
+
</Notice>
|
|
69
|
+
</div>
|
|
70
|
+
);
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if ( pages.length === 0 ) {
|
|
74
|
+
return (
|
|
75
|
+
<div { ...blockProps }>
|
|
76
|
+
<Notice status={ 'info' } isDismissible={ false }>
|
|
77
|
+
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
78
|
+
</Notice>
|
|
79
|
+
</div>
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
if ( blockList.length === 0 ) {
|
|
84
|
+
const parentPageDetails = pages.find(
|
|
85
|
+
( page ) => page.id === parentPageID
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
if ( parentPageDetails?.title?.rendered ) {
|
|
89
|
+
return (
|
|
90
|
+
<div { ...blockProps }>
|
|
91
|
+
<Warning>
|
|
92
|
+
{ sprintf(
|
|
93
|
+
// translators: %s: Page title.
|
|
94
|
+
__( 'Page List: "%s" page has no children.' ),
|
|
95
|
+
parentPageDetails.title.rendered
|
|
96
|
+
) }
|
|
97
|
+
</Warning>
|
|
98
|
+
</div>
|
|
99
|
+
);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
<div { ...blockProps }>
|
|
104
|
+
<Notice status={ 'warning' } isDismissible={ false }>
|
|
105
|
+
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
106
|
+
</Notice>
|
|
107
|
+
</div>
|
|
108
|
+
);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
if ( pages.length > 0 ) {
|
|
112
|
+
return <ul { ...innerBlocksProps }></ul>;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function ConvertToLinksModal( { onClick, disabled } ) {
|
|
117
|
+
const [ isOpen, setOpen ] = useState( false );
|
|
118
|
+
const openModal = () => setOpen( true );
|
|
119
|
+
const closeModal = () => setOpen( false );
|
|
120
|
+
|
|
121
|
+
return (
|
|
122
|
+
<>
|
|
123
|
+
<BlockControls group="other">
|
|
124
|
+
<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
|
|
125
|
+
{ __( 'Edit' ) }
|
|
126
|
+
</ToolbarButton>
|
|
127
|
+
</BlockControls>
|
|
128
|
+
{ isOpen && (
|
|
129
|
+
<Modal
|
|
130
|
+
onRequestClose={ closeModal }
|
|
131
|
+
title={ __( 'Edit this menu' ) }
|
|
132
|
+
className={ 'wp-block-page-list-modal' }
|
|
133
|
+
aria={ {
|
|
134
|
+
describedby: 'wp-block-page-list-modal__description',
|
|
135
|
+
} }
|
|
136
|
+
>
|
|
137
|
+
<p id={ 'wp-block-page-list-modal__description' }>
|
|
138
|
+
{ convertDescription }
|
|
139
|
+
</p>
|
|
140
|
+
<div className="wp-block-page-list-modal-buttons">
|
|
141
|
+
<Button variant="tertiary" onClick={ closeModal }>
|
|
142
|
+
{ __( 'Cancel' ) }
|
|
143
|
+
</Button>
|
|
144
|
+
<Button
|
|
145
|
+
variant="primary"
|
|
146
|
+
disabled={ disabled }
|
|
147
|
+
onClick={ onClick }
|
|
148
|
+
>
|
|
149
|
+
{ __( 'Edit' ) }
|
|
150
|
+
</Button>
|
|
151
|
+
</div>
|
|
152
|
+
</Modal>
|
|
153
|
+
) }
|
|
154
|
+
</>
|
|
155
|
+
);
|
|
156
|
+
}
|
|
157
|
+
|
|
44
158
|
export default function PageListEdit( {
|
|
45
159
|
context,
|
|
46
160
|
clientId,
|
|
@@ -48,16 +162,56 @@ export default function PageListEdit( {
|
|
|
48
162
|
setAttributes,
|
|
49
163
|
} ) {
|
|
50
164
|
const { parentPageID } = attributes;
|
|
51
|
-
const [ pages ] = useGetPages();
|
|
52
|
-
const { pagesByParentId, totalPages, hasResolvedPages } = usePageData();
|
|
53
165
|
|
|
54
|
-
const
|
|
166
|
+
const { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(
|
|
167
|
+
'postType',
|
|
168
|
+
'page',
|
|
169
|
+
{
|
|
170
|
+
per_page: MAX_PAGE_COUNT,
|
|
171
|
+
_fields: [ 'id', 'link', 'menu_order', 'parent', 'title', 'type' ],
|
|
172
|
+
// TODO: When https://core.trac.wordpress.org/ticket/39037 REST API support for multiple orderby
|
|
173
|
+
// values is resolved, update 'orderby' to [ 'menu_order', 'post_title' ] to provide a consistent
|
|
174
|
+
// sort.
|
|
175
|
+
orderby: 'menu_order',
|
|
176
|
+
order: 'asc',
|
|
177
|
+
}
|
|
178
|
+
);
|
|
179
|
+
|
|
55
180
|
const allowConvertToLinks =
|
|
56
|
-
|
|
181
|
+
'showSubmenuIcon' in context &&
|
|
182
|
+
pages?.length > 0 &&
|
|
183
|
+
pages?.length <= MAX_PAGE_COUNT;
|
|
57
184
|
|
|
58
|
-
const
|
|
59
|
-
|
|
60
|
-
|
|
185
|
+
const convertToNavigationLinks = useConvertToNavigationLinks( {
|
|
186
|
+
clientId,
|
|
187
|
+
pages,
|
|
188
|
+
} );
|
|
189
|
+
|
|
190
|
+
const pagesByParentId = useMemo( () => {
|
|
191
|
+
if ( pages === null ) {
|
|
192
|
+
return new Map();
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// TODO: Once the REST API supports passing multiple values to
|
|
196
|
+
// 'orderby', this can be removed.
|
|
197
|
+
// https://core.trac.wordpress.org/ticket/39037
|
|
198
|
+
const sortedPages = pages.sort( ( a, b ) => {
|
|
199
|
+
if ( a.menu_order === b.menu_order ) {
|
|
200
|
+
return a.title.rendered.localeCompare( b.title.rendered );
|
|
201
|
+
}
|
|
202
|
+
return a.menu_order - b.menu_order;
|
|
203
|
+
} );
|
|
204
|
+
|
|
205
|
+
return sortedPages.reduce( ( accumulator, page ) => {
|
|
206
|
+
const { parent } = page;
|
|
207
|
+
if ( accumulator.has( parent ) ) {
|
|
208
|
+
accumulator.get( parent ).push( page );
|
|
209
|
+
} else {
|
|
210
|
+
accumulator.set( parent, [ page ] );
|
|
211
|
+
}
|
|
212
|
+
return accumulator;
|
|
213
|
+
}, new Map() );
|
|
214
|
+
}, [ pages ] );
|
|
61
215
|
|
|
62
216
|
const blockProps = useBlockProps( {
|
|
63
217
|
className: classnames( 'wp-block-page-list', {
|
|
@@ -137,77 +291,16 @@ export default function PageListEdit( {
|
|
|
137
291
|
value: blockList,
|
|
138
292
|
} );
|
|
139
293
|
|
|
140
|
-
const
|
|
141
|
-
if ( ! hasResolvedPages ) {
|
|
142
|
-
return (
|
|
143
|
-
<div { ...blockProps }>
|
|
144
|
-
<Spinner />
|
|
145
|
-
</div>
|
|
146
|
-
);
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
if ( totalPages === null ) {
|
|
150
|
-
return (
|
|
151
|
-
<div { ...blockProps }>
|
|
152
|
-
<Notice status={ 'warning' } isDismissible={ false }>
|
|
153
|
-
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
154
|
-
</Notice>
|
|
155
|
-
</div>
|
|
156
|
-
);
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
if ( totalPages === 0 ) {
|
|
160
|
-
return (
|
|
161
|
-
<div { ...blockProps }>
|
|
162
|
-
<Notice status={ 'info' } isDismissible={ false }>
|
|
163
|
-
{ __( 'Page List: Cannot retrieve Pages.' ) }
|
|
164
|
-
</Notice>
|
|
165
|
-
</div>
|
|
166
|
-
);
|
|
167
|
-
}
|
|
168
|
-
|
|
169
|
-
if ( blockList.length === 0 ) {
|
|
170
|
-
const parentPageDetails =
|
|
171
|
-
pages && pages.find( ( page ) => page.id === parentPageID );
|
|
172
|
-
return (
|
|
173
|
-
<div { ...blockProps }>
|
|
174
|
-
<Warning>
|
|
175
|
-
{ sprintf(
|
|
176
|
-
// translators: %s: Page title.
|
|
177
|
-
__( '"%s" page has no children.' ),
|
|
178
|
-
parentPageDetails.title.rendered
|
|
179
|
-
) }
|
|
180
|
-
</Warning>
|
|
181
|
-
</div>
|
|
182
|
-
);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if ( totalPages > 0 ) {
|
|
186
|
-
return <ul { ...innerBlocksProps }></ul>;
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
|
|
190
|
-
const { replaceBlock, selectBlock } = useDispatch( blockEditorStore );
|
|
191
|
-
|
|
192
|
-
const { parentNavBlockClientId, isNested } = useSelect(
|
|
294
|
+
const { isNested } = useSelect(
|
|
193
295
|
( select ) => {
|
|
194
|
-
const {
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
296
|
+
const { getBlockParentsByBlockName } = select( blockEditorStore );
|
|
297
|
+
const blockParents = getBlockParentsByBlockName(
|
|
298
|
+
clientId,
|
|
299
|
+
'core/navigation-submenu',
|
|
300
|
+
true
|
|
301
|
+
);
|
|
199
302
|
return {
|
|
200
|
-
|
|
201
|
-
_selectedBlockClientId,
|
|
202
|
-
'core/navigation',
|
|
203
|
-
true
|
|
204
|
-
)[ 0 ],
|
|
205
|
-
isNested:
|
|
206
|
-
getBlockParentsByBlockName(
|
|
207
|
-
clientId,
|
|
208
|
-
'core/navigation-submenu',
|
|
209
|
-
true
|
|
210
|
-
).length > 0,
|
|
303
|
+
isNested: blockParents.length > 0,
|
|
211
304
|
};
|
|
212
305
|
},
|
|
213
306
|
[ clientId ]
|
|
@@ -220,27 +313,6 @@ export default function PageListEdit( {
|
|
|
220
313
|
return (
|
|
221
314
|
<>
|
|
222
315
|
<InspectorControls>
|
|
223
|
-
{ isNavigationChild && pages?.length > 0 && (
|
|
224
|
-
<PanelBody title={ __( 'Customize this menu' ) }>
|
|
225
|
-
<p>{ convertDescription }</p>
|
|
226
|
-
<Button
|
|
227
|
-
variant="primary"
|
|
228
|
-
disabled={ ! hasResolvedPages }
|
|
229
|
-
onClick={ () => {
|
|
230
|
-
const navigationLinks =
|
|
231
|
-
convertToNavigationLinks( pages );
|
|
232
|
-
|
|
233
|
-
// Replace the Page List block with the Navigation Links.
|
|
234
|
-
replaceBlock( clientId, navigationLinks );
|
|
235
|
-
|
|
236
|
-
// Select the Navigation block to reveal the changes.
|
|
237
|
-
selectBlock( parentNavBlockClientId );
|
|
238
|
-
} }
|
|
239
|
-
>
|
|
240
|
-
{ __( 'Customize' ) }
|
|
241
|
-
</Button>
|
|
242
|
-
</PanelBody>
|
|
243
|
-
) }
|
|
244
316
|
{ pagesTree.length > 0 && (
|
|
245
317
|
<PanelBody>
|
|
246
318
|
<ComboboxControl
|
|
@@ -257,70 +329,33 @@ export default function PageListEdit( {
|
|
|
257
329
|
/>
|
|
258
330
|
</PanelBody>
|
|
259
331
|
) }
|
|
332
|
+
{ allowConvertToLinks && (
|
|
333
|
+
<PanelBody title={ __( 'Edit this menu' ) }>
|
|
334
|
+
<p>{ convertDescription }</p>
|
|
335
|
+
<Button
|
|
336
|
+
variant="primary"
|
|
337
|
+
disabled={ ! hasResolvedPages }
|
|
338
|
+
onClick={ convertToNavigationLinks }
|
|
339
|
+
>
|
|
340
|
+
{ __( 'Edit' ) }
|
|
341
|
+
</Button>
|
|
342
|
+
</PanelBody>
|
|
343
|
+
) }
|
|
260
344
|
</InspectorControls>
|
|
261
|
-
{ allowConvertToLinks &&
|
|
262
|
-
<BlockControls group="other">
|
|
263
|
-
<ToolbarButton title={ __( 'Edit' ) } onClick={ openModal }>
|
|
264
|
-
{ __( 'Edit' ) }
|
|
265
|
-
</ToolbarButton>
|
|
266
|
-
</BlockControls>
|
|
267
|
-
) }
|
|
268
|
-
{ allowConvertToLinks && isOpen && (
|
|
345
|
+
{ allowConvertToLinks && (
|
|
269
346
|
<ConvertToLinksModal
|
|
270
|
-
|
|
271
|
-
|
|
347
|
+
disabled={ ! hasResolvedPages }
|
|
348
|
+
onClick={ convertToNavigationLinks }
|
|
272
349
|
/>
|
|
273
350
|
) }
|
|
274
|
-
|
|
275
|
-
|
|
351
|
+
<BlockContent
|
|
352
|
+
blockProps={ blockProps }
|
|
353
|
+
innerBlocksProps={ innerBlocksProps }
|
|
354
|
+
hasResolvedPages={ hasResolvedPages }
|
|
355
|
+
blockList={ blockList }
|
|
356
|
+
pages={ pages }
|
|
357
|
+
parentPageID={ parentPageID }
|
|
358
|
+
/>
|
|
276
359
|
</>
|
|
277
360
|
);
|
|
278
361
|
}
|
|
279
|
-
|
|
280
|
-
function useGetPages() {
|
|
281
|
-
const { records: pages, hasResolved: hasResolvedPages } = useEntityRecords(
|
|
282
|
-
'postType',
|
|
283
|
-
'page',
|
|
284
|
-
{
|
|
285
|
-
orderby: 'menu_order',
|
|
286
|
-
order: 'asc',
|
|
287
|
-
_fields: [ 'id', 'link', 'parent', 'title', 'menu_order' ],
|
|
288
|
-
per_page: -1,
|
|
289
|
-
context: 'view',
|
|
290
|
-
}
|
|
291
|
-
);
|
|
292
|
-
|
|
293
|
-
return [ pages, hasResolvedPages ];
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
function usePageData( pageId = 0 ) {
|
|
297
|
-
const [ pages, hasResolvedPages ] = useGetPages();
|
|
298
|
-
|
|
299
|
-
return useMemo( () => {
|
|
300
|
-
// TODO: Once the REST API supports passing multiple values to
|
|
301
|
-
// 'orderby', this can be removed.
|
|
302
|
-
// https://core.trac.wordpress.org/ticket/39037
|
|
303
|
-
|
|
304
|
-
const sortedPages = [ ...( pages ?? [] ) ].sort( ( a, b ) => {
|
|
305
|
-
if ( a.menu_order === b.menu_order ) {
|
|
306
|
-
return a.title.rendered.localeCompare( b.title.rendered );
|
|
307
|
-
}
|
|
308
|
-
return a.menu_order - b.menu_order;
|
|
309
|
-
} );
|
|
310
|
-
const pagesByParentId = sortedPages.reduce( ( accumulator, page ) => {
|
|
311
|
-
const { parent } = page;
|
|
312
|
-
if ( accumulator.has( parent ) ) {
|
|
313
|
-
accumulator.get( parent ).push( page );
|
|
314
|
-
} else {
|
|
315
|
-
accumulator.set( parent, [ page ] );
|
|
316
|
-
}
|
|
317
|
-
return accumulator;
|
|
318
|
-
}, new Map() );
|
|
319
|
-
|
|
320
|
-
return {
|
|
321
|
-
pagesByParentId,
|
|
322
|
-
hasResolvedPages,
|
|
323
|
-
totalPages: pages?.length ?? null,
|
|
324
|
-
};
|
|
325
|
-
}, [ pageId, pages, hasResolvedPages ] );
|
|
326
|
-
}
|
package/src/page-list/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { pages
|
|
4
|
+
import { pages } from '@wordpress/icons';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Internal dependencies
|
|
@@ -15,13 +15,7 @@ const { name } = metadata;
|
|
|
15
15
|
export { metadata, name };
|
|
16
16
|
|
|
17
17
|
export const settings = {
|
|
18
|
-
icon:
|
|
19
|
-
if ( context === 'list-view' ) {
|
|
20
|
-
return update;
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
return pages;
|
|
24
|
-
},
|
|
18
|
+
icon: pages,
|
|
25
19
|
example: {},
|
|
26
20
|
edit,
|
|
27
21
|
};
|
package/src/page-list/index.php
CHANGED
|
@@ -308,6 +308,11 @@ function render_block_core_page_list( $attributes, $content, $block ) {
|
|
|
308
308
|
$nested_pages = block_core_page_list_nest_pages( $top_level_pages, $pages_with_children );
|
|
309
309
|
|
|
310
310
|
if ( 0 !== $parent_page_id ) {
|
|
311
|
+
// If the parent page has no child pages, there is nothing to show.
|
|
312
|
+
if ( ! array_key_exists( $parent_page_id, $pages_with_children ) ) {
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
|
|
311
316
|
$nested_pages = block_core_page_list_nest_pages(
|
|
312
317
|
$pages_with_children[ $parent_page_id ],
|
|
313
318
|
$pages_with_children
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Internal dependencies
|
|
3
3
|
*/
|
|
4
4
|
|
|
5
|
-
import { convertToNavigationLinks } from '../convert-to-navigation-links';
|
|
5
|
+
import { convertToNavigationLinks } from '../use-convert-to-navigation-links';
|
|
6
6
|
|
|
7
7
|
// Mock createBlock to avoid creating the blocks in test environment
|
|
8
8
|
// as convertToNavigationLinks calls this method internally.
|