@wordpress/block-library 8.4.0 → 8.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/build/archives/edit.js +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/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/categories/edit.js +5 -0
- package/build/categories/edit.js.map +1 -1
- package/build/columns/edit.js +11 -8
- package/build/columns/edit.js.map +1 -1
- package/build/columns/edit.native.js +1 -1
- package/build/columns/edit.native.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/edit/placeholder.js +8 -5
- package/build/comments/edit/placeholder.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/cover/index.js +13 -4
- package/build/cover/index.js.map +1 -1
- package/build/cover/variations.js +29 -0
- package/build/cover/variations.js.map +1 -0
- package/build/embed/edit.js +13 -14
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +18 -14
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-controls.js +1 -0
- package/build/embed/embed-controls.js.map +1 -1
- package/build/embed/util.js +39 -12
- package/build/embed/util.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 +3 -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 +14 -10
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/edit.native.js +3 -3
- package/build/latest-posts/edit.native.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/constants.js +17 -1
- package/build/media-text/constants.js.map +1 -1
- package/build/media-text/edit.js +9 -19
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/edit.native.js +6 -5
- package/build/media-text/edit.native.js.map +1 -1
- package/build/media-text/transforms.js +32 -44
- package/build/media-text/transforms.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 +64 -68
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/inner-blocks.js +4 -1
- package/build/navigation/edit/inner-blocks.js.map +1 -1
- package/build/navigation/edit/menu-inspector-controls.js +2 -5
- package/build/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +26 -22
- 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 +14 -1
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation/edit/use-convert-classic-menu-to-block-menu.js +3 -5
- 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/edit.js +0 -11
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +1 -13
- package/build/navigation-submenu/edit.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 +62 -62
- package/build/page-list/edit.js.map +1 -1
- package/build/page-list-item/edit.js +3 -2
- package/build/page-list-item/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-content/edit.js +6 -1
- package/build/post-content/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/dimension-controls.js +0 -6
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +3 -1
- 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/pullquote/deprecated.js +3 -3
- package/build/pullquote/deprecated.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/edit/query-placeholder.js +3 -2
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/utils.js +26 -9
- package/build/query/utils.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/state.js +12 -4
- package/build/table/state.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 +33 -30
- package/build/template-part/edit/import-controls.js.map +1 -1
- package/build/template-part/edit/utils/transformers.js +69 -19
- package/build/template-part/edit/utils/transformers.js.map +1 -1
- package/build/text-columns/edit.js +3 -7
- package/build/text-columns/edit.js.map +1 -1
- package/build/text-columns/save.js +11 -13
- package/build/text-columns/save.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/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.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 +11 -7
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/columns/edit.native.js +1 -1
- package/build-module/columns/edit.native.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/edit/placeholder.js +9 -5
- package/build-module/comments/edit/placeholder.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/cover/index.js +12 -4
- package/build-module/cover/index.js.map +1 -1
- package/build-module/cover/variations.js +19 -0
- package/build-module/cover/variations.js.map +1 -0
- package/build-module/embed/edit.js +14 -15
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +19 -15
- package/build-module/embed/edit.native.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/embed/util.js +34 -10
- package/build-module/embed/util.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 +3 -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 +14 -9
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/edit.native.js +3 -3
- package/build-module/latest-posts/edit.native.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/constants.js +10 -0
- package/build-module/media-text/constants.js.map +1 -1
- package/build-module/media-text/edit.js +4 -14
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/edit.native.js +4 -3
- package/build-module/media-text/edit.native.js.map +1 -1
- package/build-module/media-text/transforms.js +32 -44
- package/build-module/media-text/transforms.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 +65 -69
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/inner-blocks.js +4 -1
- package/build-module/navigation/edit/inner-blocks.js.map +1 -1
- package/build-module/navigation/edit/menu-inspector-controls.js +2 -5
- package/build-module/navigation/edit/menu-inspector-controls.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +25 -22
- 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 +14 -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 +3 -5
- 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/edit.js +0 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +1 -13
- package/build-module/navigation-submenu/edit.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 +64 -65
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/page-list-item/edit.js +3 -2
- package/build-module/page-list-item/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-content/edit.js +6 -1
- package/build-module/post-content/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/dimension-controls.js +0 -6
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +3 -1
- 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/pullquote/deprecated.js +3 -2
- package/build-module/pullquote/deprecated.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/edit/query-placeholder.js +4 -3
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/utils.js +21 -6
- package/build-module/query/utils.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/state.js +13 -5
- package/build-module/table/state.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 +32 -29
- package/build-module/template-part/edit/import-controls.js.map +1 -1
- package/build-module/template-part/edit/utils/transformers.js +69 -20
- package/build-module/template-part/edit/utils/transformers.js.map +1 -1
- package/build-module/text-columns/edit.js +3 -6
- package/build-module/text-columns/edit.js.map +1 -1
- package/build-module/text-columns/save.js +11 -12
- package/build-module/text-columns/save.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/cover/style-rtl.css +11 -5
- package/build-style/cover/style.css +11 -5
- package/build-style/editor-rtl.css +9 -4
- package/build-style/editor.css +9 -4
- package/build-style/navigation/editor-rtl.css +1 -1
- package/build-style/navigation/editor.css +1 -1
- package/build-style/page-list/editor-rtl.css +4 -0
- package/build-style/page-list/editor.css +4 -0
- package/build-style/post-excerpt/editor-rtl.css +1 -1
- package/build-style/post-excerpt/editor.css +1 -1
- package/build-style/post-featured-image/style-rtl.css +1 -0
- package/build-style/post-featured-image/style.css +1 -0
- 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/build-style/style-rtl.css +12 -5
- package/build-style/style.css +12 -5
- 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 +82 -42
- package/src/audio/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/audio/test/transforms.native.js +42 -0
- package/src/avatar/edit.js +2 -4
- package/src/block/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/block/test/transforms.native.js +40 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/__snapshots__/edit.native.js.snap +11 -11
- package/src/buttons/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/buttons/test/transforms.native.js +48 -0
- package/src/categories/edit.js +5 -0
- package/src/code/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/columns/edit.js +29 -17
- package/src/columns/edit.native.js +1 -1
- package/src/columns/test/__snapshots__/edit.native.js.snap +66 -66
- package/src/columns/test/__snapshots__/transforms.native.js.snap +61 -0
- package/src/columns/test/transforms.native.js +91 -0
- 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/comment-template/index.php +1 -2
- package/src/comments/edit/placeholder.js +16 -4
- package/src/comments-title/edit.js +2 -0
- package/src/cover/block.json +9 -3
- package/src/cover/edit/inspector-controls.js +2 -0
- package/src/cover/index.js +2 -0
- package/src/cover/index.php +4 -6
- package/src/cover/style.scss +16 -7
- package/src/cover/test/__snapshots__/edit.native.js.snap +36 -36
- package/src/cover/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/cover/test/transforms.native.js +112 -0
- package/src/cover/variations.js +20 -0
- package/src/embed/edit.js +16 -12
- package/src/embed/edit.native.js +28 -18
- package/src/embed/embed-controls.js +1 -0
- package/src/embed/test/__snapshots__/index.native.js.snap +52 -52
- package/src/embed/test/__snapshots__/transforms.native.js.snap +23 -0
- package/src/embed/test/index.js +12 -0
- package/src/embed/test/transforms.native.js +44 -0
- package/src/embed/util.js +29 -8
- package/src/file/inspector.js +3 -0
- package/src/file/test/__snapshots__/edit.native.js.snap +67 -51
- package/src/file/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/file/test/transforms.native.js +42 -0
- package/src/freeform/modal.js +1 -1
- package/src/freeform/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/freeform/test/transforms.native.js +39 -0
- package/src/gallery/edit.js +5 -0
- package/src/gallery/shared.js +6 -11
- package/src/gallery/test/__snapshots__/index.native.js.snap +71 -71
- package/src/gallery/test/__snapshots__/transforms.native.js.snap +53 -0
- package/src/gallery/test/transforms.native.js +52 -0
- 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/group/test/__snapshots__/transforms.native.js.snap +35 -0
- package/src/group/test/transforms.native.js +75 -0
- package/src/heading/test/__snapshots__/index.native.js.snap +1 -1
- package/src/heading/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/heading/test/transforms.native.js +46 -0
- package/src/image/edit.js +4 -4
- package/src/image/image.js +4 -9
- package/src/image/index.php +4 -4
- package/src/image/test/__snapshots__/transforms.native.js.snap +49 -0
- package/src/image/test/transforms.native.js +48 -0
- 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 +15 -16
- package/src/latest-posts/edit.native.js +3 -3
- package/src/latest-posts/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/latest-posts/test/transforms.native.js +61 -0
- package/src/list/ordered-list-settings.js +1 -0
- package/src/list/test/__snapshots__/edit.native.js.snap +4 -4
- package/src/list/test/__snapshots__/transforms.native.js.snap +85 -0
- package/src/list/test/transforms.native.js +56 -0
- 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/constants.js +16 -0
- package/src/media-text/edit.js +10 -18
- package/src/media-text/edit.native.js +3 -9
- package/src/media-text/test/__snapshots__/transforms.native.js.snap +73 -0
- package/src/media-text/test/transforms.native.js +112 -0
- package/src/media-text/transforms.js +24 -51
- package/src/missing/test/__snapshots__/edit.native.js.snap +21 -3
- package/src/more/edit.js +1 -0
- package/src/more/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/more/test/transforms.native.js +42 -0
- package/src/navigation/edit/index.js +121 -76
- package/src/navigation/edit/inner-blocks.js +3 -0
- package/src/navigation/edit/menu-inspector-controls.js +2 -7
- package/src/navigation/edit/navigation-menu-selector.js +41 -25
- 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 +46 -32
- package/src/navigation/edit/use-convert-classic-menu-to-block-menu.js +124 -122
- 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/editor.scss +23 -20
- package/src/navigation/index.php +5 -3
- package/src/navigation-link/edit.js +0 -9
- package/src/navigation-link/index.php +5 -8
- package/src/navigation-link/test/__snapshots__/hooks.js.snap +12 -12
- package/src/navigation-submenu/edit.js +0 -10
- package/src/navigation-submenu/index.php +23 -6
- package/src/nextpage/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/nextpage/test/transforms.native.js +42 -0
- package/src/page-list/convert-to-links-modal.js +38 -0
- package/src/page-list/edit.js +82 -69
- package/src/page-list/editor.scss +6 -0
- package/src/page-list-item/edit.js +2 -3
- package/src/paragraph/edit.js +1 -0
- package/src/paragraph/test/__snapshots__/transforms.native.js.snap +59 -0
- package/src/paragraph/test/transforms.native.js +50 -0
- package/src/post-author/edit.js +4 -0
- package/src/post-author-name/edit.js +2 -0
- package/src/post-content/edit.js +5 -1
- 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-excerpt/index.php +1 -2
- package/src/post-featured-image/dimension-controls.js +0 -8
- package/src/post-featured-image/edit.js +3 -1
- package/src/post-featured-image/style.scss +1 -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/preformatted/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/preformatted/test/transforms.native.js +42 -0
- package/src/pullquote/deprecated.js +2 -6
- package/src/pullquote/test/__snapshots__/transforms.native.js.snap +47 -0
- package/src/pullquote/test/transforms.native.js +46 -0
- package/src/query/edit/inspector-controls/index.js +1 -0
- package/src/query/edit/query-placeholder.js +10 -5
- package/src/query/editor.scss +1 -0
- package/src/query/test/utils.js +33 -1
- package/src/query/utils.js +19 -6
- package/src/query-title/edit.js +2 -0
- package/src/quote/test/__snapshots__/transforms.native.js.snap +39 -0
- package/src/quote/test/transforms.native.js +67 -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 +71 -61
- package/src/search/test/__snapshots__/transforms.native.js.snap +15 -0
- package/src/search/test/transforms.native.js +40 -0
- package/src/separator/test/__snapshots__/edit.native.js.snap +1 -1
- package/src/separator/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/separator/test/transforms.native.js +42 -0
- package/src/shortcode/test/__snapshots__/transforms.native.js.snap +19 -0
- package/src/shortcode/test/transforms.native.js +42 -0
- 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/social-links/test/__snapshots__/transforms.native.js.snap +31 -0
- package/src/social-links/test/transforms.native.js +53 -0
- 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/__snapshots__/transforms.native.js.snap +19 -0
- package/src/spacer/test/index.native.js +81 -0
- package/src/spacer/test/transforms.native.js +42 -0
- package/src/table/edit.js +3 -0
- package/src/table/state.js +8 -17
- 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 +26 -34
- package/src/template-part/edit/utils/transformers.js +96 -19
- package/src/template-part/index.php +7 -6
- package/src/text-columns/edit.js +1 -6
- package/src/text-columns/save.js +1 -6
- package/src/verse/test/__snapshots__/edit.native.js.snap +2 -2
- package/src/verse/test/__snapshots__/transforms.native.js.snap +25 -0
- package/src/verse/test/transforms.native.js +42 -0
- package/src/video/edit-common-settings.js +5 -0
- package/src/video/test/__snapshots__/transforms.native.js.snap +41 -0
- package/src/video/test/transforms.native.js +48 -0
- package/tsconfig.json +2 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -36,128 +36,72 @@ function useConvertClassicToBlockMenu( clientId ) {
|
|
|
36
36
|
const [ status, setStatus ] = useState( CLASSIC_MENU_CONVERSION_IDLE );
|
|
37
37
|
const [ error, setError ] = useState( null );
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
menuId,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
// Handle offline response which resolves to `null`.
|
|
70
|
-
if ( classicMenuItems === null ) {
|
|
71
|
-
throw new Error(
|
|
72
|
-
sprintf(
|
|
73
|
-
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
74
|
-
__( `Unable to fetch classic menu "%s" from API.` ),
|
|
75
|
-
menuName
|
|
76
|
-
)
|
|
77
|
-
);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// 2. Convert the classic items into blocks.
|
|
81
|
-
const { innerBlocks } = menuItemsToBlocks( classicMenuItems );
|
|
82
|
-
|
|
83
|
-
// 3. Create the `wp_navigation` Post with the blocks.
|
|
84
|
-
try {
|
|
85
|
-
navigationMenu = await createNavigationMenu(
|
|
86
|
-
menuName,
|
|
87
|
-
innerBlocks,
|
|
88
|
-
postStatus
|
|
89
|
-
);
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Immediately trigger editEntityRecord to change the wp_navigation post status to 'publish'.
|
|
93
|
-
* This status change causes the menu to be displayed on the front of the site and sets the post state to be "dirty".
|
|
94
|
-
* The problem being solved is if saveEditedEntityRecord was used here, the menu would be updated on the frontend and the editor _automatically_,
|
|
95
|
-
* without user interaction.
|
|
96
|
-
* If the user abandons the site editor without saving, there would still be a wp_navigation post created as draft.
|
|
97
|
-
*/
|
|
98
|
-
await editEntityRecord(
|
|
99
|
-
'postType',
|
|
100
|
-
'wp_navigation',
|
|
101
|
-
navigationMenu.id,
|
|
102
|
-
{
|
|
103
|
-
status: postStatus,
|
|
104
|
-
},
|
|
105
|
-
{ throwOnError: true }
|
|
106
|
-
);
|
|
107
|
-
} catch ( err ) {
|
|
108
|
-
throw new Error(
|
|
109
|
-
sprintf(
|
|
110
|
-
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
111
|
-
__( `Unable to create Navigation Menu "%s".` ),
|
|
112
|
-
menuName
|
|
113
|
-
),
|
|
114
|
-
{
|
|
115
|
-
cause: err,
|
|
116
|
-
}
|
|
117
|
-
);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
return navigationMenu;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
const convert = useCallback( async ( menuId, menuName, postStatus ) => {
|
|
124
|
-
// Check whether this classic menu is being imported already.
|
|
125
|
-
if ( classicMenuBeingConvertedId === menuId ) {
|
|
126
|
-
return;
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
// Set the ID for the currently importing classic menu.
|
|
130
|
-
classicMenuBeingConvertedId = menuId;
|
|
131
|
-
|
|
132
|
-
if ( ! menuId || ! menuName ) {
|
|
133
|
-
setError( 'Unable to convert menu. Missing menu details.' );
|
|
134
|
-
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
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.
|
|
155
|
-
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
39
|
+
const convertClassicMenuToBlockMenu = useCallback(
|
|
40
|
+
async ( menuId, menuName, postStatus = 'publish' ) => {
|
|
41
|
+
let navigationMenu;
|
|
42
|
+
let classicMenuItems;
|
|
43
|
+
|
|
44
|
+
// 1. Fetch the classic Menu items.
|
|
45
|
+
try {
|
|
46
|
+
classicMenuItems = await registry
|
|
47
|
+
.resolveSelect( coreStore )
|
|
48
|
+
.getMenuItems( {
|
|
49
|
+
menus: menuId,
|
|
50
|
+
per_page: -1,
|
|
51
|
+
context: 'view',
|
|
52
|
+
} );
|
|
53
|
+
} catch ( err ) {
|
|
54
|
+
throw new Error(
|
|
55
|
+
sprintf(
|
|
56
|
+
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
57
|
+
__( `Unable to fetch classic menu "%s" from API.` ),
|
|
58
|
+
menuName
|
|
59
|
+
),
|
|
60
|
+
{
|
|
61
|
+
cause: err,
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
156
65
|
|
|
157
|
-
|
|
158
|
-
|
|
66
|
+
// Handle offline response which resolves to `null`.
|
|
67
|
+
if ( classicMenuItems === null ) {
|
|
68
|
+
throw new Error(
|
|
69
|
+
sprintf(
|
|
70
|
+
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
71
|
+
__( `Unable to fetch classic menu "%s" from API.` ),
|
|
72
|
+
menuName
|
|
73
|
+
)
|
|
74
|
+
);
|
|
75
|
+
}
|
|
159
76
|
|
|
160
|
-
|
|
77
|
+
// 2. Convert the classic items into blocks.
|
|
78
|
+
const { innerBlocks } = menuItemsToBlocks( classicMenuItems );
|
|
79
|
+
|
|
80
|
+
// 3. Create the `wp_navigation` Post with the blocks.
|
|
81
|
+
try {
|
|
82
|
+
navigationMenu = await createNavigationMenu(
|
|
83
|
+
menuName,
|
|
84
|
+
innerBlocks,
|
|
85
|
+
postStatus
|
|
86
|
+
);
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Immediately trigger editEntityRecord to change the wp_navigation post status to 'publish'.
|
|
90
|
+
* This status change causes the menu to be displayed on the front of the site and sets the post state to be "dirty".
|
|
91
|
+
* The problem being solved is if saveEditedEntityRecord was used here, the menu would be updated on the frontend and the editor _automatically_,
|
|
92
|
+
* without user interaction.
|
|
93
|
+
* If the user abandons the site editor without saving, there would still be a wp_navigation post created as draft.
|
|
94
|
+
*/
|
|
95
|
+
await editEntityRecord(
|
|
96
|
+
'postType',
|
|
97
|
+
'wp_navigation',
|
|
98
|
+
navigationMenu.id,
|
|
99
|
+
{
|
|
100
|
+
status: postStatus,
|
|
101
|
+
},
|
|
102
|
+
{ throwOnError: true }
|
|
103
|
+
);
|
|
104
|
+
} catch ( err ) {
|
|
161
105
|
throw new Error(
|
|
162
106
|
sprintf(
|
|
163
107
|
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
@@ -168,8 +112,66 @@ function useConvertClassicToBlockMenu( clientId ) {
|
|
|
168
112
|
cause: err,
|
|
169
113
|
}
|
|
170
114
|
);
|
|
171
|
-
}
|
|
172
|
-
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
return navigationMenu;
|
|
118
|
+
},
|
|
119
|
+
[ createNavigationMenu, editEntityRecord, registry ]
|
|
120
|
+
);
|
|
121
|
+
|
|
122
|
+
const convert = useCallback(
|
|
123
|
+
async ( menuId, menuName, postStatus ) => {
|
|
124
|
+
// Check whether this classic menu is being imported already.
|
|
125
|
+
if ( classicMenuBeingConvertedId === menuId ) {
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// Set the ID for the currently importing classic menu.
|
|
130
|
+
classicMenuBeingConvertedId = menuId;
|
|
131
|
+
|
|
132
|
+
if ( ! menuId || ! menuName ) {
|
|
133
|
+
setError( 'Unable to convert menu. Missing menu details.' );
|
|
134
|
+
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
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.
|
|
155
|
+
setStatus( CLASSIC_MENU_CONVERSION_ERROR );
|
|
156
|
+
|
|
157
|
+
// Reset the ID for the currently importing classic menu.
|
|
158
|
+
classicMenuBeingConvertedId = null;
|
|
159
|
+
|
|
160
|
+
// Rethrow error for debugging.
|
|
161
|
+
throw new Error(
|
|
162
|
+
sprintf(
|
|
163
|
+
// translators: %s: the name of a menu (e.g. Header navigation).
|
|
164
|
+
__( `Unable to create Navigation Menu "%s".` ),
|
|
165
|
+
menuName
|
|
166
|
+
),
|
|
167
|
+
{
|
|
168
|
+
cause: err,
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
} );
|
|
172
|
+
},
|
|
173
|
+
[ convertClassicMenuToBlockMenu ]
|
|
174
|
+
);
|
|
173
175
|
|
|
174
176
|
return {
|
|
175
177
|
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, message, name ]
|
|
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
|
}
|
|
@@ -39,8 +39,7 @@
|
|
|
39
39
|
}
|
|
40
40
|
|
|
41
41
|
// Only show the flyout on hover if the parent menu item is selected.
|
|
42
|
-
.wp-block-navigation:not(.is-selected):not(.has-child-selected)
|
|
43
|
-
.has-child:hover {
|
|
42
|
+
.wp-block-navigation:not(.is-selected):not(.has-child-selected) .has-child:hover {
|
|
44
43
|
> .wp-block-navigation__submenu-container {
|
|
45
44
|
opacity: 0;
|
|
46
45
|
visibility: hidden;
|
|
@@ -49,6 +48,7 @@
|
|
|
49
48
|
|
|
50
49
|
// Styles for submenu flyout.
|
|
51
50
|
.has-child {
|
|
51
|
+
|
|
52
52
|
&.is-selected,
|
|
53
53
|
&.has-child-selected {
|
|
54
54
|
> .wp-block-navigation__submenu-container {
|
|
@@ -76,8 +76,7 @@
|
|
|
76
76
|
flex-direction: column;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
.is-dragging-components-draggable
|
|
80
|
-
.wp-block-navigation-link > .wp-block-navigation__container {
|
|
79
|
+
.is-dragging-components-draggable .wp-block-navigation-link > .wp-block-navigation__container {
|
|
81
80
|
// Set opacity to 1 to still be able to show the draggable chip.
|
|
82
81
|
opacity: 1;
|
|
83
82
|
visibility: hidden;
|
|
@@ -117,6 +116,7 @@
|
|
|
117
116
|
*/
|
|
118
117
|
|
|
119
118
|
$colors-selector-size: 22px;
|
|
119
|
+
|
|
120
120
|
.block-library-colors-selector {
|
|
121
121
|
width: auto;
|
|
122
122
|
|
|
@@ -151,7 +151,7 @@ $colors-selector-size: 22px;
|
|
|
151
151
|
min-width: $colors-selector-size;
|
|
152
152
|
height: $colors-selector-size;
|
|
153
153
|
min-height: $colors-selector-size;
|
|
154
|
-
line-height: (
|
|
154
|
+
line-height: ($colors-selector-size - 2);
|
|
155
155
|
padding: 2px;
|
|
156
156
|
|
|
157
157
|
> svg {
|
|
@@ -161,6 +161,7 @@ $colors-selector-size: 22px;
|
|
|
161
161
|
|
|
162
162
|
// Styling icon color.
|
|
163
163
|
&.has-text-color {
|
|
164
|
+
|
|
164
165
|
> svg,
|
|
165
166
|
> svg path {
|
|
166
167
|
color: inherit;
|
|
@@ -171,6 +172,7 @@ $colors-selector-size: 22px;
|
|
|
171
172
|
|
|
172
173
|
// Colors Selector Popover.
|
|
173
174
|
$color-control-label-height: 20px;
|
|
175
|
+
|
|
174
176
|
.block-library-colors-selector__popover {
|
|
175
177
|
.color-palette-controller-container {
|
|
176
178
|
padding: 16px;
|
|
@@ -222,13 +224,16 @@ $color-control-label-height: 20px;
|
|
|
222
224
|
0% {
|
|
223
225
|
opacity: 1;
|
|
224
226
|
}
|
|
227
|
+
|
|
225
228
|
50% {
|
|
226
229
|
opacity: 0.5;
|
|
227
230
|
}
|
|
231
|
+
|
|
228
232
|
100% {
|
|
229
233
|
opacity: 1;
|
|
230
234
|
}
|
|
231
235
|
}
|
|
236
|
+
|
|
232
237
|
// Unstyle some inherited placeholder component styles.
|
|
233
238
|
.components-placeholder.wp-block-navigation-placeholder {
|
|
234
239
|
outline: none;
|
|
@@ -271,6 +276,7 @@ $color-control-label-height: 20px;
|
|
|
271
276
|
// against any background color.
|
|
272
277
|
color: currentColor;
|
|
273
278
|
background: transparent;
|
|
279
|
+
|
|
274
280
|
&::before {
|
|
275
281
|
content: "";
|
|
276
282
|
display: block;
|
|
@@ -338,6 +344,7 @@ $color-control-label-height: 20px;
|
|
|
338
344
|
// Hide the navigation indicator when in small contexts.
|
|
339
345
|
.is-small &,
|
|
340
346
|
.is-medium & {
|
|
347
|
+
|
|
341
348
|
.wp-block-navigation-placeholder__actions__indicator,
|
|
342
349
|
.wp-block-navigation-placeholder__actions__indicator + hr {
|
|
343
350
|
display: none;
|
|
@@ -427,15 +434,14 @@ $color-control-label-height: 20px;
|
|
|
427
434
|
}
|
|
428
435
|
}
|
|
429
436
|
}
|
|
437
|
+
|
|
430
438
|
// Emulate the fullscreen editing inside the editor.
|
|
431
439
|
// Most of this can be removed when the iframe lands.
|
|
432
440
|
|
|
433
441
|
// When not fullscreen.
|
|
434
442
|
.wp-block-navigation__responsive-container.is-menu-open {
|
|
435
443
|
position: fixed;
|
|
436
|
-
top:
|
|
437
|
-
$admin-bar-height-big + $header-height + $block-toolbar-height +
|
|
438
|
-
$border-width;
|
|
444
|
+
top: $admin-bar-height-big + $header-height + $block-toolbar-height + $border-width;
|
|
439
445
|
|
|
440
446
|
@include break-medium() {
|
|
441
447
|
top: $admin-bar-height + $header-height + $border-width;
|
|
@@ -445,6 +451,7 @@ $color-control-label-height: 20px;
|
|
|
445
451
|
@include break-medium() {
|
|
446
452
|
left: $admin-sidebar-width-collapsed;
|
|
447
453
|
}
|
|
454
|
+
|
|
448
455
|
@include break-large() {
|
|
449
456
|
left: $admin-sidebar-width;
|
|
450
457
|
}
|
|
@@ -452,17 +459,13 @@ $color-control-label-height: 20px;
|
|
|
452
459
|
|
|
453
460
|
.has-fixed-toolbar .wp-block-navigation__responsive-container.is-menu-open {
|
|
454
461
|
@include break-medium() {
|
|
455
|
-
top:
|
|
456
|
-
$admin-bar-height + $header-height + $block-toolbar-height +
|
|
457
|
-
$border-width;
|
|
462
|
+
top: $admin-bar-height + $header-height + $block-toolbar-height + $border-width;
|
|
458
463
|
}
|
|
459
464
|
}
|
|
460
465
|
|
|
461
466
|
.is-mobile-preview .wp-block-navigation__responsive-container.is-menu-open,
|
|
462
467
|
.is-tablet-preview .wp-block-navigation__responsive-container.is-menu-open {
|
|
463
|
-
top:
|
|
464
|
-
$admin-bar-height + $header-height + $block-toolbar-height +
|
|
465
|
-
$border-width;
|
|
468
|
+
top: $admin-bar-height + $header-height + $block-toolbar-height + $border-width;
|
|
466
469
|
}
|
|
467
470
|
|
|
468
471
|
.is-sidebar-opened .wp-block-navigation__responsive-container.is-menu-open {
|
|
@@ -473,9 +476,7 @@ $color-control-label-height: 20px;
|
|
|
473
476
|
.is-fullscreen-mode {
|
|
474
477
|
.wp-block-navigation__responsive-container.is-menu-open {
|
|
475
478
|
left: 0; // Unset the value from non fullscreen mode.
|
|
476
|
-
top:
|
|
477
|
-
$admin-bar-height-big + $header-height + $block-toolbar-height +
|
|
478
|
-
$border-width;
|
|
479
|
+
top: $admin-bar-height-big + $header-height + $block-toolbar-height + $border-width;
|
|
479
480
|
|
|
480
481
|
@include break-medium() {
|
|
481
482
|
top: $header-height + $border-width;
|
|
@@ -495,8 +496,7 @@ $color-control-label-height: 20px;
|
|
|
495
496
|
}
|
|
496
497
|
|
|
497
498
|
// The iframe makes these rules a lot simpler.
|
|
498
|
-
body.editor-styles-wrapper
|
|
499
|
-
.wp-block-navigation__responsive-container.is-menu-open {
|
|
499
|
+
body.editor-styles-wrapper .wp-block-navigation__responsive-container.is-menu-open {
|
|
500
500
|
top: 0;
|
|
501
501
|
right: 0;
|
|
502
502
|
bottom: 0;
|
|
@@ -536,6 +536,7 @@ body.editor-styles-wrapper
|
|
|
536
536
|
.components-heading.wp-block-navigation-off-canvas-editor__title {
|
|
537
537
|
margin: 0;
|
|
538
538
|
}
|
|
539
|
+
|
|
539
540
|
.wp-block-navigation-off-canvas-editor__header {
|
|
540
541
|
margin-bottom: $grid-unit-10;
|
|
541
542
|
}
|
|
@@ -552,6 +553,7 @@ body.editor-styles-wrapper
|
|
|
552
553
|
0% {
|
|
553
554
|
opacity: 0;
|
|
554
555
|
}
|
|
556
|
+
|
|
555
557
|
100% {
|
|
556
558
|
opacity: 1;
|
|
557
559
|
}
|
|
@@ -559,7 +561,7 @@ body.editor-styles-wrapper
|
|
|
559
561
|
|
|
560
562
|
// Space spinner to give it breathing
|
|
561
563
|
// room when block is selected and has focus outline.
|
|
562
|
-
.wp-block-
|
|
564
|
+
.wp-block-navigation__loading-indicator-container {
|
|
563
565
|
padding: $grid-unit-10 $grid-unit-15;
|
|
564
566
|
}
|
|
565
567
|
|
|
@@ -571,6 +573,7 @@ body.editor-styles-wrapper
|
|
|
571
573
|
0% {
|
|
572
574
|
opacity: 1;
|
|
573
575
|
}
|
|
576
|
+
|
|
574
577
|
100% {
|
|
575
578
|
opacity: 0.5;
|
|
576
579
|
}
|
package/src/navigation/index.php
CHANGED
|
@@ -348,7 +348,7 @@ function block_core_navigation_maybe_use_classic_menu_fallback() {
|
|
|
348
348
|
$wp_insert_post_result = wp_insert_post(
|
|
349
349
|
array(
|
|
350
350
|
'post_content' => $classic_nav_menu_blocks,
|
|
351
|
-
'post_title' => $classic_nav_menu->
|
|
351
|
+
'post_title' => $classic_nav_menu->name,
|
|
352
352
|
'post_name' => $classic_nav_menu->slug,
|
|
353
353
|
'post_status' => 'publish',
|
|
354
354
|
'post_type' => 'wp_navigation',
|
|
@@ -453,7 +453,6 @@ function block_core_navigation_get_fallback_blocks() {
|
|
|
453
453
|
$fallback_blocks = $registry->is_registered( 'core/page-list' ) ? $page_list_fallback : array();
|
|
454
454
|
|
|
455
455
|
// Default to a list of Pages.
|
|
456
|
-
|
|
457
456
|
$navigation_post = block_core_navigation_get_most_recently_published_navigation();
|
|
458
457
|
|
|
459
458
|
// If there are no navigation posts then try to find a classic menu
|
|
@@ -472,6 +471,10 @@ function block_core_navigation_get_fallback_blocks() {
|
|
|
472
471
|
$fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : $fallback_blocks;
|
|
473
472
|
}
|
|
474
473
|
|
|
474
|
+
// Normalizing blocks may result in an empty array of blocks if they were all `null` blocks.
|
|
475
|
+
// In this case default empty blocks.
|
|
476
|
+
$fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : array();
|
|
477
|
+
|
|
475
478
|
/**
|
|
476
479
|
* Filters the fallback experience for the Navigation block.
|
|
477
480
|
*
|
|
@@ -531,7 +534,6 @@ function block_core_navigation_from_block_get_post_ids( $block ) {
|
|
|
531
534
|
* @return string Returns the post content with the legacy widget added.
|
|
532
535
|
*/
|
|
533
536
|
function render_block_core_navigation( $attributes, $content, $block ) {
|
|
534
|
-
|
|
535
537
|
static $seen_menu_names = array();
|
|
536
538
|
|
|
537
539
|
// Flag used to indicate whether the rendered output is considered to be
|
|
@@ -225,15 +225,6 @@ export default function NavigationLinkEdit( {
|
|
|
225
225
|
[ clientId ]
|
|
226
226
|
);
|
|
227
227
|
|
|
228
|
-
useEffect( () => {
|
|
229
|
-
// This side-effect should not create an undo level as those should
|
|
230
|
-
// only be created via user interactions. Mark this change as
|
|
231
|
-
// not persistent to avoid undo level creation.
|
|
232
|
-
// See https://github.com/WordPress/gutenberg/issues/34564.
|
|
233
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
234
|
-
setAttributes( { isTopLevelLink } );
|
|
235
|
-
}, [ isTopLevelLink ] );
|
|
236
|
-
|
|
237
228
|
/**
|
|
238
229
|
* Transform to submenu block.
|
|
239
230
|
*/
|
|
@@ -9,18 +9,17 @@
|
|
|
9
9
|
* Build an array with CSS classes and inline styles defining the colors
|
|
10
10
|
* which will be applied to the navigation markup in the front-end.
|
|
11
11
|
*
|
|
12
|
-
* @param array $context
|
|
13
|
-
* @param array $attributes
|
|
12
|
+
* @param array $context Navigation block context.
|
|
13
|
+
* @param array $attributes Block attributes.
|
|
14
|
+
* @param bool $is_sub_menu Whether the link is part of a sub-menu.
|
|
14
15
|
* @return array Colors CSS classes and inline styles.
|
|
15
16
|
*/
|
|
16
|
-
function block_core_navigation_link_build_css_colors( $context, $attributes ) {
|
|
17
|
+
function block_core_navigation_link_build_css_colors( $context, $attributes, $is_sub_menu = false ) {
|
|
17
18
|
$colors = array(
|
|
18
19
|
'css_classes' => array(),
|
|
19
20
|
'inline_styles' => '',
|
|
20
21
|
);
|
|
21
22
|
|
|
22
|
-
$is_sub_menu = isset( $attributes['isTopLevelLink'] ) ? ( ! $attributes['isTopLevelLink'] ) : false;
|
|
23
|
-
|
|
24
23
|
// Text color.
|
|
25
24
|
$named_text_color = null;
|
|
26
25
|
$custom_text_color = null;
|
|
@@ -174,13 +173,11 @@ function render_block_core_navigation_link( $attributes, $content, $block ) {
|
|
|
174
173
|
return '';
|
|
175
174
|
}
|
|
176
175
|
|
|
177
|
-
$colors = block_core_navigation_link_build_css_colors( $block->context, $attributes );
|
|
178
176
|
$font_sizes = block_core_navigation_link_build_css_font_sizes( $block->context );
|
|
179
177
|
$classes = array_merge(
|
|
180
|
-
$colors['css_classes'],
|
|
181
178
|
$font_sizes['css_classes']
|
|
182
179
|
);
|
|
183
|
-
$style_attribute =
|
|
180
|
+
$style_attribute = $font_sizes['inline_styles'];
|
|
184
181
|
|
|
185
182
|
$css_classes = trim( implode( ' ', $classes ) );
|
|
186
183
|
$has_submenu = count( $block->inner_blocks ) > 0;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`hooks enhanceNavigationLinkVariations enhances variations with icon and isActive functions 1`] = `
|
|
4
|
-
|
|
4
|
+
{
|
|
5
5
|
"extraProp": "extraProp",
|
|
6
6
|
"name": "core/navigation-link",
|
|
7
|
-
"variations":
|
|
8
|
-
|
|
9
|
-
"attributes":
|
|
7
|
+
"variations": [
|
|
8
|
+
{
|
|
9
|
+
"attributes": {},
|
|
10
10
|
"description": "A link to a custom URL.",
|
|
11
11
|
"icon": <SVG
|
|
12
12
|
viewBox="0 0 24 24"
|
|
@@ -20,8 +20,8 @@ Object {
|
|
|
20
20
|
"name": "link",
|
|
21
21
|
"title": "Custom Link",
|
|
22
22
|
},
|
|
23
|
-
|
|
24
|
-
"attributes":
|
|
23
|
+
{
|
|
24
|
+
"attributes": {
|
|
25
25
|
"type": "post",
|
|
26
26
|
},
|
|
27
27
|
"description": "A link to a post.",
|
|
@@ -37,8 +37,8 @@ Object {
|
|
|
37
37
|
"name": "post",
|
|
38
38
|
"title": "Post Link",
|
|
39
39
|
},
|
|
40
|
-
|
|
41
|
-
"attributes":
|
|
40
|
+
{
|
|
41
|
+
"attributes": {
|
|
42
42
|
"type": "page",
|
|
43
43
|
},
|
|
44
44
|
"description": "A link to a page.",
|
|
@@ -54,8 +54,8 @@ Object {
|
|
|
54
54
|
"name": "page",
|
|
55
55
|
"title": "Page Link",
|
|
56
56
|
},
|
|
57
|
-
|
|
58
|
-
"attributes":
|
|
57
|
+
{
|
|
58
|
+
"attributes": {
|
|
59
59
|
"type": "category",
|
|
60
60
|
},
|
|
61
61
|
"description": "A link to a category.",
|
|
@@ -73,8 +73,8 @@ Object {
|
|
|
73
73
|
"name": "category",
|
|
74
74
|
"title": "Category Link",
|
|
75
75
|
},
|
|
76
|
-
|
|
77
|
-
"attributes":
|
|
76
|
+
{
|
|
77
|
+
"attributes": {
|
|
78
78
|
"type": "tag",
|
|
79
79
|
},
|
|
80
80
|
"description": "A link to a tag.",
|
|
@@ -224,16 +224,6 @@ export default function NavigationSubmenuEdit( {
|
|
|
224
224
|
}
|
|
225
225
|
}, [] );
|
|
226
226
|
|
|
227
|
-
// Store the colors from context as attributes for rendering.
|
|
228
|
-
useEffect( () => {
|
|
229
|
-
// This side-effect should not create an undo level as those should
|
|
230
|
-
// only be created via user interactions. Mark this change as
|
|
231
|
-
// not persistent to avoid undo level creation.
|
|
232
|
-
// See https://github.com/WordPress/gutenberg/issues/34564.
|
|
233
|
-
__unstableMarkNextChangeAsNotPersistent();
|
|
234
|
-
setAttributes( { isTopLevelItem } );
|
|
235
|
-
}, [ isTopLevelItem ] );
|
|
236
|
-
|
|
237
227
|
/**
|
|
238
228
|
* The hook shouldn't be necessary but due to a focus loss happening
|
|
239
229
|
* when selecting a suggestion in the link popover, we force close on block unselection.
|