@wordpress/block-library 8.29.0 → 8.31.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/build/audio/edit.js +7 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js.map +1 -1
- package/build/block/deprecated.js +71 -11
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +65 -31
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -2
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/transforms.js +16 -2
- package/build/buttons/transforms.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/code/transforms.js +17 -6
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +3 -2
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -1
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +14 -3
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +0 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +8 -13
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +17 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -8
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +1 -3
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +16 -7
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/pattern/edit.js +11 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +12 -12
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.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-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/utils.js +7 -5
- package/build/query/utils.js.map +1 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +111 -12
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +7 -7
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +2 -2
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +3 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-logo/edit.js +7 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/{edit/index.js → edit.js} +1 -1
- package/build/site-title/edit.js.map +1 -0
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.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.native.js.map +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +53 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -8
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build/utils/caption.js +15 -5
- package/build/utils/caption.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +57 -0
- package/build/utils/get-transformed-metadata.js.map +1 -0
- package/build/utils/hooks.js +55 -4
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +7 -16
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -8
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +10 -20
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/deprecated.js +71 -11
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +66 -32
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +3 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/buttons/transforms.js +16 -2
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/code/transforms.js +17 -6
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +3 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +15 -4
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -7
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +9 -14
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +17 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +23 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -4
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +17 -8
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/list-item/index.js +4 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.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/paragraph/edit.native.js.map +1 -1
- package/build-module/pattern/edit.js +11 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +13 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.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-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/utils.js +7 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +112 -13
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +7 -7
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +2 -2
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/{edit/index.js → edit.js} +1 -1
- package/build-module/site-title/edit.js.map +1 -0
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.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.native.js.map +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +57 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -8
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build-module/utils/caption.js +13 -3
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +51 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -0
- package/build-module/utils/hooks.js +54 -3
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -19
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -8
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/common-rtl.css +1 -0
- package/build-style/common.css +1 -0
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +11 -2
- package/build-style/editor.css +11 -2
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/group/editor-rtl.css +1 -1
- package/build-style/group/editor.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- 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 +6 -3
- package/build-style/style.css +6 -3
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/edit.js +9 -19
- package/src/audio/edit.native.js +3 -3
- package/src/avatar/edit.js +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/deprecated.js +76 -11
- package/src/block/edit.js +100 -32
- package/src/block/index.php +27 -12
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.js +4 -3
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/transforms.js +14 -4
- package/src/calendar/index.php +17 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/code/transforms.js +20 -5
- package/src/columns/edit.js +3 -2
- package/src/comment-author-avatar/edit.js +1 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +12 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/block-controls.js +16 -2
- package/src/cover/edit/index.js +6 -3
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -6
- package/src/cover/edit.native.js +1 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +3 -2
- package/src/details/edit.js +1 -0
- package/src/file/deprecated.js +3 -3
- package/src/file/edit.js +10 -15
- package/src/file/edit.native.js +4 -4
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/file/save.js +1 -1
- package/src/footnotes/index.php +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/gallery/edit.js +3 -3
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/index.php +6 -0
- package/src/gallery/test/index.native.js +1 -1
- package/src/gallery/v1/edit.js +2 -2
- package/src/gallery/v1/gallery.native.js +1 -1
- package/src/group/editor.scss +1 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/heading/transforms.js +27 -8
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +13 -5
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +1 -0
- package/src/image/image.js +34 -22
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/edit.native.js +1 -1
- package/src/latest-posts/index.php +8 -0
- package/src/list/ordered-list-settings.js +1 -1
- package/src/list-item/edit.js +1 -2
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/hooks/index.js +0 -1
- package/src/list-item/hooks/use-indent-list-item.js +2 -0
- package/src/list-item/hooks/use-outdent-list-item.js +2 -0
- package/src/list-item/hooks/use-space.js +16 -9
- package/src/list-item/index.js +3 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/media-container.native.js +5 -3
- package/src/media-text/save.js +2 -2
- package/src/media-text/test/edit.native.js +58 -0
- package/src/missing/test/edit-integration.native.js +2 -1
- package/src/navigation/edit/index.js +68 -72
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
- package/src/navigation/index.php +118 -34
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-link/link-ui.js +2 -2
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/paragraph/edit.native.js +1 -1
- package/src/paragraph/test/edit.native.js +36 -0
- package/src/pattern/edit.js +14 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +2 -1
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +14 -12
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +2 -1
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +6 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/edit.js +49 -43
- package/src/post-title/index.php +2 -0
- package/src/query/edit/pattern-selection-modal.js +1 -1
- package/src/query/index.php +2 -0
- package/src/query/utils.js +6 -4
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/edit.js +1 -1
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/edit.js +1 -1
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/block.json +1 -1
- package/src/quote/deprecated.js +110 -15
- package/src/quote/edit.js +16 -10
- package/src/quote/save.js +2 -2
- package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/read-more/edit.js +2 -1
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +3 -1
- package/src/search/edit.native.js +6 -6
- package/src/search/index.php +20 -2
- package/src/search/style.scss +2 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/edit.js +11 -6
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/edit.native.js +1 -1
- package/src/spacer/edit.js +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table-of-contents/edit.js +1 -1
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +91 -4
- package/src/template-part/edit/selection-modal.js +4 -8
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +10 -1
- package/src/utils/get-transformed-metadata.js +65 -0
- package/src/utils/hooks.js +53 -3
- package/src/video/edit-common-settings.js +1 -1
- package/src/video/edit.js +10 -18
- package/src/video/edit.native.js +7 -8
- package/src/video/test/edit.native.js +0 -14
- package/tsconfig.json +1 -0
- package/build/list-item/hooks/use-copy.js +0 -39
- package/build/list-item/hooks/use-copy.js.map +0 -1
- package/build/site-title/edit/index.js.map +0 -1
- package/build-module/list-item/hooks/use-copy.js +0 -32
- package/build-module/list-item/hooks/use-copy.js.map +0 -1
- package/build-module/site-title/edit/index.js.map +0 -1
- package/src/list-item/hooks/use-copy.js +0 -38
- /package/src/site-title/{edit/index.js → edit.js} +0 -0
|
@@ -2,17 +2,16 @@ import { createElement, Fragment } from "react";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { Button,
|
|
6
|
-
import { store as coreStore, useEntityId
|
|
5
|
+
import { Button, __experimentalConfirmDialog as ConfirmDialog } from '@wordpress/components';
|
|
6
|
+
import { store as coreStore, useEntityId } from '@wordpress/core-data';
|
|
7
7
|
import { useDispatch } from '@wordpress/data';
|
|
8
8
|
import { useState } from '@wordpress/element';
|
|
9
|
-
import { __
|
|
9
|
+
import { __ } from '@wordpress/i18n';
|
|
10
10
|
export default function NavigationMenuDeleteControl({
|
|
11
11
|
onDelete
|
|
12
12
|
}) {
|
|
13
|
-
const [
|
|
13
|
+
const [isConfirmDialogVisible, setIsConfirmDialogVisible] = useState(false);
|
|
14
14
|
const id = useEntityId('postType', 'wp_navigation');
|
|
15
|
-
const [title] = useEntityProp('postType', 'wp_navigation', 'title');
|
|
16
15
|
const {
|
|
17
16
|
deleteEntityRecord
|
|
18
17
|
} = useDispatch(coreStore);
|
|
@@ -21,27 +20,20 @@ export default function NavigationMenuDeleteControl({
|
|
|
21
20
|
variant: "secondary",
|
|
22
21
|
isDestructive: true,
|
|
23
22
|
onClick: () => {
|
|
24
|
-
|
|
23
|
+
setIsConfirmDialogVisible(true);
|
|
25
24
|
}
|
|
26
|
-
}, __('Delete menu')),
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
onRequestClose: () => setIsConfirmModalVisible(false)
|
|
30
|
-
}, createElement("p", null, __('Are you sure you want to delete this navigation menu?')), createElement(HStack, {
|
|
31
|
-
justify: "right"
|
|
32
|
-
}, createElement(Button, {
|
|
33
|
-
variant: "tertiary",
|
|
34
|
-
onClick: () => {
|
|
35
|
-
setIsConfirmModalVisible(false);
|
|
36
|
-
}
|
|
37
|
-
}, __('Cancel')), createElement(Button, {
|
|
38
|
-
variant: "primary",
|
|
39
|
-
onClick: () => {
|
|
25
|
+
}, __('Delete menu')), isConfirmDialogVisible && createElement(ConfirmDialog, {
|
|
26
|
+
isOpen: true,
|
|
27
|
+
onConfirm: () => {
|
|
40
28
|
deleteEntityRecord('postType', 'wp_navigation', id, {
|
|
41
29
|
force: true
|
|
42
30
|
});
|
|
43
|
-
onDelete(
|
|
44
|
-
}
|
|
45
|
-
|
|
31
|
+
onDelete();
|
|
32
|
+
},
|
|
33
|
+
onCancel: () => {
|
|
34
|
+
setIsConfirmDialogVisible(false);
|
|
35
|
+
},
|
|
36
|
+
confirmButtonText: __('Delete')
|
|
37
|
+
}, __('Are you sure you want to delete this Navigation menu?')));
|
|
46
38
|
}
|
|
47
39
|
//# sourceMappingURL=navigation-menu-delete-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","
|
|
1
|
+
{"version":3,"names":["Button","__experimentalConfirmDialog","ConfirmDialog","store","coreStore","useEntityId","useDispatch","useState","__","NavigationMenuDeleteControl","onDelete","isConfirmDialogVisible","setIsConfirmDialogVisible","id","deleteEntityRecord","createElement","Fragment","className","variant","isDestructive","onClick","isOpen","onConfirm","force","onCancel","confirmButtonText"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-delete-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalConfirmDialog as ConfirmDialog,\n} from '@wordpress/components';\nimport { store as coreStore, useEntityId } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nexport default function NavigationMenuDeleteControl( { onDelete } ) {\n\tconst [ isConfirmDialogVisible, setIsConfirmDialogVisible ] =\n\t\tuseState( false );\n\tconst id = useEntityId( 'postType', 'wp_navigation' );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\tclassName=\"wp-block-navigation-delete-menu-button\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tisDestructive\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsConfirmDialogVisible( true );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Delete menu' ) }\n\t\t\t</Button>\n\t\t\t{ isConfirmDialogVisible && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen\n\t\t\t\t\tonConfirm={ () => {\n\t\t\t\t\t\tdeleteEntityRecord( 'postType', 'wp_navigation', id, {\n\t\t\t\t\t\t\tforce: true,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tonDelete();\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => {\n\t\t\t\t\t\tsetIsConfirmDialogVisible( false );\n\t\t\t\t\t} }\n\t\t\t\t\tconfirmButtonText={ __( 'Delete' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Are you sure you want to delete this Navigation menu?'\n\t\t\t\t\t) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,2BAA2B,IAAIC,aAAa,QACtC,uBAAuB;AAC9B,SAASC,KAAK,IAAIC,SAAS,EAAEC,WAAW,QAAQ,sBAAsB;AACtE,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,SAASC,2BAA2BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACnE,MAAM,CAAEC,sBAAsB,EAAEC,yBAAyB,CAAE,GAC1DL,QAAQ,CAAE,KAAM,CAAC;EAClB,MAAMM,EAAE,GAAGR,WAAW,CAAE,UAAU,EAAE,eAAgB,CAAC;EACrD,MAAM;IAAES;EAAmB,CAAC,GAAGR,WAAW,CAAEF,SAAU,CAAC;EAEvD,OACCW,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACf,MAAM;IACNiB,SAAS,EAAC,wCAAwC;IAClDC,OAAO,EAAC,WAAW;IACnBC,aAAa;IACbC,OAAO,EAAGA,CAAA,KAAM;MACfR,yBAAyB,CAAE,IAAK,CAAC;IAClC;EAAG,GAEDJ,EAAE,CAAE,aAAc,CACb,CAAC,EACPG,sBAAsB,IACvBI,aAAA,CAACb,aAAa;IACbmB,MAAM;IACNC,SAAS,EAAGA,CAAA,KAAM;MACjBR,kBAAkB,CAAE,UAAU,EAAE,eAAe,EAAED,EAAE,EAAE;QACpDU,KAAK,EAAE;MACR,CAAE,CAAC;MACHb,QAAQ,CAAC,CAAC;IACX,CAAG;IACHc,QAAQ,EAAGA,CAAA,KAAM;MAChBZ,yBAAyB,CAAE,KAAM,CAAC;IACnC,CAAG;IACHa,iBAAiB,EAAGjB,EAAE,CAAE,QAAS;EAAG,GAElCA,EAAE,CACH,uDACD,CACc,CAEf,CAAC;AAEL"}
|
|
@@ -37,7 +37,7 @@ function NavigationMenuSelector({
|
|
|
37
37
|
}) {
|
|
38
38
|
/* translators: %s: The name of a menu. */
|
|
39
39
|
const createActionLabel = __("Create from '%s'");
|
|
40
|
-
const [
|
|
40
|
+
const [isUpdatingMenuRef, setIsUpdatingMenuRef] = useState(false);
|
|
41
41
|
actionLabel = actionLabel || createActionLabel;
|
|
42
42
|
const {
|
|
43
43
|
menus: classicMenus
|
|
@@ -46,7 +46,7 @@ function NavigationMenuSelector({
|
|
|
46
46
|
navigationMenus,
|
|
47
47
|
isResolvingNavigationMenus,
|
|
48
48
|
hasResolvedNavigationMenus,
|
|
49
|
-
|
|
49
|
+
canUserCreateNavigationMenus,
|
|
50
50
|
canSwitchNavigationMenu
|
|
51
51
|
} = useNavigationMenu();
|
|
52
52
|
const [currentTitle] = useEntityProp('postType', 'wp_navigation', 'title');
|
|
@@ -60,19 +60,20 @@ function NavigationMenuSelector({
|
|
|
60
60
|
return {
|
|
61
61
|
value: id,
|
|
62
62
|
label,
|
|
63
|
-
ariaLabel: sprintf(actionLabel, label)
|
|
63
|
+
ariaLabel: sprintf(actionLabel, label),
|
|
64
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
64
65
|
};
|
|
65
66
|
}) || [];
|
|
66
|
-
}, [navigationMenus, actionLabel]);
|
|
67
|
+
}, [navigationMenus, actionLabel, isResolvingNavigationMenus, hasResolvedNavigationMenus, isUpdatingMenuRef]);
|
|
67
68
|
const hasNavigationMenus = !!navigationMenus?.length;
|
|
68
69
|
const hasClassicMenus = !!classicMenus?.length;
|
|
69
70
|
const showNavigationMenus = !!canSwitchNavigationMenu;
|
|
70
|
-
const showClassicMenus = !!
|
|
71
|
+
const showClassicMenus = !!canUserCreateNavigationMenus;
|
|
71
72
|
const noMenuSelected = hasNavigationMenus && !currentMenuId;
|
|
72
73
|
const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus;
|
|
73
74
|
const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null;
|
|
74
75
|
let selectorLabel = '';
|
|
75
|
-
if (
|
|
76
|
+
if (isResolvingNavigationMenus) {
|
|
76
77
|
selectorLabel = __('Loading…');
|
|
77
78
|
} else if (noMenuSelected || noBlockMenus || menuUnavailable) {
|
|
78
79
|
// Note: classic Menus may be available.
|
|
@@ -82,15 +83,15 @@ function NavigationMenuSelector({
|
|
|
82
83
|
selectorLabel = currentTitle;
|
|
83
84
|
}
|
|
84
85
|
useEffect(() => {
|
|
85
|
-
if (
|
|
86
|
-
|
|
86
|
+
if (isUpdatingMenuRef && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
|
|
87
|
+
setIsUpdatingMenuRef(false);
|
|
87
88
|
}
|
|
88
|
-
}, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess,
|
|
89
|
+
}, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess, canUserCreateNavigationMenus, createNavigationMenuIsError, isUpdatingMenuRef, menuUnavailable, noBlockMenus, noMenuSelected]);
|
|
89
90
|
const NavigationMenuSelectorDropdown = createElement(DropdownMenu, {
|
|
90
91
|
label: selectorLabel,
|
|
91
92
|
icon: moreVertical,
|
|
92
93
|
toggleProps: {
|
|
93
|
-
|
|
94
|
+
size: 'small'
|
|
94
95
|
}
|
|
95
96
|
}, ({
|
|
96
97
|
onClose
|
|
@@ -99,35 +100,35 @@ function NavigationMenuSelector({
|
|
|
99
100
|
}, createElement(MenuItemsChoice, {
|
|
100
101
|
value: currentMenuId,
|
|
101
102
|
onSelect: menuId => {
|
|
102
|
-
setIsCreatingMenu(true);
|
|
103
103
|
onSelectNavigationMenu(menuId);
|
|
104
104
|
onClose();
|
|
105
105
|
},
|
|
106
|
-
choices: menuChoices
|
|
107
|
-
disabled: isCreatingMenu
|
|
106
|
+
choices: menuChoices
|
|
108
107
|
})), showClassicMenus && hasClassicMenus && createElement(MenuGroup, {
|
|
109
108
|
label: __('Import Classic Menus')
|
|
110
109
|
}, classicMenus?.map(menu => {
|
|
111
110
|
const label = decodeEntities(menu.name);
|
|
112
111
|
return createElement(MenuItem, {
|
|
113
|
-
onClick: () => {
|
|
114
|
-
|
|
115
|
-
onSelectClassicMenu(menu);
|
|
112
|
+
onClick: async () => {
|
|
113
|
+
setIsUpdatingMenuRef(true);
|
|
114
|
+
await onSelectClassicMenu(menu);
|
|
115
|
+
setIsUpdatingMenuRef(false);
|
|
116
116
|
onClose();
|
|
117
117
|
},
|
|
118
118
|
key: menu.id,
|
|
119
119
|
"aria-label": sprintf(createActionLabel, label),
|
|
120
|
-
disabled:
|
|
120
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
121
121
|
}, label);
|
|
122
|
-
})),
|
|
122
|
+
})), canUserCreateNavigationMenus && createElement(MenuGroup, {
|
|
123
123
|
label: __('Tools')
|
|
124
124
|
}, createElement(MenuItem, {
|
|
125
|
-
|
|
126
|
-
|
|
125
|
+
onClick: async () => {
|
|
126
|
+
setIsUpdatingMenuRef(true);
|
|
127
|
+
await onCreateNew();
|
|
128
|
+
setIsUpdatingMenuRef(false);
|
|
127
129
|
onClose();
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
}
|
|
130
|
+
},
|
|
131
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
131
132
|
}, __('Create new menu')))));
|
|
132
133
|
return NavigationMenuSelectorDropdown;
|
|
133
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","isSmall","onClose","Fragment","onSelect","menuId","choices","disabled","menu","name","onClick","key"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isCreatingMenu, setIsCreatingMenu ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenu,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [ navigationMenus, actionLabel ] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenu;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isCreatingMenu || isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisCreatingMenu &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsCreatingMenu( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenu,\n\t\tcreateNavigationMenuIsError,\n\t\tisCreatingMenu,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { isSmall: true } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t\t\t\tonSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenu && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tdisabled={ isCreatingMenu }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\tonCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useEntityProp","useNavigationMenu","useNavigationEntities","buildMenuLabel","title","id","status","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","menus","classicMenus","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","NavigationMenuSelectorDropdown","createElement","icon","toggleProps","size","onClose","Fragment","onSelect","menuId","choices","menu","name","onClick","key"],"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\nimport { useEntityProp } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction buildMenuLabel( title, id, status ) {\n\tif ( ! title ) {\n\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\treturn sprintf( __( '(no title %s)' ), id );\n\t}\n\n\tif ( status === 'publish' ) {\n\t\treturn decodeEntities( title );\n\t}\n\n\treturn sprintf(\n\t\t// translators: %1s: title of the menu; %2s: status of the menu (draft, pending, etc.).\n\t\t__( '%1$s (%2$s)' ),\n\t\tdecodeEntities( title ),\n\t\tstatus\n\t);\n}\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n} ) {\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ isUpdatingMenuRef, setIsUpdatingMenuRef ] = useState( false );\n\n\tactionLabel = actionLabel || createActionLabel;\n\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst {\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanUserCreateNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t} = useNavigationMenu();\n\n\tconst [ currentTitle ] = useEntityProp(\n\t\t'postType',\n\t\t'wp_navigation',\n\t\t'title'\n\t);\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title, status }, index ) => {\n\t\t\t\tconst label = buildMenuLabel(\n\t\t\t\t\ttitle?.rendered,\n\t\t\t\t\tindex + 1,\n\t\t\t\t\tstatus\n\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tvalue: id,\n\t\t\t\t\tlabel,\n\t\t\t\t\tariaLabel: sprintf( actionLabel, label ),\n\t\t\t\t\tdisabled:\n\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t! hasResolvedNavigationMenus,\n\t\t\t\t};\n\t\t\t} ) || []\n\t\t);\n\t}, [\n\t\tnavigationMenus,\n\t\tactionLabel,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tisUpdatingMenuRef,\n\t] );\n\n\tconst hasNavigationMenus = !! navigationMenus?.length;\n\tconst hasClassicMenus = !! classicMenus?.length;\n\tconst showNavigationMenus = !! canSwitchNavigationMenu;\n\tconst showClassicMenus = !! canUserCreateNavigationMenus;\n\n\tconst noMenuSelected = hasNavigationMenus && ! currentMenuId;\n\tconst noBlockMenus = ! hasNavigationMenus && hasResolvedNavigationMenus;\n\tconst menuUnavailable =\n\t\thasResolvedNavigationMenus && currentMenuId === null;\n\n\tlet selectorLabel = '';\n\n\tif ( isResolvingNavigationMenus ) {\n\t\tselectorLabel = __( 'Loading…' );\n\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t// Note: classic Menus may be available.\n\t\tselectorLabel = __( 'Choose or create a Navigation menu' );\n\t} else {\n\t\t// Current Menu's title.\n\t\tselectorLabel = currentTitle;\n\t}\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisUpdatingMenuRef &&\n\t\t\t( createNavigationMenuIsSuccess || createNavigationMenuIsError )\n\t\t) {\n\t\t\tsetIsUpdatingMenuRef( false );\n\t\t}\n\t}, [\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tcanUserCreateNavigationMenus,\n\t\tcreateNavigationMenuIsError,\n\t\tisUpdatingMenuRef,\n\t\tmenuUnavailable,\n\t\tnoBlockMenus,\n\t\tnoMenuSelected,\n\t] );\n\n\tconst NavigationMenuSelectorDropdown = (\n\t\t<DropdownMenu\n\t\t\tlabel={ selectorLabel }\n\t\t\ticon={ moreVertical }\n\t\t\ttoggleProps={ { size: 'small' } }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<>\n\t\t\t\t\t{ showNavigationMenus && hasNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Menus' ) }>\n\t\t\t\t\t\t\t<MenuItemsChoice\n\t\t\t\t\t\t\t\tvalue={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelect={ ( menuId ) => {\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu( menuId );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchoices={ menuChoices }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showClassicMenus && hasClassicMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Import Classic Menus' ) }>\n\t\t\t\t\t\t\t{ classicMenus?.map( ( menu ) => {\n\t\t\t\t\t\t\t\tconst label = decodeEntities( menu.name );\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\t\t\tawait onSelectClassicMenu( menu );\n\t\t\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\tkey={ menu.id }\n\t\t\t\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t\t\t\tcreateActionLabel,\n\t\t\t\t\t\t\t\t\t\t\tlabel\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ label }\n\t\t\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t<MenuGroup label={ __( 'Tools' ) }>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( true );\n\t\t\t\t\t\t\t\t\tawait onCreateNew();\n\t\t\t\t\t\t\t\t\tsetIsUpdatingMenuRef( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={\n\t\t\t\t\t\t\t\t\tisUpdatingMenuRef ||\n\t\t\t\t\t\t\t\t\tisResolvingNavigationMenus ||\n\t\t\t\t\t\t\t\t\t! hasResolvedNavigationMenus\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n\n\treturn NavigationMenuSelectorDropdown;\n}\n\nexport default NavigationMenuSelector;\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,SAAS,EACTC,QAAQ,EACRC,eAAe,EACfC,YAAY,QACN,uBAAuB;AAC9B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,SAAS,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,oBAAoB;AACjE,SAASC,aAAa,QAAQ,sBAAsB;;AAEpD;AACA;AACA;AACA,OAAOC,iBAAiB,MAAM,wBAAwB;AACtD,OAAOC,qBAAqB,MAAM,4BAA4B;AAE9D,SAASC,cAAcA,CAAEC,KAAK,EAAEC,EAAE,EAAEC,MAAM,EAAG;EAC5C,IAAK,CAAEF,KAAK,EAAG;IACd;IACA,OAAOT,OAAO,CAAED,EAAE,CAAE,eAAgB,CAAC,EAAEW,EAAG,CAAC;EAC5C;EAEA,IAAKC,MAAM,KAAK,SAAS,EAAG;IAC3B,OAAOV,cAAc,CAAEQ,KAAM,CAAC;EAC/B;EAEA,OAAOT,OAAO;EACb;EACAD,EAAE,CAAE,aAAc,CAAC,EACnBE,cAAc,CAAEQ,KAAM,CAAC,EACvBE,MACD,CAAC;AACF;AAEA,SAASC,sBAAsBA,CAAE;EAChCC,aAAa;EACbC,sBAAsB;EACtBC,mBAAmB;EACnBC,WAAW;EACXC,WAAW;EACXC,6BAA6B;EAC7BC;AACD,CAAC,EAAG;EACH;EACA,MAAMC,iBAAiB,GAAGrB,EAAE,CAAE,kBAAmB,CAAC;EAElD,MAAM,CAAEsB,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGlB,QAAQ,CAAE,KAAM,CAAC;EAErEa,WAAW,GAAGA,WAAW,IAAIG,iBAAiB;EAE9C,MAAM;IAAEG,KAAK,EAAEC;EAAa,CAAC,GAAGjB,qBAAqB,CAAC,CAAC;EAEvD,MAAM;IACLkB,eAAe;IACfC,0BAA0B;IAC1BC,0BAA0B;IAC1BC,4BAA4B;IAC5BC;EACD,CAAC,GAAGvB,iBAAiB,CAAC,CAAC;EAEvB,MAAM,CAAEwB,YAAY,CAAE,GAAGzB,aAAa,CACrC,UAAU,EACV,eAAe,EACf,OACD,CAAC;EAED,MAAM0B,WAAW,GAAG5B,OAAO,CAAE,MAAM;IAClC,OACCsB,eAAe,EAAEO,GAAG,CAAE,CAAE;MAAEtB,EAAE;MAAED,KAAK;MAAEE;IAAO,CAAC,EAAEsB,KAAK,KAAM;MACzD,MAAMC,KAAK,GAAG1B,cAAc,CAC3BC,KAAK,EAAE0B,QAAQ,EACfF,KAAK,GAAG,CAAC,EACTtB,MACD,CAAC;MAED,OAAO;QACNyB,KAAK,EAAE1B,EAAE;QACTwB,KAAK;QACLG,SAAS,EAAErC,OAAO,CAAEiB,WAAW,EAAEiB,KAAM,CAAC;QACxCI,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;MACJ,CAAC;IACF,CAAE,CAAC,IAAI,EAAE;EAEX,CAAC,EAAE,CACFF,eAAe,EACfR,WAAW,EACXS,0BAA0B,EAC1BC,0BAA0B,EAC1BN,iBAAiB,CAChB,CAAC;EAEH,MAAMkB,kBAAkB,GAAG,CAAC,CAAEd,eAAe,EAAEe,MAAM;EACrD,MAAMC,eAAe,GAAG,CAAC,CAAEjB,YAAY,EAAEgB,MAAM;EAC/C,MAAME,mBAAmB,GAAG,CAAC,CAAEb,uBAAuB;EACtD,MAAMc,gBAAgB,GAAG,CAAC,CAAEf,4BAA4B;EAExD,MAAMgB,cAAc,GAAGL,kBAAkB,IAAI,CAAE1B,aAAa;EAC5D,MAAMgC,YAAY,GAAG,CAAEN,kBAAkB,IAAIZ,0BAA0B;EACvE,MAAMmB,eAAe,GACpBnB,0BAA0B,IAAId,aAAa,KAAK,IAAI;EAErD,IAAIkC,aAAa,GAAG,EAAE;EAEtB,IAAKrB,0BAA0B,EAAG;IACjCqB,aAAa,GAAGhD,EAAE,CAAE,UAAW,CAAC;EACjC,CAAC,MAAM,IAAK6C,cAAc,IAAIC,YAAY,IAAIC,eAAe,EAAG;IAC/D;IACAC,aAAa,GAAGhD,EAAE,CAAE,oCAAqC,CAAC;EAC3D,CAAC,MAAM;IACN;IACAgD,aAAa,GAAGjB,YAAY;EAC7B;EAEA5B,SAAS,CAAE,MAAM;IAChB,IACCmB,iBAAiB,KACfH,6BAA6B,IAAIC,2BAA2B,CAAE,EAC/D;MACDG,oBAAoB,CAAE,KAAM,CAAC;IAC9B;EACD,CAAC,EAAE,CACFK,0BAA0B,EAC1BT,6BAA6B,EAC7BU,4BAA4B,EAC5BT,2BAA2B,EAC3BE,iBAAiB,EACjByB,eAAe,EACfD,YAAY,EACZD,cAAc,CACb,CAAC;EAEH,MAAMI,8BAA8B,GACnCC,aAAA,CAACpD,YAAY;IACZqC,KAAK,EAAGa,aAAe;IACvBG,IAAI,EAAGpD,YAAc;IACrBqD,WAAW,EAAG;MAAEC,IAAI,EAAE;IAAQ;EAAG,GAE/B,CAAE;IAAEC;EAAQ,CAAC,KACdJ,aAAA,CAAAK,QAAA,QACGZ,mBAAmB,IAAIH,kBAAkB,IAC1CU,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,OAAQ;EAAG,GACjCkD,aAAA,CAACrD,eAAe;IACfwC,KAAK,EAAGvB,aAAe;IACvB0C,QAAQ,EAAKC,MAAM,IAAM;MACxB1C,sBAAsB,CAAE0C,MAAO,CAAC;MAChCH,OAAO,CAAC,CAAC;IACV,CAAG;IACHI,OAAO,EAAG1B;EAAa,CACvB,CACS,CACX,EACCY,gBAAgB,IAAIF,eAAe,IACpCQ,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,sBAAuB;EAAG,GAC9CyB,YAAY,EAAEQ,GAAG,CAAI0B,IAAI,IAAM;IAChC,MAAMxB,KAAK,GAAGjC,cAAc,CAAEyD,IAAI,CAACC,IAAK,CAAC;IACzC,OACCV,aAAA,CAACtD,QAAQ;MACRiE,OAAO,EAAG,MAAAA,CAAA,KAAY;QACrBtC,oBAAoB,CAAE,IAAK,CAAC;QAC5B,MAAMP,mBAAmB,CAAE2C,IAAK,CAAC;QACjCpC,oBAAoB,CAAE,KAAM,CAAC;QAC7B+B,OAAO,CAAC,CAAC;MACV,CAAG;MACHQ,GAAG,EAAGH,IAAI,CAAChD,EAAI;MACf,cAAaV,OAAO,CACnBoB,iBAAiB,EACjBc,KACD,CAAG;MACHI,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;IACF,GAECO,KACO,CAAC;EAEb,CAAE,CACQ,CACX,EAECN,4BAA4B,IAC7BqB,aAAA,CAACvD,SAAS;IAACwC,KAAK,EAAGnC,EAAE,CAAE,OAAQ;EAAG,GACjCkD,aAAA,CAACtD,QAAQ;IACRiE,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBtC,oBAAoB,CAAE,IAAK,CAAC;MAC5B,MAAMN,WAAW,CAAC,CAAC;MACnBM,oBAAoB,CAAE,KAAM,CAAC;MAC7B+B,OAAO,CAAC,CAAC;IACV,CAAG;IACHf,QAAQ,EACPjB,iBAAiB,IACjBK,0BAA0B,IAC1B,CAAEC;EACF,GAEC5B,EAAE,CAAE,iBAAkB,CACf,CACA,CAEX,CAEU,CACd;EAED,OAAOiD,8BAA8B;AACtC;AAEA,eAAepC,sBAAsB"}
|
|
@@ -18,8 +18,8 @@ export default function NavigationPlaceholder({
|
|
|
18
18
|
isSelected,
|
|
19
19
|
currentMenuId,
|
|
20
20
|
clientId,
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
canUserCreateNavigationMenus = false,
|
|
22
|
+
isResolvingCanUserCreateNavigationMenus,
|
|
23
23
|
onSelectNavigationMenu,
|
|
24
24
|
onSelectClassicMenu,
|
|
25
25
|
onCreateEmpty
|
|
@@ -39,7 +39,7 @@ export default function NavigationPlaceholder({
|
|
|
39
39
|
speak(__('Navigation block setup options ready.'));
|
|
40
40
|
}
|
|
41
41
|
}, [hasResolvedMenus, isResolvingMenus, isSelected]);
|
|
42
|
-
const isResolvingActions = isResolvingMenus &&
|
|
42
|
+
const isResolvingActions = isResolvingMenus && isResolvingCanUserCreateNavigationMenus;
|
|
43
43
|
return createElement(Fragment, null, createElement(Placeholder, {
|
|
44
44
|
className: "wp-block-navigation-placeholder"
|
|
45
45
|
}, createElement(PlaceholderPreview, {
|
|
@@ -58,7 +58,7 @@ export default function NavigationPlaceholder({
|
|
|
58
58
|
clientId: clientId,
|
|
59
59
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
60
60
|
onSelectClassicMenu: onSelectClassicMenu
|
|
61
|
-
}), createElement("hr", null),
|
|
61
|
+
}), createElement("hr", null), canUserCreateNavigationMenus && createElement(Button, {
|
|
62
62
|
variant: "tertiary",
|
|
63
63
|
onClick: onCreateEmpty
|
|
64
64
|
}, __('Start empty'))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","
|
|
1
|
+
{"version":3,"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","createElement","Fragment","className","isVisible","undefined","icon","variant","onClick"],"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Placeholder, Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { navigation, Icon } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\nimport { useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationEntities from '../../use-navigation-entities';\nimport PlaceholderPreview from './placeholder-preview';\nimport NavigationMenuSelector from '../navigation-menu-selector';\n\nexport default function NavigationPlaceholder( {\n\tisSelected,\n\tcurrentMenuId,\n\tclientId,\n\tcanUserCreateNavigationMenus = false,\n\tisResolvingCanUserCreateNavigationMenus,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateEmpty,\n} ) {\n\tconst { isResolvingMenus, hasResolvedMenus } = useNavigationEntities();\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isResolvingMenus ) {\n\t\t\tspeak( __( 'Loading navigation block setup options…' ) );\n\t\t}\n\n\t\tif ( hasResolvedMenus ) {\n\t\t\tspeak( __( 'Navigation block setup options ready.' ) );\n\t\t}\n\t}, [ hasResolvedMenus, isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenus;\n\n\treturn (\n\t\t<>\n\t\t\t<Placeholder className=\"wp-block-navigation-placeholder\">\n\t\t\t\t{\n\t\t\t\t\t// The <PlaceholderPreview> component is displayed conditionally via CSS depending on\n\t\t\t\t\t// whether the block is selected or not. This is achieved via CSS to avoid\n\t\t\t\t\t// component re-renders\n\t\t\t\t }\n\t\t\t\t<PlaceholderPreview isVisible={ ! isSelected } />\n\t\t\t\t<div\n\t\t\t\t\taria-hidden={ ! isSelected ? true : undefined }\n\t\t\t\t\tclassName=\"wp-block-navigation-placeholder__controls\"\n\t\t\t\t>\n\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions\">\n\t\t\t\t\t\t<div className=\"wp-block-navigation-placeholder__actions__indicator\">\n\t\t\t\t\t\t\t<Icon icon={ navigation } /> { __( 'Navigation' ) }\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ isResolvingActions && <Spinner /> }\n\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<hr />\n\n\t\t\t\t\t\t{ canUserCreateNavigationMenus && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ onCreateEmpty }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Start empty' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</Placeholder>\n\t\t</>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,MAAM,EAAEC,OAAO,QAAQ,uBAAuB;AACpE,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,UAAU,EAAEC,IAAI,QAAQ,kBAAkB;AACnD,SAASC,KAAK,QAAQ,iBAAiB;AACvC,SAASC,SAAS,QAAQ,oBAAoB;;AAE9C;AACA;AACA;AACA,OAAOC,qBAAqB,MAAM,+BAA+B;AACjE,OAAOC,kBAAkB,MAAM,uBAAuB;AACtD,OAAOC,sBAAsB,MAAM,6BAA6B;AAEhE,eAAe,SAASC,qBAAqBA,CAAE;EAC9CC,UAAU;EACVC,aAAa;EACbC,QAAQ;EACRC,4BAA4B,GAAG,KAAK;EACpCC,uCAAuC;EACvCC,sBAAsB;EACtBC,mBAAmB;EACnBC;AACD,CAAC,EAAG;EACH,MAAM;IAAEC,gBAAgB;IAAEC;EAAiB,CAAC,GAAGb,qBAAqB,CAAC,CAAC;EAEtED,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEK,UAAU,EAAG;MACnB;IACD;IAEA,IAAKQ,gBAAgB,EAAG;MACvBd,KAAK,CAAEH,EAAE,CAAE,yCAA0C,CAAE,CAAC;IACzD;IAEA,IAAKkB,gBAAgB,EAAG;MACvBf,KAAK,CAAEH,EAAE,CAAE,uCAAwC,CAAE,CAAC;IACvD;EACD,CAAC,EAAE,CAAEkB,gBAAgB,EAAED,gBAAgB,EAAER,UAAU,CAAG,CAAC;EAEvD,MAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,uCAAuC;EAE5D,OACCO,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACvB,WAAW;IAACyB,SAAS,EAAC;EAAiC,GAMvDF,aAAA,CAACd,kBAAkB;IAACiB,SAAS,EAAG,CAAEd;EAAY,CAAE,CAAC,EACjDW,aAAA;IACC,eAAc,CAAEX,UAAU,GAAG,IAAI,GAAGe,SAAW;IAC/CF,SAAS,EAAC;EAA2C,GAErDF,aAAA;IAAKE,SAAS,EAAC;EAA0C,GACxDF,aAAA;IAAKE,SAAS,EAAC;EAAqD,GACnEF,aAAA,CAAClB,IAAI;IAACuB,IAAI,EAAGxB;EAAY,CAAE,CAAC,KAAC,EAAED,EAAE,CAAE,YAAa,CAC5C,CAAC,EAENoB,aAAA,WAAK,CAAC,EAEJD,kBAAkB,IAAIC,aAAA,CAACrB,OAAO,MAAE,CAAC,EAEnCqB,aAAA,CAACb,sBAAsB;IACtBG,aAAa,EAAGA,aAAe;IAC/BC,QAAQ,EAAGA,QAAU;IACrBG,sBAAsB,EAAGA,sBAAwB;IACjDC,mBAAmB,EAAGA;EAAqB,CAC3C,CAAC,EAEFK,aAAA,WAAK,CAAC,EAEJR,4BAA4B,IAC7BQ,aAAA,CAACtB,MAAM;IACN4B,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGX;EAAe,GAEvBhB,EAAE,CAAE,aAAc,CACb,CAEL,CACD,CACO,CACZ,CAAC;AAEL"}
|
|
@@ -18,11 +18,14 @@ export default function useNavigationMenu(ref) {
|
|
|
18
18
|
return selectExistingMenu(select, ref);
|
|
19
19
|
}, [ref]);
|
|
20
20
|
const {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
21
|
+
// Can the user create navigation menus?
|
|
22
|
+
canCreate: canCreateNavigationMenus,
|
|
23
|
+
// Can the user update the specific navigation menu with the given post ID?
|
|
24
|
+
canUpdate: canUpdateNavigationMenu,
|
|
25
|
+
// Can the user delete the specific navigation menu with the given post ID?
|
|
26
|
+
canDelete: canDeleteNavigationMenu,
|
|
27
|
+
isResolving: isResolvingPermissions,
|
|
28
|
+
hasResolved: hasResolvedPermissions
|
|
26
29
|
} = permissions;
|
|
27
30
|
const {
|
|
28
31
|
records: navigationMenus,
|
|
@@ -38,13 +41,13 @@ export default function useNavigationMenu(ref) {
|
|
|
38
41
|
isResolvingNavigationMenus,
|
|
39
42
|
hasResolvedNavigationMenus,
|
|
40
43
|
canSwitchNavigationMenu,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
canUserUpdateNavigationMenu:
|
|
45
|
-
hasResolvedCanUserUpdateNavigationMenu: ref ?
|
|
46
|
-
canUserDeleteNavigationMenu:
|
|
47
|
-
hasResolvedCanUserDeleteNavigationMenu: ref ?
|
|
44
|
+
canUserCreateNavigationMenus: canCreateNavigationMenus,
|
|
45
|
+
isResolvingCanUserCreateNavigationMenus: isResolvingPermissions,
|
|
46
|
+
hasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions,
|
|
47
|
+
canUserUpdateNavigationMenu: canUpdateNavigationMenu,
|
|
48
|
+
hasResolvedCanUserUpdateNavigationMenu: ref ? hasResolvedPermissions : undefined,
|
|
49
|
+
canUserDeleteNavigationMenu: canDeleteNavigationMenu,
|
|
50
|
+
hasResolvedCanUserDeleteNavigationMenu: ref ? hasResolvedPermissions : undefined
|
|
48
51
|
};
|
|
49
52
|
}
|
|
50
53
|
function selectExistingMenu(select, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","coreStore","useResourcePermissions","useEntityRecords","useSelect","PRELOADED_NAVIGATION_MENUS_QUERY","useNavigationMenu","ref","permissions","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","select","selectExistingMenu","canCreate","canUpdate","canDelete","isResolving","hasResolved","records","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canSwitchNavigationMenu","length","
|
|
1
|
+
{"version":3,"names":["store","coreStore","useResourcePermissions","useEntityRecords","useSelect","PRELOADED_NAVIGATION_MENUS_QUERY","useNavigationMenu","ref","permissions","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","select","selectExistingMenu","canCreate","canCreateNavigationMenus","canUpdate","canUpdateNavigationMenu","canDelete","canDeleteNavigationMenu","isResolving","isResolvingPermissions","hasResolved","hasResolvedPermissions","records","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canSwitchNavigationMenu","length","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","undefined","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","getEntityRecord","getEditedEntityRecord","hasFinishedResolution","args","editedNavigationMenu","hasResolvedNavigationMenu","isNavigationMenuPublishedOrDraft","status"],"sources":["@wordpress/block-library/src/navigation/use-navigation-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tstore as coreStore,\n\tuseResourcePermissions,\n\tuseEntityRecords,\n} from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { PRELOADED_NAVIGATION_MENUS_QUERY } from './constants';\n\nexport default function useNavigationMenu( ref ) {\n\tconst permissions = useResourcePermissions( 'navigation', ref );\n\n\tconst {\n\t\tnavigationMenu,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\treturn selectExistingMenu( select, ref );\n\t\t},\n\t\t[ ref ]\n\t);\n\n\tconst {\n\t\t// Can the user create navigation menus?\n\t\tcanCreate: canCreateNavigationMenus,\n\n\t\t// Can the user update the specific navigation menu with the given post ID?\n\t\tcanUpdate: canUpdateNavigationMenu,\n\n\t\t// Can the user delete the specific navigation menu with the given post ID?\n\t\tcanDelete: canDeleteNavigationMenu,\n\t\tisResolving: isResolvingPermissions,\n\t\thasResolved: hasResolvedPermissions,\n\t} = permissions;\n\n\tconst {\n\t\trecords: navigationMenus,\n\t\tisResolving: isResolvingNavigationMenus,\n\t\thasResolved: hasResolvedNavigationMenus,\n\t} = useEntityRecords(\n\t\t'postType',\n\t\t`wp_navigation`,\n\t\tPRELOADED_NAVIGATION_MENUS_QUERY\n\t);\n\n\tconst canSwitchNavigationMenu = ref\n\t\t? navigationMenus?.length > 1\n\t\t: navigationMenus?.length > 0;\n\n\treturn {\n\t\tnavigationMenu,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tisResolvingNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcanSwitchNavigationMenu,\n\t\tcanUserCreateNavigationMenus: canCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus: isResolvingPermissions,\n\t\thasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions,\n\t\tcanUserUpdateNavigationMenu: canUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu: ref\n\t\t\t? hasResolvedPermissions\n\t\t\t: undefined,\n\t\tcanUserDeleteNavigationMenu: canDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu: ref\n\t\t\t? hasResolvedPermissions\n\t\t\t: undefined,\n\t};\n}\n\nfunction selectExistingMenu( select, ref ) {\n\tif ( ! ref ) {\n\t\treturn {\n\t\t\tisNavigationMenuResolved: false,\n\t\t\tisNavigationMenuMissing: true,\n\t\t};\n\t}\n\n\tconst { getEntityRecord, getEditedEntityRecord, hasFinishedResolution } =\n\t\tselect( coreStore );\n\n\tconst args = [ 'postType', 'wp_navigation', ref ];\n\tconst navigationMenu = getEntityRecord( ...args );\n\tconst editedNavigationMenu = getEditedEntityRecord( ...args );\n\tconst hasResolvedNavigationMenu = hasFinishedResolution(\n\t\t'getEditedEntityRecord',\n\t\targs\n\t);\n\n\t// Only published Navigation posts are considered valid.\n\t// Draft Navigation posts are valid only on the editor,\n\t// requiring a post update to publish to show in frontend.\n\t// To achieve that, index.php must reflect this validation only for published.\n\tconst isNavigationMenuPublishedOrDraft =\n\t\teditedNavigationMenu.status === 'publish' ||\n\t\teditedNavigationMenu.status === 'draft';\n\n\treturn {\n\t\tisNavigationMenuResolved: hasResolvedNavigationMenu,\n\t\tisNavigationMenuMissing:\n\t\t\thasResolvedNavigationMenu &&\n\t\t\t( ! navigationMenu || ! isNavigationMenuPublishedOrDraft ),\n\n\t\t// getEditedEntityRecord will return the post regardless of status.\n\t\t// Therefore if the found post is not published then we should ignore it.\n\t\tnavigationMenu: isNavigationMenuPublishedOrDraft\n\t\t\t? editedNavigationMenu\n\t\t\t: null,\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,KAAK,IAAIC,SAAS,EAClBC,sBAAsB,EACtBC,gBAAgB,QACV,sBAAsB;AAC7B,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,gCAAgC,QAAQ,aAAa;AAE9D,eAAe,SAASC,iBAAiBA,CAAEC,GAAG,EAAG;EAChD,MAAMC,WAAW,GAAGN,sBAAsB,CAAE,YAAY,EAAEK,GAAI,CAAC;EAE/D,MAAM;IACLE,cAAc;IACdC,wBAAwB;IACxBC;EACD,CAAC,GAAGP,SAAS,CACVQ,MAAM,IAAM;IACb,OAAOC,kBAAkB,CAAED,MAAM,EAAEL,GAAI,CAAC;EACzC,CAAC,EACD,CAAEA,GAAG,CACN,CAAC;EAED,MAAM;IACL;IACAO,SAAS,EAAEC,wBAAwB;IAEnC;IACAC,SAAS,EAAEC,uBAAuB;IAElC;IACAC,SAAS,EAAEC,uBAAuB;IAClCC,WAAW,EAAEC,sBAAsB;IACnCC,WAAW,EAAEC;EACd,CAAC,GAAGf,WAAW;EAEf,MAAM;IACLgB,OAAO,EAAEC,eAAe;IACxBL,WAAW,EAAEM,0BAA0B;IACvCJ,WAAW,EAAEK;EACd,CAAC,GAAGxB,gBAAgB,CACnB,UAAU,EACT,eAAc,EACfE,gCACD,CAAC;EAED,MAAMuB,uBAAuB,GAAGrB,GAAG,GAChCkB,eAAe,EAAEI,MAAM,GAAG,CAAC,GAC3BJ,eAAe,EAAEI,MAAM,GAAG,CAAC;EAE9B,OAAO;IACNpB,cAAc;IACdC,wBAAwB;IACxBC,uBAAuB;IACvBc,eAAe;IACfC,0BAA0B;IAC1BC,0BAA0B;IAC1BC,uBAAuB;IACvBE,4BAA4B,EAAEf,wBAAwB;IACtDgB,uCAAuC,EAAEV,sBAAsB;IAC/DW,uCAAuC,EAAET,sBAAsB;IAC/DU,2BAA2B,EAAEhB,uBAAuB;IACpDiB,sCAAsC,EAAE3B,GAAG,GACxCgB,sBAAsB,GACtBY,SAAS;IACZC,2BAA2B,EAAEjB,uBAAuB;IACpDkB,sCAAsC,EAAE9B,GAAG,GACxCgB,sBAAsB,GACtBY;EACJ,CAAC;AACF;AAEA,SAAStB,kBAAkBA,CAAED,MAAM,EAAEL,GAAG,EAAG;EAC1C,IAAK,CAAEA,GAAG,EAAG;IACZ,OAAO;MACNG,wBAAwB,EAAE,KAAK;MAC/BC,uBAAuB,EAAE;IAC1B,CAAC;EACF;EAEA,MAAM;IAAE2B,eAAe;IAAEC,qBAAqB;IAAEC;EAAsB,CAAC,GACtE5B,MAAM,CAAEX,SAAU,CAAC;EAEpB,MAAMwC,IAAI,GAAG,CAAE,UAAU,EAAE,eAAe,EAAElC,GAAG,CAAE;EACjD,MAAME,cAAc,GAAG6B,eAAe,CAAE,GAAGG,IAAK,CAAC;EACjD,MAAMC,oBAAoB,GAAGH,qBAAqB,CAAE,GAAGE,IAAK,CAAC;EAC7D,MAAME,yBAAyB,GAAGH,qBAAqB,CACtD,uBAAuB,EACvBC,IACD,CAAC;;EAED;EACA;EACA;EACA;EACA,MAAMG,gCAAgC,GACrCF,oBAAoB,CAACG,MAAM,KAAK,SAAS,IACzCH,oBAAoB,CAACG,MAAM,KAAK,OAAO;EAExC,OAAO;IACNnC,wBAAwB,EAAEiC,yBAAyB;IACnDhC,uBAAuB,EACtBgC,yBAAyB,KACvB,CAAElC,cAAc,IAAI,CAAEmC,gCAAgC,CAAE;IAE3D;IACA;IACAnC,cAAc,EAAEmC,gCAAgC,GAC7CF,oBAAoB,GACpB;EACJ,CAAC;AACF"}
|
|
@@ -10,7 +10,7 @@ import classnames from 'classnames';
|
|
|
10
10
|
import { createBlock } from '@wordpress/blocks';
|
|
11
11
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
12
12
|
import { PanelBody, TextControl, TextareaControl, ToolbarButton, Tooltip, ToolbarGroup } from '@wordpress/components';
|
|
13
|
-
import { displayShortcut, isKeyboardEvent
|
|
13
|
+
import { displayShortcut, isKeyboardEvent } from '@wordpress/keycodes';
|
|
14
14
|
import { __ } from '@wordpress/i18n';
|
|
15
15
|
import { BlockControls, InspectorControls, RichText, useBlockProps, store as blockEditorStore, getColorClassName, useInnerBlocksProps } from '@wordpress/block-editor';
|
|
16
16
|
import { isURL, prependHTTP, safeDecodeURI } from '@wordpress/url';
|
|
@@ -190,7 +190,7 @@ export default function NavigationLinkEdit({
|
|
|
190
190
|
isParentOfSelectedBlock: hasSelectedInnerBlock(clientId, true),
|
|
191
191
|
hasChildren: !!getBlockCount(clientId)
|
|
192
192
|
};
|
|
193
|
-
}, [clientId]);
|
|
193
|
+
}, [clientId, maxNestingLevel]);
|
|
194
194
|
|
|
195
195
|
/**
|
|
196
196
|
* Transform to submenu block.
|
|
@@ -240,7 +240,7 @@ export default function NavigationLinkEdit({
|
|
|
240
240
|
placeCaretAtHorizontalEdge(ref.current, true);
|
|
241
241
|
}
|
|
242
242
|
}
|
|
243
|
-
}, [url]);
|
|
243
|
+
}, [url, isLinkOpen, label]);
|
|
244
244
|
|
|
245
245
|
/**
|
|
246
246
|
* Focus the Link label text and select it.
|
|
@@ -289,7 +289,11 @@ export default function NavigationLinkEdit({
|
|
|
289
289
|
customBackgroundColor
|
|
290
290
|
} = getColors(context, !isTopLevelLink);
|
|
291
291
|
function onKeyDown(event) {
|
|
292
|
-
if (isKeyboardEvent.primary(event, 'k')
|
|
292
|
+
if (isKeyboardEvent.primary(event, 'k')) {
|
|
293
|
+
// Required to prevent the command center from opening,
|
|
294
|
+
// as it shares the CMD+K shortcut.
|
|
295
|
+
// See https://github.com/WordPress/gutenberg/pull/59845.
|
|
296
|
+
event.preventDefault();
|
|
293
297
|
setIsLinkOpen(true);
|
|
294
298
|
}
|
|
295
299
|
}
|
|
@@ -320,7 +324,9 @@ export default function NavigationLinkEdit({
|
|
|
320
324
|
renderAppender: false
|
|
321
325
|
});
|
|
322
326
|
if (!url || isInvalid || isDraft) {
|
|
323
|
-
blockProps.onClick = () =>
|
|
327
|
+
blockProps.onClick = () => {
|
|
328
|
+
setIsLinkOpen(true);
|
|
329
|
+
};
|
|
324
330
|
}
|
|
325
331
|
const classes = classnames('wp-block-navigation-item__content', {
|
|
326
332
|
'wp-block-navigation-link__placeholder': !url || isInvalid || isDraft
|
|
@@ -418,12 +424,7 @@ export default function NavigationLinkEdit({
|
|
|
418
424
|
"aria-label": __('Navigation link text'),
|
|
419
425
|
placeholder: itemLabelPlaceholder,
|
|
420
426
|
withoutInteractiveFormatting: true,
|
|
421
|
-
allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough']
|
|
422
|
-
onClick: () => {
|
|
423
|
-
if (!url) {
|
|
424
|
-
setIsLinkOpen(true);
|
|
425
|
-
}
|
|
426
|
-
}
|
|
427
|
+
allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough']
|
|
427
428
|
}), description && createElement("span", {
|
|
428
429
|
className: "wp-block-navigation-item__description"
|
|
429
430
|
}, description)), (isInvalid || isDraft || isLabelFieldFocused) && createElement("div", {
|
|
@@ -448,6 +449,7 @@ export default function NavigationLinkEdit({
|
|
|
448
449
|
// Need to handle refocusing the Nav block or the inserter?
|
|
449
450
|
onReplace([]);
|
|
450
451
|
}
|
|
452
|
+
setIsLinkOpen(false);
|
|
451
453
|
},
|
|
452
454
|
anchor: popoverAnchor,
|
|
453
455
|
onRemove: removeLink,
|