@wordpress/block-library 8.29.0 → 8.31.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/audio/edit.js +7 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js.map +1 -1
- package/build/block/deprecated.js +71 -11
- package/build/block/deprecated.js.map +1 -1
- package/build/block/edit.js +65 -31
- package/build/block/edit.js.map +1 -1
- package/build/button/edit.js +2 -2
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/buttons/transforms.js +16 -2
- package/build/buttons/transforms.js.map +1 -1
- package/build/code/save.js +3 -1
- package/build/code/save.js.map +1 -1
- package/build/code/transforms.js +17 -6
- package/build/code/transforms.js.map +1 -1
- package/build/columns/edit.js +3 -2
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -1
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/block-controls.js +14 -3
- package/build/cover/edit/block-controls.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +0 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/edit.js +1 -0
- package/build/details/edit.js.map +1 -1
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +8 -13
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/heading/index.js +4 -3
- package/build/heading/index.js.map +1 -1
- package/build/heading/transforms.js +17 -4
- package/build/heading/transforms.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +22 -8
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.js +1 -3
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/index.js +0 -7
- package/build/list-item/hooks/index.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +16 -7
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/list-item/index.js +4 -1
- package/build/list-item/index.js.map +1 -1
- package/build/media-text/edit.js +33 -9
- package/build/media-text/edit.js.map +1 -1
- package/build/media-text/index.js +5 -0
- package/build/media-text/index.js.map +1 -1
- package/build/media-text/media-container.js +30 -11
- package/build/media-text/media-container.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/media-text/save.js +2 -2
- package/build/media-text/save.js.map +1 -1
- package/build/navigation/edit/index.js +23 -29
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/navigation-menu-delete-control.js +12 -20
- package/build/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build/navigation/edit/navigation-menu-selector.js +24 -23
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/placeholder/index.js +4 -4
- package/build/navigation/edit/placeholder/index.js.map +1 -1
- package/build/navigation/use-navigation-menu.js +15 -12
- package/build/navigation/use-navigation-menu.js.map +1 -1
- package/build/navigation-link/edit.js +12 -10
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -0
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/pattern/edit.js +11 -0
- package/build/pattern/edit.js.map +1 -1
- package/build/post-author/edit.js +1 -0
- package/build/post-author/edit.js.map +1 -1
- package/build/post-excerpt/edit.js +1 -0
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js +12 -12
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-featured-image/index.js +6 -0
- package/build/post-featured-image/index.js.map +1 -1
- package/build/post-navigation-link/edit.js +1 -0
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-terms/edit.js +2 -0
- package/build/post-terms/edit.js.map +1 -1
- package/build/post-title/edit.js +2 -2
- package/build/post-title/edit.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/utils.js +7 -5
- package/build/query/utils.js.map +1 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +111 -12
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +7 -7
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +2 -2
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js +1 -0
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +3 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js +2 -2
- package/build/search/edit.native.js.map +1 -1
- package/build/site-logo/edit.js +7 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/{edit/index.js → edit.js} +1 -1
- package/build/site-title/edit.js.map +1 -0
- package/build/social-link/edit.js +1 -1
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/icons/medium.js +1 -1
- package/build/social-link/icons/medium.js.map +1 -1
- package/build/social-link/icons/reddit.js +1 -1
- package/build/social-link/icons/reddit.js.map +1 -1
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/table/deprecated.js +285 -175
- package/build/table/deprecated.js.map +1 -1
- package/build/table/index.js +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +53 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -8
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build/utils/caption.js +15 -5
- package/build/utils/caption.js.map +1 -1
- package/build/utils/get-transformed-metadata.js +57 -0
- package/build/utils/get-transformed-metadata.js.map +1 -0
- package/build/utils/hooks.js +55 -4
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +7 -16
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +3 -8
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +10 -20
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/deprecated.js +71 -11
- package/build-module/block/deprecated.js.map +1 -1
- package/build-module/block/edit.js +66 -32
- package/build-module/block/edit.js.map +1 -1
- package/build-module/button/edit.js +3 -3
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/buttons/transforms.js +16 -2
- package/build-module/buttons/transforms.js.map +1 -1
- package/build-module/code/save.js +3 -1
- package/build-module/code/save.js.map +1 -1
- package/build-module/code/transforms.js +17 -6
- package/build-module/code/transforms.js.map +1 -1
- package/build-module/columns/edit.js +3 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/block-controls.js +15 -4
- package/build-module/cover/edit/block-controls.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -7
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/edit.js +1 -0
- package/build-module/details/edit.js.map +1 -1
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +9 -14
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/heading/index.js +4 -3
- package/build-module/heading/index.js.map +1 -1
- package/build-module/heading/transforms.js +17 -4
- package/build-module/heading/transforms.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +23 -9
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.js +2 -4
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/index.js +0 -1
- package/build-module/list-item/hooks/index.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +17 -8
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/list-item/index.js +4 -1
- package/build-module/list-item/index.js.map +1 -1
- package/build-module/media-text/edit.js +34 -10
- package/build-module/media-text/edit.js.map +1 -1
- package/build-module/media-text/index.js +5 -0
- package/build-module/media-text/index.js.map +1 -1
- package/build-module/media-text/media-container.js +31 -12
- package/build-module/media-text/media-container.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/media-text/save.js +2 -2
- package/build-module/media-text/save.js.map +1 -1
- package/build-module/navigation/edit/index.js +24 -30
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-delete-control.js +15 -23
- package/build-module/navigation/edit/navigation-menu-delete-control.js.map +1 -1
- package/build-module/navigation/edit/navigation-menu-selector.js +24 -23
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/placeholder/index.js +4 -4
- package/build-module/navigation/edit/placeholder/index.js.map +1 -1
- package/build-module/navigation/use-navigation-menu.js +15 -12
- package/build-module/navigation/use-navigation-menu.js.map +1 -1
- package/build-module/navigation-link/edit.js +13 -11
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -0
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/paragraph/edit.native.js.map +1 -1
- package/build-module/pattern/edit.js +11 -0
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-author/edit.js +1 -0
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js +1 -0
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js +13 -13
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-featured-image/index.js +6 -0
- package/build-module/post-featured-image/index.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +1 -0
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-terms/edit.js +2 -0
- package/build-module/post-terms/edit.js.map +1 -1
- package/build-module/post-title/edit.js +2 -2
- package/build-module/post-title/edit.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/utils.js +7 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +112 -13
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +7 -7
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +2 -2
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js +1 -0
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +3 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js +2 -2
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js +7 -2
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/{edit/index.js → edit.js} +1 -1
- package/build-module/site-title/edit.js.map +1 -0
- package/build-module/social-link/edit.js +1 -1
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/icons/medium.js +1 -1
- package/build-module/social-link/icons/medium.js.map +1 -1
- package/build-module/social-link/icons/reddit.js +1 -1
- package/build-module/social-link/icons/reddit.js.map +1 -1
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table/deprecated.js +286 -176
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/index.js +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +57 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -8
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build-module/utils/caption.js +13 -3
- package/build-module/utils/caption.js.map +1 -1
- package/build-module/utils/get-transformed-metadata.js +51 -0
- package/build-module/utils/get-transformed-metadata.js.map +1 -0
- package/build-module/utils/hooks.js +54 -3
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -19
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +3 -8
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/common-rtl.css +1 -0
- package/build-style/common.css +1 -0
- package/build-style/cover/style-rtl.css +2 -1
- package/build-style/cover/style.css +2 -1
- package/build-style/editor-rtl.css +11 -2
- package/build-style/editor.css +11 -2
- package/build-style/file/editor-rtl.css +3 -0
- package/build-style/file/editor.css +3 -0
- package/build-style/group/editor-rtl.css +1 -1
- package/build-style/group/editor.css +1 -1
- package/build-style/media-text/editor-rtl.css +7 -1
- package/build-style/media-text/editor.css +7 -1
- package/build-style/search/style-rtl.css +2 -0
- package/build-style/search/style.css +2 -0
- package/build-style/social-links/style-rtl.css +2 -2
- package/build-style/social-links/style.css +2 -2
- package/build-style/style-rtl.css +6 -3
- package/build-style/style.css +6 -3
- package/package.json +34 -34
- package/src/archives/index.php +4 -0
- package/src/audio/edit.js +9 -19
- package/src/audio/edit.native.js +3 -3
- package/src/avatar/edit.js +1 -1
- package/src/avatar/index.php +6 -0
- package/src/block/deprecated.js +76 -11
- package/src/block/edit.js +100 -32
- package/src/block/index.php +27 -12
- package/src/block/test/edit.native.js +67 -0
- package/src/button/edit.js +4 -3
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/transforms.js +14 -4
- package/src/calendar/index.php +17 -0
- package/src/categories/index.php +6 -0
- package/src/code/save.js +7 -1
- package/src/code/transforms.js +20 -5
- package/src/columns/edit.js +3 -2
- package/src/comment-author-avatar/edit.js +1 -1
- package/src/comment-author-name/index.php +4 -0
- package/src/comment-content/index.php +4 -0
- package/src/comment-date/index.php +4 -0
- package/src/comment-edit-link/index.php +4 -0
- package/src/comment-reply-link/index.php +4 -0
- package/src/comment-template/index.php +4 -0
- package/src/comments/index.php +12 -0
- package/src/comments-pagination/index.php +4 -0
- package/src/comments-pagination-next/index.php +4 -0
- package/src/comments-pagination-numbers/index.php +4 -0
- package/src/comments-pagination-previous/index.php +4 -0
- package/src/comments-title/index.php +4 -0
- package/src/cover/edit/block-controls.js +16 -2
- package/src/cover/edit/index.js +6 -3
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -6
- package/src/cover/edit.native.js +1 -1
- package/src/cover/index.php +4 -0
- package/src/cover/style.scss +3 -2
- package/src/details/edit.js +1 -0
- package/src/file/deprecated.js +3 -3
- package/src/file/edit.js +10 -15
- package/src/file/edit.native.js +4 -4
- package/src/file/editor.scss +3 -0
- package/src/file/index.php +4 -0
- package/src/file/save.js +1 -1
- package/src/footnotes/index.php +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/gallery/edit.js +3 -3
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/index.php +6 -0
- package/src/gallery/test/index.native.js +1 -1
- package/src/gallery/v1/edit.js +2 -2
- package/src/gallery/v1/gallery.native.js +1 -1
- package/src/group/editor.scss +1 -1
- package/src/heading/index.js +4 -3
- package/src/heading/index.php +4 -0
- package/src/heading/transforms.js +27 -8
- package/src/home-link/index.php +10 -0
- package/src/image/edit.js +13 -5
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +1 -0
- package/src/image/image.js +34 -22
- package/src/image/index.php +12 -1
- package/src/latest-comments/index.php +4 -0
- package/src/latest-posts/edit.native.js +1 -1
- package/src/latest-posts/index.php +8 -0
- package/src/list/ordered-list-settings.js +1 -1
- package/src/list-item/edit.js +1 -2
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/hooks/index.js +0 -1
- package/src/list-item/hooks/use-indent-list-item.js +2 -0
- package/src/list-item/hooks/use-outdent-list-item.js +2 -0
- package/src/list-item/hooks/use-space.js +16 -9
- package/src/list-item/index.js +3 -0
- package/src/loginout/index.php +4 -0
- package/src/media-text/block.json +5 -0
- package/src/media-text/edit.js +70 -19
- package/src/media-text/editor.scss +7 -1
- package/src/media-text/index.php +70 -0
- package/src/media-text/media-container.js +49 -9
- package/src/media-text/media-container.native.js +5 -3
- package/src/media-text/save.js +2 -2
- package/src/media-text/test/edit.native.js +58 -0
- package/src/missing/test/edit-integration.native.js +2 -1
- package/src/navigation/edit/index.js +68 -72
- package/src/navigation/edit/navigation-menu-delete-control.js +22 -49
- package/src/navigation/edit/navigation-menu-selector.js +39 -21
- package/src/navigation/edit/placeholder/index.js +4 -4
- package/src/navigation/edit/test/navigation-menu-selector.js +77 -55
- package/src/navigation/index.php +118 -34
- package/src/navigation/test/use-navigation-menu.js +21 -21
- package/src/navigation/use-navigation-menu.js +23 -9
- package/src/navigation-link/edit.js +12 -13
- package/src/navigation-link/index.php +14 -0
- package/src/navigation-link/link-ui.js +2 -2
- package/src/navigation-submenu/edit.js +4 -0
- package/src/navigation-submenu/index.php +8 -0
- package/src/page-list/index.php +12 -0
- package/src/page-list-item/index.php +2 -0
- package/src/paragraph/edit.native.js +1 -1
- package/src/paragraph/test/edit.native.js +36 -0
- package/src/pattern/edit.js +14 -0
- package/src/pattern/index.php +2 -0
- package/src/post-author/edit.js +1 -0
- package/src/post-author/index.php +4 -0
- package/src/post-author-biography/index.php +4 -0
- package/src/post-author-name/index.php +4 -0
- package/src/post-comments-form/index.php +6 -0
- package/src/post-content/index.php +4 -0
- package/src/post-date/index.php +4 -0
- package/src/post-excerpt/edit.js +2 -1
- package/src/post-excerpt/index.php +4 -0
- package/src/post-featured-image/block.json +6 -0
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +14 -12
- package/src/post-featured-image/index.php +15 -0
- package/src/post-navigation-link/edit.js +2 -1
- package/src/post-navigation-link/index.php +4 -0
- package/src/post-template/index.php +6 -0
- package/src/post-terms/edit.js +2 -0
- package/src/post-terms/index.php +6 -0
- package/src/post-title/edit.js +49 -43
- package/src/post-title/index.php +2 -0
- package/src/query/edit/pattern-selection-modal.js +1 -1
- package/src/query/index.php +2 -0
- package/src/query/utils.js +6 -4
- package/src/query-no-results/index.php +4 -0
- package/src/query-pagination/index.php +4 -0
- package/src/query-pagination-next/edit.js +1 -1
- package/src/query-pagination-next/index.php +4 -0
- package/src/query-pagination-numbers/index.php +4 -0
- package/src/query-pagination-previous/edit.js +1 -1
- package/src/query-pagination-previous/index.php +4 -0
- package/src/query-title/index.php +4 -0
- package/src/quote/block.json +1 -1
- package/src/quote/deprecated.js +110 -15
- package/src/quote/edit.js +16 -10
- package/src/quote/save.js +2 -2
- package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/read-more/edit.js +2 -1
- package/src/read-more/index.php +4 -0
- package/src/rss/index.php +4 -0
- package/src/search/edit.js +3 -1
- package/src/search/edit.native.js +6 -6
- package/src/search/index.php +20 -2
- package/src/search/style.scss +2 -0
- package/src/shortcode/index.php +4 -0
- package/src/site-logo/edit.js +11 -6
- package/src/site-logo/index.php +20 -0
- package/src/site-tagline/index.php +4 -0
- package/src/site-title/index.php +4 -0
- package/src/social-link/edit.js +2 -2
- package/src/social-link/icons/medium.js +1 -1
- package/src/social-link/icons/reddit.js +1 -1
- package/src/social-link/index.php +22 -9
- package/src/social-link/socials-with-bg.scss +1 -1
- package/src/social-link/socials-without-bg.scss +1 -1
- package/src/social-links/edit.native.js +1 -1
- package/src/spacer/edit.js +1 -1
- package/src/table/block.json +1 -1
- package/src/table/deprecated.js +308 -175
- package/src/table-of-contents/edit.js +1 -1
- package/src/tag-cloud/index.php +4 -0
- package/src/template-part/edit/index.js +91 -4
- package/src/template-part/edit/selection-modal.js +4 -8
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
- package/src/template-part/index.php +10 -0
- package/src/term-description/index.php +4 -0
- package/src/utils/caption.js +10 -1
- package/src/utils/get-transformed-metadata.js +65 -0
- package/src/utils/hooks.js +53 -3
- package/src/video/edit-common-settings.js +1 -1
- package/src/video/edit.js +10 -18
- package/src/video/edit.native.js +7 -8
- package/src/video/test/edit.native.js +0 -14
- package/tsconfig.json +1 -0
- package/build/list-item/hooks/use-copy.js +0 -39
- package/build/list-item/hooks/use-copy.js.map +0 -1
- package/build/site-title/edit/index.js.map +0 -1
- package/build-module/list-item/hooks/use-copy.js +0 -32
- package/build-module/list-item/hooks/use-copy.js.map +0 -1
- package/build-module/site-title/edit/index.js.map +0 -1
- package/src/list-item/hooks/use-copy.js +0 -38
- /package/src/site-title/{edit/index.js → edit.js} +0 -0
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { useRefEffect } from '@wordpress/compose';
|
|
5
|
-
import { SPACE } from '@wordpress/keycodes';
|
|
5
|
+
import { SPACE, TAB } from '@wordpress/keycodes';
|
|
6
6
|
import { store as blockEditorStore } from '@wordpress/block-editor';
|
|
7
7
|
import { useSelect } from '@wordpress/data';
|
|
8
8
|
|
|
@@ -10,11 +10,13 @@ import { useSelect } from '@wordpress/data';
|
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
12
|
import useIndentListItem from './use-indent-list-item';
|
|
13
|
+
import useOutdentListItem from './use-outdent-list-item';
|
|
13
14
|
|
|
14
15
|
export default function useSpace( clientId ) {
|
|
15
16
|
const { getSelectionStart, getSelectionEnd, getBlockIndex } =
|
|
16
17
|
useSelect( blockEditorStore );
|
|
17
18
|
const indentListItem = useIndentListItem( clientId );
|
|
19
|
+
const outdentListItem = useOutdentListItem();
|
|
18
20
|
|
|
19
21
|
return useRefEffect(
|
|
20
22
|
( element ) => {
|
|
@@ -23,9 +25,8 @@ export default function useSpace( clientId ) {
|
|
|
23
25
|
|
|
24
26
|
if (
|
|
25
27
|
event.defaultPrevented ||
|
|
26
|
-
keyCode !== SPACE ||
|
|
28
|
+
( keyCode !== SPACE && keyCode !== TAB ) ||
|
|
27
29
|
// Only override when no modifiers are pressed.
|
|
28
|
-
shiftKey ||
|
|
29
30
|
altKey ||
|
|
30
31
|
metaKey ||
|
|
31
32
|
ctrlKey
|
|
@@ -33,18 +34,24 @@ export default function useSpace( clientId ) {
|
|
|
33
34
|
return;
|
|
34
35
|
}
|
|
35
36
|
|
|
36
|
-
if ( getBlockIndex( clientId ) === 0 ) {
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
37
|
const selectionStart = getSelectionStart();
|
|
41
38
|
const selectionEnd = getSelectionEnd();
|
|
42
39
|
if (
|
|
43
40
|
selectionStart.offset === 0 &&
|
|
44
41
|
selectionEnd.offset === 0
|
|
45
42
|
) {
|
|
46
|
-
|
|
47
|
-
|
|
43
|
+
if ( shiftKey ) {
|
|
44
|
+
// Note that backspace behaviour in defined in onMerge.
|
|
45
|
+
if ( keyCode === TAB ) {
|
|
46
|
+
if ( outdentListItem() ) {
|
|
47
|
+
event.preventDefault();
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} else if ( getBlockIndex( clientId ) !== 0 ) {
|
|
51
|
+
if ( indentListItem() ) {
|
|
52
|
+
event.preventDefault();
|
|
53
|
+
}
|
|
54
|
+
}
|
|
48
55
|
}
|
|
49
56
|
}
|
|
50
57
|
|
package/src/list-item/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { listItem as icon } from '@wordpress/icons';
|
|
5
|
+
import { privateApis } from '@wordpress/block-editor';
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Internal dependencies
|
|
@@ -11,6 +12,7 @@ import metadata from './block.json';
|
|
|
11
12
|
import edit from './edit';
|
|
12
13
|
import save from './save';
|
|
13
14
|
import transforms from './transforms';
|
|
15
|
+
import { unlock } from '../lock-unlock';
|
|
14
16
|
|
|
15
17
|
const { name } = metadata;
|
|
16
18
|
|
|
@@ -27,6 +29,7 @@ export const settings = {
|
|
|
27
29
|
};
|
|
28
30
|
},
|
|
29
31
|
transforms,
|
|
32
|
+
[ unlock( privateApis ).requiresWrapperOnCopy ]: true,
|
|
30
33
|
};
|
|
31
34
|
|
|
32
35
|
export const init = () => initBlock( { name, metadata, settings } );
|
package/src/loginout/index.php
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
/**
|
|
9
9
|
* Renders the `core/loginout` block on server.
|
|
10
10
|
*
|
|
11
|
+
* @since 5.8.0
|
|
12
|
+
*
|
|
11
13
|
* @param array $attributes The block attributes.
|
|
12
14
|
*
|
|
13
15
|
* @return string Returns the login-out link or form.
|
|
@@ -39,6 +41,8 @@ function render_block_core_loginout( $attributes ) {
|
|
|
39
41
|
|
|
40
42
|
/**
|
|
41
43
|
* Registers the `core/loginout` block on server.
|
|
44
|
+
*
|
|
45
|
+
* @since 5.8.0
|
|
42
46
|
*/
|
|
43
47
|
function register_block_core_loginout() {
|
|
44
48
|
register_block_type_from_metadata(
|
|
@@ -92,8 +92,13 @@
|
|
|
92
92
|
},
|
|
93
93
|
"allowedBlocks": {
|
|
94
94
|
"type": "array"
|
|
95
|
+
},
|
|
96
|
+
"useFeaturedImage": {
|
|
97
|
+
"type": "boolean",
|
|
98
|
+
"default": false
|
|
95
99
|
}
|
|
96
100
|
},
|
|
101
|
+
"usesContext": [ "postId", "postType" ],
|
|
97
102
|
"supports": {
|
|
98
103
|
"anchor": true,
|
|
99
104
|
"align": [ "wide", "full" ],
|
package/src/media-text/edit.js
CHANGED
|
@@ -31,7 +31,7 @@ import {
|
|
|
31
31
|
} from '@wordpress/components';
|
|
32
32
|
import { isBlobURL, getBlobTypeByURL } from '@wordpress/blob';
|
|
33
33
|
import { pullLeft, pullRight } from '@wordpress/icons';
|
|
34
|
-
import { store as coreStore } from '@wordpress/core-data';
|
|
34
|
+
import { useEntityProp, store as coreStore } from '@wordpress/core-data';
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Internal dependencies
|
|
@@ -127,7 +127,12 @@ function attributesFromMedia( {
|
|
|
127
127
|
};
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
-
function MediaTextEdit( {
|
|
130
|
+
function MediaTextEdit( {
|
|
131
|
+
attributes,
|
|
132
|
+
isSelected,
|
|
133
|
+
setAttributes,
|
|
134
|
+
context: { postId, postType },
|
|
135
|
+
} ) {
|
|
131
136
|
const {
|
|
132
137
|
focalPoint,
|
|
133
138
|
href,
|
|
@@ -145,9 +150,42 @@ function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
|
145
150
|
rel,
|
|
146
151
|
verticalAlignment,
|
|
147
152
|
allowedBlocks,
|
|
153
|
+
useFeaturedImage,
|
|
148
154
|
} = attributes;
|
|
149
155
|
const mediaSizeSlug = attributes.mediaSizeSlug || DEFAULT_MEDIA_SIZE_SLUG;
|
|
150
156
|
|
|
157
|
+
const [ featuredImage ] = useEntityProp(
|
|
158
|
+
'postType',
|
|
159
|
+
postType,
|
|
160
|
+
'featured_media',
|
|
161
|
+
postId
|
|
162
|
+
);
|
|
163
|
+
|
|
164
|
+
const featuredImageMedia = useSelect(
|
|
165
|
+
( select ) =>
|
|
166
|
+
featuredImage &&
|
|
167
|
+
select( coreStore ).getMedia( featuredImage, { context: 'view' } ),
|
|
168
|
+
[ featuredImage ]
|
|
169
|
+
);
|
|
170
|
+
|
|
171
|
+
const featuredImageURL = useFeaturedImage
|
|
172
|
+
? featuredImageMedia?.source_url
|
|
173
|
+
: '';
|
|
174
|
+
const featuredImageAlt = useFeaturedImage
|
|
175
|
+
? featuredImageMedia?.alt_text
|
|
176
|
+
: '';
|
|
177
|
+
|
|
178
|
+
const toggleUseFeaturedImage = () => {
|
|
179
|
+
setAttributes( {
|
|
180
|
+
imageFill: false,
|
|
181
|
+
mediaType: 'image',
|
|
182
|
+
mediaId: undefined,
|
|
183
|
+
mediaUrl: undefined,
|
|
184
|
+
mediaAlt: undefined,
|
|
185
|
+
useFeaturedImage: ! useFeaturedImage,
|
|
186
|
+
} );
|
|
187
|
+
};
|
|
188
|
+
|
|
151
189
|
const { imageSizes, image } = useSelect(
|
|
152
190
|
( select ) => {
|
|
153
191
|
const { getSettings } = select( blockEditorStore );
|
|
@@ -261,25 +299,30 @@ function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
|
261
299
|
}
|
|
262
300
|
/>
|
|
263
301
|
) }
|
|
264
|
-
{ imageFill &&
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
302
|
+
{ imageFill &&
|
|
303
|
+
( mediaUrl || featuredImageURL ) &&
|
|
304
|
+
mediaType === 'image' && (
|
|
305
|
+
<FocalPointPicker
|
|
306
|
+
__nextHasNoMarginBottom
|
|
307
|
+
label={ __( 'Focal point' ) }
|
|
308
|
+
url={
|
|
309
|
+
useFeaturedImage && featuredImageURL
|
|
310
|
+
? featuredImageURL
|
|
311
|
+
: mediaUrl
|
|
312
|
+
}
|
|
313
|
+
value={ focalPoint }
|
|
314
|
+
onChange={ ( value ) =>
|
|
315
|
+
setAttributes( { focalPoint: value } )
|
|
316
|
+
}
|
|
317
|
+
onDragStart={ imperativeFocalPointPreview }
|
|
318
|
+
onDrag={ imperativeFocalPointPreview }
|
|
319
|
+
/>
|
|
320
|
+
) }
|
|
321
|
+
{ mediaType === 'image' && ( mediaUrl || featuredImageURL ) && (
|
|
279
322
|
<TextareaControl
|
|
280
323
|
__nextHasNoMarginBottom
|
|
281
324
|
label={ __( 'Alternative text' ) }
|
|
282
|
-
value={ mediaAlt }
|
|
325
|
+
value={ mediaAlt || featuredImageAlt }
|
|
283
326
|
onChange={ onMediaAltChange }
|
|
284
327
|
help={
|
|
285
328
|
<>
|
|
@@ -353,7 +396,11 @@ function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
|
353
396
|
onChangeUrl={ onSetHref }
|
|
354
397
|
linkDestination={ linkDestination }
|
|
355
398
|
mediaType={ mediaType }
|
|
356
|
-
mediaUrl={
|
|
399
|
+
mediaUrl={
|
|
400
|
+
useFeaturedImage && featuredImageURL
|
|
401
|
+
? featuredImageURL
|
|
402
|
+
: image && image.source_url
|
|
403
|
+
}
|
|
357
404
|
mediaLink={ image && image.link }
|
|
358
405
|
linkTarget={ linkTarget }
|
|
359
406
|
linkClass={ linkClass }
|
|
@@ -370,6 +417,7 @@ function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
|
370
417
|
commitWidthChange={ commitWidthChange }
|
|
371
418
|
ref={ refMediaContainer }
|
|
372
419
|
enableResize={ blockEditingMode === 'default' }
|
|
420
|
+
toggleUseFeaturedImage={ toggleUseFeaturedImage }
|
|
373
421
|
{ ...{
|
|
374
422
|
focalPoint,
|
|
375
423
|
imageFill,
|
|
@@ -381,6 +429,9 @@ function MediaTextEdit( { attributes, isSelected, setAttributes } ) {
|
|
|
381
429
|
mediaType,
|
|
382
430
|
mediaUrl,
|
|
383
431
|
mediaWidth,
|
|
432
|
+
useFeaturedImage,
|
|
433
|
+
featuredImageURL,
|
|
434
|
+
featuredImageAlt,
|
|
384
435
|
} }
|
|
385
436
|
/>
|
|
386
437
|
{ mediaPosition !== 'right' && <div { ...innerBlocksProps } /> }
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
width: 100% !important;
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
.wp-block-media-text.is-image-fill .editor-media-container__resizer
|
|
29
|
+
.wp-block-media-text.is-image-fill .editor-media-container__resizer,
|
|
30
|
+
.wp-block-media-text.is-image-fill .components-placeholder.has-illustration {
|
|
30
31
|
// The resizer sets an inline height but for the image fill we set it to full height.
|
|
31
32
|
height: 100% !important;
|
|
32
33
|
}
|
|
@@ -34,3 +35,8 @@
|
|
|
34
35
|
.wp-block-media-text > .block-editor-block-list__layout > .block-editor-block-list__block {
|
|
35
36
|
max-width: unset;
|
|
36
37
|
}
|
|
38
|
+
|
|
39
|
+
/* Make the featured image placeholder the same height as the media selection area. */
|
|
40
|
+
.wp-block-media-text--placeholder-image {
|
|
41
|
+
min-height: 205px;
|
|
42
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<?php
|
|
2
|
+
/**
|
|
3
|
+
* Server-side rendering of the `core/media-text` block.
|
|
4
|
+
*
|
|
5
|
+
* @package WordPress
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Renders the `core/media-text` block on server.
|
|
10
|
+
*
|
|
11
|
+
* @since 6.6.0
|
|
12
|
+
*
|
|
13
|
+
* @param array $attributes The block attributes.
|
|
14
|
+
* @param string $content The block rendered content.
|
|
15
|
+
*
|
|
16
|
+
* @return string Returns the Media & Text block markup, if useFeaturedImage is true.
|
|
17
|
+
*/
|
|
18
|
+
function render_block_core_media_text( $attributes, $content ) {
|
|
19
|
+
if ( false === $attributes['useFeaturedImage'] ) {
|
|
20
|
+
return $content;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if ( in_the_loop() ) {
|
|
24
|
+
update_post_thumbnail_cache();
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
$current_featured_image = get_the_post_thumbnail_url();
|
|
28
|
+
if ( ! $current_featured_image ) {
|
|
29
|
+
return $content;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
$image_tag = '<figure class="wp-block-media-text__media"><img>';
|
|
33
|
+
$content = preg_replace( '/<figure\s+class="wp-block-media-text__media">/', $image_tag, $content );
|
|
34
|
+
|
|
35
|
+
$processor = new WP_HTML_Tag_Processor( $content );
|
|
36
|
+
if ( isset( $attributes['imageFill'] ) && $attributes['imageFill'] ) {
|
|
37
|
+
$position = '50% 50%';
|
|
38
|
+
if ( isset( $attributes['focalPoint'] ) ) {
|
|
39
|
+
$position = round( $attributes['focalPoint']['x'] * 100 ) . '% ' . round( $attributes['focalPoint']['y'] * 100 ) . '%';
|
|
40
|
+
}
|
|
41
|
+
$processor->next_tag( 'figure' );
|
|
42
|
+
$processor->set_attribute( 'style', 'background-image:url(' . esc_url( $current_featured_image ) . ');background-position:' . $position . ';' );
|
|
43
|
+
}
|
|
44
|
+
$processor->next_tag( 'img' );
|
|
45
|
+
$media_size_slug = 'full';
|
|
46
|
+
if ( isset( $attributes['mediaSizeSlug'] ) ) {
|
|
47
|
+
$media_size_slug = $attributes['mediaSizeSlug'];
|
|
48
|
+
}
|
|
49
|
+
$processor->set_attribute( 'src', esc_url( $current_featured_image ) );
|
|
50
|
+
$processor->set_attribute( 'class', 'wp-image-' . get_post_thumbnail_id() . ' size-' . $media_size_slug );
|
|
51
|
+
|
|
52
|
+
$content = $processor->get_updated_html();
|
|
53
|
+
|
|
54
|
+
return $content;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Registers the `core/media-text` block renderer on server.
|
|
59
|
+
*
|
|
60
|
+
* @since 6.6.0
|
|
61
|
+
*/
|
|
62
|
+
function register_block_core_media_text() {
|
|
63
|
+
register_block_type_from_metadata(
|
|
64
|
+
__DIR__ . '/media-text',
|
|
65
|
+
array(
|
|
66
|
+
'render_callback' => 'render_block_core_media_text',
|
|
67
|
+
)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
add_action( 'init', 'register_block_core_media_text' );
|
|
@@ -6,7 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { ResizableBox, Spinner } from '@wordpress/components';
|
|
9
|
+
import { ResizableBox, Spinner, Placeholder } from '@wordpress/components';
|
|
10
10
|
import {
|
|
11
11
|
BlockControls,
|
|
12
12
|
BlockIcon,
|
|
@@ -56,21 +56,39 @@ const ResizableBoxContainer = forwardRef(
|
|
|
56
56
|
}
|
|
57
57
|
);
|
|
58
58
|
|
|
59
|
-
function ToolbarEditButton( {
|
|
59
|
+
function ToolbarEditButton( {
|
|
60
|
+
mediaId,
|
|
61
|
+
mediaUrl,
|
|
62
|
+
onSelectMedia,
|
|
63
|
+
toggleUseFeaturedImage,
|
|
64
|
+
useFeaturedImage,
|
|
65
|
+
featuredImageURL,
|
|
66
|
+
} ) {
|
|
60
67
|
return (
|
|
61
68
|
<BlockControls group="other">
|
|
62
69
|
<MediaReplaceFlow
|
|
63
70
|
mediaId={ mediaId }
|
|
64
|
-
|
|
71
|
+
mediaUrl={
|
|
72
|
+
useFeaturedImage && featuredImageURL
|
|
73
|
+
? featuredImageURL
|
|
74
|
+
: mediaUrl
|
|
75
|
+
}
|
|
65
76
|
allowedTypes={ ALLOWED_MEDIA_TYPES }
|
|
66
77
|
accept="image/*,video/*"
|
|
67
78
|
onSelect={ onSelectMedia }
|
|
79
|
+
onToggleFeaturedImage={ toggleUseFeaturedImage }
|
|
80
|
+
useFeaturedImage={ useFeaturedImage }
|
|
68
81
|
/>
|
|
69
82
|
</BlockControls>
|
|
70
83
|
);
|
|
71
84
|
}
|
|
72
85
|
|
|
73
|
-
function PlaceholderContainer( {
|
|
86
|
+
function PlaceholderContainer( {
|
|
87
|
+
className,
|
|
88
|
+
mediaUrl,
|
|
89
|
+
onSelectMedia,
|
|
90
|
+
toggleUseFeaturedImage,
|
|
91
|
+
} ) {
|
|
74
92
|
const { createErrorNotice } = useDispatch( noticesStore );
|
|
75
93
|
|
|
76
94
|
const onUploadError = ( message ) => {
|
|
@@ -86,6 +104,7 @@ function PlaceholderContainer( { className, mediaUrl, onSelectMedia } ) {
|
|
|
86
104
|
className={ className }
|
|
87
105
|
onSelect={ onSelectMedia }
|
|
88
106
|
accept="image/*,video/*"
|
|
107
|
+
onToggleFeaturedImage={ toggleUseFeaturedImage }
|
|
89
108
|
allowedTypes={ ALLOWED_MEDIA_TYPES }
|
|
90
109
|
onError={ onUploadError }
|
|
91
110
|
disableMediaButtons={ mediaUrl }
|
|
@@ -110,13 +129,17 @@ function MediaContainer( props, ref ) {
|
|
|
110
129
|
onSelectMedia,
|
|
111
130
|
onWidthChange,
|
|
112
131
|
enableResize,
|
|
132
|
+
toggleUseFeaturedImage,
|
|
133
|
+
useFeaturedImage,
|
|
134
|
+
featuredImageURL,
|
|
135
|
+
featuredImageAlt,
|
|
113
136
|
} = props;
|
|
114
137
|
|
|
115
138
|
const isTemporaryMedia = ! mediaId && isBlobURL( mediaUrl );
|
|
116
139
|
|
|
117
140
|
const { toggleSelection } = useDispatch( blockEditorStore );
|
|
118
141
|
|
|
119
|
-
if ( mediaUrl ) {
|
|
142
|
+
if ( mediaUrl || featuredImageURL || useFeaturedImage ) {
|
|
120
143
|
const onResizeStart = () => {
|
|
121
144
|
toggleSelection( false );
|
|
122
145
|
};
|
|
@@ -134,11 +157,16 @@ function MediaContainer( props, ref ) {
|
|
|
134
157
|
|
|
135
158
|
const backgroundStyles =
|
|
136
159
|
mediaType === 'image' && imageFill
|
|
137
|
-
? imageFillStyles( mediaUrl, focalPoint )
|
|
160
|
+
? imageFillStyles( mediaUrl || featuredImageURL, focalPoint )
|
|
138
161
|
: {};
|
|
139
162
|
|
|
140
163
|
const mediaTypeRenderers = {
|
|
141
|
-
image: () =>
|
|
164
|
+
image: () =>
|
|
165
|
+
useFeaturedImage && featuredImageURL ? (
|
|
166
|
+
<img src={ featuredImageURL } alt={ featuredImageAlt } />
|
|
167
|
+
) : (
|
|
168
|
+
mediaUrl && <img src={ mediaUrl } alt={ mediaAlt } />
|
|
169
|
+
),
|
|
142
170
|
video: () => <video controls src={ mediaUrl } />,
|
|
143
171
|
};
|
|
144
172
|
|
|
@@ -165,12 +193,24 @@ function MediaContainer( props, ref ) {
|
|
|
165
193
|
>
|
|
166
194
|
<ToolbarEditButton
|
|
167
195
|
onSelectMedia={ onSelectMedia }
|
|
168
|
-
mediaUrl={
|
|
196
|
+
mediaUrl={
|
|
197
|
+
useFeaturedImage && featuredImageURL
|
|
198
|
+
? featuredImageURL
|
|
199
|
+
: mediaUrl
|
|
200
|
+
}
|
|
169
201
|
mediaId={ mediaId }
|
|
202
|
+
toggleUseFeaturedImage={ toggleUseFeaturedImage }
|
|
203
|
+
useFeaturedImage={ useFeaturedImage }
|
|
170
204
|
/>
|
|
171
205
|
{ ( mediaTypeRenderers[ mediaType ] || noop )() }
|
|
172
206
|
{ isTemporaryMedia && <Spinner /> }
|
|
173
|
-
<PlaceholderContainer { ...props } />
|
|
207
|
+
{ ! useFeaturedImage && <PlaceholderContainer { ...props } /> }
|
|
208
|
+
{ ! featuredImageURL && useFeaturedImage && (
|
|
209
|
+
<Placeholder
|
|
210
|
+
className="wp-block-media-text--placeholder-image"
|
|
211
|
+
withIllustration
|
|
212
|
+
/>
|
|
213
|
+
) }
|
|
174
214
|
</ResizableBoxContainer>
|
|
175
215
|
);
|
|
176
216
|
}
|
|
@@ -265,7 +265,7 @@ class MediaContainer extends Component {
|
|
|
265
265
|
isSelected={ isSelected }
|
|
266
266
|
style={ styles.video }
|
|
267
267
|
source={ { uri: mediaUrl } }
|
|
268
|
-
paused
|
|
268
|
+
paused
|
|
269
269
|
/>
|
|
270
270
|
</View>
|
|
271
271
|
) }
|
|
@@ -329,7 +329,7 @@ class MediaContainer extends Component {
|
|
|
329
329
|
if ( mediaUrl ) {
|
|
330
330
|
return (
|
|
331
331
|
<MediaUpload
|
|
332
|
-
isReplacingMedia
|
|
332
|
+
isReplacingMedia
|
|
333
333
|
onSelect={ this.onSelectMediaUploadOption }
|
|
334
334
|
allowedTypes={ ALLOWED_MEDIA_TYPES }
|
|
335
335
|
value={ mediaId }
|
|
@@ -341,7 +341,9 @@ class MediaContainer extends Component {
|
|
|
341
341
|
{ getMediaOptions() }
|
|
342
342
|
|
|
343
343
|
<MediaUploadProgress
|
|
344
|
-
enablePausedUploads
|
|
344
|
+
enablePausedUploads={
|
|
345
|
+
mediaType === MEDIA_TYPE_IMAGE
|
|
346
|
+
}
|
|
345
347
|
coverUrl={ coverUrl }
|
|
346
348
|
mediaId={ mediaId }
|
|
347
349
|
onUpdateMediaProgress={
|
package/src/media-text/save.js
CHANGED
|
@@ -42,13 +42,13 @@ export default function save( { attributes } ) {
|
|
|
42
42
|
[ `size-${ mediaSizeSlug }` ]: mediaId && mediaType === 'image',
|
|
43
43
|
} );
|
|
44
44
|
|
|
45
|
-
let image = (
|
|
45
|
+
let image = mediaUrl ? (
|
|
46
46
|
<img
|
|
47
47
|
src={ mediaUrl }
|
|
48
48
|
alt={ mediaAlt }
|
|
49
49
|
className={ imageClasses || null }
|
|
50
50
|
/>
|
|
51
|
-
);
|
|
51
|
+
) : null;
|
|
52
52
|
|
|
53
53
|
if ( href ) {
|
|
54
54
|
image = (
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* External dependencies
|
|
3
|
+
*/
|
|
4
|
+
import {
|
|
5
|
+
addBlock,
|
|
6
|
+
fireEvent,
|
|
7
|
+
initializeEditor,
|
|
8
|
+
screen,
|
|
9
|
+
setupCoreBlocks,
|
|
10
|
+
} from 'test/helpers';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* WordPress dependencies
|
|
14
|
+
*/
|
|
15
|
+
import {
|
|
16
|
+
requestMediaPicker,
|
|
17
|
+
sendMediaUpload,
|
|
18
|
+
subscribeMediaUpload,
|
|
19
|
+
} from '@wordpress/react-native-bridge';
|
|
20
|
+
import { MEDIA_UPLOAD_STATE_PAUSED } from '@wordpress/block-editor';
|
|
21
|
+
|
|
22
|
+
let uploadCallBack;
|
|
23
|
+
subscribeMediaUpload.mockImplementation( ( callback ) => {
|
|
24
|
+
uploadCallBack = callback;
|
|
25
|
+
} );
|
|
26
|
+
sendMediaUpload.mockImplementation( ( payload ) => {
|
|
27
|
+
uploadCallBack( payload );
|
|
28
|
+
} );
|
|
29
|
+
|
|
30
|
+
setupCoreBlocks( [ 'core/media-text' ] );
|
|
31
|
+
|
|
32
|
+
describe( 'Media & Text block edit', () => {
|
|
33
|
+
it( 'should display an error message for failed video uploads', async () => {
|
|
34
|
+
requestMediaPicker.mockImplementation(
|
|
35
|
+
( source, filter, multiple, callback ) => {
|
|
36
|
+
callback( {
|
|
37
|
+
id: 1,
|
|
38
|
+
url: 'file://video.mp4',
|
|
39
|
+
type: 'video',
|
|
40
|
+
} );
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
await initializeEditor();
|
|
44
|
+
await addBlock( screen, 'Media & Text' );
|
|
45
|
+
fireEvent.press( screen.getByText( 'Add image or video' ) );
|
|
46
|
+
fireEvent.press( screen.getByText( 'Choose from device' ) );
|
|
47
|
+
|
|
48
|
+
sendMediaUpload( {
|
|
49
|
+
mediaId: 1,
|
|
50
|
+
state: MEDIA_UPLOAD_STATE_PAUSED,
|
|
51
|
+
progress: 0,
|
|
52
|
+
} );
|
|
53
|
+
|
|
54
|
+
expect(
|
|
55
|
+
screen.getByText( 'Failed to insert media.\nTap for more info.' )
|
|
56
|
+
).toBeVisible();
|
|
57
|
+
} );
|
|
58
|
+
} );
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import {
|
|
5
|
+
act,
|
|
5
6
|
fireEvent,
|
|
6
7
|
getBlock,
|
|
7
8
|
initializeEditor,
|
|
@@ -117,7 +118,7 @@ describe( 'Unsupported block', () => {
|
|
|
117
118
|
screen.getByTestId( 'bottom-sheet' ),
|
|
118
119
|
MODAL_DISMISS_EVENT
|
|
119
120
|
);
|
|
120
|
-
jest.runOnlyPendingTimers();
|
|
121
|
+
act( () => jest.runOnlyPendingTimers() );
|
|
121
122
|
} );
|
|
122
123
|
expect( requestUnsupportedBlockFallback ).toHaveBeenCalled();
|
|
123
124
|
} );
|