@wordpress/block-library 7.11.0 → 7.13.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 +9 -1
- package/build/archives/edit.js +7 -0
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +9 -1
- package/build/archives/index.js.map +1 -1
- package/build/audio/index.js +4 -0
- package/build/audio/index.js.map +1 -1
- package/build/block/edit.js +4 -2
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +4 -2
- package/build/block/edit.native.js.map +1 -1
- package/build/button/deprecated.js +14 -5
- package/build/button/deprecated.js.map +1 -1
- package/build/button/index.js +1 -1
- package/build/calendar/edit.js +12 -5
- package/build/calendar/edit.js.map +1 -1
- package/build/categories/edit.js +3 -1
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +14 -1
- package/build/categories/index.js.map +1 -1
- package/build/code/index.js +4 -2
- package/build/code/index.js.map +1 -1
- package/build/column/index.js +13 -0
- package/build/column/index.js.map +1 -1
- package/build/columns/deprecated.js +16 -5
- package/build/columns/deprecated.js.map +1 -1
- package/build/columns/edit.js +6 -2
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +8 -3
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/index.js +13 -0
- package/build/columns/index.js.map +1 -1
- package/build/comment-author-name/index.js +5 -1
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +5 -1
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/index.js +1 -0
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +5 -1
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +5 -1
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/index.js +14 -1
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/index.js +13 -0
- package/build/comments/index.js.map +1 -1
- package/build/comments-pagination/index.js +13 -0
- package/build/comments-pagination/index.js.map +1 -1
- package/build/comments-pagination-next/index.js +4 -2
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-numbers/edit.js +5 -1
- package/build/comments-pagination-numbers/edit.js.map +1 -1
- package/build/comments-pagination-numbers/index.js +14 -1
- package/build/comments-pagination-numbers/index.js.map +1 -1
- package/build/comments-pagination-previous/index.js +4 -2
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/comments-title/deprecated.js +4 -2
- package/build/comments-title/deprecated.js.map +1 -1
- package/build/comments-title/index.js +4 -2
- package/build/comments-title/index.js.map +1 -1
- package/build/cover/deprecated.js +20 -5
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/resizable-cover.js +6 -0
- package/build/cover/edit/resizable-cover.js.map +1 -1
- package/build/cover/index.js +13 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/shared.js +1 -1
- package/build/cover/shared.js.map +1 -1
- package/build/embed/icons.js +1 -1
- package/build/embed/icons.js.map +1 -1
- package/build/gallery/deprecated.js +6 -1
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +15 -2
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/index.js +5 -0
- package/build/gallery/index.js.map +1 -1
- package/build/gallery/transforms.js +20 -7
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/utils.js +7 -6
- package/build/gallery/utils.js.map +1 -1
- package/build/group/deprecated.js +108 -12
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +23 -1
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +10 -2
- package/build/group/index.js.map +1 -1
- package/build/group/transforms.js +5 -0
- package/build/group/transforms.js.map +1 -1
- package/build/group/variations.js +8 -8
- package/build/group/variations.js.map +1 -1
- package/build/heading/deprecated.js +5 -3
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/index.js +3 -1
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +3 -1
- package/build/heading/transforms.js.map +1 -1
- package/build/home-link/edit.js +8 -4
- package/build/home-link/edit.js.map +1 -1
- package/build/image/edit.js +13 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/index.js +13 -7
- package/build/image/index.js.map +1 -1
- package/build/index.native.js +23 -7
- package/build/index.native.js.map +1 -1
- package/build/list/index.js +10 -0
- package/build/list/index.js.map +1 -1
- package/build/list/v2/edit.js +16 -5
- package/build/list/v2/edit.js.map +1 -1
- package/build/list/v2/tag-name.js +31 -0
- package/build/list/v2/tag-name.js.map +1 -0
- package/build/list/v2/tag-name.native.js +32 -0
- package/build/list/v2/tag-name.native.js.map +1 -0
- package/build/list/v2/transforms.js +1 -11
- package/build/list/v2/transforms.js.map +1 -1
- package/build/list-item/edit.js +4 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js +158 -0
- package/build/list-item/edit.native.js.map +1 -0
- package/build/list-item/hooks/index.js +8 -0
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-copy.js +42 -0
- package/build/list-item/hooks/use-copy.js.map +1 -0
- package/build/list-item/icons.native.js +53 -0
- package/build/list-item/icons.native.js.map +1 -0
- package/build/list-item/list-style-type.native.js +139 -0
- package/build/list-item/list-style-type.native.js.map +1 -0
- package/build/list-item/utils.js +4 -0
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/deprecated.js +193 -67
- package/build/media-text/deprecated.js.map +1 -1
- package/build/media-text/edit.js +2 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +17 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +1 -1
- package/build/media-text/media-container.js.map +1 -1
- package/build/navigation/deprecated.js +6 -1
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +180 -154
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +11 -14
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -2
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +13 -3
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +2 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +5 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-inner-blocks.js +43 -0
- package/build/navigation/edit/use-inner-blocks.js.map +1 -0
- package/build/navigation/edit/utils.js +28 -0
- package/build/navigation/edit/utils.js.map +1 -0
- package/build/navigation/index.js +1 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +1 -7
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -10
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +6 -8
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -6
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +7 -3
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/deprecated.js +18 -10
- package/build/paragraph/deprecated.js.map +1 -1
- package/build/paragraph/edit.js +1 -0
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +7 -0
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +7 -0
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-author/edit.js +5 -2
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +4 -2
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/edit.js +7 -1
- package/build/post-author-biography/edit.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 +5 -1
- package/build/post-author-name/index.js.map +1 -1
- package/build/post-comments-count/edit.js +11 -1
- package/build/post-comments-count/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -1
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -2
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +4 -2
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +9 -2
- package/build/post-date/edit.js.map +1 -1
- package/build/post-date/index.js +9 -0
- package/build/post-date/index.js.map +1 -1
- package/build/post-featured-image/edit.js +43 -14
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +21 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/index.js +3 -2
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/edit.js +8 -4
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +14 -1
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/index.js +5 -3
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/index.js +2 -1
- package/build/post-title/index.js.map +1 -1
- package/build/preformatted/index.js +4 -2
- package/build/preformatted/index.js.map +1 -1
- package/build/pullquote/deprecated.js +135 -25
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/pullquote/edit.js +1 -1
- package/build/pullquote/edit.js.map +1 -1
- package/build/pullquote/edit.native.js +0 -1
- package/build/pullquote/edit.native.js.map +1 -1
- package/build/pullquote/index.js +13 -6
- package/build/pullquote/index.js.map +1 -1
- package/build/pullquote/save.js +2 -2
- package/build/pullquote/save.js.map +1 -1
- package/build/pullquote/transforms.js +14 -33
- package/build/pullquote/transforms.js.map +1 -1
- package/build/query/deprecated.js +10 -9
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +19 -8
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +42 -9
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +22 -14
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-placeholder.js +6 -1
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +35 -9
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/edit.js +1 -1
- package/build/query-no-results/edit.js.map +1 -1
- package/build/query-title/edit.js +30 -8
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/index.js +11 -2
- package/build/query-title/index.js.map +1 -1
- package/build/query-title/variations.js +10 -0
- package/build/query-title/variations.js.map +1 -1
- package/build/quote/deprecated.js +13 -6
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/transforms.js +24 -39
- package/build/quote/transforms.js.map +1 -1
- package/build/separator/deprecated.js +3 -4
- package/build/separator/deprecated.js.map +1 -1
- package/build/separator/edit.js +1 -1
- package/build/separator/edit.js.map +1 -1
- package/build/separator/index.js +1 -0
- package/build/separator/index.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/social-links/edit.js +44 -9
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/index.js +9 -0
- package/build/social-links/index.js.map +1 -1
- package/build/spacer/index.js +7 -1
- package/build/spacer/index.js.map +1 -1
- package/build/table/index.js +4 -0
- package/build/table/index.js.map +1 -1
- package/build/table/state.js +9 -3
- package/build/table/state.js.map +1 -1
- package/build/table-of-contents/index.js +24 -1
- package/build/table-of-contents/index.js.map +1 -1
- package/build/tag-cloud/index.js +5 -1
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/edit/index.js +4 -2
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/index.js +2 -2
- package/build/template-part/index.js.map +1 -1
- package/build/term-description/index.js +4 -0
- package/build/term-description/index.js.map +1 -1
- package/build/text-columns/edit.js +3 -1
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +3 -1
- package/build/text-columns/save.js.map +1 -1
- package/build/verse/index.js +1 -0
- package/build/verse/index.js.map +1 -1
- package/build/video/index.js +4 -0
- package/build/video/index.js.map +1 -1
- package/build-module/archives/edit.js +7 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +9 -1
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/index.js +4 -0
- package/build-module/audio/index.js.map +1 -1
- package/build-module/block/edit.js +5 -3
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +5 -3
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/button/deprecated.js +14 -4
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/index.js +1 -1
- package/build-module/calendar/edit.js +12 -4
- package/build-module/calendar/edit.js.map +1 -1
- package/build-module/categories/edit.js +4 -2
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +14 -1
- package/build-module/categories/index.js.map +1 -1
- package/build-module/code/index.js +4 -2
- package/build-module/code/index.js.map +1 -1
- package/build-module/column/index.js +13 -0
- package/build-module/column/index.js.map +1 -1
- package/build-module/columns/deprecated.js +16 -4
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/columns/edit.js +7 -3
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +9 -4
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/index.js +13 -0
- package/build-module/columns/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +5 -1
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +5 -1
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/index.js +1 -0
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +5 -1
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +5 -1
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/index.js +14 -1
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/index.js +13 -0
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-pagination/index.js +13 -0
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +4 -2
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-numbers/edit.js +5 -1
- package/build-module/comments-pagination-numbers/edit.js.map +1 -1
- package/build-module/comments-pagination-numbers/index.js +14 -1
- package/build-module/comments-pagination-numbers/index.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +4 -2
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/comments-title/deprecated.js +4 -2
- package/build-module/comments-title/deprecated.js.map +1 -1
- package/build-module/comments-title/index.js +4 -2
- package/build-module/comments-title/index.js.map +1 -1
- package/build-module/cover/deprecated.js +20 -4
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/resizable-cover.js +6 -0
- package/build-module/cover/edit/resizable-cover.js.map +1 -1
- package/build-module/cover/index.js +13 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/shared.js +1 -1
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/embed/icons.js +1 -1
- package/build-module/embed/icons.js.map +1 -1
- package/build-module/gallery/deprecated.js +7 -2
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +15 -2
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/index.js +5 -0
- package/build-module/gallery/index.js.map +1 -1
- package/build-module/gallery/transforms.js +20 -7
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/utils.js +7 -6
- package/build-module/gallery/utils.js.map +1 -1
- package/build-module/group/deprecated.js +109 -12
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/edit.js +25 -2
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +10 -2
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/transforms.js +5 -0
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/group/variations.js +8 -8
- package/build-module/group/variations.js.map +1 -1
- package/build-module/heading/deprecated.js +5 -2
- package/build-module/heading/deprecated.js.map +1 -1
- package/build-module/heading/index.js +3 -1
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +3 -1
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/home-link/edit.js +10 -6
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/image/edit.js +14 -2
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/index.js +13 -7
- package/build-module/image/index.js.map +1 -1
- package/build-module/index.native.js +22 -6
- package/build-module/index.native.js.map +1 -1
- package/build-module/list/index.js +5 -1
- package/build-module/list/index.js.map +1 -1
- package/build-module/list/v2/edit.js +15 -5
- package/build-module/list/v2/edit.js.map +1 -1
- package/build-module/list/v2/tag-name.js +21 -0
- package/build-module/list/v2/tag-name.js.map +1 -0
- package/build-module/list/v2/tag-name.native.js +21 -0
- package/build-module/list/v2/tag-name.native.js.map +1 -0
- package/build-module/list/v2/transforms.js +1 -10
- package/build-module/list/v2/transforms.js.map +1 -1
- package/build-module/list-item/edit.js +5 -5
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js +141 -0
- package/build-module/list-item/edit.native.js.map +1 -0
- package/build-module/list-item/hooks/index.js +1 -0
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-copy.js +32 -0
- package/build-module/list-item/hooks/use-copy.js.map +1 -0
- package/build-module/list-item/icons.native.js +37 -0
- package/build-module/list-item/icons.native.js.map +1 -0
- package/build-module/list-item/list-style-type.native.js +126 -0
- package/build-module/list-item/list-style-type.native.js.map +1 -0
- package/build-module/list-item/utils.js +4 -0
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/deprecated.js +195 -67
- package/build-module/media-text/deprecated.js.map +1 -1
- package/build-module/media-text/edit.js +2 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +17 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +1 -1
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/navigation/deprecated.js +7 -2
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +178 -154
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +12 -15
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -2
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +12 -3
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +2 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -7
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +5 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-inner-blocks.js +33 -0
- package/build-module/navigation/edit/use-inner-blocks.js.map +1 -0
- package/build-module/navigation/edit/utils.js +21 -0
- package/build-module/navigation/edit/utils.js.map +1 -0
- package/build-module/navigation/index.js +1 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +1 -6
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -10
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +7 -9
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +5 -7
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +7 -2
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/deprecated.js +18 -9
- package/build-module/paragraph/deprecated.js.map +1 -1
- package/build-module/paragraph/edit.js +1 -0
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +7 -0
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +7 -0
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-author/edit.js +5 -2
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +4 -2
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/edit.js +6 -1
- package/build-module/post-author-biography/edit.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 +5 -1
- package/build-module/post-author-name/index.js.map +1 -1
- package/build-module/post-comments-count/edit.js +10 -1
- package/build-module/post-comments-count/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -1
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -2
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +5 -3
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +9 -2
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-date/index.js +9 -0
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-featured-image/edit.js +45 -16
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +21 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/index.js +3 -2
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/edit.js +8 -4
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +14 -1
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/index.js +5 -3
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/index.js +2 -1
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/preformatted/index.js +4 -2
- package/build-module/preformatted/index.js.map +1 -1
- package/build-module/pullquote/deprecated.js +134 -25
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/pullquote/edit.js +1 -1
- package/build-module/pullquote/edit.js.map +1 -1
- package/build-module/pullquote/edit.native.js +0 -1
- package/build-module/pullquote/edit.native.js.map +1 -1
- package/build-module/pullquote/index.js +13 -6
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/pullquote/save.js +2 -2
- package/build-module/pullquote/save.js.map +1 -1
- package/build-module/pullquote/transforms.js +15 -34
- package/build-module/pullquote/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +10 -8
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +23 -12
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +42 -9
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +17 -12
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +6 -1
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +32 -7
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/edit.js +1 -1
- package/build-module/query-no-results/edit.js.map +1 -1
- package/build-module/query-title/edit.js +30 -9
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/index.js +11 -2
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/query-title/variations.js +10 -0
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/quote/deprecated.js +13 -5
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/transforms.js +25 -40
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/separator/deprecated.js +3 -3
- package/build-module/separator/deprecated.js.map +1 -1
- package/build-module/separator/edit.js +1 -1
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/separator/index.js +1 -0
- package/build-module/separator/index.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/social-links/edit.js +46 -12
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/social-links/index.js +9 -0
- package/build-module/social-links/index.js.map +1 -1
- package/build-module/spacer/index.js +7 -1
- package/build-module/spacer/index.js.map +1 -1
- package/build-module/table/index.js +4 -0
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/state.js +10 -4
- package/build-module/table/state.js.map +1 -1
- package/build-module/table-of-contents/index.js +24 -1
- package/build-module/table-of-contents/index.js.map +1 -1
- package/build-module/tag-cloud/index.js +5 -1
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/edit/index.js +5 -3
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/index.js +2 -2
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/term-description/index.js +4 -0
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/text-columns/edit.js +4 -2
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +4 -2
- package/build-module/text-columns/save.js.map +1 -1
- package/build-module/verse/index.js +1 -0
- package/build-module/verse/index.js.map +1 -1
- package/build-module/video/index.js +4 -0
- package/build-module/video/index.js.map +1 -1
- package/build-style/audio/style-rtl.css +3 -0
- package/build-style/audio/style.css +3 -0
- package/build-style/button/style-rtl.css +6 -6
- package/build-style/button/style.css +6 -6
- package/build-style/editor-rtl.css +115 -122
- package/build-style/editor.css +115 -122
- package/build-style/group/editor-rtl.css +27 -8
- package/build-style/group/editor.css +27 -8
- package/build-style/image/editor-rtl.css +21 -2
- package/build-style/image/editor.css +21 -2
- package/build-style/latest-posts/editor-rtl.css +3 -0
- package/build-style/latest-posts/editor.css +3 -0
- package/build-style/media-text/style-rtl.css +1 -0
- package/build-style/media-text/style.css +1 -0
- package/build-style/navigation/editor-rtl.css +8 -4
- package/build-style/navigation/editor.css +8 -4
- package/build-style/navigation/style-rtl.css +17 -19
- package/build-style/navigation/style.css +17 -19
- package/build-style/paragraph/editor-rtl.css +1 -1
- package/build-style/paragraph/editor.css +1 -1
- package/build-style/post-date/style-rtl.css +79 -0
- package/build-style/post-date/style.css +79 -0
- package/build-style/post-featured-image/editor-rtl.css +45 -43
- package/build-style/post-featured-image/editor.css +45 -43
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- package/build-style/post-title/style-rtl.css +1 -0
- package/build-style/post-title/style.css +1 -0
- package/build-style/pullquote/editor-rtl.css +0 -12
- package/build-style/pullquote/editor.css +0 -12
- package/build-style/pullquote/style-rtl.css +1 -8
- package/build-style/pullquote/style.css +1 -8
- package/build-style/query/editor-rtl.css +7 -0
- package/build-style/query/editor.css +7 -0
- package/build-style/query-pagination/style-rtl.css +6 -0
- package/build-style/query-pagination/style.css +6 -0
- package/build-style/query-title/style-rtl.css +79 -0
- package/build-style/query-title/style.css +79 -0
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/site-logo/editor-rtl.css +3 -52
- package/build-style/site-logo/editor.css +3 -52
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +52 -35
- package/build-style/style.css +52 -35
- package/build-style/tag-cloud/style-rtl.css +1 -0
- package/build-style/tag-cloud/style.css +1 -0
- package/build-style/video/style-rtl.css +3 -0
- package/build-style/video/style.css +3 -0
- package/package.json +30 -30
- package/src/archives/block.json +9 -1
- package/src/archives/edit.js +12 -1
- package/src/archives/index.php +5 -3
- package/src/audio/block.json +4 -0
- package/src/audio/style.scss +2 -0
- package/src/audio/test/__snapshots__/edit.native.js.snap +16 -2
- package/src/block/edit.js +4 -4
- package/src/block/edit.native.js +4 -4
- package/src/button/block.json +1 -1
- package/src/button/deprecated.js +21 -22
- package/src/button/style.scss +6 -6
- package/src/calendar/edit.js +11 -4
- package/src/calendar/index.php +2 -2
- package/src/categories/block.json +14 -1
- package/src/categories/edit.js +2 -2
- package/src/code/block.json +4 -2
- package/src/column/block.json +13 -0
- package/src/columns/block.json +13 -0
- package/src/columns/deprecated.js +10 -4
- package/src/columns/edit.js +7 -3
- package/src/columns/edit.native.js +10 -4
- package/src/comment-author-name/block.json +5 -1
- package/src/comment-content/block.json +5 -1
- package/src/comment-date/block.json +1 -0
- package/src/comment-edit-link/block.json +5 -1
- package/src/comment-reply-link/block.json +5 -1
- package/src/comment-template/block.json +14 -1
- package/src/comments/block.json +13 -0
- package/src/comments/index.php +6 -5
- package/src/comments-pagination/block.json +13 -0
- package/src/comments-pagination-next/block.json +4 -2
- package/src/comments-pagination-numbers/block.json +14 -1
- package/src/comments-pagination-numbers/edit.js +12 -3
- package/src/comments-pagination-previous/block.json +4 -2
- package/src/comments-title/block.json +4 -2
- package/src/cover/block.json +13 -0
- package/src/cover/deprecated.js +11 -4
- package/src/cover/edit/resizable-cover.js +6 -0
- package/src/cover/index.php +2 -2
- package/src/cover/shared.js +2 -1
- package/src/embed/icons.js +1 -1
- package/src/file/test/__snapshots__/edit.native.js.snap +32 -4
- package/src/gallery/block.json +5 -0
- package/src/gallery/deprecated.js +4 -2
- package/src/gallery/edit.js +22 -2
- package/src/gallery/transforms.js +18 -5
- package/src/gallery/utils.js +11 -7
- package/src/group/block.json +10 -2
- package/src/group/deprecated.js +89 -2
- package/src/group/edit.js +15 -2
- package/src/group/editor.scss +28 -3
- package/src/group/transforms.js +7 -0
- package/src/group/variations.js +4 -3
- package/src/heading/block.json +3 -1
- package/src/heading/deprecated.js +4 -2
- package/src/home-link/edit.js +19 -20
- package/src/home-link/index.php +8 -17
- package/src/image/block.json +13 -7
- package/src/image/edit.js +19 -1
- package/src/image/editor.scss +39 -3
- package/src/image/index.php +1 -1
- package/src/image/test/edit.native.js +6 -10
- package/src/index.native.js +30 -12
- package/src/latest-posts/editor.scss +5 -0
- package/src/list/block.json +4 -0
- package/src/list/index.js +1 -1
- package/src/list/test/__snapshots__/edit.native.js.snap +133 -0
- package/src/list/test/edit.native.js +511 -7
- package/src/list/v2/edit.js +12 -4
- package/src/list/v2/tag-name.js +13 -0
- package/src/list/v2/tag-name.native.js +12 -0
- package/src/list/v2/transforms.js +1 -9
- package/src/list-item/edit.js +3 -2
- package/src/list-item/edit.native.js +148 -0
- package/src/list-item/hooks/index.js +1 -0
- package/src/list-item/hooks/use-copy.js +36 -0
- package/src/list-item/icons.native.js +34 -0
- package/src/list-item/list-style-type.native.js +146 -0
- package/src/list-item/style.native.scss +49 -0
- package/src/media-text/block.json +17 -0
- package/src/media-text/deprecated.js +564 -417
- package/src/media-text/edit.js +1 -0
- package/src/media-text/media-container.js +3 -1
- package/src/media-text/style.scss +2 -0
- package/src/media-text/test/media-container.js +24 -0
- package/src/navigation/block.json +1 -0
- package/src/navigation/deprecated.js +4 -2
- package/src/navigation/edit/index.js +234 -237
- package/src/navigation/edit/navigation-menu-selector.js +12 -26
- package/src/navigation/edit/placeholder/index.js +4 -2
- package/src/navigation/edit/responsive-wrapper.js +24 -3
- package/src/navigation/edit/unsaved-inner-blocks.js +3 -1
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +31 -37
- package/src/navigation/edit/use-create-navigation-menu.js +4 -0
- package/src/navigation/edit/use-inner-blocks.js +39 -0
- package/src/navigation/edit/utils.js +30 -0
- package/src/navigation/editor.scss +3 -2
- package/src/navigation/index.php +17 -16
- package/src/navigation/menu-items-to-blocks.js +3 -6
- package/src/navigation/style.scss +13 -22
- package/src/navigation/test/use-navigation-menu.js +18 -1
- package/src/navigation/use-navigation-menu.js +20 -13
- package/src/navigation-link/edit.js +9 -13
- package/src/navigation-link/index.php +1 -1
- package/src/navigation-submenu/edit.js +9 -13
- package/src/navigation-submenu/index.php +1 -1
- package/src/page-list/edit.js +6 -2
- package/src/page-list/index.php +4 -4
- package/src/paragraph/block.json +7 -0
- package/src/paragraph/deprecated.js +33 -35
- package/src/paragraph/edit.js +1 -0
- package/src/paragraph/editor.scss +5 -3
- package/src/post-author/block.json +4 -2
- package/src/post-author/edit.js +6 -3
- package/src/post-author-biography/block.json +1 -0
- package/src/post-author-biography/edit.js +4 -1
- package/src/post-author-name/block.json +5 -1
- package/src/post-comments-count/block.json +4 -1
- package/src/post-comments-count/edit.js +10 -2
- package/src/post-comments-link/block.json +4 -2
- package/src/post-content/edit.js +4 -4
- package/src/post-date/block.json +9 -0
- package/src/post-date/edit.js +12 -2
- package/src/post-date/index.php +10 -2
- package/src/post-date/style.scss +4 -0
- package/src/post-featured-image/block.json +21 -0
- package/src/post-featured-image/edit.js +66 -14
- package/src/post-featured-image/editor.scss +44 -53
- package/src/post-featured-image/index.php +64 -5
- package/src/post-featured-image/style.scss +1 -0
- package/src/post-navigation-link/block.json +3 -2
- package/src/post-template/block.json +15 -1
- package/src/post-template/edit.js +6 -1
- package/src/post-template/index.php +7 -4
- package/src/post-terms/block.json +5 -3
- package/src/post-title/block.json +2 -1
- package/src/post-title/index.php +2 -1
- package/src/post-title/style.scss +2 -0
- package/src/preformatted/block.json +4 -2
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +16 -2
- package/src/pullquote/block.json +11 -4
- package/src/pullquote/deprecated.js +490 -412
- package/src/pullquote/edit.js +1 -1
- package/src/pullquote/edit.native.js +0 -1
- package/src/pullquote/editor.scss +0 -16
- package/src/pullquote/index.js +1 -3
- package/src/pullquote/save.js +1 -1
- package/src/pullquote/style.scss +0 -11
- package/src/pullquote/transforms.js +17 -33
- package/src/query/deprecated.js +4 -9
- package/src/query/edit/index.js +28 -15
- package/src/query/edit/inspector-controls/index.js +129 -65
- package/src/query/edit/inspector-controls/taxonomy-controls.js +18 -11
- package/src/query/edit/query-placeholder.js +17 -2
- package/src/query/editor.scss +9 -0
- package/src/query/utils.js +29 -7
- package/src/query-no-results/edit.js +1 -1
- package/src/query-pagination/style.scss +14 -0
- package/src/query-title/block.json +11 -2
- package/src/query-title/edit.js +51 -7
- package/src/query-title/index.php +28 -2
- package/src/query-title/style.scss +4 -0
- package/src/query-title/variations.js +13 -0
- package/src/quote/deprecated.js +6 -5
- package/src/quote/transforms.js +6 -24
- package/src/search/index.php +1 -1
- package/src/search/style.scss +2 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +56 -7
- package/src/separator/block.json +1 -0
- package/src/separator/deprecated.js +2 -3
- package/src/separator/edit.js +1 -1
- package/src/separator/test/edit.js +5 -3
- package/src/site-logo/editor.scss +8 -66
- package/src/site-title/index.php +8 -9
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +2 -2
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/block.json +9 -0
- package/src/social-links/edit.js +48 -19
- package/src/spacer/block.json +7 -1
- package/src/style.scss +2 -0
- package/src/table/block.json +4 -0
- package/src/table/state.js +21 -19
- package/src/table-of-contents/block.json +24 -1
- package/src/tag-cloud/block.json +5 -1
- package/src/tag-cloud/style.scss +1 -0
- package/src/template-part/edit/index.js +4 -4
- package/src/template-part/index.js +3 -2
- package/src/term-description/block.json +4 -0
- package/src/text-columns/edit.js +2 -2
- package/src/text-columns/save.js +2 -2
- package/src/verse/block.json +1 -0
- package/src/video/block.json +4 -0
- package/src/video/style.scss +2 -0
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
import { __, sprintf } from '@wordpress/i18n';
|
|
11
11
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
12
12
|
import { addQueryArgs } from '@wordpress/url';
|
|
13
|
-
import { forwardRef,
|
|
13
|
+
import { forwardRef, useMemo } from '@wordpress/element';
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* Internal dependencies
|
|
@@ -21,7 +21,8 @@ import useNavigationEntities from '../use-navigation-entities';
|
|
|
21
21
|
function NavigationMenuSelector(
|
|
22
22
|
{
|
|
23
23
|
currentMenuId,
|
|
24
|
-
|
|
24
|
+
onSelectNavigationMenu,
|
|
25
|
+
onSelectClassicMenu,
|
|
25
26
|
onCreateNew,
|
|
26
27
|
showManageActions = false,
|
|
27
28
|
actionLabel,
|
|
@@ -43,24 +44,6 @@ function NavigationMenuSelector(
|
|
|
43
44
|
canSwitchNavigationMenu,
|
|
44
45
|
} = useNavigationMenu();
|
|
45
46
|
|
|
46
|
-
const handleSelect = useCallback(
|
|
47
|
-
( _onClose ) => ( selectedId ) => {
|
|
48
|
-
_onClose();
|
|
49
|
-
onSelect(
|
|
50
|
-
navigationMenus?.find( ( post ) => post.id === selectedId )
|
|
51
|
-
);
|
|
52
|
-
},
|
|
53
|
-
[ navigationMenus ]
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
const handleSelectClassic = useCallback(
|
|
57
|
-
( _onClose, menu ) => () => {
|
|
58
|
-
_onClose();
|
|
59
|
-
onSelect( menu );
|
|
60
|
-
},
|
|
61
|
-
[]
|
|
62
|
-
);
|
|
63
|
-
|
|
64
47
|
const menuChoices = useMemo( () => {
|
|
65
48
|
return (
|
|
66
49
|
navigationMenus?.map( ( { id, title } ) => {
|
|
@@ -83,7 +66,7 @@ function NavigationMenuSelector(
|
|
|
83
66
|
|
|
84
67
|
// Show the selector if:
|
|
85
68
|
// - has switch or create permissions and there are block or classic menus.
|
|
86
|
-
// - user has create or update
|
|
69
|
+
// - user has create or update permissions and component should show the menu actions.
|
|
87
70
|
const showSelectMenus =
|
|
88
71
|
( ( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&
|
|
89
72
|
( hasNavigationMenus || hasClassicMenus ) ) ||
|
|
@@ -107,7 +90,10 @@ function NavigationMenuSelector(
|
|
|
107
90
|
<MenuGroup label={ __( 'Menus' ) }>
|
|
108
91
|
<MenuItemsChoice
|
|
109
92
|
value={ currentMenuId }
|
|
110
|
-
onSelect={
|
|
93
|
+
onSelect={ ( menuId ) => {
|
|
94
|
+
onClose();
|
|
95
|
+
onSelectNavigationMenu( menuId );
|
|
96
|
+
} }
|
|
111
97
|
choices={ menuChoices }
|
|
112
98
|
/>
|
|
113
99
|
</MenuGroup>
|
|
@@ -118,10 +104,10 @@ function NavigationMenuSelector(
|
|
|
118
104
|
const label = decodeEntities( menu.name );
|
|
119
105
|
return (
|
|
120
106
|
<MenuItem
|
|
121
|
-
onClick={
|
|
122
|
-
onClose
|
|
123
|
-
menu
|
|
124
|
-
|
|
107
|
+
onClick={ () => {
|
|
108
|
+
onClose();
|
|
109
|
+
onSelectClassicMenu( menu );
|
|
110
|
+
} }
|
|
125
111
|
key={ menu.id }
|
|
126
112
|
aria-label={ sprintf(
|
|
127
113
|
createActionLabel,
|
|
@@ -20,7 +20,8 @@ export default function NavigationPlaceholder( {
|
|
|
20
20
|
clientId,
|
|
21
21
|
canUserCreateNavigationMenu = false,
|
|
22
22
|
isResolvingCanUserCreateNavigationMenu,
|
|
23
|
-
|
|
23
|
+
onSelectNavigationMenu,
|
|
24
|
+
onSelectClassicMenu,
|
|
24
25
|
onCreateEmpty,
|
|
25
26
|
} ) {
|
|
26
27
|
const { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();
|
|
@@ -67,7 +68,8 @@ export default function NavigationPlaceholder( {
|
|
|
67
68
|
<NavigationMenuSelector
|
|
68
69
|
currentMenuId={ currentMenuId }
|
|
69
70
|
clientId={ clientId }
|
|
70
|
-
|
|
71
|
+
onSelectNavigationMenu={ onSelectNavigationMenu }
|
|
72
|
+
onSelectClassicMenu={ onSelectClassicMenu }
|
|
71
73
|
toggleProps={ {
|
|
72
74
|
variant: 'tertiary',
|
|
73
75
|
iconPosition: 'right',
|
|
@@ -9,6 +9,7 @@ import classnames from 'classnames';
|
|
|
9
9
|
import { close, Icon } from '@wordpress/icons';
|
|
10
10
|
import { Button } from '@wordpress/components';
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
|
+
import { getColorClassName } from '@wordpress/block-editor';
|
|
12
13
|
|
|
13
14
|
/**
|
|
14
15
|
* Internal dependencies
|
|
@@ -22,21 +23,41 @@ export default function ResponsiveWrapper( {
|
|
|
22
23
|
isResponsive,
|
|
23
24
|
onToggle,
|
|
24
25
|
isHiddenByDefault,
|
|
25
|
-
|
|
26
|
-
|
|
26
|
+
overlayBackgroundColor,
|
|
27
|
+
overlayTextColor,
|
|
27
28
|
hasIcon,
|
|
28
29
|
} ) {
|
|
29
30
|
if ( ! isResponsive ) {
|
|
30
31
|
return children;
|
|
31
32
|
}
|
|
33
|
+
|
|
32
34
|
const responsiveContainerClasses = classnames(
|
|
33
35
|
'wp-block-navigation__responsive-container',
|
|
34
|
-
classNames,
|
|
35
36
|
{
|
|
37
|
+
'has-text-color':
|
|
38
|
+
!! overlayTextColor.color || !! overlayTextColor?.class,
|
|
39
|
+
[ getColorClassName( 'color', overlayTextColor?.slug ) ]:
|
|
40
|
+
!! overlayTextColor?.slug,
|
|
41
|
+
'has-background':
|
|
42
|
+
!! overlayBackgroundColor.color ||
|
|
43
|
+
overlayBackgroundColor?.class,
|
|
44
|
+
[ getColorClassName(
|
|
45
|
+
'background-color',
|
|
46
|
+
overlayBackgroundColor?.slug
|
|
47
|
+
) ]: !! overlayBackgroundColor?.slug,
|
|
36
48
|
'is-menu-open': isOpen,
|
|
37
49
|
'hidden-by-default': isHiddenByDefault,
|
|
38
50
|
}
|
|
39
51
|
);
|
|
52
|
+
|
|
53
|
+
const styles = {
|
|
54
|
+
color: ! overlayTextColor?.slug && overlayTextColor?.color,
|
|
55
|
+
backgroundColor:
|
|
56
|
+
! overlayBackgroundColor?.slug &&
|
|
57
|
+
overlayBackgroundColor?.color &&
|
|
58
|
+
overlayBackgroundColor.color,
|
|
59
|
+
};
|
|
60
|
+
|
|
40
61
|
const openButtonClasses = classnames(
|
|
41
62
|
'wp-block-navigation__responsive-container-open',
|
|
42
63
|
{ 'always-shown': isHiddenByDefault }
|
|
@@ -63,7 +63,9 @@ export default function UnsavedInnerBlocks( {
|
|
|
63
63
|
// from the original inner blocks from the post content then the
|
|
64
64
|
// user has made changes to the inner blocks. At this point the inner
|
|
65
65
|
// blocks can be considered "dirty".
|
|
66
|
-
|
|
66
|
+
// We also make sure the current innerBlocks had a chance to be set.
|
|
67
|
+
const innerBlocksAreDirty =
|
|
68
|
+
!! originalBlocks.current && blocks !== originalBlocks.current;
|
|
67
69
|
|
|
68
70
|
const shouldDirectInsert = useMemo(
|
|
69
71
|
() =>
|
|
@@ -23,7 +23,6 @@ function useConvertClassicToBlockMenu( clientId ) {
|
|
|
23
23
|
const registry = useRegistry();
|
|
24
24
|
|
|
25
25
|
const [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );
|
|
26
|
-
const [ value, setValue ] = useState( null );
|
|
27
26
|
const [ error, setError ] = useState( null );
|
|
28
27
|
|
|
29
28
|
async function convertClassicMenuToBlockMenu( menuId, menuName ) {
|
|
@@ -88,47 +87,42 @@ function useConvertClassicToBlockMenu( clientId ) {
|
|
|
88
87
|
return navigationMenu;
|
|
89
88
|
}
|
|
90
89
|
|
|
91
|
-
const convert = useCallback(
|
|
92
|
-
( menuId
|
|
93
|
-
|
|
94
|
-
|
|
90
|
+
const convert = useCallback( async ( menuId, menuName ) => {
|
|
91
|
+
if ( ! menuId || ! menuName ) {
|
|
92
|
+
setError( 'Unable to convert menu. Missing menu details.' );
|
|
93
|
+
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
setStatus( CLASSIC_MENU_CONVERSION_PENDING );
|
|
98
|
+
setError( null );
|
|
99
|
+
|
|
100
|
+
return await convertClassicMenuToBlockMenu( menuId, menuName )
|
|
101
|
+
.then( ( navigationMenu ) => {
|
|
102
|
+
setStatus( CLASSIC_MENU_CONVERSION_SUCCESS );
|
|
103
|
+
return navigationMenu;
|
|
104
|
+
} )
|
|
105
|
+
.catch( ( err ) => {
|
|
106
|
+
setError( err?.message );
|
|
95
107
|
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
111
|
-
|
|
112
|
-
// Rethrow error for debugging.
|
|
113
|
-
throw new Error(
|
|
114
|
-
sprintf(
|
|
115
|
-
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
116
|
-
__( `Unable to create Navigation Menu "%s".` ),
|
|
117
|
-
menuName
|
|
118
|
-
),
|
|
119
|
-
{
|
|
120
|
-
cause: err,
|
|
121
|
-
}
|
|
122
|
-
);
|
|
123
|
-
} );
|
|
124
|
-
},
|
|
125
|
-
[ clientId ]
|
|
126
|
-
);
|
|
108
|
+
|
|
109
|
+
// Rethrow error for debugging.
|
|
110
|
+
throw new Error(
|
|
111
|
+
sprintf(
|
|
112
|
+
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
113
|
+
__( `Unable to create Navigation Menu "%s".` ),
|
|
114
|
+
menuName
|
|
115
|
+
),
|
|
116
|
+
{
|
|
117
|
+
cause: err,
|
|
118
|
+
}
|
|
119
|
+
);
|
|
120
|
+
} );
|
|
121
|
+
}, [] );
|
|
127
122
|
|
|
128
123
|
return {
|
|
129
124
|
convert,
|
|
130
125
|
status,
|
|
131
|
-
value,
|
|
132
126
|
error,
|
|
133
127
|
};
|
|
134
128
|
}
|
|
@@ -86,5 +86,9 @@ export default function useCreateNavigationMenu( clientId ) {
|
|
|
86
86
|
status,
|
|
87
87
|
value,
|
|
88
88
|
error,
|
|
89
|
+
isIdle: status === CREATE_NAVIGATION_MENU_IDLE,
|
|
90
|
+
isPending: status === CREATE_NAVIGATION_MENU_PENDING,
|
|
91
|
+
isSuccess: status === CREATE_NAVIGATION_MENU_SUCCESS,
|
|
92
|
+
isError: status === CREATE_NAVIGATION_MENU_ERROR,
|
|
89
93
|
};
|
|
90
94
|
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
5
|
+
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
6
|
+
|
|
7
|
+
const EMPTY_ARRAY = [];
|
|
8
|
+
|
|
9
|
+
export function useInnerBlocks( clientId ) {
|
|
10
|
+
return useSelect(
|
|
11
|
+
( select ) => {
|
|
12
|
+
const { getBlock, getBlocks, hasSelectedInnerBlock } =
|
|
13
|
+
select( blockEditorStore );
|
|
14
|
+
|
|
15
|
+
// This relies on the fact that `getBlock` won't return controlled
|
|
16
|
+
// inner blocks, while `getBlocks` does. It might be more stable to
|
|
17
|
+
// introduce a selector like `getUncontrolledInnerBlocks`, just in
|
|
18
|
+
// case `getBlock` is fixed.
|
|
19
|
+
const _uncontrolledInnerBlocks = getBlock( clientId ).innerBlocks;
|
|
20
|
+
|
|
21
|
+
const _hasUncontrolledInnerBlocks =
|
|
22
|
+
!! _uncontrolledInnerBlocks?.length;
|
|
23
|
+
const _controlledInnerBlocks = _hasUncontrolledInnerBlocks
|
|
24
|
+
? EMPTY_ARRAY
|
|
25
|
+
: getBlocks( clientId );
|
|
26
|
+
|
|
27
|
+
return {
|
|
28
|
+
innerBlocks: _hasUncontrolledInnerBlocks
|
|
29
|
+
? _uncontrolledInnerBlocks
|
|
30
|
+
: _controlledInnerBlocks,
|
|
31
|
+
hasUncontrolledInnerBlocks: _hasUncontrolledInnerBlocks,
|
|
32
|
+
uncontrolledInnerBlocks: _uncontrolledInnerBlocks,
|
|
33
|
+
controlledInnerBlocks: _controlledInnerBlocks,
|
|
34
|
+
isInnerBlockSelected: hasSelectedInnerBlock( clientId, true ),
|
|
35
|
+
};
|
|
36
|
+
},
|
|
37
|
+
[ clientId ]
|
|
38
|
+
);
|
|
39
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
function getComputedStyle( node ) {
|
|
2
|
+
return node.ownerDocument.defaultView.getComputedStyle( node );
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
export function detectColors(
|
|
6
|
+
colorsDetectionElement,
|
|
7
|
+
setColor,
|
|
8
|
+
setBackground
|
|
9
|
+
) {
|
|
10
|
+
if ( ! colorsDetectionElement ) {
|
|
11
|
+
return;
|
|
12
|
+
}
|
|
13
|
+
setColor( getComputedStyle( colorsDetectionElement ).color );
|
|
14
|
+
|
|
15
|
+
let backgroundColorNode = colorsDetectionElement;
|
|
16
|
+
let backgroundColor =
|
|
17
|
+
getComputedStyle( backgroundColorNode ).backgroundColor;
|
|
18
|
+
while (
|
|
19
|
+
backgroundColor === 'rgba(0, 0, 0, 0)' &&
|
|
20
|
+
backgroundColorNode.parentNode &&
|
|
21
|
+
backgroundColorNode.parentNode.nodeType ===
|
|
22
|
+
backgroundColorNode.parentNode.ELEMENT_NODE
|
|
23
|
+
) {
|
|
24
|
+
backgroundColorNode = backgroundColorNode.parentNode;
|
|
25
|
+
backgroundColor =
|
|
26
|
+
getComputedStyle( backgroundColorNode ).backgroundColor;
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
setBackground( backgroundColor );
|
|
30
|
+
}
|
|
@@ -200,9 +200,9 @@ $color-control-label-height: 20px;
|
|
|
200
200
|
|
|
201
201
|
// Override inner padding on default appender.
|
|
202
202
|
// This should be a temporary fix, to be replaced by improvements to
|
|
203
|
-
// the sibling inserter.
|
|
203
|
+
// the sibling inserter. Or by the dropdown appender that is used in Group, instead of the "Button block appender".
|
|
204
204
|
// See https://github.com/WordPress/gutenberg/issues/37572.
|
|
205
|
-
.wp-block-navigation .block-editor-button-block-appender {
|
|
205
|
+
.wp-block-navigation .wp-block + .block-list-appender .block-editor-button-block-appender {
|
|
206
206
|
background-color: $gray-900;
|
|
207
207
|
color: $white;
|
|
208
208
|
|
|
@@ -520,6 +520,7 @@ body.editor-styles-wrapper
|
|
|
520
520
|
// so focus is applied naturally on the block container.
|
|
521
521
|
// It's important the right container has focus, otherwise you can't press
|
|
522
522
|
// "Delete" to remove the block.
|
|
523
|
+
.wp-block-navigation__responsive-container,
|
|
523
524
|
.wp-block-navigation__responsive-close {
|
|
524
525
|
@include break-small() {
|
|
525
526
|
pointer-events: none;
|
package/src/navigation/index.php
CHANGED
|
@@ -250,29 +250,24 @@ function block_core_navigation_render_submenu_icon() {
|
|
|
250
250
|
|
|
251
251
|
|
|
252
252
|
/**
|
|
253
|
-
* Finds the
|
|
253
|
+
* Finds the most recently published `wp_navigation` Post.
|
|
254
254
|
*
|
|
255
255
|
* @return WP_Post|null the first non-empty Navigation or null.
|
|
256
256
|
*/
|
|
257
|
-
function
|
|
258
|
-
//
|
|
259
|
-
// see:
|
|
260
|
-
// - https://github.com/WordPress/wordpress-develop/blob/ba943e113d3b31b121f77a2d30aebe14b047c69d/src/wp-includes/nav-menu.php#L613-L619.
|
|
261
|
-
// - https://developer.wordpress.org/reference/classes/wp_query/#order-orderby-parameters.
|
|
257
|
+
function block_core_navigation_get_most_recently_published_navigation() {
|
|
258
|
+
// We default to the most recently created menu.
|
|
262
259
|
$parsed_args = array(
|
|
263
260
|
'post_type' => 'wp_navigation',
|
|
264
261
|
'no_found_rows' => true,
|
|
265
|
-
'order' => '
|
|
266
|
-
'orderby' => '
|
|
262
|
+
'order' => 'DESC',
|
|
263
|
+
'orderby' => 'date',
|
|
267
264
|
'post_status' => 'publish',
|
|
268
|
-
'posts_per_page' =>
|
|
265
|
+
'posts_per_page' => 1, // get only the most recent.
|
|
269
266
|
);
|
|
270
267
|
|
|
271
|
-
$
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
return $navigation_post;
|
|
275
|
-
}
|
|
268
|
+
$navigation_post = new WP_Query( $parsed_args );
|
|
269
|
+
if ( count( $navigation_post->posts ) > 0 ) {
|
|
270
|
+
return $navigation_post->posts[0];
|
|
276
271
|
}
|
|
277
272
|
|
|
278
273
|
return null;
|
|
@@ -325,7 +320,7 @@ function block_core_navigation_get_fallback_blocks() {
|
|
|
325
320
|
|
|
326
321
|
// Default to a list of Pages.
|
|
327
322
|
|
|
328
|
-
$navigation_post =
|
|
323
|
+
$navigation_post = block_core_navigation_get_most_recently_published_navigation();
|
|
329
324
|
|
|
330
325
|
// Prefer using the first non-empty Navigation as fallback if available.
|
|
331
326
|
if ( $navigation_post ) {
|
|
@@ -377,7 +372,7 @@ function block_core_navigation_from_block_get_post_ids( $block ) {
|
|
|
377
372
|
}
|
|
378
373
|
|
|
379
374
|
if ( 'core/navigation-link' === $block->name || 'core/navigation-submenu' === $block->name ) {
|
|
380
|
-
if ( $block->attributes && isset( $block->attributes['kind'] ) && 'post-type' === $block->attributes['kind'] ) {
|
|
375
|
+
if ( $block->attributes && isset( $block->attributes['kind'] ) && 'post-type' === $block->attributes['kind'] && isset( $block->attributes['id'] ) ) {
|
|
381
376
|
$post_ids[] = $block->attributes['id'];
|
|
382
377
|
}
|
|
383
378
|
}
|
|
@@ -472,6 +467,12 @@ function render_block_core_navigation( $attributes, $content, $block ) {
|
|
|
472
467
|
return '';
|
|
473
468
|
}
|
|
474
469
|
|
|
470
|
+
// Only published posts are valid. If this is changed then a corresponding change
|
|
471
|
+
// must also be implemented in `use-navigation-menu.js`.
|
|
472
|
+
if ( 'publish' !== $navigation_post->post_status ) {
|
|
473
|
+
return '';
|
|
474
|
+
}
|
|
475
|
+
|
|
475
476
|
$nav_menu_name = $navigation_post->post_title;
|
|
476
477
|
|
|
477
478
|
if ( isset( $seen_menu_names[ $nav_menu_name ] ) ) {
|
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { sortBy } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -40,7 +35,9 @@ function mapMenuItemsToBlocks( menuItems ) {
|
|
|
40
35
|
let mapping = {};
|
|
41
36
|
|
|
42
37
|
// The menuItem should be in menu_order sort order.
|
|
43
|
-
const sortedItems =
|
|
38
|
+
const sortedItems = [ ...menuItems ].sort(
|
|
39
|
+
( a, b ) => a.menu_order - b.menu_order
|
|
40
|
+
);
|
|
44
41
|
|
|
45
42
|
const innerBlocks = sortedItems.map( ( menuItem ) => {
|
|
46
43
|
if ( menuItem.type === 'block' ) {
|
|
@@ -45,9 +45,6 @@ $navigation-icon-size: 24px;
|
|
|
45
45
|
// but still allow them to be overridden by user-set colors.
|
|
46
46
|
.wp-block-navigation-item__content {
|
|
47
47
|
display: block;
|
|
48
|
-
|
|
49
|
-
// Set the default menu item padding to zero, to allow text-only buttons.
|
|
50
|
-
padding: 0;
|
|
51
48
|
}
|
|
52
49
|
|
|
53
50
|
// The following rules provide class based application of user selected text
|
|
@@ -154,10 +151,7 @@ $navigation-icon-size: 24px;
|
|
|
154
151
|
// Styles for submenu flyout.
|
|
155
152
|
// These are separated out with reduced specificity to allow better inheritance from Global Styles.
|
|
156
153
|
.wp-block-navigation .has-child {
|
|
157
|
-
|
|
158
|
-
// That way if padding is set in theme.json, it still wins.
|
|
159
|
-
// https://css-tricks.com/almanac/selectors/w/where/
|
|
160
|
-
:where(.wp-block-navigation__submenu-container) {
|
|
154
|
+
.wp-block-navigation__submenu-container {
|
|
161
155
|
background-color: inherit;
|
|
162
156
|
color: inherit;
|
|
163
157
|
position: absolute;
|
|
@@ -233,7 +227,7 @@ $navigation-icon-size: 24px;
|
|
|
233
227
|
|
|
234
228
|
// Custom menu items.
|
|
235
229
|
// Show submenus on hover unless they open on click.
|
|
236
|
-
&:
|
|
230
|
+
&:not(.open-on-click):hover > .wp-block-navigation__submenu-container {
|
|
237
231
|
visibility: visible;
|
|
238
232
|
overflow: visible;
|
|
239
233
|
opacity: 1;
|
|
@@ -243,7 +237,7 @@ $navigation-icon-size: 24px;
|
|
|
243
237
|
}
|
|
244
238
|
|
|
245
239
|
// Keep submenus open when focus is within.
|
|
246
|
-
&:
|
|
240
|
+
&:not(.open-on-click):not(.open-on-hover-click):focus-within > .wp-block-navigation__submenu-container {
|
|
247
241
|
visibility: visible;
|
|
248
242
|
overflow: visible;
|
|
249
243
|
opacity: 1;
|
|
@@ -339,17 +333,6 @@ button.wp-block-navigation-item__content {
|
|
|
339
333
|
gap: inherit;
|
|
340
334
|
}
|
|
341
335
|
|
|
342
|
-
// Menu items with background.
|
|
343
|
-
// We use :where to keep specificity minimal, yet still scope it to only the navigation block.
|
|
344
|
-
// That way if padding is set in theme.json, it still wins.
|
|
345
|
-
// https://css-tricks.com/almanac/selectors/w/where/
|
|
346
|
-
.wp-block-navigation:where(.has-background) {
|
|
347
|
-
&,
|
|
348
|
-
.wp-block-navigation .wp-block-page-list,
|
|
349
|
-
.wp-block-navigation__container {
|
|
350
|
-
gap: inherit;
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
336
|
|
|
354
337
|
/**
|
|
355
338
|
* Paddings
|
|
@@ -358,18 +341,22 @@ button.wp-block-navigation-item__content {
|
|
|
358
341
|
// We use :where to keep specificity minimal, yet still scope it to only the navigation block.
|
|
359
342
|
// That way if padding is set in theme.json, it still wins.
|
|
360
343
|
// https://css-tricks.com/almanac/selectors/w/where/
|
|
344
|
+
// Note: .wp-block-navigation-item targets both Page List and custom menu items. .wp-block-navigation-link targets only custom.
|
|
361
345
|
|
|
362
346
|
// When the menu has a background, items have paddings, reduce margins to compensate.
|
|
363
347
|
// Treat margins and paddings differently when the block has a background.
|
|
364
|
-
.wp-block-navigation
|
|
348
|
+
:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),
|
|
349
|
+
:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)) {
|
|
365
350
|
padding: 0.5em 1em;
|
|
366
351
|
}
|
|
367
352
|
|
|
368
353
|
// Provide a default padding for submenus who should always have some, regardless of the top level menu items.
|
|
369
|
-
.wp-block-navigation
|
|
354
|
+
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
|
|
355
|
+
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)) {
|
|
370
356
|
padding: 0.5em 1em;
|
|
371
357
|
}
|
|
372
358
|
|
|
359
|
+
|
|
373
360
|
/**
|
|
374
361
|
* Justifications.
|
|
375
362
|
*/
|
|
@@ -452,6 +439,10 @@ button.wp-block-navigation-item__content {
|
|
|
452
439
|
right: 0;
|
|
453
440
|
bottom: 0;
|
|
454
441
|
|
|
442
|
+
.wp-block-navigation-link a {
|
|
443
|
+
color: inherit;
|
|
444
|
+
}
|
|
445
|
+
|
|
455
446
|
.wp-block-navigation__responsive-container-content {
|
|
456
447
|
display: flex;
|
|
457
448
|
flex-wrap: var(--navigation-layout-wrap, wrap);
|
|
@@ -49,6 +49,20 @@ function resolveRecords( registry, menus ) {
|
|
|
49
49
|
} );
|
|
50
50
|
}
|
|
51
51
|
|
|
52
|
+
function resolveReadPermission( registry, allowed ) {
|
|
53
|
+
const dispatch = registry.dispatch( coreStore );
|
|
54
|
+
dispatch.receiveUserPermission( 'create/navigation', allowed );
|
|
55
|
+
dispatch.startResolution( 'canUser', [ 'read', 'navigation' ] );
|
|
56
|
+
dispatch.finishResolution( 'canUser', [ 'read', 'navigation' ] );
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
function resolveReadRecordPermission( registry, ref, allowed ) {
|
|
60
|
+
const dispatch = registry.dispatch( coreStore );
|
|
61
|
+
dispatch.receiveUserPermission( 'create/navigation', allowed );
|
|
62
|
+
dispatch.startResolution( 'canUser', [ 'read', 'navigation', ref ] );
|
|
63
|
+
dispatch.finishResolution( 'canUser', [ 'read', 'navigation', ref ] );
|
|
64
|
+
}
|
|
65
|
+
|
|
52
66
|
function resolveCreatePermission( registry, allowed ) {
|
|
53
67
|
const dispatch = registry.dispatch( coreStore );
|
|
54
68
|
dispatch.receiveUserPermission( 'create/navigation', allowed );
|
|
@@ -105,9 +119,10 @@ describe( 'useNavigationMenus', () => {
|
|
|
105
119
|
} );
|
|
106
120
|
} );
|
|
107
121
|
|
|
108
|
-
it( 'Should return information about all menus when ref is missing', () => {
|
|
122
|
+
it( 'Should return information about all menus when the ref is missing', () => {
|
|
109
123
|
resolveRecords( registry, navigationMenus );
|
|
110
124
|
resolveCreatePermission( registry, true );
|
|
125
|
+
resolveReadPermission( registry, true );
|
|
111
126
|
expect( useNavigationMenu() ).toEqual( {
|
|
112
127
|
navigationMenus,
|
|
113
128
|
navigationMenu: undefined,
|
|
@@ -171,6 +186,7 @@ describe( 'useNavigationMenus', () => {
|
|
|
171
186
|
it( 'Should return correct permissions (create, update)', () => {
|
|
172
187
|
resolveRecords( registry, navigationMenus );
|
|
173
188
|
resolveCreatePermission( registry, true );
|
|
189
|
+
resolveReadRecordPermission( registry, 1, true );
|
|
174
190
|
resolveUpdatePermission( registry, 1, true );
|
|
175
191
|
resolveDeletePermission( registry, 1, false );
|
|
176
192
|
expect( useNavigationMenu( 1 ) ).toEqual( {
|
|
@@ -194,6 +210,7 @@ describe( 'useNavigationMenus', () => {
|
|
|
194
210
|
it( 'Should return correct permissions (delete only)', () => {
|
|
195
211
|
resolveRecords( registry, navigationMenus );
|
|
196
212
|
resolveCreatePermission( registry, false );
|
|
213
|
+
resolveReadRecordPermission( registry, 1, false );
|
|
197
214
|
resolveUpdatePermission( registry, 1, false );
|
|
198
215
|
resolveDeletePermission( registry, 1, true );
|
|
199
216
|
expect( useNavigationMenu( 1 ) ).toEqual( {
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
5
|
store as coreStore,
|
|
6
|
-
|
|
6
|
+
useResourcePermissions,
|
|
7
7
|
} from '@wordpress/core-data';
|
|
8
8
|
import { useSelect } from '@wordpress/data';
|
|
9
9
|
|
|
@@ -12,10 +12,13 @@ export default function useNavigationMenu( ref ) {
|
|
|
12
12
|
|
|
13
13
|
return useSelect(
|
|
14
14
|
( select ) => {
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const {
|
|
16
|
+
canCreate,
|
|
17
|
+
canUpdate,
|
|
18
|
+
canDelete,
|
|
19
|
+
isResolving,
|
|
20
|
+
hasResolved,
|
|
21
|
+
} = permissions;
|
|
19
22
|
|
|
20
23
|
const {
|
|
21
24
|
navigationMenus,
|
|
@@ -44,16 +47,16 @@ export default function useNavigationMenu( ref ) {
|
|
|
44
47
|
|
|
45
48
|
canUserCreateNavigationMenu: canCreate,
|
|
46
49
|
isResolvingCanUserCreateNavigationMenu: isResolving,
|
|
47
|
-
hasResolvedCanUserCreateNavigationMenu:
|
|
50
|
+
hasResolvedCanUserCreateNavigationMenu: hasResolved,
|
|
48
51
|
|
|
49
52
|
canUserUpdateNavigationMenu: canUpdate,
|
|
50
53
|
hasResolvedCanUserUpdateNavigationMenu: ref
|
|
51
|
-
?
|
|
54
|
+
? hasResolved
|
|
52
55
|
: undefined,
|
|
53
56
|
|
|
54
57
|
canUserDeleteNavigationMenu: canDelete,
|
|
55
58
|
hasResolvedCanUserDeleteNavigationMenu: ref
|
|
56
|
-
?
|
|
59
|
+
? hasResolved
|
|
57
60
|
: undefined,
|
|
58
61
|
};
|
|
59
62
|
},
|
|
@@ -99,15 +102,19 @@ function selectExistingMenu( select, ref ) {
|
|
|
99
102
|
args
|
|
100
103
|
);
|
|
101
104
|
|
|
105
|
+
// Only published Navigation posts are considered valid.
|
|
106
|
+
// If this is changed then a corresponding change must also be made
|
|
107
|
+
// in the index.php file.
|
|
108
|
+
const isNavigationMenuPublished = editedNavigationMenu.status === 'publish';
|
|
109
|
+
|
|
102
110
|
return {
|
|
103
111
|
isNavigationMenuResolved: hasResolvedNavigationMenu,
|
|
104
|
-
isNavigationMenuMissing:
|
|
112
|
+
isNavigationMenuMissing:
|
|
113
|
+
hasResolvedNavigationMenu &&
|
|
114
|
+
( ! navigationMenu || ! isNavigationMenuPublished ),
|
|
105
115
|
|
|
106
116
|
// getEditedEntityRecord will return the post regardless of status.
|
|
107
117
|
// Therefore if the found post is not published then we should ignore it.
|
|
108
|
-
navigationMenu:
|
|
109
|
-
editedNavigationMenu.status === 'publish'
|
|
110
|
-
? editedNavigationMenu
|
|
111
|
-
: null,
|
|
118
|
+
navigationMenu: isNavigationMenuPublished ? editedNavigationMenu : null,
|
|
112
119
|
};
|
|
113
120
|
}
|