@wordpress/block-library 9.16.0 → 9.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/archives/edit.js +2 -2
- package/build/archives/edit.js.map +1 -1
- package/build/archives/index.js +9 -0
- package/build/archives/index.js.map +1 -1
- package/build/avatar/user-control.js +0 -1
- package/build/avatar/user-control.js.map +1 -1
- package/build/block/deprecated.js +0 -1
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +0 -1
- package/build/block/edit.js.map +1 -1
- package/build/button/deprecated.js +0 -1
- package/build/button/deprecated.js.map +1 -1
- package/build/buttons/transforms.js +0 -1
- package/build/buttons/transforms.js.map +1 -1
- package/build/categories/edit.js +115 -38
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +9 -0
- package/build/categories/index.js.map +1 -1
- package/build/column/column-preview.native.js +0 -1
- package/build/column/column-preview.native.js.map +1 -1
- package/build/columns/columnCalculations.native.js +0 -1
- package/build/columns/columnCalculations.native.js.map +1 -1
- package/build/columns/deprecated.js +0 -1
- package/build/columns/deprecated.js.map +1 -1
- package/build/columns/edit.js +0 -1
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +0 -1
- package/build/columns/edit.native.js.map +1 -1
- package/build/columns/transforms.js +0 -1
- package/build/columns/transforms.js.map +1 -1
- package/build/columns/utils.js +0 -1
- package/build/columns/utils.js.map +1 -1
- package/build/comment-template/edit.js +0 -1
- package/build/comment-template/edit.js.map +1 -1
- package/build/comment-template/hooks.js +0 -1
- package/build/comment-template/hooks.js.map +1 -1
- package/build/comment-template/util.js +0 -1
- package/build/comment-template/util.js.map +1 -1
- package/build/comments/edit/comments-inspector-controls.js +6 -5
- package/build/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build/comments-pagination/index.js +5 -0
- package/build/comments-pagination/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -9
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/details/edit.js +16 -2
- package/build/details/edit.js.map +1 -1
- package/build/details/index.js +9 -0
- package/build/details/index.js.map +1 -1
- package/build/details/save.js +2 -0
- package/build/details/save.js.map +1 -1
- package/build/details/transforms.js +0 -1
- package/build/details/transforms.js.map +1 -1
- package/build/embed/embed-placeholder.native.js +0 -1
- package/build/embed/embed-placeholder.native.js.map +1 -1
- package/build/embed/transforms.js +5 -2
- package/build/embed/transforms.js.map +1 -1
- package/build/embed/util.js +0 -1
- package/build/embed/util.js.map +1 -1
- package/build/embed/variations.js +0 -1
- package/build/embed/variations.js.map +1 -1
- package/build/embed/wp-embed-preview.js +0 -1
- package/build/embed/wp-embed-preview.js.map +1 -1
- package/build/file/transforms.js +0 -1
- package/build/file/transforms.js.map +1 -1
- package/build/footnotes/edit.js +0 -1
- package/build/footnotes/edit.js.map +1 -1
- package/build/form/variations.js +1 -1
- package/build/form/variations.js.map +1 -1
- package/build/freeform/modal.js +0 -1
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/deprecated.js +0 -1
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/edit.js +0 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +0 -1
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/transforms.js +0 -1
- package/build/gallery/transforms.js.map +1 -1
- package/build/gallery/use-get-media.js +0 -1
- package/build/gallery/use-get-media.js.map +1 -1
- package/build/gallery/use-get-media.native.js +0 -1
- package/build/gallery/use-get-media.native.js.map +1 -1
- package/build/gallery/use-get-new-images.js +0 -1
- package/build/gallery/use-get-new-images.js.map +1 -1
- package/build/gallery/use-image-sizes.js +0 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/group/edit.js +2 -9
- package/build/group/edit.js.map +1 -1
- package/build/group/placeholder.js +0 -1
- package/build/group/placeholder.js.map +1 -1
- package/build/group/transforms.js +0 -1
- package/build/group/transforms.js.map +1 -1
- package/build/heading/transforms.js +0 -1
- package/build/heading/transforms.js.map +1 -1
- package/build/home-link/edit.js +1 -2
- package/build/home-link/edit.js.map +1 -1
- package/build/html/preview.js +0 -1
- package/build/html/preview.js.map +1 -1
- package/build/image/edit.js +0 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +0 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +0 -1
- package/build/image/image.js.map +1 -1
- package/build/image/transforms.js +0 -1
- package/build/image/transforms.js.map +1 -1
- package/build/image/utils.js +0 -1
- package/build/image/utils.js.map +1 -1
- package/build/index.native.js +0 -1
- package/build/index.native.js.map +1 -1
- package/build/latest-comments/edit.js +73 -26
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/constants.js +2 -1
- package/build/latest-posts/constants.js.map +1 -1
- package/build/latest-posts/edit.js +91 -39
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/transforms.js +0 -1
- package/build/list/transforms.js.map +1 -1
- package/build/list/utils.js +0 -1
- package/build/list/utils.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +0 -1
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/index.js +1 -1
- package/build/list-item/transforms.js +0 -1
- package/build/list-item/transforms.js.map +1 -1
- package/build/media-text/edit.js +0 -1
- package/build/media-text/edit.js.map +1 -1
- package/build/more/save.js +0 -1
- package/build/more/save.js.map +1 -1
- package/build/navigation/deprecated.js +0 -1
- package/build/navigation/deprecated.js.map +1 -1
- package/build/navigation/edit/index.js +0 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +4 -5
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation/menu-items-to-blocks.js +0 -1
- package/build/navigation/menu-items-to-blocks.js.map +1 -1
- package/build/navigation/use-template-part-area-label.js +0 -1
- package/build/navigation/use-template-part-area-label.js.map +1 -1
- package/build/navigation/view.js +0 -1
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +14 -19
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/hooks.js +0 -1
- package/build/navigation-link/hooks.js.map +1 -1
- package/build/navigation-submenu/index.js +7 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/page-list/edit.js +1 -2
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list/use-convert-to-navigation-links.js +0 -1
- package/build/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build/paragraph/edit.js +4 -14
- package/build/paragraph/edit.js.map +1 -1
- package/build/pattern/edit.js +0 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/pattern/index.js +1 -1
- package/build/post-author/edit.js +0 -1
- package/build/post-author/edit.js.map +1 -1
- package/build/post-content/index.js +1 -0
- package/build/post-content/index.js.map +1 -1
- package/build/post-date/edit.js +1 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js +2 -39
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +45 -9
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js +0 -1
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/variations.js +2 -3
- package/build/post-navigation-link/variations.js.map +1 -1
- package/build/post-template/edit.js +14 -7
- package/build/post-template/edit.js.map +1 -1
- package/build/post-terms/edit.js +1 -1
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-terms/hooks.js +0 -1
- package/build/post-terms/hooks.js.map +1 -1
- package/build/post-time-to-read/index.js +1 -1
- package/build/pullquote/blockquote.native.js +0 -1
- package/build/pullquote/blockquote.native.js.map +1 -1
- package/build/pullquote/transforms.js +0 -1
- package/build/pullquote/transforms.js.map +1 -1
- package/build/query/deprecated.js +0 -1
- package/build/query/deprecated.js.map +1 -1
- package/build/query/edit/inspector-controls/author-control.js +0 -1
- package/build/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build/query/edit/inspector-controls/format-controls.js +0 -1
- package/build/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +0 -1
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/inspector-controls/parent-control.js +0 -1
- package/build/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build/query/edit/inspector-controls/sticky-control.js +3 -0
- package/build/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build/query/edit/query-content.js +2 -6
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/utils.js +0 -1
- package/build/query/utils.js.map +1 -1
- package/build/query-no-results/index.js +1 -1
- package/build/query-pagination-numbers/edit.js +1 -1
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-title/edit.js +1 -0
- package/build/query-title/edit.js.map +1 -1
- package/build/query-title/variations.js +0 -1
- package/build/query-title/variations.js.map +1 -1
- package/build/quote/deprecated.js +0 -1
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/transforms.js +0 -1
- package/build/quote/transforms.js.map +1 -1
- package/build/read-more/edit.js +25 -7
- package/build/read-more/edit.js.map +1 -1
- package/build/rss/edit.js +15 -1
- package/build/rss/edit.js.map +1 -1
- package/build/rss/index.js +14 -0
- package/build/rss/index.js.map +1 -1
- package/build/search/edit.js +67 -49
- package/build/search/edit.js.map +1 -1
- package/build/separator/edit.js +2 -4
- package/build/separator/edit.js.map +1 -1
- package/build/social-link/icons/discord.js +23 -0
- package/build/social-link/icons/discord.js.map +1 -0
- package/build/social-link/icons/index.js +11 -0
- package/build/social-link/icons/index.js.map +1 -1
- package/build/social-link/social-list.js +0 -1
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-link/variations.js +7 -1
- package/build/social-link/variations.js.map +1 -1
- package/build/social-links/edit.js +0 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/social-links/edit.native.js +0 -1
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/controls.js +13 -10
- package/build/spacer/controls.js.map +1 -1
- package/build/spacer/edit.js +23 -21
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +0 -1
- package/build/table/deprecated.js.map +1 -1
- package/build/table/edit.js +0 -1
- package/build/table/edit.js.map +1 -1
- package/build/table/save.js +0 -1
- package/build/table/save.js.map +1 -1
- package/build/table/state.js +0 -1
- package/build/table/state.js.map +1 -1
- package/build/table/transforms.js +0 -1
- package/build/table/transforms.js.map +1 -1
- package/build/table-of-contents/list.js +0 -1
- package/build/table-of-contents/list.js.map +1 -1
- package/build/table-of-contents/utils.js +0 -1
- package/build/table-of-contents/utils.js.map +1 -1
- package/build/tag-cloud/edit.js +0 -1
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +2 -10
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/import-controls.js +0 -1
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +0 -1
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/hooks.js +0 -1
- package/build/template-part/edit/utils/hooks.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +0 -1
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/template-part/variations.js +0 -1
- package/build/template-part/variations.js.map +1 -1
- package/build/text-columns/edit.js +0 -1
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +0 -1
- package/build/text-columns/save.js.map +1 -1
- package/build/text-columns/transforms.js +0 -1
- package/build/text-columns/transforms.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +0 -1
- package/build/utils/get-transformed-metadata.js.map +1 -1
- package/build/utils/messages.js +22 -0
- package/build/utils/messages.js.map +1 -0
- package/build/utils/search-patterns.js +0 -1
- package/build/utils/search-patterns.js.map +1 -1
- package/build/utils/transformation-categories.native.js +0 -1
- package/build/utils/transformation-categories.native.js.map +1 -1
- package/build/video/edit-common-settings.js +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/tracks-editor.js +0 -1
- package/build/video/tracks-editor.js.map +1 -1
- package/build/video/tracks.js +0 -1
- package/build/video/tracks.js.map +1 -1
- package/build-module/archives/edit.js +2 -2
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/archives/index.js +9 -0
- package/build-module/archives/index.js.map +1 -1
- package/build-module/avatar/user-control.js +0 -1
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/block/deprecated.js +0 -1
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +0 -1
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/deprecated.js +0 -1
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/buttons/transforms.js +0 -1
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/categories/edit.js +116 -39
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +9 -0
- package/build-module/categories/index.js.map +1 -1
- package/build-module/column/column-preview.native.js +0 -1
- package/build-module/column/column-preview.native.js.map +1 -1
- package/build-module/columns/columnCalculations.native.js +0 -1
- package/build-module/columns/columnCalculations.native.js.map +1 -1
- package/build-module/columns/deprecated.js +0 -1
- package/build-module/columns/deprecated.js.map +1 -1
- package/build-module/columns/edit.js +0 -1
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +0 -1
- package/build-module/columns/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +0 -1
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/columns/utils.js +0 -1
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/comment-template/edit.js +0 -1
- package/build-module/comment-template/edit.js.map +1 -1
- package/build-module/comment-template/hooks.js +0 -1
- package/build-module/comment-template/hooks.js.map +1 -1
- package/build-module/comment-template/util.js +0 -1
- package/build-module/comment-template/util.js.map +1 -1
- package/build-module/comments/edit/comments-inspector-controls.js +5 -4
- package/build-module/comments/edit/comments-inspector-controls.js.map +1 -1
- package/build-module/comments-pagination/index.js +5 -0
- package/build-module/comments-pagination/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +1 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/details/edit.js +17 -3
- package/build-module/details/edit.js.map +1 -1
- package/build-module/details/index.js +9 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/details/save.js +2 -0
- package/build-module/details/save.js.map +1 -1
- package/build-module/details/transforms.js +0 -1
- package/build-module/details/transforms.js.map +1 -1
- package/build-module/embed/embed-placeholder.native.js +0 -1
- package/build-module/embed/embed-placeholder.native.js.map +1 -1
- package/build-module/embed/transforms.js +5 -2
- package/build-module/embed/transforms.js.map +1 -1
- package/build-module/embed/util.js +0 -1
- package/build-module/embed/util.js.map +1 -1
- package/build-module/embed/variations.js +0 -1
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/embed/wp-embed-preview.js +0 -1
- package/build-module/embed/wp-embed-preview.js.map +1 -1
- package/build-module/file/transforms.js +0 -1
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/footnotes/edit.js +0 -1
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/form/variations.js +1 -1
- package/build-module/form/variations.js.map +1 -1
- package/build-module/freeform/modal.js +0 -1
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/deprecated.js +0 -1
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/edit.js +0 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +0 -1
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/transforms.js +0 -1
- package/build-module/gallery/transforms.js.map +1 -1
- package/build-module/gallery/use-get-media.js +0 -1
- package/build-module/gallery/use-get-media.js.map +1 -1
- package/build-module/gallery/use-get-media.native.js +0 -1
- package/build-module/gallery/use-get-media.native.js.map +1 -1
- package/build-module/gallery/use-get-new-images.js +0 -1
- package/build-module/gallery/use-get-new-images.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +0 -1
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/group/edit.js +1 -8
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/placeholder.js +0 -1
- package/build-module/group/placeholder.js.map +1 -1
- package/build-module/group/transforms.js +0 -1
- package/build-module/group/transforms.js.map +1 -1
- package/build-module/heading/transforms.js +0 -1
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/home-link/edit.js +1 -2
- package/build-module/home-link/edit.js.map +1 -1
- package/build-module/html/preview.js +0 -1
- package/build-module/html/preview.js.map +1 -1
- package/build-module/image/edit.js +0 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +0 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +0 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/transforms.js +0 -1
- package/build-module/image/transforms.js.map +1 -1
- package/build-module/image/utils.js +0 -1
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.native.js +0 -1
- package/build-module/index.native.js.map +1 -1
- package/build-module/latest-comments/edit.js +74 -27
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/constants.js +1 -0
- package/build-module/latest-posts/constants.js.map +1 -1
- package/build-module/latest-posts/edit.js +93 -41
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/transforms.js +0 -1
- package/build-module/list/transforms.js.map +1 -1
- package/build-module/list/utils.js +0 -1
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +0 -1
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/index.js +1 -1
- package/build-module/list-item/transforms.js +0 -1
- package/build-module/list-item/transforms.js.map +1 -1
- package/build-module/media-text/edit.js +0 -1
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/save.js +0 -1
- package/build-module/more/save.js.map +1 -1
- package/build-module/navigation/deprecated.js +0 -1
- package/build-module/navigation/deprecated.js.map +1 -1
- package/build-module/navigation/edit/index.js +0 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +4 -5
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation/menu-items-to-blocks.js +0 -1
- package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
- package/build-module/navigation/use-template-part-area-label.js +0 -1
- package/build-module/navigation/use-template-part-area-label.js.map +1 -1
- package/build-module/navigation/view.js +0 -1
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +15 -20
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/hooks.js +0 -1
- package/build-module/navigation-link/hooks.js.map +1 -1
- package/build-module/navigation-submenu/index.js +7 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/page-list/edit.js +1 -2
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list/use-convert-to-navigation-links.js +0 -1
- package/build-module/page-list/use-convert-to-navigation-links.js.map +1 -1
- package/build-module/paragraph/edit.js +5 -15
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/pattern/edit.js +0 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/pattern/index.js +1 -1
- package/build-module/post-author/edit.js +0 -1
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-content/index.js +1 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/post-date/edit.js +1 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js +3 -40
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +46 -10
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +0 -1
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/variations.js +2 -3
- package/build-module/post-navigation-link/variations.js.map +1 -1
- package/build-module/post-template/edit.js +14 -7
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +1 -1
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-terms/hooks.js +0 -1
- package/build-module/post-terms/hooks.js.map +1 -1
- package/build-module/post-time-to-read/index.js +1 -1
- package/build-module/pullquote/blockquote.native.js +0 -1
- package/build-module/pullquote/blockquote.native.js.map +1 -1
- package/build-module/pullquote/transforms.js +0 -1
- package/build-module/pullquote/transforms.js.map +1 -1
- package/build-module/query/deprecated.js +0 -1
- package/build-module/query/deprecated.js.map +1 -1
- package/build-module/query/edit/inspector-controls/author-control.js +0 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +0 -1
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/parent-control.js +0 -1
- package/build-module/query/edit/inspector-controls/parent-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/sticky-control.js +3 -0
- package/build-module/query/edit/inspector-controls/sticky-control.js.map +1 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +1 -1
- package/build-module/query/edit/query-content.js +1 -5
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/utils.js +0 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-no-results/index.js +1 -1
- package/build-module/query-pagination-numbers/edit.js +1 -1
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-title/edit.js +1 -0
- package/build-module/query-title/edit.js.map +1 -1
- package/build-module/query-title/variations.js +0 -1
- package/build-module/query-title/variations.js.map +1 -1
- package/build-module/quote/deprecated.js +0 -1
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/transforms.js +0 -1
- package/build-module/quote/transforms.js.map +1 -1
- package/build-module/read-more/edit.js +26 -8
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/rss/edit.js +15 -1
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/rss/index.js +14 -0
- package/build-module/rss/index.js.map +1 -1
- package/build-module/search/edit.js +68 -50
- package/build-module/search/edit.js.map +1 -1
- package/build-module/separator/edit.js +1 -3
- package/build-module/separator/edit.js.map +1 -1
- package/build-module/social-link/icons/discord.js +15 -0
- package/build-module/social-link/icons/discord.js.map +1 -0
- package/build-module/social-link/icons/index.js +1 -0
- package/build-module/social-link/icons/index.js.map +1 -1
- package/build-module/social-link/social-list.js +0 -1
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-link/variations.js +8 -2
- package/build-module/social-link/variations.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/social-links/edit.native.js +0 -1
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/controls.js +13 -10
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/spacer/edit.js +24 -22
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +0 -1
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/edit.js +0 -1
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table/save.js +0 -1
- package/build-module/table/save.js.map +1 -1
- package/build-module/table/state.js +0 -1
- package/build-module/table/state.js.map +1 -1
- package/build-module/table/transforms.js +0 -1
- package/build-module/table/transforms.js.map +1 -1
- package/build-module/table-of-contents/list.js +0 -1
- package/build-module/table-of-contents/list.js.map +1 -1
- package/build-module/table-of-contents/utils.js +0 -1
- package/build-module/table-of-contents/utils.js.map +1 -1
- package/build-module/tag-cloud/edit.js +0 -1
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -9
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +0 -1
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +0 -1
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/hooks.js +0 -1
- package/build-module/template-part/edit/utils/hooks.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +0 -1
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/template-part/variations.js +0 -1
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/text-columns/edit.js +0 -1
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +0 -1
- package/build-module/text-columns/save.js.map +1 -1
- package/build-module/text-columns/transforms.js +0 -1
- package/build-module/text-columns/transforms.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +0 -1
- package/build-module/utils/get-transformed-metadata.js.map +1 -1
- package/build-module/utils/messages.js +15 -0
- package/build-module/utils/messages.js.map +1 -0
- package/build-module/utils/search-patterns.js +0 -1
- package/build-module/utils/search-patterns.js.map +1 -1
- package/build-module/utils/transformation-categories.native.js +0 -1
- package/build-module/utils/transformation-categories.native.js.map +1 -1
- package/build-module/video/edit-common-settings.js +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/tracks-editor.js +0 -1
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-module/video/tracks.js +0 -1
- package/build-module/video/tracks.js.map +1 -1
- package/build-style/editor-rtl.css +17 -51
- package/build-style/editor.css +17 -51
- package/build-style/gallery/editor-rtl.css +0 -44
- package/build-style/gallery/editor.css +0 -44
- package/build-style/navigation-link/editor-rtl.css +3 -0
- package/build-style/navigation-link/editor.css +3 -0
- package/build-style/paragraph/editor-rtl.css +4 -0
- package/build-style/paragraph/editor.css +4 -0
- package/build-style/post-featured-image/editor-rtl.css +1 -1
- package/build-style/post-featured-image/editor.css +1 -1
- package/build-style/rss/editor-rtl.css +6 -0
- package/build-style/rss/editor.css +6 -0
- package/build-style/rss/style-rtl.css +6 -8
- package/build-style/rss/style.css +6 -8
- package/build-style/social-links/editor-rtl.css +3 -6
- package/build-style/social-links/editor.css +3 -6
- package/build-style/social-links/style-rtl.css +7 -0
- package/build-style/social-links/style.css +7 -0
- package/build-style/style-rtl.css +13 -8
- package/build-style/style.css +13 -8
- package/package.json +35 -35
- package/src/archives/block.json +9 -0
- package/src/archives/edit.js +2 -2
- package/src/block/index.php +1 -18
- package/src/categories/block.json +9 -0
- package/src/categories/edit.js +133 -45
- package/src/comments/edit/comments-inspector-controls.js +5 -8
- package/src/comments-pagination/block.json +5 -0
- package/src/cover/edit/inspector-controls.js +1 -21
- package/src/details/block.json +9 -0
- package/src/details/edit.js +18 -2
- package/src/details/save.js +6 -2
- package/src/embed/transforms.js +3 -1
- package/src/form/variations.js +1 -1
- package/src/gallery/editor.scss +0 -56
- package/src/group/edit.js +1 -20
- package/src/home-link/edit.js +0 -6
- package/src/latest-comments/edit.js +93 -33
- package/src/latest-posts/constants.js +1 -0
- package/src/latest-posts/edit.js +119 -44
- package/src/list/test/edit.native.js +9 -9
- package/src/list-item/block.json +1 -1
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +4 -4
- package/src/navigation/edit/use-generate-default-navigation-title.js +4 -4
- package/src/navigation/index.php +11 -69
- package/src/navigation-link/edit.js +25 -29
- package/src/navigation-link/editor.scss +27 -18
- package/src/navigation-submenu/index.js +7 -0
- package/src/navigation-submenu/index.php +21 -4
- package/src/page-list/edit.js +52 -50
- package/src/paragraph/edit.js +3 -18
- package/src/paragraph/editor.scss +7 -0
- package/src/pattern/block.json +1 -1
- package/src/post-content/block.json +1 -0
- package/src/post-content/index.php +0 -23
- package/src/post-date/edit.js +1 -3
- package/src/post-featured-image/dimension-controls.js +2 -43
- package/src/post-featured-image/edit.js +41 -18
- package/src/post-featured-image/editor.scss +2 -2
- package/src/post-navigation-link/variations.js +2 -2
- package/src/post-template/edit.js +15 -6
- package/src/post-terms/edit.js +1 -0
- package/src/post-time-to-read/block.json +1 -1
- package/src/query/edit/inspector-controls/sticky-control.js +1 -0
- package/src/query/edit/query-content.js +1 -11
- package/src/query-no-results/block.json +1 -1
- package/src/query-pagination-numbers/edit.js +1 -1
- package/src/query-title/edit.js +1 -0
- package/src/read-more/edit.js +35 -11
- package/src/rss/block.json +14 -0
- package/src/rss/edit.js +14 -1
- package/src/rss/editor.scss +7 -0
- package/src/rss/style.scss +6 -8
- package/src/search/edit.js +99 -74
- package/src/separator/edit.js +1 -6
- package/src/social-link/icons/discord.js +10 -0
- package/src/social-link/icons/index.js +1 -0
- package/src/social-link/index.php +4 -0
- package/src/social-link/socials-with-bg.scss +5 -0
- package/src/social-link/socials-without-bg.scss +4 -0
- package/src/social-link/variations.js +7 -0
- package/src/social-links/editor.scss +4 -1
- package/src/spacer/controls.js +10 -9
- package/src/spacer/edit.js +25 -23
- package/src/template-part/edit/advanced-controls.js +1 -21
- package/src/utils/messages.js +31 -0
- package/src/video/edit-common-settings.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","OS","current","subMenuElement","querySelector","color","colorGradientSettings","hasColorsOrGradients","children","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","clearable","panelId","gradients","disableCustomGradients","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","class","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","stylingInspectorControls","title","__next40pxDefaultSize","onClick","hidden","__nextHasNoMarginBottom","help","onChange","isBlock","checked","disabled","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\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';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\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\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\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\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\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 = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\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 [\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 = async () => {\n\t\tawait createNavigationMenu( '' );\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\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\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( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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 { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\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 * 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\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\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\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\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\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\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?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\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}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\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\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\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\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\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\t__next40pxDefaultSize\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\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\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<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! 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</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( '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>\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\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 group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && 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={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\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\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\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"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={ () => {\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\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\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<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\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<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\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"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","useCallback","useState","useEffect","useRef","Platform","InspectorControls","useBlockProps","RecursionProvider","useHasRecursion","store","blockEditorStore","withColors","ContrastChecker","getColorClassName","Warning","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","useBlockEditingMode","EntityProvider","coreStore","useDispatch","useSelect","PanelBody","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","Button","Spinner","Notice","__","speak","close","Icon","useInstanceId","useNavigationMenu","useNavigationEntities","Placeholder","ResponsiveWrapper","NavigationInnerBlocks","NavigationMenuNameControl","UnsavedInnerBlocks","NavigationMenuDeleteControl","useNavigationNotice","OverlayMenuIcon","OverlayMenuPreview","useConvertClassicToBlockMenu","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_SUCCESS","useCreateNavigationMenu","useInnerBlocks","detectColors","ManageMenusButton","MenuInspectorControls","DeletedNavigationWarning","AccessibleDescription","AccessibleMenuDescription","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ColorTools","textColor","setTextColor","backgroundColor","setBackgroundColor","overlayTextColor","setOverlayTextColor","overlayBackgroundColor","setOverlayBackgroundColor","clientId","navRef","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","enableContrastChecking","OS","current","subMenuElement","querySelector","color","colorGradientSettings","hasColorsOrGradients","children","__experimentalIsRenderedInSidebar","settings","colorValue","label","onColorChange","resetAllFilter","clearable","panelId","gradients","disableCustomGradients","Navigation","attributes","setAttributes","isSelected","className","hasSubmenuIndicatorSetting","customPlaceholder","CustomPlaceholder","__unstableLayoutClassNames","layoutClassNames","openSubmenusOnClick","overlayMenu","showSubmenuIcon","templateLock","layout","justifyContent","orientation","flexWrap","hasIcon","icon","ref","setRef","postId","recursionId","hasAlreadyRendered","blockEditingMode","menus","classicMenus","showNavigationMenuStatusNotice","hideNavigationMenuStatusNotice","name","showClassicMenuConversionNotice","hideClassicMenuConversionNotice","showNavigationMenuPermissionsNotice","hideNavigationMenuPermissionsNotice","create","createNavigationMenu","status","createNavigationMenuStatus","error","createNavigationMenuError","value","createNavigationMenuPost","isPending","isCreatingNavigationMenu","isSuccess","createNavigationMenuIsSuccess","isError","createNavigationMenuIsError","createUntitledEmptyNavigationMenu","hasUncontrolledInnerBlocks","uncontrolledInnerBlocks","isInnerBlockSelected","innerBlocks","hasSubmenus","find","block","replaceInnerBlocks","selectBlock","__unstableMarkNextChangeAsNotPersistent","isResponsiveMenuOpen","setResponsiveMenuVisibility","overlayMenuPreview","setOverlayMenuPreview","hasResolvedNavigationMenus","isNavigationMenuResolved","isNavigationMenuMissing","canUserUpdateNavigationMenu","hasResolvedCanUserUpdateNavigationMenu","canUserDeleteNavigationMenu","hasResolvedCanUserDeleteNavigationMenu","canUserCreateNavigationMenus","isResolvingCanUserCreateNavigationMenus","hasResolvedCanUserCreateNavigationMenus","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","class","slug","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","stylingInspectorControls","title","__next40pxDefaultSize","onClick","hidden","__nextHasNoMarginBottom","help","onChange","isBlock","checked","disabled","spokenMessage","isDismissible","group","accessibleDescriptionId","isHiddenByDefault","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseCallback,\n\tuseState,\n\tuseEffect,\n\tuseRef,\n\tPlatform,\n} from '@wordpress/element';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRecursionProvider,\n\tuseHasRecursion,\n\tstore as blockEditorStore,\n\twithColors,\n\tContrastChecker,\n\tgetColorClassName,\n\tWarning,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { EntityProvider, store as coreStore } from '@wordpress/core-data';\n\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tPanelBody,\n\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tButton,\n\tSpinner,\n\tNotice,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { close, Icon } from '@wordpress/icons';\nimport { useInstanceId } from '@wordpress/compose';\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';\nimport DeletedNavigationWarning from './deleted-navigation-warning';\nimport AccessibleDescription from './accessible-description';\nimport AccessibleMenuDescription from './accessible-menu-description';\nimport { unlock } from '../../lock-unlock';\n\nfunction ColorTools( {\n\ttextColor,\n\tsetTextColor,\n\tbackgroundColor,\n\tsetBackgroundColor,\n\toverlayTextColor,\n\tsetOverlayTextColor,\n\toverlayBackgroundColor,\n\tsetOverlayBackgroundColor,\n\tclientId,\n\tnavRef,\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\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\n\t\tconst subMenuElement = navRef.current?.querySelector(\n\t\t\t'[data-type=\"core/navigation-submenu\"] [data-type=\"core/navigation-link\"]'\n\t\t);\n\n\t\tif ( ! subMenuElement ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Only detect submenu overlay colors if they have previously been explicitly set.\n\t\t// This avoids the contrast checker from reporting on inherited submenu colors and\n\t\t// showing the contrast warning twice.\n\t\tif ( overlayTextColor.color || overlayBackgroundColor.color ) {\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\t\tenableContrastChecking,\n\t\toverlayTextColor.color,\n\t\toverlayBackgroundColor.color,\n\t\tnavRef,\n\t] );\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tif ( ! colorGradientSettings.hasColorsOrGradients ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<>\n\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\tsettings={ [\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\tresetAllFilter: () => setOverlayBackgroundColor(),\n\t\t\t\t\t\tclearable: true,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t\tpanelId={ clientId }\n\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\tgradients={ [] }\n\t\t\t\tdisableCustomGradients\n\t\t\t/>\n\t\t\t{ enableContrastChecking && (\n\t\t\t\t<>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t/>\n\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\tbackgroundColor={ detectedOverlayBackgroundColor }\n\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</>\n\t);\n}\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\tcustomPlaceholder: CustomPlaceholder = null,\n\t__unstableLayoutClassNames: layoutClassNames,\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 = useCallback(\n\t\t( postId ) => {\n\t\t\tsetAttributes( { ref: postId } );\n\t\t},\n\t\t[ setAttributes ]\n\t);\n\n\tconst recursionId = `navigationMenu/${ ref }`;\n\tconst hasAlreadyRendered = useHasRecursion( recursionId );\n\n\tconst blockEditingMode = useBlockEditingMode();\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 [\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 = async () => {\n\t\tawait createNavigationMenu( '' );\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\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserDeleteNavigationMenu,\n\t\thasResolvedCanUserDeleteNavigationMenu,\n\t\tcanUserCreateNavigationMenus,\n\t\tisResolvingCanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\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( createNavigationMenu );\n\n\tconst isConvertingClassicMenu =\n\t\tclassicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING;\n\n\tconst handleUpdateMenu = useCallback(\n\t\t( menuId, options = { focusNavigationBlock: false } ) => {\n\t\t\tconst { focusNavigationBlock } = options;\n\t\t\tsetRef( menuId );\n\t\t\tif ( focusNavigationBlock ) {\n\t\t\t\tselectBlock( clientId );\n\t\t\t}\n\t\t},\n\t\t[ selectBlock, clientId, setRef ]\n\t);\n\n\tconst isEntityAvailable =\n\t\t! isNavigationMenuMissing && isNavigationMenuResolved;\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 { getNavigationFallbackId } = unlock( useSelect( coreStore ) );\n\n\tconst navigationFallbackId = ! ( ref || hasUnsavedBlocks )\n\t\t? getNavigationFallbackId()\n\t\t: null;\n\n\tuseEffect( () => {\n\t\t// If:\n\t\t// - there is an existing menu, OR\n\t\t// - there are existing (uncontrolled) inner blocks\n\t\t// ...then don't request a fallback menu.\n\t\tif ( ref || hasUnsavedBlocks || ! navigationFallbackId ) {\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 * 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\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetRef( navigationFallbackId );\n\t}, [\n\t\tref,\n\t\tsetRef,\n\t\thasUnsavedBlocks,\n\t\tnavigationFallbackId,\n\t\t__unstableMarkNextChangeAsNotPersistent,\n\t] );\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\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 = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).__unstableHasActiveBlockOverlayActive(\n\t\t\t\tclientId\n\t\t\t),\n\t\t[ clientId ]\n\t);\n\tconst isResponsive = 'never' !== overlayMenu;\n\tconst blockProps = useBlockProps( {\n\t\tref: navRef,\n\t\tclassName: clsx(\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'items-justified-right': justifyContent === 'right',\n\t\t\t\t'items-justified-space-between':\n\t\t\t\t\tjustifyContent === 'space-between',\n\t\t\t\t'items-justified-left': justifyContent === 'left',\n\t\t\t\t'items-justified-center': justifyContent === 'center',\n\t\t\t\t'is-vertical': orientation === 'vertical',\n\t\t\t\t'no-wrap': flexWrap === 'nowrap',\n\t\t\t\t'is-responsive': isResponsive,\n\t\t\t\t'has-text-color': !! textColor.color || !! textColor?.class,\n\t\t\t\t[ getColorClassName( 'color', textColor?.slug ) ]:\n\t\t\t\t\t!! textColor?.slug,\n\t\t\t\t'has-background':\n\t\t\t\t\t!! backgroundColor.color || backgroundColor.class,\n\t\t\t\t[ getColorClassName(\n\t\t\t\t\t'background-color',\n\t\t\t\t\tbackgroundColor?.slug\n\t\t\t\t) ]: !! backgroundColor?.slug,\n\t\t\t\t[ `has-text-decoration-${ textDecoration }` ]: textDecoration,\n\t\t\t\t'block-editor-block-content-overlay': hasBlockOverlay,\n\t\t\t},\n\t\t\tlayoutClassNames\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\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\treturn convertClassicMenu( classicMenu.id, classicMenu.name, 'draft' );\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\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?.id,\n\t\tcreateNavigationMenuIsError,\n\t\tcreateNavigationMenuIsSuccess,\n\t\tisCreatingNavigationMenu,\n\t\thandleUpdateMenu,\n\t\thideNavigationMenuStatusNotice,\n\t\tshowNavigationMenuStatusNotice,\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\thandleUpdateMenu( createNavigationMenuPost?.id, {\n\t\t\t\tfocusNavigationBlock: true,\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}, [\n\t\tclassicMenuConversionStatus,\n\t\tclassicMenuConversionError,\n\t\thideClassicMenuConversionNotice,\n\t\tshowClassicMenuConversionNotice,\n\t\tcreateNavigationMenuPost?.id,\n\t\thandleUpdateMenu,\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\thasResolvedCanUserCreateNavigationMenus &&\n\t\t\t\t! canUserCreateNavigationMenus\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\tcanUserCreateNavigationMenus,\n\t\thasResolvedCanUserCreateNavigationMenus,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenus || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = clsx(\n\t\t'wp-block-navigation__overlay-menu-preview',\n\t\t{ open: overlayMenuPreview }\n\t);\n\n\tconst submenuAccessibilityNotice =\n\t\t! showSubmenuIcon && ! openSubmenusOnClick\n\t\t\t? __(\n\t\t\t\t\t'The current menu options offer reduced accessibility for users and are not recommended. Enabling either \"Open on Click\" or \"Show arrow\" offers enhanced accessibility by allowing keyboard users to browse submenus selectively.'\n\t\t\t )\n\t\t\t: '';\n\n\tconst isFirstRender = useRef( true ); // Don't speak on first render.\n\tuseEffect( () => {\n\t\tif ( ! isFirstRender.current && submenuAccessibilityNotice ) {\n\t\t\tspeak( submenuAccessibilityNotice );\n\t\t}\n\t\tisFirstRender.current = false;\n\t}, [ submenuAccessibilityNotice ] );\n\n\tconst overlayMenuPreviewId = useInstanceId(\n\t\tOverlayMenuPreview,\n\t\t`overlay-menu-preview`\n\t);\n\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\t__next40pxDefaultSize\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\taria-label={ __( 'Overlay menu controls' ) }\n\t\t\t\t\t\t\t\t\taria-controls={ overlayMenuPreviewId }\n\t\t\t\t\t\t\t\t\taria-expanded={ overlayMenuPreview }\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<div id={ overlayMenuPreviewId }>\n\t\t\t\t\t\t\t\t\t{ overlayMenuPreview && (\n\t\t\t\t\t\t\t\t\t\t<OverlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\t\thidden={ ! 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</div>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Overlay Menu' ) }\n\t\t\t\t\t\t\taria-label={ __( '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>\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\t__nextHasNoMarginBottom\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\t__nextHasNoMarginBottom\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\n\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice && (\n\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\t\t\t\t\tspokenMessage={ null }\n\t\t\t\t\t\t\t\t\t\t\tstatus=\"warning\"\n\t\t\t\t\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ submenuAccessibilityNotice }\n\t\t\t\t\t\t\t\t\t\t</Notice>\n\t\t\t\t\t\t\t\t\t</div>\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 group=\"color\">\n\t\t\t\t{ /*\n\t\t\t\t * Avoid useMultipleOriginColorsAndGradients and detectColors\n\t\t\t\t * on block mount. InspectorControls only mounts this component\n\t\t\t\t * when the block is selected.\n\t\t\t\t * */ }\n\t\t\t\t<ColorTools\n\t\t\t\t\ttextColor={ textColor }\n\t\t\t\t\tsetTextColor={ setTextColor }\n\t\t\t\t\tbackgroundColor={ backgroundColor }\n\t\t\t\t\tsetBackgroundColor={ setBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\tsetOverlayTextColor={ setOverlayTextColor }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\tsetOverlayBackgroundColor={ setOverlayBackgroundColor }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tnavRef={ navRef }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\tconst isHiddenByDefault = 'always' === overlayMenu;\n\tconst isManageMenusButtonDisabled =\n\t\t! hasManagePermissions || ! hasResolvedNavigationMenus;\n\n\tif ( hasUnsavedBlocks && ! isCreatingNavigationMenu ) {\n\t\treturn (\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\taria-describedby={\n\t\t\t\t\t! isPlaceholder ? accessibleDescriptionId : undefined\n\t\t\t\t}\n\t\t\t>\n\t\t\t\t<AccessibleDescription id={ accessibleDescriptionId }>\n\t\t\t\t\t{ __( 'Unsaved Navigation Menu.' ) }\n\t\t\t\t</AccessibleDescription>\n\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && 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={ isResponsive }\n\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\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\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\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t<DeletedNavigationWarning\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\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\tcanUserCreateNavigationMenus={\n\t\t\t\t\t\tcanUserCreateNavigationMenus\n\t\t\t\t\t}\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenus={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenus\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\tisLoading={ isLoading }\n\t\t\t\t\tblockEditingMode={ blockEditingMode }\n\t\t\t\t/>\n\t\t\t\t{ blockEditingMode === 'default' && stylingInspectorControls }\n\t\t\t\t{ blockEditingMode === 'default' && isEntityAvailable && (\n\t\t\t\t\t<InspectorControls group=\"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={ () => {\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\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t'Navigation Menu successfully deleted.'\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<ManageMenusButton\n\t\t\t\t\t\t\tdisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\t\t\tclassName=\"wp-block-navigation-manage-menus-button\"\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<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t! isPlaceholder && ! isLoading\n\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isLoading && ! isHiddenByDefault && (\n\t\t\t\t\t\t<div className=\"wp-block-navigation__loading-indicator-container\">\n\t\t\t\t\t\t\t<Spinner className=\"wp-block-navigation__loading-indicator\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ( ! isLoading || isHiddenByDefault ) && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\t\tisHiddenByDefault={ isHiddenByDefault }\n\t\t\t\t\t\t\t\toverlayBackgroundColor={\n\t\t\t\t\t\t\t\t\toverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\t\torientation={ orientation }\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</ResponsiveWrapper>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</TagName>\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"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,7 +40,7 @@ function useConvertClassicToBlockMenu(createNavigationMenu, {
|
|
|
40
40
|
});
|
|
41
41
|
} catch (err) {
|
|
42
42
|
throw new Error(sprintf(
|
|
43
|
-
// translators: %s:
|
|
43
|
+
// translators: %s: The name of a menu (e.g. Header menu).
|
|
44
44
|
__(`Unable to fetch classic menu "%s" from API.`), menuName), {
|
|
45
45
|
cause: err
|
|
46
46
|
});
|
|
@@ -49,7 +49,7 @@ function useConvertClassicToBlockMenu(createNavigationMenu, {
|
|
|
49
49
|
// Handle offline response which resolves to `null`.
|
|
50
50
|
if (classicMenuItems === null) {
|
|
51
51
|
throw new Error(sprintf(
|
|
52
|
-
// translators: %s:
|
|
52
|
+
// translators: %s: The name of a menu (e.g. Header menu).
|
|
53
53
|
__(`Unable to fetch classic menu "%s" from API.`), menuName));
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -76,7 +76,7 @@ function useConvertClassicToBlockMenu(createNavigationMenu, {
|
|
|
76
76
|
});
|
|
77
77
|
} catch (err) {
|
|
78
78
|
throw new Error(sprintf(
|
|
79
|
-
// translators: %s:
|
|
79
|
+
// translators: %s: The name of a menu (e.g. Header menu).
|
|
80
80
|
__(`Unable to create Navigation Menu "%s".`), menuName), {
|
|
81
81
|
cause: err
|
|
82
82
|
});
|
|
@@ -114,7 +114,7 @@ function useConvertClassicToBlockMenu(createNavigationMenu, {
|
|
|
114
114
|
// Rethrow error for debugging.
|
|
115
115
|
if (throwOnError) {
|
|
116
116
|
throw new Error(sprintf(
|
|
117
|
-
// translators: %s:
|
|
117
|
+
// translators: %s: The name of a menu (e.g. Header menu).
|
|
118
118
|
__(`Unable to create Navigation Menu "%s".`), menuName), {
|
|
119
119
|
cause: err
|
|
120
120
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRegistry","useDispatch","store","coreStore","useState","useCallback","__","sprintf","menuItemsToBlocks","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_IDLE","classicMenuBeingConvertedId","useConvertClassicToBlockMenu","createNavigationMenu","throwOnError","registry","editEntityRecord","status","setStatus","error","setError","convertClassicMenuToBlockMenu","menuId","menuName","postStatus","navigationMenu","classicMenuItems","resolveSelect","getMenuItems","menus","per_page","context","err","Error","cause","innerBlocks","id","convert","then","catch","message"],"sources":["@wordpress/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport menuItemsToBlocks from '../menu-items-to-blocks';\n\nexport const CLASSIC_MENU_CONVERSION_SUCCESS = 'success';\nexport const CLASSIC_MENU_CONVERSION_ERROR = 'error';\nexport const CLASSIC_MENU_CONVERSION_PENDING = 'pending';\nexport const CLASSIC_MENU_CONVERSION_IDLE = 'idle';\n\n// This is needed to ensure that multiple components using this hook\n// do not import the same classic menu twice.\nlet classicMenuBeingConvertedId = null;\n\nfunction useConvertClassicToBlockMenu(\n\tcreateNavigationMenu,\n\t{ throwOnError = false } = {}\n) {\n\tconst registry = useRegistry();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );\n\tconst [ error, setError ] = useState( null );\n\n\tconst convertClassicMenuToBlockMenu = useCallback(\n\t\tasync ( menuId, menuName, postStatus = 'publish' ) => {\n\t\t\tlet navigationMenu;\n\t\t\tlet classicMenuItems;\n\n\t\t\t// 1. Fetch the classic Menu items.\n\t\t\ttry {\n\t\t\t\tclassicMenuItems = await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getMenuItems( {\n\t\t\t\t\t\tmenus: menuId,\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} );\n\t\t\t} catch ( err ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s:
|
|
1
|
+
{"version":3,"names":["useRegistry","useDispatch","store","coreStore","useState","useCallback","__","sprintf","menuItemsToBlocks","CLASSIC_MENU_CONVERSION_SUCCESS","CLASSIC_MENU_CONVERSION_ERROR","CLASSIC_MENU_CONVERSION_PENDING","CLASSIC_MENU_CONVERSION_IDLE","classicMenuBeingConvertedId","useConvertClassicToBlockMenu","createNavigationMenu","throwOnError","registry","editEntityRecord","status","setStatus","error","setError","convertClassicMenuToBlockMenu","menuId","menuName","postStatus","navigationMenu","classicMenuItems","resolveSelect","getMenuItems","menus","per_page","context","err","Error","cause","innerBlocks","id","convert","then","catch","message"],"sources":["@wordpress/block-library/src/navigation/edit/use-convert-classic-menu-to-block-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport menuItemsToBlocks from '../menu-items-to-blocks';\n\nexport const CLASSIC_MENU_CONVERSION_SUCCESS = 'success';\nexport const CLASSIC_MENU_CONVERSION_ERROR = 'error';\nexport const CLASSIC_MENU_CONVERSION_PENDING = 'pending';\nexport const CLASSIC_MENU_CONVERSION_IDLE = 'idle';\n\n// This is needed to ensure that multiple components using this hook\n// do not import the same classic menu twice.\nlet classicMenuBeingConvertedId = null;\n\nfunction useConvertClassicToBlockMenu(\n\tcreateNavigationMenu,\n\t{ throwOnError = false } = {}\n) {\n\tconst registry = useRegistry();\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );\n\tconst [ error, setError ] = useState( null );\n\n\tconst convertClassicMenuToBlockMenu = useCallback(\n\t\tasync ( menuId, menuName, postStatus = 'publish' ) => {\n\t\t\tlet navigationMenu;\n\t\t\tlet classicMenuItems;\n\n\t\t\t// 1. Fetch the classic Menu items.\n\t\t\ttry {\n\t\t\t\tclassicMenuItems = await registry\n\t\t\t\t\t.resolveSelect( coreStore )\n\t\t\t\t\t.getMenuItems( {\n\t\t\t\t\t\tmenus: menuId,\n\t\t\t\t\t\tper_page: -1,\n\t\t\t\t\t\tcontext: 'view',\n\t\t\t\t\t} );\n\t\t\t} catch ( err ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: The name of a menu (e.g. Header menu).\n\t\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\t\tmenuName\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// Handle offline response which resolves to `null`.\n\t\t\tif ( classicMenuItems === null ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: The name of a menu (e.g. Header menu).\n\t\t\t\t\t\t__( `Unable to fetch classic menu \"%s\" from API.` ),\n\t\t\t\t\t\tmenuName\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\t// 2. Convert the classic items into blocks.\n\t\t\tconst { innerBlocks } = menuItemsToBlocks( classicMenuItems );\n\n\t\t\t// 3. Create the `wp_navigation` Post with the blocks.\n\t\t\ttry {\n\t\t\t\tnavigationMenu = await createNavigationMenu(\n\t\t\t\t\tmenuName,\n\t\t\t\t\tinnerBlocks,\n\t\t\t\t\tpostStatus\n\t\t\t\t);\n\n\t\t\t\t/**\n\t\t\t\t * Immediately trigger editEntityRecord to change the wp_navigation post status to 'publish'.\n\t\t\t\t * This status change causes the menu to be displayed on the front of the site and sets the post state to be \"dirty\".\n\t\t\t\t * The problem being solved is if saveEditedEntityRecord was used here, the menu would be updated on the frontend and the editor _automatically_,\n\t\t\t\t * without user interaction.\n\t\t\t\t * If the user abandons the site editor without saving, there would still be a wp_navigation post created as draft.\n\t\t\t\t */\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_navigation',\n\t\t\t\t\tnavigationMenu.id,\n\t\t\t\t\t{\n\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t},\n\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t);\n\t\t\t} catch ( err ) {\n\t\t\t\tthrow new Error(\n\t\t\t\t\tsprintf(\n\t\t\t\t\t\t// translators: %s: The name of a menu (e.g. Header menu).\n\t\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\t\tmenuName\n\t\t\t\t\t),\n\t\t\t\t\t{\n\t\t\t\t\t\tcause: err,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\n\t\t\treturn navigationMenu;\n\t\t},\n\t\t[ createNavigationMenu, editEntityRecord, registry ]\n\t);\n\n\tconst convert = useCallback(\n\t\tasync ( menuId, menuName, postStatus ) => {\n\t\t\t// Check whether this classic menu is being imported already.\n\t\t\tif ( classicMenuBeingConvertedId === menuId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Set the ID for the currently importing classic menu.\n\t\t\tclassicMenuBeingConvertedId = menuId;\n\n\t\t\tif ( ! menuId || ! menuName ) {\n\t\t\t\tsetError( 'Unable to convert menu. Missing menu details.' );\n\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_PENDING );\n\t\t\tsetError( null );\n\n\t\t\treturn await convertClassicMenuToBlockMenu(\n\t\t\t\tmenuId,\n\t\t\t\tmenuName,\n\t\t\t\tpostStatus\n\t\t\t)\n\t\t\t\t.then( ( navigationMenu ) => {\n\t\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_SUCCESS );\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tclassicMenuBeingConvertedId = null;\n\t\t\t\t\treturn navigationMenu;\n\t\t\t\t} )\n\t\t\t\t.catch( ( err ) => {\n\t\t\t\t\tsetError( err?.message );\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tsetStatus( CLASSIC_MENU_CONVERSION_ERROR );\n\n\t\t\t\t\t// Reset the ID for the currently importing classic menu.\n\t\t\t\t\tclassicMenuBeingConvertedId = null;\n\n\t\t\t\t\t// Rethrow error for debugging.\n\t\t\t\t\tif ( throwOnError ) {\n\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The name of a menu (e.g. Header menu).\n\t\t\t\t\t\t\t\t__( `Unable to create Navigation Menu \"%s\".` ),\n\t\t\t\t\t\t\t\tmenuName\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcause: err,\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},\n\t\t[ convertClassicMenuToBlockMenu, throwOnError ]\n\t);\n\n\treturn {\n\t\tconvert,\n\t\tstatus,\n\t\terror,\n\t};\n}\n\nexport default useConvertClassicToBlockMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/* wp:polyfill */
|
|
2
1
|
/**
|
|
3
2
|
* WordPress dependencies
|
|
4
3
|
*/
|
|
@@ -41,10 +40,10 @@ export default function useGenerateDefaultNavigationTitle(clientId) {
|
|
|
41
40
|
} = registry.resolveSelect(coreStore);
|
|
42
41
|
const [draftNavigationMenus, navigationMenus] = await Promise.all([getEntityRecords(...DRAFT_MENU_PARAMS), getEntityRecords(...PUBLISHED_MENU_PARAMS)]);
|
|
43
42
|
const title = area ? sprintf(
|
|
44
|
-
// translators: %s: the name of a menu (e.g. Header
|
|
45
|
-
__('%s
|
|
46
|
-
// translators: '
|
|
47
|
-
__('
|
|
43
|
+
// translators: %s: the name of a menu (e.g. Header menu).
|
|
44
|
+
__('%s menu'), area) :
|
|
45
|
+
// translators: 'menu' as in website navigation menu.
|
|
46
|
+
__('Menu');
|
|
48
47
|
|
|
49
48
|
// Determine how many menus start with the automatic title.
|
|
50
49
|
const matchingMenuTitleCount = [...draftNavigationMenus, ...navigationMenus].reduce((count, menu) => menu?.title?.raw?.startsWith(title) ? count + 1 : count, 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Disabled","store","coreStore","useRegistry","useContext","useCallback","__","sprintf","useTemplatePartAreaLabel","DRAFT_MENU_PARAMS","status","per_page","PUBLISHED_MENU_PARAMS","useGenerateDefaultNavigationTitle","clientId","isDisabled","Context","area","undefined","registry","getEntityRecords","resolveSelect","draftNavigationMenus","navigationMenus","Promise","all","title","matchingMenuTitleCount","reduce","count","menu","raw","startsWith","titleWithCount"],"sources":["@wordpress/block-library/src/navigation/edit/use-generate-default-navigation-title.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useRegistry } from '@wordpress/data';\nimport { useContext, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useTemplatePartAreaLabel from '../use-template-part-area-label';\n\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst PUBLISHED_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ per_page: -1, status: 'publish' },\n];\n\nexport default function useGenerateDefaultNavigationTitle( clientId ) {\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\t// Because we can't conditionally call hooks, pass an undefined client id\n\t// arg to bypass the expensive `useTemplateArea` code. The hook will return\n\t// early.\n\tconst area = useTemplatePartAreaLabel( isDisabled ? undefined : clientId );\n\n\tconst registry = useRegistry();\n\treturn useCallback( async () => {\n\t\t// Ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\tif ( isDisabled ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst { getEntityRecords } = registry.resolveSelect( coreStore );\n\n\t\tconst [ draftNavigationMenus, navigationMenus ] = await Promise.all( [\n\t\t\tgetEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\tgetEntityRecords( ...PUBLISHED_MENU_PARAMS ),\n\t\t] );\n\n\t\tconst title = area\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header
|
|
1
|
+
{"version":3,"names":["Disabled","store","coreStore","useRegistry","useContext","useCallback","__","sprintf","useTemplatePartAreaLabel","DRAFT_MENU_PARAMS","status","per_page","PUBLISHED_MENU_PARAMS","useGenerateDefaultNavigationTitle","clientId","isDisabled","Context","area","undefined","registry","getEntityRecords","resolveSelect","draftNavigationMenus","navigationMenus","Promise","all","title","matchingMenuTitleCount","reduce","count","menu","raw","startsWith","titleWithCount"],"sources":["@wordpress/block-library/src/navigation/edit/use-generate-default-navigation-title.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Disabled } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useRegistry } from '@wordpress/data';\nimport { useContext, useCallback } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useTemplatePartAreaLabel from '../use-template-part-area-label';\n\nconst DRAFT_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ status: 'draft', per_page: -1 },\n];\n\nconst PUBLISHED_MENU_PARAMS = [\n\t'postType',\n\t'wp_navigation',\n\t{ per_page: -1, status: 'publish' },\n];\n\nexport default function useGenerateDefaultNavigationTitle( clientId ) {\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\t// Because we can't conditionally call hooks, pass an undefined client id\n\t// arg to bypass the expensive `useTemplateArea` code. The hook will return\n\t// early.\n\tconst area = useTemplatePartAreaLabel( isDisabled ? undefined : clientId );\n\n\tconst registry = useRegistry();\n\treturn useCallback( async () => {\n\t\t// Ensure other navigation menus have loaded so an\n\t\t// accurate name can be created.\n\t\tif ( isDisabled ) {\n\t\t\treturn '';\n\t\t}\n\t\tconst { getEntityRecords } = registry.resolveSelect( coreStore );\n\n\t\tconst [ draftNavigationMenus, navigationMenus ] = await Promise.all( [\n\t\t\tgetEntityRecords( ...DRAFT_MENU_PARAMS ),\n\t\t\tgetEntityRecords( ...PUBLISHED_MENU_PARAMS ),\n\t\t] );\n\n\t\tconst title = area\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header menu).\n\t\t\t\t\t__( '%s menu' ),\n\t\t\t\t\tarea\n\t\t\t )\n\t\t\t: // translators: 'menu' as in website navigation menu.\n\t\t\t __( 'Menu' );\n\n\t\t// Determine how many menus start with the automatic title.\n\t\tconst matchingMenuTitleCount = [\n\t\t\t...draftNavigationMenus,\n\t\t\t...navigationMenus,\n\t\t].reduce(\n\t\t\t( count, menu ) =>\n\t\t\t\tmenu?.title?.raw?.startsWith( title ) ? count + 1 : count,\n\t\t\t0\n\t\t);\n\n\t\t// Append a number to the end of the title if a menu with\n\t\t// the same name exists.\n\t\tconst titleWithCount =\n\t\t\tmatchingMenuTitleCount > 0\n\t\t\t\t? `${ title } ${ matchingMenuTitleCount + 1 }`\n\t\t\t\t: title;\n\n\t\treturn titleWithCount || '';\n\t}, [ isDisabled, area, registry ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,uBAAuB;AAChD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,UAAU,EAAEC,WAAW,QAAQ,oBAAoB;AAC5D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAOC,wBAAwB,MAAM,iCAAiC;AAEtE,MAAMC,iBAAiB,GAAG,CACzB,UAAU,EACV,eAAe,EACf;EAAEC,MAAM,EAAE,OAAO;EAAEC,QAAQ,EAAE,CAAC;AAAE,CAAC,CACjC;AAED,MAAMC,qBAAqB,GAAG,CAC7B,UAAU,EACV,eAAe,EACf;EAAED,QAAQ,EAAE,CAAC,CAAC;EAAED,MAAM,EAAE;AAAU,CAAC,CACnC;AAED,eAAe,SAASG,iCAAiCA,CAAEC,QAAQ,EAAG;EACrE;EACA;EACA,MAAMC,UAAU,GAAGX,UAAU,CAAEJ,QAAQ,CAACgB,OAAQ,CAAC;;EAEjD;EACA;EACA;EACA,MAAMC,IAAI,GAAGT,wBAAwB,CAAEO,UAAU,GAAGG,SAAS,GAAGJ,QAAS,CAAC;EAE1E,MAAMK,QAAQ,GAAGhB,WAAW,CAAC,CAAC;EAC9B,OAAOE,WAAW,CAAE,YAAY;IAC/B;IACA;IACA,IAAKU,UAAU,EAAG;MACjB,OAAO,EAAE;IACV;IACA,MAAM;MAAEK;IAAiB,CAAC,GAAGD,QAAQ,CAACE,aAAa,CAAEnB,SAAU,CAAC;IAEhE,MAAM,CAAEoB,oBAAoB,EAAEC,eAAe,CAAE,GAAG,MAAMC,OAAO,CAACC,GAAG,CAAE,CACpEL,gBAAgB,CAAE,GAAGX,iBAAkB,CAAC,EACxCW,gBAAgB,CAAE,GAAGR,qBAAsB,CAAC,CAC3C,CAAC;IAEH,MAAMc,KAAK,GAAGT,IAAI,GACfV,OAAO;IACP;IACAD,EAAE,CAAE,SAAU,CAAC,EACfW,IACA,CAAC;IACD;IACAX,EAAE,CAAE,MAAO,CAAC;;IAEf;IACA,MAAMqB,sBAAsB,GAAG,CAC9B,GAAGL,oBAAoB,EACvB,GAAGC,eAAe,CAClB,CAACK,MAAM,CACP,CAAEC,KAAK,EAAEC,IAAI,KACZA,IAAI,EAAEJ,KAAK,EAAEK,GAAG,EAAEC,UAAU,CAAEN,KAAM,CAAC,GAAGG,KAAK,GAAG,CAAC,GAAGA,KAAK,EAC1D,CACD,CAAC;;IAED;IACA;IACA,MAAMI,cAAc,GACnBN,sBAAsB,GAAG,CAAC,GACvB,GAAID,KAAK,IAAMC,sBAAsB,GAAG,CAAC,EAAG,GAC5CD,KAAK;IAET,OAAOO,cAAc,IAAI,EAAE;EAC5B,CAAC,EAAE,CAAElB,UAAU,EAAEE,IAAI,EAAEE,QAAQ,CAAG,CAAC;AACpC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createBlock","parse","applyFilters","menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createBlock","parse","applyFilters","menuItemsToBlocks","menuItems","menuTree","createDataTree","blocks","mapMenuItemsToBlocks","level","mapping","sortedItems","sort","a","b","menu_order","innerBlocks","map","menuItem","type","block","content","raw","blockType","children","length","attributes","menuItemToBlockAttributes","nestedBlocks","nestedMapping","id","clientId","title","menuItemTitleField","xfn","classes","attr_title","object","object_id","description","url","menuItemTypeField","target","label","rendered","kind","replace","join","trim","rel","className","opensInNewTab","isTopLevelItem","isTopLevelLink","dataset","relation","hashTable","Object","create","dataTree","data","push"],"sources":["@wordpress/block-library/src/navigation/menu-items-to-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { createBlock, parse } from '@wordpress/blocks';\nimport { applyFilters } from '@wordpress/hooks';\n\n/**\n * Convert a flat menu item structure to a nested blocks structure.\n *\n * @param {Object[]} menuItems An array of menu items.\n *\n * @return {WPBlock[]} An array of blocks.\n */\nexport default function menuItemsToBlocks( menuItems ) {\n\tif ( ! menuItems ) {\n\t\treturn null;\n\t}\n\n\tconst menuTree = createDataTree( menuItems );\n\tconst blocks = mapMenuItemsToBlocks( menuTree );\n\treturn applyFilters(\n\t\t'blocks.navigation.__unstableMenuItemsToBlocks',\n\t\tblocks,\n\t\tmenuItems\n\t);\n}\n\n/**\n * A recursive function that maps menu item nodes to blocks.\n *\n * @param {WPNavMenuItem[]} menuItems An array of WPNavMenuItem items.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} Object containing innerBlocks and mapping.\n */\nfunction mapMenuItemsToBlocks( menuItems, level = 0 ) {\n\tlet mapping = {};\n\n\t// The menuItem should be in menu_order sort order.\n\tconst sortedItems = [ ...menuItems ].sort(\n\t\t( a, b ) => a.menu_order - b.menu_order\n\t);\n\n\tconst innerBlocks = sortedItems.map( ( menuItem ) => {\n\t\tif ( menuItem.type === 'block' ) {\n\t\t\tconst [ block ] = parse( menuItem.content.raw );\n\n\t\t\tif ( ! block ) {\n\t\t\t\treturn createBlock( 'core/freeform', {\n\t\t\t\t\tcontent: menuItem.content,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\treturn block;\n\t\t}\n\n\t\tconst blockType = menuItem.children?.length\n\t\t\t? 'core/navigation-submenu'\n\t\t\t: 'core/navigation-link';\n\n\t\tconst attributes = menuItemToBlockAttributes(\n\t\t\tmenuItem,\n\t\t\tblockType,\n\t\t\tlevel\n\t\t);\n\n\t\t// If there are children recurse to build those nested blocks.\n\t\tconst {\n\t\t\tinnerBlocks: nestedBlocks = [], // alias to avoid shadowing\n\t\t\tmapping: nestedMapping = {}, // alias to avoid shadowing\n\t\t} = menuItem.children?.length\n\t\t\t? mapMenuItemsToBlocks( menuItem.children, level + 1 )\n\t\t\t: {};\n\n\t\t// Update parent mapping with nested mapping.\n\t\tmapping = {\n\t\t\t...mapping,\n\t\t\t...nestedMapping,\n\t\t};\n\n\t\t// Create block with nested \"innerBlocks\".\n\t\tconst block = createBlock( blockType, attributes, nestedBlocks );\n\n\t\t// Create mapping for menuItem -> block.\n\t\tmapping[ menuItem.id ] = block.clientId;\n\n\t\treturn block;\n\t} );\n\n\treturn {\n\t\tinnerBlocks,\n\t\tmapping,\n\t};\n}\n\n/**\n * A WP nav_menu_item object.\n * For more documentation on the individual fields present on a menu item please see:\n * https://core.trac.wordpress.org/browser/tags/5.7.1/src/wp-includes/nav-menu.php#L789\n *\n * @typedef WPNavMenuItem\n *\n * @property {Object} title stores the raw and rendered versions of the title/label for this menu item.\n * @property {Array} xfn the XFN relationships expressed in the link of this menu item.\n * @property {Array} classes the HTML class attributes for this menu item.\n * @property {string} attr_title the HTML title attribute for this menu item.\n * @property {string} object The type of object originally represented, such as 'category', 'post', or 'attachment'.\n * @property {string} object_id The DB ID of the original object this menu item represents, e.g. ID for posts and term_id for categories.\n * @property {string} description The description of this menu item.\n * @property {string} url The URL to which this menu item points.\n * @property {string} type The family of objects originally represented, such as 'post_type' or 'taxonomy'.\n * @property {string} target The target attribute of the link element for this menu item.\n */\n\n/**\n * Convert block attributes to menu item.\n *\n * @param {WPNavMenuItem} menuItem the menu item to be converted to block attributes.\n * @param {string} blockType The block type.\n * @param {number} level An integer representing the nesting level.\n * @return {Object} the block attributes converted from the WPNavMenuItem item.\n */\nfunction menuItemToBlockAttributes(\n\t{\n\t\ttitle: menuItemTitleField,\n\t\txfn,\n\t\tclasses,\n\t\t// eslint-disable-next-line camelcase\n\t\tattr_title,\n\t\tobject,\n\t\t// eslint-disable-next-line camelcase\n\t\tobject_id,\n\t\tdescription,\n\t\turl,\n\t\ttype: menuItemTypeField,\n\t\ttarget,\n\t},\n\tblockType,\n\tlevel\n) {\n\t// For historical reasons, the `core/navigation-link` variation type is `tag`\n\t// whereas WP Core expects `post_tag` as the `object` type.\n\t// To avoid writing a block migration we perform a conversion here.\n\t// See also inverse equivalent in `blockAttributesToMenuItem`.\n\tif ( object && object === 'post_tag' ) {\n\t\tobject = 'tag';\n\t}\n\n\treturn {\n\t\tlabel: menuItemTitleField?.rendered || '',\n\t\t...( object?.length && {\n\t\t\ttype: object,\n\t\t} ),\n\t\tkind: menuItemTypeField?.replace( '_', '-' ) || 'custom',\n\t\turl: url || '',\n\t\t...( xfn?.length &&\n\t\t\txfn.join( ' ' ).trim() && {\n\t\t\t\trel: xfn.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t...( classes?.length &&\n\t\t\tclasses.join( ' ' ).trim() && {\n\t\t\t\tclassName: classes.join( ' ' ).trim(),\n\t\t\t} ),\n\t\t/* eslint-disable camelcase */\n\t\t...( attr_title?.length && {\n\t\t\ttitle: attr_title,\n\t\t} ),\n\t\t...( object_id &&\n\t\t\t'custom' !== object && {\n\t\t\t\tid: object_id,\n\t\t\t} ),\n\t\t/* eslint-enable camelcase */\n\t\t...( description?.length && {\n\t\t\tdescription,\n\t\t} ),\n\t\t...( target === '_blank' && {\n\t\t\topensInNewTab: true,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-submenu' && {\n\t\t\tisTopLevelItem: level === 0,\n\t\t} ),\n\t\t...( blockType === 'core/navigation-link' && {\n\t\t\tisTopLevelLink: level === 0,\n\t\t} ),\n\t};\n}\n\n/**\n * Creates a nested, hierarchical tree representation from unstructured data that\n * has an inherent relationship defined between individual items.\n *\n * For example, by default, each element in the dataset should have an `id` and\n * `parent` property where the `parent` property indicates a relationship between\n * the current item and another item with a matching `id` properties.\n *\n * This is useful for building linked lists of data from flat data structures.\n *\n * @param {Array} dataset linked data to be rearranged into a hierarchical tree based on relational fields.\n * @param {string} id the property which uniquely identifies each entry within the array.\n * @param {*} relation the property which identifies how the current item is related to other items in the data (if at all).\n * @return {Array} a nested array of parent/child relationships\n */\nfunction createDataTree( dataset, id = 'id', relation = 'parent' ) {\n\tconst hashTable = Object.create( null );\n\tconst dataTree = [];\n\n\tfor ( const data of dataset ) {\n\t\thashTable[ data[ id ] ] = {\n\t\t\t...data,\n\t\t\tchildren: [],\n\t\t};\n\t\tif ( data[ relation ] ) {\n\t\t\thashTable[ data[ relation ] ] = hashTable[ data[ relation ] ] || {};\n\t\t\thashTable[ data[ relation ] ].children =\n\t\t\t\thashTable[ data[ relation ] ].children || [];\n\t\t\thashTable[ data[ relation ] ].children.push(\n\t\t\t\thashTable[ data[ id ] ]\n\t\t\t);\n\t\t} else {\n\t\t\tdataTree.push( hashTable[ data[ id ] ] );\n\t\t}\n\t}\n\n\treturn dataTree;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["store","blockEditorStore","coreStore","useSelect","createTemplatePartId","getTemplatePartIcon","useTemplatePartAreaLabel","clientId","select","getBlock","getBlockParentsByBlockName","withAscendingResults","parentTemplatePartClientIds","length","defaultTemplatePartAreas","getEntityRecord","default_template_part_areas","definedAreas","map","item","icon","getCurrentTheme","getEditedEntityRecord","templatePartClientId","templatePartBlock","theme","stylesheet","slug","attributes","templatePartEntityId","templatePartEntity","area","find","definedArea","label"],"sources":["@wordpress/block-library/src/navigation/use-template-part-area-label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\n\n// TODO: this util should perhaps be refactored somewhere like core-data.\nimport { createTemplatePartId } from '../template-part/edit/utils/create-template-part-id';\nimport { getTemplatePartIcon } from '../template-part/edit/utils/get-template-part-icon';\n\nexport default function useTemplatePartAreaLabel( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// Use the lack of a clientId as an opportunity to bypass the rest\n\t\t\t// of this hook.\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getBlock, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst withAscendingResults = true;\n\t\t\tconst parentTemplatePartClientIds = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/template-part',\n\t\t\t\twithAscendingResults\n\t\t\t);\n\n\t\t\tif ( ! parentTemplatePartClientIds?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst defaultTemplatePartAreas =\n\t\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t\t?.default_template_part_areas || [];\n\n\t\t\tconst definedAreas = defaultTemplatePartAreas.map( ( item ) => ( {\n\t\t\t\t...item,\n\t\t\t\ticon: getTemplatePartIcon( item.icon ),\n\t\t\t} ) );\n\n\t\t\tconst { getCurrentTheme, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tfor ( const templatePartClientId of parentTemplatePartClientIds ) {\n\t\t\t\tconst templatePartBlock = getBlock( templatePartClientId );\n\n\t\t\t\t// The 'area' usually isn't stored on the block, but instead\n\t\t\t\t// on the entity.\n\t\t\t\tconst { theme = getCurrentTheme()?.stylesheet, slug } =\n\t\t\t\t\ttemplatePartBlock.attributes;\n\t\t\t\tconst templatePartEntityId = createTemplatePartId(\n\t\t\t\t\ttheme,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t\tconst templatePartEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\ttemplatePartEntityId\n\t\t\t\t);\n\n\t\t\t\t// Look up the `label` for the area in the defined areas so\n\t\t\t\t// that an internationalized label can be used.\n\t\t\t\tif ( templatePartEntity?.area ) {\n\t\t\t\t\treturn definedAreas.find(\n\t\t\t\t\t\t( definedArea ) =>\n\t\t\t\t\t\t\tdefinedArea.area !== 'uncategorized' &&\n\t\t\t\t\t\t\tdefinedArea.area === templatePartEntity.area\n\t\t\t\t\t)?.label;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["store","blockEditorStore","coreStore","useSelect","createTemplatePartId","getTemplatePartIcon","useTemplatePartAreaLabel","clientId","select","getBlock","getBlockParentsByBlockName","withAscendingResults","parentTemplatePartClientIds","length","defaultTemplatePartAreas","getEntityRecord","default_template_part_areas","definedAreas","map","item","icon","getCurrentTheme","getEditedEntityRecord","templatePartClientId","templatePartBlock","theme","stylesheet","slug","attributes","templatePartEntityId","templatePartEntity","area","find","definedArea","label"],"sources":["@wordpress/block-library/src/navigation/use-template-part-area-label.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\n\n// TODO: this util should perhaps be refactored somewhere like core-data.\nimport { createTemplatePartId } from '../template-part/edit/utils/create-template-part-id';\nimport { getTemplatePartIcon } from '../template-part/edit/utils/get-template-part-icon';\n\nexport default function useTemplatePartAreaLabel( clientId ) {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\t// Use the lack of a clientId as an opportunity to bypass the rest\n\t\t\t// of this hook.\n\t\t\tif ( ! clientId ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst { getBlock, getBlockParentsByBlockName } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\tconst withAscendingResults = true;\n\t\t\tconst parentTemplatePartClientIds = getBlockParentsByBlockName(\n\t\t\t\tclientId,\n\t\t\t\t'core/template-part',\n\t\t\t\twithAscendingResults\n\t\t\t);\n\n\t\t\tif ( ! parentTemplatePartClientIds?.length ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tconst defaultTemplatePartAreas =\n\t\t\t\tselect( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t\t\t?.default_template_part_areas || [];\n\n\t\t\tconst definedAreas = defaultTemplatePartAreas.map( ( item ) => ( {\n\t\t\t\t...item,\n\t\t\t\ticon: getTemplatePartIcon( item.icon ),\n\t\t\t} ) );\n\n\t\t\tconst { getCurrentTheme, getEditedEntityRecord } =\n\t\t\t\tselect( coreStore );\n\n\t\t\tfor ( const templatePartClientId of parentTemplatePartClientIds ) {\n\t\t\t\tconst templatePartBlock = getBlock( templatePartClientId );\n\n\t\t\t\t// The 'area' usually isn't stored on the block, but instead\n\t\t\t\t// on the entity.\n\t\t\t\tconst { theme = getCurrentTheme()?.stylesheet, slug } =\n\t\t\t\t\ttemplatePartBlock.attributes;\n\t\t\t\tconst templatePartEntityId = createTemplatePartId(\n\t\t\t\t\ttheme,\n\t\t\t\t\tslug\n\t\t\t\t);\n\t\t\t\tconst templatePartEntity = getEditedEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_template_part',\n\t\t\t\t\ttemplatePartEntityId\n\t\t\t\t);\n\n\t\t\t\t// Look up the `label` for the area in the defined areas so\n\t\t\t\t// that an internationalized label can be used.\n\t\t\t\tif ( templatePartEntity?.area ) {\n\t\t\t\t\treturn definedAreas.find(\n\t\t\t\t\t\t( definedArea ) =>\n\t\t\t\t\t\t\tdefinedArea.area !== 'uncategorized' &&\n\t\t\t\t\t\t\tdefinedArea.area === templatePartEntity.area\n\t\t\t\t\t)?.label;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t[ clientId ]\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,KAAK,IAAIC,gBAAgB,QAAQ,yBAAyB;AACnE,SAASD,KAAK,IAAIE,SAAS,QAAQ,sBAAsB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;;AAE3C;AACA;AACA;;AAEA;AACA,SAASC,oBAAoB,QAAQ,qDAAqD;AAC1F,SAASC,mBAAmB,QAAQ,oDAAoD;AAExF,eAAe,SAASC,wBAAwBA,CAAEC,QAAQ,EAAG;EAC5D,OAAOJ,SAAS,CACbK,MAAM,IAAM;IACb;IACA;IACA,IAAK,CAAED,QAAQ,EAAG;MACjB;IACD;IAEA,MAAM;MAAEE,QAAQ;MAAEC;IAA2B,CAAC,GAC7CF,MAAM,CAAEP,gBAAiB,CAAC;IAE3B,MAAMU,oBAAoB,GAAG,IAAI;IACjC,MAAMC,2BAA2B,GAAGF,0BAA0B,CAC7DH,QAAQ,EACR,oBAAoB,EACpBI,oBACD,CAAC;IAED,IAAK,CAAEC,2BAA2B,EAAEC,MAAM,EAAG;MAC5C;IACD;IAEA,MAAMC,wBAAwB,GAC7BN,MAAM,CAAEN,SAAU,CAAC,CAACa,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAC5DC,2BAA2B,IAAI,EAAE;IAErC,MAAMC,YAAY,GAAGH,wBAAwB,CAACI,GAAG,CAAIC,IAAI,KAAQ;MAChE,GAAGA,IAAI;MACPC,IAAI,EAAEf,mBAAmB,CAAEc,IAAI,CAACC,IAAK;IACtC,CAAC,CAAG,CAAC;IAEL,MAAM;MAAEC,eAAe;MAAEC;IAAsB,CAAC,GAC/Cd,MAAM,CAAEN,SAAU,CAAC;IAEpB,KAAM,MAAMqB,oBAAoB,IAAIX,2BAA2B,EAAG;MACjE,MAAMY,iBAAiB,GAAGf,QAAQ,CAAEc,oBAAqB,CAAC;;MAE1D;MACA;MACA,MAAM;QAAEE,KAAK,GAAGJ,eAAe,CAAC,CAAC,EAAEK,UAAU;QAAEC;MAAK,CAAC,GACpDH,iBAAiB,CAACI,UAAU;MAC7B,MAAMC,oBAAoB,GAAGzB,oBAAoB,CAChDqB,KAAK,EACLE,IACD,CAAC;MACD,MAAMG,kBAAkB,GAAGR,qBAAqB,CAC/C,UAAU,EACV,kBAAkB,EAClBO,oBACD,CAAC;;MAED;MACA;MACA,IAAKC,kBAAkB,EAAEC,IAAI,EAAG;QAC/B,OAAOd,YAAY,CAACe,IAAI,CACrBC,WAAW,IACZA,WAAW,CAACF,IAAI,KAAK,eAAe,IACpCE,WAAW,CAACF,IAAI,KAAKD,kBAAkB,CAACC,IAC1C,CAAC,EAAEG,KAAK;MACT;IACD;EACD,CAAC,EACD,CAAE3B,QAAQ,CACX,CAAC;AACF","ignoreList":[]}
|