@wordpress/block-library 7.19.0 → 8.1.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 +8 -0
- package/build/audio/edit.native.js +1 -3
- package/build/audio/edit.native.js.map +1 -1
- package/build/audio/index.js +2 -1
- package/build/audio/index.js.map +1 -1
- package/build/avatar/edit.js +1 -0
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +1 -0
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/edit.js +14 -2
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +14 -6
- package/build/block/edit.native.js.map +1 -1
- package/build/block/index.js +1 -2
- package/build/block/index.js.map +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/categories/edit.js +1 -1
- package/build/categories/edit.js.map +1 -1
- package/build/code/transforms.js +1 -1
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +13 -30
- package/build/columns/edit.native.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -0
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +24 -16
- package/build/cover/edit.native.js.map +1 -1
- package/build/embed/embed-controls.native.js +1 -0
- package/build/embed/embed-controls.native.js.map +1 -1
- package/build/embed/embed-preview.native.js +1 -3
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/file/inspector.js +1 -0
- package/build/file/inspector.js.map +1 -1
- package/build/freeform/edit.js +21 -6
- package/build/freeform/edit.js.map +1 -1
- package/build/freeform/modal.js +97 -0
- package/build/freeform/modal.js.map +1 -0
- package/build/gallery/edit.js +38 -15
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.js +2 -16
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/gallery.native.js +1 -3
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/shared.js +4 -10
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +1 -7
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +1 -1
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +3 -1
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/v1/edit.js +22 -15
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js +1 -3
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/gallery/v1/shared.js +4 -1
- package/build/gallery/v1/shared.js.map +1 -1
- package/build/group/edit.js +1 -2
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -1
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +5 -26
- package/build/group/placeholder.js.map +1 -1
- package/build/heading/deprecated.js +152 -69
- package/build/heading/deprecated.js.map +1 -1
- package/build/heading/index.js +1 -2
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +1 -2
- package/build/heading/transforms.js.map +1 -1
- package/build/html/index.js +1 -1
- package/build/image/edit.js +8 -5
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +3 -2
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +13 -8
- package/build/image/image.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +1 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +2 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +1 -9
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +5 -2
- package/build/list/utils.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/list-item/transforms.js +22 -0
- package/build/list-item/transforms.js.map +1 -0
- package/build/list-item/utils.js +77 -1
- package/build/list-item/utils.js.map +1 -1
- package/build/media-text/edit.js +5 -2
- package/build/media-text/edit.js.map +1 -1
- package/build/missing/edit.native.js +2 -2
- package/build/missing/edit.native.js.map +1 -1
- package/build/navigation/edit/are-blocks-dirty.js +52 -0
- package/build/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build/navigation/edit/index.js +95 -117
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +94 -0
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +2 -4
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +11 -7
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/utils.js +81 -0
- package/build/navigation/edit/utils.js.map +1 -1
- package/build/navigation/view-modal.js +6 -2
- package/build/navigation/view-modal.js.map +1 -1
- package/build/navigation-link/edit.js +46 -356
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js +222 -0
- package/build/navigation-link/link-ui.js.map +1 -0
- package/build/navigation-link/transforms.js +12 -0
- package/build/navigation-link/transforms.js.map +1 -1
- package/build/navigation-link/update-attributes.js +108 -0
- package/build/navigation-link/update-attributes.js.map +1 -0
- package/build/navigation-submenu/edit.js +49 -245
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/constants.js +15 -0
- package/build/page-list/constants.js.map +1 -0
- package/build/page-list/convert-to-links-modal.js +22 -86
- package/build/page-list/convert-to-links-modal.js.map +1 -1
- package/build/page-list/convert-to-navigation-links.js +76 -0
- package/build/page-list/convert-to-navigation-links.js.map +1 -0
- package/build/page-list/edit.js +143 -78
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/index.js +35 -3
- package/build/page-list/index.js.map +1 -1
- package/build/page-list-item/edit.js +91 -0
- package/build/page-list-item/edit.js.map +1 -0
- package/build/page-list-item/index.js +85 -0
- package/build/page-list-item/index.js.map +1 -0
- package/build/page-list-item/init.js +16 -0
- package/build/page-list-item/init.js.map +1 -0
- package/build/paragraph/index.js +1 -7
- package/build/paragraph/index.js.map +1 -1
- package/build/post-author/edit.js +3 -2
- package/build/post-author/edit.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-template/index.js +8 -0
- package/build/post-template/index.js.map +1 -1
- package/build/preformatted/transforms.js +3 -1
- package/build/preformatted/transforms.js.map +1 -1
- package/build/query/deprecated.js +192 -21
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/index.js +2 -1
- package/build/query/edit/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +11 -5
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +101 -37
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +2 -3
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +16 -27
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/index.js +0 -8
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +73 -9
- package/build/query/utils.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/search/edit.js +2 -2
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +22 -22
- package/build/search/edit.native.js.map +1 -1
- package/build/search/index.js +9 -1
- package/build/search/index.js.map +1 -1
- package/build/site-logo/edit.js +17 -9
- 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-title/index.js +1 -0
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/social-list.js +4 -12
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/table/edit.js +3 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/index.js +17 -1
- 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 +24 -12
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +3 -2
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/edit.js +3 -3
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +2 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +11 -1
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +160 -0
- package/build/template-part/edit/import-controls.js.map +1 -0
- package/build/template-part/edit/index.js +2 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +5 -2
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +2 -6
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +48 -0
- package/build/template-part/edit/utils/transformers.js.map +1 -0
- package/build/text-columns/edit.js +1 -0
- package/build/text-columns/edit.js.map +1 -1
- package/build/utils/transformation-categories.native.js +1 -1
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/edit.js +1 -1
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +1 -3
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.native.js +1 -2
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/audio/index.js +2 -1
- package/build-module/audio/index.js.map +1 -1
- package/build-module/avatar/edit.js +1 -0
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +1 -0
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/edit.js +14 -2
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +14 -6
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/block/index.js +1 -2
- package/build-module/block/index.js.map +1 -1
- package/build-module/button/edit.native.js +2 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/categories/edit.js +1 -1
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/code/transforms.js +1 -1
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +13 -29
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -0
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +5 -3
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +22 -14
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/embed/embed-controls.native.js +2 -1
- package/build-module/embed/embed-controls.native.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +1 -2
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/file/inspector.js +1 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/freeform/edit.js +22 -8
- package/build-module/freeform/edit.js.map +1 -1
- package/build-module/freeform/modal.js +90 -0
- package/build-module/freeform/modal.js.map +1 -0
- package/build-module/gallery/edit.js +39 -15
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -16
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/gallery.native.js +1 -2
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/shared.js +5 -11
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +1 -6
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +1 -1
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +3 -1
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js +23 -16
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js +1 -2
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/shared.js +5 -2
- package/build-module/gallery/v1/shared.js.map +1 -1
- package/build-module/group/edit.js +1 -3
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -1
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +5 -26
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/heading/deprecated.js +152 -69
- package/build-module/heading/deprecated.js.map +1 -1
- package/build-module/heading/index.js +1 -2
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +1 -2
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/html/index.js +1 -1
- package/build-module/image/edit.js +9 -6
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +2 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +14 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +1 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +1 -9
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +5 -2
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/index.js +3 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/list-item/transforms.js +13 -0
- package/build-module/list-item/transforms.js.map +1 -0
- package/build-module/list-item/utils.js +78 -1
- package/build-module/list-item/utils.js.map +1 -1
- package/build-module/media-text/edit.js +6 -3
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/missing/edit.native.js +2 -2
- package/build-module/missing/edit.native.js.map +1 -1
- package/build-module/navigation/edit/are-blocks-dirty.js +44 -0
- package/build-module/navigation/edit/are-blocks-dirty.js.map +1 -0
- package/build-module/navigation/edit/index.js +95 -118
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +80 -0
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +2 -4
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +9 -6
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/utils.js +75 -0
- package/build-module/navigation/edit/utils.js.map +1 -1
- package/build-module/navigation/view-modal.js +6 -2
- package/build-module/navigation/view-modal.js.map +1 -1
- package/build-module/navigation-link/edit.js +49 -357
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +206 -0
- package/build-module/navigation-link/link-ui.js.map +1 -0
- package/build-module/navigation-link/transforms.js +12 -0
- package/build-module/navigation-link/transforms.js.map +1 -1
- package/build-module/navigation-link/update-attributes.js +97 -0
- package/build-module/navigation-link/update-attributes.js.map +1 -0
- package/build-module/navigation-submenu/edit.js +52 -246
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/constants.js +6 -0
- package/build-module/page-list/constants.js.map +1 -0
- package/build-module/page-list/convert-to-links-modal.js +20 -81
- package/build-module/page-list/convert-to-links-modal.js.map +1 -1
- package/build-module/page-list/convert-to-navigation-links.js +66 -0
- package/build-module/page-list/convert-to-navigation-links.js.map +1 -0
- package/build-module/page-list/edit.js +146 -82
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/index.js +36 -4
- package/build-module/page-list/index.js.map +1 -1
- package/build-module/page-list-item/edit.js +77 -0
- package/build-module/page-list-item/edit.js.map +1 -0
- package/build-module/page-list-item/index.js +68 -0
- package/build-module/page-list-item/index.js.map +1 -0
- package/build-module/page-list-item/init.js +6 -0
- package/build-module/page-list-item/init.js.map +1 -0
- package/build-module/paragraph/index.js +1 -7
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/post-author/edit.js +3 -2
- package/build-module/post-author/edit.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-template/index.js +8 -0
- package/build-module/post-template/index.js.map +1 -1
- package/build-module/preformatted/transforms.js +3 -1
- package/build-module/preformatted/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +185 -21
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/index.js +2 -1
- package/build-module/query/edit/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +11 -5
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +99 -35
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -1
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +15 -27
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/index.js +0 -8
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +69 -8
- package/build-module/query/utils.js.map +1 -1
- package/build-module/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +20 -20
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/search/index.js +8 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/site-logo/edit.js +17 -8
- 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-title/index.js +1 -0
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +2 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/social-list.js +2 -11
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-links/edit.js +0 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/table/edit.js +3 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/index.js +17 -1
- 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 +25 -13
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +3 -2
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/edit.js +3 -3
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +3 -2
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +10 -1
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +146 -0
- package/build-module/template-part/edit/import-controls.js.map +1 -0
- package/build-module/template-part/edit/index.js +2 -1
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +6 -3
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +3 -7
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +40 -0
- package/build-module/template-part/edit/utils/transformers.js.map +1 -0
- package/build-module/text-columns/edit.js +1 -0
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +1 -1
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/edit.js +1 -1
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +1 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/archives/editor-rtl.css +15 -3
- package/build-style/archives/editor.css +15 -3
- package/build-style/archives/style-rtl.css +15 -3
- package/build-style/archives/style.css +15 -3
- package/build-style/audio/editor-rtl.css +15 -3
- package/build-style/audio/editor.css +15 -3
- package/build-style/audio/style-rtl.css +15 -3
- package/build-style/audio/style.css +15 -3
- package/build-style/audio/theme-rtl.css +15 -3
- package/build-style/audio/theme.css +15 -3
- package/build-style/avatar/editor-rtl.css +15 -3
- package/build-style/avatar/editor.css +15 -3
- package/build-style/avatar/style-rtl.css +15 -3
- package/build-style/avatar/style.css +15 -3
- package/build-style/block/editor-rtl.css +25 -3
- package/build-style/block/editor.css +25 -3
- package/build-style/button/editor-rtl.css +15 -3
- package/build-style/button/editor.css +15 -3
- package/build-style/button/style-rtl.css +15 -3
- package/build-style/button/style.css +15 -3
- package/build-style/buttons/editor-rtl.css +15 -3
- package/build-style/buttons/editor.css +15 -3
- package/build-style/buttons/style-rtl.css +15 -3
- package/build-style/buttons/style.css +15 -3
- package/build-style/calendar/style-rtl.css +15 -3
- package/build-style/calendar/style.css +15 -3
- package/build-style/categories/editor-rtl.css +15 -3
- package/build-style/categories/editor.css +15 -3
- package/build-style/categories/style-rtl.css +15 -3
- package/build-style/categories/style.css +15 -3
- package/build-style/classic-rtl.css +15 -3
- package/build-style/classic.css +15 -3
- package/build-style/code/editor-rtl.css +15 -3
- package/build-style/code/editor.css +15 -3
- package/build-style/code/style-rtl.css +15 -3
- package/build-style/code/style.css +15 -3
- package/build-style/code/theme-rtl.css +15 -3
- package/build-style/code/theme.css +15 -3
- package/build-style/columns/editor-rtl.css +15 -3
- package/build-style/columns/editor.css +15 -3
- package/build-style/columns/style-rtl.css +15 -3
- package/build-style/columns/style.css +15 -3
- package/build-style/comment-author-avatar/editor-rtl.css +15 -3
- package/build-style/comment-author-avatar/editor.css +15 -3
- package/build-style/comment-content/style-rtl.css +15 -3
- package/build-style/comment-content/style.css +15 -3
- package/build-style/comment-template/style-rtl.css +15 -3
- package/build-style/comment-template/style.css +15 -3
- package/build-style/comments/editor-rtl.css +15 -3
- package/build-style/comments/editor.css +15 -3
- package/build-style/comments/style-rtl.css +15 -3
- package/build-style/comments/style.css +15 -3
- package/build-style/comments-pagination/editor-rtl.css +15 -3
- package/build-style/comments-pagination/editor.css +15 -3
- package/build-style/comments-pagination/style-rtl.css +15 -3
- package/build-style/comments-pagination/style.css +15 -3
- package/build-style/comments-pagination-numbers/editor-rtl.css +15 -3
- package/build-style/comments-pagination-numbers/editor.css +15 -3
- package/build-style/comments-title/editor-rtl.css +15 -3
- package/build-style/comments-title/editor.css +15 -3
- package/build-style/common-rtl.css +20 -4
- package/build-style/common.css +20 -4
- package/build-style/cover/editor-rtl.css +15 -3
- package/build-style/cover/editor.css +15 -3
- package/build-style/cover/style-rtl.css +17 -4
- package/build-style/cover/style.css +17 -4
- package/build-style/editor-elements-rtl.css +15 -3
- package/build-style/editor-elements.css +15 -3
- package/build-style/editor-rtl.css +46 -29
- package/build-style/editor.css +46 -29
- package/build-style/elements-rtl.css +15 -3
- package/build-style/elements.css +15 -3
- package/build-style/embed/editor-rtl.css +15 -3
- package/build-style/embed/editor.css +15 -3
- package/build-style/embed/style-rtl.css +15 -3
- package/build-style/embed/style.css +15 -3
- package/build-style/embed/theme-rtl.css +15 -3
- package/build-style/embed/theme.css +15 -3
- package/build-style/file/editor-rtl.css +15 -3
- package/build-style/file/editor.css +15 -3
- package/build-style/file/style-rtl.css +15 -3
- package/build-style/file/style.css +15 -3
- package/build-style/freeform/editor-rtl.css +15 -3
- package/build-style/freeform/editor.css +15 -3
- package/build-style/gallery/editor-rtl.css +16 -4
- package/build-style/gallery/editor.css +16 -4
- package/build-style/gallery/style-rtl.css +19 -5
- package/build-style/gallery/style.css +19 -5
- package/build-style/gallery/theme-rtl.css +15 -3
- package/build-style/gallery/theme.css +15 -3
- package/build-style/group/editor-rtl.css +15 -3
- package/build-style/group/editor.css +15 -3
- package/build-style/group/style-rtl.css +15 -3
- package/build-style/group/style.css +15 -3
- package/build-style/group/theme-rtl.css +15 -3
- package/build-style/group/theme.css +15 -3
- package/build-style/heading/style-rtl.css +15 -3
- package/build-style/heading/style.css +15 -3
- package/build-style/html/editor-rtl.css +15 -3
- package/build-style/html/editor.css +15 -3
- package/build-style/image/editor-rtl.css +15 -12
- package/build-style/image/editor.css +15 -12
- package/build-style/image/style-rtl.css +15 -3
- package/build-style/image/style.css +15 -3
- package/build-style/image/theme-rtl.css +15 -3
- package/build-style/image/theme.css +15 -3
- package/build-style/latest-comments/style-rtl.css +15 -3
- package/build-style/latest-comments/style.css +15 -3
- package/build-style/latest-posts/editor-rtl.css +15 -3
- package/build-style/latest-posts/editor.css +15 -3
- package/build-style/latest-posts/style-rtl.css +15 -3
- package/build-style/latest-posts/style.css +15 -3
- package/build-style/list/style-rtl.css +15 -3
- package/build-style/list/style.css +15 -3
- package/build-style/media-text/editor-rtl.css +15 -3
- package/build-style/media-text/editor.css +15 -3
- package/build-style/media-text/style-rtl.css +15 -3
- package/build-style/media-text/style.css +15 -3
- package/build-style/more/editor-rtl.css +15 -3
- package/build-style/more/editor.css +15 -3
- package/build-style/navigation/editor-rtl.css +15 -9
- package/build-style/navigation/editor.css +15 -9
- package/build-style/navigation/style-rtl.css +15 -4
- package/build-style/navigation/style.css +15 -4
- package/build-style/navigation-link/editor-rtl.css +15 -3
- package/build-style/navigation-link/editor.css +15 -3
- package/build-style/navigation-link/style-rtl.css +15 -3
- package/build-style/navigation-link/style.css +15 -3
- package/build-style/navigation-submenu/editor-rtl.css +15 -3
- package/build-style/navigation-submenu/editor.css +15 -3
- package/build-style/nextpage/editor-rtl.css +15 -3
- package/build-style/nextpage/editor.css +15 -3
- package/build-style/page-list/editor-rtl.css +19 -3
- package/build-style/page-list/editor.css +19 -3
- package/build-style/page-list/style-rtl.css +15 -3
- package/build-style/page-list/style.css +15 -3
- package/build-style/paragraph/editor-rtl.css +15 -3
- package/build-style/paragraph/editor.css +15 -3
- package/build-style/paragraph/style-rtl.css +15 -3
- package/build-style/paragraph/style.css +15 -3
- package/build-style/post-author/style-rtl.css +15 -3
- package/build-style/post-author/style.css +15 -3
- package/build-style/post-comments-form/editor-rtl.css +15 -3
- package/build-style/post-comments-form/editor.css +15 -3
- package/build-style/post-comments-form/style-rtl.css +15 -3
- package/build-style/post-comments-form/style.css +15 -3
- package/build-style/post-date/style-rtl.css +15 -3
- package/build-style/post-date/style.css +15 -3
- package/build-style/post-excerpt/editor-rtl.css +15 -3
- package/build-style/post-excerpt/editor.css +15 -3
- package/build-style/post-excerpt/style-rtl.css +15 -3
- package/build-style/post-excerpt/style.css +15 -3
- package/build-style/post-featured-image/editor-rtl.css +15 -3
- package/build-style/post-featured-image/editor.css +15 -3
- package/build-style/post-featured-image/style-rtl.css +15 -3
- package/build-style/post-featured-image/style.css +15 -3
- package/build-style/post-navigation-link/style-rtl.css +15 -3
- package/build-style/post-navigation-link/style.css +15 -3
- package/build-style/post-template/editor-rtl.css +15 -3
- package/build-style/post-template/editor.css +15 -3
- package/build-style/post-template/style-rtl.css +15 -3
- package/build-style/post-template/style.css +15 -3
- package/build-style/post-terms/style-rtl.css +15 -3
- package/build-style/post-terms/style.css +15 -3
- package/build-style/post-title/style-rtl.css +15 -3
- package/build-style/post-title/style.css +15 -3
- package/build-style/preformatted/style-rtl.css +15 -3
- package/build-style/preformatted/style.css +15 -3
- package/build-style/pullquote/editor-rtl.css +15 -3
- package/build-style/pullquote/editor.css +15 -3
- package/build-style/pullquote/style-rtl.css +15 -3
- package/build-style/pullquote/style.css +15 -3
- package/build-style/pullquote/theme-rtl.css +15 -3
- package/build-style/pullquote/theme.css +15 -3
- package/build-style/query/editor-rtl.css +15 -3
- package/build-style/query/editor.css +15 -3
- package/build-style/query-pagination/editor-rtl.css +15 -3
- package/build-style/query-pagination/editor.css +15 -3
- package/build-style/query-pagination/style-rtl.css +15 -3
- package/build-style/query-pagination/style.css +15 -3
- package/build-style/query-pagination-numbers/editor-rtl.css +15 -3
- package/build-style/query-pagination-numbers/editor.css +15 -3
- package/build-style/query-title/style-rtl.css +15 -3
- package/build-style/query-title/style.css +15 -3
- package/build-style/quote/style-rtl.css +15 -3
- package/build-style/quote/style.css +15 -3
- package/build-style/quote/theme-rtl.css +15 -3
- package/build-style/quote/theme.css +15 -3
- package/build-style/read-more/style-rtl.css +15 -3
- package/build-style/read-more/style.css +15 -3
- package/build-style/reset-rtl.css +15 -3
- package/build-style/reset.css +15 -3
- package/build-style/rss/editor-rtl.css +15 -3
- package/build-style/rss/editor.css +15 -3
- package/build-style/rss/style-rtl.css +15 -3
- package/build-style/rss/style.css +15 -3
- package/build-style/search/editor-rtl.css +15 -3
- package/build-style/search/editor.css +15 -3
- package/build-style/search/style-rtl.css +15 -3
- package/build-style/search/style.css +15 -3
- package/build-style/search/theme-rtl.css +15 -3
- package/build-style/search/theme.css +15 -3
- package/build-style/separator/editor-rtl.css +15 -3
- package/build-style/separator/editor.css +15 -3
- package/build-style/separator/style-rtl.css +15 -3
- package/build-style/separator/style.css +15 -3
- package/build-style/separator/theme-rtl.css +15 -3
- package/build-style/separator/theme.css +15 -3
- package/build-style/shortcode/editor-rtl.css +16 -4
- package/build-style/shortcode/editor.css +16 -4
- package/build-style/site-logo/editor-rtl.css +15 -3
- package/build-style/site-logo/editor.css +15 -3
- package/build-style/site-logo/style-rtl.css +15 -3
- package/build-style/site-logo/style.css +15 -3
- package/build-style/site-tagline/editor-rtl.css +15 -3
- package/build-style/site-tagline/editor.css +15 -3
- package/build-style/site-title/editor-rtl.css +15 -3
- package/build-style/site-title/editor.css +15 -3
- package/build-style/site-title/style-rtl.css +15 -3
- package/build-style/site-title/style.css +15 -3
- package/build-style/social-link/editor-rtl.css +15 -3
- package/build-style/social-link/editor.css +15 -3
- package/build-style/social-links/editor-rtl.css +15 -3
- package/build-style/social-links/editor.css +15 -3
- package/build-style/social-links/style-rtl.css +15 -3
- package/build-style/social-links/style.css +15 -3
- package/build-style/spacer/editor-rtl.css +15 -3
- package/build-style/spacer/editor.css +15 -3
- package/build-style/spacer/style-rtl.css +15 -3
- package/build-style/spacer/style.css +15 -3
- package/build-style/style-rtl.css +36 -10
- package/build-style/style.css +36 -10
- package/build-style/table/editor-rtl.css +15 -11
- package/build-style/table/editor.css +15 -11
- package/build-style/table/style-rtl.css +21 -3
- package/build-style/table/style.css +21 -3
- package/build-style/table/theme-rtl.css +15 -9
- package/build-style/table/theme.css +15 -9
- package/build-style/tag-cloud/style-rtl.css +15 -3
- package/build-style/tag-cloud/style.css +15 -3
- package/build-style/template-part/editor-rtl.css +30 -4
- package/build-style/template-part/editor.css +30 -4
- package/build-style/template-part/theme-rtl.css +15 -3
- package/build-style/template-part/theme.css +15 -3
- package/build-style/text-columns/editor-rtl.css +15 -3
- package/build-style/text-columns/editor.css +15 -3
- package/build-style/text-columns/style-rtl.css +15 -3
- package/build-style/text-columns/style.css +15 -3
- package/build-style/theme-rtl.css +15 -9
- package/build-style/theme.css +15 -9
- package/build-style/verse/style-rtl.css +19 -4
- package/build-style/verse/style.css +19 -4
- package/build-style/video/editor-rtl.css +15 -3
- package/build-style/video/editor.css +15 -3
- package/build-style/video/style-rtl.css +17 -4
- package/build-style/video/style.css +17 -4
- package/build-style/video/theme-rtl.css +15 -3
- package/build-style/video/theme.css +15 -3
- package/package.json +32 -30
- package/src/audio/edit.native.js +1 -2
- package/src/audio/index.js +1 -0
- package/src/avatar/edit.js +1 -0
- package/src/avatar/user-control.js +1 -0
- package/src/block/block.json +1 -2
- package/src/block/edit.js +14 -3
- package/src/block/edit.native.js +24 -12
- package/src/block/editor.scss +17 -0
- package/src/block/index.php +1 -2
- package/src/block/test/edit.native.js +28 -32
- package/src/button/edit.native.js +1 -0
- package/src/buttons/test/edit.native.js +40 -51
- package/src/categories/edit.js +1 -1
- package/src/code/transforms.js +3 -1
- package/src/columns/edit.js +1 -0
- package/src/columns/edit.native.js +18 -26
- package/src/comment-author-avatar/edit.js +1 -0
- package/src/comments/index.php +0 -1
- package/src/cover/edit/inspector-controls.js +6 -4
- package/src/cover/edit.native.js +32 -19
- package/src/cover/test/edit.native.js +73 -126
- package/src/embed/embed-controls.native.js +1 -0
- package/src/embed/embed-preview.native.js +1 -2
- package/src/embed/test/index.native.js +237 -231
- package/src/file/inspector.js +1 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +2 -6
- package/src/freeform/edit.js +48 -29
- package/src/freeform/modal.js +111 -0
- package/src/gallery/edit.js +32 -7
- package/src/gallery/gallery.js +3 -13
- package/src/gallery/gallery.native.js +1 -2
- package/src/gallery/shared.js +7 -11
- package/src/gallery/transforms.js +1 -6
- package/src/gallery/use-get-media.js +1 -1
- package/src/gallery/use-get-media.native.js +2 -1
- package/src/gallery/v1/edit.js +8 -7
- package/src/gallery/v1/gallery.native.js +1 -2
- package/src/gallery/v1/shared.js +7 -2
- package/src/group/block.json +3 -1
- package/src/group/edit.js +2 -6
- package/src/group/placeholder.js +6 -25
- package/src/group/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/heading/block.json +1 -2
- package/src/heading/deprecated.js +209 -136
- package/src/heading/index.php +52 -0
- package/src/heading/test/__snapshots__/index.native.js.snap +7 -0
- package/src/heading/test/index.native.js +44 -0
- package/src/home-link/index.php +1 -1
- package/src/html/block.json +1 -1
- package/src/image/edit.js +7 -2
- package/src/image/edit.native.js +2 -1
- package/src/image/editor.scss +0 -11
- package/src/image/image.js +14 -8
- package/src/image/test/edit.native.js +14 -10
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-posts/edit.js +2 -0
- package/src/latest-posts/test/__snapshots__/edit.native.js.snap +3 -0
- package/src/latest-posts/test/edit.native.js +49 -0
- package/src/list/test/edit.native.js +53 -45
- package/src/list/transforms.js +0 -11
- package/src/list/utils.js +6 -2
- package/src/list-item/index.js +2 -0
- package/src/list-item/transforms.js +17 -0
- package/src/list-item/utils.js +10 -1
- package/src/media-text/edit.js +6 -3
- package/src/missing/edit.native.js +13 -6
- package/src/missing/test/edit-integration.native.js +10 -12
- package/src/more/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/more/test/edit.native.js +41 -0
- package/src/navigation/edit/are-blocks-dirty.js +51 -0
- package/src/navigation/edit/index.js +229 -298
- package/src/navigation/edit/menu-inspector-controls.js +119 -0
- package/src/navigation/edit/navigation-menu-selector.js +6 -7
- package/src/navigation/edit/test/are-blocks-dirty.js +121 -0
- package/src/navigation/edit/unsaved-inner-blocks.js +12 -7
- package/src/navigation/edit/utils.js +82 -0
- package/src/navigation/editor.scss +0 -7
- package/src/navigation/index.php +89 -10
- package/src/navigation/style.scss +0 -1
- package/src/navigation/view-modal.js +11 -1
- package/src/navigation-link/edit.js +62 -386
- package/src/navigation-link/index.php +64 -0
- package/src/navigation-link/link-ui.js +213 -0
- package/src/navigation-link/test/edit.js +23 -82
- package/src/navigation-link/transforms.js +14 -0
- package/src/navigation-link/update-attributes.js +99 -0
- package/src/navigation-submenu/edit.js +85 -276
- package/src/navigation-submenu/index.php +72 -0
- package/src/page-list/block.json +24 -2
- package/src/page-list/constants.js +8 -0
- package/src/page-list/convert-to-links-modal.js +19 -76
- package/src/page-list/convert-to-navigation-links.js +60 -0
- package/src/page-list/edit.js +187 -118
- package/src/page-list/editor.scss +4 -0
- package/src/page-list/index.js +8 -2
- package/src/page-list/index.php +18 -10
- package/src/page-list/test/convert-to-links-modal.js +28 -34
- package/src/page-list-item/block.json +51 -0
- package/src/page-list-item/edit.js +102 -0
- package/src/page-list-item/index.js +24 -0
- package/src/page-list-item/init.js +6 -0
- package/src/paragraph/index.js +0 -6
- package/src/post-author/edit.js +3 -2
- package/src/post-content/index.php +1 -2
- package/src/post-featured-image/index.php +7 -2
- package/src/post-featured-image/overlay.js +1 -1
- package/src/post-template/block.json +8 -0
- package/src/preformatted/transforms.js +4 -1
- package/src/query/block.json +0 -8
- package/src/query/deprecated.js +257 -86
- package/src/query/edit/index.js +1 -0
- package/src/query/edit/inspector-controls/index.js +50 -38
- package/src/query/edit/inspector-controls/taxonomy-controls.js +102 -38
- package/src/query/edit/query-content.js +2 -1
- package/src/query/edit/query-placeholder.js +14 -25
- package/src/query/utils.js +59 -1
- package/src/rss/edit.js +3 -0
- package/src/search/edit.js +2 -2
- package/src/search/edit.native.js +31 -27
- package/src/search/index.js +5 -1
- package/src/separator/test/__snapshots__/edit.native.js.snap +7 -0
- package/src/separator/test/edit.native.js +41 -0
- package/src/shortcode/test/edit.native.js +15 -18
- package/src/site-logo/edit.js +13 -5
- package/src/site-logo/index.js +1 -0
- package/src/site-title/index.js +1 -0
- package/src/social-link/edit.js +3 -3
- package/src/social-link/social-list.js +2 -7
- package/src/social-link/test/index.native.js +10 -16
- package/src/social-links/edit.js +0 -1
- package/src/social-links/test/edit.native.js +4 -3
- package/src/spacer/test/index.native.js +39 -36
- package/src/table/block.json +15 -0
- package/src/table/edit.js +2 -1
- package/src/table/editor.scss +0 -4
- package/src/table/index.js +1 -0
- package/src/table/save.js +5 -1
- package/src/table/state.js +22 -7
- package/src/table/style.scss +8 -0
- package/src/table/theme.scss +0 -8
- package/src/table/transforms.js +2 -1
- package/src/table-of-contents/edit.js +3 -3
- package/src/tag-cloud/edit.js +3 -2
- package/src/template-part/edit/advanced-controls.js +12 -0
- package/src/template-part/edit/import-controls.js +180 -0
- package/src/template-part/edit/index.js +1 -0
- package/src/template-part/edit/selection-modal.js +4 -3
- package/src/template-part/edit/utils/hooks.js +7 -3
- package/src/template-part/edit/utils/transformers.js +37 -0
- package/src/template-part/editor.scss +20 -2
- package/src/template-part/index.php +1 -2
- package/src/text-columns/edit.js +1 -0
- package/src/utils/transformation-categories.native.js +1 -0
- package/src/verse/style.scss +4 -1
- package/src/verse/test/__snapshots__/edit.native.js.snap +13 -0
- package/src/verse/test/edit.native.js +40 -33
- package/src/video/edit.js +1 -1
- package/src/video/edit.native.js +1 -2
- package/test/babel-plugin.js +35 -35
- package/tsconfig.tsbuildinfo +1 -1
- package/build/query/constants.js +0 -16
- package/build/query/constants.js.map +0 -1
- package/build-module/query/constants.js +0 -7
- package/build-module/query/constants.js.map +0 -1
- package/src/query/constants.js +0 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","editEntityRecord","coreStore","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showMenuAutoPublishDraftNotice","hideMenuAutoPublishDraftNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","handleUpdateMenu","id","focusNavigationBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","fallbackNavigationMenus","filter","menu","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","length","navRef","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","slug","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","menuId","options","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","hasManagePermissions","isResponsive","overlayMenuPreviewClasses","open","isDraftNavigationMenu","throwOnError","catch","stylingInspectorControls","close","onChange","label","hasUnsavedBlocks","WrappedNavigationMenuSelector","currentMenuId","classicMenu","navMenu","isManageMenusButtonDisabled","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\t__experimentalOffCanvasEditor as OffCanvasEditor,\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tPanelColorSettings,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuSelector from './navigation-menu-selector';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst isOffCanvasNavigationEditorEnabled =\n\t\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [ showMenuAutoPublishDraftNotice, hideMenuAutoPublishDraftNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/auto-publish-draft',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// Only autofallback to published menus.\n\tconst fallbackNavigationMenus = useMemo(\n\t\t() =>\n\t\t\tnavigationMenus\n\t\t\t\t?.filter( ( menu ) => menu.status === 'publish' )\n\t\t\t\t?.sort( ( menuA, menuB ) => {\n\t\t\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t\t\t} ),\n\t\t[ navigationMenus ]\n\t);\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! fallbackNavigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( fallbackNavigationMenus[ 0 ].id );\n\t}, [\n\t\tref,\n\t\tisCreatingNavigationMenu,\n\t\tfallbackNavigationMenus,\n\t\thasUncontrolledInnerBlocks,\n\t] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\tisConvertingClassicMenu ||\n\t\t\tfallbackNavigationMenus?.length > 0 ||\n\t\t\tclassicMenus?.length !== 1\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there's non fallback navigation menus and\n\t\t// only one classic menu then create a new navigation menu based on it.\n\t\tconvertClassicMenu(\n\t\t\tclassicMenus[ 0 ].id,\n\t\t\tclassicMenus[ 0 ].name,\n\t\t\t'publish'\n\t\t);\n\t}, [ hasResolvedNavigationMenus ] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tuseEffect( () => {\n\t\tif ( isPlaceholder ) {\n\t\t\t/**\n\t\t\t * this fallback only displays (both in editor and on front)\n\t\t\t * the list of pages block if no menu is available as a fallback.\n\t\t\t * We don't want the fallback to request a save,\n\t\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t\t */\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t\t}\n\t}, [ clientId, isPlaceholder, ref ] );\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = (\n\t\tmenuId,\n\t\toptions = { focusNavigationBlock: false }\n\t) => {\n\t\tconst { focusNavigationBlock } = options;\n\t\tsetRef( menuId );\n\t\tif ( focusNavigationBlock ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\t// Prompt the user to publish the menu they have set as a draft\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\tuseEffect( () => {\n\t\thideMenuAutoPublishDraftNotice();\n\t\tif ( ! isDraftNavigationMenu ) {\n\t\t\treturn;\n\t\t}\n\t\teditEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_navigation',\n\t\t\tnavigationMenu?.id,\n\t\t\t{ status: 'publish' },\n\t\t\t{ throwOnError: true }\n\t\t).catch( () => {\n\t\t\tshowMenuAutoPublishDraftNotice(\n\t\t\t\t__( 'Error occurred while publishing the navigation menu.' )\n\t\t\t);\n\t\t} );\n\t}, [ isDraftNavigationMenu, navigationMenu ] );\n\n\tconst stylingInspectorControls = (\n\t\t<InspectorControls>\n\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t);\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{ hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\n\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t) }\n\t\t\t{ hasColorSettings && (\n\t\t\t\t<PanelColorSettings\n\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t\tcolorSettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: textColor.color,\n\t\t\t\t\t\t\tonChange: setTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: backgroundColor.color,\n\t\t\t\t\t\t\tonChange: setBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayTextColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayTextColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\tonChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelColorSettings>\n\t\t\t) }\n\t\t</InspectorControls>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst WrappedNavigationMenuSelector = ( { currentMenuId } ) => (\n\t\t<NavigationMenuSelector\n\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\tclientId={ clientId }\n\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t} }\n\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\tclassicMenu.name,\n\t\t\t\t\t'draft'\n\t\t\t\t);\n\t\t\t\tif ( navMenu ) {\n\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\tcreateNavigationMenuIsSuccess={ createNavigationMenuIsSuccess }\n\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t/* translators: %s: The name of a menu. */\n\t\t\tactionLabel={ __( \"Switch to '%s'\" ) }\n\t\t/>\n\t);\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: __( 'Menu' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t<OffCanvasEditor\n\t\t\t\t\t\t\t\t\tblocks={ innerBlocks }\n\t\t\t\t\t\t\t\t\tisExpanded={ true }\n\t\t\t\t\t\t\t\t\tselectBlockInCanvas={ 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) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: __( 'Menu' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t<p>Select or create a menu</p>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\tcurrentMenuId={ null }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ ( menuId ) => {\n\t\t\t\t\t\thandleUpdateMenu( menuId );\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectClassicMenu={ async ( classicMenu ) => {\n\t\t\t\t\t\tconst navMenu = await convertClassicMenu(\n\t\t\t\t\t\t\tclassicMenu.id,\n\t\t\t\t\t\t\tclassicMenu.name,\n\t\t\t\t\t\t\t'draft'\n\t\t\t\t\t\t);\n\t\t\t\t\t\tif ( navMenu ) {\n\t\t\t\t\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\t\t\t\t\tfocusNavigationBlock: true,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<InspectorControls>\n\t\t\t\t\t<PanelBody\n\t\t\t\t\t\ttitle={\n\t\t\t\t\t\t\tisOffCanvasNavigationEditorEnabled\n\t\t\t\t\t\t\t\t? null\n\t\t\t\t\t\t\t\t: __( 'Menu' )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t<OffCanvasEditor\n\t\t\t\t\t\t\t\t\tblocks={ innerBlocks }\n\t\t\t\t\t\t\t\t\tisExpanded={ true }\n\t\t\t\t\t\t\t\t\tselectBlockInCanvas={ 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) : (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<WrappedNavigationMenuSelector\n\t\t\t\t\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</InspectorControls>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\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/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled && (\n\t\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"names":["Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","hasSubmenuIndicatorSetting","hasColorSettings","customPlaceholder","CustomPlaceholder","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","editEntityRecord","coreStore","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showMenuAutoPublishDraftNotice","hideMenuAutoPublishDraftNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","handleUpdateMenu","id","focusNavigationBlock","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","blockEditorStore","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","navigationMenus","navigationMenu","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","CLASSIC_MENU_CONVERSION_PENDING","fallbackNavigationMenus","filter","menu","sort","menuA","menuB","menuADate","Date","date","menuBDate","getTime","length","primaryMenus","classicMenu","locations","includes","slug","a","b","navRef","TagName","isPlaceholder","isEntityAvailable","isLoading","textDecoration","style","typography","hasBlockOverlay","blockProps","color","class","enableContrastChecking","Platform","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","menuId","options","onSelectClassicMenu","navMenu","onSelectNavigationMenu","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","current","subMenuElement","querySelector","hasManagePermissions","isResponsive","overlayMenuPreviewClasses","open","isDraftNavigationMenu","throwOnError","catch","colorGradientSettings","stylingInspectorControls","close","colorValue","label","onColorChange","resetAllFilter","hasUnsavedBlocks","isManageMenusButtonDisabled","PlaceholderComponent","Placeholder","deletedMenuTitle"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n\tuseMemo,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\t__experimentalRecursionProvider as RecursionProvider,\n\t__experimentalUseHasRecursion as useHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseBlockOverlayActive as useBlockOverlayActive,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { createBlock } from '@wordpress/blocks';\nimport { close, Icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport useNavigationEntities from '../use-navigation-entities';\nimport Placeholder from './placeholder';\nimport ResponsiveWrapper from './responsive-wrapper';\nimport NavigationInnerBlocks from './inner-blocks';\nimport NavigationMenuNameControl from './navigation-menu-name-control';\nimport UnsavedInnerBlocks from './unsaved-inner-blocks';\nimport NavigationMenuDeleteControl from './navigation-menu-delete-control';\nimport useNavigationNotice from './use-navigation-notice';\nimport OverlayMenuIcon from './overlay-menu-icon';\nimport OverlayMenuPreview from './overlay-menu-preview';\nimport useConvertClassicToBlockMenu, {\n\tCLASSIC_MENU_CONVERSION_ERROR,\n\tCLASSIC_MENU_CONVERSION_PENDING,\n\tCLASSIC_MENU_CONVERSION_SUCCESS,\n} from './use-convert-classic-menu-to-block-menu';\nimport useCreateNavigationMenu from './use-create-navigation-menu';\nimport { useInnerBlocks } from './use-inner-blocks';\nimport { detectColors } from './utils';\nimport ManageMenusButton from './manage-menus-button';\nimport MenuInspectorControls from './menu-inspector-controls';\n\nfunction Navigation( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tisSelected,\n\tclassName,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\ttextColor,\n\tsetTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\n\t// These props are used by the navigation editor to override specific\n\t// navigation block settings.\n\thasSubmenuIndicatorSetting = true,\n\thasColorSettings = true,\n\tcustomPlaceholder: CustomPlaceholder = null,\n} ) {\n\tconst isOffCanvasNavigationEditorEnabled =\n\t\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\n\tconst {\n\t\topenSubmenusOnClick,\n\t\toverlayMenu,\n\t\tshowSubmenuIcon,\n\t\ttemplateLock,\n\t\tlayout: {\n\t\t\tjustifyContent,\n\t\t\torientation = 'horizontal',\n\t\t\tflexWrap = 'wrap',\n\t\t} = {},\n\t\thasIcon,\n\t\ticon = 'handle',\n\t} = attributes;\n\n\tconst ref = attributes.ref;\n\n\tconst setRef = ( postId ) => {\n\t\tsetAttributes( { ref: postId } );\n\t};\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\t// Preload classic menus, so that they don't suddenly pop-in when viewing\n\t// the Select Menu dropdown.\n\tconst { menus: classicMenus } = useNavigationEntities();\n\n\tconst [ showNavigationMenuStatusNotice, hideNavigationMenuStatusNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/status',\n\t\t} );\n\n\tconst [ showClassicMenuConversionNotice, hideClassicMenuConversionNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/classic-menu-conversion',\n\t\t} );\n\n\tconst [ showMenuAutoPublishDraftNotice, hideMenuAutoPublishDraftNotice ] =\n\t\tuseNavigationNotice( {\n\t\t\tname: 'block-library/core/navigation/auto-publish-draft',\n\t\t} );\n\n\tconst [\n\t\tshowNavigationMenuPermissionsNotice,\n\t\thideNavigationMenuPermissionsNotice,\n\t] = useNavigationNotice( {\n\t\tname: 'block-library/core/navigation/permissions/update',\n\t} );\n\n\tconst {\n\t\tcreate: createNavigationMenu,\n\t\tstatus: createNavigationMenuStatus,\n\t\terror: createNavigationMenuError,\n\t\tvalue: createNavigationMenuPost,\n\t\tisPending: isCreatingNavigationMenu,\n\t\tisSuccess: createNavigationMenuIsSuccess,\n\t\tisError: createNavigationMenuIsError,\n\t} = useCreateNavigationMenu( clientId );\n\n\tconst createUntitledEmptyNavigationMenu = () => {\n\t\tcreateNavigationMenu( '' );\n\t};\n\n\tuseEffect( () => {\n\t\thideNavigationMenuStatusNotice();\n\n\t\tif ( isCreatingNavigationMenu ) {\n\t\t\tspeak( __( `Creating Navigation Menu.` ) );\n\t\t}\n\n\t\tif ( createNavigationMenuIsSuccess ) {\n\t\t\thandleUpdateMenu( createNavigationMenuPost.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( `Navigation Menu successfully created.` )\n\t\t\t);\n\t\t}\n\n\t\tif ( createNavigationMenuIsError ) {\n\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t__( 'Failed to create Navigation Menu.' )\n\t\t\t);\n\t\t}\n\t}, [\n\t\tcreateNavigationMenuStatus,\n\t\tcreateNavigationMenuError,\n\t\tcreateNavigationMenuPost,\n\t] );\n\n\tconst {\n\t\thasUncontrolledInnerBlocks,\n\t\tuncontrolledInnerBlocks,\n\t\tisInnerBlockSelected,\n\t\tinnerBlocks,\n\t} = useInnerBlocks( clientId );\n\n\tconst hasSubmenus = !! innerBlocks.find(\n\t\t( block ) => block.name === 'core/navigation-submenu'\n\t);\n\n\tconst {\n\t\treplaceInnerBlocks,\n\t\tselectBlock,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t} = useDispatch( blockEditorStore );\n\n\tconst [ isResponsiveMenuOpen, setResponsiveMenuVisibility ] =\n\t\tuseState( false );\n\n\tconst [ overlayMenuPreview, setOverlayMenuPreview ] = useState( false );\n\n\tconst {\n\t\thasResolvedNavigationMenus,\n\t\tisNavigationMenuResolved,\n\t\tisNavigationMenuMissing,\n\t\tnavigationMenus,\n\t\tnavigationMenu,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( clientId );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\t// Only autofallback to published menus.\n\tconst fallbackNavigationMenus = useMemo(\n\t\t() =>\n\t\t\tnavigationMenus\n\t\t\t\t?.filter( ( menu ) => menu.status === 'publish' )\n\t\t\t\t?.sort( ( menuA, menuB ) => {\n\t\t\t\t\tconst menuADate = new Date( menuA.date );\n\t\t\t\t\tconst menuBDate = new Date( menuB.date );\n\t\t\t\t\treturn menuADate.getTime() < menuBDate.getTime();\n\t\t\t\t} ),\n\t\t[ navigationMenus ]\n\t);\n\n\t// Attempt to retrieve and prioritize any existing navigation menu unless:\n\t// - the are uncontrolled inner blocks already present in the block.\n\t// - the user is creating a new menu.\n\t// - there are no menus to choose from.\n\t// This attempts to pick the first menu if there is a single Navigation Post. If more\n\t// than 1 exists then use the most recent.\n\t// The aim is for the block to \"just work\" from a user perspective using existing data.\n\tuseEffect( () => {\n\t\tif (\n\t\t\thasUncontrolledInnerBlocks ||\n\t\t\tisCreatingNavigationMenu ||\n\t\t\tref ||\n\t\t\t! fallbackNavigationMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t/**\n\t\t * This fallback displays (both in editor and on front)\n\t\t * a list of pages only if no menu (user assigned or\n\t\t * automatically picked) is available.\n\t\t * The fallback should not request a save (entity dirty state)\n\t\t * nor to be undoable, hence why it is marked as non persistent\n\t\t */\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( fallbackNavigationMenus[ 0 ].id );\n\t}, [\n\t\tref,\n\t\tisCreatingNavigationMenu,\n\t\tfallbackNavigationMenus,\n\t\thasUncontrolledInnerBlocks,\n\t] );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\tisConvertingClassicMenu ||\n\t\t\tfallbackNavigationMenus?.length > 0 ||\n\t\t\t! classicMenus?.length\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If there's non fallback navigation menus and\n\t\t// a classic menu with a `primary` location or slug,\n\t\t// then create a new navigation menu based on it.\n\t\t// Otherwise, use the most recently created classic menu.\n\t\tconst primaryMenus = classicMenus.filter(\n\t\t\t( classicMenu ) =>\n\t\t\t\tclassicMenu.locations.includes( 'primary' ) ||\n\t\t\t\tclassicMenu.slug === 'primary'\n\t\t);\n\n\t\tif ( primaryMenus.length ) {\n\t\t\tconvertClassicMenu(\n\t\t\t\tprimaryMenus[ 0 ].id,\n\t\t\t\tprimaryMenus[ 0 ].name,\n\t\t\t\t'publish'\n\t\t\t);\n\t\t} else {\n\t\t\tclassicMenus.sort( ( a, b ) => {\n\t\t\t\treturn b.id - a.id;\n\t\t\t} );\n\t\t\tconvertClassicMenu(\n\t\t\t\tclassicMenus[ 0 ].id,\n\t\t\t\tclassicMenus[ 0 ].name,\n\t\t\t\t'publish'\n\t\t\t);\n\t\t}\n\t}, [ hasResolvedNavigationMenus ] );\n\n\tconst navRef = useRef();\n\n\t// The standard HTML5 tag for the block wrapper.\n\tconst TagName = 'nav';\n\n\t// \"placeholder\" shown if:\n\t// - there is no ref attribute pointing to a Navigation Post.\n\t// - there is no classic menu conversion process in progress.\n\t// - there is no menu creation process in progress.\n\t// - there are no uncontrolled blocks.\n\tconst isPlaceholder =\n\t\t! ref &&\n\t\t! isCreatingNavigationMenu &&\n\t\t! isConvertingClassicMenu &&\n\t\thasResolvedNavigationMenus &&\n\t\tclassicMenus?.length === 0 &&\n\t\t! hasUncontrolledInnerBlocks;\n\n\tuseEffect( () => {\n\t\tif ( isPlaceholder ) {\n\t\t\t/**\n\t\t\t * this fallback only displays (both in editor and on front)\n\t\t\t * the list of pages block if no menu is available as a fallback.\n\t\t\t * We don't want the fallback to request a save,\n\t\t\t * nor to be undoable, hence we mark it non persistent.\n\t\t\t */\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\treplaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );\n\t\t}\n\t}, [ clientId, isPlaceholder, ref ] );\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\n\n\t// \"loading\" state:\n\t// - there is a menu creation process in progress.\n\t// - there is a classic menu conversion process in progress.\n\t// OR:\n\t// - there is a ref attribute pointing to a Navigation Post\n\t// - the Navigation Post isn't available (hasn't resolved) yet.\n\tconst isLoading =\n\t\t! hasResolvedNavigationMenus ||\n\t\tisCreatingNavigationMenu ||\n\t\tisConvertingClassicMenu ||\n\t\t!! ( ref && ! isEntityAvailable && ! isConvertingClassicMenu );\n\n\tconst textDecoration = attributes.style?.typography?.textDecoration;\n\n\tconst hasBlockOverlay = useBlockOverlayActive( clientId );\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: classnames( className, {\n\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t'items-justified-space-between': justifyContent === 'space-between',\n\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t'is-responsive': 'never' !== overlayMenu,\n\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t!! textColor?.slug,\n\t\t\t'has-background': !! backgroundColor.color || backgroundColor.class,\n\t\t\t[ getColorClassName( 'background-color', backgroundColor?.slug ) ]:\n\t\t\t\t!! backgroundColor?.slug,\n\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t} ),\n\t\tstyle: {\n\t\t\tcolor: ! textColor?.slug && textColor?.color,\n\t\t\tbackgroundColor: ! backgroundColor?.slug && backgroundColor?.color,\n\t\t},\n\t} );\n\n\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst handleUpdateMenu = (\n\t\tmenuId,\n\t\toptions = { focusNavigationBlock: false }\n\t) => {\n\t\tconst { focusNavigationBlock } = options;\n\t\tsetRef( menuId );\n\t\tif ( focusNavigationBlock ) {\n\t\t\tselectBlock( clientId );\n\t\t}\n\t};\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\thideClassicMenuConversionNotice();\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {\n\t\t\tspeak( __( 'Classic menu importing.' ) );\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu imported successfully.' )\n\t\t\t);\n\t\t}\n\n\t\tif ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR ) {\n\t\t\tshowClassicMenuConversionNotice(\n\t\t\t\t__( 'Classic menu import failed.' )\n\t\t\t);\n\t\t}\n\t}, [ classicMenuConversionStatus, classicMenuConversionError ] );\n\n\t// Spacer block needs orientation from context. This is a patch until\n\t// https://github.com/WordPress/gutenberg/issues/36197 is addressed.\n\tuseEffect( () => {\n\t\tif ( orientation ) {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tsetAttributes( { orientation } );\n\t\t}\n\t}, [ orientation ] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-link\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\t\tif ( subMenuElement ) {\n\t\t\tdetectColors(\n\t\t\t\tsubMenuElement,\n\t\t\t\tsetDetectedOverlayColor,\n\t\t\t\tsetDetectedOverlayBackgroundColor\n\t\t\t);\n\t\t}\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\tconst isResponsive = 'never' !== overlayMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\t// Prompt the user to publish the menu they have set as a draft\n\tconst isDraftNavigationMenu = navigationMenu?.status === 'draft';\n\tuseEffect( () => {\n\t\thideMenuAutoPublishDraftNotice();\n\t\tif ( ! isDraftNavigationMenu ) {\n\t\t\treturn;\n\t\t}\n\t\teditEntityRecord(\n\t\t\t'postType',\n\t\t\t'wp_navigation',\n\t\t\tnavigationMenu?.id,\n\t\t\t{ status: 'publish' },\n\t\t\t{ throwOnError: true }\n\t\t).catch( () => {\n\t\t\tshowMenuAutoPublishDraftNotice(\n\t\t\t\t__( 'Error occurred while publishing the navigation menu.' )\n\t\t\t);\n\t\t} );\n\t}, [ isDraftNavigationMenu, navigationMenu ] );\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\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>\n\t\t\t\t\t\t\t\t\t{ hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<OverlayMenuIcon icon={ icon } />\n\t\t\t\t\t\t\t\t\t\t\t<Icon icon={ close } />\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{ ! hasIcon && (\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Menu' ) }</span>\n\t\t\t\t\t\t\t\t\t\t\t<span>{ __( 'Close' ) }</span>\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</Button>\n\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tchecked={ openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\topenSubmenusOnClick: value,\n\t\t\t\t\t\t\t\t\t\t\t...( value && {\n\t\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: true,\n\t\t\t\t\t\t\t\t\t\t\t} ), // Make sure arrows are shown when we toggle this on.\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\tlabel={ __( 'Open on click' ) }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tchecked={ showSubmenuIcon }\n\t\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\tshowSubmenuIcon: value,\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\tdisabled={ attributes.openSubmenusOnClick }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Show arrow' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"color\">\n\t\t\t\t{ hasColorSettings && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t] }\n\t\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\t\tdisableCustomGradients={ true }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\t// If the block has inner blocks, but no menu id, then these blocks are either:\n\t// - inserted via a pattern.\n\t// - inserted directly via Code View (or otherwise).\n\t// - from an older version of navigation block added before the block used a wp_navigation entity.\n\t// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,\n\t// that automatically saves the menu as an entity when changes are made to the inner blocks.\n\tconst hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;\n\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t/>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\tid={ clientId }\n\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tisResponsive={ 'never' !== overlayMenu }\n\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\tnavigationMenus={ navigationMenus }\n\t\t\t\t\t\thasSelection={ isSelected || isInnerBlockSelected }\n\t\t\t\t\t/>\n\t\t\t\t</ResponsiveWrapper>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\t// Show a warning if the selected menu is no longer available.\n\t// TODO - the user should be able to select a new one?\n\tif ( ref && isNavigationMenuMissing ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t/>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Navigation menu has been deleted or is unavailable. '\n\t\t\t\t\t) }\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create a new menu?' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<div { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</div>\n\t\t);\n\t}\n\n\tconst PlaceholderComponent = CustomPlaceholder\n\t\t? CustomPlaceholder\n\t\t: Placeholder;\n\n\t/**\n\t * Historically the navigation block has supported custom placeholders.\n\t * Even though the current UX tries as hard as possible not to\n\t * end up in a placeholder state, the block continues to support\n\t * this extensibility point, via a CustomPlaceholder.\n\t * When CustomPlaceholder is present it becomes the default fallback\n\t * for an empty navigation block, instead of the default fallbacks.\n\t *\n\t */\n\n\tif ( isPlaceholder && CustomPlaceholder ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<PlaceholderComponent\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t/>\n\t\t\t\t{ stylingInspectorControls }\n\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t\t\t{ hasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t\t\t\tcanUserUpdateNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuNameControl />\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ hasResolvedCanUserDeleteNavigationMenu &&\n\t\t\t\t\t\t\tcanUserDeleteNavigationMenu && (\n\t\t\t\t\t\t\t\t<NavigationMenuDeleteControl\n\t\t\t\t\t\t\t\t\tonDelete={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\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/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled && (\n\t\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t) }\n\n\t\t\t\t{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\tlabel={ __( 'Menu' ) }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"]}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
|
|
10
|
+
var _element = require("@wordpress/element");
|
|
11
|
+
|
|
12
|
+
var _blockEditor = require("@wordpress/block-editor");
|
|
13
|
+
|
|
14
|
+
var _components = require("@wordpress/components");
|
|
15
|
+
|
|
16
|
+
var _data = require("@wordpress/data");
|
|
17
|
+
|
|
18
|
+
var _i18n = require("@wordpress/i18n");
|
|
19
|
+
|
|
20
|
+
var _manageMenusButton = _interopRequireDefault(require("./manage-menus-button"));
|
|
21
|
+
|
|
22
|
+
var _navigationMenuSelector = _interopRequireDefault(require("./navigation-menu-selector"));
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* WordPress dependencies
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Internal dependencies
|
|
30
|
+
*/
|
|
31
|
+
const MenuInspectorControls = _ref => {
|
|
32
|
+
var _window, _window2;
|
|
33
|
+
|
|
34
|
+
let {
|
|
35
|
+
clientId,
|
|
36
|
+
createNavigationMenuIsSuccess,
|
|
37
|
+
createNavigationMenuIsError,
|
|
38
|
+
currentMenuId = null,
|
|
39
|
+
isNavigationMenuMissing,
|
|
40
|
+
isManageMenusButtonDisabled,
|
|
41
|
+
onCreateNew,
|
|
42
|
+
onSelectClassicMenu,
|
|
43
|
+
onSelectNavigationMenu
|
|
44
|
+
} = _ref;
|
|
45
|
+
const isOffCanvasNavigationEditorEnabled = ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableOffCanvasNavigationEditor) === true;
|
|
46
|
+
const menuControlsSlot = (_window2 = window) !== null && _window2 !== void 0 && _window2.__experimentalEnableBlockInspectorTabs ? 'list' : undefined;
|
|
47
|
+
/* translators: %s: The name of a menu. */
|
|
48
|
+
|
|
49
|
+
const actionLabel = (0, _i18n.__)("Switch to '%s'"); // Provide a hierarchy of clientIds for the given Navigation block (clientId).
|
|
50
|
+
// This is required else the list view will display the entire block tree.
|
|
51
|
+
|
|
52
|
+
const clientIdsTree = (0, _data.useSelect)(select => {
|
|
53
|
+
const {
|
|
54
|
+
__unstableGetClientIdsTree
|
|
55
|
+
} = select(_blockEditor.store);
|
|
56
|
+
return __unstableGetClientIdsTree(clientId);
|
|
57
|
+
}, [clientId]);
|
|
58
|
+
return (0, _element.createElement)(_blockEditor.InspectorControls, {
|
|
59
|
+
__experimentalGroup: menuControlsSlot
|
|
60
|
+
}, (0, _element.createElement)(_components.PanelBody, {
|
|
61
|
+
title: isOffCanvasNavigationEditorEnabled ? null : (0, _i18n.__)('Menu')
|
|
62
|
+
}, isOffCanvasNavigationEditorEnabled ? (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
63
|
+
className: "wp-block-navigation-off-canvas-editor__header"
|
|
64
|
+
}, (0, _element.createElement)(_components.__experimentalHeading, {
|
|
65
|
+
className: "wp-block-navigation-off-canvas-editor__title",
|
|
66
|
+
level: 2
|
|
67
|
+
}, (0, _i18n.__)('Menu')), (0, _element.createElement)(_navigationMenuSelector.default, {
|
|
68
|
+
currentMenuId: currentMenuId,
|
|
69
|
+
onSelectClassicMenu: onSelectClassicMenu,
|
|
70
|
+
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
71
|
+
onCreateNew: onCreateNew,
|
|
72
|
+
createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
|
|
73
|
+
createNavigationMenuIsError: createNavigationMenuIsError,
|
|
74
|
+
actionLabel: actionLabel
|
|
75
|
+
})), currentMenuId && isNavigationMenuMissing ? (0, _element.createElement)("p", null, (0, _i18n.__)('Select or create a menu')) : (0, _element.createElement)(_blockEditor.__experimentalOffCanvasEditor, {
|
|
76
|
+
blocks: clientIdsTree,
|
|
77
|
+
isExpanded: true,
|
|
78
|
+
selectBlockInCanvas: false
|
|
79
|
+
})) : (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_navigationMenuSelector.default, {
|
|
80
|
+
currentMenuId: currentMenuId,
|
|
81
|
+
onSelectClassicMenu: onSelectClassicMenu,
|
|
82
|
+
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
83
|
+
onCreateNew: onCreateNew,
|
|
84
|
+
createNavigationMenuIsSuccess: createNavigationMenuIsSuccess,
|
|
85
|
+
createNavigationMenuIsError: createNavigationMenuIsError,
|
|
86
|
+
actionLabel: actionLabel
|
|
87
|
+
}), (0, _element.createElement)(_manageMenusButton.default, {
|
|
88
|
+
disabled: isManageMenusButtonDisabled
|
|
89
|
+
}))));
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
var _default = MenuInspectorControls;
|
|
93
|
+
exports.default = _default;
|
|
94
|
+
//# sourceMappingURL=menu-inspector-controls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/menu-inspector-controls.js"],"names":["MenuInspectorControls","clientId","createNavigationMenuIsSuccess","createNavigationMenuIsError","currentMenuId","isNavigationMenuMissing","isManageMenusButtonDisabled","onCreateNew","onSelectClassicMenu","onSelectNavigationMenu","isOffCanvasNavigationEditorEnabled","window","__experimentalEnableOffCanvasNavigationEditor","menuControlsSlot","__experimentalEnableBlockInspectorTabs","undefined","actionLabel","clientIdsTree","select","__unstableGetClientIdsTree","blockEditorStore"],"mappings":";;;;;;;;;;;AAGA;;AAKA;;AAKA;;AACA;;AAKA;;AACA;;AApBA;AACA;AACA;;AAcA;AACA;AACA;AAIA,MAAMA,qBAAqB,GAAG,QAUvB;AAAA;;AAAA,MAVyB;AAC/BC,IAAAA,QAD+B;AAE/BC,IAAAA,6BAF+B;AAG/BC,IAAAA,2BAH+B;AAI/BC,IAAAA,aAAa,GAAG,IAJe;AAK/BC,IAAAA,uBAL+B;AAM/BC,IAAAA,2BAN+B;AAO/BC,IAAAA,WAP+B;AAQ/BC,IAAAA,mBAR+B;AAS/BC,IAAAA;AAT+B,GAUzB;AACN,QAAMC,kCAAkC,GACvC,YAAAC,MAAM,UAAN,0CAAQC,6CAAR,MAA0D,IAD3D;AAEA,QAAMC,gBAAgB,GAAG,YAAAF,MAAM,UAAN,oCAAQG,sCAAR,GACtB,MADsB,GAEtBC,SAFH;AAGA;;AACA,QAAMC,WAAW,GAAG,cAAI,gBAAJ,CAApB,CAPM,CASN;AACA;;AACA,QAAMC,aAAa,GAAG,qBACnBC,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA;AAAF,QAAiCD,MAAM,CAAEE,kBAAF,CAA7C;AACA,WAAOD,0BAA0B,CAAElB,QAAF,CAAjC;AACA,GAJoB,EAKrB,CAAEA,QAAF,CALqB,CAAtB;AAQA,SACC,4BAAC,8BAAD;AAAmB,IAAA,mBAAmB,EAAGY;AAAzC,KACC,4BAAC,qBAAD;AACC,IAAA,KAAK,EACJH,kCAAkC,GAAG,IAAH,GAAU,cAAI,MAAJ;AAF9C,KAKGA,kCAAkC,GACnC,qDACC,4BAAC,gCAAD;AAAQ,IAAA,SAAS,EAAC;AAAlB,KACC,4BAAC,iCAAD;AACC,IAAA,SAAS,EAAC,8CADX;AAEC,IAAA,KAAK,EAAG;AAFT,KAIG,cAAI,MAAJ,CAJH,CADD,EAOC,4BAAC,+BAAD;AACC,IAAA,aAAa,EAAGN,aADjB;AAEC,IAAA,mBAAmB,EAAGI,mBAFvB;AAGC,IAAA,sBAAsB,EACrBC,sBAJF;AAMC,IAAA,WAAW,EAAGF,WANf;AAOC,IAAA,6BAA6B,EAC5BL,6BARF;AAUC,IAAA,2BAA2B,EAC1BC,2BAXF;AAaC,IAAA,WAAW,EAAGa;AAbf,IAPD,CADD,EAwBGZ,aAAa,IAAIC,uBAAjB,GACD,uCAAK,cAAI,yBAAJ,CAAL,CADC,GAGD,4BAAC,0CAAD;AACC,IAAA,MAAM,EAAGY,aADV;AAEC,IAAA,UAAU,EAAG,IAFd;AAGC,IAAA,mBAAmB,EAAG;AAHvB,IA3BF,CADmC,GAoCnC,qDACC,4BAAC,+BAAD;AACC,IAAA,aAAa,EAAGb,aADjB;AAEC,IAAA,mBAAmB,EAAGI,mBAFvB;AAGC,IAAA,sBAAsB,EAAGC,sBAH1B;AAIC,IAAA,WAAW,EAAGF,WAJf;AAKC,IAAA,6BAA6B,EAC5BL,6BANF;AAQC,IAAA,2BAA2B,EAC1BC,2BATF;AAWC,IAAA,WAAW,EAAGa;AAXf,IADD,EAcC,4BAAC,0BAAD;AACC,IAAA,QAAQ,EAAGV;AADZ,IAdD,CAzCF,CADD,CADD;AAiEA,CA9FD;;eAgGeN,qB","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalOffCanvasEditor as OffCanvasEditor,\n\tInspectorControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\t__experimentalHStack as HStack,\n\t__experimentalHeading as Heading,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport ManageMenusButton from './manage-menus-button';\nimport NavigationMenuSelector from './navigation-menu-selector';\n\nconst MenuInspectorControls = ( {\n\tclientId,\n\tcreateNavigationMenuIsSuccess,\n\tcreateNavigationMenuIsError,\n\tcurrentMenuId = null,\n\tisNavigationMenuMissing,\n\tisManageMenusButtonDisabled,\n\tonCreateNew,\n\tonSelectClassicMenu,\n\tonSelectNavigationMenu,\n} ) => {\n\tconst isOffCanvasNavigationEditorEnabled =\n\t\twindow?.__experimentalEnableOffCanvasNavigationEditor === true;\n\tconst menuControlsSlot = window?.__experimentalEnableBlockInspectorTabs\n\t\t? 'list'\n\t\t: undefined;\n\t/* translators: %s: The name of a menu. */\n\tconst actionLabel = __( \"Switch to '%s'\" );\n\n\t// Provide a hierarchy of clientIds for the given Navigation block (clientId).\n\t// This is required else the list view will display the entire block tree.\n\tconst clientIdsTree = useSelect(\n\t\t( select ) => {\n\t\t\tconst { __unstableGetClientIdsTree } = select( blockEditorStore );\n\t\t\treturn __unstableGetClientIdsTree( clientId );\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\treturn (\n\t\t<InspectorControls __experimentalGroup={ menuControlsSlot }>\n\t\t\t<PanelBody\n\t\t\t\ttitle={\n\t\t\t\t\tisOffCanvasNavigationEditorEnabled ? null : __( 'Menu' )\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t{ isOffCanvasNavigationEditorEnabled ? (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<HStack className=\"wp-block-navigation-off-canvas-editor__header\">\n\t\t\t\t\t\t\t<Heading\n\t\t\t\t\t\t\t\tclassName=\"wp-block-navigation-off-canvas-editor__title\"\n\t\t\t\t\t\t\t\tlevel={ 2 }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Menu' ) }\n\t\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\t\tonSelectNavigationMenu={\n\t\t\t\t\t\t\t\t\tonSelectNavigationMenu\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t{ currentMenuId && isNavigationMenuMissing ? (\n\t\t\t\t\t\t\t<p>{ __( 'Select or create a menu' ) }</p>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<OffCanvasEditor\n\t\t\t\t\t\t\t\tblocks={ clientIdsTree }\n\t\t\t\t\t\t\t\tisExpanded={ true }\n\t\t\t\t\t\t\t\tselectBlockInCanvas={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</>\n\t\t\t\t) : (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<NavigationMenuSelector\n\t\t\t\t\t\t\tcurrentMenuId={ currentMenuId }\n\t\t\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\t\t\tonCreateNew={ onCreateNew }\n\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcreateNavigationMenuIsError={\n\t\t\t\t\t\t\t\tcreateNavigationMenuIsError\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tactionLabel={ actionLabel }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n};\n\nexport default MenuInspectorControls;\n"]}
|
|
@@ -119,7 +119,7 @@ function NavigationMenuSelector(_ref) {
|
|
|
119
119
|
}
|
|
120
120
|
};
|
|
121
121
|
|
|
122
|
-
if (!hasNavigationMenus && !hasClassicMenus) {
|
|
122
|
+
if (!hasNavigationMenus && !hasClassicMenus && !isOffCanvasNavigationEditorEnabled) {
|
|
123
123
|
return (0, _element.createElement)(_components.Button, {
|
|
124
124
|
className: "wp-block-navigation__navigation-selector-button--createnew",
|
|
125
125
|
isBusy: !enableOptions,
|
|
@@ -137,9 +137,7 @@ function NavigationMenuSelector(_ref) {
|
|
|
137
137
|
return (0, _element.createElement)(_components.DropdownMenu, {
|
|
138
138
|
className: isOffCanvasNavigationEditorEnabled ? '' : 'wp-block-navigation__navigation-selector',
|
|
139
139
|
label: selectorLabel,
|
|
140
|
-
text:
|
|
141
|
-
className: "wp-block-navigation__navigation-selector-button__label"
|
|
142
|
-
}, isOffCanvasNavigationEditorEnabled ? '' : selectorLabel),
|
|
140
|
+
text: isOffCanvasNavigationEditorEnabled ? '' : selectorLabel,
|
|
143
141
|
icon: isOffCanvasNavigationEditorEnabled ? _icons.moreVertical : null,
|
|
144
142
|
toggleProps: isOffCanvasNavigationEditorEnabled ? {
|
|
145
143
|
isSmall: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/navigation-menu-selector.js"],"names":["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","chevronUp","chevronDown","isBusy","disabled","__experimentalIsFocusable","onClick","moreVertical","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\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 ( ! hasNavigationMenus && ! hasClassicMenus ) {\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={\n\t\t\t\t<span className=\"wp-block-navigation__navigation-selector-button__label\">\n\t\t\t\t\t{ isOffCanvasNavigationEditorEnabled ? '' : selectorLabel }\n\t\t\t\t</span>\n\t\t\t}\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":["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","chevronUp","chevronDown","isBusy","disabled","__experimentalIsFocusable","onClick","moreVertical","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"]}
|
|
@@ -19,6 +19,8 @@ var _data = require("@wordpress/data");
|
|
|
19
19
|
|
|
20
20
|
var _useNavigationMenu = _interopRequireDefault(require("../use-navigation-menu"));
|
|
21
21
|
|
|
22
|
+
var _areBlocksDirty = require("./are-blocks-dirty");
|
|
23
|
+
|
|
22
24
|
/**
|
|
23
25
|
* WordPress dependencies
|
|
24
26
|
*/
|
|
@@ -49,13 +51,15 @@ function UnsavedInnerBlocks(_ref) {
|
|
|
49
51
|
if (!(originalBlocks !== null && originalBlocks !== void 0 && originalBlocks.current)) {
|
|
50
52
|
originalBlocks.current = blocks;
|
|
51
53
|
}
|
|
52
|
-
}, [blocks]); // If the current inner blocks
|
|
53
|
-
// from the
|
|
54
|
-
//
|
|
55
|
-
//
|
|
56
|
-
//
|
|
57
|
-
|
|
58
|
-
|
|
54
|
+
}, [blocks]); // If the current inner blocks are different from the original inner blocks
|
|
55
|
+
// from the post content then the user has made changes to the inner blocks.
|
|
56
|
+
// At this point the inner blocks can be considered "dirty".
|
|
57
|
+
// Note: referential equality is not sufficient for comparison as the inner blocks
|
|
58
|
+
// of the page list are controlled and may be updated async due to syncing with
|
|
59
|
+
// entity records. As a result we need to perform a deep equality check skipping
|
|
60
|
+
// the page list's inner blocks.
|
|
61
|
+
|
|
62
|
+
const innerBlocksAreDirty = (0, _areBlocksDirty.areBlocksDirty)(originalBlocks === null || originalBlocks === void 0 ? void 0 : originalBlocks.current, blocks);
|
|
59
63
|
const shouldDirectInsert = (0, _element.useMemo)(() => blocks.every(_ref2 => {
|
|
60
64
|
let {
|
|
61
65
|
name
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","createNavigationMenu","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Disabled","Context","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","coreStore","hasResolvedNavigationMenus","navigationMenus","Wrapper"],"mappings":";;;;;;;;;AAOA;;AAJA;;AACA;;AACA;;AACA;;AAMA;;
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/navigation/edit/unsaved-inner-blocks.js"],"names":["EMPTY_OBJECT","DRAFT_MENU_PARAMS","status","per_page","DEFAULT_BLOCK","name","ALLOWED_BLOCKS","UnsavedInnerBlocks","blocks","createNavigationMenu","hasSelection","originalBlocks","current","innerBlocksAreDirty","shouldDirectInsert","every","isDisabled","Disabled","Context","innerBlocksProps","className","renderAppender","undefined","allowedBlocks","__experimentalDefaultBlock","__experimentalDirectInsert","isSaving","draftNavigationMenus","hasResolvedDraftNavigationMenus","select","getEntityRecords","hasFinishedResolution","isSavingEntityRecord","coreStore","hasResolvedNavigationMenus","navigationMenus","Wrapper"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps } from '@wordpress/block-editor';\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useContext, useEffect, useRef, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport useNavigationMenu from '../use-navigation-menu';\nimport { areBlocksDirty } from './are-blocks-dirty';\n\nconst EMPTY_OBJECT = {};\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst DEFAULT_BLOCK = {\n\tname: 'core/navigation-link',\n};\n\nconst ALLOWED_BLOCKS = [\n\t'core/navigation-link',\n\t'core/search',\n\t'core/social-links',\n\t'core/page-list',\n\t'core/spacer',\n\t'core/home-link',\n\t'core/site-title',\n\t'core/site-logo',\n\t'core/navigation-submenu',\n];\n\nexport default function UnsavedInnerBlocks( {\n\tblocks,\n\tcreateNavigationMenu,\n\n\thasSelection,\n} ) {\n\tconst originalBlocks = useRef();\n\n\tuseEffect( () => {\n\t\t// Initially store the uncontrolled inner blocks for\n\t\t// dirty state comparison.\n\t\tif ( ! originalBlocks?.current ) {\n\t\t\toriginalBlocks.current = blocks;\n\t\t}\n\t}, [ blocks ] );\n\n\t// If the current inner blocks are different from the original inner blocks\n\t// from the post content then the user has made changes to the inner blocks.\n\t// At this point the inner blocks can be considered \"dirty\".\n\t// Note: referential equality is not sufficient for comparison as the inner blocks\n\t// of the page list are controlled and may be updated async due to syncing with\n\t// entity records. As a result we need to perform a deep equality check skipping\n\t// the page list's inner blocks.\n\tconst innerBlocksAreDirty = areBlocksDirty(\n\t\toriginalBlocks?.current,\n\t\tblocks\n\t);\n\n\tconst shouldDirectInsert = useMemo(\n\t\t() =>\n\t\t\tblocks.every(\n\t\t\t\t( { name } ) =>\n\t\t\t\t\tname === 'core/navigation-link' ||\n\t\t\t\t\tname === 'core/navigation-submenu' ||\n\t\t\t\t\tname === 'core/page-list'\n\t\t\t),\n\t\t[ blocks ]\n\t);\n\n\t// The block will be disabled in a block preview, use this as a way of\n\t// avoiding the side-effects of this component for block previews.\n\tconst isDisabled = useContext( Disabled.Context );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-navigation__container',\n\t\t},\n\t\t{\n\t\t\trenderAppender: hasSelection ? undefined : false,\n\t\t\tallowedBlocks: ALLOWED_BLOCKS,\n\t\t\t__experimentalDefaultBlock: DEFAULT_BLOCK,\n\t\t\t__experimentalDirectInsert: shouldDirectInsert,\n\t\t}\n\t);\n\n\tconst { isSaving, draftNavigationMenus, hasResolvedDraftNavigationMenus } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tif ( isDisabled ) {\n\t\t\t\t\treturn EMPTY_OBJECT;\n\t\t\t\t}\n\n\t\t\t\tconst {\n\t\t\t\t\tgetEntityRecords,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\n\t\t\t\treturn {\n\t\t\t\t\tisSaving: isSavingEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t'wp_navigation'\n\t\t\t\t\t),\n\t\t\t\t\tdraftNavigationMenus: getEntityRecords(\n\t\t\t\t\t\t...DRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t\thasResolvedDraftNavigationMenus: hasFinishedResolution(\n\t\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\t\tDRAFT_MENU_PARAMS\n\t\t\t\t\t),\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ isDisabled ]\n\t\t);\n\n\tconst { hasResolvedNavigationMenus, navigationMenus } = useNavigationMenu();\n\n\t// Automatically save the uncontrolled blocks.\n\tuseEffect( () => {\n\t\t// The block will be disabled when used in a BlockPreview.\n\t\t// In this case avoid automatic creation of a wp_navigation post.\n\t\t// Otherwise the user will be spammed with lots of menus!\n\t\t//\n\t\t// Also ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\t//\n\t\t// Don't try saving when another save is already\n\t\t// in progress.\n\t\t//\n\t\t// And finally only create the menu when the block is selected,\n\t\t// which is an indication they want to start editing.\n\t\tif (\n\t\t\tisDisabled ||\n\t\t\tisSaving ||\n\t\t\t! hasResolvedDraftNavigationMenus ||\n\t\t\t! hasResolvedNavigationMenus ||\n\t\t\t! hasSelection ||\n\t\t\t! innerBlocksAreDirty\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\tcreateNavigationMenu( null, blocks );\n\t}, [\n\t\tisDisabled,\n\t\tisSaving,\n\t\thasResolvedDraftNavigationMenus,\n\t\thasResolvedNavigationMenus,\n\t\tdraftNavigationMenus,\n\t\tnavigationMenus,\n\t\thasSelection,\n\t\tcreateNavigationMenu,\n\t\tblocks,\n\t] );\n\n\tconst Wrapper = isSaving ? Disabled : 'div';\n\n\treturn <Wrapper { ...innerBlocksProps } />;\n}\n"]}
|