@wordpress/block-library 8.4.0 → 8.5.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 +2 -0
- package/build/archives/edit.js +3 -0
- package/build/archives/edit.js.map +1 -1
- package/build/audio/edit.js +2 -0
- package/build/audio/edit.js.map +1 -1
- package/build/avatar/edit.js +5 -9
- package/build/avatar/edit.js.map +1 -1
- package/build/categories/edit.js +5 -0
- package/build/categories/edit.js.map +1 -1
- package/build/columns/edit.js +1 -0
- package/build/columns/edit.js.map +1 -1
- package/build/columns/utils.js +2 -2
- package/build/columns/utils.js.map +1 -1
- package/build/comment-author-name/edit.js +2 -0
- package/build/comment-author-name/edit.js.map +1 -1
- package/build/comment-date/edit.js +1 -0
- package/build/comment-date/edit.js.map +1 -1
- package/build/comment-edit-link/edit.js +1 -0
- package/build/comment-edit-link/edit.js.map +1 -1
- package/build/comments-title/edit.js +2 -0
- package/build/comments-title/edit.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +2 -0
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/embed-controls.js +1 -0
- package/build/embed/embed-controls.js.map +1 -1
- package/build/file/inspector.js +3 -0
- package/build/file/inspector.js.map +1 -1
- package/build/freeform/modal.js +1 -1
- package/build/freeform/modal.js.map +1 -1
- package/build/gallery/edit.js +2 -0
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/shared.js +4 -8
- package/build/gallery/shared.js.map +1 -1
- package/build/gallery/use-image-sizes.js +4 -8
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +8 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery-image.js +1 -3
- package/build/gallery/v1/gallery-image.js.map +1 -1
- package/build/gallery/v1/shared.js +4 -7
- package/build/gallery/v1/shared.js.map +1 -1
- package/build/image/edit.js +6 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +6 -2
- package/build/image/image.js.map +1 -1
- package/build/image/utils.js +3 -1
- package/build/image/utils.js.map +1 -1
- package/build/index.js +3 -1
- package/build/index.js.map +1 -1
- package/build/latest-comments/edit.js +3 -0
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-posts/edit.js +4 -0
- package/build/latest-posts/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -0
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +2 -2
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/loginout/edit.js +2 -0
- package/build/loginout/edit.js.map +1 -1
- package/build/media-text/edit.js +2 -0
- package/build/media-text/edit.js.map +1 -1
- package/build/more/edit.js +1 -0
- package/build/more/edit.js.map +1 -1
- package/build/navigation/edit/index.js +80 -54
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +1 -1
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/overlay-menu-preview.js +1 -0
- package/build/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +1 -1
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/build/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build/navigation/edit/use-navigation-notice.js +4 -7
- package/build/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build/navigation-link/link-ui.js +1 -0
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/page-list/convert-to-links-modal.js +47 -0
- package/build/page-list/convert-to-links-modal.js.map +1 -0
- package/build/page-list/edit.js +10 -24
- package/build/page-list/edit.js.map +1 -1
- package/build/paragraph/edit.js +1 -0
- package/build/paragraph/edit.js.map +1 -1
- package/build/post-author/edit.js +4 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-author-name/edit.js +2 -0
- package/build/post-author-name/edit.js.map +1 -1
- package/build/post-date/edit.js +2 -0
- package/build/post-date/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 +2 -0
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js +2 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/use-post-terms.js +1 -1
- package/build/post-terms/use-post-terms.js.map +1 -1
- package/build/post-time-to-read/edit.js +104 -0
- package/build/post-time-to-read/edit.js.map +1 -0
- package/build/post-time-to-read/icon.js +25 -0
- package/build/post-time-to-read/icon.js.map +1 -0
- package/build/post-time-to-read/index.js +57 -0
- package/build/post-time-to-read/index.js.map +1 -0
- package/build/post-title/edit.js +2 -0
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +1 -0
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query-title/edit.js +2 -0
- package/build/query-title/edit.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/rss/edit.js +3 -0
- package/build/rss/edit.js.map +1 -1
- package/build/site-logo/edit.js +3 -0
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/index.js +1 -0
- package/build/site-tagline/index.js.map +1 -1
- package/build/site-title/edit/index.js +2 -0
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-links/edit.js +4 -1
- package/build/social-links/edit.js.map +1 -1
- package/build/spacer/controls.native.js +10 -8
- package/build/spacer/controls.native.js.map +1 -1
- package/build/spacer/edit.native.js +43 -5
- package/build/spacer/edit.native.js.map +1 -1
- package/build/spacer/save.native.js +30 -0
- package/build/spacer/save.native.js.map +1 -0
- package/build/table/edit.js +3 -0
- package/build/table/edit.js.map +1 -1
- package/build/table-of-contents/edit.js +1 -0
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/tag-cloud/edit.js +1 -0
- package/build/tag-cloud/edit.js.map +1 -1
- package/build/template-part/edit/import-controls.js +29 -6
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/video/edit-common-settings.js +5 -0
- package/build/video/edit-common-settings.js.map +1 -1
- package/build-module/archives/edit.js +3 -0
- package/build-module/archives/edit.js.map +1 -1
- package/build-module/audio/edit.js +2 -0
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/avatar/edit.js +5 -8
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/categories/edit.js +5 -0
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/columns/edit.js +1 -0
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/utils.js +3 -3
- package/build-module/columns/utils.js.map +1 -1
- package/build-module/comment-author-name/edit.js +2 -0
- package/build-module/comment-author-name/edit.js.map +1 -1
- package/build-module/comment-date/edit.js +1 -0
- package/build-module/comment-date/edit.js.map +1 -1
- package/build-module/comment-edit-link/edit.js +1 -0
- package/build-module/comment-edit-link/edit.js.map +1 -1
- package/build-module/comments-title/edit.js +2 -0
- package/build-module/comments-title/edit.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +2 -0
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/embed-controls.js +1 -0
- package/build-module/embed/embed-controls.js.map +1 -1
- package/build-module/file/inspector.js +3 -0
- package/build-module/file/inspector.js.map +1 -1
- package/build-module/freeform/modal.js +1 -1
- package/build-module/freeform/modal.js.map +1 -1
- package/build-module/gallery/edit.js +2 -0
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/shared.js +4 -7
- package/build-module/gallery/shared.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +4 -7
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +9 -4
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery-image.js +1 -2
- package/build-module/gallery/v1/gallery-image.js.map +1 -1
- package/build-module/gallery/v1/shared.js +4 -6
- package/build-module/gallery/v1/shared.js.map +1 -1
- package/build-module/image/edit.js +7 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +7 -3
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/utils.js +4 -2
- package/build-module/image/utils.js.map +1 -1
- package/build-module/index.js +2 -1
- package/build-module/index.js.map +1 -1
- package/build-module/latest-comments/edit.js +3 -0
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-posts/edit.js +4 -0
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -0
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -2
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +2 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/loginout/edit.js +2 -0
- package/build-module/loginout/edit.js.map +1 -1
- package/build-module/media-text/edit.js +2 -0
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/more/edit.js +1 -0
- package/build-module/more/edit.js.map +1 -1
- package/build-module/navigation/edit/index.js +82 -56
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/overlay-menu-preview.js +1 -0
- package/build-module/navigation/edit/overlay-menu-preview.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +1 -1
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js +1 -1
- package/build-module/navigation/edit/use-convert-classic-menu-to-block-menu.js.map +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js +1 -1
- package/build-module/navigation/edit/use-create-navigation-menu.js.map +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/build-module/navigation/edit/use-generate-default-navigation-title.js.map +1 -1
- package/build-module/navigation/edit/use-navigation-notice.js +5 -8
- package/build-module/navigation/edit/use-navigation-notice.js.map +1 -1
- package/build-module/navigation-link/link-ui.js +1 -0
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/page-list/convert-to-links-modal.js +35 -0
- package/build-module/page-list/convert-to-links-modal.js.map +1 -0
- package/build-module/page-list/edit.js +10 -25
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/paragraph/edit.js +1 -0
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/post-author/edit.js +4 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-author-name/edit.js +2 -0
- package/build-module/post-author-name/edit.js.map +1 -1
- package/build-module/post-date/edit.js +2 -0
- package/build-module/post-date/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 +2 -0
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +2 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/use-post-terms.js +1 -1
- package/build-module/post-terms/use-post-terms.js.map +1 -1
- package/build-module/post-time-to-read/edit.js +90 -0
- package/build-module/post-time-to-read/edit.js.map +1 -0
- package/build-module/post-time-to-read/icon.js +15 -0
- package/build-module/post-time-to-read/icon.js.map +1 -0
- package/build-module/post-time-to-read/index.js +40 -0
- package/build-module/post-time-to-read/index.js.map +1 -0
- package/build-module/post-title/edit.js +2 -0
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +1 -0
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query-title/edit.js +2 -0
- package/build-module/query-title/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/rss/edit.js +3 -0
- package/build-module/rss/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +3 -0
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/index.js +1 -0
- package/build-module/site-tagline/index.js.map +1 -1
- package/build-module/site-title/edit/index.js +2 -0
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-links/edit.js +4 -1
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/spacer/controls.native.js +9 -8
- package/build-module/spacer/controls.native.js.map +1 -1
- package/build-module/spacer/edit.native.js +39 -7
- package/build-module/spacer/edit.native.js.map +1 -1
- package/build-module/spacer/save.native.js +22 -0
- package/build-module/spacer/save.native.js.map +1 -0
- package/build-module/table/edit.js +3 -0
- package/build-module/table/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js +1 -0
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/tag-cloud/edit.js +1 -0
- package/build-module/tag-cloud/edit.js.map +1 -1
- package/build-module/template-part/edit/import-controls.js +28 -6
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/video/edit-common-settings.js +5 -0
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-style/editor-rtl.css +4 -3
- package/build-style/editor.css +4 -3
- package/build-style/post-excerpt/editor-rtl.css +1 -1
- package/build-style/post-excerpt/editor.css +1 -1
- package/build-style/query/editor-rtl.css +1 -0
- package/build-style/query/editor.css +1 -0
- package/build-style/site-logo/editor-rtl.css +2 -2
- package/build-style/site-logo/editor.css +2 -2
- package/package.json +31 -30
- package/src/archives/edit.js +3 -0
- package/src/audio/edit.js +2 -0
- package/src/audio/test/__snapshots__/edit.native.js.snap +38 -38
- package/src/avatar/edit.js +2 -4
- package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
- package/src/categories/edit.js +5 -0
- package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/columns/edit.js +1 -0
- package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
- package/src/columns/test/utils.js +54 -0
- package/src/columns/utils.js +8 -8
- package/src/comment-author-name/edit.js +2 -0
- package/src/comment-date/edit.js +1 -0
- package/src/comment-edit-link/edit.js +1 -0
- package/src/comments-title/edit.js +2 -0
- package/src/cover/edit/inspector-controls.js +2 -0
- package/src/cover/index.php +4 -6
- package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
- package/src/embed/embed-controls.js +1 -0
- package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
- package/src/file/inspector.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +49 -49
- package/src/freeform/modal.js +1 -1
- package/src/gallery/edit.js +2 -0
- package/src/gallery/shared.js +6 -11
- package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
- package/src/gallery/use-image-sizes.js +3 -16
- package/src/gallery/v1/edit.js +8 -16
- package/src/gallery/v1/gallery-image.js +1 -2
- package/src/gallery/v1/shared.js +5 -10
- package/src/group/test/__snapshots__/edit.native.js.snap +5 -5
- package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
- package/src/image/edit.js +4 -4
- package/src/image/image.js +4 -9
- package/src/image/index.php +4 -4
- package/src/image/utils.js +2 -2
- package/src/index.js +2 -0
- package/src/latest-comments/edit.js +3 -0
- package/src/latest-posts/edit.js +4 -0
- package/src/list/ordered-list-settings.js +1 -0
- package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
- package/src/list-item/edit.js +10 -3
- package/src/list-item/hooks/use-outdent-list-item.js +2 -1
- package/src/loginout/edit.js +2 -0
- package/src/media-text/edit.js +2 -0
- package/src/missing/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/more/edit.js +1 -0
- package/src/navigation/edit/index.js +130 -82
- package/src/navigation/edit/navigation-menu-selector.js +1 -1
- package/src/navigation/edit/overlay-menu-preview.js +1 -0
- package/src/navigation/edit/placeholder/index.js +1 -1
- package/src/navigation/edit/unsaved-inner-blocks.js +1 -0
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +51 -48
- package/src/navigation/edit/use-create-navigation-menu.js +1 -1
- package/src/navigation/edit/use-generate-default-navigation-title.js +1 -1
- package/src/navigation/edit/use-navigation-notice.js +16 -13
- package/src/navigation/index.php +42 -19
- package/src/navigation-link/link-ui.js +1 -0
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
- package/src/page-list/convert-to-links-modal.js +38 -0
- package/src/page-list/edit.js +11 -32
- package/src/paragraph/edit.js +1 -0
- package/src/post-author/edit.js +4 -0
- package/src/post-author-name/edit.js +2 -0
- package/src/post-date/edit.js +2 -0
- package/src/post-excerpt/edit.js +1 -0
- package/src/post-excerpt/editor.scss +1 -1
- package/src/post-featured-image/edit.js +2 -0
- package/src/post-navigation-link/edit.js +2 -0
- package/src/post-terms/index.php +1 -0
- package/src/post-terms/use-post-terms.js +1 -1
- package/src/post-time-to-read/block.json +20 -0
- package/src/post-time-to-read/edit.js +101 -0
- package/src/post-time-to-read/icon.js +15 -0
- package/src/post-time-to-read/index.js +17 -0
- package/src/post-time-to-read/index.php +62 -0
- package/src/post-title/edit.js +2 -0
- package/src/preformatted/test/__snapshots__/edit.native.js.snap +10 -10
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/editor.scss +1 -0
- package/src/query-title/edit.js +2 -0
- package/src/read-more/edit.js +1 -0
- package/src/rss/edit.js +3 -0
- package/src/search/test/__snapshots__/edit.native.js.snap +60 -60
- package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/site-logo/edit.js +3 -0
- package/src/site-logo/editor.scss +3 -3
- package/src/site-logo/index.php +7 -2
- package/src/site-tagline/block.json +1 -0
- package/src/site-title/edit/index.js +2 -0
- package/src/social-link/index.php +6 -6
- package/src/social-links/edit.js +3 -0
- package/src/social-links/test/__snapshots__/edit.native.js.snap +16 -16
- package/src/spacer/controls.native.js +13 -5
- package/src/spacer/edit.native.js +45 -6
- package/src/spacer/save.native.js +18 -0
- package/src/spacer/test/__snapshots__/index.native.js.snap +21 -9
- package/src/spacer/test/index.native.js +81 -0
- package/src/table/edit.js +3 -0
- package/src/table-of-contents/edit.js +1 -0
- package/src/tag-cloud/edit.js +1 -0
- package/src/template-part/edit/import-controls.js +24 -5
- package/src/template-part/index.php +7 -6
- package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/video/edit-common-settings.js +5 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +1 -1
package/src/list-item/edit.js
CHANGED
|
@@ -88,9 +88,16 @@ export default function ListItemEdit( {
|
|
|
88
88
|
placeholder={ placeholder || __( 'List' ) }
|
|
89
89
|
onSplit={ onSplit }
|
|
90
90
|
onMerge={ onMerge }
|
|
91
|
-
onReplace={
|
|
92
|
-
onReplace
|
|
93
|
-
|
|
91
|
+
onReplace={
|
|
92
|
+
onReplace
|
|
93
|
+
? ( blocks, ...args ) => {
|
|
94
|
+
onReplace(
|
|
95
|
+
convertToListItems( blocks ),
|
|
96
|
+
...args
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
: undefined
|
|
100
|
+
}
|
|
94
101
|
/>
|
|
95
102
|
{ innerBlocksProps.children }
|
|
96
103
|
</li>
|
|
@@ -112,7 +112,8 @@ export default function useOutdentListItem( clientId ) {
|
|
|
112
112
|
getBlockIndex( parentListItemId ) + 1
|
|
113
113
|
);
|
|
114
114
|
if ( ! getBlockOrder( parentListId ).length ) {
|
|
115
|
-
|
|
115
|
+
const shouldSelectParent = false;
|
|
116
|
+
removeBlock( parentListId, shouldSelectParent );
|
|
116
117
|
}
|
|
117
118
|
} );
|
|
118
119
|
}, [] ),
|
package/src/loginout/edit.js
CHANGED
|
@@ -13,6 +13,7 @@ export default function LoginOutEdit( { attributes, setAttributes } ) {
|
|
|
13
13
|
<InspectorControls>
|
|
14
14
|
<PanelBody title={ __( 'Settings' ) }>
|
|
15
15
|
<ToggleControl
|
|
16
|
+
__nextHasNoMarginBottom
|
|
16
17
|
label={ __( 'Display login as form' ) }
|
|
17
18
|
checked={ displayLoginAsForm }
|
|
18
19
|
onChange={ () =>
|
|
@@ -22,6 +23,7 @@ export default function LoginOutEdit( { attributes, setAttributes } ) {
|
|
|
22
23
|
}
|
|
23
24
|
/>
|
|
24
25
|
<ToggleControl
|
|
26
|
+
__nextHasNoMarginBottom
|
|
25
27
|
label={ __( 'Redirect to current URL' ) }
|
|
26
28
|
checked={ redirectToCurrent }
|
|
27
29
|
onChange={ () =>
|
package/src/media-text/edit.js
CHANGED
|
@@ -243,6 +243,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
243
243
|
const mediaTextGeneralSettings = (
|
|
244
244
|
<PanelBody title={ __( 'Settings' ) }>
|
|
245
245
|
<ToggleControl
|
|
246
|
+
__nextHasNoMarginBottom
|
|
246
247
|
label={ __( 'Stack on mobile' ) }
|
|
247
248
|
checked={ isStackedOnMobile }
|
|
248
249
|
onChange={ () =>
|
|
@@ -253,6 +254,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes, clientId } ) {
|
|
|
253
254
|
/>
|
|
254
255
|
{ mediaType === 'image' && (
|
|
255
256
|
<ToggleControl
|
|
257
|
+
__nextHasNoMarginBottom
|
|
256
258
|
label={ __( 'Crop image to fill entire column' ) }
|
|
257
259
|
checked={ imageFill }
|
|
258
260
|
onChange={ () =>
|
package/src/more/edit.js
CHANGED
|
@@ -7,6 +7,7 @@ import classnames from 'classnames';
|
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
9
|
import {
|
|
10
|
+
useCallback,
|
|
10
11
|
useState,
|
|
11
12
|
useEffect,
|
|
12
13
|
useRef,
|
|
@@ -40,7 +41,7 @@ import {
|
|
|
40
41
|
} from '@wordpress/components';
|
|
41
42
|
import { __, sprintf } from '@wordpress/i18n';
|
|
42
43
|
import { speak } from '@wordpress/a11y';
|
|
43
|
-
import { createBlock } from '@wordpress/blocks';
|
|
44
|
+
import { createBlock, getBlockType } from '@wordpress/blocks';
|
|
44
45
|
import { close, Icon } from '@wordpress/icons';
|
|
45
46
|
|
|
46
47
|
/**
|
|
@@ -148,34 +149,6 @@ function Navigation( {
|
|
|
148
149
|
createNavigationMenu( '' );
|
|
149
150
|
};
|
|
150
151
|
|
|
151
|
-
useEffect( () => {
|
|
152
|
-
hideNavigationMenuStatusNotice();
|
|
153
|
-
|
|
154
|
-
if ( isCreatingNavigationMenu ) {
|
|
155
|
-
speak( __( `Creating Navigation Menu.` ) );
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
if ( createNavigationMenuIsSuccess ) {
|
|
159
|
-
handleUpdateMenu( createNavigationMenuPost.id, {
|
|
160
|
-
focusNavigationBlock: true,
|
|
161
|
-
} );
|
|
162
|
-
|
|
163
|
-
showNavigationMenuStatusNotice(
|
|
164
|
-
__( `Navigation Menu successfully created.` )
|
|
165
|
-
);
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
if ( createNavigationMenuIsError ) {
|
|
169
|
-
showNavigationMenuStatusNotice(
|
|
170
|
-
__( 'Failed to create Navigation Menu.' )
|
|
171
|
-
);
|
|
172
|
-
}
|
|
173
|
-
}, [
|
|
174
|
-
createNavigationMenuStatus,
|
|
175
|
-
createNavigationMenuError,
|
|
176
|
-
createNavigationMenuPost,
|
|
177
|
-
] );
|
|
178
|
-
|
|
179
152
|
const {
|
|
180
153
|
hasUncontrolledInnerBlocks,
|
|
181
154
|
uncontrolledInnerBlocks,
|
|
@@ -237,6 +210,40 @@ function Navigation( {
|
|
|
237
210
|
[ navigationMenus ]
|
|
238
211
|
);
|
|
239
212
|
|
|
213
|
+
// This useEffect adds snackbar and speak status notices when menus are created.
|
|
214
|
+
// If there are no fallback navigation menus then we don't show these messages,
|
|
215
|
+
// because this means that we are creating the first, fallback navigation menu.
|
|
216
|
+
useEffect( () => {
|
|
217
|
+
hideNavigationMenuStatusNotice();
|
|
218
|
+
|
|
219
|
+
if ( fallbackNavigationMenus && isCreatingNavigationMenu ) {
|
|
220
|
+
speak( __( `Creating Navigation Menu.` ) );
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if ( createNavigationMenuIsSuccess ) {
|
|
224
|
+
handleUpdateMenu( createNavigationMenuPost.id, {
|
|
225
|
+
focusNavigationBlock: true,
|
|
226
|
+
} );
|
|
227
|
+
|
|
228
|
+
if ( fallbackNavigationMenus ) {
|
|
229
|
+
showNavigationMenuStatusNotice(
|
|
230
|
+
__( `Navigation Menu successfully created.` )
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
if ( createNavigationMenuIsError ) {
|
|
236
|
+
showNavigationMenuStatusNotice(
|
|
237
|
+
__( 'Failed to create Navigation Menu.' )
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
}, [
|
|
241
|
+
createNavigationMenuStatus,
|
|
242
|
+
createNavigationMenuError,
|
|
243
|
+
createNavigationMenuPost,
|
|
244
|
+
fallbackNavigationMenus,
|
|
245
|
+
] );
|
|
246
|
+
|
|
240
247
|
// Attempt to retrieve and prioritize any existing navigation menu unless:
|
|
241
248
|
// - the are uncontrolled inner blocks already present in the block.
|
|
242
249
|
// - the user is creating a new menu.
|
|
@@ -270,12 +277,24 @@ function Navigation( {
|
|
|
270
277
|
hasUncontrolledInnerBlocks,
|
|
271
278
|
] );
|
|
272
279
|
|
|
280
|
+
const isEntityAvailable =
|
|
281
|
+
! isNavigationMenuMissing && isNavigationMenuResolved;
|
|
282
|
+
|
|
283
|
+
// If the block has inner blocks, but no menu id, then these blocks are either:
|
|
284
|
+
// - inserted via a pattern.
|
|
285
|
+
// - inserted directly via Code View (or otherwise).
|
|
286
|
+
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
287
|
+
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
288
|
+
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
289
|
+
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;
|
|
290
|
+
|
|
273
291
|
useEffect( () => {
|
|
274
292
|
if (
|
|
293
|
+
ref ||
|
|
275
294
|
! hasResolvedNavigationMenus ||
|
|
276
295
|
isConvertingClassicMenu ||
|
|
277
296
|
fallbackNavigationMenus?.length > 0 ||
|
|
278
|
-
|
|
297
|
+
hasUnsavedBlocks
|
|
279
298
|
) {
|
|
280
299
|
return;
|
|
281
300
|
}
|
|
@@ -284,29 +303,46 @@ function Navigation( {
|
|
|
284
303
|
// a classic menu with a `primary` location or slug,
|
|
285
304
|
// then create a new navigation menu based on it.
|
|
286
305
|
// Otherwise, use the most recently created classic menu.
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
if ( primaryMenus.length ) {
|
|
294
|
-
convertClassicMenu(
|
|
295
|
-
primaryMenus[ 0 ].id,
|
|
296
|
-
primaryMenus[ 0 ].name,
|
|
297
|
-
'publish'
|
|
306
|
+
if ( classicMenus?.length ) {
|
|
307
|
+
const primaryMenus = classicMenus.filter(
|
|
308
|
+
( classicMenu ) =>
|
|
309
|
+
classicMenu.locations.includes( 'primary' ) ||
|
|
310
|
+
classicMenu.slug === 'primary'
|
|
298
311
|
);
|
|
312
|
+
|
|
313
|
+
if ( primaryMenus.length ) {
|
|
314
|
+
convertClassicMenu(
|
|
315
|
+
primaryMenus[ 0 ].id,
|
|
316
|
+
primaryMenus[ 0 ].name,
|
|
317
|
+
'publish'
|
|
318
|
+
);
|
|
319
|
+
} else {
|
|
320
|
+
classicMenus.sort( ( a, b ) => {
|
|
321
|
+
return b.id - a.id;
|
|
322
|
+
} );
|
|
323
|
+
convertClassicMenu(
|
|
324
|
+
classicMenus[ 0 ].id,
|
|
325
|
+
classicMenus[ 0 ].name,
|
|
326
|
+
'publish'
|
|
327
|
+
);
|
|
328
|
+
}
|
|
299
329
|
} else {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
330
|
+
// If there are no fallback navigation menus and no classic menus,
|
|
331
|
+
// then create a new navigation menu.
|
|
332
|
+
|
|
333
|
+
// Check that we have a page-list block type.
|
|
334
|
+
let defaultBlocks = [];
|
|
335
|
+
if ( getBlockType( 'core/page-list' ) ) {
|
|
336
|
+
defaultBlocks = [ createBlock( 'core/page-list' ) ];
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
createNavigationMenu(
|
|
340
|
+
'Navigation', // TODO - use the template slug in future
|
|
341
|
+
defaultBlocks,
|
|
306
342
|
'publish'
|
|
307
343
|
);
|
|
308
344
|
}
|
|
309
|
-
}, [ hasResolvedNavigationMenus ] );
|
|
345
|
+
}, [ hasResolvedNavigationMenus, hasUnsavedBlocks ] );
|
|
310
346
|
|
|
311
347
|
const navRef = useRef();
|
|
312
348
|
|
|
@@ -326,22 +362,6 @@ function Navigation( {
|
|
|
326
362
|
classicMenus?.length === 0 &&
|
|
327
363
|
! hasUncontrolledInnerBlocks;
|
|
328
364
|
|
|
329
|
-
useEffect( () => {
|
|
330
|
-
if ( isPlaceholder ) {
|
|
331
|
-
/**
|
|
332
|
-
* this fallback only displays (both in editor and on front)
|
|
333
|
-
* the list of pages block if no menu is available as a fallback.
|
|
334
|
-
* We don't want the fallback to request a save,
|
|
335
|
-
* nor to be undoable, hence we mark it non persistent.
|
|
336
|
-
*/
|
|
337
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
338
|
-
replaceInnerBlocks( clientId, [ createBlock( 'core/page-list' ) ] );
|
|
339
|
-
}
|
|
340
|
-
}, [ clientId, isPlaceholder, ref ] );
|
|
341
|
-
|
|
342
|
-
const isEntityAvailable =
|
|
343
|
-
! isNavigationMenuMissing && isNavigationMenuResolved;
|
|
344
|
-
|
|
345
365
|
// "loading" state:
|
|
346
366
|
// - there is a menu creation process in progress.
|
|
347
367
|
// - there is a classic menu conversion process in progress.
|
|
@@ -393,16 +413,16 @@ function Navigation( {
|
|
|
393
413
|
] = useState();
|
|
394
414
|
const [ detectedOverlayColor, setDetectedOverlayColor ] = useState();
|
|
395
415
|
|
|
396
|
-
const handleUpdateMenu = (
|
|
397
|
-
menuId,
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
416
|
+
const handleUpdateMenu = useCallback(
|
|
417
|
+
( menuId, options = { focusNavigationBlock: false } ) => {
|
|
418
|
+
const { focusNavigationBlock } = options;
|
|
419
|
+
setRef( menuId );
|
|
420
|
+
if ( focusNavigationBlock ) {
|
|
421
|
+
selectBlock( clientId );
|
|
422
|
+
}
|
|
423
|
+
},
|
|
424
|
+
[ selectBlock, clientId ]
|
|
425
|
+
);
|
|
406
426
|
|
|
407
427
|
const onSelectClassicMenu = async ( classicMenu ) => {
|
|
408
428
|
const navMenu = await convertClassicMenu(
|
|
@@ -421,6 +441,40 @@ function Navigation( {
|
|
|
421
441
|
handleUpdateMenu( menuId );
|
|
422
442
|
};
|
|
423
443
|
|
|
444
|
+
useEffect( () => {
|
|
445
|
+
hideNavigationMenuStatusNotice();
|
|
446
|
+
|
|
447
|
+
if ( isCreatingNavigationMenu ) {
|
|
448
|
+
speak( __( `Creating Navigation Menu.` ) );
|
|
449
|
+
}
|
|
450
|
+
|
|
451
|
+
if ( createNavigationMenuIsSuccess ) {
|
|
452
|
+
handleUpdateMenu( createNavigationMenuPost.id, {
|
|
453
|
+
focusNavigationBlock: true,
|
|
454
|
+
} );
|
|
455
|
+
|
|
456
|
+
showNavigationMenuStatusNotice(
|
|
457
|
+
__( `Navigation Menu successfully created.` )
|
|
458
|
+
);
|
|
459
|
+
}
|
|
460
|
+
|
|
461
|
+
if ( createNavigationMenuIsError ) {
|
|
462
|
+
showNavigationMenuStatusNotice(
|
|
463
|
+
__( 'Failed to create Navigation Menu.' )
|
|
464
|
+
);
|
|
465
|
+
}
|
|
466
|
+
}, [
|
|
467
|
+
createNavigationMenuStatus,
|
|
468
|
+
createNavigationMenuError,
|
|
469
|
+
createNavigationMenuPost,
|
|
470
|
+
createNavigationMenuIsError,
|
|
471
|
+
createNavigationMenuIsSuccess,
|
|
472
|
+
isCreatingNavigationMenu,
|
|
473
|
+
handleUpdateMenu,
|
|
474
|
+
hideNavigationMenuStatusNotice,
|
|
475
|
+
showNavigationMenuStatusNotice,
|
|
476
|
+
] );
|
|
477
|
+
|
|
424
478
|
useEffect( () => {
|
|
425
479
|
hideClassicMenuConversionNotice();
|
|
426
480
|
if ( classicMenuConversionStatus === CLASSIC_MENU_CONVERSION_PENDING ) {
|
|
@@ -598,6 +652,7 @@ function Navigation( {
|
|
|
598
652
|
<>
|
|
599
653
|
<h3>{ __( 'Submenus' ) }</h3>
|
|
600
654
|
<ToggleControl
|
|
655
|
+
__nextHasNoMarginBottom
|
|
601
656
|
checked={ openSubmenusOnClick }
|
|
602
657
|
onChange={ ( value ) => {
|
|
603
658
|
setAttributes( {
|
|
@@ -611,6 +666,7 @@ function Navigation( {
|
|
|
611
666
|
/>
|
|
612
667
|
|
|
613
668
|
<ToggleControl
|
|
669
|
+
__nextHasNoMarginBottom
|
|
614
670
|
checked={ showSubmenuIcon }
|
|
615
671
|
onChange={ ( value ) => {
|
|
616
672
|
setAttributes( {
|
|
@@ -682,14 +738,6 @@ function Navigation( {
|
|
|
682
738
|
</>
|
|
683
739
|
);
|
|
684
740
|
|
|
685
|
-
// If the block has inner blocks, but no menu id, then these blocks are either:
|
|
686
|
-
// - inserted via a pattern.
|
|
687
|
-
// - inserted directly via Code View (or otherwise).
|
|
688
|
-
// - from an older version of navigation block added before the block used a wp_navigation entity.
|
|
689
|
-
// Consider this state as 'unsaved' and offer an uncontrolled version of inner blocks,
|
|
690
|
-
// that automatically saves the menu as an entity when changes are made to the inner blocks.
|
|
691
|
-
const hasUnsavedBlocks = hasUncontrolledInnerBlocks && ! isEntityAvailable;
|
|
692
|
-
|
|
693
741
|
const isManageMenusButtonDisabled =
|
|
694
742
|
! hasManagePermissions || ! hasResolvedNavigationMenus;
|
|
695
743
|
|
|
@@ -65,7 +65,7 @@ function NavigationMenuSelector( {
|
|
|
65
65
|
};
|
|
66
66
|
} ) || []
|
|
67
67
|
);
|
|
68
|
-
}, [ currentMenuId, navigationMenus, actionLabel ] );
|
|
68
|
+
}, [ currentMenuId, navigationMenus, actionLabel, isCreatingMenu ] );
|
|
69
69
|
|
|
70
70
|
const hasNavigationMenus = !! navigationMenus?.length;
|
|
71
71
|
const hasClassicMenus = !! classicMenus?.length;
|
|
@@ -17,6 +17,7 @@ export default function OverlayMenuPreview( { setAttributes, hasIcon, icon } ) {
|
|
|
17
17
|
return (
|
|
18
18
|
<>
|
|
19
19
|
<ToggleControl
|
|
20
|
+
__nextHasNoMarginBottom
|
|
20
21
|
label={ __( 'Show icon button' ) }
|
|
21
22
|
help={ __(
|
|
22
23
|
'Configure the visual appearance of the button opening the overlay menu.'
|
|
@@ -38,7 +38,7 @@ export default function NavigationPlaceholder( {
|
|
|
38
38
|
if ( hasResolvedMenus ) {
|
|
39
39
|
speak( __( 'Navigation block setup options ready.' ) );
|
|
40
40
|
}
|
|
41
|
-
}, [ isResolvingMenus, isSelected ] );
|
|
41
|
+
}, [ hasResolvedMenus, isResolvingMenus, isSelected ] );
|
|
42
42
|
|
|
43
43
|
const isResolvingActions =
|
|
44
44
|
isResolvingMenus && isResolvingCanUserCreateNavigationMenu;
|
|
@@ -120,56 +120,59 @@ function useConvertClassicToBlockMenu( clientId ) {
|
|
|
120
120
|
return navigationMenu;
|
|
121
121
|
}
|
|
122
122
|
|
|
123
|
-
const convert = useCallback(
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
return;
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
setStatus( CLASSIC_MENU_CONVERSION_PENDING );
|
|
139
|
-
setError( null );
|
|
140
|
-
|
|
141
|
-
return await convertClassicMenuToBlockMenu(
|
|
142
|
-
menuId,
|
|
143
|
-
menuName,
|
|
144
|
-
postStatus
|
|
145
|
-
)
|
|
146
|
-
.then( ( navigationMenu ) => {
|
|
147
|
-
setStatus( CLASSIC_MENU_CONVERSION_SUCCESS );
|
|
148
|
-
// Reset the ID for the currently importing classic menu.
|
|
149
|
-
classicMenuBeingConvertedId = null;
|
|
150
|
-
return navigationMenu;
|
|
151
|
-
} )
|
|
152
|
-
.catch( ( err ) => {
|
|
153
|
-
setError( err?.message );
|
|
154
|
-
// Reset the ID for the currently importing classic menu.
|
|
123
|
+
const convert = useCallback(
|
|
124
|
+
async ( menuId, menuName, postStatus ) => {
|
|
125
|
+
// Check whether this classic menu is being imported already.
|
|
126
|
+
if ( classicMenuBeingConvertedId === menuId ) {
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
// Set the ID for the currently importing classic menu.
|
|
131
|
+
classicMenuBeingConvertedId = menuId;
|
|
132
|
+
|
|
133
|
+
if ( ! menuId || ! menuName ) {
|
|
134
|
+
setError( 'Unable to convert menu. Missing menu details.' );
|
|
155
135
|
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
156
138
|
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
)
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
)
|
|
171
|
-
|
|
172
|
-
|
|
139
|
+
setStatus( CLASSIC_MENU_CONVERSION_PENDING );
|
|
140
|
+
setError( null );
|
|
141
|
+
|
|
142
|
+
return await convertClassicMenuToBlockMenu(
|
|
143
|
+
menuId,
|
|
144
|
+
menuName,
|
|
145
|
+
postStatus
|
|
146
|
+
)
|
|
147
|
+
.then( ( navigationMenu ) => {
|
|
148
|
+
setStatus( CLASSIC_MENU_CONVERSION_SUCCESS );
|
|
149
|
+
// Reset the ID for the currently importing classic menu.
|
|
150
|
+
classicMenuBeingConvertedId = null;
|
|
151
|
+
return navigationMenu;
|
|
152
|
+
} )
|
|
153
|
+
.catch( ( err ) => {
|
|
154
|
+
setError( err?.message );
|
|
155
|
+
// Reset the ID for the currently importing classic menu.
|
|
156
|
+
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
157
|
+
|
|
158
|
+
// Reset the ID for the currently importing classic menu.
|
|
159
|
+
classicMenuBeingConvertedId = null;
|
|
160
|
+
|
|
161
|
+
// Rethrow error for debugging.
|
|
162
|
+
throw new Error(
|
|
163
|
+
sprintf(
|
|
164
|
+
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
165
|
+
__( `Unable to create Navigation Menu "%s".` ),
|
|
166
|
+
menuName
|
|
167
|
+
),
|
|
168
|
+
{
|
|
169
|
+
cause: err,
|
|
170
|
+
}
|
|
171
|
+
);
|
|
172
|
+
} );
|
|
173
|
+
},
|
|
174
|
+
[ convertClassicMenuToBlockMenu ]
|
|
175
|
+
);
|
|
173
176
|
|
|
174
177
|
return {
|
|
175
178
|
convert,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { useRef } from '@wordpress/element';
|
|
4
|
+
import { useCallback, useRef } from '@wordpress/element';
|
|
5
5
|
import { useDispatch } from '@wordpress/data';
|
|
6
6
|
import { store as noticeStore } from '@wordpress/notices';
|
|
7
7
|
|
|
@@ -10,26 +10,29 @@ function useNavigationNotice( { name, message = '' } = {} ) {
|
|
|
10
10
|
|
|
11
11
|
const { createWarningNotice, removeNotice } = useDispatch( noticeStore );
|
|
12
12
|
|
|
13
|
-
const showNotice = (
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
13
|
+
const showNotice = useCallback(
|
|
14
|
+
( customMsg ) => {
|
|
15
|
+
if ( noticeRef.current ) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
17
18
|
|
|
18
|
-
|
|
19
|
+
noticeRef.current = name;
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
21
|
+
createWarningNotice( customMsg || message, {
|
|
22
|
+
id: noticeRef.current,
|
|
23
|
+
type: 'snackbar',
|
|
24
|
+
} );
|
|
25
|
+
},
|
|
26
|
+
[ noticeRef, createWarningNotice ]
|
|
27
|
+
);
|
|
25
28
|
|
|
26
|
-
const hideNotice = () => {
|
|
29
|
+
const hideNotice = useCallback( () => {
|
|
27
30
|
if ( ! noticeRef.current ) {
|
|
28
31
|
return;
|
|
29
32
|
}
|
|
30
33
|
removeNotice( noticeRef.current );
|
|
31
34
|
noticeRef.current = null;
|
|
32
|
-
};
|
|
35
|
+
}, [ noticeRef, removeNotice ] );
|
|
33
36
|
|
|
34
37
|
return [ showNotice, hideNotice ];
|
|
35
38
|
}
|