@wordpress/block-library 8.30.0 → 8.32.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/block/edit.js +22 -16
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.native.js +1 -1
- package/build/button/edit.native.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/edit.js +2 -0
- package/build/file/edit.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.js +10 -39
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +27 -6
- package/build/image/image.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation/view.js +12 -2
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/edit.js +52 -27
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +31 -9
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/pattern/edit.js +3 -1
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/edit.js +16 -4
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +13 -2
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-featured-image/overlay-controls.js +82 -0
- package/build/post-featured-image/overlay-controls.js.map +1 -0
- package/build/post-featured-image/overlay.js +5 -54
- package/build/post-featured-image/overlay.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/quote/edit.js +18 -23
- package/build/quote/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +2 -0
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-tagline/edit.js +13 -4
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-tagline/index.js +4 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/template-part/edit/index.js +55 -47
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/inner-blocks.js +106 -10
- package/build/template-part/edit/inner-blocks.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +1 -9
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/utils/caption.js +19 -13
- package/build/utils/caption.js.map +1 -1
- package/build/utils/hooks.js +1 -0
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit.native.js +1 -1
- package/build/video/edit.native.js.map +1 -1
- package/build-module/block/edit.js +23 -17
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.native.js +1 -1
- package/build-module/button/edit.native.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/edit.js +2 -0
- package/build-module/file/edit.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.js +11 -40
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +27 -6
- package/build-module/image/image.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation/view.js +12 -2
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +55 -30
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +31 -9
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/pattern/edit.js +3 -1
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/edit.js +17 -5
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +13 -2
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-featured-image/overlay-controls.js +75 -0
- package/build-module/post-featured-image/overlay-controls.js.map +1 -0
- package/build-module/post-featured-image/overlay.js +7 -56
- package/build-module/post-featured-image/overlay.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/quote/edit.js +20 -25
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +2 -0
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-tagline/edit.js +14 -5
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +4 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/template-part/edit/index.js +58 -50
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/inner-blocks.js +108 -12
- package/build-module/template-part/edit/inner-blocks.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -10
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/utils/caption.js +19 -13
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/hooks.js +1 -0
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit.native.js +1 -1
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/audio/theme-rtl.css +1 -1
- package/build-style/audio/theme.css +1 -1
- package/build-style/cover/style-rtl.css +5 -2
- package/build-style/cover/style.css +5 -2
- package/build-style/editor-rtl.css +22 -12
- package/build-style/editor.css +22 -12
- package/build-style/embed/theme-rtl.css +1 -1
- package/build-style/embed/theme.css +1 -1
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/image/theme-rtl.css +1 -1
- package/build-style/image/theme.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/pullquote/theme-rtl.css +2 -1
- package/build-style/pullquote/theme.css +2 -1
- package/build-style/quote/theme-rtl.css +6 -6
- package/build-style/quote/theme.css +6 -6
- package/build-style/search/style-rtl.css +10 -0
- package/build-style/search/style.css +10 -0
- package/build-style/social-links/editor-rtl.css +0 -4
- package/build-style/social-links/editor.css +0 -4
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +17 -4
- package/build-style/style.css +17 -4
- package/build-style/table/theme-rtl.css +4 -3
- package/build-style/table/theme.css +4 -3
- package/build-style/template-part/editor-rtl.css +12 -4
- package/build-style/template-part/editor.css +12 -4
- package/build-style/template-part/theme-rtl.css +1 -1
- package/build-style/template-part/theme.css +1 -1
- package/build-style/theme-rtl.css +17 -15
- package/build-style/theme.css +17 -15
- package/build-style/video/theme-rtl.css +1 -1
- package/build-style/video/theme.css +1 -1
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/theme.scss +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/edit.js +43 -32
- package/src/block/index.php +4 -0
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.native.js +1 -1
- package/src/calendar/index.php +12 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +10 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/index.js +4 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +6 -2
- package/src/details/edit.js +1 -0
- package/src/embed/theme.scss +1 -1
- package/src/file/edit.js +2 -0
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/gallery/editor.scss +1 -1
- package/src/gallery/index.php +7 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +11 -40
- package/src/image/editor.scss +2 -7
- package/src/image/image.js +25 -7
- package/src/image/index.php +12 -1
- package/src/image/theme.scss +1 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/index.php +8 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/save.js +2 -2
- package/src/navigation/edit/index.js +67 -71
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +75 -53
- package/src/navigation/index.php +109 -26
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation/view.js +11 -2
- package/src/navigation-link/edit.js +64 -39
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-submenu/edit.js +34 -10
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/pattern/edit.js +4 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +13 -2
- package/src/post-featured-image/edit.js +16 -1
- package/src/post-featured-image/editor.scss +1 -1
- package/src/post-featured-image/index.php +15 -0
- package/src/post-featured-image/overlay-controls.js +88 -0
- package/src/post-featured-image/overlay.js +17 -84
- package/src/post-navigation-link/edit.js +1 -0
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +4 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/index.php +2 -0
- package/src/pullquote/theme.scss +3 -1
- package/src/query/index.php +2 -0
- package/src/query-no-results/index.php +6 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/index.php +6 -0
- package/src/query-pagination-numbers/index.php +6 -0
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/edit.js +27 -37
- package/src/quote/test/edit.native.js +4 -6
- package/src/quote/theme.scss +1 -2
- package/src/read-more/edit.js +1 -0
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +2 -0
- package/src/search/edit.native.js +2 -2
- package/src/search/index.php +19 -1
- package/src/search/style.scss +11 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/editor.scss +2 -2
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/block.json +4 -0
- package/src/site-tagline/edit.js +16 -3
- package/src/site-tagline/index.php +13 -1
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +1 -1
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/editor.scss +1 -9
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table/theme.scss +4 -2
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +87 -79
- package/src/template-part/edit/inner-blocks.js +126 -13
- package/src/template-part/edit/selection-modal.js +1 -22
- package/src/template-part/editor.scss +11 -3
- package/src/template-part/index.php +12 -0
- package/src/template-part/theme.scss +1 -1
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +19 -16
- package/src/utils/hooks.js +1 -0
- package/src/video/edit.native.js +2 -0
- package/src/video/editor.scss +2 -2
- package/src/video/theme.scss +1 -1
- package/tsconfig.json +1 -0
|
@@ -7,7 +7,7 @@ import classnames from 'classnames';
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import { ResizableBox, Spinner } from '@wordpress/components';
|
|
10
|
+
import { ResizableBox, Spinner, Placeholder } from '@wordpress/components';
|
|
11
11
|
import { BlockControls, BlockIcon, MediaPlaceholder, MediaReplaceFlow, store as blockEditorStore } from '@wordpress/block-editor';
|
|
12
12
|
import { __ } from '@wordpress/i18n';
|
|
13
13
|
import { useViewportMatch } from '@wordpress/compose';
|
|
@@ -43,22 +43,28 @@ const ResizableBoxContainer = forwardRef(({
|
|
|
43
43
|
function ToolbarEditButton({
|
|
44
44
|
mediaId,
|
|
45
45
|
mediaUrl,
|
|
46
|
-
onSelectMedia
|
|
46
|
+
onSelectMedia,
|
|
47
|
+
toggleUseFeaturedImage,
|
|
48
|
+
useFeaturedImage,
|
|
49
|
+
featuredImageURL
|
|
47
50
|
}) {
|
|
48
51
|
return createElement(BlockControls, {
|
|
49
52
|
group: "other"
|
|
50
53
|
}, createElement(MediaReplaceFlow, {
|
|
51
54
|
mediaId: mediaId,
|
|
52
|
-
|
|
55
|
+
mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
|
|
53
56
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
54
57
|
accept: "image/*,video/*",
|
|
55
|
-
onSelect: onSelectMedia
|
|
58
|
+
onSelect: onSelectMedia,
|
|
59
|
+
onToggleFeaturedImage: toggleUseFeaturedImage,
|
|
60
|
+
useFeaturedImage: useFeaturedImage
|
|
56
61
|
}));
|
|
57
62
|
}
|
|
58
63
|
function PlaceholderContainer({
|
|
59
64
|
className,
|
|
60
65
|
mediaUrl,
|
|
61
|
-
onSelectMedia
|
|
66
|
+
onSelectMedia,
|
|
67
|
+
toggleUseFeaturedImage
|
|
62
68
|
}) {
|
|
63
69
|
const {
|
|
64
70
|
createErrorNotice
|
|
@@ -78,6 +84,7 @@ function PlaceholderContainer({
|
|
|
78
84
|
className: className,
|
|
79
85
|
onSelect: onSelectMedia,
|
|
80
86
|
accept: "image/*,video/*",
|
|
87
|
+
onToggleFeaturedImage: toggleUseFeaturedImage,
|
|
81
88
|
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
82
89
|
onError: onUploadError,
|
|
83
90
|
disableMediaButtons: mediaUrl
|
|
@@ -99,13 +106,17 @@ function MediaContainer(props, ref) {
|
|
|
99
106
|
mediaWidth,
|
|
100
107
|
onSelectMedia,
|
|
101
108
|
onWidthChange,
|
|
102
|
-
enableResize
|
|
109
|
+
enableResize,
|
|
110
|
+
toggleUseFeaturedImage,
|
|
111
|
+
useFeaturedImage,
|
|
112
|
+
featuredImageURL,
|
|
113
|
+
featuredImageAlt
|
|
103
114
|
} = props;
|
|
104
115
|
const isTemporaryMedia = !mediaId && isBlobURL(mediaUrl);
|
|
105
116
|
const {
|
|
106
117
|
toggleSelection
|
|
107
118
|
} = useDispatch(blockEditorStore);
|
|
108
|
-
if (mediaUrl) {
|
|
119
|
+
if (mediaUrl || featuredImageURL || useFeaturedImage) {
|
|
109
120
|
const onResizeStart = () => {
|
|
110
121
|
toggleSelection(false);
|
|
111
122
|
};
|
|
@@ -120,9 +131,12 @@ function MediaContainer(props, ref) {
|
|
|
120
131
|
right: enableResize && mediaPosition === 'left',
|
|
121
132
|
left: enableResize && mediaPosition === 'right'
|
|
122
133
|
};
|
|
123
|
-
const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl, focalPoint) : {};
|
|
134
|
+
const backgroundStyles = mediaType === 'image' && imageFill ? imageFillStyles(mediaUrl || featuredImageURL, focalPoint) : {};
|
|
124
135
|
const mediaTypeRenderers = {
|
|
125
|
-
image: () => createElement("img", {
|
|
136
|
+
image: () => useFeaturedImage && featuredImageURL ? createElement("img", {
|
|
137
|
+
src: featuredImageURL,
|
|
138
|
+
alt: featuredImageAlt
|
|
139
|
+
}) : mediaUrl && createElement("img", {
|
|
126
140
|
src: mediaUrl,
|
|
127
141
|
alt: mediaAlt
|
|
128
142
|
}),
|
|
@@ -152,10 +166,15 @@ function MediaContainer(props, ref) {
|
|
|
152
166
|
ref: ref
|
|
153
167
|
}, createElement(ToolbarEditButton, {
|
|
154
168
|
onSelectMedia: onSelectMedia,
|
|
155
|
-
mediaUrl: mediaUrl,
|
|
156
|
-
mediaId: mediaId
|
|
157
|
-
|
|
169
|
+
mediaUrl: useFeaturedImage && featuredImageURL ? featuredImageURL : mediaUrl,
|
|
170
|
+
mediaId: mediaId,
|
|
171
|
+
toggleUseFeaturedImage: toggleUseFeaturedImage,
|
|
172
|
+
useFeaturedImage: useFeaturedImage
|
|
173
|
+
}), (mediaTypeRenderers[mediaType] || noop)(), isTemporaryMedia && createElement(Spinner, null), !useFeaturedImage && createElement(PlaceholderContainer, {
|
|
158
174
|
...props
|
|
175
|
+
}), !featuredImageURL && useFeaturedImage && createElement(Placeholder, {
|
|
176
|
+
className: "wp-block-media-text--placeholder-image",
|
|
177
|
+
withIllustration: true
|
|
159
178
|
}));
|
|
160
179
|
}
|
|
161
180
|
return createElement(PlaceholderContainer, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","ResizableBox","Spinner","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","group","mediaURL","allowedTypes","accept","onSelect","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( { mediaId, mediaUrl, onSelectMedia } ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaURL={ mediaUrl }\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( { className, mediaUrl, onSelectMedia } ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () => <img src={ mediaUrl } alt={ mediaAlt } />,\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={ mediaUrl }\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t<PlaceholderContainer { ...props } />\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","ResizableBox","Spinner","Placeholder","BlockControls","BlockIcon","MediaPlaceholder","MediaReplaceFlow","store","blockEditorStore","__","useViewportMatch","useDispatch","forwardRef","isBlobURL","noticesStore","media","icon","ALLOWED_MEDIA_TYPES","noop","imageFillStyles","url","focalPoint","backgroundImage","backgroundPosition","Math","round","x","y","ResizableBoxContainer","isSelected","isStackedOnMobile","props","ref","isMobile","createElement","showHandle","ToolbarEditButton","mediaId","mediaUrl","onSelectMedia","toggleUseFeaturedImage","useFeaturedImage","featuredImageURL","group","allowedTypes","accept","onSelect","onToggleFeaturedImage","PlaceholderContainer","className","createErrorNotice","onUploadError","message","type","labels","title","onError","disableMediaButtons","MediaContainer","commitWidthChange","imageFill","mediaAlt","mediaPosition","mediaType","mediaWidth","onWidthChange","enableResize","featuredImageAlt","isTemporaryMedia","toggleSelection","onResizeStart","onResize","event","direction","elt","parseInt","style","width","onResizeStop","enablePositions","right","left","backgroundStyles","mediaTypeRenderers","image","src","alt","video","controls","as","size","minWidth","maxWidth","enable","axis","withIllustration"],"sources":["@wordpress/block-library/src/media-text/media-container.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { ResizableBox, Spinner, Placeholder } from '@wordpress/components';\nimport {\n\tBlockControls,\n\tBlockIcon,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useViewportMatch } from '@wordpress/compose';\nimport { useDispatch } from '@wordpress/data';\nimport { forwardRef } from '@wordpress/element';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { media as icon } from '@wordpress/icons';\n\n/**\n * Constants\n */\nconst ALLOWED_MEDIA_TYPES = [ 'image', 'video' ];\nconst noop = () => {};\n\nexport function imageFillStyles( url, focalPoint ) {\n\treturn url\n\t\t? {\n\t\t\t\tbackgroundImage: `url(${ url })`,\n\t\t\t\tbackgroundPosition: focalPoint\n\t\t\t\t\t? `${ Math.round( focalPoint.x * 100 ) }% ${ Math.round(\n\t\t\t\t\t\t\tfocalPoint.y * 100\n\t\t\t\t\t ) }%`\n\t\t\t\t\t: `50% 50%`,\n\t\t }\n\t\t: {};\n}\n\nconst ResizableBoxContainer = forwardRef(\n\t( { isSelected, isStackedOnMobile, ...props }, ref ) => {\n\t\tconst isMobile = useViewportMatch( 'small', '<' );\n\t\treturn (\n\t\t\t<ResizableBox\n\t\t\t\tref={ ref }\n\t\t\t\tshowHandle={\n\t\t\t\t\tisSelected && ( ! isMobile || ! isStackedOnMobile )\n\t\t\t\t}\n\t\t\t\t{ ...props }\n\t\t\t/>\n\t\t);\n\t}\n);\n\nfunction ToolbarEditButton( {\n\tmediaId,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n\tuseFeaturedImage,\n\tfeaturedImageURL,\n} ) {\n\treturn (\n\t\t<BlockControls group=\"other\">\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ mediaId }\n\t\t\t\tmediaUrl={\n\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t: mediaUrl\n\t\t\t\t}\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\taccept=\"image/*,video/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t/>\n\t\t</BlockControls>\n\t);\n}\n\nfunction PlaceholderContainer( {\n\tclassName,\n\tmediaUrl,\n\tonSelectMedia,\n\ttoggleUseFeaturedImage,\n} ) {\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\treturn (\n\t\t<MediaPlaceholder\n\t\t\ticon={ <BlockIcon icon={ icon } /> }\n\t\t\tlabels={ {\n\t\t\t\ttitle: __( 'Media area' ),\n\t\t\t} }\n\t\t\tclassName={ className }\n\t\t\tonSelect={ onSelectMedia }\n\t\t\taccept=\"image/*,video/*\"\n\t\t\tonToggleFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\tonError={ onUploadError }\n\t\t\tdisableMediaButtons={ mediaUrl }\n\t\t/>\n\t);\n}\n\nfunction MediaContainer( props, ref ) {\n\tconst {\n\t\tclassName,\n\t\tcommitWidthChange,\n\t\tfocalPoint,\n\t\timageFill,\n\t\tisSelected,\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaId,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tonSelectMedia,\n\t\tonWidthChange,\n\t\tenableResize,\n\t\ttoggleUseFeaturedImage,\n\t\tuseFeaturedImage,\n\t\tfeaturedImageURL,\n\t\tfeaturedImageAlt,\n\t} = props;\n\n\tconst isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );\n\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\n\tif ( mediaUrl || featuredImageURL || useFeaturedImage ) {\n\t\tconst onResizeStart = () => {\n\t\t\ttoggleSelection( false );\n\t\t};\n\t\tconst onResize = ( event, direction, elt ) => {\n\t\t\tonWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst onResizeStop = ( event, direction, elt ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tcommitWidthChange( parseInt( elt.style.width ) );\n\t\t};\n\t\tconst enablePositions = {\n\t\t\tright: enableResize && mediaPosition === 'left',\n\t\t\tleft: enableResize && mediaPosition === 'right',\n\t\t};\n\n\t\tconst backgroundStyles =\n\t\t\tmediaType === 'image' && imageFill\n\t\t\t\t? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )\n\t\t\t\t: {};\n\n\t\tconst mediaTypeRenderers = {\n\t\t\timage: () =>\n\t\t\t\tuseFeaturedImage && featuredImageURL ? (\n\t\t\t\t\t<img src={ featuredImageURL } alt={ featuredImageAlt } />\n\t\t\t\t) : (\n\t\t\t\t\tmediaUrl && <img src={ mediaUrl } alt={ mediaAlt } />\n\t\t\t\t),\n\t\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t\t};\n\n\t\treturn (\n\t\t\t<ResizableBoxContainer\n\t\t\t\tas=\"figure\"\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\tclassName,\n\t\t\t\t\t'editor-media-container__resizer',\n\t\t\t\t\t{ 'is-transient': isTemporaryMedia }\n\t\t\t\t) }\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\tsize={ { width: mediaWidth + '%' } }\n\t\t\t\tminWidth=\"10%\"\n\t\t\t\tmaxWidth=\"100%\"\n\t\t\t\tenable={ enablePositions }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResize={ onResize }\n\t\t\t\tonResizeStop={ onResizeStop }\n\t\t\t\taxis=\"x\"\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tisStackedOnMobile={ isStackedOnMobile }\n\t\t\t\tref={ ref }\n\t\t\t>\n\t\t\t\t<ToolbarEditButton\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tmediaUrl={\n\t\t\t\t\t\tuseFeaturedImage && featuredImageURL\n\t\t\t\t\t\t\t? featuredImageURL\n\t\t\t\t\t\t\t: mediaUrl\n\t\t\t\t\t}\n\t\t\t\t\tmediaId={ mediaId }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\tuseFeaturedImage={ useFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t{ ( mediaTypeRenderers[ mediaType ] || noop )() }\n\t\t\t\t{ isTemporaryMedia && <Spinner /> }\n\t\t\t\t{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }\n\t\t\t\t{ ! featuredImageURL && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-media-text--placeholder-image\"\n\t\t\t\t\t\twithIllustration\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ResizableBoxContainer>\n\t\t);\n\t}\n\n\treturn <PlaceholderContainer { ...props } />;\n}\n\nexport default forwardRef( MediaContainer );\n"],"mappings":"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"}
|
|
@@ -41,11 +41,11 @@ export default function save({
|
|
|
41
41
|
[`wp-image-${mediaId}`]: mediaId && mediaType === 'image',
|
|
42
42
|
[`size-${mediaSizeSlug}`]: mediaId && mediaType === 'image'
|
|
43
43
|
});
|
|
44
|
-
let image = createElement("img", {
|
|
44
|
+
let image = mediaUrl ? createElement("img", {
|
|
45
45
|
src: mediaUrl,
|
|
46
46
|
alt: mediaAlt,
|
|
47
47
|
className: imageClasses || null
|
|
48
|
-
});
|
|
48
|
+
}) : null;
|
|
49
49
|
if (href) {
|
|
50
50
|
image = createElement("a", {
|
|
51
51
|
className: linkClass,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","save","attributes","isStackedOnMobile","mediaAlt","mediaPosition","mediaType","mediaUrl","mediaWidth","mediaId","verticalAlignment","imageFill","focalPoint","linkClass","href","linkTarget","rel","mediaSizeSlug","newRel","undefined","imageClasses","image","createElement","src","alt","className","target","mediaTypeRenders","video","controls","backgroundStyles","gridTemplateColumns","style"],"sources":["@wordpress/block-library/src/media-text/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaId,\n\t\tverticalAlignment,\n\t\timageFill,\n\t\tfocalPoint,\n\t\tlinkClass,\n\t\thref,\n\t\tlinkTarget,\n\t\trel,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\tconst newRel = ! rel ? undefined : rel;\n\n\tconst imageClasses = classnames( {\n\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t} );\n\n\tlet image = (\n\t\t<img\n\t\t\tsrc={ mediaUrl }\n\t\t\talt={ mediaAlt }\n\t\t\tclassName={ imageClasses || null }\n\t\t/>\n\t);\n\n\tif ( href ) {\n\t\timage = (\n\t\t\t<a\n\t\t\t\tclassName={ linkClass }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ newRel }\n\t\t\t>\n\t\t\t\t{ image }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tconst mediaTypeRenders = {\n\t\timage: () => image,\n\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t};\n\tconst className = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst backgroundStyles = imageFill\n\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t: {};\n\n\tlet gridTemplateColumns;\n\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\tgridTemplateColumns =\n\t\t\t'right' === mediaPosition\n\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t: `${ mediaWidth }% auto`;\n\t}\n\tconst style = {\n\t\tgridTemplateColumns,\n\t};\n\n\tif ( 'right' === mediaPosition ) {\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t<figure\n\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t>\n\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t</figure>\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SAASC,mBAAmB,EAAEC,aAAa,QAAQ,yBAAyB;;AAE5E;AACA;AACA;AACA,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,uBAAuB,QAAQ,aAAa;AAErD,MAAMC,mBAAmB,GAAG,EAAE;AAC9B,MAAMC,IAAI,GAAGA,CAAA,KAAM,CAAC,CAAC;AAErB,eAAe,SAASC,IAAIA,CAAE;EAAEC;AAAW,CAAC,EAAG;EAC9C,MAAM;IACLC,iBAAiB;IACjBC,QAAQ;IACRC,aAAa;IACbC,SAAS;IACTC,QAAQ;IACRC,UAAU;IACVC,OAAO;IACPC,iBAAiB;IACjBC,SAAS;IACTC,UAAU;IACVC,SAAS;IACTC,IAAI;IACJC,UAAU;IACVC;EACD,CAAC,GAAGd,UAAU;EACd,MAAMe,aAAa,GAAGf,UAAU,CAACe,aAAa,IAAInB,uBAAuB;EACzE,MAAMoB,MAAM,GAAG,CAAEF,GAAG,GAAGG,SAAS,GAAGH,GAAG;EAEtC,MAAMI,YAAY,GAAG1B,UAAU,CAAE;IAChC,CAAG,YAAYe,OAAS,EAAC,GAAIA,OAAO,IAAIH,SAAS,KAAK,OAAO;IAC7D,CAAG,QAAQW,aAAe,EAAC,GAAIR,OAAO,IAAIH,SAAS,KAAK;EACzD,CAAE,CAAC;EAEH,IAAIe,KAAK,
|
|
1
|
+
{"version":3,"names":["classnames","useInnerBlocksProps","useBlockProps","imageFillStyles","DEFAULT_MEDIA_SIZE_SLUG","DEFAULT_MEDIA_WIDTH","noop","save","attributes","isStackedOnMobile","mediaAlt","mediaPosition","mediaType","mediaUrl","mediaWidth","mediaId","verticalAlignment","imageFill","focalPoint","linkClass","href","linkTarget","rel","mediaSizeSlug","newRel","undefined","imageClasses","image","createElement","src","alt","className","target","mediaTypeRenders","video","controls","backgroundStyles","gridTemplateColumns","style"],"sources":["@wordpress/block-library/src/media-text/save.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useInnerBlocksProps, useBlockProps } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { imageFillStyles } from './media-container';\nimport { DEFAULT_MEDIA_SIZE_SLUG } from './constants';\n\nconst DEFAULT_MEDIA_WIDTH = 50;\nconst noop = () => {};\n\nexport default function save( { attributes } ) {\n\tconst {\n\t\tisStackedOnMobile,\n\t\tmediaAlt,\n\t\tmediaPosition,\n\t\tmediaType,\n\t\tmediaUrl,\n\t\tmediaWidth,\n\t\tmediaId,\n\t\tverticalAlignment,\n\t\timageFill,\n\t\tfocalPoint,\n\t\tlinkClass,\n\t\thref,\n\t\tlinkTarget,\n\t\trel,\n\t} = attributes;\n\tconst mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;\n\tconst newRel = ! rel ? undefined : rel;\n\n\tconst imageClasses = classnames( {\n\t\t[ `wp-image-${ mediaId }` ]: mediaId && mediaType === 'image',\n\t\t[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',\n\t} );\n\n\tlet image = mediaUrl ? (\n\t\t<img\n\t\t\tsrc={ mediaUrl }\n\t\t\talt={ mediaAlt }\n\t\t\tclassName={ imageClasses || null }\n\t\t/>\n\t) : null;\n\n\tif ( href ) {\n\t\timage = (\n\t\t\t<a\n\t\t\t\tclassName={ linkClass }\n\t\t\t\thref={ href }\n\t\t\t\ttarget={ linkTarget }\n\t\t\t\trel={ newRel }\n\t\t\t>\n\t\t\t\t{ image }\n\t\t\t</a>\n\t\t);\n\t}\n\n\tconst mediaTypeRenders = {\n\t\timage: () => image,\n\t\tvideo: () => <video controls src={ mediaUrl } />,\n\t};\n\tconst className = classnames( {\n\t\t'has-media-on-the-right': 'right' === mediaPosition,\n\t\t'is-stacked-on-mobile': isStackedOnMobile,\n\t\t[ `is-vertically-aligned-${ verticalAlignment }` ]: verticalAlignment,\n\t\t'is-image-fill': imageFill,\n\t} );\n\tconst backgroundStyles = imageFill\n\t\t? imageFillStyles( mediaUrl, focalPoint )\n\t\t: {};\n\n\tlet gridTemplateColumns;\n\tif ( mediaWidth !== DEFAULT_MEDIA_WIDTH ) {\n\t\tgridTemplateColumns =\n\t\t\t'right' === mediaPosition\n\t\t\t\t? `auto ${ mediaWidth }%`\n\t\t\t\t: `${ mediaWidth }% auto`;\n\t}\n\tconst style = {\n\t\tgridTemplateColumns,\n\t};\n\n\tif ( 'right' === mediaPosition ) {\n\t\treturn (\n\t\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t\t<div\n\t\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t\t} ) }\n\t\t\t\t/>\n\t\t\t\t<figure\n\t\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\t\tstyle={ backgroundStyles }\n\t\t\t\t>\n\t\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t\t</figure>\n\t\t\t</div>\n\t\t);\n\t}\n\treturn (\n\t\t<div { ...useBlockProps.save( { className, style } ) }>\n\t\t\t<figure\n\t\t\t\tclassName=\"wp-block-media-text__media\"\n\t\t\t\tstyle={ backgroundStyles }\n\t\t\t>\n\t\t\t\t{ ( mediaTypeRenders[ mediaType ] || noop )() }\n\t\t\t</figure>\n\t\t\t<div\n\t\t\t\t{ ...useInnerBlocksProps.save( {\n\t\t\t\t\tclassName: 'wp-block-media-text__content',\n\t\t\t\t} ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ import { InspectorControls, useBlockProps, RecursionProvider, useHasRecursion, s
|
|
|
12
12
|
import { EntityProvider, store as coreStore } from '@wordpress/core-data';
|
|
13
13
|
import { useDispatch, useSelect } from '@wordpress/data';
|
|
14
14
|
import { PanelBody, ToggleControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, Button, Spinner, Notice } from '@wordpress/components';
|
|
15
|
-
import { __
|
|
15
|
+
import { __ } from '@wordpress/i18n';
|
|
16
16
|
import { speak } from '@wordpress/a11y';
|
|
17
17
|
import { close, Icon } from '@wordpress/icons';
|
|
18
18
|
import { useInstanceId } from '@wordpress/compose';
|
|
@@ -107,8 +107,8 @@ function Navigation({
|
|
|
107
107
|
isSuccess: createNavigationMenuIsSuccess,
|
|
108
108
|
isError: createNavigationMenuIsError
|
|
109
109
|
} = useCreateNavigationMenu(clientId);
|
|
110
|
-
const createUntitledEmptyNavigationMenu = () => {
|
|
111
|
-
createNavigationMenu('');
|
|
110
|
+
const createUntitledEmptyNavigationMenu = async () => {
|
|
111
|
+
await createNavigationMenu('');
|
|
112
112
|
};
|
|
113
113
|
const {
|
|
114
114
|
hasUncontrolledInnerBlocks,
|
|
@@ -132,9 +132,9 @@ function Navigation({
|
|
|
132
132
|
hasResolvedCanUserUpdateNavigationMenu,
|
|
133
133
|
canUserDeleteNavigationMenu,
|
|
134
134
|
hasResolvedCanUserDeleteNavigationMenu,
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
135
|
+
canUserCreateNavigationMenus,
|
|
136
|
+
isResolvingCanUserCreateNavigationMenus,
|
|
137
|
+
hasResolvedCanUserCreateNavigationMenus
|
|
138
138
|
} = useNavigationMenu(ref);
|
|
139
139
|
const navMenuResolvedButMissing = hasResolvedNavigationMenus && isNavigationMenuMissing;
|
|
140
140
|
const {
|
|
@@ -237,12 +237,7 @@ function Navigation({
|
|
|
237
237
|
const [detectedOverlayBackgroundColor, setDetectedOverlayBackgroundColor] = useState();
|
|
238
238
|
const [detectedOverlayColor, setDetectedOverlayColor] = useState();
|
|
239
239
|
const onSelectClassicMenu = async classicMenu => {
|
|
240
|
-
|
|
241
|
-
if (navMenu) {
|
|
242
|
-
handleUpdateMenu(navMenu.id, {
|
|
243
|
-
focusNavigationBlock: true
|
|
244
|
-
});
|
|
245
|
-
}
|
|
240
|
+
return convertClassicMenu(classicMenu.id, classicMenu.name, 'draft');
|
|
246
241
|
};
|
|
247
242
|
const onSelectNavigationMenu = menuId => {
|
|
248
243
|
handleUpdateMenu(menuId);
|
|
@@ -269,11 +264,14 @@ function Navigation({
|
|
|
269
264
|
}
|
|
270
265
|
if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_SUCCESS) {
|
|
271
266
|
showClassicMenuConversionNotice(__('Classic menu imported successfully.'));
|
|
267
|
+
handleUpdateMenu(createNavigationMenuPost?.id, {
|
|
268
|
+
focusNavigationBlock: true
|
|
269
|
+
});
|
|
272
270
|
}
|
|
273
271
|
if (classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_ERROR) {
|
|
274
272
|
showClassicMenuConversionNotice(__('Classic menu import failed.'));
|
|
275
273
|
}
|
|
276
|
-
}, [classicMenuConversionStatus, classicMenuConversionError, hideClassicMenuConversionNotice, showClassicMenuConversionNotice]);
|
|
274
|
+
}, [classicMenuConversionStatus, classicMenuConversionError, hideClassicMenuConversionNotice, showClassicMenuConversionNotice, createNavigationMenuPost?.id, handleUpdateMenu]);
|
|
277
275
|
useEffect(() => {
|
|
278
276
|
if (!enableContrastChecking) {
|
|
279
277
|
return;
|
|
@@ -299,12 +297,12 @@ function Navigation({
|
|
|
299
297
|
if (ref && !navMenuResolvedButMissing && hasResolvedCanUserUpdateNavigationMenu && !canUserUpdateNavigationMenu) {
|
|
300
298
|
showNavigationMenuPermissionsNotice(__('You do not have permission to edit this Menu. Any changes made will not be saved.'));
|
|
301
299
|
}
|
|
302
|
-
if (!ref &&
|
|
300
|
+
if (!ref && hasResolvedCanUserCreateNavigationMenus && !canUserCreateNavigationMenus) {
|
|
303
301
|
showNavigationMenuPermissionsNotice(__('You do not have permission to create Navigation Menus.'));
|
|
304
302
|
}
|
|
305
303
|
}
|
|
306
|
-
}, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu,
|
|
307
|
-
const hasManagePermissions =
|
|
304
|
+
}, [isSelected, isInnerBlockSelected, canUserUpdateNavigationMenu, hasResolvedCanUserUpdateNavigationMenu, canUserCreateNavigationMenus, hasResolvedCanUserCreateNavigationMenus, ref, hideNavigationMenuPermissionsNotice, showNavigationMenuPermissionsNotice, navMenuResolvedButMissing]);
|
|
305
|
+
const hasManagePermissions = canUserCreateNavigationMenus || canUserUpdateNavigationMenu;
|
|
308
306
|
const overlayMenuPreviewClasses = classnames('wp-block-navigation__overlay-menu-preview', {
|
|
309
307
|
open: overlayMenuPreview
|
|
310
308
|
});
|
|
@@ -502,8 +500,8 @@ function Navigation({
|
|
|
502
500
|
isSelected: isSelected,
|
|
503
501
|
currentMenuId: ref,
|
|
504
502
|
clientId: clientId,
|
|
505
|
-
|
|
506
|
-
|
|
503
|
+
canUserCreateNavigationMenus: canUserCreateNavigationMenus,
|
|
504
|
+
isResolvingCanUserCreateNavigationMenus: isResolvingCanUserCreateNavigationMenus,
|
|
507
505
|
onSelectNavigationMenu: onSelectNavigationMenu,
|
|
508
506
|
onSelectClassicMenu: onSelectClassicMenu,
|
|
509
507
|
onCreateEmpty: createUntitledEmptyNavigationMenu
|
|
@@ -530,25 +528,21 @@ function Navigation({
|
|
|
530
528
|
}), blockEditingMode === 'default' && stylingInspectorControls, blockEditingMode === 'default' && isEntityAvailable && createElement(InspectorControls, {
|
|
531
529
|
group: "advanced"
|
|
532
530
|
}, hasResolvedCanUserUpdateNavigationMenu && canUserUpdateNavigationMenu && createElement(NavigationMenuNameControl, null), hasResolvedCanUserDeleteNavigationMenu && canUserDeleteNavigationMenu && createElement(NavigationMenuDeleteControl, {
|
|
533
|
-
onDelete: (
|
|
531
|
+
onDelete: () => {
|
|
534
532
|
replaceInnerBlocks(clientId, []);
|
|
535
|
-
showNavigationMenuStatusNotice(
|
|
536
|
-
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
537
|
-
__('Navigation menu %s successfully deleted.'), deletedMenuTitle));
|
|
533
|
+
showNavigationMenuStatusNotice(__('Navigation menu successfully deleted.'));
|
|
538
534
|
}
|
|
539
535
|
}), createElement(ManageMenusButton, {
|
|
540
536
|
disabled: isManageMenusButtonDisabled,
|
|
541
537
|
className: "wp-block-navigation-manage-menus-button"
|
|
542
|
-
})),
|
|
543
|
-
...blockProps
|
|
544
|
-
|
|
538
|
+
})), createElement(TagName, {
|
|
539
|
+
...blockProps,
|
|
540
|
+
"aria-describedby": !isPlaceholder && !isLoading ? accessibleDescriptionId : undefined
|
|
541
|
+
}, isLoading && createElement("div", {
|
|
545
542
|
className: "wp-block-navigation__loading-indicator-container"
|
|
546
543
|
}, createElement(Spinner, {
|
|
547
544
|
className: "wp-block-navigation__loading-indicator"
|
|
548
|
-
}))
|
|
549
|
-
...blockProps,
|
|
550
|
-
"aria-describedby": !isPlaceholder ? accessibleDescriptionId : undefined
|
|
551
|
-
}, createElement(AccessibleMenuDescription, {
|
|
545
|
+
})), !isLoading && createElement(Fragment, null, createElement(AccessibleMenuDescription, {
|
|
552
546
|
id: accessibleDescriptionId
|
|
553
547
|
}), createElement(ResponsiveWrapper, {
|
|
554
548
|
id: clientId,
|
|
@@ -565,7 +559,7 @@ function Navigation({
|
|
|
565
559
|
hasCustomPlaceholder: !!CustomPlaceholder,
|
|
566
560
|
templateLock: templateLock,
|
|
567
561
|
orientation: orientation
|
|
568
|
-
})))));
|
|
562
|
+
}))))));
|
|
569
563
|
}
|
|
570
564
|
export default withColors({
|
|
571
565
|
textColor: 'color'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","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","__","sprintf","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","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","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","canUserCreateNavigationMenu","isResolvingCanUserCreateNavigationMenu","hasResolvedCanUserCreateNavigationMenu","navMenuResolvedButMissing","convert","convertClassicMenu","classicMenuConversionStatus","classicMenuConversionError","isConvertingClassicMenu","handleUpdateMenu","menuId","options","focusNavigationBlock","isEntityAvailable","hasUnsavedBlocks","getNavigationFallbackId","navigationFallbackId","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","navMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","deletedMenuTitle","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 { __, sprintf } 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 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 = () => {\n\t\tcreateNavigationMenu( '' );\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\tcanUserCreateNavigationMenu,\n\t\tisResolvingCanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t} = useNavigationMenu( ref );\n\n\tconst navMenuResolvedButMissing =\n\t\thasResolvedNavigationMenus && isNavigationMenuMissing;\n\n\tconst {\n\t\tconvert: convertClassicMenu,\n\t\tstatus: classicMenuConversionStatus,\n\t\terror: classicMenuConversionError,\n\t} = useConvertClassicToBlockMenu( 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: classnames(\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst onSelectClassicMenu = async ( classicMenu ) => {\n\t\tconst navMenu = await convertClassicMenu(\n\t\t\tclassicMenu.id,\n\t\t\tclassicMenu.name,\n\t\t\t'draft'\n\t\t);\n\t\tif ( navMenu ) {\n\t\t\thandleUpdateMenu( navMenu.id, {\n\t\t\t\tfocusNavigationBlock: true,\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst onSelectNavigationMenu = ( menuId ) => {\n\t\thandleUpdateMenu( menuId );\n\t};\n\n\tuseEffect( () => {\n\t\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}\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! enableContrastChecking ) {\n\t\t\treturn;\n\t\t}\n\t\tdetectColors(\n\t\t\tnavRef.current,\n\t\t\tsetDetectedColor,\n\t\t\tsetDetectedBackgroundColor\n\t\t);\n\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] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected && ! isInnerBlockSelected ) {\n\t\t\thideNavigationMenuPermissionsNotice();\n\t\t}\n\n\t\tif ( isSelected || isInnerBlockSelected ) {\n\t\t\tif (\n\t\t\t\tref &&\n\t\t\t\t! navMenuResolvedButMissing &&\n\t\t\t\thasResolvedCanUserUpdateNavigationMenu &&\n\t\t\t\t! canUserUpdateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to edit this Menu. Any changes made will not be saved.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\n\t\t\tif (\n\t\t\t\t! ref &&\n\t\t\t\thasResolvedCanUserCreateNavigationMenu &&\n\t\t\t\t! canUserCreateNavigationMenu\n\t\t\t) {\n\t\t\t\tshowNavigationMenuPermissionsNotice(\n\t\t\t\t\t__(\n\t\t\t\t\t\t'You do not have permission to create Navigation Menus.'\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\t}, [\n\t\tisSelected,\n\t\tisInnerBlockSelected,\n\t\tcanUserUpdateNavigationMenu,\n\t\thasResolvedCanUserUpdateNavigationMenu,\n\t\tcanUserCreateNavigationMenu,\n\t\thasResolvedCanUserCreateNavigationMenu,\n\t\tref,\n\t\thideNavigationMenuPermissionsNotice,\n\t\tshowNavigationMenuPermissionsNotice,\n\t\tnavMenuResolvedButMissing,\n\t] );\n\n\tconst hasManagePermissions =\n\t\tcanUserCreateNavigationMenu || canUserUpdateNavigationMenu;\n\n\tconst overlayMenuPreviewClasses = classnames(\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 colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\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{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\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={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\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\tcanUserCreateNavigationMenu={ canUserCreateNavigationMenu }\n\t\t\t\t\tisResolvingCanUserCreateNavigationMenu={\n\t\t\t\t\t\tisResolvingCanUserCreateNavigationMenu\n\t\t\t\t\t}\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonCreateEmpty={ createUntitledEmptyNavigationMenu }\n\t\t\t\t/>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<EntityProvider kind=\"postType\" type=\"wp_navigation\" id={ ref }>\n\t\t\t<RecursionProvider uniqueId={ recursionId }>\n\t\t\t\t<MenuInspectorControls\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\tcreateNavigationMenuIsSuccess={\n\t\t\t\t\t\tcreateNavigationMenuIsSuccess\n\t\t\t\t\t}\n\t\t\t\t\tcreateNavigationMenuIsError={ createNavigationMenuIsError }\n\t\t\t\t\tcurrentMenuId={ ref }\n\t\t\t\t\tisNavigationMenuMissing={ isNavigationMenuMissing }\n\t\t\t\t\tisManageMenusButtonDisabled={ isManageMenusButtonDisabled }\n\t\t\t\t\tonCreateNew={ createUntitledEmptyNavigationMenu }\n\t\t\t\t\tonSelectClassicMenu={ onSelectClassicMenu }\n\t\t\t\t\tonSelectNavigationMenu={ onSelectNavigationMenu }\n\t\t\t\t\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={ ( deletedMenuTitle = '' ) => {\n\t\t\t\t\t\t\t\t\t\treplaceInnerBlocks( clientId, [] );\n\t\t\t\t\t\t\t\t\t\tshowNavigationMenuStatusNotice(\n\t\t\t\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t\t\t\t// translators: %s: the name of a menu (e.g. Header navigation).\n\t\t\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Navigation menu %s successfully deleted.'\n\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\tdeletedMenuTitle\n\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<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{ isLoading && (\n\t\t\t\t\t<TagName { ...blockProps }>\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</TagName>\n\t\t\t\t) }\n\n\t\t\t\t{ ! isLoading && (\n\t\t\t\t\t<TagName\n\t\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\t! isPlaceholder\n\t\t\t\t\t\t\t\t? accessibleDescriptionId\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<AccessibleMenuDescription\n\t\t\t\t\t\t\tid={ accessibleDescriptionId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ResponsiveWrapper\n\t\t\t\t\t\t\tid={ clientId }\n\t\t\t\t\t\t\tonToggle={ setResponsiveMenuVisibility }\n\t\t\t\t\t\t\thasIcon={ hasIcon }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisOpen={ isResponsiveMenuOpen }\n\t\t\t\t\t\t\tisResponsive={ isResponsive }\n\t\t\t\t\t\t\tisHiddenByDefault={ 'always' === overlayMenu }\n\t\t\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ isEntityAvailable && (\n\t\t\t\t\t\t\t\t<NavigationInnerBlocks\n\t\t\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\t\t\thasCustomPlaceholder={\n\t\t\t\t\t\t\t\t\t\t!! CustomPlaceholder\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\ttemplateLock={ templateLock }\n\t\t\t\t\t\t\t\t\torientation={ orientation }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ResponsiveWrapper>\n\t\t\t\t\t</TagName>\n\t\t\t\t) }\n\t\t\t</RecursionProvider>\n\t\t</EntityProvider>\n\t);\n}\n\nexport default withColors(\n\t{ textColor: 'color' },\n\t{ backgroundColor: 'color' },\n\t{ overlayBackgroundColor: 'color' },\n\t{ overlayTextColor: 'color' }\n)( Navigation );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","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","Navigation","attributes","setAttributes","clientId","isSelected","className","backgroundColor","setBackgroundColor","textColor","setTextColor","overlayBackgroundColor","setOverlayBackgroundColor","overlayTextColor","setOverlayTextColor","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","navRef","TagName","isPlaceholder","length","isLoading","textDecoration","style","typography","hasBlockOverlay","select","__unstableHasActiveBlockOverlayActive","isResponsive","blockProps","color","class","slug","enableContrastChecking","OS","detectedBackgroundColor","setDetectedBackgroundColor","detectedColor","setDetectedColor","detectedOverlayBackgroundColor","setDetectedOverlayBackgroundColor","detectedOverlayColor","setDetectedOverlayColor","onSelectClassicMenu","classicMenu","id","onSelectNavigationMenu","current","subMenuElement","querySelector","hasManagePermissions","overlayMenuPreviewClasses","open","submenuAccessibilityNotice","isFirstRender","overlayMenuPreviewId","colorGradientSettings","stylingInspectorControls","createElement","Fragment","title","onClick","hidden","__nextHasNoMarginBottom","label","help","onChange","isBlock","hideLabelFromVision","checked","disabled","spokenMessage","isDismissible","hasColorsOrGradients","group","__experimentalIsRenderedInSidebar","settings","colorValue","onColorChange","resetAllFilter","panelId","gradients","disableCustomGradients","accessibleDescriptionId","isManageMenusButtonDisabled","undefined","currentMenuId","onCreateNew","onToggle","isOpen","isHiddenByDefault","blocks","hasSelection","PlaceholderComponent","onCreateEmpty","kind","type","uniqueId","onDelete","hasCustomPlaceholder"],"sources":["@wordpress/block-library/src/navigation/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\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 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: classnames(\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\t// Turn on contrast checker for web only since it's not supported on mobile yet.\n\tconst enableContrastChecking = Platform.OS === 'web';\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedColor, setDetectedColor ] = useState();\n\tconst [\n\t\tdetectedOverlayBackgroundColor,\n\t\tsetDetectedOverlayBackgroundColor,\n\t] = useState();\n\tconst [ detectedOverlayColor, setDetectedOverlayColor ] = useState();\n\n\tconst 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 ( ! 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] );\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 = classnames(\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 colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst stylingInspectorControls = (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ hasSubmenuIndicatorSetting && (\n\t\t\t\t\t<PanelBody title={ __( 'Display' ) }>\n\t\t\t\t\t\t{ isResponsive && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tclassName={ overlayMenuPreviewClasses }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetOverlayMenuPreview(\n\t\t\t\t\t\t\t\t\t\t\t! overlayMenuPreview\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\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<h3>{ __( 'Overlay Menu' ) }</h3>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Configure overlay menu' ) }\n\t\t\t\t\t\t\tvalue={ overlayMenu }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Collapses the navigation options in a menu icon opening an overlay.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { overlayMenu: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"never\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Off' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"mobile\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Mobile' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"always\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Always' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t\t{ hasSubmenus && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<h3>{ __( 'Submenus' ) }</h3>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\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{ colorGradientSettings.hasColorsOrGradients && (\n\t\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: textColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: backgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayTextColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay text' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayTextColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () => setOverlayTextColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcolorValue: overlayBackgroundColor.color,\n\t\t\t\t\t\t\t\tlabel: __( 'Submenu & overlay background' ),\n\t\t\t\t\t\t\t\tonColorChange: setOverlayBackgroundColor,\n\t\t\t\t\t\t\t\tresetAllFilter: () =>\n\t\t\t\t\t\t\t\t\tsetOverlayBackgroundColor(),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t\t\tgradients={ [] }\n\t\t\t\t\t\tdisableCustomGradients\n\t\t\t\t\t/>\n\t\t\t\t\t{ enableContrastChecking && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\t\t\t\ttextColor={ detectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ContrastChecker\n\t\t\t\t\t\t\t\tbackgroundColor={\n\t\t\t\t\t\t\t\t\tdetectedOverlayBackgroundColor\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\ttextColor={ detectedOverlayColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</InspectorControls>\n\t\t\t) }\n\t\t</>\n\t);\n\n\tconst accessibleDescriptionId = `${ clientId }-desc`;\n\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={ 'always' === overlayMenu }\n\t\t\t\t\toverlayBackgroundColor={ overlayBackgroundColor }\n\t\t\t\t\toverlayTextColor={ overlayTextColor }\n\t\t\t\t>\n\t\t\t\t\t<UnsavedInnerBlocks\n\t\t\t\t\t\tcreateNavigationMenu={ createNavigationMenu }\n\t\t\t\t\t\tblocks={ uncontrolledInnerBlocks }\n\t\t\t\t\t\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 && (\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 && (\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={ 'always' === overlayMenu }\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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"}
|