@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
package/src/embed/edit.native.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
import {
|
|
5
5
|
createUpgradedEmbedBlock,
|
|
6
6
|
getClassNames,
|
|
7
|
+
removeAspectRatioClasses,
|
|
7
8
|
fallback,
|
|
8
9
|
getEmbedInfoByProvider,
|
|
9
10
|
getMergedAttributesWithPreview,
|
|
@@ -123,16 +124,14 @@ const EmbedEdit = ( props ) => {
|
|
|
123
124
|
/**
|
|
124
125
|
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
125
126
|
*
|
|
126
|
-
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
127
127
|
* @return {Object} Merged attributes.
|
|
128
128
|
*/
|
|
129
|
-
const getMergedAttributes = (
|
|
129
|
+
const getMergedAttributes = () =>
|
|
130
130
|
getMergedAttributesWithPreview(
|
|
131
131
|
attributes,
|
|
132
132
|
preview,
|
|
133
133
|
title,
|
|
134
|
-
responsive
|
|
135
|
-
ignorePreviousClassName
|
|
134
|
+
responsive
|
|
136
135
|
);
|
|
137
136
|
|
|
138
137
|
const toggleResponsive = () => {
|
|
@@ -159,21 +158,20 @@ const EmbedEdit = ( props ) => {
|
|
|
159
158
|
const newURL = url.replace( /\/$/, '' );
|
|
160
159
|
setIsEditingURL( false );
|
|
161
160
|
setAttributes( { url: newURL } );
|
|
162
|
-
}, [ preview?.html, url ] );
|
|
161
|
+
}, [ preview?.html, url, cannotEmbed, fetching ] );
|
|
163
162
|
|
|
164
163
|
// Handle incoming preview.
|
|
165
164
|
useEffect( () => {
|
|
166
165
|
if ( preview && ! isEditingURL ) {
|
|
167
|
-
// When obtaining an incoming preview,
|
|
168
|
-
//
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
setAttributes( getMergedAttributes( true ) );
|
|
166
|
+
// When obtaining an incoming preview,
|
|
167
|
+
// we set the attributes derived from the preview data.
|
|
168
|
+
const mergedAttributes = getMergedAttributes();
|
|
169
|
+
setAttributes( mergedAttributes );
|
|
172
170
|
|
|
173
171
|
if ( onReplace ) {
|
|
174
172
|
const upgradedBlock = createUpgradedEmbedBlock(
|
|
175
173
|
props,
|
|
176
|
-
|
|
174
|
+
mergedAttributes
|
|
177
175
|
);
|
|
178
176
|
|
|
179
177
|
if ( upgradedBlock ) {
|
|
@@ -188,13 +186,25 @@ const EmbedEdit = ( props ) => {
|
|
|
188
186
|
[ isEditingURL ]
|
|
189
187
|
);
|
|
190
188
|
|
|
191
|
-
const onEditURL = useCallback(
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
189
|
+
const onEditURL = useCallback(
|
|
190
|
+
( value ) => {
|
|
191
|
+
// If the embed URL was changed, we need to reset the aspect ratio class.
|
|
192
|
+
// To do this we have to remove the existing ratio class so it can be recalculated.
|
|
193
|
+
if ( attributes.url !== value ) {
|
|
194
|
+
const blockClass = removeAspectRatioClasses(
|
|
195
|
+
attributes.className
|
|
196
|
+
);
|
|
197
|
+
setAttributes( { className: blockClass } );
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
201
|
+
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
202
|
+
// for creating the new block.
|
|
203
|
+
setAttributes( { url: value } );
|
|
204
|
+
setIsEditingURL( false );
|
|
205
|
+
},
|
|
206
|
+
[ attributes, setAttributes ]
|
|
207
|
+
);
|
|
198
208
|
|
|
199
209
|
const blockProps = useBlockProps();
|
|
200
210
|
|
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
2
|
|
|
3
3
|
exports[`Embed block alignment options sets Align center option 1`] = `
|
|
4
|
-
"<!-- wp:embed {
|
|
5
|
-
<figure class
|
|
4
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true,"align":"center"} -->
|
|
5
|
+
<figure class="wp-block-embed aligncenter is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
6
6
|
https://twitter.com/notnownikki
|
|
7
7
|
</div></figure>
|
|
8
8
|
<!-- /wp:embed -->"
|
|
9
9
|
`;
|
|
10
10
|
|
|
11
11
|
exports[`Embed block alignment options sets Align left option 1`] = `
|
|
12
|
-
"<!-- wp:embed {
|
|
13
|
-
<figure class
|
|
12
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true,"align":"left"} -->
|
|
13
|
+
<figure class="wp-block-embed alignleft is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
14
14
|
https://twitter.com/notnownikki
|
|
15
15
|
</div></figure>
|
|
16
16
|
<!-- /wp:embed -->"
|
|
17
17
|
`;
|
|
18
18
|
|
|
19
19
|
exports[`Embed block alignment options sets Align right option 1`] = `
|
|
20
|
-
"<!-- wp:embed {
|
|
21
|
-
<figure class
|
|
20
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true,"align":"right"} -->
|
|
21
|
+
<figure class="wp-block-embed alignright is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
22
22
|
https://twitter.com/notnownikki
|
|
23
23
|
</div></figure>
|
|
24
24
|
<!-- /wp:embed -->"
|
|
25
25
|
`;
|
|
26
26
|
|
|
27
27
|
exports[`Embed block alignment options sets Full width option 1`] = `
|
|
28
|
-
"<!-- wp:embed {
|
|
29
|
-
<figure class
|
|
28
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true,"align":"full"} -->
|
|
29
|
+
<figure class="wp-block-embed alignfull is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
30
30
|
https://twitter.com/notnownikki
|
|
31
31
|
</div></figure>
|
|
32
32
|
<!-- /wp:embed -->"
|
|
33
33
|
`;
|
|
34
34
|
|
|
35
35
|
exports[`Embed block alignment options sets Wide width option 1`] = `
|
|
36
|
-
"<!-- wp:embed {
|
|
37
|
-
<figure class
|
|
36
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true,"align":"wide"} -->
|
|
37
|
+
<figure class="wp-block-embed alignwide is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
38
38
|
https://twitter.com/notnownikki
|
|
39
39
|
</div></figure>
|
|
40
40
|
<!-- /wp:embed -->"
|
|
41
41
|
`;
|
|
42
42
|
|
|
43
43
|
exports[`Embed block block settings toggles resize for smaller devices media settings 1`] = `
|
|
44
|
-
"<!-- wp:embed {
|
|
45
|
-
<figure class
|
|
44
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","allowResponsive":false,"responsive":true} -->
|
|
45
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
46
46
|
https://twitter.com/notnownikki
|
|
47
47
|
</div></figure>
|
|
48
48
|
<!-- /wp:embed -->"
|
|
49
49
|
`;
|
|
50
50
|
|
|
51
51
|
exports[`Embed block create by pasting URL creates embed block when pasting URL in paragraph block 1`] = `
|
|
52
|
-
"<!-- wp:embed {
|
|
53
|
-
<figure class
|
|
52
|
+
"<!-- wp:embed {"url":"https://www.youtube.com/watch?v=lXMskKTw3Bc","type":"video","providerNameSlug":"youtube","responsive":true,"className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"} -->
|
|
53
|
+
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
|
54
54
|
https://www.youtube.com/watch?v=lXMskKTw3Bc
|
|
55
55
|
</div></figure>
|
|
56
56
|
<!-- /wp:embed -->"
|
|
@@ -58,75 +58,75 @@ https://www.youtube.com/watch?v=lXMskKTw3Bc
|
|
|
58
58
|
|
|
59
59
|
exports[`Embed block create by pasting URL creates link when pasting URL in paragraph block 1`] = `
|
|
60
60
|
"<!-- wp:paragraph -->
|
|
61
|
-
<p><a href
|
|
61
|
+
<p><a href="https://www.youtube.com/watch?v=lXMskKTw3Bc">https://www.youtube.com/watch?v=lXMskKTw3Bc</a></p>
|
|
62
62
|
<!-- /wp:paragraph -->"
|
|
63
63
|
`;
|
|
64
64
|
|
|
65
65
|
exports[`Embed block displays cannot embed on the placeholder if preview data is null 1`] = `
|
|
66
|
-
"<!-- wp:embed {
|
|
67
|
-
<figure class
|
|
66
|
+
"<!-- wp:embed {"url":"https://twitter.com/testing","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
67
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
68
68
|
https://twitter.com/testing
|
|
69
69
|
</div></figure>
|
|
70
70
|
<!-- /wp:embed -->"
|
|
71
71
|
`;
|
|
72
72
|
|
|
73
73
|
exports[`Embed block edit URL edits URL when edited after setting a bad URL of a provider 1`] = `
|
|
74
|
-
"<!-- wp:embed {
|
|
75
|
-
<figure class
|
|
74
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
75
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
76
76
|
https://twitter.com/notnownikki
|
|
77
77
|
</div></figure>
|
|
78
78
|
<!-- /wp:embed -->"
|
|
79
79
|
`;
|
|
80
80
|
|
|
81
81
|
exports[`Embed block edit URL keeps the previous URL if an invalid URL is set 1`] = `
|
|
82
|
-
"<!-- wp:embed {
|
|
83
|
-
<figure class
|
|
82
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
83
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
84
84
|
https://twitter.com/notnownikki
|
|
85
85
|
</div></figure>
|
|
86
86
|
<!-- /wp:embed -->"
|
|
87
87
|
`;
|
|
88
88
|
|
|
89
89
|
exports[`Embed block edit URL keeps the previous URL if no URL is set 1`] = `
|
|
90
|
-
"<!-- wp:embed {
|
|
91
|
-
<figure class
|
|
90
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
91
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
92
92
|
https://twitter.com/notnownikki
|
|
93
93
|
</div></figure>
|
|
94
94
|
<!-- /wp:embed -->"
|
|
95
95
|
`;
|
|
96
96
|
|
|
97
97
|
exports[`Embed block edit URL replaces URL 1`] = `
|
|
98
|
-
"<!-- wp:embed {
|
|
99
|
-
<figure class
|
|
98
|
+
"<!-- wp:embed {"url":"https://www.youtube.com/watch?v=lXMskKTw3Bc","type":"video","providerNameSlug":"youtube","responsive":true,"className":"wp-embed-aspect-16-9 wp-has-aspect-ratio"} -->
|
|
99
|
+
<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio"><div class="wp-block-embed__wrapper">
|
|
100
100
|
https://www.youtube.com/watch?v=lXMskKTw3Bc
|
|
101
101
|
</div></figure>
|
|
102
102
|
<!-- /wp:embed -->"
|
|
103
103
|
`;
|
|
104
104
|
|
|
105
|
-
exports[`Embed block edit URL sets empty state when setting an empty URL 1`] = `"<!-- wp:embed {
|
|
105
|
+
exports[`Embed block edit URL sets empty state when setting an empty URL 1`] = `"<!-- wp:embed {"url":"","type":"rich","providerNameSlug":"twitter","responsive":true} /-->"`;
|
|
106
106
|
|
|
107
107
|
exports[`Embed block insert via slash inserter insert generic embed block 1`] = `"<!-- wp:embed /-->"`;
|
|
108
108
|
|
|
109
|
-
exports[`Embed block insert via slash inserter inserts Twitter embed block 1`] = `"<!-- wp:embed {
|
|
109
|
+
exports[`Embed block insert via slash inserter inserts Twitter embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
|
|
110
110
|
|
|
111
|
-
exports[`Embed block insert via slash inserter inserts Vimeo embed block 1`] = `"<!-- wp:embed {
|
|
111
|
+
exports[`Embed block insert via slash inserter inserts Vimeo embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
|
|
112
112
|
|
|
113
|
-
exports[`Embed block insert via slash inserter inserts WordPress embed block 1`] = `"<!-- wp:embed {
|
|
113
|
+
exports[`Embed block insert via slash inserter inserts WordPress embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
|
|
114
114
|
|
|
115
|
-
exports[`Embed block insert via slash inserter inserts YouTube embed block 1`] = `"<!-- wp:embed {
|
|
115
|
+
exports[`Embed block insert via slash inserter inserts YouTube embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
|
|
116
116
|
|
|
117
|
-
exports[`Embed block insertion inserts Twitter embed block 1`] = `"<!-- wp:embed {
|
|
117
|
+
exports[`Embed block insertion inserts Twitter embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"twitter","responsive":true} /-->"`;
|
|
118
118
|
|
|
119
|
-
exports[`Embed block insertion inserts Vimeo embed block 1`] = `"<!-- wp:embed {
|
|
119
|
+
exports[`Embed block insertion inserts Vimeo embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"vimeo","responsive":true} /-->"`;
|
|
120
120
|
|
|
121
|
-
exports[`Embed block insertion inserts WordPress embed block 1`] = `"<!-- wp:embed {
|
|
121
|
+
exports[`Embed block insertion inserts WordPress embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"wordpress"} /-->"`;
|
|
122
122
|
|
|
123
|
-
exports[`Embed block insertion inserts YouTube embed block 1`] = `"<!-- wp:embed {
|
|
123
|
+
exports[`Embed block insertion inserts YouTube embed block 1`] = `"<!-- wp:embed {"providerNameSlug":"youtube","responsive":true} /-->"`;
|
|
124
124
|
|
|
125
125
|
exports[`Embed block insertion inserts generic embed block 1`] = `"<!-- wp:embed /-->"`;
|
|
126
126
|
|
|
127
127
|
exports[`Embed block retry allows editing link if request failed 1`] = `
|
|
128
|
-
"<!-- wp:embed {
|
|
129
|
-
<figure class
|
|
128
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter"} -->
|
|
129
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
130
130
|
https://twitter.com/notnownikki
|
|
131
131
|
</div></figure>
|
|
132
132
|
<!-- /wp:embed -->"
|
|
@@ -134,58 +134,58 @@ https://twitter.com/notnownikki
|
|
|
134
134
|
|
|
135
135
|
exports[`Embed block retry converts to link if preview request failed 1`] = `
|
|
136
136
|
"<!-- wp:paragraph -->
|
|
137
|
-
<p><a href
|
|
137
|
+
<p><a href="https://twitter.com/notnownikki">https://twitter.com/notnownikki</a></p>
|
|
138
138
|
<!-- /wp:paragraph -->"
|
|
139
139
|
`;
|
|
140
140
|
|
|
141
141
|
exports[`Embed block retry retries loading the preview if initial request failed 1`] = `
|
|
142
|
-
"<!-- wp:embed {
|
|
143
|
-
<figure class
|
|
142
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
143
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
144
144
|
https://twitter.com/notnownikki
|
|
145
145
|
</div></figure>
|
|
146
146
|
<!-- /wp:embed -->"
|
|
147
147
|
`;
|
|
148
148
|
|
|
149
149
|
exports[`Embed block set URL upon block insertion auto-pastes the URL from clipboard 1`] = `
|
|
150
|
-
"<!-- wp:embed {
|
|
151
|
-
<figure class
|
|
150
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
151
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
152
152
|
https://twitter.com/notnownikki
|
|
153
153
|
</div></figure>
|
|
154
154
|
<!-- /wp:embed -->"
|
|
155
155
|
`;
|
|
156
156
|
|
|
157
157
|
exports[`Embed block set URL upon block insertion sets a valid URL when dismissing edit URL modal 1`] = `
|
|
158
|
-
"<!-- wp:embed {
|
|
159
|
-
<figure class
|
|
158
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
159
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
160
160
|
https://twitter.com/notnownikki
|
|
161
161
|
</div></figure>
|
|
162
162
|
<!-- /wp:embed -->"
|
|
163
163
|
`;
|
|
164
164
|
|
|
165
|
-
exports[`Embed block set URL upon block insertion sets empty URL when dismissing edit URL modal 1`] = `"<!-- wp:embed {
|
|
165
|
+
exports[`Embed block set URL upon block insertion sets empty URL when dismissing edit URL modal 1`] = `"<!-- wp:embed {"url":""} /-->"`;
|
|
166
166
|
|
|
167
167
|
exports[`Embed block set URL when empty block auto-pastes the URL from clipboard 1`] = `
|
|
168
|
-
"<!-- wp:embed {
|
|
169
|
-
<figure class
|
|
168
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
169
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
170
170
|
https://twitter.com/notnownikki
|
|
171
171
|
</div></figure>
|
|
172
172
|
<!-- /wp:embed -->"
|
|
173
173
|
`;
|
|
174
174
|
|
|
175
175
|
exports[`Embed block set URL when empty block sets a valid URL when dismissing edit URL modal 1`] = `
|
|
176
|
-
"<!-- wp:embed {
|
|
177
|
-
<figure class
|
|
176
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
177
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
178
178
|
https://twitter.com/notnownikki
|
|
179
179
|
</div></figure>
|
|
180
180
|
<!-- /wp:embed -->"
|
|
181
181
|
`;
|
|
182
182
|
|
|
183
|
-
exports[`Embed block set URL when empty block sets empty URL when dismissing edit URL modal 1`] = `"<!-- wp:embed {
|
|
183
|
+
exports[`Embed block set URL when empty block sets empty URL when dismissing edit URL modal 1`] = `"<!-- wp:embed {"url":""} /-->"`;
|
|
184
184
|
|
|
185
185
|
exports[`Embed block sets block caption 1`] = `
|
|
186
|
-
"<!-- wp:embed {
|
|
187
|
-
<figure class
|
|
186
|
+
"<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
187
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
188
188
|
https://twitter.com/notnownikki
|
|
189
|
-
</div><figcaption class
|
|
189
|
+
</div><figcaption class="wp-element-caption">Caption</figcaption></figure>
|
|
190
190
|
<!-- /wp:embed -->"
|
|
191
191
|
`;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Jest Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
+
|
|
3
|
+
exports[`Embed block transforms to Columns block 1`] = `
|
|
4
|
+
"<!-- wp:columns -->
|
|
5
|
+
<div class="wp-block-columns"><!-- wp:column {"width":"100%"} -->
|
|
6
|
+
<div class="wp-block-column" style="flex-basis:100%"><!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
7
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
8
|
+
https://twitter.com/notnownikki
|
|
9
|
+
</div></figure>
|
|
10
|
+
<!-- /wp:embed --></div>
|
|
11
|
+
<!-- /wp:column --></div>
|
|
12
|
+
<!-- /wp:columns -->"
|
|
13
|
+
`;
|
|
14
|
+
|
|
15
|
+
exports[`Embed block transforms to Group block 1`] = `
|
|
16
|
+
"<!-- wp:group {"layout":{"type":"constrained"}} -->
|
|
17
|
+
<div class="wp-block-group"><!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
18
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
19
|
+
https://twitter.com/notnownikki
|
|
20
|
+
</div></figure>
|
|
21
|
+
<!-- /wp:embed --></div>
|
|
22
|
+
<!-- /wp:group -->"
|
|
23
|
+
`;
|
package/src/embed/test/index.js
CHANGED
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
createUpgradedEmbedBlock,
|
|
18
18
|
getEmbedInfoByProvider,
|
|
19
19
|
removeAspectRatioClasses,
|
|
20
|
+
hasAspectRatioClass,
|
|
20
21
|
} from '../util';
|
|
21
22
|
import { embedInstagramIcon } from '../icons';
|
|
22
23
|
import variations from '../variations';
|
|
@@ -101,6 +102,17 @@ describe( 'utils', () => {
|
|
|
101
102
|
).toEqual( expected );
|
|
102
103
|
} );
|
|
103
104
|
} );
|
|
105
|
+
describe( 'hasAspectRatioClass', () => {
|
|
106
|
+
it( 'should return false if an aspect ratio class does not exist', () => {
|
|
107
|
+
const existingClassNames = 'wp-block-embed is-type-video';
|
|
108
|
+
expect( hasAspectRatioClass( existingClassNames ) ).toBe( false );
|
|
109
|
+
} );
|
|
110
|
+
it( 'should return true if an aspect ratio class exists', () => {
|
|
111
|
+
const existingClassNames =
|
|
112
|
+
'wp-block-embed is-type-video wp-embed-aspect-16-9 wp-has-aspect-ratio';
|
|
113
|
+
expect( hasAspectRatioClass( existingClassNames ) ).toBe( true );
|
|
114
|
+
} );
|
|
115
|
+
} );
|
|
104
116
|
describe( 'removeAspectRatioClasses', () => {
|
|
105
117
|
it( 'should return the same falsy value as received', () => {
|
|
106
118
|
const existingClassNames = undefined;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
getEditorHtml,
|
|
6
|
+
initializeEditor,
|
|
7
|
+
setupCoreBlocks,
|
|
8
|
+
transformBlock,
|
|
9
|
+
getBlockTransformOptions,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
|
|
12
|
+
const block = 'Embed';
|
|
13
|
+
const initialHtml = `
|
|
14
|
+
<!-- wp:embed {"url":"https://twitter.com/notnownikki","type":"rich","providerNameSlug":"twitter","responsive":true} -->
|
|
15
|
+
<figure class="wp-block-embed is-type-rich is-provider-twitter wp-block-embed-twitter"><div class="wp-block-embed__wrapper">
|
|
16
|
+
https://twitter.com/notnownikki
|
|
17
|
+
</div></figure>
|
|
18
|
+
<!-- /wp:embed -->`;
|
|
19
|
+
|
|
20
|
+
const transformsWithInnerBlocks = [ 'Columns', 'Group' ];
|
|
21
|
+
const blockTransforms = [ ...transformsWithInnerBlocks ];
|
|
22
|
+
|
|
23
|
+
setupCoreBlocks();
|
|
24
|
+
|
|
25
|
+
describe( `${ block } block transforms`, () => {
|
|
26
|
+
test.each( blockTransforms )( 'to %s block', async ( blockTransform ) => {
|
|
27
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
28
|
+
const newBlock = await transformBlock( screen, block, blockTransform, {
|
|
29
|
+
hasInnerBlocks:
|
|
30
|
+
transformsWithInnerBlocks.includes( blockTransform ),
|
|
31
|
+
} );
|
|
32
|
+
expect( newBlock ).toBeVisible();
|
|
33
|
+
expect( getEditorHtml() ).toMatchSnapshot();
|
|
34
|
+
} );
|
|
35
|
+
|
|
36
|
+
it( 'matches expected transformation options', async () => {
|
|
37
|
+
const screen = await initializeEditor( { initialHtml } );
|
|
38
|
+
const transformOptions = await getBlockTransformOptions(
|
|
39
|
+
screen,
|
|
40
|
+
block
|
|
41
|
+
);
|
|
42
|
+
expect( transformOptions ).toHaveLength( blockTransforms.length );
|
|
43
|
+
} );
|
|
44
|
+
} );
|
package/src/embed/util.js
CHANGED
|
@@ -152,6 +152,21 @@ export const createUpgradedEmbedBlock = (
|
|
|
152
152
|
} );
|
|
153
153
|
};
|
|
154
154
|
|
|
155
|
+
/**
|
|
156
|
+
* Determine if the block already has an aspect ratio class applied.
|
|
157
|
+
*
|
|
158
|
+
* @param {string} existingClassNames Existing block classes.
|
|
159
|
+
* @return {boolean} True or false if the classnames contain an aspect ratio class.
|
|
160
|
+
*/
|
|
161
|
+
export const hasAspectRatioClass = ( existingClassNames ) => {
|
|
162
|
+
if ( ! existingClassNames ) {
|
|
163
|
+
return false;
|
|
164
|
+
}
|
|
165
|
+
return ASPECT_RATIOS.some( ( { className } ) =>
|
|
166
|
+
existingClassNames.includes( className )
|
|
167
|
+
);
|
|
168
|
+
};
|
|
169
|
+
|
|
155
170
|
/**
|
|
156
171
|
* Removes all previously set aspect ratio related classes and return the rest
|
|
157
172
|
* existing class names.
|
|
@@ -283,6 +298,13 @@ export const getAttributesFromPreview = memoize(
|
|
|
283
298
|
attributes.providerNameSlug = providerNameSlug;
|
|
284
299
|
}
|
|
285
300
|
|
|
301
|
+
// Aspect ratio classes are removed when the embed URL is updated.
|
|
302
|
+
// If the embed already has an aspect ratio class, that means the URL has not changed.
|
|
303
|
+
// Which also means no need to regenerate it with getClassNames.
|
|
304
|
+
if ( hasAspectRatioClass( currentClassNames ) ) {
|
|
305
|
+
return attributes;
|
|
306
|
+
}
|
|
307
|
+
|
|
286
308
|
attributes.className = getClassNames(
|
|
287
309
|
html,
|
|
288
310
|
currentClassNames,
|
|
@@ -296,27 +318,26 @@ export const getAttributesFromPreview = memoize(
|
|
|
296
318
|
/**
|
|
297
319
|
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
298
320
|
*
|
|
299
|
-
* @param {Object} currentAttributes
|
|
300
|
-
* @param {Object} preview
|
|
301
|
-
* @param {string} title
|
|
302
|
-
* @param {boolean} isResponsive
|
|
303
|
-
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
321
|
+
* @param {Object} currentAttributes The current attributes of the block.
|
|
322
|
+
* @param {Object} preview The preview data.
|
|
323
|
+
* @param {string} title The block's title, e.g. Twitter.
|
|
324
|
+
* @param {boolean} isResponsive Boolean indicating if the block supports responsive content.
|
|
304
325
|
* @return {Object} Merged attributes.
|
|
305
326
|
*/
|
|
306
327
|
export const getMergedAttributesWithPreview = (
|
|
307
328
|
currentAttributes,
|
|
308
329
|
preview,
|
|
309
330
|
title,
|
|
310
|
-
isResponsive
|
|
311
|
-
ignorePreviousClassName = false
|
|
331
|
+
isResponsive
|
|
312
332
|
) => {
|
|
313
333
|
const { allowResponsive, className } = currentAttributes;
|
|
334
|
+
|
|
314
335
|
return {
|
|
315
336
|
...currentAttributes,
|
|
316
337
|
...getAttributesFromPreview(
|
|
317
338
|
preview,
|
|
318
339
|
title,
|
|
319
|
-
|
|
340
|
+
className,
|
|
320
341
|
isResponsive,
|
|
321
342
|
allowResponsive
|
|
322
343
|
),
|
package/src/file/inspector.js
CHANGED
|
@@ -43,6 +43,7 @@ export default function FileBlockInspector( {
|
|
|
43
43
|
{ href.endsWith( '.pdf' ) && (
|
|
44
44
|
<PanelBody title={ __( 'PDF settings' ) }>
|
|
45
45
|
<ToggleControl
|
|
46
|
+
__nextHasNoMarginBottom
|
|
46
47
|
label={ __( 'Show inline embed' ) }
|
|
47
48
|
help={
|
|
48
49
|
displayPreview
|
|
@@ -78,11 +79,13 @@ export default function FileBlockInspector( {
|
|
|
78
79
|
onChange={ changeLinkDestinationOption }
|
|
79
80
|
/>
|
|
80
81
|
<ToggleControl
|
|
82
|
+
__nextHasNoMarginBottom
|
|
81
83
|
label={ __( 'Open in new tab' ) }
|
|
82
84
|
checked={ openInNewWindow }
|
|
83
85
|
onChange={ changeOpenInNewWindow }
|
|
84
86
|
/>
|
|
85
87
|
<ToggleControl
|
|
88
|
+
__nextHasNoMarginBottom
|
|
86
89
|
label={ __( 'Show download button' ) }
|
|
87
90
|
checked={ showDownloadButton }
|
|
88
91
|
onChange={ changeShowDownloadButton }
|