@wordpress/block-library 8.1.0 → 8.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/LICENSE.md +1 -1
- package/babel-plugin.js +1 -1
- package/build/archives/edit.js +1 -0
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +1 -0
- package/build/archives/index.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/avatar/index.js +1 -0
- package/build/avatar/index.js.map +1 -1
- package/build/block/edit.js +1 -0
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -1
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +1 -0
- package/build/button/index.js.map +1 -1
- package/build/buttons/edit.js +0 -2
- package/build/buttons/edit.js.map +1 -1
- package/build/calendar/index.js +1 -0
- package/build/calendar/index.js.map +1 -1
- package/build/categories/edit.js +3 -3
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +1 -0
- package/build/categories/index.js.map +1 -1
- package/build/column/edit.native.js +2 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/columns/deprecated.js +1 -1
- package/build/columns/deprecated.js.map +1 -1
- package/build/comment-author-avatar/index.js +1 -0
- package/build/comment-author-avatar/index.js.map +1 -1
- package/build/comment-author-name/index.js +1 -0
- package/build/comment-author-name/index.js.map +1 -1
- package/build/comment-content/index.js +1 -0
- package/build/comment-content/index.js.map +1 -1
- package/build/comment-date/index.js +1 -0
- package/build/comment-date/index.js.map +1 -1
- package/build/comment-edit-link/index.js +1 -0
- package/build/comment-edit-link/index.js.map +1 -1
- package/build/comment-reply-link/index.js +1 -0
- package/build/comment-reply-link/index.js.map +1 -1
- package/build/comment-template/index.js +1 -0
- package/build/comment-template/index.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +10 -4
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments/index.js +2 -1
- package/build/comments/index.js.map +1 -1
- package/build/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/build/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
- package/build/comments-pagination/edit.js +3 -14
- package/build/comments-pagination/edit.js.map +1 -1
- package/build/comments-pagination/index.js +1 -0
- package/build/comments-pagination/index.js.map +1 -1
- package/build/comments-pagination-next/index.js +1 -0
- package/build/comments-pagination-next/index.js.map +1 -1
- package/build/comments-pagination-numbers/index.js +1 -0
- package/build/comments-pagination-numbers/index.js.map +1 -1
- package/build/comments-pagination-previous/index.js +1 -0
- package/build/comments-pagination-previous/index.js.map +1 -1
- package/build/cover/deprecated.js +153 -30
- package/build/cover/deprecated.js.map +1 -1
- package/build/cover/edit/index.js +4 -3
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +45 -4
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +0 -4
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/index.js +4 -0
- package/build/cover/index.js.map +1 -1
- package/build/cover/save.js +3 -2
- package/build/cover/save.js.map +1 -1
- package/build/embed/embed-preview.js +1 -0
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/variations.js +1 -1
- package/build/embed/variations.js.map +1 -1
- package/build/experiments.js +19 -0
- package/build/experiments.js.map +1 -0
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/gallery/deprecated.js +6 -4
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +50 -7
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +9 -34
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/v1/edit.js +7 -5
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/deprecated.js +1 -1
- package/build/group/deprecated.js.map +1 -1
- package/build/group/edit.js +2 -2
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/index.js +1 -7
- package/build/heading/index.js.map +1 -1
- package/build/home-link/index.js +1 -0
- package/build/home-link/index.js.map +1 -1
- package/build/image/edit.native.js +2 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +18 -25
- package/build/image/image.js.map +1 -1
- package/build/latest-comments/index.js +1 -0
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +1 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +11 -8
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +1 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -0
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/loginout/index.js +1 -0
- package/build/loginout/index.js.map +1 -1
- package/build/media-text/edit.js +2 -4
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +4 -4
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/deleted-navigation-warning.js +31 -0
- package/build/navigation/edit/deleted-navigation-warning.js.map +1 -0
- package/build/navigation/edit/index.js +25 -14
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +0 -5
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +9 -2
- package/build/navigation/edit/manage-menus-button.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +54 -35
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-name-control.js +1 -0
- package/build/navigation/edit/navigation-menu-name-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +15 -54
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -0
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +1 -6
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/index.js +5 -0
- package/build/navigation/index.js.map +1 -1
- package/build/navigation/leaf-more-menu.js +95 -0
- package/build/navigation/leaf-more-menu.js.map +1 -0
- package/build/navigation/menu-items-to-blocks.js +0 -2
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation-link/edit.js +23 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/update-attributes.js +3 -3
- package/build/navigation-link/update-attributes.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/navigation-submenu/index.js +13 -3
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/page-list/edit.js +153 -132
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +2 -11
- package/build/page-list/index.js.map +1 -1
- package/build/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +41 -9
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -0
- package/build/page-list-item/edit.js +4 -2
- package/build/page-list-item/edit.js.map +1 -1
- package/build/page-list-item/index.js +3 -2
- package/build/page-list-item/index.js.map +1 -1
- package/build/paragraph/edit.js +1 -1
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +1 -7
- package/build/paragraph/index.js.map +1 -1
- package/build/post-author/edit.js +2 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author/index.js +1 -0
- package/build/post-author/index.js.map +1 -1
- package/build/post-author-biography/index.js +1 -0
- package/build/post-author-biography/index.js.map +1 -1
- package/build/post-author-name/index.js +1 -1
- package/build/post-comment/edit.js +1 -0
- package/build/post-comment/edit.js.map +1 -1
- package/build/post-comments-count/index.js +1 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +1 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +1 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +1 -20
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +1 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/index.js +1 -0
- package/build/post-date/index.js.map +1 -1
- package/build/post-excerpt/edit.js +6 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-excerpt/index.js +1 -0
- package/build/post-excerpt/index.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +3 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +39 -22
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +1 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay.js +1 -1
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +1 -0
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/post-template/edit.js +6 -4
- package/build/post-template/edit.js.map +1 -1
- package/build/post-template/index.js +1 -0
- package/build/post-template/index.js.map +1 -1
- package/build/post-terms/edit.js +5 -4
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/index.js +1 -0
- package/build/post-terms/index.js.map +1 -1
- package/build/post-title/edit.js +1 -0
- package/build/post-title/edit.js.map +1 -1
- package/build/post-title/index.js +1 -0
- package/build/post-title/index.js.map +1 -1
- package/build/query/deprecated.js +90 -1
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +2 -50
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +2 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/order-control.js +1 -0
- package/build/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js +88 -0
- package/build/query/edit/pattern-selection-modal.js.map +1 -0
- package/build/query/edit/query-content.js +11 -25
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +2 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/edit/query-toolbar.js +6 -11
- package/build/query/edit/query-toolbar.js.map +1 -1
- package/build/query/index.js +1 -0
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +25 -3
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/index.js +1 -0
- package/build/query-no-results/index.js.map +1 -1
- package/build/query-pagination/edit.js +3 -14
- package/build/query-pagination/edit.js.map +1 -1
- package/build/query-pagination/index.js +1 -0
- package/build/query-pagination/index.js.map +1 -1
- package/build/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/build/query-pagination/query-pagination-arrow-controls.js.map +1 -1
- package/build/query-pagination-next/index.js +1 -0
- package/build/query-pagination-next/index.js.map +1 -1
- package/build/query-pagination-numbers/index.js +1 -0
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -0
- package/build/query-pagination-previous/index.js.map +1 -1
- package/build/query-title/index.js +1 -0
- package/build/query-title/index.js.map +1 -1
- package/build/read-more/index.js +1 -0
- package/build/read-more/index.js.map +1 -1
- package/build/rss/edit.js +5 -2
- package/build/rss/edit.js.map +1 -1
- package/build/rss/index.js +1 -0
- package/build/rss/index.js.map +1 -1
- package/build/search/index.js +1 -0
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +9 -13
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-logo/index.js +1 -0
- package/build/site-logo/index.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/index.js +1 -0
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +5 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +1 -0
- package/build/social-link/index.js.map +1 -1
- package/build/social-links/edit.js +3 -14
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +10 -5
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +15 -0
- package/build/table/index.js.map +1 -1
- package/build/table/save.js +4 -2
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +1 -1
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +47 -3
- package/build/table/transforms.js.map +1 -1
- package/build/table/utils.js +26 -0
- package/build/table/utils.js.map +1 -0
- package/build/tag-cloud/edit.js +4 -9
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/tag-cloud/index.js +1 -0
- package/build/tag-cloud/index.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +14 -2
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +0 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +3 -3
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/title-modal.js +6 -5
- package/build/template-part/edit/title-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -2
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/index.js +1 -0
- package/build/template-part/index.js.map +1 -1
- package/build/term-description/index.js +1 -0
- package/build/term-description/index.js.map +1 -1
- package/build/utils/init-block.js +1 -1
- package/build/utils/init-block.js.map +1 -1
- package/build/utils/init-block.native.js +1 -1
- package/build/utils/init-block.native.js.map +1 -1
- package/build/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -1
- package/build/utils/search-patterns.js.map +1 -0
- package/build/video/edit-common-settings.js +6 -5
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +1 -0
- package/build/video/edit.js.map +1 -1
- package/build/video/tracks-editor.js +18 -11
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/archives/edit.js +1 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +1 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/audio/edit.js +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/avatar/index.js +1 -0
- package/build-module/avatar/index.js.map +1 -1
- package/build-module/block/edit.js +1 -0
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +2 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +1 -0
- package/build-module/button/index.js.map +1 -1
- package/build-module/buttons/edit.js +0 -2
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/calendar/index.js +1 -0
- package/build-module/calendar/index.js.map +1 -1
- package/build-module/categories/edit.js +2 -2
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +1 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/edit.native.js +2 -1
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/columns/deprecated.js +1 -1
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/comment-author-avatar/index.js +1 -0
- package/build-module/comment-author-avatar/index.js.map +1 -1
- package/build-module/comment-author-name/index.js +1 -0
- package/build-module/comment-author-name/index.js.map +1 -1
- package/build-module/comment-content/index.js +1 -0
- package/build-module/comment-content/index.js.map +1 -1
- package/build-module/comment-date/index.js +1 -0
- package/build-module/comment-date/index.js.map +1 -1
- package/build-module/comment-edit-link/index.js +1 -0
- package/build-module/comment-edit-link/index.js.map +1 -1
- package/build-module/comment-reply-link/index.js +1 -0
- package/build-module/comment-reply-link/index.js.map +1 -1
- package/build-module/comment-template/index.js +1 -0
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +10 -4
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments/index.js +2 -1
- package/build-module/comments/index.js.map +1 -1
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/build-module/comments-pagination/comments-pagination-arrow-controls.js.map +1 -1
- package/build-module/comments-pagination/edit.js +3 -14
- package/build-module/comments-pagination/edit.js.map +1 -1
- package/build-module/comments-pagination/index.js +1 -0
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/comments-pagination-next/index.js +1 -0
- package/build-module/comments-pagination-next/index.js.map +1 -1
- package/build-module/comments-pagination-numbers/index.js +1 -0
- package/build-module/comments-pagination-numbers/index.js.map +1 -1
- package/build-module/comments-pagination-previous/index.js +1 -0
- package/build-module/comments-pagination-previous/index.js.map +1 -1
- package/build-module/cover/deprecated.js +155 -31
- package/build-module/cover/deprecated.js.map +1 -1
- package/build-module/cover/edit/index.js +4 -3
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +46 -5
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +0 -4
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/index.js +4 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/save.js +3 -2
- package/build-module/cover/save.js.map +1 -1
- package/build-module/embed/embed-preview.js +1 -0
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/embed/variations.js +1 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/experiments.js +9 -0
- package/build-module/experiments.js.map +1 -0
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/gallery/deprecated.js +6 -3
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +52 -10
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +10 -35
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/v1/edit.js +8 -6
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/deprecated.js +1 -1
- package/build-module/group/deprecated.js.map +1 -1
- package/build-module/group/edit.js +2 -2
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/index.js +1 -6
- package/build-module/heading/index.js.map +1 -1
- package/build-module/home-link/index.js +1 -0
- package/build-module/home-link/index.js.map +1 -1
- package/build-module/image/edit.native.js +2 -2
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +20 -27
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-comments/index.js +1 -0
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +1 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +12 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +1 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -0
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/loginout/index.js +1 -0
- package/build-module/loginout/index.js.map +1 -1
- package/build-module/media-text/edit.js +2 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +4 -4
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/deleted-navigation-warning.js +21 -0
- package/build-module/navigation/edit/deleted-navigation-warning.js.map +1 -0
- package/build-module/navigation/edit/index.js +24 -14
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +0 -5
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +10 -3
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +53 -38
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-name-control.js +1 -0
- package/build-module/navigation/edit/navigation-menu-name-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +17 -56
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +1 -6
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/index.js +5 -0
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/navigation/leaf-more-menu.js +76 -0
- package/build-module/navigation/leaf-more-menu.js.map +1 -0
- package/build-module/navigation/menu-items-to-blocks.js +0 -2
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation-link/edit.js +22 -10
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +3 -3
- package/build-module/navigation-link/update-attributes.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/navigation-submenu/index.js +14 -4
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/page-list/edit.js +155 -132
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +3 -12
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +37 -7
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -0
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/edit.js.map +1 -1
- package/build-module/page-list-item/index.js +3 -2
- package/build-module/page-list-item/index.js.map +1 -1
- package/build-module/paragraph/edit.js +1 -1
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +1 -6
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/post-author/edit.js +2 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author/index.js +1 -0
- package/build-module/post-author/index.js.map +1 -1
- package/build-module/post-author-biography/index.js +1 -0
- package/build-module/post-author-biography/index.js.map +1 -1
- package/build-module/post-author-name/index.js +1 -1
- package/build-module/post-comment/edit.js +1 -0
- package/build-module/post-comment/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +1 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +1 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +1 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +2 -20
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +1 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/index.js +1 -0
- package/build-module/post-date/index.js.map +1 -1
- package/build-module/post-excerpt/edit.js +6 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-excerpt/index.js +1 -0
- package/build-module/post-excerpt/index.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +39 -22
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +1 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay.js +1 -1
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +1 -0
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/post-template/edit.js +6 -4
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -0
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/post-terms/edit.js +4 -3
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/index.js +1 -0
- package/build-module/post-terms/index.js.map +1 -1
- package/build-module/post-title/edit.js +1 -0
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/post-title/index.js +1 -0
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/deprecated.js +87 -1
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +4 -50
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +2 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/order-control.js +1 -0
- package/build-module/query/edit/inspector-controls/order-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +1 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js +75 -0
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -0
- package/build-module/query/edit/query-content.js +12 -26
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +2 -2
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/edit/query-toolbar.js +6 -10
- package/build-module/query/edit/query-toolbar.js.map +1 -1
- package/build-module/query/index.js +1 -0
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +21 -2
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/index.js +1 -0
- package/build-module/query-no-results/index.js.map +1 -1
- package/build-module/query-pagination/edit.js +3 -14
- package/build-module/query-pagination/edit.js.map +1 -1
- package/build-module/query-pagination/index.js +1 -0
- package/build-module/query-pagination/index.js.map +1 -1
- package/build-module/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/build-module/query-pagination/query-pagination-arrow-controls.js.map +1 -1
- package/build-module/query-pagination-next/index.js +1 -0
- package/build-module/query-pagination-next/index.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +1 -0
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -0
- package/build-module/query-pagination-previous/index.js.map +1 -1
- package/build-module/query-title/index.js +1 -0
- package/build-module/query-title/index.js.map +1 -1
- package/build-module/read-more/index.js +1 -0
- package/build-module/read-more/index.js.map +1 -1
- package/build-module/rss/edit.js +6 -3
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/rss/index.js +1 -0
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/index.js +1 -0
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +10 -14
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-logo/index.js +1 -0
- package/build-module/site-logo/index.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/index.js +1 -0
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +5 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +1 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/social-links/edit.js +3 -14
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +10 -5
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +15 -0
- package/build-module/table/index.js.map +1 -1
- package/build-module/table/save.js +4 -2
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +1 -1
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +46 -3
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table/utils.js +19 -0
- package/build-module/table/utils.js.map +1 -0
- package/build-module/tag-cloud/edit.js +5 -9
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/tag-cloud/index.js +1 -0
- package/build-module/tag-cloud/index.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +14 -2
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +0 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +1 -1
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/title-modal.js +7 -6
- package/build-module/template-part/edit/title-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +2 -2
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/index.js +1 -0
- package/build-module/template-part/index.js.map +1 -1
- package/build-module/term-description/index.js +1 -0
- package/build-module/term-description/index.js.map +1 -1
- package/build-module/utils/init-block.js +1 -1
- package/build-module/utils/init-block.js.map +1 -1
- package/build-module/utils/init-block.native.js +1 -1
- package/build-module/utils/init-block.native.js.map +1 -1
- package/build-module/{template-part/edit/utils/search.js → utils/search-patterns.js} +3 -5
- package/build-module/utils/search-patterns.js.map +1 -0
- package/build-module/video/edit-common-settings.js +6 -5
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +1 -0
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +19 -12
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/editor-rtl.css +14 -67
- package/build-style/editor.css +14 -67
- package/build-style/query/editor-rtl.css +11 -14
- package/build-style/query/editor.css +11 -14
- package/build-style/rss/editor-rtl.css +3 -16
- package/build-style/rss/editor.css +3 -16
- package/build-style/table/editor-rtl.css +0 -3
- package/build-style/table/editor.css +0 -3
- package/build-style/video/editor-rtl.css +0 -34
- package/build-style/video/editor.css +0 -34
- package/package.json +30 -29
- package/src/archives/block.json +1 -0
- package/src/archives/edit.js +1 -0
- package/src/audio/edit.js +2 -0
- package/src/avatar/block.json +1 -0
- package/src/block/edit.js +1 -0
- package/src/button/block.json +1 -0
- package/src/button/edit.js +2 -1
- package/src/buttons/edit.js +2 -2
- package/src/calendar/block.json +1 -0
- package/src/calendar/index.php +3 -1
- package/src/categories/block.json +1 -0
- package/src/categories/edit.js +2 -2
- package/src/column/edit.native.js +6 -1
- package/src/columns/deprecated.js +1 -1
- package/src/comment-author-avatar/block.json +1 -0
- package/src/comment-author-name/block.json +1 -0
- package/src/comment-author-name/index.php +6 -3
- package/src/comment-content/block.json +1 -0
- package/src/comment-content/index.php +6 -3
- package/src/comment-date/block.json +1 -0
- package/src/comment-date/index.php +1 -1
- package/src/comment-edit-link/block.json +1 -0
- package/src/comment-edit-link/index.php +6 -3
- package/src/comment-reply-link/block.json +1 -0
- package/src/comment-reply-link/index.php +6 -3
- package/src/comment-template/block.json +1 -0
- package/src/comments/block.json +2 -1
- package/src/comments/edit/comments-inspector-controls.js +13 -3
- package/src/comments-pagination/block.json +1 -0
- package/src/comments-pagination/comments-pagination-arrow-controls.js +1 -0
- package/src/comments-pagination/edit.js +1 -13
- package/src/comments-pagination/index.php +4 -1
- package/src/comments-pagination-next/block.json +1 -0
- package/src/comments-pagination-numbers/block.json +1 -0
- package/src/comments-pagination-previous/block.json +1 -0
- package/src/cover/block.json +4 -0
- package/src/cover/deprecated.js +173 -6
- package/src/cover/edit/index.js +5 -4
- package/src/cover/edit/inspector-controls.js +45 -2
- package/src/cover/edit.native.js +0 -3
- package/src/cover/save.js +3 -2
- package/src/embed/embed-preview.js +1 -0
- package/src/embed/variations.js +1 -1
- package/src/experiments.js +10 -0
- package/src/file/inspector.js +1 -0
- package/src/gallery/deprecated.js +2 -3
- package/src/gallery/edit.js +68 -5
- package/src/gallery/gallery.js +27 -43
- package/src/gallery/v1/edit.js +10 -9
- package/src/group/block.json +3 -0
- package/src/group/deprecated.js +3 -1
- package/src/group/edit.js +2 -2
- package/src/heading/index.js +1 -6
- package/src/home-link/block.json +1 -0
- package/src/image/edit.native.js +2 -3
- package/src/image/image.js +43 -58
- package/src/latest-comments/block.json +1 -0
- package/src/latest-posts/block.json +1 -0
- package/src/latest-posts/edit.js +6 -7
- package/src/latest-posts/index.php +9 -10
- package/src/list/ordered-list-settings.js +1 -0
- package/src/loginout/block.json +1 -0
- package/src/media-text/edit.js +3 -7
- package/src/missing/edit.native.js +3 -4
- package/src/missing/test/edit.native.js +2 -2
- package/src/navigation/block.json +2 -0
- package/src/navigation/edit/deleted-navigation-warning.js +19 -0
- package/src/navigation/edit/index.js +25 -24
- package/src/navigation/edit/inner-blocks.js +0 -6
- package/src/navigation/edit/manage-menus-button.js +24 -13
- package/src/navigation/edit/menu-inspector-controls.js +71 -76
- package/src/navigation/edit/navigation-menu-delete-control.js +0 -1
- package/src/navigation/edit/navigation-menu-name-control.js +1 -0
- package/src/navigation/edit/navigation-menu-selector.js +17 -79
- package/src/navigation/edit/overlay-menu-preview.js +1 -0
- package/src/navigation/edit/placeholder/index.js +0 -6
- package/src/navigation/index.js +3 -0
- package/src/navigation/index.php +25 -7
- package/src/navigation/leaf-more-menu.js +93 -0
- package/src/navigation/menu-items-to-blocks.js +0 -2
- package/src/navigation-link/edit.js +34 -14
- package/src/navigation-link/index.php +28 -33
- package/src/navigation-link/update-attributes.js +1 -1
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.js +8 -2
- package/src/navigation-submenu/index.php +0 -32
- package/src/page-list/block.json +1 -0
- package/src/page-list/edit.js +196 -161
- package/src/page-list/index.js +2 -8
- package/src/page-list/index.php +5 -0
- package/src/page-list/test/convert-to-links-modal.js +1 -1
- package/src/page-list/{convert-to-navigation-links.js → use-convert-to-navigation-links.js} +36 -6
- package/src/page-list-item/block.json +2 -1
- package/src/page-list-item/edit.js +3 -2
- package/src/page-list-item/index.js +1 -1
- package/src/paragraph/edit.js +1 -1
- package/src/paragraph/index.js +1 -6
- package/src/post-author/block.json +1 -0
- package/src/post-author/edit.js +2 -0
- package/src/post-author/index.php +10 -4
- package/src/post-author-biography/block.json +1 -0
- package/src/post-author-name/block.json +1 -1
- package/src/post-author-name/index.php +9 -4
- package/src/post-comment/edit.js +1 -0
- package/src/post-comments-count/block.json +1 -0
- package/src/post-comments-form/block.json +1 -0
- package/src/post-comments-form/index.php +6 -4
- package/src/post-comments-link/block.json +1 -0
- package/src/post-comments-link/index.php +8 -2
- package/src/post-content/block.json +1 -0
- package/src/post-content/edit.js +2 -13
- package/src/post-date/block.json +1 -0
- package/src/post-date/index.php +10 -3
- package/src/post-excerpt/block.json +1 -0
- package/src/post-excerpt/edit.js +22 -12
- package/src/post-excerpt/index.php +6 -3
- package/src/post-featured-image/block.json +1 -0
- package/src/post-featured-image/dimension-controls.js +3 -1
- package/src/post-featured-image/edit.js +46 -27
- package/src/post-featured-image/index.php +19 -6
- package/src/post-featured-image/overlay.js +1 -1
- package/src/post-navigation-link/block.json +1 -0
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-template/block.json +1 -0
- package/src/post-template/edit.js +4 -3
- package/src/post-template/index.php +4 -1
- package/src/post-terms/block.json +1 -0
- package/src/post-terms/edit.js +4 -3
- package/src/post-terms/index.php +6 -3
- package/src/post-title/block.json +1 -0
- package/src/post-title/edit.js +1 -0
- package/src/post-title/index.php +10 -4
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +0 -2
- package/src/query/block.json +1 -0
- package/src/query/deprecated.js +77 -1
- package/src/query/edit/index.js +4 -60
- package/src/query/edit/inspector-controls/index.js +2 -0
- package/src/query/edit/inspector-controls/order-control.js +1 -0
- package/src/query/edit/inspector-controls/sticky-control.js +1 -0
- package/src/query/edit/pattern-selection-modal.js +86 -0
- package/src/query/edit/query-content.js +14 -12
- package/src/query/edit/query-placeholder.js +4 -8
- package/src/query/edit/query-toolbar.js +6 -16
- package/src/query/editor.scss +21 -19
- package/src/query/utils.js +22 -8
- package/src/query-no-results/block.json +1 -0
- package/src/query-no-results/index.php +3 -1
- package/src/query-pagination/block.json +1 -0
- package/src/query-pagination/edit.js +1 -13
- package/src/query-pagination/index.php +2 -0
- package/src/query-pagination/query-pagination-arrow-controls.js +1 -0
- package/src/query-pagination-next/block.json +1 -0
- package/src/query-pagination-numbers/block.json +1 -0
- package/src/query-pagination-previous/block.json +1 -0
- package/src/query-title/block.json +1 -0
- package/src/read-more/block.json +1 -0
- package/src/rss/block.json +1 -0
- package/src/rss/edit.js +16 -12
- package/src/rss/editor.scss +4 -15
- package/src/rss/index.php +1 -1
- package/src/search/block.json +1 -0
- package/src/search/index.php +2 -2
- package/src/site-logo/block.json +1 -0
- package/src/site-logo/edit.js +9 -16
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/block.json +1 -0
- package/src/site-title/index.php +6 -3
- package/src/social-link/block.json +1 -0
- package/src/social-link/edit.js +5 -2
- package/src/social-links/edit.js +1 -14
- package/src/table/block.json +15 -0
- package/src/table/edit.js +39 -26
- package/src/table/editor.scss +0 -6
- package/src/table/save.js +9 -1
- package/src/table/state.js +1 -1
- package/src/table/test/utils.js +20 -0
- package/src/table/transforms.js +65 -2
- package/src/table/utils.js +18 -0
- package/src/tag-cloud/block.json +1 -0
- package/src/tag-cloud/edit.js +13 -15
- package/src/template-part/block.json +1 -0
- package/src/template-part/edit/advanced-controls.js +26 -1
- package/src/template-part/edit/index.js +0 -1
- package/src/template-part/edit/selection-modal.js +1 -1
- package/src/template-part/edit/title-modal.js +12 -15
- package/src/template-part/edit/utils/hooks.js +3 -8
- package/src/template-part/index.php +19 -7
- package/src/term-description/block.json +1 -0
- package/src/term-description/index.php +8 -4
- package/src/utils/init-block.js +1 -1
- package/src/utils/init-block.native.js +1 -1
- package/src/{template-part/edit/utils/search.js → utils/search-patterns.js} +2 -2
- package/src/utils/test/search-patterns.js +58 -0
- package/src/video/edit-common-settings.js +6 -5
- package/src/video/edit.js +1 -0
- package/src/video/editor.scss +0 -35
- package/src/video/tracks-editor.js +65 -50
- package/build/page-list/constants.js +0 -15
- package/build/page-list/constants.js.map +0 -1
- package/build/page-list/convert-to-links-modal.js +0 -83
- package/build/page-list/convert-to-links-modal.js.map +0 -1
- package/build/page-list/convert-to-navigation-links.js.map +0 -1
- package/build/template-part/edit/utils/search.js.map +0 -1
- package/build-module/page-list/constants.js +0 -6
- package/build-module/page-list/constants.js.map +0 -1
- package/build-module/page-list/convert-to-links-modal.js +0 -68
- package/build-module/page-list/convert-to-links-modal.js.map +0 -1
- package/build-module/page-list/convert-to-navigation-links.js.map +0 -1
- package/build-module/template-part/edit/utils/search.js.map +0 -1
- package/src/page-list/constants.js +0 -8
- package/src/page-list/convert-to-links-modal.js +0 -70
|
@@ -3,9 +3,9 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* WordPress dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { MenuGroup, MenuItem, MenuItemsChoice, DropdownMenu
|
|
6
|
+
import { MenuGroup, MenuItem, MenuItemsChoice, DropdownMenu } from '@wordpress/components';
|
|
7
7
|
import { useEntityProp } from '@wordpress/core-data';
|
|
8
|
-
import {
|
|
8
|
+
import { moreVertical } from '@wordpress/icons';
|
|
9
9
|
import { __, sprintf } from '@wordpress/i18n';
|
|
10
10
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
11
11
|
import { useEffect, useMemo, useState } from '@wordpress/element';
|
|
@@ -17,8 +17,6 @@ import useNavigationMenu from '../use-navigation-menu';
|
|
|
17
17
|
import useNavigationEntities from '../use-navigation-entities';
|
|
18
18
|
|
|
19
19
|
function NavigationMenuSelector(_ref) {
|
|
20
|
-
var _window;
|
|
21
|
-
|
|
22
20
|
let {
|
|
23
21
|
currentMenuId,
|
|
24
22
|
onSelectNavigationMenu,
|
|
@@ -26,17 +24,13 @@ function NavigationMenuSelector(_ref) {
|
|
|
26
24
|
onCreateNew,
|
|
27
25
|
actionLabel,
|
|
28
26
|
createNavigationMenuIsSuccess,
|
|
29
|
-
createNavigationMenuIsError
|
|
30
|
-
toggleProps = {}
|
|
27
|
+
createNavigationMenuIsError
|
|
31
28
|
} = _ref;
|
|
32
|
-
const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
|
|
33
|
-
/* translators: %s: The name of a menu. */
|
|
34
29
|
|
|
30
|
+
/* translators: %s: The name of a menu. */
|
|
35
31
|
const createActionLabel = __("Create from '%s'");
|
|
36
32
|
|
|
37
33
|
const [selectorLabel, setSelectorLabel] = useState('');
|
|
38
|
-
const [isPressed, setIsPressed] = useState(false);
|
|
39
|
-
const [enableOptions, setEnableOptions] = useState(false);
|
|
40
34
|
const [isCreatingMenu, setIsCreatingMenu] = useState(false);
|
|
41
35
|
actionLabel = actionLabel || createActionLabel;
|
|
42
36
|
const {
|
|
@@ -50,18 +44,20 @@ function NavigationMenuSelector(_ref) {
|
|
|
50
44
|
canSwitchNavigationMenu
|
|
51
45
|
} = useNavigationMenu();
|
|
52
46
|
const [currentTitle] = useEntityProp('postType', 'wp_navigation', 'title');
|
|
53
|
-
const shouldEnableMenuSelector = (canSwitchNavigationMenu || canUserCreateNavigationMenu) && hasResolvedNavigationMenus && !isCreatingMenu;
|
|
54
47
|
const menuChoices = useMemo(() => {
|
|
55
|
-
return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map(_ref2 => {
|
|
48
|
+
return (navigationMenus === null || navigationMenus === void 0 ? void 0 : navigationMenus.map((_ref2, index) => {
|
|
56
49
|
let {
|
|
57
50
|
id,
|
|
58
51
|
title
|
|
59
52
|
} = _ref2;
|
|
60
|
-
const label = decodeEntities(title.rendered)
|
|
53
|
+
const label = decodeEntities(title.rendered) ||
|
|
54
|
+
/* translators: %s is the index of the menu in the list of menus. */
|
|
55
|
+
sprintf(__('(no title %s)'), index + 1);
|
|
61
56
|
|
|
62
57
|
if (id === currentMenuId && !isCreatingMenu) {
|
|
63
|
-
setSelectorLabel(
|
|
64
|
-
|
|
58
|
+
setSelectorLabel(
|
|
59
|
+
/* translators: %s is the name of a navigation menu. */
|
|
60
|
+
sprintf(__('You are currently editing %s'), label));
|
|
65
61
|
}
|
|
66
62
|
|
|
67
63
|
return {
|
|
@@ -82,53 +78,19 @@ function NavigationMenuSelector(_ref) {
|
|
|
82
78
|
if (!hasResolvedNavigationMenus) {
|
|
83
79
|
setSelectorLabel(__('Loading …'));
|
|
84
80
|
} else if (noMenuSelected || noBlockMenus || menuUnavailable) {
|
|
85
|
-
setSelectorLabel(__('
|
|
86
|
-
setEnableOptions(shouldEnableMenuSelector);
|
|
81
|
+
setSelectorLabel(__('Choose a Navigation menu'));
|
|
87
82
|
}
|
|
88
83
|
|
|
89
84
|
if (isCreatingMenu && (createNavigationMenuIsSuccess || createNavigationMenuIsError)) {
|
|
90
85
|
setIsCreatingMenu(false);
|
|
91
86
|
}
|
|
92
87
|
}, [currentMenuId, hasNavigationMenus, hasResolvedNavigationMenus, createNavigationMenuIsSuccess, isNavigationMenuResolved]);
|
|
93
|
-
|
|
94
|
-
className: 'wp-block-navigation__navigation-selector-button',
|
|
95
|
-
children: createElement(Fragment, null, createElement(VisuallyHidden, {
|
|
96
|
-
as: "span"
|
|
97
|
-
}, __('Select Menu')), createElement(Icon, {
|
|
98
|
-
icon: isPressed ? chevronUp : chevronDown,
|
|
99
|
-
className: "wp-block-navigation__navigation-selector-button__icon"
|
|
100
|
-
})),
|
|
101
|
-
isBusy: !enableOptions,
|
|
102
|
-
disabled: !enableOptions,
|
|
103
|
-
__experimentalIsFocusable: true,
|
|
104
|
-
onClick: () => {
|
|
105
|
-
setIsPressed(!isPressed);
|
|
106
|
-
}
|
|
107
|
-
};
|
|
108
|
-
|
|
109
|
-
if (!hasNavigationMenus && !hasClassicMenus && !isOffCanvasNavigationEditorEnabled) {
|
|
110
|
-
return createElement(Button, {
|
|
111
|
-
className: "wp-block-navigation__navigation-selector-button--createnew",
|
|
112
|
-
isBusy: !enableOptions,
|
|
113
|
-
disabled: !enableOptions,
|
|
114
|
-
__experimentalIsFocusable: true,
|
|
115
|
-
onClick: () => {
|
|
116
|
-
onCreateNew();
|
|
117
|
-
setIsCreatingMenu(true);
|
|
118
|
-
setSelectorLabel(__('Loading …'));
|
|
119
|
-
setEnableOptions(false);
|
|
120
|
-
}
|
|
121
|
-
}, __('Create new menu'));
|
|
122
|
-
}
|
|
123
|
-
|
|
124
|
-
return createElement(DropdownMenu, {
|
|
125
|
-
className: isOffCanvasNavigationEditorEnabled ? '' : 'wp-block-navigation__navigation-selector',
|
|
88
|
+
const NavigationMenuSelectorDropdown = createElement(DropdownMenu, {
|
|
126
89
|
label: selectorLabel,
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
toggleProps: isOffCanvasNavigationEditorEnabled ? {
|
|
90
|
+
icon: moreVertical,
|
|
91
|
+
toggleProps: {
|
|
130
92
|
isSmall: true
|
|
131
|
-
}
|
|
93
|
+
}
|
|
132
94
|
}, _ref3 => {
|
|
133
95
|
let {
|
|
134
96
|
onClose
|
|
@@ -148,7 +110,6 @@ function NavigationMenuSelector(_ref) {
|
|
|
148
110
|
return createElement(MenuItem, {
|
|
149
111
|
onClick: () => {
|
|
150
112
|
setSelectorLabel(__('Loading …'));
|
|
151
|
-
setEnableOptions(false);
|
|
152
113
|
onSelectClassicMenu(menu);
|
|
153
114
|
onClose();
|
|
154
115
|
},
|
|
@@ -163,10 +124,10 @@ function NavigationMenuSelector(_ref) {
|
|
|
163
124
|
onCreateNew();
|
|
164
125
|
setIsCreatingMenu(true);
|
|
165
126
|
setSelectorLabel(__('Loading …'));
|
|
166
|
-
setEnableOptions(false);
|
|
167
127
|
}
|
|
168
128
|
}, __('Create new menu'))));
|
|
169
129
|
});
|
|
130
|
+
return NavigationMenuSelectorDropdown;
|
|
170
131
|
}
|
|
171
132
|
|
|
172
133
|
export default NavigationMenuSelector;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","Button","VisuallyHidden","useEntityProp","Icon","chevronUp","chevronDown","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","toggleProps","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","createActionLabel","selectorLabel","setSelectorLabel","isPressed","setIsPressed","enableOptions","setEnableOptions","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","shouldEnableMenuSelector","menuChoices","map","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","className","children","isBusy","disabled","__experimentalIsFocusable","onClick","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n\tButton,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { Icon, chevronUp, chevronDown, moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\n\nfunction NavigationMenuSelector( {\n\tcurrentMenuId,\n\tonSelectNavigationMenu,\n\tonSelectClassicMenu,\n\tonCreateNew,\n\tactionLabel,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\ttoggleProps = {},\n} ) {\n\tconst isOffCanvasNavigationEditorEnabled =\n\t\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\t/* translators: %s: The name of a menu. */\n\tconst createActionLabel = __( \"Create from '%s'\" );\n\n\tconst [ selectorLabel, setSelectorLabel ] = useState( '' );\n\tconst [ isPressed, setIsPressed ] = useState( false );\n\tconst [ enableOptions, setEnableOptions ] = useState( false );\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\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\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 shouldEnableMenuSelector =\n\t\t( canSwitchNavigationMenu || canUserCreateNavigationMenu ) &&\n\t\thasResolvedNavigationMenus &&\n\t\t! isCreatingMenu;\n\n\tconst menuChoices = useMemo( () => {\n\t\treturn (\n\t\t\tnavigationMenus?.map( ( { id, title } ) => {\n\t\t\t\tconst label = decodeEntities( title.rendered );\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel( currentTitle );\n\t\t\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t\t\t}\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}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\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\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Select menu' ) );\n\t\t\tsetEnableOptions( shouldEnableMenuSelector );\n\t\t}\n\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\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t] );\n\n\ttoggleProps = {\n\t\t...toggleProps,\n\t\tclassName: 'wp-block-navigation__navigation-selector-button',\n\t\tchildren: (\n\t\t\t<>\n\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t{ __( 'Select Menu' ) }\n\t\t\t\t</VisuallyHidden>\n\t\t\t\t<Icon\n\t\t\t\t\ticon={ isPressed ? chevronUp : chevronDown }\n\t\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button__icon\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t),\n\t\tisBusy: ! enableOptions,\n\t\tdisabled: ! enableOptions,\n\t\t__experimentalIsFocusable: true,\n\t\tonClick: () => {\n\t\t\tsetIsPressed( ! isPressed );\n\t\t},\n\t};\n\n\tif (\n\t\t! hasNavigationMenus &&\n\t\t! hasClassicMenus &&\n\t\t! isOffCanvasNavigationEditorEnabled\n\t) {\n\t\treturn (\n\t\t\t<Button\n\t\t\t\tclassName=\"wp-block-navigation__navigation-selector-button--createnew\"\n\t\t\t\tisBusy={ ! enableOptions }\n\t\t\t\tdisabled={ ! enableOptions }\n\t\t\t\t__experimentalIsFocusable\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tonCreateNew();\n\t\t\t\t\tsetIsCreatingMenu( true );\n\t\t\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\tsetEnableOptions( false );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Create new menu' ) }\n\t\t\t</Button>\n\t\t);\n\t}\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName={\n\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t? ''\n\t\t\t\t\t: 'wp-block-navigation__navigation-selector'\n\t\t\t}\n\t\t\tlabel={ selectorLabel }\n\t\t\ttext={ isOffCanvasNavigationEditorEnabled ? '' : selectorLabel }\n\t\t\ticon={ isOffCanvasNavigationEditorEnabled ? moreVertical : null }\n\t\t\ttoggleProps={\n\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t? { isSmall: true }\n\t\t\t\t\t: toggleProps\n\t\t\t}\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} }\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={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\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>\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\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\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t\t\t\t\t\t\t\tsetEnableOptions( false );\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\nexport default NavigationMenuSelector;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["MenuGroup","MenuItem","MenuItemsChoice","DropdownMenu","useEntityProp","moreVertical","__","sprintf","decodeEntities","useEffect","useMemo","useState","useNavigationMenu","useNavigationEntities","NavigationMenuSelector","currentMenuId","onSelectNavigationMenu","onSelectClassicMenu","onCreateNew","actionLabel","createNavigationMenuIsSuccess","createNavigationMenuIsError","createActionLabel","selectorLabel","setSelectorLabel","isCreatingMenu","setIsCreatingMenu","menus","classicMenus","navigationMenus","hasResolvedNavigationMenus","isNavigationMenuResolved","canUserCreateNavigationMenu","canSwitchNavigationMenu","currentTitle","menuChoices","map","index","id","title","label","rendered","value","ariaLabel","hasNavigationMenus","length","hasClassicMenus","showNavigationMenus","showClassicMenus","noMenuSelected","noBlockMenus","menuUnavailable","NavigationMenuSelectorDropdown","isSmall","onClose","menuId","menu","name"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tMenuItemsChoice,\n\tDropdownMenu,\n} from '@wordpress/components';\nimport { useEntityProp } from '@wordpress/core-data';\nimport { moreVertical } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useEffect, useMemo, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\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 [ selectorLabel, setSelectorLabel ] = useState( '' );\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\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\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 }, index ) => {\n\t\t\t\tconst label =\n\t\t\t\t\tdecodeEntities( title.rendered ) ||\n\t\t\t\t\t/* translators: %s is the index of the menu in the list of menus. */\n\t\t\t\t\tsprintf( __( '(no title %s)' ), index + 1 );\n\n\t\t\t\tif ( id === currentMenuId && ! isCreatingMenu ) {\n\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t/* translators: %s is the name of a navigation menu. */\n\t\t\t\t\t\tsprintf( __( 'You are currently editing %s' ), label )\n\t\t\t\t\t);\n\t\t\t\t}\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}, [\n\t\tcurrentTitle,\n\t\tcurrentMenuId,\n\t\tnavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\n\t\thasResolvedNavigationMenus,\n\t] );\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\tuseEffect( () => {\n\t\tif ( ! hasResolvedNavigationMenus ) {\n\t\t\tsetSelectorLabel( __( 'Loading …' ) );\n\t\t} else if ( noMenuSelected || noBlockMenus || menuUnavailable ) {\n\t\t\tsetSelectorLabel( __( 'Choose a Navigation menu' ) );\n\t\t}\n\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\tcurrentMenuId,\n\t\thasNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisNavigationMenuResolved,\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\tonSelectNavigationMenu( menuId );\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={ () => {\n\t\t\t\t\t\t\t\t\t\t\tsetSelectorLabel(\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Loading …' )\n\t\t\t\t\t\t\t\t\t\t\t);\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>\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\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\tsetSelectorLabel( __( 'Loading …' ) );\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"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/overlay-menu-preview.js"],"names":["ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","OverlayMenuIcon","OverlayMenuPreview","setAttributes","hasIcon","icon","value"],"mappings":";;AAAA;AACA;AACA;AACA,SACCA,aADD,EAECC,gCAAgC,IAAIC,kBAFrC,EAGCC,sCAAsC,IAAIC,wBAH3C,QAIO,uBAJP;AAKA,SAASC,EAAT,QAAmB,iBAAnB;AAEA;AACA;AACA;;AACA,OAAOC,eAAP,MAA4B,qBAA5B;AAEA,eAAe,SAASC,kBAAT,OAAgE;AAAA,MAAnC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,OAAjB;AAA0BC,IAAAA;AAA1B,GAAmC;AAC9E,SACC,8BACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGL,EAAE,CAAE,kBAAF,CADX;AAEC,IAAA,IAAI,EAAGA,EAAE,CACR,yEADQ,CAFV;AAKC,IAAA,QAAQ,EAAKM,KAAF,IAAaH,aAAa,CAAE;AAAEC,MAAAA,OAAO,EAAEE;AAAX,KAAF,CALtC;AAMC,IAAA,OAAO,EAAGF;AANX,IADD,EAUC,cAAC,kBAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGJ,EAAE,CAAE,MAAF,CAFX;AAGC,IAAA,KAAK,EAAGK,IAHT;AAIC,IAAA,QAAQ,EAAKC,KAAF,IAAaH,aAAa,CAAE;AAAEE,MAAAA,IAAI,EAAEC;AAAR,KAAF,CAJtC;AAKC,IAAA,OAAO;AALR,KAOC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,QADP;AAEC,kBAAaN,EAAE,CAAE,QAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAPD,EAYC,cAAC,wBAAD;AACC,IAAA,KAAK,EAAC,MADP;AAEC,kBAAaA,EAAE,CAAE,MAAF,CAFhB;AAGC,IAAA,KAAK,EAAG,cAAC,eAAD;AAAiB,MAAA,IAAI,EAAC;AAAtB;AAHT,IAZD,CAVD,CADD;AA+BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport OverlayMenuIcon from './overlay-menu-icon';\n\nexport default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {\n\treturn (\n\t\t<>\n\t\t\t<ToggleControl\n\t\t\t\tlabel={ __( 'Show icon button' ) }\n\t\t\t\thelp={ __(\n\t\t\t\t\t'Configure the visual appearance of the button opening the overlay menu.'\n\t\t\t\t) }\n\t\t\t\tonChange={ ( value ) => setAttributes( { hasIcon: value } ) }\n\t\t\t\tchecked={ hasIcon }\n\t\t\t/>\n\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Icon' ) }\n\t\t\t\tvalue={ icon }\n\t\t\t\tonChange={ ( value ) => setAttributes( { icon: value } ) }\n\t\t\t\tisBlock\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"handle\"\n\t\t\t\t\taria-label={ __( 'handle' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"handle\" /> }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tvalue=\"menu\"\n\t\t\t\t\taria-label={ __( 'menu' ) }\n\t\t\t\t\tlabel={ <OverlayMenuIcon icon=\"menu\" /> }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -61,12 +61,7 @@ export default function NavigationPlaceholder(_ref) {
|
|
|
61
61
|
currentMenuId: currentMenuId,
|
|
62
62
|
clientId: clientId,
|
|
63
63
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
64
|
-
onSelectClassicMenu: onSelectClassicMenu
|
|
65
|
-
toggleProps: {
|
|
66
|
-
variant: 'tertiary',
|
|
67
|
-
iconPosition: 'right',
|
|
68
|
-
className: 'wp-block-navigation-placeholder__actions__dropdown'
|
|
69
|
-
}
|
|
64
|
+
onSelectClassicMenu: onSelectClassicMenu
|
|
70
65
|
}), createElement("hr", null), canUserCreateNavigationMenu && createElement(Button, {
|
|
71
66
|
variant: "tertiary",
|
|
72
67
|
onClick: onCreateEmpty
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined"
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/placeholder/index.js"],"names":["Placeholder","Button","Spinner","__","navigation","Icon","speak","useEffect","useNavigationEntities","PlaceholderPreview","NavigationMenuSelector","NavigationPlaceholder","isSelected","currentMenuId","clientId","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","onSelectNavigationMenu","onSelectClassicMenu","onCreateEmpty","isResolvingMenus","hasResolvedMenus","isResolvingActions","undefined"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,WAAT,EAAsBC,MAAtB,EAA8BC,OAA9B,QAA6C,uBAA7C;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAT,EAAqBC,IAArB,QAAiC,kBAAjC;AACA,SAASC,KAAT,QAAsB,iBAAtB;AACA,SAASC,SAAT,QAA0B,oBAA1B;AAEA;AACA;AACA;;AACA,OAAOC,qBAAP,MAAkC,+BAAlC;AACA,OAAOC,kBAAP,MAA+B,uBAA/B;AACA,OAAOC,sBAAP,MAAmC,6BAAnC;AAEA,eAAe,SAASC,qBAAT,OASX;AAAA,MAT2C;AAC9CC,IAAAA,UAD8C;AAE9CC,IAAAA,aAF8C;AAG9CC,IAAAA,QAH8C;AAI9CC,IAAAA,2BAA2B,GAAG,KAJgB;AAK9CC,IAAAA,sCAL8C;AAM9CC,IAAAA,sBAN8C;AAO9CC,IAAAA,mBAP8C;AAQ9CC,IAAAA;AAR8C,GAS3C;AACH,QAAM;AAAEC,IAAAA,gBAAF;AAAoBC,IAAAA;AAApB,MAAyCb,qBAAqB,EAApE;AAEAD,EAAAA,SAAS,CAAE,MAAM;AAChB,QAAK,CAAEK,UAAP,EAAoB;AACnB;AACA;;AAED,QAAKQ,gBAAL,EAAwB;AACvBd,MAAAA,KAAK,CAAEH,EAAE,CAAE,yCAAF,CAAJ,CAAL;AACA;;AAED,QAAKkB,gBAAL,EAAwB;AACvBf,MAAAA,KAAK,CAAEH,EAAE,CAAE,uCAAF,CAAJ,CAAL;AACA;AACD,GAZQ,EAYN,CAAEiB,gBAAF,EAAoBR,UAApB,CAZM,CAAT;AAcA,QAAMU,kBAAkB,GACvBF,gBAAgB,IAAIJ,sCADrB;AAGA,SACC,8BACC,cAAC,WAAD;AAAa,IAAA,SAAS,EAAC;AAAvB,KAMC,cAAC,kBAAD;AAAoB,IAAA,SAAS,EAAG,CAAEJ;AAAlC,IAND,EAOC;AACC,mBAAc,CAAEA,UAAF,GAAe,IAAf,GAAsBW,SADrC;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACC,cAAC,IAAD;AAAM,IAAA,IAAI,EAAGnB;AAAb,IADD,OACgCD,EAAE,CAAE,YAAF,CADlC,CADD,EAKC,yBALD,EAOGmB,kBAAkB,IAAI,cAAC,OAAD,OAPzB,EASC,cAAC,sBAAD;AACC,IAAA,aAAa,EAAGT,aADjB;AAEC,IAAA,QAAQ,EAAGC,QAFZ;AAGC,IAAA,sBAAsB,EAAGG,sBAH1B;AAIC,IAAA,mBAAmB,EAAGC;AAJvB,IATD,EAgBC,yBAhBD,EAkBGH,2BAA2B,IAC5B,cAAC,MAAD;AACC,IAAA,OAAO,EAAC,UADT;AAEC,IAAA,OAAO,EAAGI;AAFX,KAIGhB,EAAE,CAAE,aAAF,CAJL,CAnBF,CAJD,CAPD,CADD,CADD;AA4CA","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\tcanUserCreateNavigationMenu = false,\n\tisResolvingCanUserCreateNavigationMenu,\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}, [ isResolvingMenus, isSelected ] );\n\n\tconst isResolvingActions =\n\t\tisResolvingMenus && isResolvingCanUserCreateNavigationMenu;\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{ canUserCreateNavigationMenu && (\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"]}
|
|
@@ -102,6 +102,7 @@ const metadata = {
|
|
|
102
102
|
},
|
|
103
103
|
supports: {
|
|
104
104
|
align: ["wide", "full"],
|
|
105
|
+
anchor: true,
|
|
105
106
|
html: false,
|
|
106
107
|
inserter: true,
|
|
107
108
|
typography: {
|
|
@@ -129,6 +130,7 @@ const metadata = {
|
|
|
129
130
|
allowSwitching: false,
|
|
130
131
|
allowInheriting: false,
|
|
131
132
|
allowVerticalAlignment: false,
|
|
133
|
+
allowSizingOnChildren: true,
|
|
132
134
|
"default": {
|
|
133
135
|
type: "flex"
|
|
134
136
|
}
|
|
@@ -157,6 +159,9 @@ export { metadata, name };
|
|
|
157
159
|
export const settings = {
|
|
158
160
|
icon,
|
|
159
161
|
example: {
|
|
162
|
+
attributes: {
|
|
163
|
+
overlayMenu: 'never'
|
|
164
|
+
},
|
|
160
165
|
innerBlocks: [{
|
|
161
166
|
name: 'core/navigation-link',
|
|
162
167
|
attributes: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/index.js"],"names":["__","navigation","icon","initBlock","edit","save","deprecated","name","metadata","settings","example","attributes","overlayMenu","innerBlocks","label","url","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,UAAU,IAAIC,IAAvB,QAAmC,kBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBP,EAAAA,IADuB;AAEvBQ,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,WAAW,EAAE;AADF,KADJ;AAIRC,IAAAA,WAAW,EAAE,CACZ;AACCN,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,MAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KADY,EASZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,OAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KATY,EAiBZ;AACCR,MAAAA,IAAI,EAAE,sBADP;AAECI,MAAAA,UAAU,EAAE;AACX;AACAG,QAAAA,KAAK,EAAEd,EAAE,CAAE,SAAF,CAFE;AAGXe,QAAAA,GAAG,EAAE;AAHM;AAFb,KAjBY;AAJL,GAFc;AAiCvBX,EAAAA,IAjCuB;AAkCvBC,EAAAA,IAlCuB;AAmCvBC,EAAAA;AAnCuB,CAAjB;AAsCP,OAAO,MAAMU,IAAI,GAAG,MAAMb,SAAS,CAAE;AAAEI,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { navigation as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport deprecated from './deprecated';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\toverlayMenu: 'never',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Home' as in a website's home page.\n\t\t\t\t\tlabel: __( 'Home' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'About' as in a website's about page.\n\t\t\t\t\tlabel: __( 'About' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/navigation-link',\n\t\t\t\tattributes: {\n\t\t\t\t\t// translators: 'Contact' as in a website's contact page.\n\t\t\t\t\tlabel: __( 'Contact' ),\n\t\t\t\t\turl: 'https://make.wordpress.org/',\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { createElement } from "@wordpress/element";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* WordPress dependencies
|
|
6
|
+
*/
|
|
7
|
+
import { createBlock } from '@wordpress/blocks';
|
|
8
|
+
import { addSubmenu, moreVertical } from '@wordpress/icons';
|
|
9
|
+
import { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';
|
|
10
|
+
import { useDispatch } from '@wordpress/data';
|
|
11
|
+
import { store as blockEditorStore, BlockTitle } from '@wordpress/block-editor';
|
|
12
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
13
|
+
const POPOVER_PROPS = {
|
|
14
|
+
className: 'block-editor-block-settings-menu__popover',
|
|
15
|
+
position: 'bottom right',
|
|
16
|
+
variant: 'toolbar'
|
|
17
|
+
};
|
|
18
|
+
export const LeafMoreMenu = props => {
|
|
19
|
+
const {
|
|
20
|
+
clientId,
|
|
21
|
+
block
|
|
22
|
+
} = props;
|
|
23
|
+
const {
|
|
24
|
+
insertBlock,
|
|
25
|
+
replaceBlock,
|
|
26
|
+
removeBlocks,
|
|
27
|
+
replaceInnerBlocks
|
|
28
|
+
} = useDispatch(blockEditorStore);
|
|
29
|
+
const label = sprintf(
|
|
30
|
+
/* translators: %s: block name */
|
|
31
|
+
__('Remove %s'), BlockTitle({
|
|
32
|
+
clientId,
|
|
33
|
+
maximumLength: 25
|
|
34
|
+
}));
|
|
35
|
+
return createElement(DropdownMenu, _extends({
|
|
36
|
+
icon: moreVertical,
|
|
37
|
+
label: __('Options'),
|
|
38
|
+
className: "block-editor-block-settings-menu",
|
|
39
|
+
popoverProps: POPOVER_PROPS,
|
|
40
|
+
noIcons: true
|
|
41
|
+
}, props), _ref => {
|
|
42
|
+
let {
|
|
43
|
+
onClose
|
|
44
|
+
} = _ref;
|
|
45
|
+
return createElement(MenuGroup, null, createElement(MenuItem, {
|
|
46
|
+
icon: addSubmenu,
|
|
47
|
+
onClick: () => {
|
|
48
|
+
const updateSelectionOnInsert = false;
|
|
49
|
+
const newLink = createBlock('core/navigation-link');
|
|
50
|
+
|
|
51
|
+
if (block.name === 'core/navigation-submenu') {
|
|
52
|
+
insertBlock(newLink, block.innerBlocks.length, clientId, updateSelectionOnInsert);
|
|
53
|
+
} else {
|
|
54
|
+
// Convert to a submenu if the block currently isn't one.
|
|
55
|
+
const newSubmenu = createBlock('core/navigation-submenu', block.attributes, block.innerBlocks); // The following must happen as two independent actions.
|
|
56
|
+
// Why? Because the offcanvas editor relies on the getLastInsertedBlocksClientIds
|
|
57
|
+
// selector to determine which block is "active". As the UX needs the newLink to be
|
|
58
|
+
// the "active" block it must be the last block to be inserted.
|
|
59
|
+
// Therefore the Submenu is first created and **then** the newLink is inserted
|
|
60
|
+
// thus ensuring it is the last inserted block.
|
|
61
|
+
|
|
62
|
+
replaceBlock(clientId, newSubmenu);
|
|
63
|
+
replaceInnerBlocks(newSubmenu.clientId, [newLink], updateSelectionOnInsert);
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
onClose();
|
|
67
|
+
}
|
|
68
|
+
}, __('Add submenu item')), createElement(MenuItem, {
|
|
69
|
+
onClick: () => {
|
|
70
|
+
removeBlocks([clientId], false);
|
|
71
|
+
onClose();
|
|
72
|
+
}
|
|
73
|
+
}, label));
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=leaf-more-menu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/leaf-more-menu.js"],"names":["createBlock","addSubmenu","moreVertical","DropdownMenu","MenuItem","MenuGroup","useDispatch","store","blockEditorStore","BlockTitle","__","sprintf","POPOVER_PROPS","className","position","variant","LeafMoreMenu","props","clientId","block","insertBlock","replaceBlock","removeBlocks","replaceInnerBlocks","label","maximumLength","onClose","updateSelectionOnInsert","newLink","name","innerBlocks","length","newSubmenu","attributes"],"mappings":";;;AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,mBAA5B;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,kBAAzC;AACA,SAASC,YAAT,EAAuBC,QAAvB,EAAiCC,SAAjC,QAAkD,uBAAlD;AACA,SAASC,WAAT,QAA4B,iBAA5B;AACA,SAASC,KAAK,IAAIC,gBAAlB,EAAoCC,UAApC,QAAsD,yBAAtD;AACA,SAASC,EAAT,EAAaC,OAAb,QAA4B,iBAA5B;AAEA,MAAMC,aAAa,GAAG;AACrBC,EAAAA,SAAS,EAAE,2CADU;AAErBC,EAAAA,QAAQ,EAAE,cAFW;AAGrBC,EAAAA,OAAO,EAAE;AAHY,CAAtB;AAMA,OAAO,MAAMC,YAAY,GAAKC,KAAF,IAAa;AACxC,QAAM;AAAEC,IAAAA,QAAF;AAAYC,IAAAA;AAAZ,MAAsBF,KAA5B;AAEA,QAAM;AAAEG,IAAAA,WAAF;AAAeC,IAAAA,YAAf;AAA6BC,IAAAA,YAA7B;AAA2CC,IAAAA;AAA3C,MACLjB,WAAW,CAAEE,gBAAF,CADZ;AAGA,QAAMgB,KAAK,GAAGb,OAAO;AACpB;AACAD,EAAAA,EAAE,CAAE,WAAF,CAFkB,EAGpBD,UAAU,CAAE;AAAES,IAAAA,QAAF;AAAYO,IAAAA,aAAa,EAAE;AAA3B,GAAF,CAHU,CAArB;AAMA,SACC,cAAC,YAAD;AACC,IAAA,IAAI,EAAGvB,YADR;AAEC,IAAA,KAAK,EAAGQ,EAAE,CAAE,SAAF,CAFX;AAGC,IAAA,SAAS,EAAC,kCAHX;AAIC,IAAA,YAAY,EAAGE,aAJhB;AAKC,IAAA,OAAO;AALR,KAMMK,KANN,GAQG;AAAA,QAAE;AAAES,MAAAA;AAAF,KAAF;AAAA,WACD,cAAC,SAAD,QACC,cAAC,QAAD;AACC,MAAA,IAAI,EAAGzB,UADR;AAEC,MAAA,OAAO,EAAG,MAAM;AACf,cAAM0B,uBAAuB,GAAG,KAAhC;AACA,cAAMC,OAAO,GAAG5B,WAAW,CAC1B,sBAD0B,CAA3B;;AAGA,YAAKmB,KAAK,CAACU,IAAN,KAAe,yBAApB,EAAgD;AAC/CT,UAAAA,WAAW,CACVQ,OADU,EAEVT,KAAK,CAACW,WAAN,CAAkBC,MAFR,EAGVb,QAHU,EAIVS,uBAJU,CAAX;AAMA,SAPD,MAOO;AACN;AACA,gBAAMK,UAAU,GAAGhC,WAAW,CAC7B,yBAD6B,EAE7BmB,KAAK,CAACc,UAFuB,EAG7Bd,KAAK,CAACW,WAHuB,CAA9B,CAFM,CAQN;AACA;AACA;AACA;AACA;AACA;;AACAT,UAAAA,YAAY,CAAEH,QAAF,EAAYc,UAAZ,CAAZ;AAEAT,UAAAA,kBAAkB,CACjBS,UAAU,CAACd,QADM,EAEjB,CAAEU,OAAF,CAFiB,EAGjBD,uBAHiB,CAAlB;AAKA;;AACDD,QAAAA,OAAO;AACP;AArCF,OAuCGhB,EAAE,CAAE,kBAAF,CAvCL,CADD,EA0CC,cAAC,QAAD;AACC,MAAA,OAAO,EAAG,MAAM;AACfY,QAAAA,YAAY,CAAE,CAAEJ,QAAF,CAAF,EAAgB,KAAhB,CAAZ;AACAQ,QAAAA,OAAO;AACP;AAJF,OAMGF,KANH,CA1CD,CADC;AAAA,GARH,CADD;AAgEA,CA5EM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock } from '@wordpress/blocks';\nimport { addSubmenu, moreVertical } from '@wordpress/icons';\nimport { DropdownMenu, MenuItem, MenuGroup } from '@wordpress/components';\nimport { useDispatch } from '@wordpress/data';\nimport { store as blockEditorStore, BlockTitle } from '@wordpress/block-editor';\nimport { __, sprintf } from '@wordpress/i18n';\n\nconst POPOVER_PROPS = {\n\tclassName: 'block-editor-block-settings-menu__popover',\n\tposition: 'bottom right',\n\tvariant: 'toolbar',\n};\n\nexport const LeafMoreMenu = ( props ) => {\n\tconst { clientId, block } = props;\n\n\tconst { insertBlock, replaceBlock, removeBlocks, replaceInnerBlocks } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst label = sprintf(\n\t\t/* translators: %s: block name */\n\t\t__( 'Remove %s' ),\n\t\tBlockTitle( { clientId, maximumLength: 25 } )\n\t);\n\n\treturn (\n\t\t<DropdownMenu\n\t\t\ticon={ moreVertical }\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tclassName=\"block-editor-block-settings-menu\"\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\tnoIcons\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ ( { onClose } ) => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\ticon={ addSubmenu }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tconst updateSelectionOnInsert = false;\n\t\t\t\t\t\t\tconst newLink = createBlock(\n\t\t\t\t\t\t\t\t'core/navigation-link'\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tif ( block.name === 'core/navigation-submenu' ) {\n\t\t\t\t\t\t\t\tinsertBlock(\n\t\t\t\t\t\t\t\t\tnewLink,\n\t\t\t\t\t\t\t\t\tblock.innerBlocks.length,\n\t\t\t\t\t\t\t\t\tclientId,\n\t\t\t\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t// Convert to a submenu if the block currently isn't one.\n\t\t\t\t\t\t\t\tconst newSubmenu = createBlock(\n\t\t\t\t\t\t\t\t\t'core/navigation-submenu',\n\t\t\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t\t\t);\n\n\t\t\t\t\t\t\t\t// The following must happen as two independent actions.\n\t\t\t\t\t\t\t\t// Why? Because the offcanvas editor relies on the getLastInsertedBlocksClientIds\n\t\t\t\t\t\t\t\t// selector to determine which block is \"active\". As the UX needs the newLink to be\n\t\t\t\t\t\t\t\t// the \"active\" block it must be the last block to be inserted.\n\t\t\t\t\t\t\t\t// Therefore the Submenu is first created and **then** the newLink is inserted\n\t\t\t\t\t\t\t\t// thus ensuring it is the last inserted block.\n\t\t\t\t\t\t\t\treplaceBlock( clientId, newSubmenu );\n\n\t\t\t\t\t\t\t\treplaceInnerBlocks(\n\t\t\t\t\t\t\t\t\tnewSubmenu.clientId,\n\t\t\t\t\t\t\t\t\t[ newLink ],\n\t\t\t\t\t\t\t\t\tupdateSelectionOnInsert\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Add submenu item' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tremoveBlocks( [ clientId ], false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n};\n"]}
|
|
@@ -77,8 +77,6 @@ function mapMenuItemsToBlocks(menuItems) {
|
|
|
77
77
|
* For more documentation on the individual fields present on a menu item please see:
|
|
78
78
|
* https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789
|
|
79
79
|
*
|
|
80
|
-
* Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.
|
|
81
|
-
*
|
|
82
80
|
* @typedef WPNavMenuItem
|
|
83
81
|
*
|
|
84
82
|
* @property {Object} title stores the raw and rendered versions of the title/label for this menu item.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["createBlock","parse","applyFilters","menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * Changes made here should also be mirrored in packages/edit-navigation/src/store/utils.js.\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"names":["createBlock","parse","applyFilters","menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"]}
|
|
@@ -4,7 +4,6 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
6
|
import classnames from 'classnames';
|
|
7
|
-
import { unescape } from 'lodash';
|
|
8
7
|
/**
|
|
9
8
|
* WordPress dependencies
|
|
10
9
|
*/
|
|
@@ -18,6 +17,7 @@ import { BlockControls, InspectorControls, RichText, useBlockProps, store as blo
|
|
|
18
17
|
import { isURL, prependHTTP } from '@wordpress/url';
|
|
19
18
|
import { useState, useEffect, useRef } from '@wordpress/element';
|
|
20
19
|
import { placeCaretAtHorizontalEdge, __unstableStripHTML as stripHTML } from '@wordpress/dom';
|
|
20
|
+
import { decodeEntities } from '@wordpress/html-entities';
|
|
21
21
|
import { link as linkIcon, addSubmenu } from '@wordpress/icons';
|
|
22
22
|
import { store as coreStore, useResourcePermissions } from '@wordpress/core-data';
|
|
23
23
|
import { useMergeRefs } from '@wordpress/compose';
|
|
@@ -353,12 +353,17 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
353
353
|
|
|
354
354
|
function removeLink() {
|
|
355
355
|
// Reset all attributes that comprise the link.
|
|
356
|
+
// It is critical that all attributes are reset
|
|
357
|
+
// to their default values otherwise this may
|
|
358
|
+
// in advertently trigger side effects because
|
|
359
|
+
// the values will have "changed".
|
|
356
360
|
setAttributes({
|
|
357
|
-
url:
|
|
358
|
-
label:
|
|
359
|
-
id:
|
|
360
|
-
kind:
|
|
361
|
-
type:
|
|
361
|
+
url: undefined,
|
|
362
|
+
label: undefined,
|
|
363
|
+
id: undefined,
|
|
364
|
+
kind: undefined,
|
|
365
|
+
type: undefined,
|
|
366
|
+
opensInNewTab: false
|
|
362
367
|
}); // Close the link editing UI.
|
|
363
368
|
|
|
364
369
|
setIsLinkOpen(false);
|
|
@@ -407,7 +412,10 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
407
412
|
const DEFAULT_BLOCK = {
|
|
408
413
|
name: 'core/navigation-link'
|
|
409
414
|
};
|
|
410
|
-
const innerBlocksProps = useInnerBlocksProps(blockProps,
|
|
415
|
+
const innerBlocksProps = useInnerBlocksProps({ ...blockProps,
|
|
416
|
+
className: 'remove-outline' // Remove the outline from the inner blocks container.
|
|
417
|
+
|
|
418
|
+
}, {
|
|
411
419
|
allowedBlocks: ALLOWED_BLOCKS,
|
|
412
420
|
__experimentalDefaultBlock: DEFAULT_BLOCK,
|
|
413
421
|
__experimentalDirectInsert: true,
|
|
@@ -440,6 +448,7 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
440
448
|
}))), createElement(InspectorControls, null, createElement(PanelBody, {
|
|
441
449
|
title: __('Link settings')
|
|
442
450
|
}, createElement(TextControl, {
|
|
451
|
+
__nextHasNoMarginBottom: true,
|
|
443
452
|
value: label ? stripHTML(label) : '',
|
|
444
453
|
onChange: labelValue => {
|
|
445
454
|
setAttributes({
|
|
@@ -449,11 +458,12 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
449
458
|
label: __('Label'),
|
|
450
459
|
autoComplete: "off"
|
|
451
460
|
}), createElement(TextControl, {
|
|
461
|
+
__nextHasNoMarginBottom: true,
|
|
452
462
|
value: url || '',
|
|
453
463
|
onChange: urlValue => {
|
|
454
|
-
|
|
464
|
+
updateAttributes({
|
|
455
465
|
url: urlValue
|
|
456
|
-
});
|
|
466
|
+
}, setAttributes, attributes);
|
|
457
467
|
},
|
|
458
468
|
label: __('URL'),
|
|
459
469
|
autoComplete: "off"
|
|
@@ -468,6 +478,7 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
468
478
|
label: __('Description'),
|
|
469
479
|
help: __('The description will be displayed in the menu if the current theme supports it.')
|
|
470
480
|
}), createElement(TextControl, {
|
|
481
|
+
__nextHasNoMarginBottom: true,
|
|
471
482
|
value: title || '',
|
|
472
483
|
onChange: titleValue => {
|
|
473
484
|
setAttributes({
|
|
@@ -477,6 +488,7 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
477
488
|
label: __('Link title'),
|
|
478
489
|
autoComplete: "off"
|
|
479
490
|
}), createElement(TextControl, {
|
|
491
|
+
__nextHasNoMarginBottom: true,
|
|
480
492
|
value: rel || '',
|
|
481
493
|
onChange: relValue => {
|
|
482
494
|
setAttributes({
|
|
@@ -532,7 +544,7 @@ export default function NavigationLinkEdit(_ref) {
|
|
|
532
544
|
// Unescape is used here to "recover" the escaped characters
|
|
533
545
|
// so they display without encoding.
|
|
534
546
|
// See `updateAttributes` for more details.
|
|
535
|
-
`${
|
|
547
|
+
`${decodeEntities(label)} ${placeholderText}`.trim()), createElement("span", {
|
|
536
548
|
className: "wp-block-navigation-link__missing_text-tooltip"
|
|
537
549
|
}, tooltipText))))), isLinkOpen && createElement(LinkUI, {
|
|
538
550
|
className: "wp-block-navigation-link__inline-link-input",
|