@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
|
@@ -133,10 +133,12 @@ export default function CoverInspectorControls(_ref2) {
|
|
|
133
133
|
return createElement(Fragment, null, createElement(InspectorControls, null, !!url && createElement(PanelBody, {
|
|
134
134
|
title: __('Media settings')
|
|
135
135
|
}, isImageBackground && createElement(Fragment, null, createElement(ToggleControl, {
|
|
136
|
+
__nextHasNoMarginBottom: true,
|
|
136
137
|
label: __('Fixed background'),
|
|
137
138
|
checked: hasParallax,
|
|
138
139
|
onChange: toggleParallax
|
|
139
140
|
}), createElement(ToggleControl, {
|
|
141
|
+
__nextHasNoMarginBottom: true,
|
|
140
142
|
label: __('Repeated background'),
|
|
141
143
|
checked: isRepeated,
|
|
142
144
|
onChange: toggleIsRepeated
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSetting","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__","COVER_MIN_HEIGHT","mediaPosition","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","isImgElement","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","newFocalPoint","newAlt","id","backgroundType","colorValue","color","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRation","newMinHeight","nextUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSetting,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\t\t\turl &&\n\t\t\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t\t\tisImgElement && (\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Alt text (alternative text)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\n\t\t\t\t\t\t\t\t\t\tuseFeaturedImage: false,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { dimRatio: url ? 50 : 100 } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/edit/inspector-controls.js"],"names":["useMemo","Button","ExternalLink","FocalPointPicker","PanelBody","PanelRow","RangeControl","TextareaControl","ToggleControl","SelectControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useInstanceId","InspectorControls","useSetting","__experimentalColorGradientSettingsDropdown","ColorGradientSettingsDropdown","__experimentalUseGradient","__experimentalUseMultipleOriginColorsAndGradients","useMultipleOriginColorsAndGradients","__","COVER_MIN_HEIGHT","mediaPosition","CoverHeightInput","onChange","onUnitChange","unit","value","instanceId","inputId","isPx","units","availableUnits","defaultValues","px","em","rem","vw","vh","handleOnChange","unprocessedValue","inputValue","parseFloat","undefined","isNaN","computedValue","parsedQuantity","join","min","CoverInspectorControls","attributes","setAttributes","clientId","setOverlayColor","coverRef","currentSettings","useFeaturedImage","dimRatio","focalPoint","hasParallax","isRepeated","minHeight","minHeightUnit","alt","tagName","isVideoBackground","isImageBackground","mediaElement","url","isImgElement","overlayColor","gradientValue","setGradient","toggleParallax","toggleIsRepeated","showFocalPointPicker","imperativeFocalPointPreview","styleOfRef","property","current","style","colorGradientSettings","htmlElementMessages","header","main","section","article","aside","footer","newFocalPoint","newAlt","id","backgroundType","colorValue","color","label","onColorChange","onGradientChange","isShownByDefault","resetAllFilter","customOverlayColor","gradient","customGradient","newDimRation","newMinHeight","nextUnit"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport {\n\tButton,\n\tExternalLink,\n\tFocalPointPicker,\n\tPanelBody,\n\tPanelRow,\n\tRangeControl,\n\tTextareaControl,\n\tToggleControl,\n\tSelectControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseSetting,\n\t__experimentalColorGradientSettingsDropdown as ColorGradientSettingsDropdown,\n\t__experimentalUseGradient,\n\t__experimentalUseMultipleOriginColorsAndGradients as useMultipleOriginColorsAndGradients,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { COVER_MIN_HEIGHT, mediaPosition } from '../shared';\n\nfunction CoverHeightInput( {\n\tonChange,\n\tonUnitChange,\n\tunit = 'px',\n\tvalue = '',\n} ) {\n\tconst instanceId = useInstanceId( UnitControl );\n\tconst inputId = `block-cover-height-input-${ instanceId }`;\n\tconst isPx = unit === 'px';\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t\t'vh',\n\t\t],\n\t\tdefaultValues: { px: 430, '%': 20, em: 20, rem: 20, vw: 20, vh: 50 },\n\t} );\n\n\tconst handleOnChange = ( unprocessedValue ) => {\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== ''\n\t\t\t\t? parseFloat( unprocessedValue )\n\t\t\t\t: undefined;\n\n\t\tif ( isNaN( inputValue ) && inputValue !== undefined ) {\n\t\t\treturn;\n\t\t}\n\t\tonChange( inputValue );\n\t};\n\n\tconst computedValue = useMemo( () => {\n\t\tconst [ parsedQuantity ] = parseQuantityAndUnitFromRawValue( value );\n\t\treturn [ parsedQuantity, unit ].join( '' );\n\t}, [ unit, value ] );\n\n\tconst min = isPx ? COVER_MIN_HEIGHT : 0;\n\n\treturn (\n\t\t<UnitControl\n\t\t\tlabel={ __( 'Minimum height of cover' ) }\n\t\t\tid={ inputId }\n\t\t\tisResetValueOnUnitChange\n\t\t\tmin={ min }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonUnitChange={ onUnitChange }\n\t\t\t__unstableInputWidth={ '80px' }\n\t\t\tunits={ units }\n\t\t\tvalue={ computedValue }\n\t\t/>\n\t);\n}\nexport default function CoverInspectorControls( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n\tsetOverlayColor,\n\tcoverRef,\n\tcurrentSettings,\n} ) {\n\tconst {\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\ttagName,\n\t} = attributes;\n\tconst {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t} = currentSettings;\n\n\tconst { gradientValue, setGradient } = __experimentalUseGradient();\n\n\tconst toggleParallax = () => {\n\t\tsetAttributes( {\n\t\t\thasParallax: ! hasParallax,\n\t\t\t...( ! hasParallax ? { focalPoint: undefined } : {} ),\n\t\t} );\n\t};\n\n\tconst toggleIsRepeated = () => {\n\t\tsetAttributes( {\n\t\t\tisRepeated: ! isRepeated,\n\t\t} );\n\t};\n\n\tconst showFocalPointPicker =\n\t\tisVideoBackground ||\n\t\t( isImageBackground && ( ! hasParallax || isRepeated ) );\n\n\tconst imperativeFocalPointPreview = ( value ) => {\n\t\tconst [ styleOfRef, property ] = mediaElement.current\n\t\t\t? [ mediaElement.current.style, 'objectPosition' ]\n\t\t\t: [ coverRef.current.style, 'backgroundPosition' ];\n\t\tstyleOfRef[ property ] = mediaPosition( value );\n\t};\n\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\n\tconst htmlElementMessages = {\n\t\theader: __(\n\t\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t\t),\n\t\tmain: __(\n\t\t\t'The <main> element should be used for the primary content of your document only. '\n\t\t),\n\t\tsection: __(\n\t\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t\t),\n\t\tarticle: __(\n\t\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t\t),\n\t\taside: __(\n\t\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t\t),\n\t\tfooter: __(\n\t\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t\t),\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t{ !! url && (\n\t\t\t\t\t<PanelBody title={ __( 'Media settings' ) }>\n\t\t\t\t\t\t{ isImageBackground && (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ hasParallax }\n\t\t\t\t\t\t\t\t\tonChange={ toggleParallax }\n\t\t\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Repeated background' ) }\n\t\t\t\t\t\t\t\t\tchecked={ isRepeated }\n\t\t\t\t\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ showFocalPointPicker && (\n\t\t\t\t\t\t\t<FocalPointPicker\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Focal point picker' ) }\n\t\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\t\tvalue={ focalPoint }\n\t\t\t\t\t\t\t\tonDragStart={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonDrag={ imperativeFocalPointPreview }\n\t\t\t\t\t\t\t\tonChange={ ( newFocalPoint ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tfocalPoint: newFocalPoint,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ! useFeaturedImage &&\n\t\t\t\t\t\t\turl &&\n\t\t\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t\t\tisImgElement && (\n\t\t\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t\t'Alt text (alternative text)'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\t\t\tonChange={ ( newAlt ) =>\n\t\t\t\t\t\t\t\t\t\tsetAttributes( { alt: newAlt } )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\tclassName=\"block-library-cover__reset-button\"\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\turl: undefined,\n\t\t\t\t\t\t\t\t\t\tid: undefined,\n\t\t\t\t\t\t\t\t\t\tbackgroundType: undefined,\n\t\t\t\t\t\t\t\t\t\tfocalPoint: undefined,\n\t\t\t\t\t\t\t\t\t\thasParallax: undefined,\n\t\t\t\t\t\t\t\t\t\tisRepeated: undefined,\n\t\t\t\t\t\t\t\t\t\tuseFeaturedImage: false,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Clear Media' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</PanelRow>\n\t\t\t\t\t</PanelBody>\n\t\t\t\t) }\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"color\">\n\t\t\t\t<ColorGradientSettingsDropdown\n\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\tsettings={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tcolorValue: overlayColor.color,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tlabel: __( 'Overlay' ),\n\t\t\t\t\t\t\tonColorChange: setOverlayColor,\n\t\t\t\t\t\t\tonGradientChange: setGradient,\n\t\t\t\t\t\t\tisShownByDefault: true,\n\t\t\t\t\t\t\tresetAllFilter: () => ( {\n\t\t\t\t\t\t\t\toverlayColor: undefined,\n\t\t\t\t\t\t\t\tcustomOverlayColor: undefined,\n\t\t\t\t\t\t\t\tgradient: undefined,\n\t\t\t\t\t\t\t\tcustomGradient: undefined,\n\t\t\t\t\t\t\t} ),\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t\t{ ...colorGradientSettings }\n\t\t\t\t/>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => {\n\t\t\t\t\t\t// If there's a media background the dimRatio will be\n\t\t\t\t\t\t// defaulted to 50 whereas it will be 100 for colors.\n\t\t\t\t\t\treturn dimRatio === undefined\n\t\t\t\t\t\t\t? false\n\t\t\t\t\t\t\t: dimRatio !== ( url ? 50 : 100 );\n\t\t\t\t\t} }\n\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( { dimRatio: url ? 50 : 100 } )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tdimRatio: url ? 50 : 100,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Overlay opacity' ) }\n\t\t\t\t\t\tvalue={ dimRatio }\n\t\t\t\t\t\tonChange={ ( newDimRation ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tdimRatio: newDimRation,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ 100 }\n\t\t\t\t\t\tstep={ 10 }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"dimensions\">\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! minHeight }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\tresetAllFilter={ () => ( {\n\t\t\t\t\t\tminHeight: undefined,\n\t\t\t\t\t\tminHeightUnit: undefined,\n\t\t\t\t\t} ) }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tpanelId={ clientId }\n\t\t\t\t>\n\t\t\t\t\t<CoverHeightInput\n\t\t\t\t\t\tvalue={ minHeight }\n\t\t\t\t\t\tunit={ minHeightUnit }\n\t\t\t\t\t\tonChange={ ( newMinHeight ) =>\n\t\t\t\t\t\t\tsetAttributes( { minHeight: newMinHeight } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonUnitChange={ ( nextUnit ) =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tminHeightUnit: nextUnit,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t\t\t\t\t{ label: '<header>', value: 'header' },\n\t\t\t\t\t\t{ label: '<main>', value: 'main' },\n\t\t\t\t\t\t{ label: '<section>', value: 'section' },\n\t\t\t\t\t\t{ label: '<article>', value: 'article' },\n\t\t\t\t\t\t{ label: '<aside>', value: 'aside' },\n\t\t\t\t\t\t{ label: '<footer>', value: 'footer' },\n\t\t\t\t\t] }\n\t\t\t\t\tvalue={ tagName }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { tagName: value } )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -100,14 +100,17 @@ const metadata = {
|
|
|
100
100
|
spacing: {
|
|
101
101
|
padding: true,
|
|
102
102
|
margin: ["top", "bottom"],
|
|
103
|
+
blockGap: true,
|
|
103
104
|
__experimentalDefaultControls: {
|
|
104
|
-
padding: true
|
|
105
|
+
padding: true,
|
|
106
|
+
blockGap: true
|
|
105
107
|
}
|
|
106
108
|
},
|
|
107
109
|
color: {
|
|
108
110
|
__experimentalDuotone: "> .wp-block-cover__image-background, > .wp-block-cover__video-background",
|
|
109
|
-
text:
|
|
110
|
-
background: false
|
|
111
|
+
text: true,
|
|
112
|
+
background: false,
|
|
113
|
+
__experimentalSkipSerialization: ["gradients"]
|
|
111
114
|
},
|
|
112
115
|
typography: {
|
|
113
116
|
fontSize: true,
|
|
@@ -121,6 +124,9 @@ const metadata = {
|
|
|
121
124
|
__experimentalDefaultControls: {
|
|
122
125
|
fontSize: true
|
|
123
126
|
}
|
|
127
|
+
},
|
|
128
|
+
__experimentalLayout: {
|
|
129
|
+
allowJustification: false
|
|
124
130
|
}
|
|
125
131
|
},
|
|
126
132
|
editorStyle: "wp-block-cover-editor",
|
|
@@ -128,6 +134,7 @@ const metadata = {
|
|
|
128
134
|
};
|
|
129
135
|
import save from './save';
|
|
130
136
|
import transforms from './transforms';
|
|
137
|
+
import variations from './variations';
|
|
131
138
|
const {
|
|
132
139
|
name
|
|
133
140
|
} = metadata;
|
|
@@ -159,7 +166,8 @@ export const settings = {
|
|
|
159
166
|
transforms,
|
|
160
167
|
save,
|
|
161
168
|
edit,
|
|
162
|
-
deprecated
|
|
169
|
+
deprecated,
|
|
170
|
+
variations
|
|
163
171
|
};
|
|
164
172
|
export const init = () => initBlock({
|
|
165
173
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["__","cover","icon","initBlock","deprecated","edit","save","transforms","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","content","align","style","typography","fontSize","color","text","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/index.js"],"names":["__","cover","icon","initBlock","deprecated","edit","save","transforms","variations","name","metadata","settings","example","attributes","customOverlayColor","dimRatio","url","innerBlocks","content","align","style","typography","fontSize","color","text","init"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAK,IAAIC,IAAlB,QAA8B,kBAA9B;AAEA;AACA;AACA;;AACA,OAAOC,SAAP,MAAsB,qBAAtB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,IAAP,MAAiB,QAAjB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAOC,IAAP,MAAiB,QAAjB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,MAAM;AAAEC,EAAAA;AAAF,IAAWC,QAAjB;AAEA,SAASA,QAAT,EAAmBD,IAAnB;AAEA,OAAO,MAAME,QAAQ,GAAG;AACvBT,EAAAA,IADuB;AAEvBU,EAAAA,OAAO,EAAE;AACRC,IAAAA,UAAU,EAAE;AACXC,MAAAA,kBAAkB,EAAE,SADT;AAEXC,MAAAA,QAAQ,EAAE,EAFC;AAGXC,MAAAA,GAAG,EAAE;AAHM,KADJ;AAMRC,IAAAA,WAAW,EAAE,CACZ;AACCR,MAAAA,IAAI,EAAE,gBADP;AAECI,MAAAA,UAAU,EAAE;AACXK,QAAAA,OAAO,EAAElB,EAAE,CAAE,8BAAF,CADA;AAEXmB,QAAAA,KAAK,EAAE,QAFI;AAGXC,QAAAA,KAAK,EAAE;AACNC,UAAAA,UAAU,EAAE;AACXC,YAAAA,QAAQ,EAAE;AADC,WADN;AAINC,UAAAA,KAAK,EAAE;AACNC,YAAAA,IAAI,EAAE;AADA;AAJD;AAHI;AAFb,KADY;AANL,GAFc;AA0BvBjB,EAAAA,UA1BuB;AA2BvBD,EAAAA,IA3BuB;AA4BvBD,EAAAA,IA5BuB;AA6BvBD,EAAAA,UA7BuB;AA8BvBI,EAAAA;AA9BuB,CAAjB;AAiCP,OAAO,MAAMiB,IAAI,GAAG,MAAMtB,SAAS,CAAE;AAAEM,EAAAA,IAAF;AAAQC,EAAAA,QAAR;AAAkBC,EAAAA;AAAlB,CAAF,CAA5B","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tcustomOverlayColor: '#065174',\n\t\t\tdimRatio: 40,\n\t\t\turl: 'https://s.w.org/images/core/5.3/Windbuchencom.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '<strong>Snow Patrol</strong>' ),\n\t\t\t\t\talign: 'center',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\ttypography: {\n\t\t\t\t\t\t\tfontSize: 48,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tcolor: {\n\t\t\t\t\t\t\ttext: 'white',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tsave,\n\tedit,\n\tdeprecated,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { cover } from '@wordpress/icons';
|
|
6
|
+
const variations = [{
|
|
7
|
+
name: 'cover',
|
|
8
|
+
title: __('Cover'),
|
|
9
|
+
description: __('Add an image or video with a text overlay — great for headers.'),
|
|
10
|
+
attributes: {
|
|
11
|
+
layout: {
|
|
12
|
+
type: 'constrained'
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
isDefault: true,
|
|
16
|
+
icon: cover
|
|
17
|
+
}];
|
|
18
|
+
export default variations;
|
|
19
|
+
//# sourceMappingURL=variations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/cover/variations.js"],"names":["__","cover","variations","name","title","description","attributes","layout","type","isDefault","icon"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,KAAT,QAAsB,kBAAtB;AAEA,MAAMC,UAAU,GAAG,CAClB;AACCC,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,KAAK,EAAEJ,EAAE,CAAE,OAAF,CAFV;AAGCK,EAAAA,WAAW,EAAEL,EAAE,CACd,gEADc,CAHhB;AAMCM,EAAAA,UAAU,EAAE;AAAEC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,IAAI,EAAE;AAAR;AAAV,GANb;AAOCC,EAAAA,SAAS,EAAE,IAPZ;AAQCC,EAAAA,IAAI,EAAET;AARP,CADkB,CAAnB;AAaA,eAAeC,UAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { cover } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'cover',\n\t\ttitle: __( 'Cover' ),\n\t\tdescription: __(\n\t\t\t'Add an image or video with a text overlay — great for headers.'\n\t\t),\n\t\tattributes: { layout: { type: 'constrained' } },\n\t\tisDefault: true,\n\t\ticon: cover,\n\t},\n];\n\nexport default variations;\n"]}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* Internal dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { createUpgradedEmbedBlock, getClassNames, fallback, getEmbedInfoByProvider, getMergedAttributesWithPreview } from './util';
|
|
6
|
+
import { createUpgradedEmbedBlock, getClassNames, removeAspectRatioClasses, fallback, getEmbedInfoByProvider, getMergedAttributesWithPreview } from './util';
|
|
7
7
|
import EmbedControls from './embed-controls';
|
|
8
8
|
import { embedContentIcon } from './icons';
|
|
9
9
|
import EmbedLoading from './embed-loading';
|
|
@@ -94,14 +94,10 @@ const EmbedEdit = props => {
|
|
|
94
94
|
/**
|
|
95
95
|
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
96
96
|
*
|
|
97
|
-
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
98
97
|
* @return {Object} Merged attributes.
|
|
99
98
|
*/
|
|
100
99
|
|
|
101
|
-
const getMergedAttributes =
|
|
102
|
-
let ignorePreviousClassName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
103
|
-
return getMergedAttributesWithPreview(attributes, preview, title, responsive, ignorePreviousClassName);
|
|
104
|
-
};
|
|
100
|
+
const getMergedAttributes = () => getMergedAttributesWithPreview(attributes, preview, title, responsive);
|
|
105
101
|
|
|
106
102
|
const toggleResponsive = () => {
|
|
107
103
|
const {
|
|
@@ -131,18 +127,17 @@ const EmbedEdit = props => {
|
|
|
131
127
|
setAttributes({
|
|
132
128
|
url: newURL
|
|
133
129
|
});
|
|
134
|
-
}, [preview === null || preview === void 0 ? void 0 : preview.html, attributesUrl]); // Handle incoming preview.
|
|
130
|
+
}, [preview === null || preview === void 0 ? void 0 : preview.html, attributesUrl, cannotEmbed, fetching]); // Handle incoming preview.
|
|
135
131
|
|
|
136
132
|
useEffect(() => {
|
|
137
133
|
if (preview && !isEditingURL) {
|
|
138
|
-
// When obtaining an incoming preview,
|
|
139
|
-
//
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
setAttributes(getMergedAttributes(true));
|
|
134
|
+
// When obtaining an incoming preview,
|
|
135
|
+
// we set the attributes derived from the preview data.
|
|
136
|
+
const mergedAttributes = getMergedAttributes();
|
|
137
|
+
setAttributes(mergedAttributes);
|
|
143
138
|
|
|
144
139
|
if (onReplace) {
|
|
145
|
-
const upgradedBlock = createUpgradedEmbedBlock(props,
|
|
140
|
+
const upgradedBlock = createUpgradedEmbedBlock(props, mergedAttributes);
|
|
146
141
|
|
|
147
142
|
if (upgradedBlock) {
|
|
148
143
|
onReplace(upgradedBlock);
|
|
@@ -169,11 +164,15 @@ const EmbedEdit = props => {
|
|
|
169
164
|
onSubmit: event => {
|
|
170
165
|
if (event) {
|
|
171
166
|
event.preventDefault();
|
|
172
|
-
}
|
|
167
|
+
} // If the embed URL was changed, we need to reset the aspect ratio class.
|
|
168
|
+
// To do this we have to remove the existing ratio class so it can be recalculated.
|
|
169
|
+
|
|
173
170
|
|
|
171
|
+
const blockClass = removeAspectRatioClasses(attributes.className);
|
|
174
172
|
setIsEditingURL(false);
|
|
175
173
|
setAttributes({
|
|
176
|
-
url
|
|
174
|
+
url,
|
|
175
|
+
className: blockClass
|
|
177
176
|
});
|
|
178
177
|
},
|
|
179
178
|
value: url,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.js"],"names":["createUpgradedEmbedBlock","getClassNames","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","classnames","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","ignorePreviousClassName","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","upgradedBlock","blockProps","label","showEmbedPlaceholder","event","preventDefault","target","value","caption","classFromPreview"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! attributesUrl ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\t\tconst previewIsFallback =\n\t\t\t\t\tisPreviewEmbedFallback( attributesUrl );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ attributesUrl ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = ( ignorePreviousClassName = false ) =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive,\n\t\t\tignorePreviousClassName\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, attributesUrl ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview, we set the attributes derived from\n\t\t\t// the preview data. In this case when getting the merged attributes,\n\t\t\t// we ignore the previous classname because it might not match the expected\n\t\t\t// classes by the new preview.\n\t\t\tsetAttributes( getMergedAttributes( true ) );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( event ) => setURL( event.target.value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.js"],"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","classnames","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","mergedAttributes","upgradedBlock","blockProps","label","showEmbedPlaceholder","event","preventDefault","blockClass","target","value","caption","classFromPreview"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! attributesUrl ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\t\tconst previewIsFallback =\n\t\t\t\t\tisPreviewEmbedFallback( attributesUrl );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ attributesUrl ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, attributesUrl, cannotEmbed, fetching ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\t\t\tattributes.className\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url, className: blockClass } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( event ) => setURL( event.target.value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
@@ -3,7 +3,7 @@ import { createElement, Fragment } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* Internal dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { createUpgradedEmbedBlock, getClassNames, fallback, getEmbedInfoByProvider, getMergedAttributesWithPreview } from './util';
|
|
6
|
+
import { createUpgradedEmbedBlock, getClassNames, removeAspectRatioClasses, fallback, getEmbedInfoByProvider, getMergedAttributesWithPreview } from './util';
|
|
7
7
|
import EmbedControls from './embed-controls';
|
|
8
8
|
import { embedContentIcon } from './icons';
|
|
9
9
|
import EmbedLoading from './embed-loading';
|
|
@@ -109,14 +109,10 @@ const EmbedEdit = props => {
|
|
|
109
109
|
/**
|
|
110
110
|
* Returns the attributes derived from the preview, merged with the current attributes.
|
|
111
111
|
*
|
|
112
|
-
* @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.
|
|
113
112
|
* @return {Object} Merged attributes.
|
|
114
113
|
*/
|
|
115
114
|
|
|
116
|
-
const getMergedAttributes =
|
|
117
|
-
let ignorePreviousClassName = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
|
|
118
|
-
return getMergedAttributesWithPreview(attributes, preview, title, responsive, ignorePreviousClassName);
|
|
119
|
-
};
|
|
115
|
+
const getMergedAttributes = () => getMergedAttributesWithPreview(attributes, preview, title, responsive);
|
|
120
116
|
|
|
121
117
|
const toggleResponsive = () => {
|
|
122
118
|
const {
|
|
@@ -145,18 +141,17 @@ const EmbedEdit = props => {
|
|
|
145
141
|
setAttributes({
|
|
146
142
|
url: newURL
|
|
147
143
|
});
|
|
148
|
-
}, [preview === null || preview === void 0 ? void 0 : preview.html, url]); // Handle incoming preview.
|
|
144
|
+
}, [preview === null || preview === void 0 ? void 0 : preview.html, url, cannotEmbed, fetching]); // Handle incoming preview.
|
|
149
145
|
|
|
150
146
|
useEffect(() => {
|
|
151
147
|
if (preview && !isEditingURL) {
|
|
152
|
-
// When obtaining an incoming preview,
|
|
153
|
-
//
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
setAttributes(getMergedAttributes(true));
|
|
148
|
+
// When obtaining an incoming preview,
|
|
149
|
+
// we set the attributes derived from the preview data.
|
|
150
|
+
const mergedAttributes = getMergedAttributes();
|
|
151
|
+
setAttributes(mergedAttributes);
|
|
157
152
|
|
|
158
153
|
if (onReplace) {
|
|
159
|
-
const upgradedBlock = createUpgradedEmbedBlock(props,
|
|
154
|
+
const upgradedBlock = createUpgradedEmbedBlock(props, mergedAttributes);
|
|
160
155
|
|
|
161
156
|
if (upgradedBlock) {
|
|
162
157
|
onReplace(upgradedBlock);
|
|
@@ -166,14 +161,23 @@ const EmbedEdit = props => {
|
|
|
166
161
|
}, [preview, isEditingURL]);
|
|
167
162
|
useEffect(() => setShowEmbedBottomSheet(isEditingURL), [isEditingURL]);
|
|
168
163
|
const onEditURL = useCallback(value => {
|
|
169
|
-
//
|
|
164
|
+
// If the embed URL was changed, we need to reset the aspect ratio class.
|
|
165
|
+
// To do this we have to remove the existing ratio class so it can be recalculated.
|
|
166
|
+
if (attributes.url !== value) {
|
|
167
|
+
const blockClass = removeAspectRatioClasses(attributes.className);
|
|
168
|
+
setAttributes({
|
|
169
|
+
className: blockClass
|
|
170
|
+
});
|
|
171
|
+
} // The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,
|
|
170
172
|
// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL
|
|
171
173
|
// for creating the new block.
|
|
174
|
+
|
|
175
|
+
|
|
172
176
|
setAttributes({
|
|
173
177
|
url: value
|
|
174
178
|
});
|
|
175
179
|
setIsEditingURL(false);
|
|
176
|
-
}, []);
|
|
180
|
+
}, [attributes, setAttributes]);
|
|
177
181
|
const blockProps = useBlockProps();
|
|
178
182
|
|
|
179
183
|
if (fetching) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getClassNames","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","classnames","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","ignorePreviousClassName","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","upgradedBlock","onEditURL","value","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","event"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @param {boolean} ignorePreviousClassName Determines if the previous className attribute should be ignored when merging.\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = ( ignorePreviousClassName = false ) =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive,\n\t\t\tignorePreviousClassName\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview, we set the attributes derived from\n\t\t\t// the preview data. In this case when getting the merged attributes,\n\t\t\t// we ignore the previous classname because it might not match the expected\n\t\t\t// classes by the new preview.\n\t\t\tsetAttributes( getMergedAttributes( true ) );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tgetMergedAttributes()\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback( ( value ) => {\n\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t// for creating the new block.\n\t\tsetAttributes( { url: value } );\n\t\tsetIsEditingURL( false );\n\t}, [] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/edit.native.js"],"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","classnames","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","mergedAttributes","upgradedBlock","onEditURL","value","blockClass","blockProps","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","event"],"mappings":"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","sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url, cannotEmbed, fetching ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback(\n\t\t( value ) => {\n\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\tif ( attributes.url !== value ) {\n\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\tattributes.className\n\t\t\t\t);\n\t\t\t\tsetAttributes( { className: blockClass } );\n\t\t\t}\n\n\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t// for creating the new block.\n\t\t\tsetAttributes( { url: value } );\n\t\t\tsetIsEditingURL( false );\n\t\t},\n\t\t[ attributes, setAttributes ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = classnames( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"]}
|
|
@@ -30,6 +30,7 @@ const EmbedControls = _ref => {
|
|
|
30
30
|
title: __('Media settings'),
|
|
31
31
|
className: "blocks-responsive"
|
|
32
32
|
}, createElement(ToggleControl, {
|
|
33
|
+
__nextHasNoMarginBottom: true,
|
|
33
34
|
label: __('Resize for smaller devices'),
|
|
34
35
|
checked: allowResponsive,
|
|
35
36
|
help: getResponsiveHelp,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","toggleResponsive","switchBackToURLInput"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,uBALP;AAMA,SAASC,aAAT,EAAwBC,iBAAxB,QAAiD,yBAAjD;AACA,SAASC,IAAT,QAAqB,kBAArB;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXT,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMU,aAAa,GAAG;AAAA,MAAE;AACvBC,IAAAA,uBADuB;AAEvBC,IAAAA,cAFuB;AAGvBC,IAAAA,uBAHuB;AAIvBC,IAAAA,eAJuB;AAKvBC,IAAAA,gBALuB;AAMvBC,IAAAA;AANuB,GAAF;AAAA,SAQrB,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACGJ,cAAc,IACf,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,KAAK,EAAGZ,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,IAAI,EAAGO,IAHR;AAIC,IAAA,OAAO,EAAGS;AAJX,IAFF,CADD,CADD,EAaGH,uBAAuB,IAAIF,uBAA3B,IACD,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,IAAA,KAAK,EAAGX,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-library/src/embed/embed-controls.js"],"names":["__","ToolbarButton","PanelBody","ToggleControl","ToolbarGroup","BlockControls","InspectorControls","edit","getResponsiveHelp","checked","EmbedControls","blockSupportsResponsive","showEditButton","themeSupportsResponsive","allowResponsive","toggleResponsive","switchBackToURLInput"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,aADD,EAECC,SAFD,EAGCC,aAHD,EAICC,YAJD,QAKO,uBALP;AAMA,SAASC,aAAT,EAAwBC,iBAAxB,QAAiD,yBAAjD;AACA,SAASC,IAAT,QAAqB,kBAArB;;AAEA,SAASC,iBAAT,CAA4BC,OAA5B,EAAsC;AACrC,SAAOA,OAAO,GACXT,EAAE,CACF,wEADE,CADS,GAIXA,EAAE,CACF,2EADE,CAJL;AAOA;;AAED,MAAMU,aAAa,GAAG;AAAA,MAAE;AACvBC,IAAAA,uBADuB;AAEvBC,IAAAA,cAFuB;AAGvBC,IAAAA,uBAHuB;AAIvBC,IAAAA,eAJuB;AAKvBC,IAAAA,gBALuB;AAMvBC,IAAAA;AANuB,GAAF;AAAA,SAQrB,8BACC,cAAC,aAAD,QACC,cAAC,YAAD,QACGJ,cAAc,IACf,cAAC,aAAD;AACC,IAAA,SAAS,EAAC,6BADX;AAEC,IAAA,KAAK,EAAGZ,EAAE,CAAE,UAAF,CAFX;AAGC,IAAA,IAAI,EAAGO,IAHR;AAIC,IAAA,OAAO,EAAGS;AAJX,IAFF,CADD,CADD,EAaGH,uBAAuB,IAAIF,uBAA3B,IACD,cAAC,iBAAD,QACC,cAAC,SAAD;AACC,IAAA,KAAK,EAAGX,EAAE,CAAE,gBAAF,CADX;AAEC,IAAA,SAAS,EAAC;AAFX,KAIC,cAAC,aAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGA,EAAE,CAAE,4BAAF,CAFX;AAGC,IAAA,OAAO,EAAGc,eAHX;AAIC,IAAA,IAAI,EAAGN,iBAJR;AAKC,IAAA,QAAQ,EAAGO;AALZ,IAJD,CADD,CAdF,CARqB;AAAA,CAAtB;;AAwCA,eAAeL,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tToolbarButton,\n\tPanelBody,\n\tToggleControl,\n\tToolbarGroup,\n} from '@wordpress/components';\nimport { BlockControls, InspectorControls } from '@wordpress/block-editor';\nimport { edit } from '@wordpress/icons';\n\nfunction getResponsiveHelp( checked ) {\n\treturn checked\n\t\t? __(\n\t\t\t\t'This embed will preserve its aspect ratio when the browser is resized.'\n\t\t )\n\t\t: __(\n\t\t\t\t'This embed may not preserve its aspect ratio when the browser is resized.'\n\t\t );\n}\n\nconst EmbedControls = ( {\n\tblockSupportsResponsive,\n\tshowEditButton,\n\tthemeSupportsResponsive,\n\tallowResponsive,\n\ttoggleResponsive,\n\tswitchBackToURLInput,\n} ) => (\n\t<>\n\t\t<BlockControls>\n\t\t\t<ToolbarGroup>\n\t\t\t\t{ showEditButton && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tclassName=\"components-toolbar__control\"\n\t\t\t\t\t\tlabel={ __( 'Edit URL' ) }\n\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\tonClick={ switchBackToURLInput }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</ToolbarGroup>\n\t\t</BlockControls>\n\t\t{ themeSupportsResponsive && blockSupportsResponsive && (\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ __( 'Media settings' ) }\n\t\t\t\t\tclassName=\"blocks-responsive\"\n\t\t\t\t>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Resize for smaller devices' ) }\n\t\t\t\t\t\tchecked={ allowResponsive }\n\t\t\t\t\t\thelp={ getResponsiveHelp }\n\t\t\t\t\t\tonChange={ toggleResponsive }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t) }\n\t</>\n);\n\nexport default EmbedControls;\n"]}
|