@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
|
@@ -17,9 +17,8 @@ var _i18n = require("@wordpress/i18n");
|
|
|
17
17
|
function NavigationMenuDeleteControl({
|
|
18
18
|
onDelete
|
|
19
19
|
}) {
|
|
20
|
-
const [
|
|
20
|
+
const [isConfirmDialogVisible, setIsConfirmDialogVisible] = (0, _element.useState)(false);
|
|
21
21
|
const id = (0, _coreData.useEntityId)('postType', 'wp_navigation');
|
|
22
|
-
const [title] = (0, _coreData.useEntityProp)('postType', 'wp_navigation', 'title');
|
|
23
22
|
const {
|
|
24
23
|
deleteEntityRecord
|
|
25
24
|
} = (0, _data.useDispatch)(_coreData.store);
|
|
@@ -28,27 +27,20 @@ function NavigationMenuDeleteControl({
|
|
|
28
27
|
variant: "secondary",
|
|
29
28
|
isDestructive: true,
|
|
30
29
|
onClick: () => {
|
|
31
|
-
|
|
30
|
+
setIsConfirmDialogVisible(true);
|
|
32
31
|
}
|
|
33
|
-
}, (0, _i18n.__)('Delete menu')),
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
onRequestClose: () => setIsConfirmModalVisible(false)
|
|
37
|
-
}, (0, _react.createElement)("p", null, (0, _i18n.__)('Are you sure you want to delete this navigation menu?')), (0, _react.createElement)(_components.__experimentalHStack, {
|
|
38
|
-
justify: "right"
|
|
39
|
-
}, (0, _react.createElement)(_components.Button, {
|
|
40
|
-
variant: "tertiary",
|
|
41
|
-
onClick: () => {
|
|
42
|
-
setIsConfirmModalVisible(false);
|
|
43
|
-
}
|
|
44
|
-
}, (0, _i18n.__)('Cancel')), (0, _react.createElement)(_components.Button, {
|
|
45
|
-
variant: "primary",
|
|
46
|
-
onClick: () => {
|
|
32
|
+
}, (0, _i18n.__)('Delete menu')), isConfirmDialogVisible && (0, _react.createElement)(_components.__experimentalConfirmDialog, {
|
|
33
|
+
isOpen: true,
|
|
34
|
+
onConfirm: () => {
|
|
47
35
|
deleteEntityRecord('postType', 'wp_navigation', id, {
|
|
48
36
|
force: true
|
|
49
37
|
});
|
|
50
|
-
onDelete(
|
|
51
|
-
}
|
|
52
|
-
|
|
38
|
+
onDelete();
|
|
39
|
+
},
|
|
40
|
+
onCancel: () => {
|
|
41
|
+
setIsConfirmDialogVisible(false);
|
|
42
|
+
},
|
|
43
|
+
confirmButtonText: (0, _i18n.__)('Delete')
|
|
44
|
+
}, (0, _i18n.__)('Are you sure you want to delete this Navigation menu?')));
|
|
53
45
|
}
|
|
54
46
|
//# sourceMappingURL=navigation-menu-delete-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","NavigationMenuDeleteControl","onDelete","
|
|
1
|
+
{"version":3,"names":["_components","require","_coreData","_data","_element","_i18n","NavigationMenuDeleteControl","onDelete","isConfirmDialogVisible","setIsConfirmDialogVisible","useState","id","useEntityId","deleteEntityRecord","useDispatch","coreStore","_react","createElement","Fragment","Button","className","variant","isDestructive","onClick","__","__experimentalConfirmDialog","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":";;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAVA;AACA;AACA;;AAUe,SAASK,2BAA2BA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACnE,MAAM,CAAEC,sBAAsB,EAAEC,yBAAyB,CAAE,GAC1D,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAClB,MAAMC,EAAE,GAAG,IAAAC,qBAAW,EAAE,UAAU,EAAE,eAAgB,CAAC;EACrD,MAAM;IAAEC;EAAmB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAEvD,OACC,IAAAC,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAmB,MAAM;IACNC,SAAS,EAAC,wCAAwC;IAClDC,OAAO,EAAC,WAAW;IACnBC,aAAa;IACbC,OAAO,EAAGA,CAAA,KAAM;MACfd,yBAAyB,CAAE,IAAK,CAAC;IAClC;EAAG,GAED,IAAAe,QAAE,EAAE,aAAc,CACb,CAAC,EACPhB,sBAAsB,IACvB,IAAAQ,MAAA,CAAAC,aAAA,EAACjB,WAAA,CAAAyB,2BAAa;IACbC,MAAM;IACNC,SAAS,EAAGA,CAAA,KAAM;MACjBd,kBAAkB,CAAE,UAAU,EAAE,eAAe,EAAEF,EAAE,EAAE;QACpDiB,KAAK,EAAE;MACR,CAAE,CAAC;MACHrB,QAAQ,CAAC,CAAC;IACX,CAAG;IACHsB,QAAQ,EAAGA,CAAA,KAAM;MAChBpB,yBAAyB,CAAE,KAAM,CAAC;IACnC,CAAG;IACHqB,iBAAiB,EAAG,IAAAN,QAAE,EAAE,QAAS;EAAG,GAElC,IAAAA,QAAE,EACH,uDACD,CACc,CAEf,CAAC;AAEL"}
|
|
@@ -45,7 +45,7 @@ function NavigationMenuSelector({
|
|
|
45
45
|
}) {
|
|
46
46
|
/* translators: %s: The name of a menu. */
|
|
47
47
|
const createActionLabel = (0, _i18n.__)("Create from '%s'");
|
|
48
|
-
const [
|
|
48
|
+
const [isUpdatingMenuRef, setIsUpdatingMenuRef] = (0, _element.useState)(false);
|
|
49
49
|
actionLabel = actionLabel || createActionLabel;
|
|
50
50
|
const {
|
|
51
51
|
menus: classicMenus
|
|
@@ -54,7 +54,7 @@ function NavigationMenuSelector({
|
|
|
54
54
|
navigationMenus,
|
|
55
55
|
isResolvingNavigationMenus,
|
|
56
56
|
hasResolvedNavigationMenus,
|
|
57
|
-
|
|
57
|
+
canUserCreateNavigationMenus,
|
|
58
58
|
canSwitchNavigationMenu
|
|
59
59
|
} = (0, _useNavigationMenu.default)();
|
|
60
60
|
const [currentTitle] = (0, _coreData.useEntityProp)('postType', 'wp_navigation', 'title');
|
|
@@ -68,19 +68,20 @@ function NavigationMenuSelector({
|
|
|
68
68
|
return {
|
|
69
69
|
value: id,
|
|
70
70
|
label,
|
|
71
|
-
ariaLabel: (0, _i18n.sprintf)(actionLabel, label)
|
|
71
|
+
ariaLabel: (0, _i18n.sprintf)(actionLabel, label),
|
|
72
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
72
73
|
};
|
|
73
74
|
}) || [];
|
|
74
|
-
}, [navigationMenus, actionLabel]);
|
|
75
|
+
}, [navigationMenus, actionLabel, isResolvingNavigationMenus, hasResolvedNavigationMenus, isUpdatingMenuRef]);
|
|
75
76
|
const hasNavigationMenus = !!navigationMenus?.length;
|
|
76
77
|
const hasClassicMenus = !!classicMenus?.length;
|
|
77
78
|
const showNavigationMenus = !!canSwitchNavigationMenu;
|
|
78
|
-
const showClassicMenus = !!
|
|
79
|
+
const showClassicMenus = !!canUserCreateNavigationMenus;
|
|
79
80
|
const noMenuSelected = hasNavigationMenus && !currentMenuId;
|
|
80
81
|
const noBlockMenus = !hasNavigationMenus && hasResolvedNavigationMenus;
|
|
81
82
|
const menuUnavailable = hasResolvedNavigationMenus && currentMenuId === null;
|
|
82
83
|
let selectorLabel = '';
|
|
83
|
-
if (
|
|
84
|
+
if (isResolvingNavigationMenus) {
|
|
84
85
|
selectorLabel = (0, _i18n.__)('Loading…');
|
|
85
86
|
} else if (noMenuSelected || noBlockMenus || menuUnavailable) {
|
|
86
87
|
// Note: classic Menus may be available.
|
|
@@ -90,15 +91,15 @@ function NavigationMenuSelector({
|
|
|
90
91
|
selectorLabel = currentTitle;
|
|
91
92
|
}
|
|
92
93
|
(0, _element.useEffect)(() => {
|
|
93
|
-
if (
|
|
94
|
-
|
|
94
|
+
if (isUpdatingMenuRef && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
|
|
95
|
+
setIsUpdatingMenuRef(false);
|
|
95
96
|
}
|
|
96
|
-
}, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess,
|
|
97
|
+
}, [hasResolvedNavigationMenus, createNavigationMenuIsSuccess, canUserCreateNavigationMenus, createNavigationMenuIsError, isUpdatingMenuRef, menuUnavailable, noBlockMenus, noMenuSelected]);
|
|
97
98
|
const NavigationMenuSelectorDropdown = (0, _react.createElement)(_components.DropdownMenu, {
|
|
98
99
|
label: selectorLabel,
|
|
99
100
|
icon: _icons.moreVertical,
|
|
100
101
|
toggleProps: {
|
|
101
|
-
|
|
102
|
+
size: 'small'
|
|
102
103
|
}
|
|
103
104
|
}, ({
|
|
104
105
|
onClose
|
|
@@ -107,35 +108,35 @@ function NavigationMenuSelector({
|
|
|
107
108
|
}, (0, _react.createElement)(_components.MenuItemsChoice, {
|
|
108
109
|
value: currentMenuId,
|
|
109
110
|
onSelect: menuId => {
|
|
110
|
-
setIsCreatingMenu(true);
|
|
111
111
|
onSelectNavigationMenu(menuId);
|
|
112
112
|
onClose();
|
|
113
113
|
},
|
|
114
|
-
choices: menuChoices
|
|
115
|
-
disabled: isCreatingMenu
|
|
114
|
+
choices: menuChoices
|
|
116
115
|
})), showClassicMenus && hasClassicMenus && (0, _react.createElement)(_components.MenuGroup, {
|
|
117
116
|
label: (0, _i18n.__)('Import Classic Menus')
|
|
118
117
|
}, classicMenus?.map(menu => {
|
|
119
118
|
const label = (0, _htmlEntities.decodeEntities)(menu.name);
|
|
120
119
|
return (0, _react.createElement)(_components.MenuItem, {
|
|
121
|
-
onClick: () => {
|
|
122
|
-
|
|
123
|
-
onSelectClassicMenu(menu);
|
|
120
|
+
onClick: async () => {
|
|
121
|
+
setIsUpdatingMenuRef(true);
|
|
122
|
+
await onSelectClassicMenu(menu);
|
|
123
|
+
setIsUpdatingMenuRef(false);
|
|
124
124
|
onClose();
|
|
125
125
|
},
|
|
126
126
|
key: menu.id,
|
|
127
127
|
"aria-label": (0, _i18n.sprintf)(createActionLabel, label),
|
|
128
|
-
disabled:
|
|
128
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
129
129
|
}, label);
|
|
130
|
-
})),
|
|
130
|
+
})), canUserCreateNavigationMenus && (0, _react.createElement)(_components.MenuGroup, {
|
|
131
131
|
label: (0, _i18n.__)('Tools')
|
|
132
132
|
}, (0, _react.createElement)(_components.MenuItem, {
|
|
133
|
-
|
|
134
|
-
|
|
133
|
+
onClick: async () => {
|
|
134
|
+
setIsUpdatingMenuRef(true);
|
|
135
|
+
await onCreateNew();
|
|
136
|
+
setIsUpdatingMenuRef(false);
|
|
135
137
|
onClose();
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
}
|
|
138
|
+
},
|
|
139
|
+
disabled: isUpdatingMenuRef || isResolvingNavigationMenus || !hasResolvedNavigationMenus
|
|
139
140
|
}, (0, _i18n.__)('Create new menu')))));
|
|
140
141
|
return NavigationMenuSelectorDropdown;
|
|
141
142
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_i18n","_htmlEntities","_element","_coreData","_useNavigationMenu","_interopRequireDefault","_useNavigationEntities","buildMenuLabel","title","id","status","sprintf","__","decodeEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isCreatingMenu","setIsCreatingMenu","useState","menus","classicMenus","useNavigationEntities","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenu","canSwitchNavigationMenu","useNavigationMenu","currentTitle","useEntityProp","menuChoices","useMemo","map","index","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","useEffect","NavigationMenuSelectorDropdown","_react","createElement","DropdownMenu","icon","moreVertical","toggleProps","isSmall","onClose","Fragment","MenuGroup","MenuItemsChoice","onSelect","menuId","choices","disabled","menu","name","MenuItem","onClick","key","_default","exports","default"],"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":["_components","require","_icons","_i18n","_htmlEntities","_element","_coreData","_useNavigationMenu","_interopRequireDefault","_useNavigationEntities","buildMenuLabel","title","id","status","sprintf","__","decodeEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","isUpdatingMenuRef","setIsUpdatingMenuRef","useState","menus","classicMenus","useNavigationEntities","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","canUserCreateNavigationMenus","canSwitchNavigationMenu","useNavigationMenu","currentTitle","useEntityProp","menuChoices","useMemo","map","index","label","rendered","value","ariaLabel","disabled","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","selectorLabel","useEffect","NavigationMenuSelectorDropdown","_react","createElement","DropdownMenu","icon","moreVertical","toggleProps","size","onClose","Fragment","MenuGroup","MenuItemsChoice","onSelect","menuId","choices","menu","name","MenuItem","onClick","key","_default","exports","default"],"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":"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"}
|
|
@@ -26,8 +26,8 @@ function NavigationPlaceholder({
|
|
|
26
26
|
isSelected,
|
|
27
27
|
currentMenuId,
|
|
28
28
|
clientId,
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
canUserCreateNavigationMenus = false,
|
|
30
|
+
isResolvingCanUserCreateNavigationMenus,
|
|
31
31
|
onSelectNavigationMenu,
|
|
32
32
|
onSelectClassicMenu,
|
|
33
33
|
onCreateEmpty
|
|
@@ -47,7 +47,7 @@ function NavigationPlaceholder({
|
|
|
47
47
|
(0, _a11y.speak)((0, _i18n.__)('Navigation block setup options ready.'));
|
|
48
48
|
}
|
|
49
49
|
}, [hasResolvedMenus, isResolvingMenus, isSelected]);
|
|
50
|
-
const isResolvingActions = isResolvingMenus &&
|
|
50
|
+
const isResolvingActions = isResolvingMenus && isResolvingCanUserCreateNavigationMenus;
|
|
51
51
|
return (0, _react.createElement)(_react.Fragment, null, (0, _react.createElement)(_components.Placeholder, {
|
|
52
52
|
className: "wp-block-navigation-placeholder"
|
|
53
53
|
}, (0, _react.createElement)(_placeholderPreview.default, {
|
|
@@ -66,7 +66,7 @@ function NavigationPlaceholder({
|
|
|
66
66
|
clientId: clientId,
|
|
67
67
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
68
68
|
onSelectClassicMenu: onSelectClassicMenu
|
|
69
|
-
}), (0, _react.createElement)("hr", null),
|
|
69
|
+
}), (0, _react.createElement)("hr", null), canUserCreateNavigationMenus && (0, _react.createElement)(_components.Button, {
|
|
70
70
|
variant: "tertiary",
|
|
71
71
|
onClick: onCreateEmpty
|
|
72
72
|
}, (0, _i18n.__)('Start empty'))))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_i18n","_icons","_a11y","_element","_useNavigationEntities","_interopRequireDefault","_placeholderPreview","_navigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","
|
|
1
|
+
{"version":3,"names":["_components","require","_i18n","_icons","_a11y","_element","_useNavigationEntities","_interopRequireDefault","_placeholderPreview","_navigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","useNavigationEntities","useEffect","speak","__","isResolvingActions","_react","createElement","Fragment","Placeholder","className","default","isVisible","undefined","Icon","icon","navigation","Spinner","Button","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":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAKA,IAAAK,sBAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,mBAAA,GAAAD,sBAAA,CAAAN,OAAA;AACA,IAAAQ,uBAAA,GAAAF,sBAAA,CAAAN,OAAA;AAdA;AACA;AACA;;AAOA;AACA;AACA;;AAKe,SAASS,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,GAAG,IAAAC,8BAAqB,EAAC,CAAC;EAEtE,IAAAC,kBAAS,EAAE,MAAM;IAChB,IAAK,CAAEX,UAAU,EAAG;MACnB;IACD;IAEA,IAAKQ,gBAAgB,EAAG;MACvB,IAAAI,WAAK,EAAE,IAAAC,QAAE,EAAE,yCAA0C,CAAE,CAAC;IACzD;IAEA,IAAKJ,gBAAgB,EAAG;MACvB,IAAAG,WAAK,EAAE,IAAAC,QAAE,EAAE,uCAAwC,CAAE,CAAC;IACvD;EACD,CAAC,EAAE,CAAEJ,gBAAgB,EAAED,gBAAgB,EAAER,UAAU,CAAG,CAAC;EAEvD,MAAMc,kBAAkB,GACvBN,gBAAgB,IAAIJ,uCAAuC;EAE5D,OACC,IAAAW,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACC,IAAAF,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAA6B,WAAW;IAACC,SAAS,EAAC;EAAiC,GAMvD,IAAAJ,MAAA,CAAAC,aAAA,EAACnB,mBAAA,CAAAuB,OAAkB;IAACC,SAAS,EAAG,CAAErB;EAAY,CAAE,CAAC,EACjD,IAAAe,MAAA,CAAAC,aAAA;IACC,eAAc,CAAEhB,UAAU,GAAG,IAAI,GAAGsB,SAAW;IAC/CH,SAAS,EAAC;EAA2C,GAErD,IAAAJ,MAAA,CAAAC,aAAA;IAAKG,SAAS,EAAC;EAA0C,GACxD,IAAAJ,MAAA,CAAAC,aAAA;IAAKG,SAAS,EAAC;EAAqD,GACnE,IAAAJ,MAAA,CAAAC,aAAA,EAACxB,MAAA,CAAA+B,IAAI;IAACC,IAAI,EAAGC;EAAY,CAAE,CAAC,KAAC,EAAE,IAAAZ,QAAE,EAAE,YAAa,CAC5C,CAAC,EAEN,IAAAE,MAAA,CAAAC,aAAA,YAAK,CAAC,EAEJF,kBAAkB,IAAI,IAAAC,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAAqC,OAAO,MAAE,CAAC,EAEnC,IAAAX,MAAA,CAAAC,aAAA,EAAClB,uBAAA,CAAAsB,OAAsB;IACtBnB,aAAa,EAAGA,aAAe;IAC/BC,QAAQ,EAAGA,QAAU;IACrBG,sBAAsB,EAAGA,sBAAwB;IACjDC,mBAAmB,EAAGA;EAAqB,CAC3C,CAAC,EAEF,IAAAS,MAAA,CAAAC,aAAA,YAAK,CAAC,EAEJb,4BAA4B,IAC7B,IAAAY,MAAA,CAAAC,aAAA,EAAC3B,WAAA,CAAAsC,MAAM;IACNC,OAAO,EAAC,UAAU;IAClBC,OAAO,EAAGtB;EAAe,GAEvB,IAAAM,QAAE,EAAE,aAAc,CACb,CAEL,CACD,CACO,CACZ,CAAC;AAEL"}
|
|
@@ -25,11 +25,14 @@ function useNavigationMenu(ref) {
|
|
|
25
25
|
return selectExistingMenu(select, ref);
|
|
26
26
|
}, [ref]);
|
|
27
27
|
const {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
// Can the user create navigation menus?
|
|
29
|
+
canCreate: canCreateNavigationMenus,
|
|
30
|
+
// Can the user update the specific navigation menu with the given post ID?
|
|
31
|
+
canUpdate: canUpdateNavigationMenu,
|
|
32
|
+
// Can the user delete the specific navigation menu with the given post ID?
|
|
33
|
+
canDelete: canDeleteNavigationMenu,
|
|
34
|
+
isResolving: isResolvingPermissions,
|
|
35
|
+
hasResolved: hasResolvedPermissions
|
|
33
36
|
} = permissions;
|
|
34
37
|
const {
|
|
35
38
|
records: navigationMenus,
|
|
@@ -45,13 +48,13 @@ function useNavigationMenu(ref) {
|
|
|
45
48
|
isResolvingNavigationMenus,
|
|
46
49
|
hasResolvedNavigationMenus,
|
|
47
50
|
canSwitchNavigationMenu,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
canUserUpdateNavigationMenu:
|
|
52
|
-
hasResolvedCanUserUpdateNavigationMenu: ref ?
|
|
53
|
-
canUserDeleteNavigationMenu:
|
|
54
|
-
hasResolvedCanUserDeleteNavigationMenu: ref ?
|
|
51
|
+
canUserCreateNavigationMenus: canCreateNavigationMenus,
|
|
52
|
+
isResolvingCanUserCreateNavigationMenus: isResolvingPermissions,
|
|
53
|
+
hasResolvedCanUserCreateNavigationMenus: hasResolvedPermissions,
|
|
54
|
+
canUserUpdateNavigationMenu: canUpdateNavigationMenu,
|
|
55
|
+
hasResolvedCanUserUpdateNavigationMenu: ref ? hasResolvedPermissions : undefined,
|
|
56
|
+
canUserDeleteNavigationMenu: canDeleteNavigationMenu,
|
|
57
|
+
hasResolvedCanUserDeleteNavigationMenu: ref ? hasResolvedPermissions : undefined
|
|
55
58
|
};
|
|
56
59
|
}
|
|
57
60
|
function selectExistingMenu(select, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_coreData","require","_data","_constants","useNavigationMenu","ref","permissions","useResourcePermissions","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","useSelect","select","selectExistingMenu","canCreate","canUpdate","canDelete","isResolving","hasResolved","records","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","useEntityRecords","PRELOADED_NAVIGATION_MENUS_QUERY","canSwitchNavigationMenu","length","
|
|
1
|
+
{"version":3,"names":["_coreData","require","_data","_constants","useNavigationMenu","ref","permissions","useResourcePermissions","navigationMenu","isNavigationMenuResolved","isNavigationMenuMissing","useSelect","select","selectExistingMenu","canCreate","canCreateNavigationMenus","canUpdate","canUpdateNavigationMenu","canDelete","canDeleteNavigationMenu","isResolving","isResolvingPermissions","hasResolved","hasResolvedPermissions","records","navigationMenus","isResolvingNavigationMenus","hasResolvedNavigationMenus","useEntityRecords","PRELOADED_NAVIGATION_MENUS_QUERY","canSwitchNavigationMenu","length","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","undefined","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","getEntityRecord","getEditedEntityRecord","hasFinishedResolution","coreStore","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":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AAKA,IAAAE,UAAA,GAAAF,OAAA;AAbA;AACA;AACA;;AAQA;AACA;AACA;;AAGe,SAASG,iBAAiBA,CAAEC,GAAG,EAAG;EAChD,MAAMC,WAAW,GAAG,IAAAC,gCAAsB,EAAE,YAAY,EAAEF,GAAI,CAAC;EAE/D,MAAM;IACLG,cAAc;IACdC,wBAAwB;IACxBC;EACD,CAAC,GAAG,IAAAC,eAAS,EACVC,MAAM,IAAM;IACb,OAAOC,kBAAkB,CAAED,MAAM,EAAEP,GAAI,CAAC;EACzC,CAAC,EACD,CAAEA,GAAG,CACN,CAAC;EAED,MAAM;IACL;IACAS,SAAS,EAAEC,wBAAwB;IAEnC;IACAC,SAAS,EAAEC,uBAAuB;IAElC;IACAC,SAAS,EAAEC,uBAAuB;IAClCC,WAAW,EAAEC,sBAAsB;IACnCC,WAAW,EAAEC;EACd,CAAC,GAAGjB,WAAW;EAEf,MAAM;IACLkB,OAAO,EAAEC,eAAe;IACxBL,WAAW,EAAEM,0BAA0B;IACvCJ,WAAW,EAAEK;EACd,CAAC,GAAG,IAAAC,0BAAgB,EACnB,UAAU,EACT,eAAc,EACfC,2CACD,CAAC;EAED,MAAMC,uBAAuB,GAAGzB,GAAG,GAChCoB,eAAe,EAAEM,MAAM,GAAG,CAAC,GAC3BN,eAAe,EAAEM,MAAM,GAAG,CAAC;EAE9B,OAAO;IACNvB,cAAc;IACdC,wBAAwB;IACxBC,uBAAuB;IACvBe,eAAe;IACfC,0BAA0B;IAC1BC,0BAA0B;IAC1BG,uBAAuB;IACvBE,4BAA4B,EAAEjB,wBAAwB;IACtDkB,uCAAuC,EAAEZ,sBAAsB;IAC/Da,uCAAuC,EAAEX,sBAAsB;IAC/DY,2BAA2B,EAAElB,uBAAuB;IACpDmB,sCAAsC,EAAE/B,GAAG,GACxCkB,sBAAsB,GACtBc,SAAS;IACZC,2BAA2B,EAAEnB,uBAAuB;IACpDoB,sCAAsC,EAAElC,GAAG,GACxCkB,sBAAsB,GACtBc;EACJ,CAAC;AACF;AAEA,SAASxB,kBAAkBA,CAAED,MAAM,EAAEP,GAAG,EAAG;EAC1C,IAAK,CAAEA,GAAG,EAAG;IACZ,OAAO;MACNI,wBAAwB,EAAE,KAAK;MAC/BC,uBAAuB,EAAE;IAC1B,CAAC;EACF;EAEA,MAAM;IAAE8B,eAAe;IAAEC,qBAAqB;IAAEC;EAAsB,CAAC,GACtE9B,MAAM,CAAE+B,eAAU,CAAC;EAEpB,MAAMC,IAAI,GAAG,CAAE,UAAU,EAAE,eAAe,EAAEvC,GAAG,CAAE;EACjD,MAAMG,cAAc,GAAGgC,eAAe,CAAE,GAAGI,IAAK,CAAC;EACjD,MAAMC,oBAAoB,GAAGJ,qBAAqB,CAAE,GAAGG,IAAK,CAAC;EAC7D,MAAME,yBAAyB,GAAGJ,qBAAqB,CACtD,uBAAuB,EACvBE,IACD,CAAC;;EAED;EACA;EACA;EACA;EACA,MAAMG,gCAAgC,GACrCF,oBAAoB,CAACG,MAAM,KAAK,SAAS,IACzCH,oBAAoB,CAACG,MAAM,KAAK,OAAO;EAExC,OAAO;IACNvC,wBAAwB,EAAEqC,yBAAyB;IACnDpC,uBAAuB,EACtBoC,yBAAyB,KACvB,CAAEtC,cAAc,IAAI,CAAEuC,gCAAgC,CAAE;IAE3D;IACA;IACAvC,cAAc,EAAEuC,gCAAgC,GAC7CF,oBAAoB,GACpB;EACJ,CAAC;AACF"}
|
|
@@ -198,7 +198,7 @@ function NavigationLinkEdit({
|
|
|
198
198
|
isParentOfSelectedBlock: hasSelectedInnerBlock(clientId, true),
|
|
199
199
|
hasChildren: !!getBlockCount(clientId)
|
|
200
200
|
};
|
|
201
|
-
}, [clientId]);
|
|
201
|
+
}, [clientId, maxNestingLevel]);
|
|
202
202
|
|
|
203
203
|
/**
|
|
204
204
|
* Transform to submenu block.
|
|
@@ -248,7 +248,7 @@ function NavigationLinkEdit({
|
|
|
248
248
|
(0, _dom.placeCaretAtHorizontalEdge)(ref.current, true);
|
|
249
249
|
}
|
|
250
250
|
}
|
|
251
|
-
}, [url]);
|
|
251
|
+
}, [url, isLinkOpen, label]);
|
|
252
252
|
|
|
253
253
|
/**
|
|
254
254
|
* Focus the Link label text and select it.
|
|
@@ -297,7 +297,11 @@ function NavigationLinkEdit({
|
|
|
297
297
|
customBackgroundColor
|
|
298
298
|
} = (0, _utils.getColors)(context, !isTopLevelLink);
|
|
299
299
|
function onKeyDown(event) {
|
|
300
|
-
if (_keycodes.isKeyboardEvent.primary(event, 'k')
|
|
300
|
+
if (_keycodes.isKeyboardEvent.primary(event, 'k')) {
|
|
301
|
+
// Required to prevent the command center from opening,
|
|
302
|
+
// as it shares the CMD+K shortcut.
|
|
303
|
+
// See https://github.com/WordPress/gutenberg/pull/59845.
|
|
304
|
+
event.preventDefault();
|
|
301
305
|
setIsLinkOpen(true);
|
|
302
306
|
}
|
|
303
307
|
}
|
|
@@ -328,7 +332,9 @@ function NavigationLinkEdit({
|
|
|
328
332
|
renderAppender: false
|
|
329
333
|
});
|
|
330
334
|
if (!url || isInvalid || isDraft) {
|
|
331
|
-
blockProps.onClick = () =>
|
|
335
|
+
blockProps.onClick = () => {
|
|
336
|
+
setIsLinkOpen(true);
|
|
337
|
+
};
|
|
332
338
|
}
|
|
333
339
|
const classes = (0, _classnames.default)('wp-block-navigation-item__content', {
|
|
334
340
|
'wp-block-navigation-link__placeholder': !url || isInvalid || isDraft
|
|
@@ -426,12 +432,7 @@ function NavigationLinkEdit({
|
|
|
426
432
|
"aria-label": (0, _i18n.__)('Navigation link text'),
|
|
427
433
|
placeholder: itemLabelPlaceholder,
|
|
428
434
|
withoutInteractiveFormatting: true,
|
|
429
|
-
allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough']
|
|
430
|
-
onClick: () => {
|
|
431
|
-
if (!url) {
|
|
432
|
-
setIsLinkOpen(true);
|
|
433
|
-
}
|
|
434
|
-
}
|
|
435
|
+
allowedFormats: ['core/bold', 'core/italic', 'core/image', 'core/strikethrough']
|
|
435
436
|
}), description && (0, _react.createElement)("span", {
|
|
436
437
|
className: "wp-block-navigation-item__description"
|
|
437
438
|
}, description)), (isInvalid || isDraft || isLabelFieldFocused) && (0, _react.createElement)("div", {
|
|
@@ -456,6 +457,7 @@ function NavigationLinkEdit({
|
|
|
456
457
|
// Need to handle refocusing the Nav block or the inserter?
|
|
457
458
|
onReplace([]);
|
|
458
459
|
}
|
|
460
|
+
setIsLinkOpen(false);
|
|
459
461
|
},
|
|
460
462
|
anchor: popoverAnchor,
|
|
461
463
|
onRemove: removeLink,
|